zoukankan      html  css  js  c++  java
  • Networking

    ARP 协议概述

    ARP(Address Resolution Protocol),即地址解析协议,用于把 IP 地址映射到物理地址。网段上的每台主机都维护着一个被称为 ARP Table 或 ARP Cache 的表格,其中包含着网段上其他主机的 IP 地址与物理地址的对应关系。当主机需要向网段上的其他主机发送数据时,它会查看 ARP Cache 来获得目的的物理地址。ARP 缓存是动态变化的。如果要接收数据的地址当前并不存在于 ARP Cache,主机就会广播一个 ARP 请求帧。

    ARP 请求帧包含未解析的 IP 地址,还包含发送这个请求的主机的 IP 地址和物理地址。网段上的其他主机接收到这个 ARP 请求,拥有这个未解析的 IP 地址的主机会向发出请求的主机发送自己的物理地址。这个新的 IP 地址与物理地址的对应关系就会添加到请求主机的 ARP Cache 中。一般来说,ARP Cache 里的条目在一定时间后会过期,条目就会被从表里删除。当主机需要向这个条目所包含的 IP 地址发送数据时,解析过程会再次重复。

    ARP 报文格式

    ARP 报文格式如下:

    HTYPE PTYPE HLEN PLEN OPER SHA SPA THA TPA

    HTYPE(Hardware Type): 该字段有 2 个字节,表示硬件类型。

    PTYPE(Protocol Type): 该字段有 2 个字节,表示协议类型。

    HLEN(Hardware Address Length ): 该字段有 1 个字节,表示硬件地址长度。

    PLEN(Protocol Address Length ): 该字段有 1 个字节,表示协议地址长度。

    OPER(Operation): 该字段有 2 个字节,表示操作类型。1 表示 ARP 请求,2 表示 ARP 应答。

    SHA(Sender Hardware Address): 该字段有 6 个字节,表示发送者硬件地址。

    SPA(Sender Protocol Address): 该字段有 4 个字节,表示发送者 IP 地址。

    THA(Target Hardware Address): 该字段有 6 个字节,表示目标硬件地址。

    TPA(Target Protocol Address): 该字段有 4 个字节,表示目标 IP 地址。

    ARP 工作过程

    Wireshark - 观察 ARP 地址解析过程

    动画 - ARP 地址解析过程

  • 相关阅读:
    可左右拖动窗口demo
    制作一个简单的百度网盘在线视频加速的chrome插件
    git分支
    使用git的ssh
    git的概念和常用命令
    爬虫:获取页面 -- request库的使用
    字符串方法
    从实现原理更深入了解call和apply
    Git和GitHub使用
    localStorage和sessionStorage
  • 原文地址:https://www.cnblogs.com/huey/p/4826019.html
Copyright © 2011-2022 走看看