详细聊聊ARP地址解析协议

首先谈一谈为什么要用ARP
虽然在因特网中每个主机都有一个唯一的IP地址,但是IP地址只是一种在网络层识别主机的逻辑地址,不能直接利用他们在物理网络中传输,只有将IP数据报封装在物理网络的数据链路层的数据帧中才能实现ip数据包在物理网络中的传输。为了在物理上实现IP分组的传输,需要网络层提供从主机IP地址到主机MAC地址的映射功能。

ARP报文格式
在这里插入图片描述
硬件类型:两字节,表名ARP协议实现在何种网络上,以太网类型1
协议类型:两字节,代表上层协议类型一般位0x0800即IP
硬件地址长度:mac地址长度
协议地址长度:IP地址长度
操作类型:请求报文或响应报文
发送方硬件地址:占6字节,发送端MAC地址。
发送方协议地址:占4字节,代表发送端协议地址(IP地址)。
目标硬件地址:占6字节,目的端MAC地址(待填充)。
目标协议地址:占4字节,代表目的端协议地址(IP地址)。

ARP工作过程:
1.本局域网中:
当主机A要向本局域网上的某个主机B发送IP数据报时,先在其ARP高速缓存中查看是否有B的IP地址。
如果有,就在ARP高速缓存中查出其对应的硬件地址,再把这个硬件地址写入MAC帧,然后通过局域网把MAC帧发给此硬件地址。如果没有,主机A运行ARP,首先构造ARP请求报文。发送ARP请求报文,此时目的地址为物理广播地址,以广播形式发送出去。目的主机返回响应报文,由于采用了广播地址,同一网络中所有的主机都能接收到该报文,但是只有IP地址和此报文中的目的IP相同的主机才能做出反应。目的主机狗仔ARP响应报文,报文中告诉源主机目的IP地址对应的MAC地址,以单播形式发给源主机。源主机得到ARP响应后获得目的主机的MAC地址,同时将此IP地址对应的MAC地址的映射关系作为新记录保存到ARP缓存
2.不在本局域网中
主机A根据某一协议知道此目的IP地址不是本子网内的地址,用ARP寻址找到网关,把要发送的数据报传送给网关,此时数据报的目的IP地址为目的主机的IP地址,目的mac地址为网关地址,由网关解析目的IP地址并转发。转发时目的IP地址仍未目的主机,目的mac地址为下一跳地址,知道可以交付数据报,若没有目的ip对应的mac用ARP寻址交付。此过程中变的是数据链路层的帧首部不变的时IP数据报

使用ARP的四种典型情况
1.发送方是主机,把IP数据报发送到本网络上的另外一个主机。这时用ARP找到目的主机的硬件地址
2.发送方是主机,把IP数据报发送到另一个网络上是主机。这时用ARP找到本网络上的路由器的硬件地址。剩下的工作由路由器完成
3.发送方时路由器,把IP数据报转发到本网络中的一个主机,用ARP寻址
4.发送方时路由器,把IP数据报转发到另一个网络上的一个主机。这时用ARP找到本网络上的另一个路由器的硬件地址。剩下的工作由路由器完成。

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值