ARP与RARP工作原理及帧格式

ARP与RARP工作原理及帧格式

Scroll Down

ARP工作原理:

ARP用于已知本端IP地址和硬件地址以及对端IP地址的情况下,求解对端的IP地址,其工作原理简示如下:

  1. A首先发送广播消息请求其对应目的IP地址的硬件地址是多少?同时在该广播消息中还附带自己的IP地址和硬件地址。
  2. B接受到该广播包后,取出A的IP地址和硬件地址,将其添加到地址映射表中。同时返回单播响应,响应包中包含B的IP地址和硬件地址。
  3. A收到响应,取出B的IP地址和硬件地址,将其添加到地址映射表中。之后设备A和B就可以正常进行数据传送了。

1.png

RARP的工作原理:

RARP用于已知硬件地址,而IP地址未知的情况。其工作原理简示如下:

  1. A首先发送广播消息请求其对应目的硬件地址的IP地址是多少?同时在该广播消息中还附带自己的硬件地址。
  2. B接受到该广播包后,返回单播响应,响应包中包含B的IP地址和硬件地址(常常还包含A的IP地址,这是为了减少ARP的解析)。
  3. A收到响应,取出B的IP地址和硬件地址,将其添加到地址映射表中。之后设备A和B就可以正常进行数据传送了

帧格式

1.jpg

  • 以太网目的地址:目的主机的硬件地址。目的地址全为1的特殊地址是广播地址。
  • 以太网源地址:源主机的硬件地址。
  • 帧类型:对于ARP协议,该字段为0x0806。对于RARP协议,该字段为0x8035。
  • 硬件类型:表示硬件地址的类型。值为1时表示以太网地址。也就是说ARP协议不仅仅应用于以太网协议,还可以支持别的链路层协议。
  • 协议类型:表示要映射的协议地址类型。值为0x0800时表示IP协议。
  • 硬件地址长度:与硬件类型对应的硬件地址的长度,以字节为单位。如果是以太网,则是6字节(MAC长度)。
  • 协议地址长度:与协议类型对应的协议地址长度,以字节为单位。如果是IP协议,则是4字节(IP地址长度)。
  • 操作类型(op):四中操作类型。ARP请求(1),ARP应答(2),RARP请求(3),RARP应答(4)。
  • 发送端硬件地址:如果是以太网,则是源主机以太网地址,此处和以太网头中的源地址对应。
  • 发送端协议地址:如果是IP协议,则表示源主机的IP地址。
  • 目的端硬件地址:如果是以太网,则是目的以太网地址,和以太网头中的目的地址对应。
  • 目的端协议地址:如果是IP协议,则表示源主机要请求硬件地址的IP地址。 对应ARP请求包来说,目的端的硬件地址字段无须填充,其他字段都需要填充。对于ARP回复包来说,所有字段都需要填充。

APR请求包是广播的,但是ARP应答帧是单播的

以太网数据报最小长度是60字节(14字节的以太网头,不包含4字节的FCS),ARP数据包长度为42字节(14字节的以太网头和28字节的ARP数据),需要加入填充字符到以太网最小长度要求:60字节