不同的网段分布在不同的VLAN内,通过端口子接口互相通信。
AR1配置:
#
interface GigabitEthernet0/0/0
#
interface GigabitEthernet0/0/0.1
dot1q termination vid 4
ip address 172.16.1.1 255.255.255.0
arp broadcast enable
#
interface GigabitEthernet0/0/0.2
dot1q termination vid 2
ip address 172.16.2.1 255.255.255.0
arp broadcast enable
#
interface GigabitEthernet0/0/0.3
dot1q termination vid 3
ip address 172.16.3.1 255.255.255.0
arp broadcast enable
#
SW配置:
vlan batch 2 to 4
#
#
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 2 to 4094
#
interface GigabitEthernet0/0/2
port link-type trunk
port trunk pvid vlan 4
port trunk allow-pass vlan 4
#
interface GigabitEthernet0/0/3
port link-type trunk
port trunk pvid vlan 2
port trunk allow-pass vlan 2
#
interface GigabitEthernet0/0/4
port link-type trunk
port trunk pvid vlan 3
port trunk allow-pass vlan 3
#
Client 1: 172.16.1.2/24 ; Client 2:172.16.2.2 /24; Client3: 172.16.3.2/24
注意:1、control-vid vid dot1q-termination rt-protocol,设定子接口的VLAN ID索引和对子接口的封装方式。
2、dot1q termination vid vid,配置dot1q子接口通过的VLAN。
3、arp broadcast enable,使能子接口的ARP广播功能。使能或是去使能都会使端口先Down后UP一次。只有先配置control-vid,才能配置此命令。
当Client1 ping Client 3 时,抓包可以看到:
Client 1和Client 3不在同一个网段,通过ARP请求找到gateway对应的MAC,通过路由进行转发。
当Client1 ping Client3时,如果在Gi0/0/0.3下取消arp broadcast enable,系统直接把IP报文丢弃。即报文没有从Gi0/0/0.3端口发出。
当Client1 ping Client2时,如果在Gi0/0/0.1下取消arp broadcast enable,系统直接把IP报文丢弃。
当IP报文需要从子接口发出,但是没有相应的ARP表项时:
如果子接口上没有配置arp broadcast enable命令,那么系统会直接把该IP报文丢弃。此时该子接口的路由可以看作是黑洞路由。
如果子接口上配置了arp broadcast enable命令,那么系统会构造带Tag的ARP广播报文,然后再从该子接口发出。
此次抓包端口为AR1的Gi0/0/0端口。