ARP 协议

ARP(Address Resolution Protocol),地址解析协议,就是通过 IP 地址找到硬件地址(MAC地址)。


PC1:192.168.0.1
PC2:192.168.0.2

使用这个按钮查看 PC1 的端口状态汇总表(Port Status Summary Table)



可以看到网卡 FastEthernet0 的 IP 地址是 192.168.0.1,MAC 地址是 00D0.FF4E.BC07

切换到仿真模式,让 PC1 给 PC2 发送一个数据包,可以得到这样几个步骤:

详细解释

首先介绍一下ICMP(Internet Control Message Protocol),网际控制报文协议,是用来报告差错、异常情况的。

第一步

在 ARP 缓存表中未找到对应下一条 IP 地址的记录,申请执行 ARP 协议。

网络层(Layer 3):

数据链路层(Layer 2):

第二步

PC1 广播 ARP请求报文:

数据链路层(Layer 2):
目的地址是全 F ,也就是广播地址。

物理层(Layer 1):

第三步

PC2 收到 PC1 的 ARP 请求报文,,回复。

IN 方向 物理层(Layer 1):

IN 方向 数据链路层(Layer 2):

这时 PC2 的 ARP缓存表中就有了 PC1 的 MAC-IP 映射信息:

OUT 方向 数据链路层(Layer 2):

OUT 方向 物理层(Layer 1):

第四步

PC1 收到 PC2 的 ARP 回复。

数据链路层(Layer 2):

这时 PC1 的 ARP 缓存表中就有了 PC2 的MAC-IP 映射信息:

物理层(Layer 1):

第五步

PC1 再次发送数据包给 PC2。

数据链路层(Layer 2):

物理层(Layer 1):

第六步

PC2 收到数据包后的处理和回复。

IN - Layer 3:

IN - Layer 2:

IN - Layer 1:

OUT - Layer 1:

OUT - Layer 2:

OUT - Layer 3:

第七步

PC1 收到 PC2 的答复,数据包传送完毕。

Layer 1:

Layer 2:

Layer 3:


ARP 缓存表的清除

打开命令提示符:

arp -a:查看当前的 ARP 缓存表。
arp -d:清除 ARP 缓存。