ARP报文及其工作过程

时间:2024-05-22 14:30:33

1. ARP报文格式

ARP报文及其工作过程
各个字段的含义请自行百度了解下,很好理解的。
注意:ARP协议是即插即用的。另外,ARP请求是广播的,响应是单播的。

2. ARP的作用

ARP是解决位于同一个局域网上的主机或路由器的IP地址和MAC地址的映射问题的。
直接交付:当目的主机位于同一个局域网内,ARP将目的IP地址映射成对应MAC地址。
间接交付:当目的主机不在同一个局域网内,ARP首先会将发送主机的第一跳路由器(位于同一个局域网)的IP地址映射成对应的MAC地址。

在直接交付的情况下,ARP至多工作一次。
而在间接交付的情况下,ARP可能会工作多次。

3. ARP的工作流程(直接交付和间接交付)

1)主机A向主机B发送数据时,应用层数据经过传输层和网络层的封装变成IP数据报到达链路层后,需要封装成帧。
2)帧头需要目的MAC地址,发送主机会首先在其ARP缓存表中查找对应IP或第一跳路由器IP的MAC地址,如果有的话,进行步骤4,否则进行步骤3.
3)主机A会进行一个ARP广播请求,然后会收到一个单播应答,得到IP地址对应的MAC地址
注意:如果主机A和主机B不在同一个局域网内,那么ARP就要找到位于本局域网中的某一个路由器的MAC地址,然后把分组发给这个路由器,让这个路由器把分组发送给下一个网络,剩下的工作就交给下一个网络来做了
4)得到目的MAC地址后,就能封装成帧,送到网卡的输出队列进行发送了。另外顺便会在主机A的ARP缓存表中新增一条记录,以便下次快速查找。

4. ARP高速缓存表

为了进行高速查找MAC地址,每台主机内都会维护一张ARP高速缓存表。
因为在一个局域网内,对于一台主机来说,IP地址是动态分配的,而MAC地址是唯一的,所以ARP缓存表是有老化期的,一般为15分钟,超过这个时间并且没有更新的,就会从缓存表中删除。