TCP/IP地址解析协议--ARP(二)

ARP报文格式

ARP请求和响应报文也有一种特殊的报文格式,相对来说比较简单。其中有一个字段用于描述报文的类型和二层、三层地址信息。为了支持不同长度的地址,该报文格式规定了二、三层使用的协议类型和各个层地址的长度。然后将全部四个地址组合在一起。

字段名称

大小(字节)

描述

HRD

2

硬件类型:该字段规定了传输ARP报文的本地网硬件类型,还确定了使用的寻址类型。

PRO

2

协议类型:该字段为硬件类型字段的补充,规定了报文中使用的三层地址类型。对于IPv4地址而言,该字段的值为2048,对应值为0800的以太网类型字段。

HLN

1

硬件地址长度:该字段规定了报文中硬件地址的长度。对于以太网或其他使用IEEE 802 MAC地址的网络,该字段的值应为6。

PLN

1

协议地址长度:同样,该字段为上一个字段的补充,它规定了报文中协议地址的长度。对于IPv4地址而言,该字段的值为4。

OP

2

操作码:该字段规定了发送的ARP报文的性质。1和2用于常规ARP。其它值用于支持使用ARP帧的其它协议,注意其中有些值更为常用。

SHA

 

发送方硬件地址。

SPA

 

发送方协议地址。

THA

 

目标方硬件地址。

TPA

 

目标方协议地址。

HRD值

硬件类型

1

以太网(10Mb)

6

IEEE 802 网络

7

ARCNET

15

帧中继器

16

异步传输模式(ATM)

17

HDLC

18

光纤信道

19

异步传输模式(ATM)

20

串行线

操作码

ARP报文类型

1

ARP请求

2

ARP响应

3

RARP请求

4

RARP响应

5

DRARP请求

6

DRARP响应

7

DRARP错误

8

InARP请求

9

InARP响应

在ARP报文形成后,将其传输至数据链路层用于传输。报文的全部内容会成为网络中实际发送的报文净荷,如以太网帧。注意ARP报文的总长度是变化的,因为地址字段的长度不同,但一般这些报文都非常小。

  

ARP缓存

静态和动态ARP缓存项

ARP缓存为表格形式,包含了匹配的硬件和IP地址集合,由网络中的各设备管理其自身的ARP缓存表。将缓存项放入ARP缓存的方式有两种:

->静态ARP缓存项这些条目是手动加入到设备缓存表中并会永久保存的地址解析。静态项通常用ARP软件工具进行管理。

->动态ARP缓存项这些条目为成为完成ARP地址解析后由软件添加至缓存表中的硬件/IP地址对。它们只会在缓存表中存储一段时间,然后会被剔除出去。

设备ARP缓存可同时包含了静态和动态条目。这两个条目各有其优势和劣势。但是,动态条目更为常用,因为这类条目是自动生成的,不需要管理员进行干预。静态ARP条目最适用于必须与一些设备定期通信的特定设备。例如,工作站的本地路由器和文件服务器可能就有一个静态ARP条目。由于该条目是静态的,因此在ARP处理过程的第一步就可以找到对应的目的设备硬件地址,也就不再需要发送解析报文到条目中的目的设备。静态条目的缺陷是这些条目必须手动添加,如果条目中的任何硬件的硬件地址或IP地址发生改变,则这些条目也应相应改变。此外,各个静态条目要占据ARP缓存的条目,所以不要“过度使用”静态条目。例如,为网络中所有设备配置静态条目则没有必要。

缓存项失效

动态条目如果永久留在缓存中,可能会出现以下问题:

->设备硬件变更:设备的硬件可能会出现故障,因而需要更换其网络接口卡。这样,动态条目缓存中的映射就会无效,因为条目中的硬件地址已经不在网络中了。

->设备IP地址变更:同样,设备的IP地址也可能发生变化。

->设备移除

为避免这些问题,动态缓存项必须设置成经过一段时间不用后自动失效。这个设置有ARP实现自动处理,超时值通常为10~20分钟。如果某个条目达到了这个时间限制,将自动从缓存中移除。

发布了17 篇原创文章 · 获赞 74 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/HongkeTraining/article/details/91413183