初识ARP和实验_linxl

初始ARP

当主机A要向本局域网的某个主机B发送IP数据报时候。就先在其ARP高速缓存中查看有无主机B的IP地址,如果有,就在ARP高速缓存表中查出其对应的硬件地址,再把这个硬件地址填入MAC帧,然后通过局域网把这该IP数据报发出去。

也有可能查不到主机B的IP地址,这种情况下主机A自动运行ARP,按照以下情况找出主机B的硬件地址

1. ARP进程在本局域网上广播一个ARP请求

2. 在本局域网上的所有主机上允许的ARP进程都收到此ARP请求

3. 主机B的IP地址和ARP请求报文的IP地址一样,就收下这个ARP请求报文,并向主机A发送ARP响应报文。其他所有的主机的IP地址都与ARP请求报文中的IP分组不一致,不处理此报文。且主机B会把主机A的IP地址和MAC地址及对应接口信息添加至自己的ARP表项

4. 主机A收到主机B的ARP响应分组后,就在其ARP缓存

一:ARP实验:

ARP是地址解析协议,它的作用是在以太网环境下,通过3层的IP地址来找寻2层的MAC地址,得到一张ARP缓存表。转发数据的时候根据ARP缓存表来进行传输。

实验组网图:

 

配置: PC_1: IP:192.168.1.1 掩码:255.255.255.0

       PC_3: IP:192.168.1.2 掩码:255.255.255.0

       PC_4: IP:192.168.1.4 掩码:255.255.255.0

动作:PC_1 ping PC_3

ARP分析及抓包截图:

1.PC_1的GE_0/1接口发送ARP请求报文:

PC_1 ping PC_3 ,因为PC_1没有PC_3的缓存表,于是PC_1ARP进程发起ARP请求,PC_1的arp进程开始封装arp报文,加入源IP地址,源MAC地址,目的MAC地址不知道则填入00:00:00_00:00:00,目的IP地址为pingPC3的IP地址:192.168.1.2,封装完成后交付给数据链路层,数据链路层开始封装源mac地址,目的mac地址等其他信息封装成数据帧从PC_1接口GE_0/1发出此数据帧。PC_1 的GE_0/1接口抓ARP协议截图如下:

 

2.PC_3 的GE_0/1接口收到ARP报文:

PC_3的GE_0/1接口接收到ARP请求报文,开始解析此报文,解析此帧的源MAC地址是88:66:C4:02:01:06,目的MAC地址是FF:FF:FF:FF:FF:FF,PC3发现是广播地址,于是知道自己需要处理此报文, 解析Type类型是 ARP(0x0806)等其他信息,然后交付给PC_1ARP进程解析,解析此此报文的源MAC地址是88:66:C4:02:01:06,源IP地址是192.168.1.1,目的MAC地址是00:00:00_00:00:00,目的IP地址是192.168.1.1,OPCODErequest(1),然后知道要向PC_1发送ARP响应报文

PC_3 的GE_0/1接口抓请求AR请求报文如下截图:

. PC_3 的GE_0/1接口发送ARP响应报文:

PC_3的arp进程开始封装arp报文,加入源IP地址192.168.1.2,源MAC地址88:66:C4:02:01:06,目的IP地址:192.168.1.1,目的MAC地址88:66:d3:6d:03:06OPCODE:REPLAY(2)等其他信息,封装完成后交付给数据链路层,数据链路层开始封装源mac地址88:66:d3:6d:03:06,目的mac地址88:66:C4:02:01:06TYPE(ARP0X0806)等其他信息封装成数据帧从PC_1接口GE_0/1发出此数据帧。PC_1 的GE_0/1接口抓ARP协议截图如下:

 

4. PC_1的GE_0/1接口接收ARP响应报文:

PC_1GE_0/1接口接收到ARP响应报文,开始解析此报文,解析此帧的源MAC地址是88:66:d3:6d:03:06,目的MAC地址是88:66:C4:02:01:06, Type类型是 ARP(0x0806)等其他信息,然后交付给PC_1ARP进程解析,解析此此报文的源MAC地址是88:66:d3:6d:03:06,源IP地址是192.168.1.2,目的MAC地址是88:66:C4:02:01:06,目的IP地址是192.168.1.1

PC_1 的GE_0/1接口抓的响应ARP协议截图如下:

猜你喜欢

转载自www.cnblogs.com/linxl/p/12825534.html
arp
今日推荐