实验2 MAC地址,IP地址,ARP协议
# 实验2 MAC地址,IP地址,ARP协议
本仿真实验的内容是验证MAC地址与IP地址的关系,以及ARP协议的作用。
我们首先拖动两台计算机到逻辑工作空间,然后选择自动连线,让他们互联起来,作为左边这台计算机配置IP地址192.168.0.1,给右边这台计算机配置IP地址192.168.0.2,我们可以在右边的工具栏点击查看,来查看计算机的端口状态汇总表以及ARP表,
我们看一下端口状态汇总表,这是计算机的以太网卡,这是我们刚才配置的IP地址,这是网卡上面的MAC地址
我们还可以再查看一下它的ARP高速缓存表,目前来说它是空的,
我们把鼠标状态切换回选择状态,然后切换实施模式到仿真模式,我们现在让左边的计算机给右边的计算机发送一个简单的数据包,
就点右边的信封上的一个加号,让左边的计算机给右边的计算机发送。
我们可以看到这个数据包本身是用ICMP协议构建的,但是在体系结构的第二层准备封装成帧的时候,发现目标IP地址并不在自己的IP缓存中,所以没有办法找到相应的MAC地址,所以暂时不能发送 ICMP的数据包,只能发送一个ARP的请求
于是就构建一个ARP的请求帧。
我们可以看到ARP的请求跟它的目的MAC地址填为全F也就是广播地址。我们看一下它的具体的封装细节,就是ARP协议构建的数据包,那么这是它的原MAC地址和IP地址,也就自己的,下面的是他要发送数据包的目的地址,但是他不知道这个目的地址对应的MAC地址。ARP协议打完包以后要封装成以太网的帧就放在这个位置上。那么注意一下目的地址,填的是全F,也就是一个广播地址。
我们点击下一步,那么我们可以看到 ARP广播请求到达了右边这台计算机,我们点开看一下细节,右边这台计算机把它解析以后发现这是一个ARP的广播请求,他先把 ARP的里面带来的信息更新到自己的ARP的高速缓存表里,这个信息就是左边发IP广播请求的主机它的IP地址以及MAC地址的对应关系。
现在右边这台主机知道了,对方是来询问自己的 MAC地址的,所以它就要构建一个ARP的单播的这样的一个响应。
那目的地址它是要发给左边这台计算机的,所以就填左边这台计算机的 MAC地址。那么这个就是右边这台计算机构建的用ARP协议构建的单播的响应,那么里面的原MAC地址和原IP,地址放的是自己的,目的MAC地址和目的,这个IP地址放的是对方的,
我们现在就可以再点下一步来看一下,那么这个ARPP的单播响应就发送回去了。那么给大家看一下左边这台计算机收到单播响应以后进行解析,发现了这是一个ARP的响应,于是他把ARP的包里面的信息取出来,来更新它自己的ARP缓存表,然后他再把 ICMP的数据报就刚才没有发的数据报包也发出去了。我们现在来查看一下它更新完了自己的ARP高速缓存表这样的一个内容。这个内容就是他已经知道了,对方的 IP地址和MAC地址都有关系
再前进,这就是我们本来想发的 ICMP的数据包终于被发出来了,那么收到后再给对方发回一个ICMP的响应。
那么我们再次来看一下,让左边再给右边发一个ICMP的数据包,这个时候我们就可以看到是直接发送 ICMP数据包了,而不会再像最初一样要有一个ARP的广播请求去询问IP地址和MAC地址的对应关系。
下面我们可以通过命令来把左边的ARP的高速缓存表给它清了,我们先用ARP -a 先看一下它里面进入了右边这台计算机的IP地址和MAC地址的对应关系,我们输入ARP -d 我们再输入ARP -a 来查看一下,那么这说明的内容已经被我们删除了,我们再次用ICMP的来发包,我们会发现它又再次调用了ARP的广播请求。