黃 惠
(華東理工大學信息科學與工程學院,上海 200237)
隨著網絡技術與物聯網技術的發展,互聯網用戶規模進一步擴大,計算機病毒通過網絡進行傳播也越來越猖獗,同時網絡設備高負荷運行,網絡性能面臨著很大的考驗。為保證網絡的穩定與安全,需對網絡設備進行性能檢測與分析,通過新的技術手段預測、發現、改善網絡性能。本文提出一種優化與改善網絡性能的解決方案。
1.1.1 網絡性能研究指標
網絡系統性能分析與評價主要是指通過設定網絡性能指標并進行指標測試與分析評價過程。主要參數有網絡平均響應時間、數據傳輸距離、數據傳輸穩定性、網絡總體吞吐量、物理介質利用率、網絡傳輸平均延遲時間等。對于網絡系統維護管理員,其測試參數主要是網絡總體吞吐量、物理介質利用率和網絡傳輸平均延遲時間。
1.1.2 網絡性能分析算法
一般網絡性能分析算法主要有數學分析法、模擬仿真法、測試監控法等[1]。其分析方法的具體內容如下:
(1)數據分析法。這種方法主要是通過數理、排隊論等數據工具,結合網絡指標和網絡運行實際參數進行網絡性能分析。目前數據工具主要有排隊論、Little定律、概率論等。
(2)模擬仿真法。主要是指在實際網絡中通過程序模擬進行測試,并采集與分析網絡數據。
(3)測試監控法。測試監控方法主要是指直接在實際網絡中進行網絡性能測試與分析,其測試結果具有很高的代表性。例如:如要進行網絡負荷檢測,則選擇單日網絡負荷最重時間進行現場測試。
1.1.3 網絡性能分析模型
建立網絡性能分析模型步驟:
(1)建立數學模型。通過數學分析、模擬仿真等方法進行網絡數據收集、性能參數設置建立數學模型。
(2)進行模型分析。通過對網絡中數據流以及參數的整理與分析,通過概率論、排隊論等數據工具建立起數據參數間的數學關系。
(3)模型評價。編寫與模型系統非常接近的程序,通過統計分析方法對程序運行結果進行分析匯總,通過結果重新來評價模型系統。
(4)對結果進行統計、分析以及與實際系統進行結果比較。采用現場參數抽樣和求樣本的平均值來校驗模型與實際結果間的差距。
1.1.4 排隊論網絡模型
在本論文中主要采用排隊論網絡模型[2],該模型的數量指標公式為:
(1)系統服務強度 ρ=l/m2。
(2)系統中沒有任務的概率為

(3)系統中有n個任務的概率為

(4)需要排隊的概率為

(5)系統中平均任務數量為

(6)系統平均響應時間為

(7)隊列中平均任務數為

1.2.1 性能測試基本參數
網絡性能測量的基本參數主要有IP可用性、IP包傳輸時延、IP包時延變化、IP包丟失率、IP包誤差率、路徑吞吐量、IP包錯序等[3]。
1.2.2 性能測試
重點介紹與網絡效率測試相關的技術要求,主要包括效率測試目的、測試方法、測試策略、測試工具等。
(1)性能測試目的。通過對網絡性能進行量化綜合評估,發現系統可能存在的性能瓶頸,對系統可能出現的性能故障分析定位,為系統資源性能優化提供數據參考。
(2)性能測試方法。效率測試一般指系統完成預定功能需要占用通信資源、設備資源的程度,以及系統在預定環境下系統響應速度、吞吐能力等測試。例如:在一些語音或視頻傳輸的網絡中對IP數據包延遲和IP網絡的帶寬要求比較高,那么就需要使用相應的測試工具對延遲和帶寬進行測試。而同理在一些突發性數據比較多的網絡就應該對網絡的負載進行壓力測試。
(3)測試工具選擇。在制定好測試方法后就要針對具體的方案選用測試工具。測試工具大體上可以分為商品型效率測試工具和開源型的測試工具。商品型效率測試工具功能全面,可以測試多種系統,并且監測的數據比較詳細。這類軟件包括惠普的Loadrunner、IBM 的 Rational Performance tester 等。開源的測試工具功能比較單一,需要結合多種的測試工具。測試工具包括基本網絡性能測試工具Netperf、Iperf,網絡流量跟蹤工具Ntop、MRTG,網絡抓包工具Tcpdump、WireShark, 網 絡 分 析 工 具 Tcptrace、Wireshark、Ntop 等[4]。
通過搭建一個小型的骨干網絡來模擬運營商的IP承載網。在IP網絡的核心,通過Cacti對網絡流量進行監控和流量圖的分析,分析網絡的運行狀況,對網絡故障的排除和網絡升級提供支持。
2.2.1 網絡拓撲設計
在本文所述的測試平臺中使用6臺路由器、1臺監控服務器、2臺PC。其中服務器是在Windows2003的系統下使用Vmware虛擬1臺Linux服務器。具體拓撲結構如圖1。其中拓撲圖中的F接口為快速以太網接口,速率為100Mb/s;S接口為串口,速率為128Kb/s。
測試平臺的的設備型號及操作系統如表1。
2.2.2 測試設備功能
在本測試平臺中,由 C1、C2、PE1、PE2 組成一個MPLS骨干網絡。其中C1、C2為核心路由器,其主要作用是高速轉發數據。PE1、PE2為骨干網絡的邊緣服務器,主要是為客戶路由器提供接入服務。

圖1 網絡拓撲結構

表1 網絡測試設備以及操作系統參數
CE1、CE2路由器為客戶路由器,各接入一臺PC,并通過CE路由器接入骨干網絡。PC1、PC2的主要作用是生成業務流量。監控服務器通過C2接入骨干網絡,C2的作用是對整個MPLS骨干網絡各個設備的接口流量和CPU進行監控。
2.2.3 測試平臺應用技術
本測試平臺主要模擬電信骨干網絡,使用技術均為現今電信骨干網絡主流路由技術。其中內部網關協議使用ISIS,啟用GBPv4路由,并在路由的基礎上使用MPLS。
在測試過程中主要會應用MPLS流量工程(TE)對流量進行控制。傳統的IP網絡通過數據報文的IP頭部所承載的IP地址進行路由和轉發,MPLS在IP路由的基礎上通過標簽進行轉發,是結合了IP和ATM技術優點的一種交換技術。
2.2.4 基本配置
本測試平臺的配置過程如圖2所示。
根據網絡拓撲結構中網絡設備安裝順序及圖2中測試平臺配置細節,首先對各個路由器的基本信息進行配置,然后配置骨干網的IGP。接著是BGPv4的配置,值得注意的是在骨干中的路由器并不是都使用BGP協議,只是在PE間配置時才需要該協議。在路由配置完成后進行CEF和MPLS配置。配置時應注意對應接口,VRF和BGPv4的配置是為了使MPLS能運載VPN路由。

圖2 測試平臺配置細節
然后還要對SNMP進行配置,否則監控服務器不能獲取監控數據。
而對于CE路由器的配置比較簡單,只需應用基本的IGP協議即可。
Cacti是一種利用 RRDtool(RoundRobin DatabaseTool)、SNMP、PHP、MYSQL、Apache 多 種 工具的一種監控軟件,支持Windows和Unix操作系統。Cacti主要功能包括數據定時采集、圖像繪制與顯示、樹狀的主機和圖像管理、RRDTool信息管理、用戶和權限管理以及模板導入導出等[5]。
Cacti系統由4個部分組成:
(1)Cacti頁面(PHP)——用戶控制平臺,用戶可以在此進行所有的設置;
(2)SNMP采集工具——Unix下使用Net-SNMP軟件,包中已經有“snmpget”和“snmpwalk”等程序,Windows下使用PHP的SNMP功能[6];
(3)RRDTool繪圖引擎——性能數據的存儲和繪畫圖像;
(4)MySQL數據庫——儲存RRDTool繪圖所需的信息。
以第2節搭建的測試平臺作為具體實例,通過使用Cacti對該平臺進行流量測試。在分析相應的流量數據后,對測試網絡所存在的故障及瓶頸進行排除并提出相應解決方案。
建立正確的測試流程可以提高測試的效率和準確性。根據第2節所述的測試平臺,訂立測試實例的工作流程如圖3所示。具體流程為:
(1)利用 Ping 工具,通過測試 CE1、CE2、PC1、PC2,來獲得網絡連通性情況,以及獲得延遲和丟包的數據。
(2)在PC1和PC2之間進行壓力測試,通過壓力測試獲得骨干網絡的最高負載情況。使用的工具是在PC間發送數據包的BandwidthTest和在骨干網獲取流量數據的Cacti。
(3)在骨干網絡下模擬故障,通過Cacti獲得故障信息,并進行故障排除。
(4)在完成上述測試后,通過整理各種數據,對測試平臺進行分析,查找網絡的瓶頸。然后使用MPLS的TE對網絡進行優化,在優化過程中使用Cacti記錄優化狀況。
(5)最后提出網絡擴容的建議。
3.2.1 連通性測試方案
連通性測試在CE1和CE2以及PC1和PC2中進行[7],實施方案如下:
(1)登陸CE1和CE2路由器,使用Ping命令,從CE1路由器Ping到PE2路由器,然后從CE2路由器Ping到CE1路由器,Ping包的大小是1500 B,數量是100。記錄數據。
(2)接下是從PC1到PC2的Ping測試,記錄數據。
另外,在連通性測試進行的過程中骨干網不承載業務。
3.2.2 連通性測試過程
連通性的測試過程如下:
(1)從CE1到CE2的Ping測試,見圖4;
(2)從CE2到CE1的Ping測試,見圖5。
3.2.3 連通性測試結果
連通性測試結果如下:
(1)從CE1到CE2的Ping測試
1)能 Ping通
2)丟包率為0%
3)平均時延:min/avg/max=196/231/267ms
(2)從CE1到CE2的Ping測試
1)能 Ping通
2)丟包率為0%
3)平均時延:min/avg/max=196/231/267ms
(3)從PC1到PC2的Ping測試
結果:能Ping通。
從實驗結果可知PC1到PC2連通性正常,可以繼續下一步測試。
3.3.1 壓力測試方案
壓力測試在PC1和PC2中進行,并且在骨干網中使用Cacti收集流量數據[8]。實施方案如下:
(1)使用 BandwidthTest,從 PC2 向 PC1 發送數據。
(2)通過Cacti收集流量信息。監控PE1的F0/0、PE2的 F0/1、C1的 F0/1及 S0/2/0、C2的 S0/2/0及S0/2/1共6個接口的流量。
(3)測試時間為 18:28 到 04:38,共 10h。
3.3.2 壓力測試過程
壓力測試的測試過程如下:
(1)使用 BandwidthTest,從 PC2 向 PC1 發送數據,如圖6所示。

圖3 測試案例工作流程圖

圖4 從CE1到CE2的Ping測試

圖5 從CE2到CE1的Ping測試
(2)通過Cacti收集流量信息。
通過Cacti收集C1的F0/1流量信息見圖7。
3.3.3 壓力測試結果

圖6 使用BandwidthTest壓力測試

圖7 通過Cacti收集C1的F0/1流量信息
經過10 h的壓力測試可以發現,通過骨干網絡的最高流量是126.09Kb。即使在PC端打開更多的連接程序也無法提高流量。經過對Cacti收集到的流量圖進行分析,可以發現流量經過的路徑是PE2-C1-PE1,也就是說在骨干網中有兩條鏈路并沒有得到利用。
Cacti可以監控網絡設備的CPU、內存、接口流量等參數。這里通過模擬設備故障,使用Cacti發現MPLS骨干網絡的故障,并提出解決方案。
3.4.1 設備故障排除流程
建立正確的測試流程可以提高測試的效率和準確性。根據第2節所述的測試平臺,訂立測試實例的工作流程如圖8所示。

圖8 設備排除故障流程
具體排錯流程如下:
(1)發現Cacti出現異常時首先應對異常進行判斷。
(2)如果出現高流量,應通過Ping等工具檢測延遲和丟包參數。
(3)如果發現高流量影響業務數據轉發,應使用QOS等策略對流量進行控制。
(4)如果結點經常出現高流量,應考慮升級設備或提高帶寬。
(5)如果Cacti出現的是沒有流量或設備CPU使用異常,應登陸設備查看。
(6)如果是設備出現故障,應對設備進行故障排除。
(7)如果設備運行正常,則應檢查監控設備。
(8)如果設備經常出現低流量或CPU使用異常,則考慮更換或升級設備
3.4.2 高流量異常
如圖9所示,C2在23:20到00:20中出現一次高流量,按照流程處理故障。

圖9 高流量異常實例圖
(1)C2是核心路由器,當出現高流量異常時,可以通過Ping等工具,對網絡的延遲和丟包進行測試,如果沒有影響正常的業務,則說明高流量是正常的,不需進行排除。如果已經影響到正常的業務,則可以通過對路由器進行配置,把某部分業務轉移到另外的鏈路中[9]。在設計IP承載網時,把核心路由器的連接設計成全互聯可以解決這一類故障,由于核心是全互聯的,就可以把業務轉移到某些流量不高的路徑,減少高流量對業務的影響,也更合理地使用鏈路的帶寬。
(2)翻查Cacti的記錄,如果該鏈路經常出現高流量,并影響到正常的業務,則應通過設置QOS策略等方法調整。
(3)如果對設備設置了QOS以后該線路仍經常出現影響正常業務的高流量,則應該對鏈路的帶寬進行擴容。
通過測試可以發現,測試平臺在無業務流量的情況下能正常運作,平均延時為231ms,沒有出現丟包的現象。在進行壓力測試后測出最高負載為126.06Kb/s。
結合測試結果及MPLS網絡的設計,由于PE2連接到C1和C2的鏈路為串口,該接口所在的接口卡所能支持的最高速率為128Kb/s。而在骨干網中的其他鏈路的速率都為100Mb/s,因此出現瓶頸。并且通過Cacti記錄到的數據,在路徑PE2-C1-PE1出現繁忙時,另一條路徑PE2-C2-PE1并沒有過多流量經過,也就是說鏈路沒有被充分利用。
在此基礎上提出兩點優化建議:
(1)通過配置TE優化網絡。通過MPLS的TE工程可以解決鏈路利用率低的問題,如在本測試平臺中配置TE,當路徑PE2-C1-PE1出現繁忙時,另一條路徑PE2-C2-PE1可以把一部分的帶寬用于轉發路徑PE2-C1-PE1正在轉發的數據,降低鏈路路徑PE2-C1-PE1的流量。而當鏈路出現故障時也可以把流量切換到路徑PE2-C1-PE1上。
(2)通過提升鏈路帶寬消除網絡瓶頸。在測試平臺上的骨干網上有三條鏈路是128 Kb/s的,也有兩條鏈路是100 Mb/s的;因此,應把128 Kb/s更換為100 Mb/s的鏈路,以免導致兩條100 Mb/s鏈路的浪費。
本文論述了網絡性能分析方法、分析模型建立以及網絡測試的基本原理,模擬了一個電信的骨干網絡,并使用Cacti對該網絡進行了測試。通過測試,得到了該網絡的基本性能數據,模擬了對該網絡的故障排除,并查找到該網絡的瓶頸。
[1]唐海娜,李俊.網絡性能監測技術綜述[J].計算機應用研究,2004(8):10-13.
[2]張亞明.基于NS2的無線網絡仿真研究[J].信息安全與通信保密,2007,3(3):58-60.
[3]陳月云,丁青子,鄧曉輝.一種基于IEEE 802.11a的PHYMAC跨層設計[J].通信技術,2009,42(8):230-232.
[4]金純,柳興,萬寶紅,等.IEEE802.11P:車載環境下的無線局域網[J].通信技術,2009,42(1):323-325.
[5]李蓬.基于NS2的局域網性能仿真[J].電腦與信息技術,2008,16(1):16-18.
[6]徐雷鳴,龐博,趙耀.NS與網絡模擬[M].北京:人民郵電出版社,2003.
[7]況曉輝,趙剛,郭勇.網絡模擬器NS2中仿真功能的問題分析及改進[J].系統仿真學報,2009,21(2):427-431.
[8]包斌,詹自熬.NS2深度探索及在網絡傳輸性能分析中的應用[J].通信技術,2009,42(5):155-157.
[9]彭飛.網絡安全初探 [J].信息安全與通信保密,2008(6):94-96.