2009年1月7日星期三

VLAN间路由

VLAN间的路由可以是用外部路由器(即单臂路由的模式)或者使用层三交换机的路由模块进行路由。
一、层三交换机的三层路由模块(使用SVI):
注:SVI:交换机虚拟接口是一种第3层接口,它是为在Catalyst多层交换机上完成VLAN间路由选择而配置的接口。SVI是一种与VLAN-ID相关联的虚拟VLAN接口,其目的在于启用该VLAN上的路由选择能力。为了配置VLAN之间的通信,就必须为每个SVI配置IP地址和子网掩码,并且要求SVI属于为子网所选择的地址范围。与SVI相关联的IP地址是该网段主机的默认网关。
这里以在Catalyst 6500系列交换机上,使用MSFC(Multilayer Switched Feature Card)模块进行了VLAN间路由:
1、创建和配置交换机上的VLAN,并将交换机的端口添加到VLAN中。
2、创建和配置在MSFC上,用于VLAN间路由的VLAN端口。需要为每个想要进行路由的VLAN都要创建一个VLAN接口。
MSFC上的VLAN接口是虚拟接口,但是它的配置方式与物理接口相同。
注:MSFC3、MSFC2和MSFC2A可以支持1000个VLAN接口,MSFC支持256个VLAN接口。
在MSFC上配置VLAN间的IP路由:
1、在路由器上启用IP路由(可选):
router(config)#ip routing
2、指定IP路由协议(可选):
router(config)#router ip_routing_protocol
3、指定MSFC上的VLAN接口:
router(config)#interface vlan_id
4、给VLAN指定IP地址:
router(config-if)#ip address n.n.n.n mask
5、退出配置模式:
router(config-if)#Ctrl-z
注:如果网络中有多个路由器,那么1是必须配置的。如果在第一步中启用了IP路由,那么第二步也是必须的(用于指定使用那个路由协议,RIP还是OSPF等等)。第二步可以包含其他命令,比如使用network路由配置命令来指定路由某个网段。

二、使用单臂路由(使用外部路由器)
单臂路由器的特性要求在外部路由器和交换机之间使用ISL或802.1Q协议封装Trunk。单个Trunk能够承载多个VLAN的流量,这样就不用为每个VLAN使用一条物理链接。
注:在使用802.1QTrunk的时候,要注意确认交换机上Trunk端口的Native VLAN与对应的路由器上Trunk端口的Native VLAN是相同的。
为了执行VLAN间路由选择的功能,路由器必须知道如何才能到达所有互联的VLAN。基于上述原因,对于单个物理连接上的每个使用ISL或802.1QTrunk的VLAN,路由器必须具有独立的逻辑连接(也可以为每个VLAN使用单独的物理连接,但是这样比较浪费接口)。
路由器能够以以下方式来执行VLAN间路由选择:
1、每台主机将去往其他子网的流量发向默认网关,默认网关是一台路由器,它能够为交换机上配置的每个VLAN提供路由选择功能
2、交换机接受各VLAN的数据报,并且根据相应VLAN进行封装或标记,然后将这些数据包转发给路由器
3、因为已经将路由器配置为在VLAN之间路由流量,所以路由器将接受来自每个VLAN的数据包
4、路由器根据第3层网络地址来确定外出的接口和VLAN
5、路由器重写第2层源MAC地址、第2层目标MAC地址、第2层CRC,并且采用标记或封装数据包的方法来识别相应的VLAN
6、为了将数据包传送给交换机,路由器将数据包放到适当的外出接口的输出队列中,然后交换机将数据包转发给适当的主机外出端口
注:当主机在单臂路由器配置中向其他子网发送流量的时候,它将把流量发送给默认网关,它是在外部路由器(单臂路由器)上所配置子接口的IP地址。这种情况与在外部路由器或第3层交换机上配置使用SVI的情况相同。
使用单臂路由器来配置VLAN间路由选择:
1、在连接到路由器的交换机端口上启用链路Trunk:
switch(config)#interface {fastethernet gigabitethernet} slot/port
switch(config-if)#switchport mode trunk
switch(config-if)#switchport trunk encapsulation {dot1q isl }
2、通过在路由器上使用接口命令no shutdown,来启用路由器接口:
router(config)#interface {fastethernet gigabitethernet} slot/port
router(config-if)#no shutdown
3、创建要求完成VLAN间路由的各个VLAN的子接口:
router(config)#interface {fastethernet gigabitethernet} slot/port.subinterface
4、在对应于VLAN的子接口上配置Trunk封装和IP地址:
router(config-subif)#encapsulation {dot1q isl} vlan-id {native}
router(config-subif)#ip address ip_address subnet_mask
注:native表示Native VLAN,Cisco交换机和路由器不对Native VLAN进行标记。配置Native VLAN的替换方法是在主接口(注意:不是子接口)上配置第3层属性,例如IP地址(这里指的是可以不使用native,而是将路由器的这个主接口配置一个IP地址,这样从交换机来的没有VLAN标记的流量将会通过这个IP地址作为默认网关,转发出去)。
注:这里的VLAN ID用于标识该子接口承载的是那个VLAN的流量。
注:slot/port的编号配置的子接口编号可以任意选择,并且不必与封装配置相匹配。虽然如此,但是为了增加配置的可读性,建议将子接口编号配置为VLAN ID编号。

没有评论:

发表评论