实验 IP数据报的格式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验IP数据报的格式
【实验目的】
1、通过分析IP数据报的格式了解IP数据报各个字段的大小、取值范围;
2、掌握它们在IP协议中所起的作用。
【实验内容】
1、分析IP数据报的结构,熟悉各个字段的内容、功能、格式和取值范围;
2、编辑IP数据报首部各字段的内容;
3、单个或批量发送已经编辑好的IP数据报。
【实验原理】
IP数据报由首部和数据两部分组成。首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。20字节之后是一些可选字段,其长度是可变的。IP数据报的格式如下图所示:
版本:占4 bit,指IP协议的版本。通信双方使用的IP版本必须一致。目前广泛使用的版本号为4。
首部长度:占4 bit,可表示的最大数值是15个单位(一个单位为4字节),因此IP的首部长度的最大值是60字节。
服务类型:占8 bit,用来获得更好的服务。前三个比特表示优先级。第D比特表示要求有更低的时延。T比特表示要求有更高的吞吐量。R比特表示要求有更高的可靠性。C比特表示要求选择代价更小的路由。最后一个比特目前尚未使用。
总长度:占16 bit,指首部和数据之和的长度,单位为字节。
标识:占16 bit,它是一个计数器,用来产生数据报的标识。
标志:占3 bit,目前只有前两个比特有意义。最低位记为MF,MF=1表示后面“还有分片”的数据报。MF=0表示这已是若干数据报片中的最后一个。标志字段中间的一位记为DF,意思是“不能分片”。只有当DF=0时才允许分片。
片偏移:占13 bit,表示较长的分组在分片后,某片在原分组中的相对位置。片偏移以8个字节为偏移单位。
生存时间:占8 bit,表示数据报在网络中可通过的路由器的最大值。
协议:占8 bit,指出此数据报携带的数据是何种协议。
首部校验和:占16 bit,只校验数据报的首部,不包括数据部分。
源IP地址:占4 bit。
目的IP地址:占4 bit。
可选字段:用来支持排错、测量以及安全等措施。此字段长度可变,从1个字节到40个字节不等,取决于所选择的项目。
【实验步骤】
练习一:分析IP数据报格式
1、运行报文仿真编辑器;
2、选择“文件”菜单中的“打开”菜单项,选择安装目录下Data目录中报文仿真编辑器
存档文件:udp.pef;
3、选中报文列表框中的一条记录,报文仿真编辑器中间部分自动显示此条报文记录的协议
结构树;
4、选中协议结构树中的“IP首部”结点,报文仿真编辑器右侧部分自动显示当前IP数据
报首部各个字段的内容;
5、查看IP数据报首部中的源地址和目的地址的结构和内容;
6、分析IP数据报首部中的类型字段所表示的含义。
练习二:编辑IP数据报格式中的字段内容
1、在报文仿真编辑器的右侧修改IP数据报的各个字段的内容;
2、单击“保存”按钮;
3、查看修改后的字段内容。
练习三:发送和接收IP数据报序列
1、运行报文解析器;
2、单击报文解析器工具栏上的“开始捕获”按钮,报文解析器开始捕获数据报;
3、单击报文仿真编辑器工具栏上的“发送报文”按钮,报文仿真编辑器弹出“发送成功”
对话框;
4、在报文解析器左侧报文列表框中查看所接收到的报文仿真编辑器发出的报文;
5、选中其中一条报文记录,报文解析器中间部分自动显示此条报文记录的协议结构树,比
较是否与发送的报文相同。
【实验报告要求】
1.记录实验数据
2.分析实验结果
例:MAC帧首部
目的地址:FF-FF-FF-FF-FF-FF
源地址:00-01-6C-E9-0D-2C
类型:ARP
ARP
硬件类型:以太网
协议类型:IP
硬件地址长度:6
协议地址长度:6
操作:ARP请求
源硬件地址:00-01-6C-E9-0D-2C
源协议地址:192.168.1.6
目的硬件地址:00-00-00-00-00-00
目的协议地址:192.168.1.2
(16进制显示框)
00000000:FF FF FF FF FF FF 00 01 – 6C E9 0D 2C 08 06 00 01
00000010:08 00 06 04 00 01 00 01 – 6C E9 0D 2C C0 08 01 06
00000020:00 00 00 00 00 00 C0 A8 – 01 02
其中“类型:ARP”对应值为08 06
3.未知数据包的分析
本部分通过Sniffer软件捕获本机所在计算机网络中的未知数据包,要求对所捕获的数据包进行分析。
数据包一如下(下图截取了该数据包16进制表中的前6行):
未知数据包的16进制值
根据以下举例,分析上述捕获的数据包为一个什么协议的请求报文。
未知数据包二如下:
未知数据包二的16进制值
分析如下:
第一行前12个字节为协议MAC帧首部中的目的硬件地址和源地址。
紧随其后的两个字节是MAC帧首部中的类型字段,标识从上层接收到什么类型的协议,“08 06”表示从上层收到的是类型的数据报。
则接下来的数据就代表该数据报的内容。
“00 01”表示硬件类型为以太网,
“08 00”表示采用的协议类型为IP类型,
“06 04”分别表示硬件地址长度为6字节及协议地址长度为4字节,
“00 01”表示执行ARP请求操作,
“00 13 d4 ae 44 26”“3b 4f 12 9b”表示了源硬件地址,源协议地址(59.79.18.155)“00 00 00 00 00 00”“3b 4f 12 fe”表示了目的硬件地址和目的协议地址(59.79.18.254)。
剩余的0均为填充数据。综上得出,该数据包为一个什么协议的请求报文。