当前位置:文档之家› 实验五 IP协议和ICMP协议

实验五 IP协议和ICMP协议

实验五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 host172.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。

发送数据报。

捕获数据,逐步观察数据包的传递。

交换机请求路由:交换机请求C: 交换机请求D:路由器直接回应交换机,而没有把请求发送给E、F记录实验结果:主机号收到主机A发送的IP数据报 C 、D未收到主机A发送的IP数据报 E 、F结合实验结果,简述受限广播地址的作用。

受限广播地址可以避免开销过大,可以使某一特定的网段接收消息3.环回地址。

(1)设置过滤条件(提取IP协议,permit ip any any)。

(2)主机E ping 127.0.0.1。

(3)停止捕获数据。

•主机F是否收到主机E发送的目的地址为127.0.0.1的IP数据报?为什么?•没有收到,因为主机F不在这个网段练习三:IP数据报分片1.设置过滤条件(提取ICMP协议)。

2.在主机B上,发出一个Ping应用的数据包给主机E(目标IP地址为172.16.0.2),ICMP报文大小设为2492(即除ICMP首部以外的数据大小)。

3.停止捕获数据。

将E收到的IP的报文分片信息填入下表:(分片数不一定为3)字段名称分片序号1分片序号2分片序号3ID字段值0x4 0x4More fragments字段值0x1 0x0Fragment offset字段值0x0 0x5c8传输的数据量1500 1040分析表格内容,理解分片的过程。

ID字段0x4代表两个分片是属于同一个数据报;MF位:分片1为0x1,代表后面还有分片,分片2为0x0说明后面没有了分片,说明原数据报分成了两个分片;FO:分片1为0x0表示偏移量为0,说说明分片1是第一个分片,分片2为0x5c8,说明它的偏移量为1480(也就是第一个分片的数据部分长度),由于只分了两个分片,所以分片2就是第二个分片也就是最后一个分片。

传输的数据量:分片1为1500,实际数据部分的长度为1480(去掉首部固定20字节的长度),分片2为1040,实际数据部分长度为1020(去除首部的固定长度20字节),所以数据长度为:1480+1020=2050.练习四:子网掩码和路由转发1.B、C、D主机取消网关,清除ARP缓存。

B C D取消网关:B C D清空arp:2.主机C、D设置子网掩码为255.255.255.224,主机D的IP修改为172.16.1.100。

设置C,D子网掩码:3.主机B ping主机C(172.16.1.3),ping 主机D(172.16.1.100)。

记录实验结果主机B ping 主机C:主机B ping 主机D:是否ping 通主机B----主机C是主机B ----主机D 否4.B、C、D主机恢复网关,清除ARP缓存。

恢复网关:清除arp:5.主机E、F设置子网掩码为255.255.255.224,主机F的IP修改为172.16.0.100。

6.主机B ping主机E(172.16.0.2),ping 主机F(172.16.0.100)。

记录实验结果B ping E:B ping F:是否ping 通主机B----主机E 是主机B----主机F 否请问什么情况下两主机的子网掩码不同,却可以相互通信?B的地址:172.16.1.2(10101100 00010000 00000001 00000010)子网掩码为:255.255.255.0(11111111 11111111 11111111 00000000)得到:10101100 00010000 00000001 00000000(172.16.1.0)E的地址:172.16.0.2(10101100 00010000 00000000 00000010)11100000子网掩码:255.255.255.224(11111111 11111111 11111111 )得到:10101100 00010000 00000000 00000010(172.16.0.0)而F得到:10101100 00010000 00000000 01100100(172.16.0.96)也就是说当两个主机的上一层地址标识相同时,增大掩码可以让两台主机通信,172.16.1.0和172.16.0.0都变成了B类地址。

二、ICMP协议【实验环境配置】采用网络结构路由器A【实验原理】•目的不可达报文类型:3代码:0至15检验和未使用(全0.25)收到的IP数据报的一部分,包括IP首部以及数据报数据的前8个字节•源端抑制报文•超时报文•参数问题•改变路由•回送请求和回答•时间戳请求和回答•地址掩码请求和回答•路由询问和通告类型:10代码:0检验和标识符序号类型:9代码:0检验和地址数地址项目长度寿命路由器地址1优先级1路由器地址2优先级2...【实验步骤】练习一:运行Ping命令1.设置过滤条件(提取ICMP协议)。

2.主机B ping主机E(172.16.0.2)。

3.停止捕获数据,察看哪些主机收到了B发出的包,哪些主机向B发送响应包,并回答以下问题:•捕获的报文对应的“类型”和“代码”字段分别是什么?类型:0x8(请求)代码:0x0•分析报文中的哪些字段保证了回送请求报文和回送应答报文的一一对应?标识符和序列号练习二:ICMP差错报告报文1.目的端不可达a.设置过滤条件(提取ICMP)。

b.将路由器A的端口(172.16.0.1)的子网掩码改成255.255.255.224。

相关主题