谭志勇+李进生
摘 要: 相对于传统园区网络,核心设备及到核心设备链路的冗余设计能减少网络中存在的单点故障,提高园区网络的可靠性,但同时也会带来网络环路及链路闲置等问题。本文在分析MSTP和VRRP协议工作原理的基础上,设计并实现园区网络的MSTP+VRRP策略。通过MSTP协议来消除冗余链路带来的网络环路和实现冗余链路上的负载分担,通过VRRP协议来备份网关和实现外网访问的负载分担。eNSP上的仿真测试结果表明,规划设计的园区网络在可靠性方面取得了很好效果,达到了预期目的。
关键词: 园区网络; 高可靠性; MSTP; VRRP
中图分类号:TP393.1 文献标志码:A 文章编号:1006-8228(2018)02-35-05
Abstract: Compared with the traditional park network, redundancy design on the core device and the link to core layer can decrease the single point of failure to improve the reliability of the park network, but also bring other problems like loops and link idle events. Based on the analysis of the working principle of MSTP and VRRP protocol, this paper designs and implements the strategy of MSTP+VRRP on the park network. With MSTP protocol, the loops caused by redundant links are cancelled and the load sharing on redundant links are realized; with VRRP protocol, the gateway backup and the load sharing are realized for accessing the external network. The result of simulating and testing with eNSP shows that, the park network planned and designed can obtain good effects in reliability, which achieves the expected purpose.
Key words: park network; high reliability; MSTP; VRRP
0 引言
網络是园区信息化建设的基础,有了覆盖园区的网络,园区内的各种信息数据才能传输。相对于传统园区网络,目前的园区网络大多使用双核心,且各汇聚层交换机与核心层之间使用双链路,这样设备及链路均达到冗余。在此基础上,基于MSTP+VRRP的设计策略可以使园区网络的可靠性得到很好保证[1]。
1 MSTP协议概述
在传统园区网络环境中,如果单台核心设备或到核心设备的单条链路出现故障,会影响整个园区网的正常使用,甚至导致园区网陷入瘫痪。因此,通常使用冗余设计来提高园区网络的可靠性[2]。额外添加的设备和链路能解决单点故障带来的问题,但同时也会出现流量环路,进而带来广播风暴、数据帧重复和MAC地址表震荡等问题,最终导致网络不可用。
生成树协议是为解决交换网络中存在的环路问题而被提出的。交换网络中的设备利用生成树协议,通过信息交互来发现环路,并通过选择性地阻塞某个端口来把环形网络结构修剪成无环的树形结构[3]。
生成树协议共经历了生成树协议STP、快速生成树协议RSTP和多生成树协议MSTP几个阶段[4-6]。从STP到RSTP再到MSTP,新的生成树协议一方面能兼容原有的生成树协议,另一方面也改进了性能。下面分别对STP、RSTP和MSTP的工作原理进行分析。
1.1 STP工作原理
网络中的多台交换机上运行STP后,它们之间会彼此交互BPDU报文,然后根据BPDU报文信息选出一台交换机作为根桥。根桥定时发送BPDU,其他交换机接收并转发BPDU。如果一台交换机的多个端口收到BPDU,就说明这台交换机有多条路径到根桥,即网络中存在环路,此时通过配置交换机的端口角色来选出一条到达根桥的最短路径。最短路径上的端口角色为根端口或指派端口,处于Forwarding(转发)状态;不是根端口或指派端口的端口处于Blocking(阻塞)状态,网络流量无法进入或流出。
从STP的工作原理可以看出,其生成树的构造是基于BPDU的。BPDU中的关键参数信息有桥ID(BID)、路径开销(CoP)和端口ID(PID)等[7]。
BID由交换机的优先级和交换机的MAC地址组成,即BID(8字节)=桥优先级(2字节)+桥MAC地址(6字节)。
CoP是一个基于端口开销的变量,不同速率的端口开销默认值不同。CoP等于从根交换机到目的交换机进入方向的端口开销之和。
PID由端口优先级和端口号组成,即PID(16位)=端口优先级(4位)+端口号(12位)。
运行STP的交换网络经以下四步变成无环的树形结构。
⑴ 选举根桥。
一开始每台交换机都认为自己是根桥并向外发送BPDU。通过交互BPDU,BID最小的交换机成为根桥,其他交换机成为非根交换机。
⑵ 选举每台非根交换机的根端口。endprint
非根交换机可能有多个端口收到来自根桥的BPDU,需要从这多个端口中选出一个根端口。选举原则是依次比较路径开销CoP、发送者的BID、发送者的PID和接收者的PID,值最小则成为根端口,若相同则比较下一参数。
⑶ 选举每个网段的指派端口。
每个网段都有一台交换机负责把网段的数据发往根交换机,这台交换机被称作指派交换机,指派交换机上的端口称为指派端口,故指派端口的选举就是指派交换机的选举。选举原则是依次比较路径开销CoP和BID,值最小则成为指派交换机,值相同则比较下一参数。选出指派交换机后,若其上有多个端口连接到同一网段,则PID最小的端口成为指派端口。
⑷ 阻塞端口。
选出交换机的根端口和指派端口后,交换机上连到网络中的其他端口被阻塞,成为阻塞端口。
1.2 RSTP工作原理
STP虽能消除网络环路,但是收敛速度慢(至少需要30s),这无疑会影响通信质量。为此IEEE 802.1W中提出了RSTP协议,RSTP一方面兼容STP,另一方面也大大提高了收敛速度(最快1s以内)[8]。
相对于STP,RSTP的优势主要是在以下两个方面。
一是根端口有替代端口作为备份,指派端口有备份端口作为备份[9],一旦根端口或指派端口失效,就迅速切换到替代端口或备份端口。
二是直连终端的端口可以被设置为边缘端口并始终处在Forwarding状态。
1.3 MSTP工作原理
无论是STP还是RSTP,一旦端口被阻塞,该端口所在的链路就无法承担网络流量,这无疑造成了链路浪费。
为弥补STP和RSTP的缺陷,IEEE 802.1S中定义了MSTP协议。MSTP既实现了快速收敛,又实现了数据流量的负载分担[10]。
MSTP对一个交换网络进行划分,划分后的区域被称为MST域。每个MST域内可以构建多棵生成树,树之间互不影响各自独立,每颗树被称为一个多生成树实例MSTI。然后再将VLAN和MSTI对应起来,每个VLAN对应某一个MSTI,该VLAN的数据只在该MSTI中传输,这样不同VLAN的数据就在各自对应的MSTI中传输,从而在消除网络环路的基础上实现了负载分担[11]。
2 MSTP策略的设计与实现
为保证园区骨干网络的可靠性,园区网络使用双核心,且园区网各汇聚层交换机到两台核心交换机之间使用双链路。要解决冗余链路带来的环路问题并实现负载分担,须设计园区网的MSTP策略。
为了更好地描述园区网络中各VLAN流量的走向,现对汇聚层交换机与核心层交换机之间的链路进行编号,如图1所示。
设计详细的“VLAN-链路”对应关系如表1所示。
为使园区网的VLAN流量按表1所示的路径传输,在园区网络中定义一个MST域为PNMSTP,核心交换机和各汇聚交换机都加入该域,并在PNMSTP域中定义两个MSTI。详细的“MST域、MSTI和VLAN”对应关系如表2所示。
结合图1,从表2中可以看出,对于MSTI1中对应的VLAN,汇聚层交换机到核心层交换机左边的链路为转发路径,右边的链路为备用路径;对于MSTI2中对应的VLAN,右边的链路为转发路径,而左边的链路为备用路径。据此,定义两台核心交换机在各MSTI中的角色及各汇聚层交换机上要阻塞的端口如表3所示。
具体配置如下(仅以两台核心交换机和汇聚层交换机“PN-DS-5700-1”为例):
⑴ 配置三台交换机到域PNMSTP内,创建实例MSTI1和实例MSTI2。
[PN-CS-7700-1] stp region-configuration
[PN-CS-7700-1-mst-region]region-name PNMSTP
[PN-CS-7700-1-mst-region] instance 1 vlan 101 to 110
[PN-CS-7700-1-mst-region] instance 2 vlan 111 to 120
[PN-CS-7700-1-mst-region] active region-configuration
⑵ 在域PNMSTP内,配置MSTI1与MSTI2的根桥。
[PN-CS-7700-1] stp instance 1 priority 4096
[PN-CS-7700-2] stp instance 2 priority 4096
⑶ 匯聚层交换机“PN-DS-5700-1”的GE0/0/23端口在实例MSTI2中的开销设为20000,GE0/0/24端口在实例MSTI1中的开销设为20000。
[PN-DS-5700-1] interface Gigabitethernet 0/0/23
[PN-DS-5700-1-GigabitEthernet0/0/23] stp instance
2 cost 20000
[PN-DS-5700-1-GigabitEthernet0/0/23] interface
Gigabitethernet 0/0/24
[PN-DS-5700-1-GigabitEthernet0/0/24] stp instance
1 cost 20000
3 VRRP协议概述
MSTP解决了链路冗余带来的环路问题,并实现了VLAN数据流的链路选择,而VRRP则提供了网关冗余。MSTP和VRRP的结合才能保证通信的可靠性与连续性[12]。endprint
VRRP即虚拟路由冗余协议[13],网络中运行该协议的一组路由设备称为一个VRRP备份组,这组路由设备因角色不同而分为活动路由设备Master(仅一台)和备用路由设备Backup(若干台),但最终呈现在终端面前的只是一台虚拟路由设备,如图2所示。
图2所示的网络中,路由器RA、RB和RC上运行VRRP后,三台路由器构成一个VRRP备份组并被虚拟成一台路由器R,其IP地址是192.168.1.254。网络内的主机只需知道网关即虚拟路由器R的IP地址即可。主机把发往外部网络的数据包交给虚拟路由器R处理,但实际的处理工作由Master路由器进行。一旦Master路由器无法工作,VRRP备份组中的Backup路由器就选举产生新的Master来继续为主机提供路由。
VRRP备份组中的Master是根据路由器的优先级来选举产生,优先级高的路由器成为Master[14]。优先级的高低与其取值成正比,取值越大优先级越高。
4 VRRP策略的设计与实现
园区网络中,所有VLAN的网关都定义在两台核心交换机上。为提高园区网络的可靠性,在这两台核心交换机上设计VRPP策略,为每个VLAN定义一个VRRP备份组,每个VRRP备份组对应一个虚拟的网关地址。设计两台核心交换机在各VRRP组中的角色如表4所示。
两台核心交换机中VLAN接口的IP地址和VRRP组的对应关系如表5所示(仅以VLAN101和VLAN111为例)。
具体配置如下(仅以VLAN101和VLAN111为例):
⑴ 在核心交换机“PN-CS-7700-1”和“PN-CS-7700-2”上创建VRRP备份组101,“PN-CS-7700-1”优先级设为120,成为Master;“PN-CS-7700-2”优先级保持默认值,成为Backup。
[PN-CS-7700-1] interface Vlanif 101
[PN-CS-7700-1-Vlanif101] ip address 10.0.101.251 24
[PN-CS-7700-1-Vlanif101] vrrp vrid 101 virtual-ip
10.0.101.254
[PN-CS-7700-1-Vlanif101] vrrp vrid 101 priority 120
[PN-CS-7700-2] interface Vlanif 101
[PN-CS-7700-2-Vlanif101] ip address 10.0.101.252 24
[PN-CS-7700-2-Vlanif101] vrrp vrid 101 virtual-ip
10.0.101.254
⑵ 在核心交换机“PN-CS-7700-1”和“PN-CS-7700-2”上创建VRRP备份组111,“PN-CS-7700-2”的优先级设为120,成为Master;“PN-CS-7700-1”的优先级保持默认值,成为Backup。
[PN-CS-7700-2] interface Vlanif 111
[PN-CS-7700-2-Vlanif111] ip address 10.0.111.252 24
[PN-CS-7700-2-Vlanif111] vrrp vrid 111 virtual-ip
10.0.111.254
[PN-CS-7700-2-Vlanif111] vrrp vrid 111 priority 120
[PN-CS-7700-1] interface vlanif 111
[PN-CS-7700-1-Vlanif111] ip address 10.0.111.251 24
[PN-CS-7700-1-Vlanif111] vrrp vrid 111 virtual-ip 10.0.111.254
⑶ 在“PN-CS-7700-1”上配置VRRP备份组101监视上联端口GE0/0/24,若GE0/0/24端口Down掉,则该交换机在VRRP备份组101中的优先级会减去30;同理,在“PN-CS-7700-2”上配置VRRP备份组111监视上联端口GE0/0/24。这样,当被监视的上联端口Down掉时,通过调整交换机的优先级来触发主备切换,保证了数据的正常转发。
[PN-CS-7700-1] interface Vlanif 101
[PN-CS-7700-1-Vlanif101] vrrp vrid 101 track interface
gigabitethernet 0/0/24 reduced 30
[PN-CS-7700-2] interface Vlanif 111
[PN-CS-7700-2-Vlanif111] vrrp vrid 111 track interface
gigabitethernet 0/0/24 reduced 30
5 實验仿真及测试
5.1 实验拓扑结构
eNSP是华为开发的一款网络仿真工具平台,可以对华为系列的网络产品进行模拟仿真 [15]。由于eNSP中开启设备越多,占用资源越大,因此实验只选取了园区网络中的代表性设备,实验的拓扑结构如图3。
图3中,路由器“ISP-Router-1”和“ISP-Router-2”表示外部网络。两台路由器上各设置一个环回口(即loopback接口),环回口的IP地址为100.100.100.100/24。endprint
选取的园区网络设备为两台核心层交换机“PN-CS-7700-1”和“PN-CS-7700-2”,汇聚层交换机“PN-DS-5700-4”及接入层交换机“PN-AS-3700-27”。DHCP服务器用两台路由器模拟,且仅以VLAN11为例。“User-PC”为交换机“PN-AS-3700-27”上的一台接入PC。
5.2 测试结果
5.2.1 连通性测试
在“User-PC”上ping外网地址100.100.100.100,显示能ping通,如图4所示。
5.2.2 可靠性测试
⑴ 两台核心交换机和汇聚交换机上运行STP协议。在“User-PC”上连续ping外网地址100.100.100.100,然后关闭交换机“PN-DS-5700-4”的GE0/0/23端口,模拟该端口所在链路出现故障。结果在链路切换过程中出现23个丢包,断网时间较长。
⑵ 两台核心交换机和汇聚交换机上运行MSTP协议,并按⑴中步骤进行测试。测试结果如图5所示。
当交换机“PN-DS-5700-4”的GE0/0/23端口所在链路发生故障时,原阻塞端口GE0/0/24迅速进入Forwarding状态,链路切换过程中仅出现一个丢包。
⑶ 在上一步的基础上,重新开启交换机“PN-DS -5700-4”的GE0/0/23端口。接着关闭交换机“PN-CS-7700-1”的GE0/0/24端口,模拟核心交换机“PN-CS-7700-1”的出口链路发生故障。测试结果如图6所示。
当核心交换机“PN-CS-7700-1”宕机,或GE0/0/23端口所在的出口链路发生故障时,VRRP备份组11中的原Backup设备“PN-CS-7700-2”迅速成为Master并继续提供服务,切换过程中仅出现一个丢包。
6 结束语
本文在分析MSTP和VRRP协议的基础上,设计并实现基于MSTP+VRRP的园区网络。基于MSTP+VRRP设计实现的园区网络,通过设备及链路的冗余来有效避免因单点故障导致的网络不可用,提高了园区网络的可靠性。通过仿真实验,验证了设计实现的园区网络具有较高的可靠性。如何解决复杂环境中网络的安全性是今后研究的重点。
参考文献(References):
[1] 吴兆红,陈增吉.大型园区网络可靠性设计与实现[J].山东师范大学学报:自然科学版,2008.23(4):43-46
[2] 段国云,周迪民.以太环网技术在校园网可靠性设计中的应用[J].计算机系统应用,2011.20(1):146-149
[3] Hojjat H., Nakhost H., Sirjani M. Formal Verification of the IEEE 802.1D Spanning Tree Protocol Using Extended Rebeca[J]. Electronic Notes in Theoretical Computer Science,2006.159(4):139-154
[4] LAN/MAN Standards Committee. Standard for Local and Metropolitan Area Networks: Media Access Control (MAC) Brige[S]. ANSI/IEEE Std 802.1D,1998.
[5] LAN/MAN Standards Committee. Standard for Local and Metropolitan Area Networks: Media Access Control (MAC) Bridges-Amendment 2: Rapid Reconfiguration[S]. IEEE Std 802.1W,2001.
[6] LAN/MAN Standards Committee. Standard for Local and Metropolitan Area Networks: Virtual Bridged Local Area Networks-Amendment 3: Multiple Spanning Trees[S]. IEEE Std 802.1S,2002.
[7] 吴树龙,王勤.基于最小代价和生成树的算法研究[J].微计算机信息,2010.26(12):222-223
[8] Cisco System, Inc. Understanding Rapid Spanning Tree Protocol (802.1w)[M]. Indianapolis: Cisco Press,2006.
[9] 马景萱.快速生成树协议的研究和在MIEN6026交换机上的实现[D].华中科技大学硕士学位论文,2012.
[10] 李延冰,马跃,王博等.IEEE三种生成树技术的分析与比较[J].计算机应用,2005.25(11):2499-2501
[11] 郭彦伟,郑建德.生成树协议与交换网络环路研究[J].厦门大学学报:自然科学版,2006.45(5):301-304
[12] 邹润生.VRRP技术实现网络的路由冗余和负载均衡[J].计算机与信息技术,2006.4:54-56
[13] Hinden R. Virtual Router Redundancy Protocol (VRRP)[S].RFC 3768,2004.
[14] 羅定福,陈永松.VRRP多备份组的设计与实现[J]. 齐齐哈尔大学学报:自然科学版,2012.28(4):70-72
[15] 华为技术有限公司 HCNP路由交换实验指南[M].人民邮电出版社,2014.endprint