地址解析协议-ARP协议

地址解析协议-ARP协议


前面介绍过 IP地址与MAC地址的区别,建议点击了解一下。

ARP协议的作用

细心的读者会发现,还有个问题没有解决:即主机或路由器怎样知道应当在MAC帧的首部填入什么样的硬件地址?
网络层使用的是IP地址,但在实际网络的链路上传送数据帧时,使用的是MAC地址。但IP地址和MAC地址之间由于格式不同而不存在简单的映射关系。此外,在一个网络上可能经常会有新的主机加入进来,或撤走一些主机。更换网络适配器也会使主机的硬件地址改变。
本篇文章要讲的地址解析协议ARP就是要用来解决这些问题的。
由于ARP协议是将网络层获取到的IP地址解析为MAC地址,而MAC是在数据链路层用到的,因此很多都认为ARP协议属于数据链路层的。但也有些教科书认为是网络层的。

ARP协议的工作原理

地址解析协议ARP的方法是在主机ARP高速缓存中存放一个从IP地址到硬件地址的映射表,并且这个映射表还经常动态更新(新增或超时删除)。
每一台主机都设有一个ARP高速缓存(ARPcache),里面有本局域网上的各主机和路由器的IP 地址到硬件地址的映射表,这些都是该主机目前知道的一些地址。 那么主机怎样知道这些地址呢?我们可以通过下面的例子来说明。
在这里插入图片描述

  • 1,当主机A要向本局域网上的某台主机B发送IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址。如有,就在ARP高速缓存中查出其对应的硬件地址,再把这个硬件地址写入MAC帧,然后通过局域网把该MAC帧发往此硬件地址。
  • 2,也有可能查不到主机B的IP地址的项目。这可能是主机B才入网,也可能是主机A刚
    刚加电,其高速缓存还是空的。在这种情况下,主机A就自动运行ARP, 然后按以下步骤
    找出主机B的硬件地址:
  • (1) ARP进程在本局域网上广播发送一个ARP请求分组。图4-11(a)是主机A广播发送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请求分组中要查询的IP地址一致,就收下这个ARP请求分组,并向主机A发送ARP响应分组,同时在这个ARP响应分组中写入自己的硬件地址。由于其余的所有主机的IP地址都与ARP请求分组中要查询的P地址不一致,因此都不理睬这个ARP请求分组,见图4-11(b)。ARP响应分组的主要内容是:“我的IP地址是209.0.0.6, 我的硬件地址是08-00-2B-00-EE-0A.”请注意:虽然ARP请求分组是广播发送的,但ARP响应分组是普通的单播,即从一个源地址发送到一个目的地址。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值