ARP协议

ARP协议:是地址解析协议,工作在网络层,将上层传下来的数据报中的IP地址转化为MAC地址继续传送。

为什么需要ARP协议?

 因为网络层及以上层传送数据是根据IP地址进行传送的,而下两层使用的是MAC地址,所以为了保证数据可以顺利到达目的地,因此在二三层中间必须有一个工具用以转换IP地址和MAC地址,所以就出现了ARPRARPARP是将IP地址转化为MAC地址,RARP则是将MAC地址转化为IP地址。

ARP的工作流程(仅工作在局域网)

1>   当主机A向本局域网上的某个主机B发送IP数据报时,首先在自己的ARP缓冲表中查看有无主机BIP地址。

2>   如果有,就可以查出其对应的硬件地址,再将此硬件地址写入MAC帧,然后通过以太网将数据包发送到目的主机中。

3>   如果查不到主机BIP地址的表项。可能是主机B才入网,也可能是主机A刚刚加电。其高速缓冲表还是空的。在这种情况下,主机A就自动运行ARP

(1)ARP进程在本局域网上广播一个ARP请求分组ARP请求分组的主要内容是表明:我的IP地址是192.168.0.2,我的硬件地址是00-00-C0-15-AD-18.我想知道IP地址为192.168.0.4的主机的硬件地址。

(2)在本局域网上的所有主机上运行的ARP都收到此ARP请求分组。

(3)主机BARP请求分组中见到自己的IP地址,就向主机A发送ARP响应分组,并写入自己的硬件地址。其余的所有主机都不理睬这个ARP请求分组。ARP响应分组的主要内容是表明:“我的IP地址是192.168.0.4,我的硬件地址是08-00-2B-00-EE-AA,请注意:虽然ARP请求分组是广播发送的,但ARP响应分组是普通的单播,即从一个源地址发送到一个目的地址。

(4)主机A收到主机BARP响应分组后,就在其ARP高速缓冲表中写入主机BIP地址到硬件地址的映射。

 事例说明:用ping说明ARP工作的原理

假设我们的计算机IP地址是192.168.1.1,要执行这个命令:ping192.168.1.2。该命令会通过ICMP协议发送ICMP(以太网控制报文协议)数据包

该过程需要经过下面的步骤:  

1> 应用程序构造数据包,该示例是产生ICMP包,被提交给内核(网络驱动程序);   

2> 内核检查是否能够转化该IP地址为MAC地址,也就是在本地的ARP缓存中查看IP-MAC对应表;

3> 如果存在该IP-MAC对应关系,那么跳到步骤<7

如果不存在该IP-MAC对应关系,那么接续下面的步骤;

4> 内核进行ARP广播,目的MAC地址是FF-FF-FF-FF-FF-FFARP命令类型为REQUEST1),其中包含有自己的MAC地址;   

5> 192.168.1.2主机接收到该ARP请求后,就发送一个ARPREPLY2)命令,其中包含自己的MAC地址;   

6> 本地获得192.168.1.2主机的IP-MAC地址对应关系,并保存到ARP缓存中;   

7> 内核将把IP转化为MAC地址,然后封装在以太网头结构中,再把数据发送出去;

特殊情况:

ARP是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。如果所要找的目标设备和源主机不在同一个局域网上。

1>此时主机A就无法解析出主机B的硬件地址(实际上主机A也不需要知道远程主机B的硬件地址);

2>此时主机A需要的是将路由器R1IP地址解析出来,然后将该IP数据报发送给路由器R1.

3>R1从路由表中找出下一跳路由器R2,同时使用ARP解析出R2的硬件地址。于是IP数据报按照路由器R2的硬件地址转发到路由器R2

4>路由器R2在转发这个IP数据报时用类似方法解析出目的主机B的硬件地址,使IP数据报最终交付给主机B.

说明:

Ø  如果你的数据包是发送到不同网段的目的地,那么就一定存在一条网关的IP-MAC地址对应的记录。   

Ø  知道了ARP协议的作用,就能够很清楚地知道,数据包的向外传输很依靠ARP协议,当然,也就是依赖ARP缓存。要知道,ARP协议的所有操作都是内核自动完成的,同其他的应用程序没有任何关系。同时需要注意的是,ARP协议只使用于本网络。

  

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值