13 Share VLAN配置
13.1 概述
SHARE VLAN是一种共享地址的VLAN,它可以解决交换机在一个VLAN上学习到一个MAC地址,但以这个地址为目的地址的报文在另一个VLAN内传输时会广播的问题。如果一个VLAN被配置成SHARE VLAN,那么它会把自己学习到的动态MAC地址和静态MAC地址复制到其它存在的VLAN,并且其它VLAN学习到的动态MAC地址和静态MAC地址也会复制一份到SHARE VLAN。我们称地址复制过程中引发复制的地址为母地址,被复制出来的地址为子地址。子地址不会再引发复制。当母地址被删除或老化时,子地址也一同被删除或老化,但子地址的删除不会影响到母地址。
13.2 应用模型
报文是通过查找地址表进行转发的,如果地址表中没有报文的目的地址,则报文会在VLAN内广播。如图1所示:
图 1.
PC1发往服务器的报文的VID为2,这时交换机会学习到PC1的地址,如下表1所示:
表 1
| Vlan | MAC | Address Type | Interface |
| 2 | PC1-MAC | DYNAMIC | Port 1 |
假设服务器所有的应答报文都在VLAN 10中。由于交换机学到PC1的MAC地址的VID为2,所以当服务器的VID 为10的应答报文到交换机时,交换机找不到这个地址,所以会广播,那么PC2也就会收到服务器发到PC1的报文,这个报文对于PC2来说是无用的,这样既浪费了带宽,也浪费了PC2的资源。那怎么样避免这个问题呢?网络管理员可以把VLAN 10设置为SHARE VLAN,这样当交换机在学习到VID为2 的地址时会复制这个地址到VLAN 10,如表2所示:
表 2
| Vlan | MAC | Address Type | Interface |
| 2 | PC1-MAC | DYNAMIC | Port 1 |
| 10 | PC1-MAC | DYNAMIC | Port 1 |
这时服务器的应答报文到交换机后,交换机可以找到VID为10的地址,则只从port 1发出,也就不会广播了。
| &说明 |
| n 每台交换机只支持一个SHARE VLAN。 n 只支持复制动态MAC地址和静态MAC地址。 n 如果交换机上已配置了PROTLCOL VLAN、PRIVATE VLAN、 REMOTE VLAN或接口地址表复制功能,那交换机上不能再配置SHARE VLAN,反之亦然。 n SUPER VLAN不能配置为SHARE VLAN,反之亦然。 n SUBVLAN可以配置为SHARE VLAN,反之亦然。 n SHARE VLAN中的MAC地址不会复制到SUPER VLAN,反之亦然。 n 子地址一旦被删除,则它在母地址老化或被删除后再重新学习到时才会重新复制。 n 当MAC地址表资源不足时,MAC地址会复制失败。当复制失败时,如果母地址是动态地址,则母地址和已复制成功的子地址都会被删除;如果母地址是静态地址,则只删除已复制成功的子地址。 |
13.3 配置SHARE VLAN
配置SHARE VLAN:
| 命令 | 作用 |
Step 1 | Ruijie(config-vlan)# share | 激活SHARE VLAN |
Step 2 | Ruijie(config-vlan)# no share | 取消SHARE VLAN |
示例:
Ruijie# configure
Enterconfiguration commands, one per line. End with CNTL/Z.
Ruijie(config)#vlan 10
Ruijie(config-vlan)#share
Ruijie(config)#end
13.4 显示SHARE VLAN
查看SHARE VLAN:
| 命令 | 作用 |
Step 1 | Ruijie(config-vlan)#show mac-address-table share | 查看MAC地址状态 |
Step 2 | Ruijie# show vlan | 查看SHARE VLAN |
示例:
查看SHARE VLAN:
Ruijie#show vlan
VLAN Name Status Ports
---- -------- ------- --- --------------------------------
1 VLAN0001 STATIC Gi0/1, Gi0/2, Gi0/3,Gi0/4
Gi0/5, Gi0/6, Gi0/7, Gi0/8
Gi0/9,Gi0/10, Gi0/11, Gi0/12
Gi0/13, Gi0/14, Gi0/15, Gi0/16
Gi0/17, Gi0/18, Gi0/19, Gi0/20
Gi0/21, Gi0/22, Gi0/23, Gi0/24
2 VLAN0002 STATIC Gi0/1
4 VLAN0004 STATIC Gi0/2
10 VLAN0010 SHARE Gi0/1
查看MAC地址状态:
Ruijie# showmac-address-table share
Vlan MAC Address Type Interface Status
---- -------------- -------------------------- ----------
2 0040.4650.1e1eDYNAMIC GigabitEthernet 0/1 original
10 0040.4650.1e1e DYNAMICGigabitEthernet 0/1 duplicated
13.5 配置举例
比如用户应用如图2所示:
图2.
图中交换机的相关配置为:
n 核心交换机
port 1为HYBRID口,PVID为VLAN 10,UNTAG VLAN为所有VLAN ;port 3和port 4为TRUNK口,允许VLAN为所有VLAN,NATIVE VLAN为VLAN 1。
n 汇聚交换机1
port 2和port 3为TRUNK口,允许VLAN为所有VLAN,NATIVE VLAN为VLAN 1。
n 汇聚交换机2
port 2和port 4为TRUNK口,允许VLAN为所有VLAN,NATIVE VLAN为VLAN 1。
n 接入交换机1
port 1为HYBRID口,PVID为VLAN 2,UNTAG VLAN为VLAN 2和VLAN10 ;port 2为TRUNK口,允许VLAN为所有VLAN,NATIVE VLAN为VLAN 1。
n 接入交换机2
port 1为HYBRID口,PVID为VLAN 3,UNTAG VLAN为VLAN 3和VLAN10 ;port 2为TRUNK口,允许VLAN为所有VLAN,NATIVE VLAN为VLAN 1。
所有机顶盒属于不同的VLAN。机顶盒 1发送的数据报文到达接入交换机时,会自动打上VLAN 2的 TAG。接入交换机学习到的地址为:
| Vlan | MAC | Address Type | Interface |
| 2 | PC1-MAC | DYNAMIC | Port 1 |
接入交换机会将数据通过TRUNK链路上传到汇聚交换机,汇聚交换机学习到的地址为:
| Vlan | MAC | Address Type | Interface |
| 2 | PC1-MAC | DYNAMIC | Port 2 |
汇聚交换机也会通过TRUNK链路上传至核心交换机,核心交换机学习到的地址为:
| Vlan | MAC | Address Type | Interface |
| 2 | PC1-MAC | DYNAMIC | Port 3 |
核心交换机在收到汇聚交换机发过来的带有VLAN 2 TAG的数据包时,会进行匹配查找,发现连接核心交换机的接口port 1允许接受该数据包,交换机即去掉TAG。
将数据包通过该接口到达服务器。
服务器在进行数据请求之后进行回包,数据在到达核心交换机时,核心交换机会根据其PVID值打上VLAN 10 TAG。因为找不到VLAN 10的地址,所以核心交换机会在所有TRUNK链路中进行数据复制转发,而在该数据通过TRUNK链路到达汇聚交换机时,汇聚交换机又会发送到所有下连TRUNK链路,最后接入交换机收到数据后发现所有下连的机顶盒都允许来自于VLAN10 的数据包访问。接入交换机会去除掉该TAG,并发送到所有相连的机顶盒。
如果没有配置SHARE VLAN,当如上所说的请求报文和应答报文不在一个VLAN内时就会出现一个用户访问视频服务器,所有其它用户都会收到自己来说无用的应答报文,这样就严重的浪费了资源。如果我们在核心交换机上将VLAN 10配置为SHARE VLAN,那核心交换机学习到的地址为:
| Vlan | MAC | Address Type | Interface |
| 2 | PC1-MAC | DYNAMIC | Port 3 |
| 10 | PC1-MAC | DYNAMIC | Port 3 |
应答报文直接通过port 3到达汇聚交换机1,而不会送到其它汇聚交换机。在汇聚交换机上将VLAN 10配置为SHARE VLAN,汇聚交换机学习到的地址为:
| Vlan | MAC | Address Type | Interface |
| 2 | PC1-MAC | DYNAMIC | Port 2 |
| 10 | PC1-MAC | DYNAMIC | Port 2 |
应答报文就会直接通过port 2到达接入交换机1,其它接入交换机不会收到报文。最后我们再在接入交换机1上将VLAN 10配置为SHARE VLAN,那接入交换机学习到的地址为:
| Vlan | MAC | Address Type | Interface |
| 2 | PC1-MAC | DYNAMIC | Port 1 |
| 10 | PC1-MAC | DYNAMIC | Port 1 |
报文就会通过port 1直接送到机顶盒1,其它用户不会收到这个应答报文。
例如,在核心交换机上配置SHARE VLAN并查看:
Ruijie(config)#vlan 10
Ruijie(config-vlan)#share
Ruijie(config-vlan)#show vlan
VLAN Name Status Ports
---- -------- ------- --- --------------------------------
1 VLAN0001 STATIC Gi0/1, Gi0/2, Gi0/3,Gi0/4
Gi0/5, Gi0/6, Gi0/7, Gi0/8
Gi0/9, Gi0/10, Gi0/11, Gi0/12
Gi0/13, Gi0/14, Gi0/15, Gi0/16
Gi0/17, Gi0/18, Gi0/19, Gi0/20
Gi0/21, Gi0/22, Gi0/23, Gi0/24
2 VLAN0002 STATIC Gi0/1, Gi0/3, Gi0/4
4 VLAN0004 STATIC Gi0/1, Gi0/3, Gi0/4
10 VLAN0010 SHARE Gi0/1, Gi0/3, Gi0/4
查看MAC地址状态:
Ruijie(config)# show mac-address-table share
Vlan MAC Address Type Interface Status
---- -------------- -------------------------- ----------
2 0040.4650.1e1eDYNAMIC GigabitEthernet 0/3 original
10 0040.4650.1e1e DYNAMICGigabitEthernet 0/3 duplicated