实验五IP协议和ICMP协议【实验目的】
1. 掌握IP数据报的报文格式
2. 掌握IP校验和计算方法
3. 掌握子网掩码和路由转发
4. 理解特殊IP地址的含义
5. 理解IP分片过程
6. 掌握ICMP协议的报文格式
7. 理解不同类型ICMP报文的具体意义
8. 了解常见的网络故障
【实验学时】
建议2学时
一、IP协议
【实验环境配置】
采用网络结构
路由器A
【实验原理】
一、IP报文格式
IP数据报是由IP首部加数据组成的。IP首部的最大长度不超过60字节。IP数据报文
二、IP分片
链路层具有最大传输单元(MTU)这个特性,它限制了数据帧的最大长度。不同的网络类型都有一个上限值。以太网通常是1500字节。如果IP层有数据包要传输,而数据包的长度超过了MTU,那么IP层就要对数据包进行分片操作。使每一片长度都小于MTU。IP 首部中“16位标识”、“3位标志”和“13位片偏移”包含了分片和重组所需的信息。另外,当数据被分片后,每个片的“16位总长度” 值要改为该片的长度值。
三、IP路由表
大部分网络层设备都存储着一张记录路由信息的表格,称为路由表。它由许多条项目组成。网络层设备收到数据报后,根据其目的IP地址查找路由表确定数据报传输的最佳路径(下一跳)。然后利用网络层的协议重新封装数据报,利用下层提供的服务把数据报转发出去。路由表的项目一般含有五个基本字段:目的地址、网络掩码、下一跳地址、接口、度量。
路由表按如下顺序匹配:
●直接交付:路由表表项的“目的地址”字段是交付主机的本网络地址。
●特定主机交付:路由表表项的“目的地址”字段是某台特定主机的IP地址。
●特定网络交付:路由表表项的“目的地址”字段是另一个网络的地址。
●默认交付:路由表表项的“目的地址”字段是一个默认路由器(默认网关)。四、路由选择过程
路由选择模块从IP处理模块接收到IP分组后,使用该分组的目的IP地址同路由表中的每一个项目按特定的顺序(按照前面介绍的“路由表匹配顺序”)查找匹配项,当找到第一个匹配项后就不再继续寻找了,这样就完成了路由选择过程。
匹配路由表项的方法是将IP地址与路由表中的一个项目的“子网掩码”进行按位“与”操作,然后判断运算结果是否等于该项目的“目的地址”,如果等于,则匹配成功,否则,匹配失败。
路由选择模块的工作过程:
【实验步骤】
练习一:编辑并发送IP数据报
1.进入仿真模式,主机B在命令行下运行“arp -d”命令,清空ARP高速缓存表,
2.主机B发出一个Ping应用的数据包,其中:
源IP地址:主机B的IP地址(172.16.1.2)。
目的IP地址:主机E的IP地址(172.16.0.2)。
生存时间(TTL):128。
3.设置过滤条件(提取ICMP协议),开始捕获数据。
3.逐步观察数据包的传递过程。
主机B: 请求交换机:请求
路由器:请求集线器:请求主机E:
做出应答:
集线器:做出应答路由器:作出应答
交换机:作出应答
最后主机B得到回应,一个ICMP数据报发送成功
4.停止捕获数据,在捕获到的数据中查找主机B所发送的数据包,并回答以下问题:
第1步中创建出的数据包,由主机B发出,经过路由器A到达主机E后,包数据是否发生变化?若发生变化,记录变化的字段,并简述发生变化的原因。
•发生了变化,变化的字段是ICMP类型字段,因为发送包的时候,ICMP数据报是处于请求状态,类型字段为0x8,而得到目的主机的回应后,ICMP
类型字段变为0x0.
5.将第1步中创建的数据包的“生存时间”设置为1,发送。
捕获失败:
6.重新捕获数据,逐步观察数据包的传递过程。
7.停止捕获数据,在捕获到的数据中查找主机B所发送的数据包,并回答以下问题:
•主机E是否能捕获到主机B所发送的数据包?简述产生这种现象的原因。
不能,因为在生存时间内,数据报不能达到主机B,TTL=1,但是主机B和主机E中间还存在路由器和集线器。
练习二:特殊的IP地址
1.直接广播地址。
(1)设置过滤条件(提取IP协议,捕获172.16.1.2接收和发送的所有IP数据包,设置地址过滤条件如下:permit ip host 172.16.1.2 any和permit ip any host
172.16.1.2)。
(2)编辑IP数据报1,其中: 源IP地址:B的IP地址。目的IP地址:172.16.1.255。发送数据报。捕获数据,逐步观察数据包的传递。
B发送请求给交换机; 交换机发送请求给C: 交换机发送请求给D;
(3)编辑IP数据报2,其中:源IP地址:B的IP地址。目的IP地址:172.16.0.255。发送数据报。捕获数据,逐步观察数据包的传递。
记录实验结果:
主机号
收到IP数据报1 主机C、D
收到IP数据报2 B
结合实验结果,简述直接广播地址的作用。
广播地址可以用于对某一线路内所有主机发送请求,在在未知发送线路的情况下,利用广播地址发送广播接收回应,从而产生新的ARP表,这样在下次发送数据时候,路由器就可以根据ARP缓存表里面的地址映射来获得线路。
2.受限广播地址。
(1) 设置过滤条件(提取IP协议,捕获172.16.1.2接收和发送的所有IP数据包,设
置地址过滤条件如下:permit ip host 172.16.1.2 any和permit ip any host 172.16.1.2)。
(2)编辑IP数据报,其中: 源IP地址:B的IP地址。目的IP地址:255. 255. 255.255。
发送数据报。捕获数据,逐步观察数据包的传递。
交换机请求路由: