自学内容网 自学内容网

【计算机网络 - 基础问题】每日 3 题(四十一)

✍个人博客:https://blog.csdn.net/Newin2020?type=blog
📣专栏地址:http://t.csdnimg.cn/fYaBd
📚专栏简介:在这个专栏中,我将会分享 C++ 面试中常见的面试题给大家~
❤️如果有收获的话,欢迎点赞👍收藏📁,您的支持就是我创作的最大动力💪
📝推荐参考地址:https://www.xiaolincoding.com/(这个大佬的专栏非常有用!)

121. 那么 ARP 又是如何知道对方 MAC 地址的呢?

简单地说,ARP 是借助 ARP 请求与 ARP 响应两种类型的包确定 MAC 地址的。

在这里插入图片描述

  • 主机会通过广播发送 ARP 请求,这个包中包含了想要知道的 MAC 地址的主机 IP 地址。
  • 当同个链路中的所有设备收到 ARP 请求时,会去拆开 ARP 请求包里的内容,如果 ARP 请求包中的目标 IP 地址与自己的 IP 地址一致,那么这个设备就将自己的 MAC 地址塞入 ARP 响应包返回给主机。

操作系统通常会把第一次通过 ARP 获取的 MAC 地址缓存起来,以便下次直接从缓存中找到对应 IP 地址的 MAC 地址。

不过,MAC 地址的缓存是有一定期限的,超过这个期限,缓存的内容将被清除。

122. RARP 协议你知道是什么吗?

ARP 协议是已知 IP 地址求 MAC 地址,那 RARP 协议正好相反,它是已知 MAC 地址求 IP 地址。例如将打印机服务器等小型嵌入式设备接入到网络时就经常会用得到。

通常这需要架设一台 RARP 服务器,在这个服务器上注册设备的 MAC 地址及其 IP 地址。然后再将这个设备接入到网络,接着:

  • 该设备会发送一条「我的 MAC 地址是XXXX,请告诉我,我的 IP 地址应该是什么」的请求信息。
  • RARP 服务器接到这个消息后返回「MAC 地址为 XXXX 的设备,IP 地址为 XXXX」的信息给这个设备。

最后,设备就根据从 RARP 服务器所收到的应答信息设置自己的 IP 地址。

在这里插入图片描述

123. 什么是免费 ARP?

免费 ARP(Free ARP)是指主机主动发送 ARP 请求以更新其本地 ARP 缓存中的对应关系,以确保该主机与其他主机的通信正常运行。

免费 ARP 的一个常见例子是当主机的 IP 地址变化时,它可以发送一个免费 ARP 请求来通知网络中的其他主机来更新其 ARP 缓存。这通常发生在主机重新连接到网络、重启或更改其 IP 地址的情况下。

例如,假设有两台主机 A 和 B,它们之间进行通信。初始情况下,主机 A 的 IP 地址为 192.168.1.1,MAC 地址为 AA:AA:AA:AA:AA:AA,而主机 B 的 ARP 缓存中已经保存了 A 的 IP 地址和 MAC 地址的对应关系。

但是,如果主机 A 的 IP 地址发生了改变,例如变为 192.168.1.2,那么主机 B 的 ARP 缓存中的对应关系就不再准确了。此时,主机 A 可以发送一个免费 ARP 请求,广播告知网络中的其他主机,它的新 IP 地址是 192.168.1.2,并将自己的 MAC 地址更新。

其他主机收到免费 ARP 请求后,会更新它们的 ARP 缓存,将主机 A 的新 IP 地址和 MAC 地址的对应关系更新为 192.168.1.2 和 AA:AA:AA:AA:AA:AA。这样,主机 A 和其他主机之间的通信就可以在新的 IP 地址下正常进行。

免费 ARP 的作用是确保网络中的主机能够即时地更新 ARP 缓存中的对应关系,以便实现正常的通信。它能够解决 IP 地址变更引起的通信问题。

还有一个作用是可以提前找出 IP 地址冲突的情况,即出现两个 IP 地址相同的主机。


原文地址:https://blog.csdn.net/Newin2020/article/details/142936114

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!