实验:
通过抓包实验
结论:
主机A 想与主机B 通信时,主机A的arp表中没有对应B的mac地址。 所以 主机A会发起 arp request广播包,LSW2交换机收到之后 会向所有端口进行广播,并且将主机PC1的mac地址记录在0/0/1 端口下 主机B收到 广播包后,回应 reply包 arp reply ,通过单播形式回应主机A 。此后建立通信
为什么reply是单播?
因为主机B 在收到主机A 发送的aro广播包中获取到了 主机A 的ip地址、mac地址,所以在回包的时候有一个明确的地址指向对方
arp是什么?
Address Resolution Protocol 中文名 地址解析协议
arp有什么作用?
利用广播对方的ip地址获取对方的mac地址
当主机A想与另主机B发起通信的时候,主机arp表中没有主机B的mac地址时候,就会主机A就会发送arp广播报文。主机B收到后会以单播包回应主机A
为什么说arp有缺陷?
因为arp协议在设计上本来就没有验证机制,发起方收到接收方回应的arpreply包,就会把回应包放到自己的arp表中。这样很有可能收到arp攻击(arp欺骗)
只有通过设备配置来解决arp欺骗攻击
arp request包与reply包的区别?
request包为广播包 源ip、源MAC、目标IP、目标mac(00000000) reply包为单播包 源ip、源MAC、目标IP、目标mac(00ad-23as-ffof-c033)
疑问:
交换机在自己的mac地址表上记录了 两边设备mac地址在自己哪个端口,那么? 下一次再次接收到 主机A的ARP广播包会不会直接以单播的形式往已经记录在mac地址表的端口转发呢?
答案:
不会、交换机只负责数据转发、不负责构建数据包。经过抓包实验,不管交换机mac地址表是否存有对方的mac地址,收到arp广播包后都会直接向所有同域的端口广播数据