Page 287 - Web性能权威指南
P. 287

•   不保证消息交付
                   不确认,不重传,无超时。

                 •   不保证交付顺序
                   不设置包序号,不重排,不会发生队首阻塞。

                 •   不跟踪连接状态
                   不必建立连接或重启状态机。

                 •   不需要拥塞控制
                   不内置客户端或网络反馈机制。


                            进一步讨论之前,建议大家回顾一下第 3 章,特别是 3.1 节“无协议服
                            务”,以重温 UDP 的工作原理。

                 UDP 不保证数据的可靠性或者次序,只要有包到来就直接交给应用。事实上,   UDP
                 只是对 IP 层的简单封装。

                 WebRTC 就使用 UDP 作为传输层协议:低延迟和及时性才是关键。因此,只要打
                 开音频、视频,应用就会发送 UDP 包,然后就搞定了?还没那么简单。我们还是需
                 要一些机制,穿透层层 NAT 和防火墙,为每个流协商参数,对用户数据进行加密,
                 实现拥塞和流量控制,等等。

                 UDP 是浏览器实时通信的基础,但要完全达到 WebRTC 的要求,浏览器还需要位
                 于其上的大量协议和服务的支持(图 18-3)。










                                                               ࣷࣆ֫DŽDTLSDžǖՂႴ

                           ࣷࣆ֫DŽTLSDžǖ੗჋                           a    a

                             د๼֫DŽTCPDž                          د๼֫DŽUDPDž

                                                  ྪஏ֫DŽIPDž



                 图 18-3:WebRTC 的协议分层

                                                                              WebRTC   |   277
   282   283   284   285   286   287   288   289   290   291   292