TCP/IP详解卷一之地址解析协议(ARP)

1 概述
—地址解析协议提供了一种在IPv4地址和各种网络技术使用的硬件地址之间的动态映射。
—ARP仅用于IPv4(ARP也能用于IPv4以外的地址,但很少见),IPv6使用邻居发现协议,它被合并入ICMPv6。
—ARP会自动执行和随时间变化,而不需要系统管理员重新配置,ARP操作通常与用户或系统管理员无关。

2 直接交付和ARP
—直接交付:发生在一个IP数据报被发送到一个与发送方具有相同IP前缀的IP地址的情况下。
—链路层广播:在一个共享的链路层网段上,ARP向所有主机发送一个称为ARP请求的以太网帧。
—ARP请求采用广播方式发送给与它连接的所有网络设备中,ARP应答仅直接发送给请求的发送方。
—ARP高效运行的关键是维护每个主机和路由器上的ARP缓存,该缓存使用地址解析为每个接口维护从网络层地址到硬件地址的最新映射。

3 ARP帧格式
在这里插入图片描述
—DST:6字节,目的以太网地址,对于ARP请求,地址为ff:ff:ff:ff:ff:ff(广播地址)。
—SRC:6字节,源以太网地址。
—长度/类型字段:2字节,值为0x0806。
—硬件类型:2字节,指出硬件地址类型,对于以太网,该值为1.
—协议类型:2字节,指出映射的协议地址类型,对于IPv4地址,该值为0x0800。
—硬件大小:1字节,指出硬件地址的字节数,对于以太网,该值为6。
—协议大小:1字节,指出协议地址的字节数,对于IPv4,该值为4。
—Op:2字节,指出该操作是ARP请求(值为1)、ARP应答(2)、RARP请求(3)或RARP应答(4)。
—发送方硬件地址:6字节。
—发送方协议地址:4字节。
—目的硬件地址:6字节,对于ARP请求,该值为0。
—目的协议地址:4字节。

4 软状态
—软状态是指在超时到达前没有更新而被丢弃的信息。
—优点:如果网络条件发生改变,软状态有助于启动自动重新配置。
—缺点:软状态的成本是协议必须刷新状态以避免过期。

5 代理ARP
—代理ARP使一个系统可回答不同主机的ARP请求,它使ARP请求的发送者认为做出响应的系统就是目的主机,但实际上目的主机可能在其他地方(或不存在)。
—用途:两个物理网络相互屏蔽自己。
—以前这样做的原因:
· 有些系统无法进行子网划分;
· 有些系统使用比较旧的广播地址(全0的主机ID,而不是全1的主机ID)。
—通常应尽量避免使用它

6 免费ARP和地址冲突检测
(1)免费ARP
—发生在一台主机发送ARP请求以寻找自己的地址时。
—免费ARP可以实现两个目标:
· 允许一台主机确定另一台主机是否配置相同的IPv4地址。
· 如果发送免费ARP的主机已改变硬件地址,该帧导致任何接收广播并且其缓存中有该条目的其他主机,将该条目中的旧硬件地址更新为与该帧一致。
(2)地址冲突检测(ACD)
—ACD定义了ARP探测分组和ARP通告分组。
—ARP探测分组是一个ARP请求分组,用于查看一个候选IPv4地址是否被广播域中的任何其他系统所使用。将发送方协议地址字段设置为0,避免候选IPv4地址被另一台主机使用时的缓存污染。
—ARP通告分组用于通告发送方使用候选IPv4地址的意图,确保更新缓存地址映射,以正确反映发送方当前使用的地址。除了发送方协议地址和目的协议地址字段被设置为候选IPv4地址外, ARP通告分组与ARP探测相同。
—当请求站发送自己的探测时,它可能接收到ARP请求或应答。对其探测的应答表明其他站已使用候选IP地址;从不同系统发送的请求,其目的协议地址字段中包含相同的候选IPv4地址,表明其他系统也在同时尝试获得候选IPv4地址。在这两种情况下,该系统将会显示一个地址冲突消息,并采用其他可选地址。如当使用DHCP分配地址时,这是推荐的行为。
(3)免费ARP和地址冲突检测的区别
· 免费ARP的ARP请求字段的发送方协议地址和目标协议地址相同,都是自己的IPv4地址;而ACD的ARP探测分组的发送方协议地址字段设置为0,从而避免候选IPv4地址被另一台主机使用时的缓存污染。
· ACD被认为是一个持续的过程,当一台主机通告它正使用的地址后,它会继续检查输入的ARP流量,查看自己的地址是否出现在发送方协议地址字段中。

7 使用ARP设置一台嵌入式设备的IPv4地址
—对于那些无法直接输入网络配置信息的嵌入式设备,通常可以采用以下两种方式之一配置IPv4地址:
· 使用DHCP自动分配地址和其他信息;
· 使用ARP设置IPv4地址(不常见)。

猜你喜欢

转载自blog.csdn.net/qq_43008490/article/details/86077806