2013年(28)
分类: 网络与安全
2013-02-26 21:27:00
VLAN间通信
VLAN间的通信需要借助第三层的设备,路由器可以实现这个功能,通常会采用单臂路由模式;实际上VLAN间的路由通信大多是通过三层交换机实现的,三层交换机可以看成是路由器加交换机,因为采用了特殊的技术,其数据处理能力比路由器要大得多。
路由器实现VLAN间通信
在通常情况下可以在每个VLAN上都配置一个以太网接口和路由器连接,在路由器的以太网接口上配置IP地址(如果有必要可能还需要配置路由协议等),同一VLAN计算机的网关指向路由器与本VLAN连接的路由器的接口。采用这种方法,如果要实现N个VLAN间的通信,则路由器需要N个以太网接口,同时也会占用N个交换机上的以太网接口,这样在实际情况中是不可行的。
单臂路由
单臂路由提供了另外一种解决方案。路由器只需要一个以太网接口和交换机连接,交换机的这个接口设置为Trunk模式。在路由器上创建多个虚拟子接口(virtual subinterface)和不同的VLAN连接,子接口是路由器物理接口上的逻辑接口。当交换机收到Vlan 10的PC A发送的数据帧后,从它的Trunk接口发送数据给路由器,由于该链路是Trunk链路,帧中带有Vlan 10的标签,帧到了路由器后,路由器查询路由表后,如果数据要转发到Vlan 20上,路由器把数据帧重新用Vlan 20的标签进行封装,通过Trunk链路发送到交换机上的Trunk接口,交换机收到该帧,去掉Vlan 20的标签,然后发送到Vlan 20上的计算机,从而实现了VLAN间的通信。
实验
命令:
sw1(config-if)#switchport trunk native vlan 10 //设置Native VLAN
r1(config)#int f1/0.10 //创建虚拟子接口F1/0.10
r1(config-subif)#encapsulation dot1Q 10 native
//启用802.1Q封装定义该子接口承载哪个VLAN的流量,并设置为Native VLAN
r1(config-subif)#ip address 192.168.1.1 255.255.255.0 //配置子接口的IP,即该VLAN的默认网关
说明:
①创建虚拟子接口时,子接口的编号无所谓也就是说不一定要和封装的VLAN号对应;
②“int f1/0.10”命令为创建虚拟子接口,即在一个物理接口上划分为多个逻辑接口的方法;
③路由器的虚拟子接口设置的Native VLAN一定要和交换机的Native VLAN相对应,否则可能导致VLAN间不通;
④默认时交换机和路由器的Native VLAN都是Vlan 1。
sw1(config)#vlan 10
sw1(config)#vlan 20
sw1(config)#int f0/1
sw1(config-if)# switchport mode access
sw1(config-if)#switchport access vlan 10
sw1(config)#int f0/23
sw1(config-if)# switchport mode access
sw1(config-if)#switchport access vlan 20
sw1(config)#int f0/13
sw1(config-if)#switchport mode trunk //将f0/13端口设置为Trunk口
sw1(config-if)#switchport trunk native vlan 10
r1(config)#int f1/0
r1(config-if)#no sh //激活f1/0接口
r1(config)#int f1/0.10 //创建虚拟子接口F1/0.10
r1(config-subif)#encapsulation dot1Q 10 native
r1(config-subif)#ip address 192.168.1.1 255.255.255.0
r1(config)#int f1/0.20
r1(config-subif)#encapsulation dot1Q 20
r1(config-subif)#ip address 192.168.2.1 255.255.255.0
实验调试
r1#show ip route
r1#show ip int brief
三层交换机实现VLAN间通信(SVI),(附加:三层交换机配置路由实验)
单臂路由实现VLAN间的路由通信时转发速率较慢,而且需要昂贵的路由器设备。实际上,在局域网内部多采用三层交换进行VLAN间的通信。三层交换机通常采用硬件来实现路由,其路由数据包的速率是普通路由器的几倍。设置方法也很简单,只需要在三层交换机上创建相应的VLAN接口,并在接口上配置IP地址,PC的网关指向三层交换机上本VLAN的IP地址即可。
说明:Cisco早期采用基于NetFlow的三层交换技术,现在主要采用CEF技术,这样路由速率有了大大的提高。
实验
命令:
SW-3L(config)#ip routing //在3层交换机上打开路由功能,这是交换机就有了三层功能
SW-3L(config-if)#ip address 192.168.2.1 255.255.255.0 //配置Vlan 2的IP,即本VLAN的默认网关
SW-3L(config-if)#no switchport //关闭本接口的交换功能,即开启三层路功能
“no switchport”命令说明:
三层交换机是带有三层路由功能的交换机,也就是这台交换机的端口既有三层路由功能,也有二层交换功能。三层交换机端口默认为二层口,如果需要启用三层功能就需要在此端口输入本命令“no switchport”,这样就可以在该端口配置IP地址和路由口一样了,使用命令“switchport”把端口恢复成二层口。需要注意的是如果是二层交换机是不会用到本命令的。
SW-2L(config)#vlan 2
SW-2L(config)#vlan 3
SW-2L(config)#vlan 4
SW-2L(config)#int range f0/1 - 8
SW-2L(config-if-range)#switchport access vlan 2
SW-2L(config)#int range f0/9 - 16
SW-2L(config-if-range)#switchport access vlan 3
SW-2L(config)#int range f0/17 - 23
SW-2L(config-if-range)#switchport access vlan 4
SW-2L(config)#int f0/24
SW-2L(config-if)#sw mo trunk
SW-3L(config)#ip routing
SW-3L(config)#vlan 2
SW-3L(config)#vlan 3
SW-3L(config)#vlan 4
SW-3L(config)#int vlan 2
SW-3L(config-if)#ip address 192.168.2.1 255.255.255.0
SW-3L(config-if)#no sh
SW-3L(config)#int vlan 3
SW-3L(config-if)#ip add 192.168.3.1 255.255.255.0
SW-3L(config-if)#no sh
SW-3L(config)#int vlan 4
SW-3L(config-if)#ip add 192.168.4.1 255.255.255.0
SW-3L(config-if)#no sh
SW-3L(config)#int f0/1
SW-3L(config-if)#no switchport
SW-3L(config-if)#ip add 10.1.1.1 255.255.255.0
SW-3L(config-if)#no sh
SW-3L(config)#ip route 10.1.2.0 255.255.255.0 f0/1
R1(config)#int f0/0
R1(config-if)#ip add 10.1.1.2 255.255.255.0
R1(config-if)#no sh
R1(config)#int f0/1
R1(config-if)#ip add 10.1.2.1 255.255.255.0
R1(config-if)#no sh
R1(config)#ip route 0.0.0.0 0.0.0.0 f0/0
实验调试
SW-3L#show ip route
SW-3L#show ip int brief