数据通信网络实践:基础知识与交换机技术
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.4.3 UDP详解

UDP的IP协议号是17,通信双方在进行数据交互前既不需要协商通信的相关参数,也不需要对数据接收进行确认,数据传输的可靠性比TCP低,因此需要的标识字段也比较少,协议开销小,通信效率高。UDP的报头长度是8 B,传输效率比TCP高。UDP多应用在需要高效传输、网络质量较好、对丢包不太敏感的场景,很多下载类应用、局域网应用和音视频类应用等都采用UDP。

UDP最早是在RFC 768中描述的。RFC 768发布于1980年8月,文档等级是互联网标准(Internet Standard),最后一次更新时间是2013年3月2日。RFC 768的文档链接地址是https://datatracker.ietf.org/doc/rfc768/?include_text=1。

1.UDP的报头格式

UDP的报头格式如图2-12所示,具体说明如下:

 UDP的报头宽度是32 bit。

 Source Port:源端口,长度为16 bit。

 Destination Port:目的端口,长度为16 bit。

 Length:UDP分段长度,长度为16 bit。

 Checksum:校验和,长度为16 bit,可选字段,当不使用校验和时,此字段置为0。

 UDP报头的长度是8 B,因为没有可选项,长度相对TCP而言是固定的。

图2-12 UDP的报头格式(摘自RFC 768)

2.UDP的报文示例

在Wireshark中显示的UDP报头示例,如图2-13所示。

图2-13 在Wireshark中显示的UDP报头示例

从图2-13中可以看出如下信息:

 UDP的IP协议号是17;

 数据从源地址192.168.1.2发往目的地址163.177.69.40;

 源端口是一个随机端口(端口号为1028),目的端口是一个知名端口(端口号为8000);

 报文的长度是178 B;

 报文校验和是0x627f,没有使能确认;

 数据内容有170 B。