在OSI模型中ARP协议属于链路层;而在TCP/IP模型中,ARP协议属于网络层。
1)ARP分层的位置是TCP/IP的网络层
2)ARP报文是由以太网帧进行封装传输的。没有封装进IP包。
3)实际上,对网络接口层的以太网帧来讲,它们同样是帧的上层协议,当收到以太帧时,根据帧的协议字段判断是送到ARP还是IP。
4)之所以不把它放在数据链路层,是因为它并不具备数据链路层的功能,它的作用是为数据链路层提供接收方的帧地地址。 另外,我也建议读《TCP/IP详解》卷一里面有图,明确它的位置属于网络层(注,画的时候,ARP RARP画在IP层稍下端,而ICMP和IGMP画在IP层的上部,因为这二个协议是由IP进行封装的。)
TCP/IP:
网络接口层(链路层):
网络层: IP,ICMP,IGMP,【ARP,RARP】
传输层:TCP ,UDP,UGP
应用层:Telnet,FTP,SMTP,SNMP.
OSI:物理层:EIA/TIA-232, EIA/TIA-499, V.35, V.24, RJ45, Ethernet, 802.3, 802.5, FDDI, NRZI, NRZ, B8ZS
数据链路层:Frame Relay, HDLC, PPP, IEEE 802.3/802.2, FDDI, ATM, IEEE 802.5/802.2
网络层:IP,IPX,AppleTalk DDP,【ARP,RARP】
传输层:TCP,UDP,SPX
会话层:RPC,SQL,NFS,NetBIOS,names,AppleTalk,ASP,DECnet,SCP
表示层:TIFF,GIF,JPEG,PICT,ASCII,EBCDIC,encryption,MPEG,MIDI,HTML
应用层:FTP,WWW,Telnet,NFS,SMTP,Gateway,SNMP