地址解析协议ARP

地址解析协议ARP

目的 : 当我们知道一个机器的IP地址,需要找到其对应的硬件地址。

由于是IP协议是用了ARP协议,所以我们教材中将ARP协议划归网络层。它的用途是为了从网络层使用的IP地址,解析出他在数据链路层使用的硬件地址。 IP地址和下面的硬件地址的格式不同而不存在简单的映射关系,我们知道IP地址有32位,而硬件地址是48位。并且一个网络可能经常会有新的主机加进来,或者撤走一些主机。更换网络设配器也会使主机的硬件地址发生变化。 解决方法 : 每台主机都有一个ARP高速缓存,在ARP高速缓存中存放一个从IP地址到硬件地址的映射表,并且这个映射表还经常的动态更新。 当主机A要向本局域网中的主机B发送数据报时,就先在其ARP高速缓存中查看有没有B的IP地址,如果有,就在ARP高速缓存中查看其对应的硬件地址,再把这个硬件地址写入到MAC帧,然后通过局域网把该MAC帧发往此硬件地址。 如果查不到B的IP地址, 按照以下步骤。 (1) ARP进程在本局域网上广播发送一个ARP请求分组。发送方说:我的IP地址是209.0.0.5,硬件地址是00-00-C0-15-AD-18。我想知道IP地址为209.0.0.6的主机的硬件地址。 (2) 在本局域网中所有主机上运行的ARP进程都收到此ARP请求分组。 (3) 只有主机B的IP地址和ARP请求分组中查询的一致,就收下这个ARP请求分组,并向主机A发送ARP响应分组,同时在这个ARP中写下了自己的硬件地址。其余的没匹配上的不做出响应。B主机发送的ARP响应分组(我的IP地址是209.0.0.6,硬件地址是:XX-XX-XX-XX)。ARP响应分组是单播。 (4) 主机A收到主机B的ARP响应分组后,就在其ARP高速缓存中写入B的硬件地址。同时在B的ARP高速缓存中也写入了A的硬件地址。

ARP对保存在高速缓存中的每一个映射地址项目都设置了生存时间,凡是超过生存时间的项目就会从高速缓存中删除,保证某些主机硬件地址失效或者更换等带来的问题。 注意: ARP是解决同一个局域网上的主机或者路由器的IP地址和硬件地址的映射问题。

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×