本文描述了路由器上VLAN的扩展应用。这种扩展应用体现在路由器运行IP路由、IP桥接及IP桥接与综合路由和桥接(IRB)协同作用的时候。同时本文接供了一个在路由器上配置IRB特性的例子。
背景资料
为了使VLAN跨越路由器,路由器必须有能力把帧从一个接口转发到另一个接口,同时又要维持VLAN头部信息。如果路由器配置成三层(网络层)协议路由,它就会在帧到达的接口上终结VLAN及MAC层。如果路由器桥接网络层协议,MAC层头部信息就能保留下来。但是,传统的桥接仍然会终结VLAN的头部信息。利用Cisco IOS 11.2或更高版本的IRB特性,路由器可以配置成在相同的接口上路由及桥接网络协议。这样,当帧从一个接口穿越到另一个接口时,VLAN的头部信息仍可保留。
IRB的路由与桥接概念
上图中:两台交换机的vlan id是一样的,但它们实际上不是同一个vlan.
本图也描述了从PCA穿越链路到达PCB的数据帧的三层帧头的流程。
当帧流过交换机时,VLAN头被加上去了因为连接的是一个trunk链路。可能有好几个vlan穿过这个trunk进行通信。
路由器终结VLAN层及MAC层。它检查目标IP地址然后正确地转发这个帧。在这个例子中,IP帧将被从与PCB相连的端口转发出去。这也是一个VLAN trunk所以同样也会加上一个VLAN头。
虽然连接交换机2到路由器的VLAN号与连接交换机1到路由器的VLAN号是一样的,它实际上不是相同的VLAN。当帧到达路由器时原始VLAN头就被除去了。当帧离开路由器时,一个新头可能被加上去。这个新头可能包含一个与帧到达路由器时剥离掉的VLAN头一样的VLAN号。这一点被如下实事证明:当一个IP帧通过路由器时是没有附加VLAN头的,它是基于目标地址转发而不是VLAN号。
因为这两个VLAN trunk分别位路由器不同的两边,所以它们必须属于不同的IP网络段。
为了让这两个PC拥有相同的网段,路由器必须在它的接口上桥接IP。然而,让两个VLAN中的设备拥有相同的网段并不意谓着它们属于相同的VLAN。
下图显示VLAN拓扑:
通过在路由器上一些或所有连接 VLAN 的接口上桥接IP,避免了终端设备的IP地址的重新编址。但这么一来就失去了在网络层上的基于路由器控制广播流量的所有好处。图三显示当路由器配置成桥接IP后所产生的变化。图四显示当路由器配置成用IRP桥接IP后所发生的变化。
图三显示路由器现在是 IP桥接的。两台PC处于相同的网段。
注意:路由器(桥)现在转发 MAC层头穿过出口接口。路由器仍然终结VLAN头,同时在发送帧到PCB之前加上一个新头。
图四显示 IRB配置后发生了什么。VLAN现在跨越了路由器,并且当帧穿越路由器时VLAN头被保留下来。
IRB 配置实例
这是一个 IRB的配置实例。这个配置允许在两个以太口之间桥接IP,路由IP则使用一个桥接虚拟接口(BVI)。在下面的网络图中,当PCA试图连络PCB时,路由器R1检查到目标IP地址(PCB)是在同一网段,于是数据包被路由器R1从E0桥接到E1,而数据包是由BVI进行路由的。这样,IP协议在路由器既桥接又路由了。
Current configuration:
!
version 12.0
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname R1
!
!
ip subnet-zero
no ip domain-lookup
bridge irb
!-- This command enables the IRB feature on this router.
!
!
!
interface Ethernet0
no ip address
no ip directed-broadcast
bridge-group 1
!-- The interface E0 is in bridge-group 1.
!
Interface Ethernet1
no ip address
no ip directed-broadcast
bridge-group 1
!-- The interface E1 is in bridge-group 1.
!
Interface Serial0
ip address 10.10.20.1 255.255.255.0
no ip directed-broadcast
no ip mroute-cache
no fair-queue
!
interface Serial1
no ip address
no ip directed-broadcast
shutdown
!
interface BVI1
ip address 10.10.10.1 255.255.255.0
!-- An ip address is assigned to the logical BVI for routing
!-- IP between bridged interfaces and routed interfaces.
no ip directed-broadcast
!
ip classless
ip route 10.10.30.0 255.255.255.0 10.10.20.2
!
bridge 1 protocol ieee
!-- This command enables the bridging on this router.
bridge 1 route ip
!-- This command enable bridging as well routing for IP protocol.
!
line con 0
transport input none
line aux 0
line vty 0 4
!
end |
show Command Outputs
show interfaces [interface] irb
This command displays the protocols that can be routed or bridged for the specified interface, as follows:
R1#show interface e0 irb
Ethernet0
Routed protocols on Ethernet0:
ip
Bridged protocols on Ethernet0:
ip ipx
!-- IP protocol is routed as well as bridged.
Software MAC address filter on Ethernet0
Hash Len Address Matches Act Type
0x00: 0 ffff.ffff.ffff 0 RCV Physical broadcast
0x2A: 0 0900.2b01.0001 0 RCV DEC spanning tree
0x9E: 0 0000.0c3a.5092 0 RCV Interface MAC address
0x9E: 1 0000.0c3a.5092 0 RCV Bridge-group Virtual Interface
0xC0: 0 0100.0ccc.cccc 157 RCV CDP
0xC2: 0 0180.c200.0000 0 RCV IEEE spanning tree
0xC2: 1 0180.c200.0000 0 RCV IBM spanning tree
R1# |