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

不 过, 这 都 是 过 去 的 事 了。IETF 和 W3C 工 作 组 共 同 制 定 了 一 套 新 API——
               WebRTC(Web Real-Time Communication,Web 实时通信)。WebRTC 着眼于在浏览
               器中通过 UDP 实现原生的语音和视频实时通信,以及其他形式的 P2P(Peer-to-Peer,
               端到端)通信。正是因为 WebRTC 的出现,UDP 作为浏览器中重要传输机制的地位
               才得以突显,而且还有了浏览器 API !本书将在第 18 章再探讨 WebRTC,本章我们
               先来介绍一下 UDP 协议的工作原理,搞清楚为什么以及什么时候会用到它。


               3.1 无协议服务

               要理解为什么 UDP 被人称作“无协议”,必须从作为 TCP 和 UDP 下一层的 IP 协议
               说起。

               IP 层的主要任务就是按照地址从源主机向目标主机发送数据报。为此,消息会被封
               装在一个 IP 分组内(图 3-1),其中载明了源地址和目标地址,以及其他一些路由参
               数。注意,数据报这个词暗示了一个重要的信息:IP 层不保证消息可靠的交付,也
               不发送失败通知,实际上是把底层网络的不可靠性直接暴露给了上一层。如果某个
               路由节点因为网络拥塞、负载过高或其他原因而删除了 IP 分组,那么在必要的情况
               下,IP 的上一层协议要负责检测、恢复和重发数据。



                   ࿋
                                 ๯և
                         ӲԨ                                        ጺ׊܈
                                 ׊܈
                                     Ք๎                 Քኾ           ݴೌೋᅎኵ
                           ٪ऄ้क़              ၹᅱ                  ๯ևၯᄓࢅ
                                                   ᇸJQں኷
                                                  ణՔJQں኷
                                              ੗჋ၜDŽසࡕᆶڦࣆDž
                                                     ৫ࢁ


               图 3-1:IPv4 首部(20 字节)
               UDP 协议会用自己的分组结构(图 3-2)封装用户消息,它只增加了 4 个字段:源
               端口、目标端口、分组长度和校验和。这样,当 IP 把分组送达目标主机时,该主机
               能够拆开 UDP 分组,根据目标端口找到目标应用程序,然后再把消息发送过去。仅
               此而已。







               32   |   第 3 章
   45   46   47   48   49   50   51   52   53   54   55