TCP/IP卷一 阅读笔记 ARP地址解析协议-CSDN博客

160 阅读3分钟

ARP的作用

在链路层中无论是以太网还是令牌环网或者其他,都有自己的寻址规则,一般为48bit,而并不是IP地址。
所以,在同一局域网中,并不是通过IP地址来发送数据的,而是需要48bit的地址来确定目的接口,然后通过物理层层数据传输数据的。设备驱动从来不会检查IP数据报中的目的IP地址。
ARP协议的作用就是通过IP地址获取链路层使用的任何地址。在以太网中就是MAC地址。

格式

以太网上的ARP请求格式如下:
在这里插入图片描述
帧类型:ARP请求为0x0806
协议类型:ARP请求为6,ARP应答为4
op:ARP请求为1,ARP响应为2,RARP请求为3,RARP响应为4

方式

ARP协议通过发送广播的方式,将一条请求发送给所有的主机。
在该请求中,包含将自己的IP地址、MAC地址以及目的IP,目的MAC地址填入ff:ff:ff:ff:ff:ff表示请求MAC地址。
当IP地址匹配的主机收到该消息时,就会发送ARP响应,将自己的MAC地址回复给源主机,这样源主机就知道了目的主机的IP了。
然会,源主机会将该IP以及MAC的映射关系存放在ARP高速缓存中。
高速缓存有超时时间,一般为20分钟。

免费ARP

免费ARP是一种特殊的ARP请求,他的以太网头中的源地址是自己的地址,目的地址为广播地址。但是ARP请求中的目的IP确实自己的IP。
这样导致的结果就是这个ARP请求,是发送个自己的。或者说发送给当前网络中IP地址和自己一样的主机。

需要注意的时候,当主机收任何一个ARP请求的时候,都会刷新自己ARP缓冲中对应IP的MAC地址信息。这样可以保证ARP缓存中的数据总是最新的。

作用:

  1. 广播自己的IP和MAC地址,起到一个通知作用,此时网路中的其他主机就会刷新ARP缓冲中的MAC地址。
  2. 检查是否有IP地址冲突。应为一个IP地址在一个网络下应该是唯一的,所以免费ARP请求是无法得到回应的,但是一旦网络中出现了与当前主机IP地址相同的主机,则这个ARP请求就会收到回应。

免费ARP还可以进行服务器的替换。当一个服务器出故障时,新的服务器可以使用故障服务器的IP,发送一条免费ARP请求,通过各主机将ARP高速缓存中的IP对应的MAC地址更换掉。

ARP命令

arp -a:查看ARP高速缓存中的所有内容
arp -d:删除ARP高速缓存中的内容。
arp -s:增加ARP高速缓存中的内容。新增加的是永久性的,不会超时。