譚志勇+李進生



摘 要: 相對于傳統園區網絡,核心設備及到核心設備鏈路的冗余設計能減少網絡中存在的單點故障,提高園區網絡的可靠性,但同時也會帶來網絡環路及鏈路閑置等問題。本文在分析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