总结:
未开启arp bro时,路由器仍然可以对其发出 该arp广播报文的pc进行回应;回应的src mac为子接口的mac地址【所有子接口共享一个mac】;只是此时的路由器子接口没有能力将pc所发出的ping报文的pvid 转换为对应【或者说目的ip地址pc的端子接口的pvid】用于ping对应pc;并且路由器也没有能力主动的发送广播来获取目的ip主机的mac;所以路由器在回应原ping主机的arp 广播报文后就将其抛弃;
------------------------------------------------------------------------------------------------
1.网关路由器上通讯两端主机所处子端口开启arp bro 时
第一次尝试通讯:
开启arp bro 时;路由器具备了将icmp ping报文准换为对应目的ip端pvid的能力;所以路由器不仅会将原ping 的pc进行回应一个arp报文;此时路由器上没有目的ip pc的mac时它会以为自己没办法到达该地址而丢弃这个ping报文【这个ping报文只带着:目的ip,原ip;目的mac{网关mac},原mac。并且此时的pvid:20{原ping主机的pvid};而不是目的主机的pvid。就是说这个ping报文停留在了路由器上,而路由器丢弃了这个ping报文】;随后交换机会收到一条由路由器发来的广播报文【目的 mac 为全f{表示广播},原mac为子接口的arp报文{没有原 目 ip}它的pvid为目的端口所属的pvid】,交换机会在其对应pvid端口进行广播,端口上的所有pc都会回应一条arp【只带原 目 mac{目的mac为子接口,不带IP地址}】单播报文给交换机。交换机会将其mac记录在自己的mac表,然后发给路由器,路由器也会记录下这个mac,只不过路由器记录在它的arp表。随后交换机又一次收到了一条ping报文,交换机依旧会检查目的mac 及pvid;然后发现这个ping报文上的目的mac可以在自己的mac表上找到,并且pvid是剥离后进行发送的{交换机连接pc端用的是access}。所以交换机将其剥离pvid后发送这个ping报文。目的主机收到这个ping后会进行回应【目的ip是所收到的ping的原ip;目的mac是子接口的mac,原mac是自己的mac】然后就可以进行通信了。
此后的通讯:
此后的ping报文只有在arp表查不到网关mac时,pc才会广播一次来获取目的mac。并且pc端会在其网关mac down后才进行一次广播来寻找网关mac【原mac 一直是发出这个ping报文的pc端地址】
;不过需要注意的是目的pc即使在网关mac down后也不会主动发送广播报文来获取网关mac;它只会在收到ping报文后才会进行一次广播来找自己的网关。但这种情况只发送在网关路由器已经知道这台pc的mac时,不然和第一次通讯过程一样。也就是这个原因,第一个ping报文才会处于超时,因为目的ip主机,收到这个报文后是需要通过广播寻找网关mac的。
----------------------------------------------------------------------------------------------
2.网关路由器上通讯两端主机均未在子端口开启arp bro 时
第一次尝试通讯:
原主机会发送1条arp广播报文来获取网关路由器的mac地址,路由器也会记录下主机的mac地址;但是它不会将其ping报文转发目的主机,因为它未开启arp bro 所以它不具备将其pvid转变的能力;同时路由器在发现ping报文上的目的ip 后在自己的arp表里找不到对应的mac地址。但是因为它的接口均未开启arp bro所以路由器不会主动的发送一条广播报文来获取目的主机的mac地址;就算此时路由器从自己的arp表里发现了目的ip 与自己的个子接口 ip对应。
此后通讯:
无意义
-----------------------------------------------------------------------------------------------
3.网关路由器上通讯有一端主机所除端口均开启arp bro 时【目的主机的子接口开启arp bro】
第一次通讯:
原主机发送一条arp bro来获取路由器的mac,然后路由器对其进行改pvid【也就可以到达目标子接口】,但是路由器发现目的ip的mac在自己的arp表里查找不到【但是路由器却从arp表里发现了对应的ip端口{通过原ip 及它的子网掩码发现的;因为路由器能够发现自己端口的信息包括其ip地址,子网掩码}匹配目标ip的对应端口后却发现自己没有目的mac】,此时路由器会发送在目的接口处广播一条arp报文【因为目的子接口开启了arp bro 所以可以主动的发送一条广播报文来获取目的ip 的mac地址】目的主机也会回应一条带自己mac的arp报文。并且原主机ping过来的报文也是可以被转换为目的ip 对应子接口的pvid。但是目的主机收到这个ping报文时,回应的ping报文却只停留在路由器上,路由器无法进行pvid的转换【因为回应的ping报文其目的ip对应子接口未开启arp bro】。
所以原ping 主机收不到目的主机回应的ping报文。
此后通讯:
无意义
------------------------------------------------------------------------------------------------
4.网关路由器上通讯两端主机所除端口均开启arp bro 时【原ping主机的子接口开启arp bro】
第一次通讯:
原主机发送一条arp bro来获取路由器的mac,然后路由器无法对其进行改pvid【也就无法到达目标子接口】
此后通讯
无意义