ARP协议的作用

         ARP协议由rfc 826详细介绍规定,协议规定的ARP报文的报文结构

        (ar$hrd) = ares_hrd$Ethernet
        (ar$pro) = ET(IP)
        (ar$hln) = length(EA(X))
        (ar$pln) = length(IPA(X))
        (ar$op)  = ares_op$REQUEST
        (ar$sha) = EA(X)
        (ar$spa) = IPA(X)
        (ar$tha) = don't care
        (ar$tpa) = IPA(Y)

以及使用场景(Ethernet网络)。


ARP报文分为两类:请求报文(request),响应报文(response);

这两类报文的结构是一致的,字段ar$op的值区分了报文类型:1为请求,2为响应。


ARP在TCP/IP协议分成的系统中属于链路成协议即二层协议,主要用于局域网的MAC地址与IP地址关系映射。

在知道IP不知道MAC地址的情况下,设备A(网卡,网络接口)就会广播发送一个arp request报文,IP的B所有者就会回应一个arp response告知A它所拥有的MAC地址。



                                                                            

                                -------------------------------->  B              

                           /                                              /

                              <------------------------------

                     A         ------------------------------> C

                          \

                                ------------------------------>D


ARP协议也会配合DHCP协议进行IP地址分配用于IP检测地址是否冲突。


ARP攻击,就是使用攻击设备或者软件发送ARP请求或响应报文来干扰IP地址和MAC地址的映射,使映射关系错误从而导致设备不能连接网络。


标准下载地址:https://datatracker.ietf.org/doc/rfc826/

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ARP(Address Resolution Protocol)是一种用于将IP地址解析为物理MAC地址的协议,它在TCP/IP模型的链路层中工作。 ARP作用是解决在一个局域网中,当主机A知道目标主机的IP地址时,如何获取目标主机的MAC地址。它的工作过程如下: 1. 当主机A要发送数据包给目标主机B时,首先检查自己的ARP缓存中是否有目标主机B的IP地址对应的MAC地址。如果有,则直接使用该MAC地址进行数据包封装。 2. 如果主机A的ARP缓存中没有目标主机B的MAC地址,则主机A会广播一个ARP请求(ARP Request)消息到局域网上的所有主机。 3. ARP请求消息中包含了主机A自己的IP地址和MAC地址,以及要查询的目标主机B的IP地址。 4. 其他所有收到ARP请求消息的主机都会检查自己的ARP缓存,如果发现自己的IP地址与请求消息中的目标IP地址匹配,则会向主机A发送一个ARP响应(ARP Reply)消息。 5. ARP响应消息中包含了目标主机B的IP地址和MAC地址。 6. 主机A收到ARP响应消息后,将目标主机B的IP地址与MAC地址进行映射,并将该映射关系存储到自己的ARP缓存中。 7. 主机A现在知道了目标主机B的MAC地址,可以使用该地址进行数据包的封装和发送。 需要注意的是,ARP只能在同一个局域网中进行工作,因为它是基于广播的。如果目标主机B不在同一个局域网中,主机A需要通过路由器进行数据包转发,此时会使用另一种协议,如ARP的扩展协议Proxy ARP或者使用ARP的替代协议如NDP(Neighbor Discovery Protocol)来解决IP地址到MAC地址的映射问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值