抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >


ARP 协议

ARP

ARP: 地址解析协议,用于已知一台设备 IP 地址时,获取对方的硬件地址信息,从而进行数据链路层的封装.

ARP 协议本身没有一个独立的协议号.

网络层协议.

数据发送之前发送数据帧,要有源目 MAC 地址.

RFC 826

ARP 报文格式

ARP 报文格式

Hardware Type: 硬件地址类型,以太网,值为 1.

Protocol Type: 协议地址类型,IP 协议,值为 0x0800.

Hardware length: MAC 地址长度,单位是字节,值为 6.

Protocol length: IP 地址长度,单位是字节,值为 4.

Operation code: 表示 ARP 报文的类型.

  • ARP Request: 值为 1.
  • ARP Reply: 值为 2.

Source hardware address: 源 MAC 地址.

Source protocol address: 源 IP 地址.

Destination hardware address: 目的 MAC 地址.

Destination protocol address: 目的 IP 地址.


Eternet_II Header 0x0806: ARP 协议

ARP 缓存表

ARP 缓存表:用来存放 IP 地址以及 MAC 地址的对应关系.

华为设备 ARP 缓存表老化时间 1200s (20min)

PC>arp -a

Internet Address Physical Address Type

ARP 工作过程

ARP 请求:源主机的 ARP 缓存表中不存在目的主机的 MAC 地址,此时源主机会发送 ARP Request 报文来请求目的主机的 MAC 地址,此数据帧中的目的 MAC 地址字段为广播.

ARP 响应:跟源主机处于同一个广播域的同一个设备都会收到广播形式的 ARP Request 报文,收到报文后,会查看 ARP 报文头部中的目的 IP 和自己是否一致.

如果相同,则目的主机会将 ARP Request 报文中的源 IP 地址和源 MAC 地址记录到自己的 ARP 缓存表中,并通过 ARP Reply 响应.

如果不同,记录 ARP 表项后,丢弃请求报文.

当源主机收到目的主机发来的 ARP Reply 报文后,会检查数据帧中的目的 MAC 和 ARP 中的 IP 地址是否为自己的 IP 地址和 MAC 地址,如果相同,源主机会将报文中的源 IP 地址和源 MAC 地址记录到自己的缓存表中.

免费 ARP

设备刚接入网络时 (刚拥有 IP 地址) 发送免费 ARP (无故 ARP).

用于检测 IP 地址冲突,主机主动使用自己的 IP 地址作为 ARP 中的目的 IP 地址使用,发送请求,正常情况下不会收到 ARP 响应,如果收到则表明网络中存在与自身 IP 地址重复的设备.

ARP 代理

同一网段,不同物理网络上的计算机之间,可以通过 ARP 代理实现相互通信.

实现第一跳冗余. ARP 欺骗,存在安全问题,现在基本不用. ARP 常存在于以太网,存在局限性.

VRRP

推荐阅读
交换网络基础 交换网络基础 IP编址 IP编址 数据转发过程 数据转发过程 以太网帧结构 以太网帧结构 IPv6 IPv6 VRRP VRRP

留言区

Are You A Robot?