计算机网络笔记—ARP协议(Address Resolution Protocol 地址解析协议)

一、ARP协议的作用

ARP协议的作用简单来说就是解决主机或路由器如何获取MAC帧首部中需要填写的MAC地址的,即是为了从网络层中使用的IP地址,解析出在数据链路层中需要用到的硬件地址。由于是IP协议使用了ARP协议,因此通常就把ARP协议划归网络层。

二、网络中主机增减时IP地址和硬件地址的映射关系更新

网络层中使用的是IP地址,但是在实际的网络的链路上传送数据帧时,最终还是必须使用该网络的硬件地址。但是在一个网络中的IP地址和硬件地址的映射关系并非是固定不变的,因此需要ARP协议来解决映射关系动态更新的问题,具体的解决方法是:在主机 ARP 高速缓存中存放一个从 IP 地址到硬件地址的映射表,并且这个映射表还经常动态更新(新增或超时删除)。

三、局域网内主机发送IP数据报的流程

  1. 当主机A要向本局域网内的某台主机B发送IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址,如果有,就在ARP高速缓存中查出其对应的硬件地址,再把这个硬件地址写入MAC帧,然后通过局域网把该MAC帧发往此硬件地址。
  2. 如果主机A的ARP高速缓存中没有主机B的IP地址项目,在此情况下,主机A就自动运行ARP,具体运行步骤如下:
  • ARP进程在本局域网上广播发送一个ARP请求分组,ARP请求分组的主要内容为:“我的IP地址为xxx(主机A),硬件地址为xxx(主机A),我想知道IP地址为yyy(主机B)的主机的硬件地址。”
  • 本局域网上的所有主机上运行的ARP 进程都将收到此ARP 请求分组。
  • 主机B的IP地址与ARP请求分组中要查询的IP地址一致,就收下这个ARP请求分组,将主机A的地址映射写入主机B的ARP高速缓存中,并向主机A发送ARP响应分组,同时在这个响应分组中写入自己的硬件地址。由于其余的主机的IP地址都与ARP请求分组中要查询的IP地址不一致,因此都不理睬这个ARP请求分组。ARP相应分组的主要内容为:“我的IP地址为yyy(主机B),硬件地址为yyy(主机B)。” 注意:虽然ARP请求分组是广播发送的,但ARP响应分组是普通的单播,即从一个源地址发送到一个目的地址。
  • 主机A收到主机B的ARP响应分组后,就在其ARP高速缓存中写入主机B的IP地址到硬件地址的映射。

四、局域网间主机发送IP数据报的流程

在这里插入图片描述
当在局域网间进行IP数据报的传输时,由于源主机和目的主机不在同一局域网内,故它们之间有路由器连接,如上图所示,当主机H1要向另一局域网上的主机H2发送IP数据报的时候,IP数据报首先需要通过与主机H1连接在同一局域网上的路由器R1来转发,因此主机H1这时需要把路由器R1的IP地址IP3解析为硬件地址HA3,以便能够把IP数据报传送到路由器R1。以后,R1从路由转发表中找出下一跳路由器R2,同时使用ARP解析出R2的硬件地址HA5。于是IP数据报按照硬件地址HA5转发到路由器R2。路由器R2在转发这个IP数据报时用类似的方法解析出目的主机H2的硬件地址HA2,使得IP数据报最终交付主机H2。(此过程比较笼统,需要更进一步学习了解路由转发的过程)

五、使用ARP的四种典型情况

在发送IP 数据报的过程中,只要主机或路由器要和本网络上的另一已知IP地址的主机或路由器进行通信,ARP协议就会自动把这个IP地址解析为链路层所需的硬件地址。
在这里插入图片描述
使用ARP的四种典型情况为(根据上图):

  1. 发送方是主机H1,要把IP数据报发送到同一网络上的另一主机H2。这时H1发送ARP请求分组(在网1上广播),找到目的主机H2的硬件地址。
  2. 发送方是主机H1,要把IP数据报发送到另一网络上的一台主机H3或H4。这时H1发送ARP请求分组(在网1上广播),找到网1上的一个路由器R1的硬件地址。剩下的工作由路由器R1来完成。R1要做的事情是下面的 3 或 4。
  3. 发送方是路由器R1,要把IP数据报转发到与R1连接在同一网络(网2)上的主机H3。这时R1发送ARP请求分组(在网2上广播),找到目的主机H3的硬件地址。
  4. 发送方是路由器R1,要把IP数据报转发到网3上的一台主机H4。H4与R1不是连接在同一网络上。这时R1发送ARP请求分组(在网2上广播),找到连接在网2上的一个路由器R2的硬件地址。剩下的工作由路由器R2完成。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值