arp协议属于OSI模型的哪一层?[关闭]


13

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

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

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

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

Answers:


20

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

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

通常会就ICMP及其适用位置进行相同的讨论:第3层或第4层。

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

通常,第N + 1层的协议与第N层的协议的标头一起封装,但是arp,stp,cdp,icmp和igmp等协议是例外,因为它们与同一层的协议的标头一起封装。


我有一个愚蠢的问题,OSI模型用于什么?
Bionix1441

@ Bionix1441在大学里,我们的教授告诉我们,“ 模型 ”是对现实的简化,可以更轻松地谈论现实和/或进行计算:如果您想对某些复杂过程进行计算机模拟,则可以首先需要简化它。但是,简化总是意味着您的模型不再涵盖现实的所有方面!OSI模型也是如此。考虑将IP数据包封装在UDP数据包中(例如使用Teredo):UDP现在是第2层还是IP第5层...?
马丁·罗瑟瑙

5

IETF协议套件未根据OSI模型进行定义,因此IETF与OSI协议之间的映射比其他协议更为常见。

实际上-有充分的理由将其视为第2层(必须与第2层互操作)(第2层(在以太网V2框架内定义为以太类型,并且不由标准IP路由器转发)。主机的第3层到第2层映射过程:纯第2层节点没有的东西)

也就是说,将其视为第2层协议的文献范围更广,并且通常被接受为“第2层”而不是“第3层”。

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


0

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

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


1
Arp消息恰好包含L3信息,但DHCP消息也是如此。这并不意味着必须将这些协议定义为L2和L3,它们只是L2协议。
约翰·肯尼迪

2
DHCP是在IP之上传输的UDP的一个选项。它将如何成为Layer2协议?
Emilio Garavaglia 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.