实验名称:
分析IP协议数据包格式
实验目的:
掌握IP协议的作用和格式;
理解IP数据包首部各字段的含义;
掌握IP数据包首部校验和的计算方法。
实验器材:
计算机及以太网环境。
实验内容(步骤):
1.打开Wireshark软件,选择菜单命令“Capture” “Interfaces…”子菜单项。弹
出“Wireshark: Capture Interfaces”对话框。单击“Options”按钮,弹出“Wireshark: Capture Options”对话框。单击“Start”按钮开始网络数据包捕获。
2.浏览外部网站,确保协议分析软件能够捕获足够的网络数据包,单击“Stop”按
钮,中断网络协议分析软件的捕获进程,主界面显示捕获到的数据包。
几乎所有的高层协议都使用IP协议进行网络传输,只有ARP和RARP报文不被封装在IP数据报中。
3.观察协议树区中IP数据包各个字段的长度与值,是否符合IP报文格式。
对帧61的IP数据包进行分析
Internet Protocol互联网协议( IP )源:61.135.163.233,目标:192.168.1.2
Version(版本):一个4字节的字段。表示当前正运行的IP版本信息。上图中版本的信息是IPv4。
Header length IP(报头长度):一个4字节的字段,表示以32比特为单位的信息中数据包报头的长度。这是所有报头信息的总长度。上图为20字节
Differentiated services Filed(服务的类别):一个8字节的字段,表示一个特定的上层协议所分配的重要级别。
Differentiated Services Codepoint(差分服务代码点6位):默认的DSCP值是0,相当于尽力传送。
two-bit Explicit Congestion Notification field(2位明确的拥塞通知字段)
ECN-Capable Transport:(ECN Explicit Cogestion Notification -Capable Transport):显式拥塞指示能力传输字段,该ECN-Capable Transport (ECT) bit将被数据发送者设置,以表明传输协议的末端节点有ECN的能力。
ECT bit设置为“ 0 ”表明该传输协议将忽略ignore CE bit。这是ECT bit的默认值。
ECT bit设置为“ 1 ”表示该传输协议愿意willing并and能够参与在ECN。
ECN-CE (Congestion Experienced): (参见rfc3168#page-6)。CE bit将由路由器设置,对末端节点end nodes的表明挤塞情况。当路由器有满full队列后,它将丢弃其后到达的数据包。CE bit.默认值为“ 0 ”。路由器设定CE bit为“ 1 ”,说明对末端节点挤塞。在数据包头部中CE bit从不会由路由器从“1”重置“0”。
两者的区别——参见rfc2481.txt [Page 20] Why use two bits in the IP header Total length(总长度):一个16字节的字段,表示整个数据包的长度。包括数据和报头。
从该值中减去Header length值的长度,得到的就是数据有效负荷的长度。在上图中该值为40。
Identification(标识符):一个16字节的字段,它包含一个整数序列号,用来表示当前的数据包。上图为0x1216(4630)
Flag(标记):一个3字节的字段,其中后两位控制分片。
Fragment offset(分片的偏移量):它帮助重组分片。上图为0。
Time to live(存活时间):一个8字节的字段,它维护着一个计数器。这个计数器会按一定增量逐渐减少为0.当到0时,该数据包将被丢弃。这保证了数据包不会无限制的循环。上图为52。
Protocol(协议):一个8字节的字段,它表示在IP处理过程结束后,将会有哪个上层协议接收。在上图中为TCP(6)。
Header checksum(报头的校验和):一个16字节的字段,它帮助确保报头的正确性。上图0x919f正确(correct)
Source(源IP地址):一个32字节的字段,它表示发送设备的IP地址。上图为
61.135.163.233。
Destination(目的IP地址):一个32字节的字段,它表示接收设备的IP地址。上图为192.168.1.2。
4.查看各个IP数据包的标识字段和片偏移字段,它们有何特征。
多数都为0
5.查看各个IP数据包的数据报总长度字段,记录它的取值范围。
28 40 52 229 242 476 631 658 826
6.观察十六进制对照区,根据IP首部校验和方法使用“计算器”校验捕获的数据报
中校验和字段的值。
首部校验和:0x919f
45 00
00 28
12 16
40 00
34 06
xx xx
3d 87
a3 e9
c0 a8
01 02
先将校验和置为0.
0100 0101 0000 0000
0000 0000 0010 1000
0001 0010 0001 0110
0100 0000 0000 0000
0011 0100 0000 0110
0011 1101 1000 0111
1010 0011 1110 1001
1100 0000 1010 1000
0000 0001 0000 0010
以上各式累加得到的和为:
10 0110 1110 0101 1110
可见产生了2个进位,去掉进位再将余数加2并取反得:1001 0001 1001 1111,即为0x919f与首部校验和一致。
思考题: