关于交换机vlan trunk

为什么中间的交换机一定要创建vlan 10 20 才能通

img


LSW4交换机
sys
vlan batch 10 20
int eth 0/0/2
port link-type access
port default vlan 10
int eth 0/0/3
port link-type access
port default vlan 20
int eth 0/0/1
port link-type trunk
port trunk allow-pass vlan all

LSW7交换机
sys
vlan batch 10 20
int eth 0/0/2
port link-type access
port default vlan 10
int eth 0/0/3
port link-type access
port default vlan 20
int eth 0/0/1
port link-type trunk
port trunk allow-pass vlan all

LSW5交换机
int eth 0/0/1
port link-type trunk
port trunk allow-pass vlan all
int eth 0/0/2
port link-type trunk
port trunk allow-pass vlan all

PC7 192.168.1.7/24
PC2 192.168.1.2/24
PC3 192.168.1.3/24
PC4 192.168.1.4/24

pc7 ping pc2是ping不通的 必须在中间的LSW5交换机 创建vlan 10
按书上描述的原理:pc7的数据帧进入LSW4 eth 02接口后 就有了vlan10 标签,然后从LSW4 eth 01口(trunk)口出去后<已放行>,仍然携带vlan 10标记,而LSW5 eth01 02都是trunk且放行了,应当是携带vlan10进 vlan 10出 再进入LSW7的eth 01口,按理pc7应当能ping通pc3啊?但是不行,必须再LSW5创建vlan10 求指点下,这是什么原理?LSW5 在接收到LSW4发出的数据帧后,内部机制到底怎样的
我想要达到的结果

VLAN数据标记在一个二层网络内被传播和应用,它的生命周期随着帧进入交换机而产生,出交换机而消失,这是理论上讲的,但一般情况是多个交换机是级联工作的,每进入或流出交换机都要这样做会增加系统开销,一般在一个局域网内标签通用,出局域网范围标签才结束周期,具体详情可在交换机抓包

LSW5 在接收到LSW4发出的数据帧后,

  1. 查看VLAN tag 10
  2. 查看数据帧的MAC地址,对照自己VLAN10的MAC地址表,决定转发至哪个接口
  3. 如果表里没有记录,就对所有VLAN10的接口进行广播泛洪,包括trunk VLAN10的接口
  4. 将数据帧转发至目标接口

所以,如果LSW5 没有VLAN10的话,第二步就把数据帧丢弃了。

因为交换机mac地址缓存表是ivl根据vlan为单位进行记录的,不在中间交换机创建vlan,就不会生成对应vlan的端口和mac地址对照关系。
你可在中间交换机上查看mac地址和端口对应关系,pc的mac应该以vlan为单位,出现在级联接口上。