音视频架构的三部分之CDN(二)
【摘要】 CDN就是内容分发网络,这是一个策略性部署的整体系统,专门用来解决网络带宽小、用户访问量大、网点分布不均匀造成访问慢的问题。它的具体实现是通过在现有的网络中增加一层新的网络架构,将网站内容发布在离用户最近的网络节点上,这样用户就能就近获取网站资源。
CDN大致包源站、缓存服务器、智能DNS、客户端等几个部分:
源站:发布内容的原始站点。添加、删除、更改网站的文件都是...
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协议为了保证数据传到目的地,会有自动重传机制。如果传输中途丢了包,没有收到对方端发出的“确认收到“信号,那么就会自动开始重传。当丢包率上升时,重传将会导致延时不断增大,甚至不断重连,这样就不能有效缓存,严重点就会导致视频无法观看。
谢谢阅读。
文章来源: blog.csdn.net,作者:WongKyunban,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/weixin_40763897/article/details/95523898
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)