音视频架构的三部分之CDN(二)

网友投稿 923 2022-10-08

音视频架构的三部分之CDN(二)

音视频架构的三部分之CDN(二)

CDN就是内容分发网络,这是一个策略性部署的整体系统,专门用来解决网络带宽小、用户访问量大、网点分布不均匀造成访问慢的问题。它的具体实现是通过在现有的网络中增加一层新的网络架构,将网站内容发布在离用户最近的网络节点上,这样用户就能就近获取网站资源。

CDN大致包源站、缓存服务器、智能DNS、客户端等几个部分:

源站:发布内容的原始站点。添加、删除、更改网站的文件都是在源站上进行的。缓存服务器所抓取的对象全部来自源站。对直播来说,源站就是主播客户端。

缓存服务器:是直接提供给用户访问的站点资源,由一台或多台组成。工作过程如下:

用户发起请求,其访问请求将会发送到智能DNS;智能DNS将用户的请求定向到离用户最近的缓存服务器;如果用户所请求的内容恰好在缓存服务器中,则直接将内容返回给用户;如果访问的内容不在缓存服务器中,则此缓存服务器会向邻近的缓存服务器或直接向源站抓取内容,然后返回给用户。

智能DNS:这是整个CDN的技术核心,它主要根据用户的来源和当前缓存服务器的负载情况等,将用户的请求导向至离用户比较近且负载较小的缓存服务器上。这样的处理可以达到加速的作用。

客户端就是发起请求的普通用户,如手机、PC等客户端。

我们来看看当一个主播发起直播时,会发生哪些事?

主播客户端开始进行直播,首先向智能DNS发送请求;智能DNS返回最优CDN节点的IP地址;主播端开始采集音视频数据;然后,把采集的数据发送到刚刚得到的CDN节点上;CDN节点会对数据进行缓存等处理;

我们再来看看当一个普通用户观看直播时,会发生哪些事?

观众要观看这个主橎的视频,首先会向智能DNS发送请求;智能DNS返回最优CDN节点的IP地址;观众客户端向得到的CDN节点请求音视频数据;CDN节点同步其他节点的音视频数据;最后,CDN节点将音视频数据发送给观众客户端。

CDN的缺点:

播放时延(网络时延):从主播端采集到观众播放之间的时差。网络抖动:数据包的到达顺序、间隔等与发出时不一致。这种抖动,虽然只是顺序乱了,但最后都会全部达到,但是效果却与丢包差不多,都会造成播放失真。网络丢包:CDN中用到的RTMP、HLS、HTTP-FLV等协议都是建立在TCP协议的基础上的,因为TCP是可靠的,所以它们都是可靠的。TCP的三次握手这样的:1、首先客户端向服务器端发送连接请求;2、服务器端发信息告知客户端同意本次连接请求;3、客户端会再发多一次消息给服务器确认本次连接。TCP协议为了保证数据传到目的地,会有自动重传机制。如果传输中途丢了包,没有收到对方端发出的“确认收到“信号,那么就会自动开始重传。当丢包率上升时,重传将会导致延时不断增大,甚至不断重连,这样就不能有效缓存,严重点就会导致视频无法观看。

谢谢阅读。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:直播时延优化
下一篇:微信小程序版Typecho(微信小程序版本不一致)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~