黃 惠
(華東理工大學信息科學與工程學院,上海 200237)
隨著網(wǎng)絡(luò)技術(shù)與物聯(lián)網(wǎng)技術(shù)的發(fā)展,互聯(lián)網(wǎng)用戶規(guī)模進一步擴大,計算機病毒通過網(wǎng)絡(luò)進行傳播也越來越猖獗,同時網(wǎng)絡(luò)設(shè)備高負荷運行,網(wǎng)絡(luò)性能面臨著很大的考驗。為保證網(wǎng)絡(luò)的穩(wěn)定與安全,需對網(wǎng)絡(luò)設(shè)備進行性能檢測與分析,通過新的技術(shù)手段預(yù)測、發(fā)現(xiàn)、改善網(wǎng)絡(luò)性能。本文提出一種優(yōu)化與改善網(wǎng)絡(luò)性能的解決方案。
1.1.1 網(wǎng)絡(luò)性能研究指標
網(wǎng)絡(luò)系統(tǒng)性能分析與評價主要是指通過設(shè)定網(wǎng)絡(luò)性能指標并進行指標測試與分析評價過程。主要參數(shù)有網(wǎng)絡(luò)平均響應(yīng)時間、數(shù)據(jù)傳輸距離、數(shù)據(jù)傳輸穩(wěn)定性、網(wǎng)絡(luò)總體吞吐量、物理介質(zhì)利用率、網(wǎng)絡(luò)傳輸平均延遲時間等。對于網(wǎng)絡(luò)系統(tǒng)維護管理員,其測試參數(shù)主要是網(wǎng)絡(luò)總體吞吐量、物理介質(zhì)利用率和網(wǎng)絡(luò)傳輸平均延遲時間。
1.1.2 網(wǎng)絡(luò)性能分析算法
一般網(wǎng)絡(luò)性能分析算法主要有數(shù)學分析法、模擬仿真法、測試監(jiān)控法等[1]。其分析方法的具體內(nèi)容如下:
(1)數(shù)據(jù)分析法。這種方法主要是通過數(shù)理、排隊論等數(shù)據(jù)工具,結(jié)合網(wǎng)絡(luò)指標和網(wǎng)絡(luò)運行實際參數(shù)進行網(wǎng)絡(luò)性能分析。目前數(shù)據(jù)工具主要有排隊論、Little定律、概率論等。
(2)模擬仿真法。主要是指在實際網(wǎng)絡(luò)中通過程序模擬進行測試,并采集與分析網(wǎng)絡(luò)數(shù)據(jù)。
(3)測試監(jiān)控法。測試監(jiān)控方法主要是指直接在實際網(wǎng)絡(luò)中進行網(wǎng)絡(luò)性能測試與分析,其測試結(jié)果具有很高的代表性。例如:如要進行網(wǎng)絡(luò)負荷檢測,則選擇單日網(wǎng)絡(luò)負荷最重時間進行現(xiàn)場測試。
1.1.3 網(wǎng)絡(luò)性能分析模型
建立網(wǎng)絡(luò)性能分析模型步驟:
(1)建立數(shù)學模型。通過數(shù)學分析、模擬仿真等方法進行網(wǎng)絡(luò)數(shù)據(jù)收集、性能參數(shù)設(shè)置建立數(shù)學模型。
(2)進行模型分析。通過對網(wǎng)絡(luò)中數(shù)據(jù)流以及參數(shù)的整理與分析,通過概率論、排隊論等數(shù)據(jù)工具建立起數(shù)據(jù)參數(shù)間的數(shù)學關(guān)系。
(3)模型評價。編寫與模型系統(tǒng)非常接近的程序,通過統(tǒng)計分析方法對程序運行結(jié)果進行分析匯總,通過結(jié)果重新來評價模型系統(tǒng)。
(4)對結(jié)果進行統(tǒng)計、分析以及與實際系統(tǒng)進行結(jié)果比較。采用現(xiàn)場參數(shù)抽樣和求樣本的平均值來校驗?zāi)P团c實際結(jié)果間的差距。
1.1.4 排隊論網(wǎng)絡(luò)模型
在本論文中主要采用排隊論網(wǎng)絡(luò)模型[2],該模型的數(shù)量指標公式為:
(1)系統(tǒng)服務(wù)強度 ρ=l/m2。
(2)系統(tǒng)中沒有任務(wù)的概率為
(3)系統(tǒng)中有n個任務(wù)的概率為
(4)需要排隊的概率為
(5)系統(tǒng)中平均任務(wù)數(shù)量為
(6)系統(tǒng)平均響應(yīng)時間為
(7)隊列中平均任務(wù)數(shù)為
1.2.1 性能測試基本參數(shù)
網(wǎng)絡(luò)性能測量的基本參數(shù)主要有IP可用性、IP包傳輸時延、IP包時延變化、IP包丟失率、IP包誤差率、路徑吞吐量、IP包錯序等[3]。
1.2.2 性能測試
重點介紹與網(wǎng)絡(luò)效率測試相關(guān)的技術(shù)要求,主要包括效率測試目的、測試方法、測試策略、測試工具等。
(1)性能測試目的。通過對網(wǎng)絡(luò)性能進行量化綜合評估,發(fā)現(xiàn)系統(tǒng)可能存在的性能瓶頸,對系統(tǒng)可能出現(xiàn)的性能故障分析定位,為系統(tǒng)資源性能優(yōu)化提供數(shù)據(jù)參考。
(2)性能測試方法。效率測試一般指系統(tǒng)完成預(yù)定功能需要占用通信資源、設(shè)備資源的程度,以及系統(tǒng)在預(yù)定環(huán)境下系統(tǒng)響應(yīng)速度、吞吐能力等測試。例如:在一些語音或視頻傳輸?shù)木W(wǎng)絡(luò)中對IP數(shù)據(jù)包延遲和IP網(wǎng)絡(luò)的帶寬要求比較高,那么就需要使用相應(yīng)的測試工具對延遲和帶寬進行測試。而同理在一些突發(fā)性數(shù)據(jù)比較多的網(wǎng)絡(luò)就應(yīng)該對網(wǎng)絡(luò)的負載進行壓力測試。
(3)測試工具選擇。在制定好測試方法后就要針對具體的方案選用測試工具。測試工具大體上可以分為商品型效率測試工具和開源型的測試工具。商品型效率測試工具功能全面,可以測試多種系統(tǒng),并且監(jiān)測的數(shù)據(jù)比較詳細。這類軟件包括惠普的Loadrunner、IBM 的 Rational Performance tester 等。開源的測試工具功能比較單一,需要結(jié)合多種的測試工具。測試工具包括基本網(wǎng)絡(luò)性能測試工具Netperf、Iperf,網(wǎng)絡(luò)流量跟蹤工具Ntop、MRTG,網(wǎng)絡(luò)抓包工具Tcpdump、WireShark, 網(wǎng) 絡(luò) 分 析 工 具 Tcptrace、Wireshark、Ntop 等[4]。
通過搭建一個小型的骨干網(wǎng)絡(luò)來模擬運營商的IP承載網(wǎng)。在IP網(wǎng)絡(luò)的核心,通過Cacti對網(wǎng)絡(luò)流量進行監(jiān)控和流量圖的分析,分析網(wǎng)絡(luò)的運行狀況,對網(wǎng)絡(luò)故障的排除和網(wǎng)絡(luò)升級提供支持。
2.2.1 網(wǎng)絡(luò)拓撲設(shè)計
在本文所述的測試平臺中使用6臺路由器、1臺監(jiān)控服務(wù)器、2臺PC。其中服務(wù)器是在Windows2003的系統(tǒng)下使用Vmware虛擬1臺Linux服務(wù)器。具體拓撲結(jié)構(gòu)如圖1。其中拓撲圖中的F接口為快速以太網(wǎng)接口,速率為100Mb/s;S接口為串口,速率為128Kb/s。
測試平臺的的設(shè)備型號及操作系統(tǒng)如表1。
2.2.2 測試設(shè)備功能
在本測試平臺中,由 C1、C2、PE1、PE2 組成一個MPLS骨干網(wǎng)絡(luò)。其中C1、C2為核心路由器,其主要作用是高速轉(zhuǎn)發(fā)數(shù)據(jù)。PE1、PE2為骨干網(wǎng)絡(luò)的邊緣服務(wù)器,主要是為客戶路由器提供接入服務(wù)。
圖1 網(wǎng)絡(luò)拓撲結(jié)構(gòu)
表1 網(wǎng)絡(luò)測試設(shè)備以及操作系統(tǒng)參數(shù)
CE1、CE2路由器為客戶路由器,各接入一臺PC,并通過CE路由器接入骨干網(wǎng)絡(luò)。PC1、PC2的主要作用是生成業(yè)務(wù)流量。監(jiān)控服務(wù)器通過C2接入骨干網(wǎng)絡(luò),C2的作用是對整個MPLS骨干網(wǎng)絡(luò)各個設(shè)備的接口流量和CPU進行監(jiān)控。
2.2.3 測試平臺應(yīng)用技術(shù)
本測試平臺主要模擬電信骨干網(wǎng)絡(luò),使用技術(shù)均為現(xiàn)今電信骨干網(wǎng)絡(luò)主流路由技術(shù)。其中內(nèi)部網(wǎng)關(guān)協(xié)議使用ISIS,啟用GBPv4路由,并在路由的基礎(chǔ)上使用MPLS。
在測試過程中主要會應(yīng)用MPLS流量工程(TE)對流量進行控制。傳統(tǒng)的IP網(wǎng)絡(luò)通過數(shù)據(jù)報文的IP頭部所承載的IP地址進行路由和轉(zhuǎn)發(fā),MPLS在IP路由的基礎(chǔ)上通過標簽進行轉(zhuǎn)發(fā),是結(jié)合了IP和ATM技術(shù)優(yōu)點的一種交換技術(shù)。
2.2.4 基本配置
本測試平臺的配置過程如圖2所示。
根據(jù)網(wǎng)絡(luò)拓撲結(jié)構(gòu)中網(wǎng)絡(luò)設(shè)備安裝順序及圖2中測試平臺配置細節(jié),首先對各個路由器的基本信息進行配置,然后配置骨干網(wǎng)的IGP。接著是BGPv4的配置,值得注意的是在骨干中的路由器并不是都使用BGP協(xié)議,只是在PE間配置時才需要該協(xié)議。在路由配置完成后進行CEF和MPLS配置。配置時應(yīng)注意對應(yīng)接口,VRF和BGPv4的配置是為了使MPLS能運載VPN路由。
圖2 測試平臺配置細節(jié)
然后還要對SNMP進行配置,否則監(jiān)控服務(wù)器不能獲取監(jiān)控數(shù)據(jù)。
而對于CE路由器的配置比較簡單,只需應(yīng)用基本的IGP協(xié)議即可。
Cacti是一種利用 RRDtool(RoundRobin DatabaseTool)、SNMP、PHP、MYSQL、Apache 多 種 工具的一種監(jiān)控軟件,支持Windows和Unix操作系統(tǒng)。Cacti主要功能包括數(shù)據(jù)定時采集、圖像繪制與顯示、樹狀的主機和圖像管理、RRDTool信息管理、用戶和權(quán)限管理以及模板導入導出等[5]。
Cacti系統(tǒng)由4個部分組成:
(1)Cacti頁面(PHP)——用戶控制平臺,用戶可以在此進行所有的設(shè)置;
(2)SNMP采集工具——Unix下使用Net-SNMP軟件,包中已經(jīng)有“snmpget”和“snmpwalk”等程序,Windows下使用PHP的SNMP功能[6];
(3)RRDTool繪圖引擎——性能數(shù)據(jù)的存儲和繪畫圖像;
(4)MySQL數(shù)據(jù)庫——儲存RRDTool繪圖所需的信息。
以第2節(jié)搭建的測試平臺作為具體實例,通過使用Cacti對該平臺進行流量測試。在分析相應(yīng)的流量數(shù)據(jù)后,對測試網(wǎng)絡(luò)所存在的故障及瓶頸進行排除并提出相應(yīng)解決方案。
建立正確的測試流程可以提高測試的效率和準確性。根據(jù)第2節(jié)所述的測試平臺,訂立測試實例的工作流程如圖3所示。具體流程為:
(1)利用 Ping 工具,通過測試 CE1、CE2、PC1、PC2,來獲得網(wǎng)絡(luò)連通性情況,以及獲得延遲和丟包的數(shù)據(jù)。
(2)在PC1和PC2之間進行壓力測試,通過壓力測試獲得骨干網(wǎng)絡(luò)的最高負載情況。使用的工具是在PC間發(fā)送數(shù)據(jù)包的BandwidthTest和在骨干網(wǎng)獲取流量數(shù)據(jù)的Cacti。
(3)在骨干網(wǎng)絡(luò)下模擬故障,通過Cacti獲得故障信息,并進行故障排除。
(4)在完成上述測試后,通過整理各種數(shù)據(jù),對測試平臺進行分析,查找網(wǎng)絡(luò)的瓶頸。然后使用MPLS的TE對網(wǎng)絡(luò)進行優(yōu)化,在優(yōu)化過程中使用Cacti記錄優(yōu)化狀況。
(5)最后提出網(wǎng)絡(luò)擴容的建議。
3.2.1 連通性測試方案
連通性測試在CE1和CE2以及PC1和PC2中進行[7],實施方案如下:
(1)登陸CE1和CE2路由器,使用Ping命令,從CE1路由器Ping到PE2路由器,然后從CE2路由器Ping到CE1路由器,Ping包的大小是1500 B,數(shù)量是100。記錄數(shù)據(jù)。
(2)接下是從PC1到PC2的Ping測試,記錄數(shù)據(jù)。
另外,在連通性測試進行的過程中骨干網(wǎng)不承載業(yè)務(wù)。
3.2.2 連通性測試過程
連通性的測試過程如下:
(1)從CE1到CE2的Ping測試,見圖4;
(2)從CE2到CE1的Ping測試,見圖5。
3.2.3 連通性測試結(jié)果
連通性測試結(jié)果如下:
(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測試
結(jié)果:能Ping通。
從實驗結(jié)果可知PC1到PC2連通性正常,可以繼續(xù)下一步測試。
3.3.1 壓力測試方案
壓力測試在PC1和PC2中進行,并且在骨干網(wǎng)中使用Cacti收集流量數(shù)據(jù)[8]。實施方案如下:
(1)使用 BandwidthTest,從 PC2 向 PC1 發(fā)送數(shù)據(jù)。
(2)通過Cacti收集流量信息。監(jiān)控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 發(fā)送數(shù)據(jù),如圖6所示。
圖3 測試案例工作流程圖
圖4 從CE1到CE2的Ping測試
圖5 從CE2到CE1的Ping測試
(2)通過Cacti收集流量信息。
通過Cacti收集C1的F0/1流量信息見圖7。
3.3.3 壓力測試結(jié)果
圖6 使用BandwidthTest壓力測試
圖7 通過Cacti收集C1的F0/1流量信息
經(jīng)過10 h的壓力測試可以發(fā)現(xiàn),通過骨干網(wǎng)絡(luò)的最高流量是126.09Kb。即使在PC端打開更多的連接程序也無法提高流量。經(jīng)過對Cacti收集到的流量圖進行分析,可以發(fā)現(xiàn)流量經(jīng)過的路徑是PE2-C1-PE1,也就是說在骨干網(wǎng)中有兩條鏈路并沒有得到利用。
Cacti可以監(jiān)控網(wǎng)絡(luò)設(shè)備的CPU、內(nèi)存、接口流量等參數(shù)。這里通過模擬設(shè)備故障,使用Cacti發(fā)現(xiàn)MPLS骨干網(wǎng)絡(luò)的故障,并提出解決方案。
3.4.1 設(shè)備故障排除流程
建立正確的測試流程可以提高測試的效率和準確性。根據(jù)第2節(jié)所述的測試平臺,訂立測試實例的工作流程如圖8所示。
圖8 設(shè)備排除故障流程
具體排錯流程如下:
(1)發(fā)現(xiàn)Cacti出現(xiàn)異常時首先應(yīng)對異常進行判斷。
(2)如果出現(xiàn)高流量,應(yīng)通過Ping等工具檢測延遲和丟包參數(shù)。
(3)如果發(fā)現(xiàn)高流量影響業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)發(fā),應(yīng)使用QOS等策略對流量進行控制。
(4)如果結(jié)點經(jīng)常出現(xiàn)高流量,應(yīng)考慮升級設(shè)備或提高帶寬。
(5)如果Cacti出現(xiàn)的是沒有流量或設(shè)備CPU使用異常,應(yīng)登陸設(shè)備查看。
(6)如果是設(shè)備出現(xiàn)故障,應(yīng)對設(shè)備進行故障排除。
(7)如果設(shè)備運行正常,則應(yīng)檢查監(jiān)控設(shè)備。
(8)如果設(shè)備經(jīng)常出現(xiàn)低流量或CPU使用異常,則考慮更換或升級設(shè)備
3.4.2 高流量異常
如圖9所示,C2在23:20到00:20中出現(xiàn)一次高流量,按照流程處理故障。
圖9 高流量異常實例圖
(1)C2是核心路由器,當出現(xiàn)高流量異常時,可以通過Ping等工具,對網(wǎng)絡(luò)的延遲和丟包進行測試,如果沒有影響正常的業(yè)務(wù),則說明高流量是正常的,不需進行排除。如果已經(jīng)影響到正常的業(yè)務(wù),則可以通過對路由器進行配置,把某部分業(yè)務(wù)轉(zhuǎn)移到另外的鏈路中[9]。在設(shè)計IP承載網(wǎng)時,把核心路由器的連接設(shè)計成全互聯(lián)可以解決這一類故障,由于核心是全互聯(lián)的,就可以把業(yè)務(wù)轉(zhuǎn)移到某些流量不高的路徑,減少高流量對業(yè)務(wù)的影響,也更合理地使用鏈路的帶寬。
(2)翻查Cacti的記錄,如果該鏈路經(jīng)常出現(xiàn)高流量,并影響到正常的業(yè)務(wù),則應(yīng)通過設(shè)置QOS策略等方法調(diào)整。
(3)如果對設(shè)備設(shè)置了QOS以后該線路仍經(jīng)常出現(xiàn)影響正常業(yè)務(wù)的高流量,則應(yīng)該對鏈路的帶寬進行擴容。
通過測試可以發(fā)現(xiàn),測試平臺在無業(yè)務(wù)流量的情況下能正常運作,平均延時為231ms,沒有出現(xiàn)丟包的現(xiàn)象。在進行壓力測試后測出最高負載為126.06Kb/s。
結(jié)合測試結(jié)果及MPLS網(wǎng)絡(luò)的設(shè)計,由于PE2連接到C1和C2的鏈路為串口,該接口所在的接口卡所能支持的最高速率為128Kb/s。而在骨干網(wǎng)中的其他鏈路的速率都為100Mb/s,因此出現(xiàn)瓶頸。并且通過Cacti記錄到的數(shù)據(jù),在路徑PE2-C1-PE1出現(xiàn)繁忙時,另一條路徑PE2-C2-PE1并沒有過多流量經(jīng)過,也就是說鏈路沒有被充分利用。
在此基礎(chǔ)上提出兩點優(yōu)化建議:
(1)通過配置TE優(yōu)化網(wǎng)絡(luò)。通過MPLS的TE工程可以解決鏈路利用率低的問題,如在本測試平臺中配置TE,當路徑PE2-C1-PE1出現(xiàn)繁忙時,另一條路徑PE2-C2-PE1可以把一部分的帶寬用于轉(zhuǎn)發(fā)路徑PE2-C1-PE1正在轉(zhuǎn)發(fā)的數(shù)據(jù),降低鏈路路徑PE2-C1-PE1的流量。而當鏈路出現(xiàn)故障時也可以把流量切換到路徑PE2-C1-PE1上。
(2)通過提升鏈路帶寬消除網(wǎng)絡(luò)瓶頸。在測試平臺上的骨干網(wǎng)上有三條鏈路是128 Kb/s的,也有兩條鏈路是100 Mb/s的;因此,應(yīng)把128 Kb/s更換為100 Mb/s的鏈路,以免導致兩條100 Mb/s鏈路的浪費。
本文論述了網(wǎng)絡(luò)性能分析方法、分析模型建立以及網(wǎng)絡(luò)測試的基本原理,模擬了一個電信的骨干網(wǎng)絡(luò),并使用Cacti對該網(wǎng)絡(luò)進行了測試。通過測試,得到了該網(wǎng)絡(luò)的基本性能數(shù)據(jù),模擬了對該網(wǎng)絡(luò)的故障排除,并查找到該網(wǎng)絡(luò)的瓶頸。
[1]唐海娜,李俊.網(wǎng)絡(luò)性能監(jiān)測技術(shù)綜述[J].計算機應(yīng)用研究,2004(8):10-13.
[2]張亞明.基于NS2的無線網(wǎng)絡(luò)仿真研究[J].信息安全與通信保密,2007,3(3):58-60.
[3]陳月云,丁青子,鄧曉輝.一種基于IEEE 802.11a的PHYMAC跨層設(shè)計[J].通信技術(shù),2009,42(8):230-232.
[4]金純,柳興,萬寶紅,等.IEEE802.11P:車載環(huán)境下的無線局域網(wǎng)[J].通信技術(shù),2009,42(1):323-325.
[5]李蓬.基于NS2的局域網(wǎng)性能仿真[J].電腦與信息技術(shù),2008,16(1):16-18.
[6]徐雷鳴,龐博,趙耀.NS與網(wǎng)絡(luò)模擬[M].北京:人民郵電出版社,2003.
[7]況曉輝,趙剛,郭勇.網(wǎng)絡(luò)模擬器NS2中仿真功能的問題分析及改進[J].系統(tǒng)仿真學報,2009,21(2):427-431.
[8]包斌,詹自熬.NS2深度探索及在網(wǎng)絡(luò)傳輸性能分析中的應(yīng)用[J].通信技術(shù),2009,42(5):155-157.
[9]彭飛.網(wǎng)絡(luò)安全初探 [J].信息安全與通信保密,2008(6):94-96.