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

第 3 章



                                                                    UDP的构成
















                 1980 年 8 月,紧随 TCP/IP 之后,UDP(User Datagram Protocol,用户数据报协议)
                 被 John  Postel 加入了核心网络协议套件  。当时,正值 TCP 和 IP 规范分立为两个单
                 独的 RFC。这个时间点非常重要,稍后我们会看到,UDP 的主要功能和亮点并不
                 在于它引入了什么特性,而在于它忽略的那些特性。UDP 经常被称为无(Null)协
                 议,RFC 768 描述了其运作机制,全文完全可以写在一张餐巾纸上。

                 •   数据报
                   一个完整、独立的数据实体,携带着从源节点到目的地节点的足够信息,对这些
                   节点间之前的数据交换和传输网络没有任何依赖。
                 数据报(datagram)和分组(packet)是两个经常被人混用的词,实际上它们还是
                 有区别的。分组可以用来指代任何格式化的数据块,而数据报则通常只用来描述那
                 些通过不可靠的服务传输的分组,既不保证送达,也不发送失败通知。正因为如此,
                 很多场合下人们都把 UDP 中 User(用户)的 U,改成 Unreliable(不可靠)的 U,
                 于是 UDP 就成了“不可靠数据报协议”(Unreliable  Datagram  Protocol)。这也是为
                 什么把 UDP 分组称为数据报更为恰当的原因。

                 关于 UDP 的应用,最广为人知同时也是所有浏览器和因特网应用都赖以运作的,就
                 是 DNS(Domain Name System,域名系统)。DNS 负责把对人类友好的主机名转换
                 成 IP 地址。可是,尽管浏览器有赖于 UDP,但这个协议以前从未被看成网页和应
                 用的关键传输机制。HTTP 并未规定要使用 TCP,但现实中所有 HTTP 实现(以及
                 构建于其上的所有服务)都使用 TCP。

                                                                                          31
   44   45   46   47   48   49   50   51   52   53   54