计算机网络基础——地址解析协议ARP

计算机网络基础——地址解析协议ARP

MAC地址

媒体存取控制地址(Media Access Control Address, MAC地址),即物理地址,用于在网络中唯一标示一个网卡

在网络链路中传送的帧最终必须按照MAC地址找到目的主机,但由于异构网络可能使用不同的MAC地址,所以需要IP地址标识互联网中的主机,IP地址再通过ARP找到对应主机的MAC地址。

由于路由器的隔离,IP网络中无法通过广播方式依靠MAC地址来完成跨网络的寻址,因此在IP网络的网络层只能使用IP地址来完成寻址。

在IP层抽象的互联网上只能看到IP数据报,在数据链路层,只能看见MAC帧,路由器转发IP分组时,IP分组在每个网络中都被路由器解封装和重新封装,故IP数据报在被路由器转发时,即在不同网络上传送时,其数据链路层封装所使用的MAC地址是不断改变的

ARP

地址解析协议(Address Resolution Protocol, ARP)ARP用于完成从IP地址到MAC地址的映射,IP协议使用了ARP,通常将ARP归为网络层,但ARP协议用于把网络层使用的IP地址映射到数据链路层使用的硬件地址,所以也可以把ARP归为数据链路层,一般情况下认为ARP工作在网络层

RARP

反向地址解析协议(Reverse Address Resolution Protocol, RARP),RARP用于完成从MAC地址到IP地址的映射,现在的DHCP协议已经包含了RARP的功能

ARP高速缓存

每台主机都有一个ARP高速缓存(ARP表),用于存放本局域网上个主机和路由器的IP地址到MAC地址的映射表,使用ARP动态维护ARP表

工作原理

当某个主机(源主机)需要向本局域网的另一台主机(目标主机)发送IP数据报时,先在其ARP表中查找该主机的IP地址,若找到则可以直接得到其MAC地址,将MAC地址写入MAC帧,若没有找到,则使用目的MAC地址为FF-FF-FF-FF-FF-FF的帧来封装并广播ARP请求分组,该帧还包含了源主机IP地址、源主机MAC地址和目的主机IP地址,与源主机所在局域网内的所有主机收到ARP请求,目的主机收到ARP请求后发现其IP地址与ARP请求分组中要查询的IP地址相同,则向向源主机发送ARP响应分组,而其他主机则不会理会该ARP请求分组,该分组包含目的主机的IP地址和MAC地址的映射关系,源主机收到后将此映射写入ARP表。

目的主机在收到源主机的ARP请求分组后,在发回ARP响应分组的同时,将源主机的IP地址和MAC地址映射写入目的主机ARP表中,这样可以减少网络的通信量

ARP请求分组是广播发送的,而ARP相应分组则是单播。

ARP对保存在ARP表中的映射地址设置生存时间,以避免硬件地址失效

若源主机和目的主机不在同一局域网内,源主机通过ARP找到一个位于本局域网内的某个路由器的MAC地址,将分组发送给该路由器,该路由器转发给下一个网络,直到找到对应MAC地址。

四种典型情况

同局域网内主机到主机

发送方和接收方都为主机且在同一局域网内,ARP请求分组发给本局域网内的目的主机

不同局域网主机到主机

发送方和接收方都为主机但不在同一局域网内,找到局域网内某个路由器的地址,ARP请求分组发送给本局域网的某个路由器,剩下的工作由路由器来完成

同一局域网内路由器到主机

发送方为路由器而接收方为主机且在同一局域网内,路由器发送ARP请求分组,找到目的主机的MAC地址

不同局域网路由器到主机

发送方为路由器而接收方为主机但不在同一局域网内,路由器发送ARP请求分组找到目标主机所在的路由器MAC地址,剩下的工作交给路由器完成

自动解析

从IP地址到MAC地址的解析是自动进行的,主机用户对这种地址解析过程是不知道的,只要主机或路由器要和本网络中的另一个已知IP地址的主机或路由器通信,ARP就会自动地进行解析。

参考

谢希仁. 计算机网络(第7版). 电子工业出版社, 2017.
王道考研计算机网络

最后

  • 由于博主水平有限,不免有疏漏之处,欢迎读者随时批评指正,以免造成不必要的误解!

猜你喜欢

转载自blog.csdn.net/qq_44486439/article/details/112907329