📍实验目的
理解子网掩码、网关、ARP协议所涉及的基本概念与原理并能运用于分析实际网络,达到对数据包的传送过程深入理解。
📍实验内容
在实验中,利用ping命令来检验主机间能否进行正常的双向通信。在"ping"的过程中,源主机向目标主机发送ICMP的Echo Request报文,目标主机收到后,向源主机发回ICMP的Echo Reply报文,从而可以验证源与目标主机能否进行正确的双向通信。
📍实验过程
步骤1:设置主机的IP地址与子网掩码:
A(1号机): 202.192.31.11机号 255.255.248.0
B(2号机): 202.192.30.24机号 255.255.248.0
两台主机均不设置缺省网关。
用arp -d命令清除两台主机上的ARP表,然后在A与B上分别用ping命令与对方通信,记录实验显示结果。
用arp -a命令可以在两台PC上分别看到对方的MAC地址,记录A、B的MAC地址。
分析实验结果。
A: 先清空arp列表,然后ping B,再次查看其arp列表
B: 先清空arp列表,然后ping A,再次查看其arp列表
分析:由实验结果可知,主机A和主机B可以互相连接,且arp表中有端对端设备的ip地址和mac地址。
步骤2:将A的子网掩码改为:255.255.255.0,其他设置保持不变。
操作1:用arp -d命令清除两台主机上的ARP表,然后在A上"ping"B,记录显示结果。用arp -a命令能否看到对方的MAC地址。分析操作1的实验结果。
操作2:接着在B上"ping"A,记录B上显示的结果,此时用arp -a命令能否看到对方的MAC地址。分析操作2的实验结果。
A: arp -d清空,接着ping B,请求失败
分析:
A将目标设备的IP地址(202.192.31.11)和自己的子网掩码(255.255.255.0)相与得网段为(202.192.31.0),和A的不一致,说明在A看来,B与A不在同一子网上。
1.首先查看ARP高速缓存有无主机B的IP地址与其对应的MAC地址,但因为在实验的前面我们使用arp -d清除了主机上的ARP表,所以这个办法不行;
2.其次,主机便把IP数据包送给缺省网关,但因为我们也没有设置缺省网关,因此我们无法获得对方的MAC地址,所以ICMP报文发送请求超时。
B: arp -d清空,接着ping A,请求超时
分析:
B将目标设备的IP地址(202.192.30.24)和自己的子网掩码(255.255.248.0)相与得网段为(202.192.24.0),和B的一致,说明在B看来,A与B在同一子网上。
1.首先查看ARP高速缓存有无主机B的IP地址与其对应的MAC地址,但因为在实验的前面我们使用arp -d清除了主机上的ARP表,所以这个办法不行;
2.因为在同一子网上,因此B可以正常发送ARP请求分组,并且A可以响应该分组,获得对方的MAC地址。
3.ICMP报文发送后,由于A接收后无法响应,因此最后导致请求超时,并且无法获得对方的MAC地址。
步骤3:在前面实验的基础上,把A的缺省网关设为:202.192.31.235
在A与B上分别用ping命令与对方通信,记录各自的显示结果
在A与B上分别用tracert命令追踪数据的传输路径,记录结果
分析(3)的实验结果。
A:ping B,接着tracert
B:ping B,接着tracert A
分析:
1.步骤二已经说明了在A看来,A和B不在同一个子网,想要A成功pingB需要A设置缺省网关,通过缺省网关再转发给B从而实现连接,步骤三设置了缺省网关,因此可以正常连接;
在B看来,A和B在同一个子网内,想要B成功ping A,需要A正常响应B的ICMP报文,这次由于A设置了缺省网关,所以能通过网关返回给B从而实现连接。
📍实验结果分析
1.经过设置IP地址和子网掩码后,两台主机在不设置缺省网关的情况下进行通信。根据IP地址和子网掩码,两台主机判断对方在同一网段内,因此不需要经过网关进行通信。在ping命令中,A向B发送了ICMP的Echo Request报文,B收到后向A发回了ICMP的Echo Reply报文,两台主机能够正常通信。arp -a命令可以在两台主机上查看对方的MAC地址。
2.在将A的子网掩码改为255.255.255.0后,A和B不再处于同一网段内。A通过ARP协议获取不到B的MAC地址,故ping命令无法发送ICMP的Echo Request报文,通信失败;而B可以向A发出ICMP的Echo Request报文,并得到A的响应,说明A和B已经建立起单向通信,但是由于A接收后无法响应,因此最后导致请求超时,并且无法获得对方的MAC地址。
3.在设置了A的缺省网关后,A和B在同一网段内。ping命令可以正常进行双向通信,但是数据包的传输路径不再是直接的,而是需要通过默认网关进行交互。tracert命令可以追踪数据传输的路径,显示首先经过默认网关,然后到达目标主机。
📍实验心得
本次实验通过使用ping、arp和tracert命令,成功验证了IP地址、子网掩码、网关和ARP协议在网络通信中的作用和原理。实验结果也让我更加深入地理解了数据包在网络中传输的过程,以及每个步骤所涉及的相关知识点。在此过程中,我学习了子网掩码、网关、ARP协议的基本概念和原理。
首先,子网掩码是用于划分IP地址的网络ID和主机ID的一个二进制掩码。它与IP地址一起使用,可以确定一个IP地址所属的子网。在实际网络中,不同的子网需要使用不同的网关才能进行通信。因此,了解子网掩码的概念和原理对于理解网络拓扑和网络通信至关重要。
其次,网关也是一个重要的概念。网关是网络中实现不同网络之间通讯的中间设备,如路由器、交换机等。当主机需要与不同的网络进行通信时,它需要通过网关来进行路由选择和转发。因此,对于一个复杂的网络拓扑结构,了解网关的位置和功能非常重要,这有助于进行网络优化和故障排除。
最后,ARP协议是一种通过IP地址获取MAC地址的协议。在网络通信中,每个设备都有一个唯一的MAC地址。当主机需要与其他设备进行通信时,需要先获取目标设备的MAC地址,然后才能发送数据包。ARP协议主要使用广播的方式来查询目标设备的MAC地址,然后将结果存储到本地ARP缓存中,以提高下次通信的效率。
总的来说,通过这次实验,我明白了网络通信不是单纯的端到端连接,而是需要通过多个环节进行交互,每一个环节都需要正确设置和配置,才能构建起稳定可靠的网络通信。