• ARP 地址解析协议


    转载请注明出处:

    概念:

      ARP(Address Resolution Protocol)是一种网络协议,用于将网络层的IP地址映射到物理网络接口(MAC地址),以便在局域网(LAN)上进行通信。其主要作用是解决从IP地址到MAC地址的映射关系,使得数据包能够通过物理网段正确地传递。

    当计算机发送数据包到目标IP地址时,它需要知道目标IP对应的MAC地址才能正确地转发数据。这时就会使用ARP协议来完成以下过程:

    1. ARP请求(ARP Request):发送方主机向局域网上的广播地址发送一个ARP请求,该请求包含源主机的IP地址和MAC地址,并询问具有目标IP地址的设备的MAC地址。

    2. ARP应答(ARP Reply):拥有目标IP地址的设备收到ARP请求后,会向发送方主机发送一个ARP应答,其中包含它的IP地址和MAC地址。

    3. ARP缓存(ARP Cache):发送方主机在收到ARP应答时,将对应IP地址和MAC地址的映射关系存储在ARP缓存中,在之后的通信中可以直接使用该映射关系。

    ARP协议的使用场景:

    1. 在局域网内部,当主机A要发送数据给主机B时,会先通过ARP协议查询目标主机B的MAC地址,并将数据包封装在以太网帧中发送到目标MAC地址。

    2. 当一个路由器接收到一个来自外部网络的数据包,并需要将其转发到目标主机时,也会利用ARP协议查询目标主机的MAC地址。

    ARP协议的常用配置:

    • ARP协议的配置通常涉及以下两个方面:

    1. ARP缓存表:每个主机或路由器都维护一个ARP缓存表,其中存储了IP地址和相应的MAC地址的对应关系。该表用于快速查找目标MAC地址,在必要时可以手动添加或删除条目。

    2. ARP请求与回应:当一个主机需要获取另一个主机的MAC地址时,它会发送一个ARP请求广播消息,询问该IP地址对应的MAC地址。而目标主机则会回复一个ARP响应消息,包含自己的MAC地址。

    ARP协议的使用过程:

      以下是一个示例说明ARP的使用过程:

    假设有两台主机A和B,它们连接在同一个局域网上,具有以下信息:

    • 主机A的IP地址:192.168.0.10,MAC地址:AA:BB:CC:DD:EE:FF

    • 主机B的IP地址:192.168.0.20,MAC地址:11:22:33:44:55:66

    1. 主机A想要向主机B发送数据包。

    2. 主机A首先检查ARP缓存,看是否有目标IP地址(192.168.0.20)对应的MAC地址。

    3. 如果在ARP缓存中找到了目标IP地址对应的MAC地址,则直接使用该映射关系发送数据包。

    4. 如果ARP缓存中没有目标IP地址的映射关系,在主机A上发送一个ARP请求,广播给整个局域网。

    5. 主机B收到ARP请求后,检查请求中的IP地址是否与自己的IP地址相匹配。

    6. 如果匹配,主机B会发送一个ARP应答,将自己的IP地址和MAC地址作为应答发送给主机A。

    7. 主机A收到ARP应答后,将目标IP地址(192.168.0.20)和相应的MAC地址(11:22:33:44:55:66)存储在ARP缓存中,并使用此映射关系发送数据包到主机B。

      这样,通过ARP协议的帮助,主机A成功地获取了主机B的MAC地址,并可以进行正常的通信。

      需要注意的是,ARP协议仅适用于同一物理网络的局域网内部,而不涉及跨越路由器的网络通信。对于跨越子网的通信,使用ARP的方法与上述过程略有不同,包括使用代理ARP或者通过网关进行通信。

      可以看下 一个arp 抓包的内容如下:

     

     

    查看路由器或主机上的ARP缓存表:

    • 在Windows操作系统上,可以使用命令arp -a来查看本地主机的ARP缓存表。在路由器上,具体的查看方法可能因厂商和操作系统而异。

    • 在Linux操作系统上,可以使用命令arp -n来查看本地主机的ARP缓存表。路由器上的具体查看方法可能需要参考相关文档或运行特定的命令。

    • 在路由交换设备上,可以通过dispaly arp all 命令查看当前所有得arp缓存表。

                 

     

     
     
  • 相关阅读:
    泛型边界的问题
    基于人脸的常见表情识别(2)——数据获取与整理
    【Rust日报】2023-09-07 Tauri 2.0 路线图
    Linux18 Shell编程
    设计模式---代理模式(结构型)
    MyBioSource Cyclin E1 多克隆抗体相关研究
    【PyTorch深度学习项目实战100例】—— 基于BiGRU短期电力负荷预测方法 | 第28例
    Java的final修饰符
    Nexus私服 (一)
    TikTok国际版 使用特网科技Bluestacks模拟器安装方法
  • 原文地址:https://www.cnblogs.com/zjdxr-up/p/17744167.html