vlan间路由的方法主要有三种
1.通过路由器上多个接口实现
2.通过路由器上一个接口即单臂路由实现
3.通过三层交换实现
下面将每一中实现方法配合实验说明
第一:通过路由器上多个接口实现
将交换机上用于和路由器互联的每个端口设为访问链接
,然后分别用网线与路由器上的独立端口互联。如下图所示,交换机上有2个VLAN,那么就需要在交换机上预留2个端口用于与路由器互联;路由器上同样需要有2个端口;两者间用2条网线分别连接。
下面是具体实验
四个vlan
vlan11 网关10.0.11.1 主机10.0.11.2
vlan21 网关10.0.21.1 主机10.0.21.2
vlan31 网关10.0.31.1 主机10.0.31.2
vlan41 网关10.0.41.1 主机10.0.41.2
在交换机switch上做配置
vlan 11 创建vlan 11
interface f0/0 vlan绑定到端口
switchport mode access
switchport access vlan 11
下同,依次配置四个vlan……
将vlan11中的一个端口与路由器端口连接(路由器端口地址为vlan11 网关)
将vlan21中的一个端口与路由器端口连接
(路由器端口地址为vlan21 网关)
将vlan31中的一个端口与路由器端口连接
(路由器端口地址为vlan31 网关)
将vlan41中的一个端口与路由器端口连接
(路由器端口地址为vlan41 网关)
在router1上配置
vlan11的网关地址:
interface f0/0
ip address 10.0.11.1 255.255.255.0
no shutdown
下同,依次配置四个接口ip……
如果采用这个办法,大家应该不难想象它的扩展性很成问题。每增加一个新的VLAN,都需要消耗路由器的端口和交换机上的访问链接,而且还需要重新布设一条网线。而路由器,通常不会带有太多LAN接口的。新建VLAN时,为了对应增加的VLAN所需的端口,就必须将路由器升级成带有多个LAN接口的高端产品,这部分成本、还有重新布线所带来的开销,都是的这种接线法成为一种不受欢迎的办法。
第二:通过路由器上一个接口即单臂路由实现
第二种办法“不论VLAN数目多少,都只用一条网线连接路由器与交换机”呢?当使用一条网线连接路由器与交换机、进行VLAN间路由时,需要用到汇聚链接。
下面是具体实验
三个vlan
vlan11 网关192.168.1.1 主机192.168.1.2
vlan21
网关192.168.2.1 主机192.168.2.2
vlan31
网关192.168.3.1 主机192.168.3.2 192.168.3.3
交换机 switch0 做做配置
创建三个 vlan
vlan 11
vlan 21
vlan 31
端口绑定vlan
interface f0/0
switchport mode accedd
switchport access vlan 11
下同,依次在其余两个端口绑定vlan……
接着开通一个端口为 trunk 中继端口
(与switch1 中继链接)
interface f0/24
switchport mode trunk
交换机 switch1 做配置
端口绑定vlan
interface f0/3
switchport mode access
switchport access vlan 31
开通一个端口为 trunk 中继端口(与switch0 中继链接)
interface f0/24
switchport mode trunk
再开通一个端口为 trunk 中继汇聚链接端口(与路由器router0链接)
interface f0/24
switchport mode trunk
配置router0 路由器
创建三个子接口并配置(一定要注意封装)
interface f0/0.1
encapsulation dot1q 11 //以802.1q协议封装,
11为vlan的id 格式
encapsulation [isl/dot1q] vlan
ip address 192.168.1.1 255.255.255.0
interface f0/0.2
encapsulation dot1q 21 //以802.1q协议封装,
21为vlan的id 格式
encapsulation [isl/dot1q] vlan
ip address 192.168.2.1 255.255.255.0
interface f0/0.3
encapsulation dot1q 31 //以802.1q协议封装,
31为vlan的id 格式
encapsulation [isl/dot1q] vlan
ip address 192.168.3.1 255.255.255.0
采用这种方法的话,即使之后在交换机上新建VLAN,仍只需要一条网线连接交换机和路由器。
用户只需要在路由器上新设一个对应新VLAN的子接口就可以了
。与前面的方法相比,扩展性要强得多,也不用担心需要升级LAN接口数目不足的路由器或是重新布线。
进行VLAN间通信时,即使通信双方都连接在同一台交换机上,也必须经过:
发送方——交换机——路由器——交换机——接收方 这样一个流程。
用路由器进行VLAN间路由的话,随着VLAN之间流量的不断增加,很可能导致路由器称为整个网络的瓶颈。
交换机使用被称为ASIC(Application Specified Integrated Circuit)的专用硬件芯片处理数据帧的交换操作,在很多机型上都能实现以缆线速度(Wired Speed)交换。
而路由器,则基本上是基于软件处理的。即使以缆线速度接收到数据包,也无法在不限速的条件下转发出去,因此会成为速度瓶颈。就VLAN间路由而言,流量会集中到路由器和交换机互联的汇聚链路部分,这一部分尤其特别容易成为速度瓶颈。并且从硬件上看,由于需要分别设置路由器和交换机,在一些空间狭小的环境里可能连设置的场所都成问题。
为了解决上述问题。三层交换机应运而生。
三层交换机,本质上就是“带有路由功能的(二层)交换机”。路由属于OSI参照模型中第三层网络层的功能,因此带有第三层路由功能的交换机才被称为“三层交换机”。
其以vlan的虚端口为接口,vlan端口间的通信由交换机内部路由模块实现。
关于三层交换机的内部结构,可以参照下面的简图。
![Vlan 间路由的方法 - 朝鲜程序员 - 朝鲜程序员的博客 Vlan 间路由的方法 - 朝鲜程序员 - 朝鲜程序员的博客](https://img-my.csdn.net/uploads/201208/18/1345304580_1905.png)
有如下图所示的4台计算机与三层交换机互联。当使用路由器连接时,一般需要在LAN接口上设置对应各VLAN的子接口;而三层交换机则是在内部生成“VLAN 接口(VLAN Interface)”。VLAN接口,是用于各VLAN收发数据的接口。(注:在Cisco的Catalyst 系列交换机上,VLAN Interface被称为 SVI -- Switch Virtual Interface)。
![Vlan 间路由的方法 - 朝鲜程序员 - 朝鲜程序员的博客 Vlan 间路由的方法 - 朝鲜程序员 - 朝鲜程序员的博客](https://img-my.csdn.net/uploads/201208/18/1345305057_4092.png)
具体实验1:主机直接连接三层交换机
在三层switch上创建两个vlan vlan11和vlan22
Switch(config)#vlan 11
Switch(config-vlan)#vlan 22
Switch#show vlan brief //查看结果
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4
Fa0/5, Fa0/6, Fa0/7, Fa0/8
Fa0/9, Fa0/10, Fa0/11, Fa0/12
Fa0/13, Fa0/14, Fa0/15, Fa0/16
Fa0/17, Fa0/18, Fa0/19, Fa0/20
Fa0/21, Fa0/22, Fa0/23, Fa0/24
Gig1/1, Gig1/2
11 VLAN0011 active
22 VLAN0022 active
将交换机端口绑定到vlan
Switch(config)#interface f0/1
Switch(config-if)#switchport access vlan 11
Switch(config-if)#interface f0/2
Switch(config-if)#switchport access vlan 11
Switch(config)#interface f0/3
Switch(config-if)#switchport access vlan 22
Switch(config-if)#interface f0/4
Switch(config-if)#switchport access vlan 22
在三层交换机上配置vlan
Switch(config)#interface vlan 11
Switch(config-if)#ip address 10.0.1.1 255.255.255.0
Switch(config-if)#no shutdown
Switch(config)#interface vlan 22
Switch(config-if)#ip address 10.0.2.1 255.255.255.0
Switch(config-if)#no shutdown
具体实验2:二层交换机连接三层交换机
配置各主机ip,配置二层交换机vlan并绑定到端口
Switch(config)#vlan 11 //创建vlan 11
Switch(config-vlan)#vlan 22
//创建vlan 22
Switch(config-vlan)#end
Switch#show vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4
Fa0/5, Fa0/6, Fa0/7, Fa0/8
Fa0/9, Fa0/10, Fa0/11, Fa0/12
Fa0/13, Fa0/14, Fa0/15, Fa0/16
Fa0/17, Fa0/18, Fa0/19, Fa0/20
Fa0/21, Fa0/22, Fa0/23, Fa0/24
Gig1/1, Gig1/2
11 VLAN0011 active
22 VLAN0022 active
1002 fddi-default active
1003 token-ring-default active
1004 fddinet-default active
1005 trnet-default active
Switch(config)#interface range f0/1-2 //将接口 f0/1 f0/2 分配给 vlan11
Switch(config-if-range)#switchport access vlan 11
Switch(config)#interface range f0/3-4
//将接口 f0/3 f0/4 分配给 vlan22
Switch(config-if-range)#switchport access vlan 22
Switch(config)#interface f0/24 //将接口 f0/24 设置为与三层switch 连接的 turnk 线路
Switch(config-if)#switchport mode trunk
Switch(config-if)#switchport trunk allowed vlan all //允许所有vlan通过f0/24端口
对三层交换机进行配置:
Switch(config)#vlan 11 //创建 vlan 11
Switch(config-vlan)#vlan 22
//创建 vlan 22
Switch(config)#int f0/24
Switch(config-if)#switchport mode trunk //配置三层设备与二层设备连接的f0/1为trunk模式
Command rejected: An interface whose trunk encapsulation is "Auto" can not be configured to "trunk" mode.
Switch(config-if)#switchport trunk allowed vlan all //允许所有vlan通过f0/1端口
Switch(config-if)#no shutdown //激活端口
Switch(config-if)#exit
Switch(config)#ip routing //使用三层设备的路由功能
Switch(config)#int vlan 11
//进入vlan 11配置模式虚拟端口
%LINK-5-CHANGED: Interface Vlan2, changed state to up Switch(config-if)#
%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan2, changed state to up
Switch(config-if)#ip address 10.0.1.1 255.255.255.0 / /配置vlan 11的ip地址
Switch(config-if)#no shutdown //激活端口 Switch(config-if)#exit
Switch(config)#int vlan 22
//进入vlan22 配置虚拟端口
Switch(config-if)#ip address 10.0.2.1 255.255.255.0
Switch(config-if)#no shutdown
Switch(config-if)#exit
Switch(config)#do show ip route // 查看配置结果
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 2 subnets
C 10.0.1.0 is directly connected, Vlan11
C 10.0.2.0 is directly connected, Vlan22
Switch(config)#exit //退出保存
Switch#
%SYS-5-CONFIG_I: Configured from console by console
Switch#wr
Building configuration...
[OK]