tcp/ip详解

链路层-ARP地址解析协议

2021-03-02  本文已影响0人  shoxvc2001

定义

地址解析是发现两个地址之间的映射关系的过程。ARP是一个通用的协议,从这个意义上来看,它被设计为支持多种地址之间的映射。实际上, ARP 几乎总是用于 32 位 IPv4 地址和以太网的 48 位 MAC 地址之间的映射。

ARP 提供从网络层地址到相关硬件地址的动态映射。我们使用动态这个术语是因为它会自动执行和随时间变化,而不需要系统管理员重新配置。也就是说,如果一台主机改变它的网络接日卡,从而改变了它的硬件地址(但保留其分配的IP地址), ARP 可以在一定延时后继续正常运作. ARP 操作通常与用户或系统管理员无关。

适用场景

ARP 用于运行 IPv4 的多接人链路层网络,每个主机都有自已首选的硬件地址。点到点链路(例如 PPP )不使用 ARP。当这些链路被建立后(通常是由用户或系统来发起创建),在链路两端通知正在使用的地址。由于不涉及硬件地址,因此不需要地址解析或 ARP。

ARP 缓存

ARP 高效运行的关键是维护每个主机和路由器上的 ARP 缓存(或表)。该缓存使用地址解析为每个接日维护从网络层地址到硬件地址的最新映射。当IPv4地址映射到硬件地址时,它对应于高速缓存中的一个条目,其正常到期时间是条目创建开始后的20分钟

ARP 帧格式

image.png

免费 ARP

免费 ARP(Gratuitous ARP)包是一种特殊的 ARP 请求,它并非期待得到 IP 对应的 MAC 地址,而是当主机启动的时候,发送一个 Gratuitous ARP 请求,即请求自己的 IP 地址的 MAC 地址。

帧格式

免费 ARP 报文与普通 ARP 请求报文的区别在于报文中的目标 IP 地址。普通 ARP 报文中的目标 IP 地址是其他主机的 IP 地址;而免费 ARP 的请求报文中,目标 IP 地址是自己的 IP 地址。

作用

总结

ARP 是 TCP/IP 实现中的一个基本协议。ARP 用于确定本地可达的 IPv4 子网使用的 IPv4 地址对应的硬件地址。它在数据报的目的地与发送方处于同一子网时使用,还用于数据报的目的地不在当前子网时将其转发到一台路由器。

上一篇下一篇

猜你喜欢

热点阅读