谁能解释一下 OSI 模型 ARP 属于哪一层以及它使用哪个套接字?
在问这个问题之前,我参考了很多书。
在一些书中,作者说它属于数据链路层,在一些书中,他们说它属于网络层。哪个是对的 ?
例如BGP使用TCP套接字,OSPF使用IP套接字...
谁能解释一下 OSI 模型 ARP 属于哪一层以及它使用哪个套接字?
在问这个问题之前,我参考了很多书。
在一些书中,作者说它属于数据链路层,在一些书中,他们说它属于网络层。哪个是对的 ?
例如BGP使用TCP套接字,OSPF使用IP套接字...
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 模型。该参考模型为您提供的个人资料,以配合您的意见。这并不意味着您必须选择单个图层。