一、前言

前面我们讲过交换机VLAN的HYBRID模式可实现跨VLAN通信,但必须是同网段的IP,在讲路由器原理的时候说过路由器可以隔离广播域并将不同网段连在一起实现通信。很明显,路由器也可以实现VLAN间的通信。

二、组网方式回顾

1、一般交换机网络

 

HCIA VLAN间通信 多臂路由与单臂路由_数据

 

 

一般的交换机网络所有端口都是互通的,IP同网段的设备可以直接互相通信,但问题是网络规模较大后由于各端口互通的特性会导致广播风暴,所以只适合较小规模的内部网络。

2、一般路由器+交换机网络

 

HCIA VLAN间通信 多臂路由与单臂路由_路由表_02

 

 

路由器可以隔离广播域并实现跨网段的通信,可以用来连通交换机组成的小网络。结构清晰、简单明了,大规模和跨域网络必须要依赖路由器的连接。但对于企业内部来说,子网的划分又依赖路由器的数量,成本比较高。

3、交换机+VLAN组网

 

HCIA VLAN间通信 多臂路由与单臂路由_路由表_03

 

 

VLAN使用在交换机组成的网络中,当网络较大时可以不依赖路由器实现广播域的隔离,一般公司网络规模稍微大点都会使用VLAN,是组成公司内网的最佳方案。但VLAN隔离的子网互相之间无法通信又成了新的问题。

4、新的问题

前面三种组网方式各有优点,其中VLAN组网方式是企业内网必选的方案,但有个问题是VLAN间的通信,虽然我们可以通过HYBRID模式来实现特别的几个端口跨VLAN,但使用起来比较复杂,不适合大规模应用。很明显VLAN+路由器的组合是个好办法。

三、多臂路由

考虑下面的网络结构,PC1与PC2在同网段、同VLAN,PC3与PC4在同网段、同VLAN,他们两两是可以互通的,但不同VLAN间,不同网段间是无法互通的。同时要注意路由器AR1的G0/0/0端口在VLAN10,G0/0/1在VLAN30,与其同VLAN的PC数据是可以到达路由器对应端口的。

 

HCIA VLAN间通信 多臂路由与单臂路由_路由表_04

 

 

HCIA VLAN间通信 多臂路由与单臂路由_数据_05

 

 

 

按图所示配置好后,我们查看路由器AR1的路由表,会发现其默认有分别到192.168.1.0网段和192.168.3.0网段的直连路由,也就是这两个网段被路由器打通了。

 

HCIA VLAN间通信 多臂路由与单臂路由_组网_06

 

 

这时候我们用PC1去ping PC3会发现是可以ping通的,其通信路径如下图所示。需要注意PC1与PC3需要配置好其默认网关(Gateway)。

 

HCIA VLAN间通信 多臂路由与单臂路由_组网_07

 

 

简单过程如下:

1、PC1发现目标IP不在同网段,于是想把数据丢给其默认网关

2、PC1先用ARP协议寻找默认网关,其广播包可以在VLAN10传播,故可以找到路由器的G0/0/0就是其默认网关,同时交换机LSW1和LSW2会生成相应的MAC地址表。

3、PC1找到其默认网关后就将数据丢给AR1,AR1收到数据后发现目标IP的网段是192.168.3.0,所以路由器要查看下自己的路由表,发现目标网段在G0/0/1端口。

4、所以路由器会在G0/0/1端口使用ARP协议来寻找目标IP,由于他们都在VLAN30所以是可以正常找到的,同时LSW2和LSW3会生成相应的MAC地址表。

5、最后路由器将数据通过G0/0/1端口发出去即可,交换机会依据MAC地址表将数据传递到正确的PC。

6、这个过程中ACCESS端口和TRUNK端口也发挥了重要的作用。比如PC1和AR1的ARP报文路径可以示意如下。

 

HCIA VLAN间通信 多臂路由与单臂路由_路由表_08

 

 

HCIA VLAN间通信 多臂路由与单臂路由_数据_09

 

 

 

四、单臂路由

上面的多臂路由可以将不同的VLAN连接起来实现VLAN间的通信,但很明显的问题是一个VALN就需要占用路由器一个端口,所以在经济上很不划算(路由器的端口比较贵),所以有没有不占用那么多端口的方案呢?这就要用到路由器的子接口,而子接口目前看来也就是专门用于VLAN间通信的。

AR1上的子接口配置:

interface GigabitEthernet 0/0/1 #先清除之前的配置

undo ip address

quit

interface GigabitEthernet 0/0/0 #先清除之前的配置

undo ip address

quit

interface GigabitEthernet 0/0/0.10 #创建子接口

dot1q termination vid 10 #相当于是创建了vlan10的access

arp broadcast enable #使能子接口的arp协议,默认是关闭的

ip address 192.168.1.254 24

quit

interface GigabitEthernet 0/0/0.30 #创建子接口

dot1q termination vid 30 #相当于是创建了vlan30的access

arp broadcast enable #使能子接口的arp协议,默认是关闭的

ip address 192.168.3.254 24

quit

配置好后我们来看下路由表,发现192.168.1.0和192.168.3.0都出现在了路由表中。

 

HCIA VLAN间通信 多臂路由与单臂路由_组网_10

 

 

我们还需要将与G0/0/0连接的交换机修改为TRUNK模式,最后如下图所示。

 

HCIA VLAN间通信 多臂路由与单臂路由_组网_11

 

 

如此这班就只需要一个端口实现了VLAN间通信,如果有多个VLAN只需要多开几个子接口就可以了。

五、回顾

本篇我们先回顾了之前提过的组网方式,提出了VLAN间通信的问题,接着讲了使用路由器来解决VLAN间通信的问题,先是讲了多臂路由,一个对应一个VLAN,但成本较高,接着讲了单臂路由,使用路由器子接口(子端口)来实现VLAN间通信,效果一样但成本极低。