arp协议属于哪一层_计算机网络基础(四)---网络层-ARP协议与RARP协议

cbce54939dacf4ccc3ba151ad803f5e2.png

文章内容概览

2b20e79bc01dc33d4e6e738b2effa549.png

还是看在上一篇文章中提到的这张图,计算机A将数据跨设备传输给C。A发出目的地为C的IP数据报,查询路由表发现下一跳为E,A将IP数据报交给数据链路层,「并告知目的MAC地址是E」。那么A是如何知道E的MAC地址的?这个是本文要介绍的

b229426ca14ca258bdf3f8cfd8ff4177.png

ARP协议

「ARP」(Address Resolution Protocol)地址解析协议

「作用」:把网络层32位的IP转换成数据链路层48位的MAC地址,在这个过程中有一个很重要的表,「ARP缓存表」

该表的形式如下,也是一个映射:

30e29e83c83f05f3efcc7cecda35150d.png

对于ARP缓存表的使用,有两种情况

  • ARP缓存表中「有」缓存IP地址和MAC地址的映射关系
  • ARP缓存表中「没有」缓存IP地址和MAC地址的映射关系

「如果有缓存的情况」,就像上篇文章中介绍的步骤一样,A可以「直接告诉」数据链路层,E的MAC地址。A会查询ARP缓存表,查看E的MAC地址是什么,然后告知数据链路层。

「如果没有缓存的情况」,ARP会「广播某一个IP的信息」,收到这个广播的设备会回应一个包,表示我是不是这个IP地址。如果是,广播该IP地址的设备会记录对应设备的MAC地址

  • ARP缓存表是ARP协议和RARP协议运行的关键
  • ARP缓存表缓存了「IP地址到硬件地址之间的映射关系」(在网络层进行数据转发的时候,需要数据链路层和物理层,因此网络层在进行数据发送的时候,首先需要通过ARP协议,把IP地址转化为MAC地址,然后告诉数据链路层,这时,数据链路层才能进行数据帧的传输)
  • ARP缓存表中的记录并「不是永久有效的」,有一定的期限(因为MAC地址是永久不变的,但是IP地址是会变化的)

可以使用「arp -a」这个命令来查看路由表中的内容

ARP协议的报文信息

ARP协议的报文信息是「直接封装到数据链路层的数据帧中」

8596bbe1d99a40a674fd75b750476d6d.png

最上边为数据链路层的数据帧格式,中间是ARP协议的报文信息,PAD是填充的内容

可能这里会有一个疑问,既然ARP协议是直接封装在数据链路层的数据帧中的,那「为什么ARP协议是属于网络层」?主要是因为ARP协议使用到了「IP地址」,所以它属于网络层的内容。所以ARP协议是数据链路层和网络层配合使用的一个协议

RARP协议

  • 「RARP」(Reverse Address Resolution Protocol)逆地址解析协议
  • 就是和ARP协议做相反的工作,它是将48位的MAC地址转换为32位的IP地址

它的内容是和ARP协议非常类似的

b427820cf6f00c8515cdbead1de6f358.png

了解了ARP协议和RARP协议之后,就应该知道,在计算机A进行跨设备传输数据时,A并不是直接告诉数据链路层,目的MAC是E的,而是先查自身的缓存表之后,才知道的目的MAC地址的

在快速变化的技术中寻找不变,才是一个技术人的核心竞争力。知行合一,理论结合实践

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值