arp协议属于OSI模型的哪一层?

网络工程 以太网 arp
2021-07-13 15:25:12

谁能解释一下 OSI 模型 ARP 属于哪一层以及它使用哪个套接字?

在问这个问题之前,我参考了很多书。

在一些书中,作者说它属于数据链路层,在一些书中,他们说它属于网络层。哪个是对的 ?

例如BGP使用TCP套接字,OSPF使用IP套接字...

3个回答

ARP 是第 2 层。原因是广播是在第 2 层(数据链路层)上发送的,而 ARP 通常不会穿越到第 3 层(网络层)。然而,它可以为第 3 层协议提供额外的功能。

事实是,并非所有协议都完全符合 OSI 模型,因为毕竟它只是一个模型。如果你真的想把它推到一个地方,我会说 ARP 是一个 2.5 层协议。它适合第 2 层,但不完全适合第 3 层。

关于 ICMP 及其适合的位置:第 3 层或第 4 层,经常进行相同的讨论。

对这些异常的一个很好的解释是:

通常,N+1层的协议都封装了N层的协议头,但arp、stp、cdp、icmp、igmp等协议例外,因为封装了同层协议的头。

IETF 协议套件不是根据 OSI 模型定义的,因此 IETF 和 OSI 协议之间的映射更多是一种约定。

事实上,有充分的理由将其视为第 2 层(它被定义为以太网 V2 帧内的以太网类型,并且它不由标准 IP 路由器转发)作为第 3 层(它必须与主机的三层到二层映射过程:纯二层节点所没有的)

也就是说,将其视为第 2 层协议的文献要广泛得多,并且通常被认为是“第 2 层”而不是“第 3 层”。

但不要让它成为教条:就第 3 层而言并不是完全异端:与 IPV6 相同的过程(不再有 ARP)通常被定义为“第 3 层”,但它是确切的概念过程。

由于 ARP 数据包本身封装在以太网帧中,因此它不能完全是 L2 协议。但是,ARP 通过使用 L2 服务(FFFF.FFFF.FFFF 广播地址)为 L3 服务(哪个接口接受某个 L3 地址的帧?)提供 L2 问题。因此,ARP 匹配 L2 + L3。

问题是,ARP至少接触过哪些服务一次?L3 和 L2这并不意味着 ARP 不适合 OSI 模型。参考模型为您提供的个人资料,以配合您的意见。这并不意味着您必须选择单个图层。