为什么交换机arp表为空

为什么交换机arp表为空,第1张

如果是二层的交换机就没有ARP表,因为在二层数据链路层只用到MAC地址也就是硬件地址,而IP地址是网络层使用的地址,以太网数据包已经将IP数据包封装起来,所以与IP地址一点关系都没有。如果是三层交换机(具有路由功能的交换机),由于是网络层的设备,需要用到IP地址来传输IP包,所以三层交换机内部会维护一张ARP表,以保存IP地址和MAC地址的对应关系!

在linux中查看arp地址解析协议需要使用终端命令。

以Deepin linux为例,使用终端命令查看arp步骤如下所示:

1、在程序列表中点击打开终端命令程序。

2、在终端命令中输入查看arp命令:arp -g 。

3、如图所示,即是本地arp地址解析协议。

获取MAC和netlink没有关系.

一开始arp表是空的. 假如一台linux主机(假设为192.168.0.3)要ping一个外网的ip, 通过路由表可知这个数据包要到达的下一跳网关ip, 假设为192.168.0.1. 那么, 这台linux主机就广播一个arp请求:"who has 192.168.0.1? tell 192.168.0.3". 网关接收到这个arp请求后, 回应一个arp包给这台Linux主机:"192.168.0.1 is at xx.xx.xx.xx(MAC)", 这样, 这台Linux主机就获得了下一跳的网关了, 它会把这个arp信息缓存到arp表. 它不需要知道外网ip对应的MAC, 只把这个ping的ICMP数据包发给网关. 同样, 这个网关也根据路由表查找下一跳的MAC.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8351991.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存