ARP究竟是属于网络层还是数据链路层?

字体: | 打印

时世所逼,今年本年打算考国家软考的网络工程师,但看了一本有关的书籍却把ARP和RARP这两个协议列为数据网络层的协议,但本人对ARP这个协议也是有相当的认识,本人一直认为ARP是网络层的协议.
      ARP包里面包含有数据链路层的信息(MAC地址),但包含有数据链路层的信息并不能代表它是数据链路层的协议吧?又像普通的交换机是二层设备,也就是数据链路层的设备,怎么就没听说过二层交换机会处理ARP包里面的内容?
      是这个软考太专业还是太不专业...?而且这本书却一时称ARP是网络层,一时又称之为数据链路层...唉..这作者害人不浅.
      没办法,我这次是纯粹的应试,希望有兄弟能提供关于ARP属于那一层在考场上的正确答案...

我也来说两句 查看全部评论 相关评论

  • bgbg1980 (2008-2-02 16:46:24)

    这个确实有争议,看用在什么地方了!
  • old_man (2008-2-02 17:35:28)

    可以把arp看作是和ip一样的由数据链路层提供服务来运行的协议,但它不属于ip层。和ip相比算并行于osi同一模型层上的东西。要确切地把它归类还真是很微妙,呵呵
  • old_man (2008-2-02 17:36:56)

    个人感觉,arp,ip相对于数据链路层就像icmp,udp,tcp于ip,真是很微妙的东西,只可意会,不可言传。
  • ljaiii1988 (2008-2-02 22:35:21)

    我晕 我一直以为ARP是 数据链路层的
  • ilrainyday (2008-2-03 00:28:31)

    不好准确的说,bible上有两种划分,一种是划分到link layer,另一种是位于link和ip之间。google了一下,有些将其划分到link layer,有些划分到network layer.因为arp有其对应的ethernet frame type ID,它应该是在link layer之上,也就是over link layer,作为frame的payload。但是arp也不属于ip layer.所以,用stevens大神的话来说就是:"...the picture of layered protocol boxes are not perfect...",comer也说过类似的话。

    [ 本帖最后由 ilrainyday 于 2008-2-3 00:55 编辑 ]
  • 糊涂 (2008-2-03 01:39:14)

    ...那ARP真的卡在中间了..郁闷
  • SteveYoung (2008-2-03 08:53:07)

    2.5层
  • finger (2008-2-03 22:55:04)

    tcp/ip协议镞是在osi模型之前设计出来的,因此tcp/ip各层不能精确的和oai各层相对应

    [ 本帖最后由 finger 于 2008-2-4 11:32 编辑 ]
  • bigliuhai (2008-2-04 00:38:42)

    感觉是链路的上层,但低于IP层
  • realmous (2008-2-04 11:00:45)

    对,TCP/IP协议不太容易和OSI的模型完全匹配。ARP应该可以算作Link层吧,这只是我个人的看法哈。
  • finger (2008-2-04 17:58:48)

    QUOTE:

    原帖由 SteveYoung 于 2008-2-3 08:53 发表
    2.5层
    steve大神说话了
  • minhua1999 (2008-2-04 19:41:32)

    ARP肯定是数据链路层拉,抓个包一切都知道了拉,里面压根就没有IP层的封装,怎么可能是网络层呢
  • finger (2008-2-04 20:33:08)

    QUOTE:

    原帖由 minhua1999 于 2008-2-4 19:41 发表
    ARP肯定是数据链路层拉,抓个包一切都知道了拉,里面压根就没有IP层的封装,怎么可能是网络层呢
    那它怎么认识IP的,你没看见不是纯mac的通讯吗??
    我不是说了
    tcp/ip协议镞是在osi模型之前设计出来的,因此tcp/ip各层不能精确的和oai各层相对应
  • Vader (2008-2-04 22:37:09)

    ARP归属于DLC应该是比较确切合理,
    从协议设计而言ARP不仅仅支持IP地址转译,也能支持其他类型的网络地址转译;
    从协议的封装角度,ARP协议有类似网络层的表现,例如封装在Ethernet地址之后,有自己的EtherType。但是ARP没有网络协议特有的描述自身层次的网络地址的特性,本身是为了辅助Ethernet地实现而准备,因此ARP被描述为MAC(Ethernet)的子协议可能更加贴切一些。

    综上,无论如何,ARP应当属于 Layer 2.
  • 99312254 (2008-6-13 11:18:57)

    根据不同的协议模型,arp存在不同的层!在osi中是DLC,而在tcp/ip中是IP层!ARP在TCP/IP中是对IP层补充!
  • DragonGo (2008-6-13 13:16:58)

    QUOTE:

    原帖由 finger 于 2008-2-4 20:33 发表

    那它怎么认识IP的,你没看见不是纯mac的通讯吗??
    我不是说了
    tcp/ip协议镞是在osi模型之前设计出来的,因此tcp/ip各层不能精确的和oai各层相对应
    In 1977, work on a layered model of network architecture, which was to become the OSI model, started in the American National Standards Institute (ANSI) working group on Distributed Systems (DISY).[1]

    When the ARPAnet had begun operating in 1969, its programmers had instituted an early version of Network Control Protocol (NCP). TCP (Transfer Control Protocol), outlined in a 1974 paper by Kahn and Cerf, was introduced in 1977 for cross-network connections, and it slowly began to replace NCP within the original ARPAnet. TCP was faster, easier to use, and less expensive to implement than NCP. In 1978 IP (Internet Protocol) is added to TCP and takes over the routing of messages.

    很难说TCP/IP是OSI 参考模型之前出来的~~
    只能说花开两朵,各表一枝
  • desion628 (2008-6-13 14:05:23)

    看了很多高手的回复,有的还挺有趣的啊,哈哈
  • hulzh (2008-6-13 16:21:17)

    ====From: http://www.networksorcery.com/enp/protocol/arp.htm===
    ARP, Address Resolution Protocol
    Description:

    Protocol suite: TCP/IP.
    Type: Network layer address resolution protocol.
    Ethertype: 0x0806.
    SNMP MIBs:  
    Working groups:  
    Links: ARP assigned numbers.
    Ethernet assigned numbers.

    ARP is used to translate protocol addresses to hardware interface addresses.

    RARP provides the complementary translation from the hardware interface address to the protocol address.
    ......
    ====From http://www.geocities.com/Silicon ... network/arp.html#A2 =========
    1. What is ARP?
    Address Resolution Protocol (ARP) is a network protocol, which maps a network layer protocol address to a data link layer hardware address. For example, ARP is used to resolve IP address to the corresponding Ethernet address.

    2. To which OSI layer does ARP belong?
    ARP belongs to the OSI data link layer ( Layer 2 ). ARP protocol is implemented by the network protocol driver. ARP packets are encapsulated by Ethernet headers and transmitted.

    3. Which RFC specify the requirements for ARP?
    RFC 826 specifies the ARP packet format and other details.

    [ 本帖最后由 hulzh 于 2008-6-13 16:24 编辑 ]
  • golden2001 (2008-6-17 10:45:13)

    個人感覺是數據連路層的,因為其僅僅是IP與MAC地址之間的翻譯,不做路由(網絡層的功能)!
    錯誤之處望不要取笑!
    謝謝!
  • davy1025 (2008-9-04 16:17:07)

    属于数据链路层吧`~ARP协议没有网络层的封装和解封装过程`~