時 晨, 趙洪鋼, 余瑞豐, 李國棟
(國防科技大學信息通信學院,西安710106)
互聯(lián)網(wǎng)的迅猛發(fā)展為企業(yè)提供了公平競爭平臺和大量市場機會,帶來了直接、間接和潛在的效益;建設一個可靠、健壯、穩(wěn)定的企業(yè)園區(qū)網(wǎng),對改善經(jīng)營環(huán)境、提高效率、開拓市場、宣傳形象、提高效益至關重要。企業(yè)網(wǎng)絡仿真平臺(Enterprise Network Simulation Platform,eNSP)是一款免費、可擴展、圖形化的網(wǎng)絡設備仿真平臺,主要對企業(yè)網(wǎng)絡路由器、交換機、無線局域網(wǎng)等設備進行軟件仿真,完美呈現(xiàn)真實設備部署實景,支持大型網(wǎng)絡模擬[1]。使用該平臺,可以靈活地在規(guī)劃與設計階段進行各種實驗和性能測試,為網(wǎng)絡的建設提供參考和依據(jù)。
在企業(yè)園區(qū)網(wǎng)設計與建設過程中,高可靠性是需要考慮的重要因素和技術難點[2]。本文首先介紹了虛擬局域網(wǎng)、鏈路聚合等企業(yè)園區(qū)網(wǎng)設計關鍵技術,提出了一種基于eNSP的高可靠性企業(yè)園區(qū)網(wǎng)設計方案,通過eNSP模擬企業(yè)園區(qū)網(wǎng)中的接入交換機、匯聚交換機等網(wǎng)絡設備,并采用虛擬局域網(wǎng)(Virtual Local Area Network,VLAN)技術、多生成樹協(xié)議(Multiple Instances Spanning Trees Protocol,MSTP)、鏈路聚合控制協(xié)議(Link Aggregation Control Protocol,LACP)和VLAN聚合等多種協(xié)議配置,使網(wǎng)絡不僅具有較高的通信可靠性,并且能夠滿足多業(yè)務需求。仿真結果表明,該方案有效提升了企業(yè)園區(qū)網(wǎng)的可靠性和靈活性,能夠為網(wǎng)絡的建設提供有效的參考和依據(jù)。
在企業(yè)園區(qū)網(wǎng)中,主要的網(wǎng)絡設備是交換機。交換機的所有端口都位于同一廣播域中,一臺主機發(fā)出的廣播幀能夠到達網(wǎng)絡中的所有設備,有限的網(wǎng)絡資源被大量廣播信息占用,一旦由于某種原因,例如ARP攻擊、端口故障、蠕蟲病毒或人為操作不當?shù)仍斐梢慌_或多臺設備產(chǎn)生過多的廣播幀,可能會引發(fā)廣播風暴[3],影響整個網(wǎng)絡的連通性。VLAN技術是將一個物理局域網(wǎng)在邏輯上劃分為多個虛擬局域網(wǎng)的以太網(wǎng)技術,減小了廣播域的范圍,抑制了廣播幀對局域網(wǎng)內用戶通信的影響[4]。VLAN技術的優(yōu)勢主要有[5]:
(1)有效控制廣播域范圍。廣播幀僅在VLAN中傳播,節(jié)省了帶寬,提高了網(wǎng)絡處理能力。
(2)增強局域網(wǎng)的安全性。不同VLAN內的用戶不能進行數(shù)據(jù)鏈路層通信,若要通信需借助網(wǎng)絡層設備。
(3)靈活構建虛擬工作組。VLAN劃分不受物理位置的限制,網(wǎng)絡構建和維護方便靈活。
(4)增強網(wǎng)絡的可靠性。VLAN劃分可以將一些故障限制在一個VLAN內。
根據(jù)企業(yè)業(yè)務需求的發(fā)展和變化,如需對網(wǎng)絡進行升級和擴容,往往會對骨干鏈路的帶寬和可靠性提出更高的要求。傳統(tǒng)做法是進行硬件升級,費用昂貴,且不夠靈活。采用鏈路聚合技術,可以僅通過配置,將多個同類型的物理以太網(wǎng)接口捆綁成一個邏輯接口,可以增加鏈路帶寬、設置備份鏈路以提高關鍵鏈路的可靠性[6]。LACP[7]能夠在鏈路發(fā)生故障時,將備份鏈路自動切換為活動鏈路,保證鏈路的總帶寬和連通性不受故障影響,提高鏈路的可靠性。
通常在設計企業(yè)園區(qū)網(wǎng)時,為避免單點故障需要進行鏈路的冗余備份,容易引發(fā)廣播風暴。生成樹協(xié)議[8](Spanning Tree Protocol,STP)可以將有環(huán)網(wǎng)絡修剪為無環(huán)的樹形網(wǎng)絡[9],阻斷冗余鏈路,避免廣播風暴,并在鏈路發(fā)生故障時,自動啟用冗余備份鏈路,保證網(wǎng)絡的連通性,提高網(wǎng)絡的可靠性[10]。MSTP[11]是STP的改進版:
(1)較STP可提高網(wǎng)絡收斂速度,縮短冗余鏈路啟用后網(wǎng)絡中斷的時間;
(2)計算多棵生成樹,實現(xiàn)VLAN級別的負載分擔,減少帶寬浪費,降低鏈路發(fā)生擁塞的可能性;
(3)具備STP基本功能,避免環(huán)路帶來的廣播風暴。
以上3個特性均能提高網(wǎng)絡的可靠性。
在企業(yè)園區(qū)網(wǎng)中,由于業(yè)務需求,不同VLAN的用戶也需要通過3層交換機實現(xiàn)通信,這就需要給每個VLAN單獨劃分一個IP子網(wǎng)。這些IP子網(wǎng)的網(wǎng)絡地址、子網(wǎng)定向廣播地址、子網(wǎng)網(wǎng)關地址都無法分配給用戶,造成IP地址浪費;若前期劃分的IP子網(wǎng)地址不足,極不利于網(wǎng)絡升級和擴容,給網(wǎng)絡管理帶來了一定的難度。VLAN聚合技術通過配置Super-VLAN,其中包含多個位于同一IP子網(wǎng)的Sub-VLAN[12],共用同一個網(wǎng)關IP地址,既能夠實現(xiàn)Sub-VLAN之間的2層隔離,又能根據(jù)需要實現(xiàn)Sub-VLAN的3層通信[13],避免不必要的IP地址浪費,降低網(wǎng)絡管理的復雜性。
本文使用eNSP 1.2.00.510網(wǎng)絡設備仿真平臺,設計了一種結構如圖1所示的高可靠性企業(yè)園區(qū)網(wǎng),S1/S2是匯聚交換機(3層交換機)、S3/S4是接入交換機(2層交換機)。
圖1 高可靠性企業(yè)園區(qū)網(wǎng)組網(wǎng)模型
某企業(yè)的業(yè)務需求有:
(1)財務部、市場部和研發(fā)部的用戶為企業(yè)員工,均能訪問企業(yè)服務器;
(2)員工之間可以互通;
(3)企業(yè)客戶可以訪問企業(yè)服務器,客戶之間不能互通;
(4)員工和客戶之間不能互通。
總體思路是:
(1)所有用戶分為4個工作組,對應財務部、市場部、研發(fā)部和企業(yè)客戶,為每個工作組劃分1個VLAN;
(2)為提高關鍵鏈路的可靠性,在匯聚交換機之間配置LACP,設置鏈路冗余備份;
(3)為避免單點故障,在交換機之間設置冗余鏈路;
(4)開啟MSTP,提高網(wǎng)絡可靠性,針對不同VLAN實現(xiàn)負載分擔;
(5)配置VLAN聚合降低管理成本、節(jié)省IP地址。本局域網(wǎng)未設計外網(wǎng)連接。
為了使交換機既能在2層隔離廣播風暴又能在3層實現(xiàn)網(wǎng)絡互通,在S1/S2上劃分2個Super-VLAN,分別是:VLAN100/200,以及4個Sub-VLAN,分別是:VLAN10/20/30/40。 VLAN100 聚合VLAN10/20,VLAN200聚合VLAN30/40;所有VLAN均處于同一IP子網(wǎng)10.1.1.0/24。
為實現(xiàn)冗余鏈路在關鍵鏈路發(fā)生故障時自動啟用,在S1/S2之間配置LACP鏈路聚合。在所有交換機上開啟MSTP,創(chuàng)建兩個實例,使得財務部和市場部的數(shù)據(jù)流量優(yōu)先使用S3-S1-Server路徑,S3-S2-S1-Server作為備份;研發(fā)部和企業(yè)客戶的數(shù)據(jù)流量優(yōu)先使用S4-S2-S1-Server路徑,S4-S1-Server作為備份,以減輕設備負載且不同路徑互為備份。
配置VLAN間路由,使得用戶之間可以互訪,并且都可以訪問企業(yè)服務器;S4配置交換機端口2層隔離,使得企業(yè)客戶之間不能互通,提供更安全、靈活的組網(wǎng)方案[14];配置訪問控制列表(Access Control Lists,ACL),使網(wǎng)絡設備可以通過匹配規(guī)則過濾報文[15],使得員工與客戶之間不能互通。IP地址規(guī)劃見表1。
對S1進行Super-VLAN、VLAN、LACP和MSTP等多種協(xié)議配置,主要代碼如下:
(1)Super-VLAN
[s1]vlan batch 10 20 30 40 100
#創(chuàng)建vlan
[s1-vlan100]aggregate-vlan
#指定vlan100為Super-VLAN
表1 設備IP地址規(guī)劃
[s1-vlan100]access-vlan 10 20
#將Sub-VLAN加入Super-VLAN
[s1-Vlanif100]arp-proxy enable
#使能vlanif100接口的ARP代理功能
[s1-Vlanif100]arp-proxy inter-sub-vlan-proxy enable
#使能Sub-VLAN間的ARP代理功能
(2)VLAN Trunk(G0/0/4 同G0/0/3)
[s1-GigabitEthernet0/0/3]port link-type trunk
#將G0/0/3 改為trunk 模式
[s1-GigabitEthernet0/0/3]port trunk allow-pass vlan 10 20 30 40
#G0/0/3 允許Sub-VLAN 通過
(3)VLAN間路由
[s1-Vlanif100]ip address 10.1.1.254 24
#配置vlanif100的IP地址
[s1-Vlanif1]ip address 172.16.1.254 24
(4)LACP(G0/0/2 同G0/0/1)
[s1]interface Eth-Trunk 1
#創(chuàng)建Eth-Trunk1接口
[s1-Eth-Trunk1]mode lacp-static
#配置鏈路聚合模式為LACP
[s1-Eth-Trunk1]trunkport GigabitEthernet 0/0 /1 0/0 /2 0 /0 /24
#將接口加入Eth-Trunk1
[s1-Eth-Trunk1]max active-linknumber 2
#配置活動接口上限閾值
[s1-Eth-Trunk1]least active-linknumber 1
#配置活動接口下限閾值
[s1-Eth-Trunk1]port link-type trunk
#將Eth-Trunk1改為trunk模式
[s1-Eth-Trunk1]port trunk allow-pass vlan 10 20 30 40
#Eth-Trunk1允許Sub-VLAN通過
[s1]lacp priority 100
#配置S1成為LACP主動端
[s1-GigabitEthernet0/0/1]lacp priority 100
#配置接口優(yōu)先級確定活動鏈路
(5)MSTP
[s1]stp region-configuration
#進入MST域視圖
[s1-mst-region]region-name qiyewang
#配置MST域名
[s1-mst-region]instance 1 vlan 10 20
#配置實例1映射VLAN10、VLAN20
[s1-mst-region]instance 2 vlan 30 40
#配置實例2映射VLAN30、VLAN40
[s1-mst-region]active region-configuration
#激活MST域配置
[s1]stp instance 1 priority 0
#配置實例1中S1為根橋
[s1]stp instance 2 priority 4096
#配置實例2中S1為備份根橋
S2中Super-VLAN配置代碼如下(VLAN、LACP、MSTP均同S1):
[s2-vlan200]aggregate-vlan
[s2-vlan200]access-vlan 30 40
[s2-Vlanif200]ip address 10.1.1.253 24
[s2-Vlanif200]arp-proxy enable
[s2-Vlanif200]arp-proxy inter-sub-vlan-proxy enable
對S3進行VLAN(省略)、MSTP配置(同S1)。
對S4進行VLAN、MSTP(均同S3),端口隔離和ACL等協(xié)議配置,主要代碼如下:
(1)端口隔離配置(E0/0/4 同E0/0/3)
[s4]port-isolate mode l2
#配置端口隔離模式為二層隔離
[s4-Ethernet0/0/3]port-isolate enable
#使能端口隔離功能
(2)ACL 配置(E0/0/4 同E0/0/3)
[s4]acl number 3000
[s4-acl-adv-3000]rule permit ip source 172.16.1.1 0.0.0.0
[s4-acl-adv-3000]rule deny ip source any
#配置只允許客戶與Server通信的數(shù)據(jù)包通過
[s4-Ethernet0/0/4]traffic-filter outbound acl 3000
#在接口使能acl 3000
Wireshark是目前使用非常廣泛的網(wǎng)絡抓包分析軟件之一[16]。通過Wireshark 對S3 的G0/0/1 和G0/0/2接口抓包,圖2 左側上半部分為S3 的G0/0/1接口抓包結果,左側下半部分為S3的G0/0/2接口抓包結果,右側為PC1 Ping Server的結果,可以看出,VLAN10訪問Server的數(shù)據(jù)是通過S3的G0/0/1接口轉發(fā)至S1,再經(jīng)路由轉發(fā)給Server。
圖2 鏈路正常時VLAN10數(shù)據(jù)轉發(fā)路徑
對G0/0/1接口進行shutdown操作,模擬該鏈路發(fā)生故障,如圖3所示,發(fā)現(xiàn)PC1訪問Server的數(shù)據(jù)流量中斷了一段時間,這是由于MSTP重新計算生成樹而導致的,待連通性恢復之后,數(shù)據(jù)通過S3的G0/0/2接口轉發(fā)至S2,進而轉發(fā)至S1,最后轉發(fā)給Server。VLAN30的測試結果也符合企業(yè)業(yè)務要求,這里不再贅述。從仿真結果可以看出,MSTP能夠在對不同VLAN的實現(xiàn)負載分擔、增加鏈路的總帶寬、降低鏈路擁塞的可能性、存在冗余備份鏈路的情況下,有效避免2層環(huán)路帶來的風險,提高園區(qū)網(wǎng)的可靠性,并且備份鏈路啟用時無需人工操作,降低了管理成本。
圖3 備份鏈路啟用后VLAN10數(shù)據(jù)轉發(fā)路徑
通過查看LACP接口成員信息,圖4顯示S1的G0/0/1 和G0/0/2 為活動接口,G0/0/24 為冗余備份接口,該鏈路的總帶寬增大為配置LACP之前的2倍。對S1的G0/0/2進行shutdown操作,模擬該鏈路發(fā)生故障的情況,再次查看eth-trunk 1接口。
圖4 鏈路正常時的活動接口
圖5顯示G0/0/24接口狀態(tài)變?yōu)榛顒咏涌?。從仿真結果可見,LACP鏈路聚合增大了鏈路總帶寬,實現(xiàn)了冗余鏈路在關鍵鏈路發(fā)生故障時自動啟用,無需人工操作,降低了管理成本,并且保證了關鍵鏈路的連通性和總帶寬不受故障影響,提高了網(wǎng)絡的可靠性。
圖5 鏈路故障后的活動接口
在本園區(qū)網(wǎng)中,采用了VLAN聚合技術,通過創(chuàng)建Super-VLAN,給其VLANIF接口配置IP地址,再創(chuàng)建多個Sub-VLAN作為Super-VLAN的成員,Sub-VLAN都使用Super-VLAN的VLANIF接口IP地址作為網(wǎng)關。這樣,Sub-VLAN之間仍然2層隔離以抑制廣播風暴,并且可以通過Super-VLAN的網(wǎng)關地址實現(xiàn)3層互通。只要該IP子網(wǎng)的地址空間足夠,新進用戶只需根據(jù)實際所處工作組加入相應的Sub-VLAN即可;如果需要成立新的工作組,也只需創(chuàng)建新的Sub-VLAN成員加入Super-VLAN即可。VLAN聚合能夠簡化IP子網(wǎng)劃分、降低管理成本、節(jié)省IP地址,使得VLAN劃分更加靈活。
該企業(yè)園區(qū)網(wǎng)的業(yè)務需求完成情況如圖6~9所示。從仿真結果可以看出,本設計實現(xiàn)了該企業(yè)園區(qū)網(wǎng)的業(yè)務需求。
圖6 員工均能訪問企業(yè)服務器
圖7 員工之間可以互通
圖8 客戶可訪問企業(yè)服務器但客戶之間不能互通
圖9 員工和客戶之間不能互通
本文根據(jù)某企業(yè)的實際業(yè)務需求,提出了一種基于eNSP的高可靠性企業(yè)園區(qū)網(wǎng)設計方案,通過eNSP模擬企業(yè)園區(qū)網(wǎng)中的接入交換機、匯聚交換機等網(wǎng)絡設備,并采用VLAM、LACP鏈路聚合、多生成樹協(xié)議MSTP和VLAN聚合等多種協(xié)議配置,使構建的網(wǎng)絡不僅具有較高的通信可靠性,而且能夠滿足網(wǎng)絡的多業(yè)務需求。仿真結果表明,該方案有效提升了企業(yè)園區(qū)網(wǎng)的可靠性和靈活性,能夠為實際網(wǎng)絡的建設提供了有效的參考和依據(jù)。