前两期小编介绍了VLAN的基础知识以及如何划分VLAN,之后不断有读者询问: VLAN划分后,同一VLAN用户可以二层互通,不同VLAN用户则二层隔离,可有些场合不同VLAN用户又想互通,肿么办呢?

请大家先回忆一下:VLAN是广播域,而广播域之间来往的数据包一般由路由器中继的。因此,VLAN间的通信通常要用到路由功能,这被称作“VLAN间路由VLAN间路由,可以使用普通的路由器,也可以使用三层交换机。有了这个初步认识,接下来小编就开始介绍使用三层交换机进行VLAN间通信的主要场景和技术。

VLAN间通信场景一:不同VLAN不同网段用户间的通信,用户通过三层交换机互联

使用技术VLANIF 

基本原理:前面提到,要实现VLAN间互通,就要建立VLAN间路由,此场景用户直连在三层交换机上,只需直连路由即可。而VLANIF接口是一个三层的逻辑接口,在其上配置IP地址为用户的网关地址后,它就在三层交换机上生成直连路由,同时,可作为用户的网关。这样,发往各VLAN网段的报文,就可在路由表中分别找到其出接口---VLANIF接口,从而实现三层转发。

江湖小贴士:VLANIF只生成直连路由,只能使得相邻设备互通。现网中用户间可能会跨多台三层交换机(如三层网络),此时,除配置VLANIF外,还要借助静态路由或路由协议才能实现互通。

VLAN间通信场景二:不同VLAN不同网段用户间的通信,用户通过二层交换机互联,仅通过一台三层交换机实现VLAN间通信

使用技术子接口(又称单臂路由)

 

基本原理:跟VLANIF一样,子接口也是三层逻辑接口。在子接口上配置IP地址为用户的网关地址后,在三层交换机上同样形成直连路由,VLAN内的用户同样将网关指向对应的子接口(如图中VLAN2内用户的网关为Port1.1VLAN3内用户的网关为Port2.1),进而实现三层通信。

江湖小贴士:通过子接口实现三层互通,虽然可减少物理接口占有量,不过由于发送的流量会争用物理主接口的带宽,网络繁忙时,会导致通信瓶颈哟。

VLAN间通信场景三:不同VLAN相同网段用户间的通信

使用技术Super VLAN(又称VLAN聚合)

如下图所示,因IP地址有限,不同VLAN用户共用一网段,但又需要互通以及访问外网。

 

基本原理:通过定义Super-VLANSub-VLAN, Super-VLAN只用来建立三层VLANIF接口,与网关对应,不包含物理接口;Sub-VLAN只包含物理接口,不建立三层VLANIF接口,用来隔离广播域,一个Super-VLAN可以包含一个或多个Sub-VLAN

我们可以这样看,每一个普通VLAN都有一个三层逻辑接口和若干物理接口。而Super VLAN把这两部分剥离开来:Sub-VLAN只映射物理接口,负责保留各自独立的广播域;而Super-VLAN负责实现所有Sub-VLAN共享同一个三层接口的需求,使不同Sub-VLAN内的主机可以共用同一个网关;然后再通过建立Super-VLANSub-VLAN间的映射关系,把三层逻辑接口和物理接口这两部分有机的结合起来,从而在实现普通VLAN功能的同时,达到节省IP地址的目的。

江湖小贴士:Sub-VLAN内主机与外网间的通信,跟使用VLANIF通信原理类似,只不过多了一步查找Sub-VLANSuper-VLAN的映射关系;但Sub-VLAN间的通信,需要借助Proxy-ARP才能实现,这是为什么呢?这是因为Sub-VLAN内的主机同属一个网关,彼此通信时只会做二层转发,而不会通过网关进行三层转发,但不同Sub-VLAN的主机在二层是相互隔离的,这就造成了Sub-VLAN间无法通信,需要借助Proxy-ARP才能实现。

上述组网中,VLAN间用户均是通过三层交换机实现三层互通,三层互通需要查找路由表,转发效率较低。而二层转发效率高,那VLAN间能否实现二层互通呢?

答案是可以的哦,那就是通过VLAN SwitchVLAN Mapping实现。

VLAN间通信场景四:不同VLAN用户跨一台或多台交换机互联

使用技术VLAN Switch

 

基本原理: 预先在各交换节点(如图中的Switch)上建立一条静态转发路径(即VLAN Switch表,指定VLAN转换关系和出接口)。这样,Switch根据VLAN Switch表将Port2上收到报文中的VLAN2转换为VLAN3,并从Port3发出;将Port3上收到报文的VLAN3将转换为VLAN2,并从Port2发出,从而实现VLAN2VLAN3间的二层互通。

江湖小贴士:VLAN Switch转发查的是VLAN Switch表,而不是MAC表,这就使得VLAN Switch转发效率较高。但VLAN Switch是否就因此而可大量应用呢?否,因为VLAN Switch需要在途经的每个交换节点都要为每个VLAN用户配置静态转发路径,这就限制了其使用范围,当有大量VLAN用户接入,或用户跨运营商网络时就不再适用。

VLAN间通信场景五:不同VLAN用户跨运营商网络互联

使用技术VLAN Mapping

 



接下来就跟大家讲解如何配置,由于篇幅限制,小编仅选一种常用的技术—VLANIF来讲解。

配置案例一:如下图所示,PC1PC2分属研发部和质量部,两部门通过一台三层交换机互联,两部门有业务往来,需要二层隔离,三层通信。

 

配置思路

此场景配置简单,只需将连接PC的接口加入VLAN,然后创建VLANIF,并配置IP地址为对应用户的网关即可。

操作步骤

l  Switch上的配置如下:

#

sysname Switch
#
vlan batch 10 20
#
interface Vlanif10
 ip address 10.1.1.1 255.255.255.0  //此IP地址为PC1对应网关地址
#
interface Vlanif20
 ip address 10.1.2.1 255.255.255.0   //此IP地址为PC2对应网关地址
#
interface GigabitEthernet0/0/1     //将PC1划分到VLAN10中
 port link-type access
 port default vlan 10
#
interface GigabitEthernet0/0/2    //将PC2划分到VLAN20中
 port link-type access
 port default vlan 20

配置完成后,我们使用命令display ip routing-table查看设备上的路由:

 

可以看到,路由表中有了到达VLAN10VLAN20网段的直连路由。下面我们就验证一下,PC1PC2是否可以互相Ping通。

在验证之前,先设置PC1IP地址为10.1.1.2 ,网关为10.1.1.1/24;设置PC2IP地址为10.1.2.2 ,网关为10.1.2.1/24,然后互Ping,结果如下:

 

可以看到,互Ping成功,表明配置成功

典型案例二:如下图所示,为安全及便于管理,企业为服务器专门划分VLAN,用户属于VLAN10,服务器属于VLAN20,用户与服务器间跨接入、汇聚和核心交换机,其中,接入是二层交换机,汇聚、核心是三层交换机。由于业务需要,用户与服务器间需要互通。

 

配置思路:

此场景用户与服务器间跨越多台二层、三层交换机,可以配置VLANIF,将汇聚交换机AGG作为用户PC的网关,核心交换机作为服务器Server的网关。但VLANIF只生成直连路由,只能使得相邻设备互通,要使User与服务器互通,还需要配置从AGGVLAN20网段以及从COREVLAN10网段的路由,可以使用静态路由,也可以使用动态路由,本示例采用静态路由。

操作步骤

1.  配置ACCAGGCORE的各接口,并将接口加入VLAN,使VLAN10的用户报文透传到AGGVLAN20Server报文透传到CORE

l  ACC1的配置如下:

#
sysname ACC1
#
vlan batch 10
#
interface GigabitEthernet0/0/1     //将User划分到VLAN10中
 port link-type access
 port default vlan 10
#
interface GigabitEthernet0/0/2    //透传VLAN10到AGG
 port link-type trunk
 port trunk allow-pass vlan 10
ACC2与此类似,只不过接口加入、透传的VLAN是VLAN20。

l  AGG的配置如下:

#
sysname AGG
#
vlan batch 10 30
#
interface GigabitEthernet0/0/1     //透传VLAN10,以转发User报文
 port link-type trunk
 port trunk allow-pass vlan 10
#
interface GigabitEthernet0/0/2  //透传互联VLAN30,以转发互联报文
 port link-type trunk
 port trunk allow-pass vlan 30

l  CORE的配置如下:

#
sysname CORE
#
vlan batch 20 30
#
interface GigabitEthernet0/0/1     //透传VLAN20,以转发Server报文
 port link-type trunk
 port trunk allow-pass vlan 20
#
interface GigabitEthernet0/0/2  //透传VLAN30,以转发互联报文
 port link-type trunk
 port trunk allow-pass vlan 30

2.  AGG上配置VLANIF10IP地址,作为用户的网关;在CORE上配置VLANIF20,作为Server的网关,同时配置互联VLANIF30,使AGGCORE互通

l  AGG的配置如下:
#
interface Vlanif10
 ip address 10.1.1.1 255.255.255.0  //此IP地址为User对应网关地址
#
interface Vlanif30
 ip address 10.10.30.1 255.255.255.0 //互联IP地址,不能与User、Server的IP网段冲突
l  CORE的配置如下:
#
interface Vlanif20
 ip address 192.168.1.1 255.255.255.0  //此IP地址为Server对应网关地址
#
interface Vlanif30
 ip address 10.10.30.2 255.255.255.0 //互联IP地址,不能与User、Server的IP网段冲突
配置至此,我们验证一下User是否能Ping通Server:
可以看到,User此时Ping不通Server,这是因为AGG上没有到达Server网段192.168.1.0/24的路由:


3.  AGGCORE上配置静态路由

l  AGG的配置如下:

#

ip route-static 192.168.1.0 255.255.255.0 10.10.30.2

l  CORE的配置如下:

#

ip route-static 10.1.1.0 255.255.255.0 10.10.30.1

江湖小贴士:对于VLANIF、Eth-Trunk这样的逻辑接口,静态路由必须采用下一跳,而不能是出接口,因为这些逻辑接口会有多个成员口,会出现多个下一跳,无法唯一确定下一跳。
配置完成后,我们再来用User Ping Server,结果如下:

可以看到,User可以PingServer,配置成功。