Lab Exercise – UDP
实验要求:
查看UDP(用户数据报协议)的详细信息。UDP是一种传输协议,在不需要可靠性的情况下,作为TCP的替代协议在整个互联网上使用。
实验操作:
一、捕获UDP
UDP的几个来源:
- 什么也不做,只是等一会儿。UDP用于许多“系统协议”,通常运行在后台和产生少量的流量,例如,DHCP用于IP地址分配和NTP用于时间同步。
- 使用浏览器访问网站。UDP被DNS用来解析域名到IP地址,所以访问新的站点会导致DNS流量被发送。注意不要去不安全的地方;选择推荐的网站或你知道但最近没有访问过的网站。简单地浏览网页可能会导致DNS流量的稳定流。
- 与您最喜欢的客户端启动ip语音通话。UDP被RTP使用,RTP是在互联网上的语音或视频通话中通常用于携带媒体样本的协议。
具体操作:
1. 打开wireshark,使用udp进行过滤,如下。
2. 浏览任意网站或拨打语音通话,等待一段时间,然后停止捕获,结果应如下。
二、UDP数据报结构
UDP数据报包含两个部分:UDP首部和用户数据。UDP首部有8B,由4个字段组成,每个字段长度都是2B,具体如下所示。
源端口Source Port | 在需要对方回信的的时候选用,不需要时全为0 |
目的端口Destination Port | 这是UDP消息的目标端口号和可能的名称。端口是UDP中唯一的寻址形式。在较低的IP层中使用IP地址识别计算机 |
长度Length | UDP数据报的长度,最小是8(仅首部) |
校验和Checksum | 检测UDP数据报在传输中是否有错。该字段是可选的,不想计算校验和的时候,校验和为全0. |
三、绘图+回答问题
1. 绘制IP头,UDP头,UDP负载的结构示意图,并在UDP头里详细标注各个字段的长度。
2. 长度字段包括什么?
答:UDP数据报的长度字段指的是首部加数据部分的总长度。即UDP的头和UDP的有效载荷。
3. UDP校验和有多少位?
答:2Byte,即16位。
4. 整个UDP报头有多少字节?
答:8字节。
四、UDP的使用
为了完成对UDP的理解,我们将看看在实践中如何使用UDP为应用程序的传输。
第一个问题是IP如何知道下一个更高的协议层是UDP。答案是,在IP头里有个字段指明了高层协议的类型。
1. 给出该IP协议字段的值,该字段将上层协议标识为UDP。
答:Wireshark里点开IP层可以看到(如下图),有一个Next Header字段,当它的值为17时,表明使用的是UDP。
2. 检查UDP消息然后给出使用的目的IP地址,当你的计算机既不是源IP地址也不是目的IP地址的时时候。
答:先查看自己的ip地址,在命令行里输入ipconfig得到结果如下。
在wireshark里面找到与源和目的地址不是自己ip的数据报,下面有三个UDP数据报源地址和目的地址都不是自己的ip。
此时的目的地址均为vcom-tunnel(8001)。
出现这种现象的原因与组播和广播有关。
3. 跟踪的UDP消息的典型大小是多少?
答:8B。