我们通过设计一个简单的实验来帮助学员更深入直观地理解上述三个知识点所涉及的基本概念与原理。在实验中,我们利用ping命令来检验主机间能否进行正常的双向通信。在"ping"的过程中,源主机向目标主机发送ICMP的Echo Request报文,目标主机收到后,向源主机发回ICMP的Echo Reply报文,从而可以验证源与目标主机能否进行正确的双向通信。
实验的拓扑结构: 如图(1)所示。
A与B为实验用的PC机,使用Windows2000 Professional作操作系统。
实验方案:
步骤1:
设置两台主机的IP地址与子网掩码:
A:
B:
两台主机均不设置缺省网关。
用arp -d命令清除两台主机上的ARP表,然后在A与B上分别用ping命令与对方通信,在A与B上分别显示,
A: Reply from : bytes=32 time<10ms TTL=128
B: Reply from : bytes=32 time<10ms TTL=128
用arp -a命令可以在两台PC上分别看到对方的MAC地址。
分析:由于主机将各自通信目标的IP地址与自己的子网掩码相"与"后,发现目标主机与自己均位于同一网段(),因此通过ARP协议获得对方的MAC地址,从而实现在同一网段内网络设备间的双向通信。
步骤2:
将A的子网掩码改为:,其他设置保持不变。
操作1:用arp -d命令清除两台主机上的ARP表,然后在A上"ping"B,在A上显示结果为:Destination host unreachable
用arp -a命令在两台PC上均不能看到对方的MAC地址。
分析1:A将目标设备的IP地址()和自己的子网掩码()相"与",和自己不在同一网段(A所在网段为:),则A必须将该IP分组首先发向缺省网关。由于A的缺省网关没有配置,无法对分组进行正确发送,因此显示"目标主机不可到达"。
操作2:接着在B上"ping"A,在B上显示结果为:
Request timed out
此时用arp -a命令可以在两台PC上分别看到对方的MAC地址。
分析2:B将目标设备的IP地址()和自己的子网掩码()相"与",发现目标主机与自己均位于同一网段(),因此,B通过ARP协议获得A的MAC地址,并可以正确地向A发送Echo Request报文。但由于A不能向B正确地发回Echo Reply报文(原因见分析1),故B上显示ping的结果为"请求超时"。在该实验操作中,通过观察A与B的ARP表的变化,可以验证:在一次ARP的请求与响应过程中,通信双方就可以获知对方的MAC地址与IP地址的对应关系,并保存在各自的ARP表中。
步骤3:
在前面实验的基础上,把A的缺省网关设为:,网关的子网掩码为:。
在A与B上分别用ping命令与对方
通过实验理解子网掩码网关和arp协议 来自淘豆网m.daumloan.com转载请标明出处.