为什么YouTube使用TCP而不是UDP?
在视频点播平台中,YouTube是市场上一个流行的平台。在如此竞争激烈的市场中,为了增加受众,一个重点领域应该是更好的体验和最佳的视频质量。视频的质量取决于它采用的流媒体协议。
像YouTube这样的视频流媒体平台根据目标和需求同时使用TCP和UDP。一个基于TCP的协议,称为实时消息协议(RTMP),负责流式传输视频和音频内容,它可以提供低延迟。RTMP由Macromedia开发。RTMP通过传输层安全协议的扩展提供安全性和加密。
概述
TCP流媒体协议和UDP流媒体协议
TCP流媒体协议
TCP或传输控制协议是一个没有边界限制的协议,在客户端和服务器之间进行数据传输之前会建立连接。
它使用三次握手进行错误检测和恢复。此外,TCP是可靠的,并具有网络拥塞避免机制。它将大型数据包分成较小的有序数据包,并在传输过程中确保数据完整性。
TCP协议是面向连接的,即首先建立连接,然后将带有数据段的IP数据包发送到接收方。
数据的重传和校验和错误检查技术被称为“TCP流媒体协议”。如果在肯定确认技术中传输失败,则会再次传输重复的数据包。通过处理TCP中IP的开销,可以实现大规模的网络可用性。IP头部以一种组织有序的方式减少冗余信息,以实现无错误的传输。
UDP流媒体协议
UDP或用户数据报协议是一种实时通信协议,无需进行数据验证。此协议不保证交付和安全。UDP减少了开销,在许多情况下这种服务可能就足够了。
UDP将数据封装到数据包中,并为数据包提供其头部信息。接收到的数据包不会向发送方发送确认信息,因此它是不可靠的。
由于UDP传输的数据报没有编号,因此无法保证交付。
UDP的缺点
交付服务不可靠
消息可能会丢失、复制或顺序错乱。
通信中没有确认或流量控制。
例如:流媒体。
由于UDP并不理想用于在YouTube等平台上进行实时流式传输视频。因为UDP有利于数据流式传输,但存在丢包问题。
UDP不适合,因为它无法进行重传,从而导致延迟,因此在线游戏中、VoIP或视频流媒体中不使用UDP。但UDP用于视频会议、直播等。一些服务或应用程序只需要一个位于UDP之上的协议,这使得它更高效。例如,RTP与UDP结合使用等。
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.
为什么YouTube使用TCP而不是UDP
YouTube使用TCP是因为其可靠性、时间敏感性、安全传输等。TCP确保数据完整且发送的数据包能够被接收。TCP使用握手来检测IP数据包中的任何问题、负载均衡问题或不可靠网络中的网络拥塞。为了发送所有数据包或帧,则使用TCP。这里延迟不是问题,在HTTP或Web浏览器中,TCP可以轻松传输而无需任何额外的软件或插件。
TCP优先考虑数据的顺序,并确保视频流的质量。如果TCP检测到IP数据包中的任何问题,例如数据包丢失、复制或顺序错乱,则会重新传输丢失的数据,纠正顺序错乱的数据并最大限度地减少负载均衡。
解决了与网络堵塞相关的问题。减少缓冲,解决了实时端到端字节流的问题。TCP确保最佳的视频流质量,并且通过监控端到端通信的带宽而变得更容易。同时的多个连接重定向尝试在线堵塞控制的流量。如果由于在重传过程中信息数据包丢失或出现恶意软件问题,则TCP提供问题识别和错误恢复。用户可以随意停止、更改或播放视频,TCP可以轻松处理而不会出现任何问题或冲突。此外,端到端加密用于维护电影和节目的版权。TCP的一个重要方面是信息安全和可靠的替代方案。
在YouTube上,TCP是赢家。但是UDP在确保某些数据包(在传输过程中丢失或顺序错乱)方面存在不足。这会导致视频直播出现故障。此外,等待消息重传会导致长时间延迟,从而中断用户体验。
结论
TCP协议更适合流式传输视频,因为它持续地相互通信以确保所有数据包按顺序接收。此外,如果需要,还会及时进行错误检查和恢复。对于在不可靠网络中的传输,TCP流媒体协议比UDP流媒体协议更好。在TCP连接中,发生HTTP通信。由于这里处理数据包时延迟不是问题,因此TCP可以轻松传输到HTTP和Web浏览器以减少缓冲时间。