一、前言
本文是eNSP实验系列的实验四部分,本文主要借助eNSP软件完成网络层协议分析,网络层分析的协议包括ARP、ICMP、IP协议。本文使用的相关工具请查询eNSP实验(一)简单组网实验。
二、实验组网图
本实验所需的实验组网图如图2-1所示:
三、实验实现
按照图2-1所示的实验组网图完成PC1-PC4的IP地址、子网掩码、网关配置。进入LSW2交换机,创建VLAN10和VLAN20并设置IP地址,GE 0/0/1接口划分在VLAN10,GE 0/0/2接口划分在VLAN20。VLAN配置的相关指令请查阅eNSP实验(三)虚拟局域网(VLAN)通信。
3.1 ARP协议分析
该协议的分析分为局域网和2个局域网下的分析,图2-1的实验组网左边模拟在局域网下的情况,右边模拟在2个局域网下的情况,其中三层交换机LSW2充当路由器的作用。
进入PC1执行arp -d指令清除ARP缓存,然后执行ping指令pingPC2:
ping 192.168.10.121
接着执行arp -a指令查看PC1的ARP缓存列表如图3-1所示:
利用Wireshark工具对PC1Ethernet 0/0/1接口进行数据抓包,过滤条件设置为:arp。抓包结果如图3-2所示:
由图3-2可知,PC1主机在局域网内广播,PC2主机将ARP请求信息的IP地址进行对比,和本机地址相同则将MAC地址信息返回给PC1主机。ARP请求报文信息如图3-3所示:
ARP响应报文信息如图3-4所示:
将截获到的ARP报文信息与ARP报文格式进行对比分析,ARP报文格式如图3-5所示:
接着进行在不同局域网下ARP协议的分析,进入PC3执行arp -d指令清除ARP缓存,然后执行ping指令pingPC4:
ping 192.168.30.120
接着执行arp -a指令查看PC3的ARP缓存列表如图3-6所示:
利用Wireshark工具对PC3Ethernet 0/0/1接口进行数据抓包,过滤条件设置为:arp。抓包结果如图3-7所示:
进入LSW2交换机,执行display arp all查看ARP缓存列表如图3-8所示:
对比在局域网和不同局域网下ARP报文的分析可知,主机首先比较目的IP地址与自己的IP地址是否在同一子网中,如果在同一子网,则向本网发送ARP广播,获得目标IP所对应的MAC地址;如果不在同一子网,就通过ARP询问默认网关对应的MAC地址。
参考链接(1):ARP地址解析过程(同一子网和不同子网)
参考链接(2):对于IP通信子网,在不同子网内的主机如何寻址
3.2 ICMP协议分析
进入PC3然后执行ping指令pingPC4:
ping 192.168.30.120
利用Wireshark工具对PC3Ethernet 0/0/1接口进行数据抓包,ICMP报文信息如图3-9所示:
将截获到的ICMP报文信息与ICMP报文格式进行对比分析,ICMP报文格式如图3-10所示:
3.3 IP协议分析
在ICMP协议分析的基础上进行IP协议的分析,利用Wireshark工具对PC3Ethernet 0/0/1接口进行数据抓包,IP报文信息如图3-11所示:
将截获到的IP报文信息与IP报文格式进行对比分析,IP报文格式如图3-12所示:
进入PC3然后执行ping指令pingPC4,指定传输的数据为1500字节,进行IP分片分析。
ping 192.168.30.120 -l 1500
利用Wireshark工具对PC3Ethernet 0/0/1接口进行数据抓包,IP报文信息如图3-13所示:
由图3-13可知,1500字节的数据被分成了1480字节和28字节。(UDP首部8字节,所以实际需要传输1500+8字节)。因此当MTU为1500字节的情况下,传输数据超过1500-20-8=1472字节时需要进行IP分片。