0%

Lab5 UDP

华东师范大学软件工程学院实践报告

实验课程:计算机网络实践 姓名:刘佳奇 学号:10225101455
实验名称:Lab5 UDP 实验日期:2023/12/22 指导老师:刘献忠

实验目的

  • 学会通过Wireshark获取UDP消息
  • 掌握UDP数据包结构
  • 掌握UDP数据包各字段的含义
  • 了解UDP协议适用领域

实验内容与实验步骤

  1. 捕获数据
    • 启动wireshark,利用udp过滤捕获
    • 捕获时在dos命令行输入nslookup pluseven-sechs.site
  2. 分析UDP包并解析DNS
  3. 问题与思考

实验环境

  • windows
  • wireshark

实验过程与分析

  1. 捕获数据
    win + x 以管理员身份运行命令行
    运行wireshark,选择已连接的网络,设置过滤条件为udp,开始捕获
    捕获完成 命令行输入nslookup pluseven-sechs.site,捕获完成
    捕获的UDP
  2. 分析UDP包
    选择一个数据帧,分析其UDP包头字段
    UDP报文结构
  1. Source Port,发送端口号,2字节,需要对方回信时用到,不需要时全置0
  2. Destination Port,接收端口号,2字节,在向接收方交付报文的时候需要用到
  3. Length,2字节,即是UDP的数据报包括头部和数据的长度,故其最小值,在只有头部时,为8
  4. Checksum,2字节。与IP校验和不一样的地方在于,无论主机是接收方和发送方,校验和都是需要计算的
    UDP报文结构 UDP报文结构
  1. 分析UDP报文
    (1)UDP数据包头中的Length字段指的是UDP有效载荷,还是UDP有效载荷加上UDP头的总长度,还是UDP有效载荷和UDP头以及低层协议的头部三者总长度?
    UDP有效载荷加上UDP头的总长度。如本实验截取的UDP报文Length为280,头部占8字节,有效载荷占272字节
    (2)UDP头中的校验和的长度是多少位?
    如上图中Checksum为0x9451,长度为16位
    (3)整个UDP头的长度是多少字节?
    如上图中,为8字节
    (4)win+R,输入cmd启动命令行,输入ipconfig获得计算机的ip地址,与数据包中的Source比较
    cmd 本地IP地址为192.168.31.108
    捕获结果 (这里换了个网络环境,重新抓了个包
    可知:query发送端的IP地址为本机IP地址
    (5)在IP协议中哪个字段指明交给上一层的UDP传输进程?该字段值是多少?
    UDP IP协议中在Protocol字段指明交给上一层的UDP传输进程,该字段值是17
    (6)有的数据包的source和destination IP地址都不是你计算机的IP地址,给出该数据包的destination IP地址
    该数据包的destination IP地址为255.255.255.255,是广播地址
    (7)一般UDP消息的长度是多少?
    UDP协议的长度字段是16位,因此可以表示的最大长度为 \(2^{16} - 1 = 65535\)字节。这个长度包括UDP首部的8字节,而以太网规定帧的负载必须小于MTU(最大传输单元),一般为1500字节。这包括IP数据报、UDP首部以及UDP数据部分。IP数据报头部一般为20字节,因此IP数据报的负载为MTU减去IP头部长度,即1500 - 20 = 1480字节。在考虑UDP协议的8字节首部后,UDP数据报的负载为IP数据报的负载减去UDP首部长度,即1480 - 8 = 1472字节
    (8)在计算校验和时,为什么要加上ipv4伪头部,伪头部和UDP首部中都有UDP length字段,该字段出现两次是无意义的重复吗?还是有什么意义?
    伪头部提供了额外的信息,包括源和目标IP地址、协议号以及UDP长度字段,这有助于确保UDP数据包在传输过程中的完整性。它模拟了整个IP头部,使校验和覆盖更多的信息,减少了出错的可能性
    UDP首部中的长度字段指的是UDP头部和数据部分的总长度。而伪头部中的UDP长度字段指的是UDP头部和数据部分的长度,用于计算校验和。这两个字段的出现不是重复的,因为一个用于标识长度,另一个用于校验和计算
    (9)计算校验和时,为补足偶数字节在UDP载荷数据末尾加上的0,是否在UDP长度字段中体现? 没有。计算校验和时,UDP长度字段表示UDP头部和数据部分的总长度,包括偶数或奇数字节。如果UDP数据部分的长度是奇数,那么它会被补足为偶数字节,而这个补足的字节不会在UDP长度字段中明确体现。相反,伪头部和UDP首部中的校验和字段会反映整个UDP头部和数据部分(包括补足字节)的信息

实验结果总结

通过本次实验认识了解了UDP协议、UDP包的结构,以及UDP头部校验码的计算方法

“富哥vivo50看看实力”