ARP详细概念+不同场景实现原理

  • ARP协议

    • ARP(Address Resolution Protocol,地址解析协议)

      • 用于根据目的IP地址来解析出MAC地址,进行二层通信.

      • 工作原理

        • 通过广播发送ARP查询请求来请求目的IP的MAC地址,与发送方处在同一个广播域的主机收到该请求后,如果确认查询的目的IP是本机,则单播回应本机的MAC地址;发送方接收到ARP回应后,把该IP和MAC地址写入本机ARP缓存表,下次再与IP进行二层通信则直接使用表中记录来进行;

        • 如果发现查询的IP不是本机,则不回应;

      • 使用场景:

        • 如果目的IP和本机IP处于同一网段,则ARP请求查询的就是目的IP的MAC地址;

        • 如果目的IP和本机IP不属于同一网段

          • 本机存在到达目的IP的路由时,则ARP请求查询的就是该路由下一跳的MAC地址

          • 如果没有明细路由,就查询缺省路由的下一跳(网关)的MAC地址

    • RARP(逆向ARP协议)

      • 根据本机的MAC地址查询出本机的IP地址,一般常见的场景是用于无盘工作站,无盘终端需要通过自己的MAC地址向服务器请求IP地址后才能进行系统引导;

    • 免费ARP

      • 主动使用自己的IP地址作为目标地址发送ARP请求

      • 主要三种作用

        • 用于检查网络中是否有主机和本机的IP地址重复

          给以太网接口设置IP地址时会自动发送免费ARP报文,在DHCP场景客户端在使用DHCP服务器分配的IP地址时也会发送一个免费ARP报文进行地址的冲突检测
        • 用于通告本机新的MAC地址

          当主机更换网卡改变了自己的MAC地址后,为了保证网络的可靠性,有必要在ARP表项老化前,及时向网络中其他设备通告自己的MAC地址的变化
        • 在VRRP备份组中通告主备发生变化

          在VRRP备份组中,当主备设备发生倒换的时候,新的主备设备需要及时向同一网段中的其他设备通告自己状态的变化
    • ARP报文:

      • image-20241022131641516

        image-20241022132000471

          ARP报文分为两种:ARP请求和ARP应答。当主机需要知道某个IP地址对应的MAC地址时,它会发送一个ARP请求,广播给局域网中的所有主机。而知道该IP地址对应MAC地址的主机会发送一个ARP应答,将自己的MAC地址告知请求方。

        • OP:长度2字节 1表示ARP请求报文,2表示ARP应答报文

    • ARP的实现过程

      • 同网段

        image-20241025221629695

        • ①PC3查看自己的ARP缓存表,发现没有主机PC4的IP与MAC的映射关系;
          ②于是,PC3向外广播发送ARP请求报文(源ip/mac:PC3|目ip:PC4,目mac:全0);以太网源MAC为PC3mac地址,目的MAC地址为广播MAC地址;
          ③S1收到后,在报文本网段内广播
          ④R1收到后发现目的IP不是自己,不会回应,更新ARP表,把PC3的MAC添加到ARP表中,丢弃报文
          ⑤PC4收到ARP请求后,更新自己的ARP表,将PC3的MAC地址添加到ARP表中,同时向ARP请求方PC3发送ARP相应报文(源IP和MAC为PC4,目的IP和MAC为PC3);以太网源MAC地址为PC4,目的MAC地址为PC3;
          ⑥S1收到后,将报文转发给PC3
          ⑦PC3收到ARP响应报文后,更新自己的ARP表,将PC4的MAC添加到ARP表中,同时将数据发送给PC4

          image-20241025221520049

      • 不同网段

        image-20241025221659403

        • ①PC3与PC5不在同网段,查询网关的MAC地址;
          ②PC3查询自己的ARP表,发现没有网关R1G0/0的IP地址和MAC映射关系
          ③于是,PC3发送ARP请求报文(源IP和源MAC为PC3| 目的IP为10.10.10.3,MAC为全0)以太网的源MAC为PC3,目的为广播MAC,请求网关的MAC地址
          ④S1收到后,在该网段内广播
          ⑤R1的接口G0/0收到ARP请求报文后,更新自己的ARP表,将PC3的MAC地址添加到ARP表中,同时向ARP请求方PC3发送ARP响应报文(源IP和MAC为R1g0/0 | 目的IP和MAC为PC3)以太网源MAC为G0/0,目的为PC3;
          ⑥S1收到后,将报文转发给PC3
          ⑦PC3收到后,更新自己的ARP表,将R1的MAC地址添加到ARP表中,同时发送数据给R1
        • image-20241025221727132

        • image-20241025221738788

    • ARP缓存表:

      • 临时存放IP地址和MAC地址的映射信息;当一台设备需要向目的设备发送单播帧时,首先会查看自己的ARP表中是否有目的设备的MAC地址,如果有直接使用,如果没有就发起ARP请求它;

      • 动态特性:一个条目,从建立或最近一次被使用算起,默认180s生存期,过了就会删除;某个条目再次被使用就会重新设置为180s;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值