摘 要:本文通過smartbit構(gòu)造數(shù)據(jù)包,盡可能模擬實際應(yīng)用環(huán)境,測試集中控制器的轉(zhuǎn)發(fā)性能,主要對比控制器CPU滿負(fù)載時卸載控制器中的數(shù)據(jù)隧道和VLAN模塊和保持模塊時的小包數(shù)據(jù)差異。
關(guān)鍵詞:集中控制器;TAP;Station
中圖分類號:TP393.05
二層數(shù)據(jù)轉(zhuǎn)發(fā)是衡量一個交換機(jī)性能的基本指標(biāo),集中控制器(Access Control AC)作為一個特殊的交換機(jī)其二層數(shù)據(jù)也不例外,集中控制器主要管控眾多瘦AP,各種無線終端將數(shù)據(jù)提交給瘦AP,瘦AP將接收到的數(shù)據(jù)通過capwap或私有協(xié)議封裝,提交給集中控制器協(xié)調(diào)轉(zhuǎn)發(fā),控制器和TAP間存在兩種通道,一個是控制通道:管理TAP,下發(fā)各種配置;一個數(shù)據(jù)通道:各種終端的數(shù)據(jù)流。控制器將數(shù)據(jù)從瘦AP接口轉(zhuǎn)發(fā)到其WAN口的性能即為二層數(shù)據(jù)轉(zhuǎn)發(fā)能力。
端口數(shù)據(jù)處理能力主要受硬件和軟件影響,傳統(tǒng)AC二層轉(zhuǎn)發(fā)數(shù)據(jù)測試往往將VLAN模塊和數(shù)據(jù)通道模塊卸載,把它當(dāng)作一個普通的switch,測試兩個端口UDP、TCP或ICMP報文的轉(zhuǎn)發(fā)速率,但是AC作為特殊的交換機(jī)僅測試其作為普通交換機(jī)的性能顯然不夠,本文介紹如何不改變AC的內(nèi)置模塊構(gòu)造數(shù)據(jù)報文來實現(xiàn)用smartbit來測試集中控制器的二層數(shù)據(jù)轉(zhuǎn)發(fā)能力。
1 報文構(gòu)造
SmartBit儀器測試原理概括極其簡單,一個端口發(fā)數(shù)據(jù)一個端口收數(shù)據(jù),內(nèi)部運(yùn)算后反饋運(yùn)算結(jié)果,所以主要目標(biāo)是讓一個數(shù)據(jù)包能從SmartBit的發(fā)送口經(jīng)過AC的瘦AP端口、AC的WAN口達(dá)到SmartBit的接收口。
這里以一個構(gòu)造完成的數(shù)據(jù)包反向分析數(shù)據(jù)流向的可行性。
圖1
此報文外層是一個普通的UDP頭,源MAC地址為AP的MAC地址,因為終端所有的數(shù)據(jù)包均通過AP提交給AC的瘦AP接口,瘦AP接口MAC地址為00:99:88:77:66:59, UDP報文封裝了一個私有協(xié)議報文,私有協(xié)議報文封裝了一個ICMP的ping包。
此報文實際環(huán)境為一個無線終端ping AC WAN端一個MAC地址為00:21:9b:1a:fd:aa的設(shè)備,數(shù)據(jù)流向為:station發(fā)出一個ping包給瘦AP,瘦AP接收到ping包將ping包打上私有協(xié)議頭并將數(shù)據(jù)以UDP形式發(fā)送給AC,AC接收并解析報文,從WAN口發(fā)送到ICMP的目的地址。
以上即為一個數(shù)據(jù)包的基本流程,但是SmartBit通過兩個端口與AC的瘦AP接口和WAN口直接相連,中間省略掉瘦AP和station數(shù)據(jù)流向的環(huán)節(jié)。所以不僅需要讓AC認(rèn)為數(shù)據(jù)包是從一個正確的瘦AP發(fā)出,并且這個數(shù)據(jù)包來源于一個正確的station,即ARP均可達(dá),SMB不回復(fù)ARP的請求,需要在AC內(nèi)部添加2條靜態(tài)ARP分別指向WAN口地址和station
將SMB兩個端口地址分別設(shè)置成station和PC的IP和MAC地址,地址從ICMP報文中獲取(MAC分別為00:21:9B:1A:FD:AA;00:16:EA:61:25:FE,IP分別為C0.A8.64.7A-192.168.100.122;C0.A8.64.C8-192.168.100.200)。
因smartwindow軟件支持編輯數(shù)據(jù)包的選項不支持多條數(shù)據(jù)流而支持多條數(shù)據(jù)流的選項不支持自定義數(shù)據(jù)包,所以選擇單條數(shù)據(jù)流,外接一個真實的瘦AP到AC的其他端口,這樣瘦AP的心跳報文和AC交互,AP為真實存在的個體。
添加兩條靜態(tài)ARP,兩條ARP指向SMB兩個端口,讓AC認(rèn)為兩個端口分別為station和WAN口PC機(jī)。
數(shù)據(jù)包發(fā)送到AC瘦AP端口,AC解析數(shù)據(jù)包,數(shù)據(jù)包外層UDP報文為一個已知的AP向其提供的數(shù)據(jù),在校驗和(可以通過分析軟件求出正確的校驗和)和其他字段正確的情況下繼續(xù)分析UDP內(nèi)附帶的報文,剝離私有協(xié)議報文,私有協(xié)議報文附帶ICMP報文,解析ICMP報文,ICMP報文中源地址和目的地址以及它們對應(yīng)的MAC地址在靜態(tài)ARP中已有,所以AC認(rèn)為這是一個有效的報文,轉(zhuǎn)發(fā)到AC WAN口。
整個數(shù)據(jù)轉(zhuǎn)發(fā)過程即為一個讓AC認(rèn)為每一層數(shù)據(jù)均有效的過程,否則AC丟棄報文。為了簡化報文編輯的難度,先通過一個真實的環(huán)境進(jìn)行ping包,在TAP和AC間用抓包工具抓通信報文,然后編輯報文并修改SMB端口MAC地址、IP地址以及在AC中添加相應(yīng)的ARP,讓AC認(rèn)為數(shù)據(jù)包完整有效,達(dá)到測試效果。
數(shù)據(jù)分析:發(fā)送端提供持續(xù)穩(wěn)定的數(shù)據(jù)壓力,數(shù)據(jù)分析主要來自接收端,接收端顯示接收的字節(jié)數(shù)(Total Bytes TB)和包速率(Packets Per Second PPS),轉(zhuǎn)發(fā)的數(shù)據(jù)長度和速率通過以上兩個值計算,計算規(guī)則如下:字節(jié)長度(Packets Size PS)=TB/PPS,轉(zhuǎn)發(fā)速率(Million bit per second Mbps)=PS*PPS*8/1000000。
2 測試結(jié)果
卸載VLAN模塊和數(shù)據(jù)通道模塊的測試數(shù)據(jù):
表1
保持模塊不變的測試結(jié)果:
表2
小包數(shù)據(jù)(packet size<512bytes)時,在CPU負(fù)載達(dá)到100%,卸載VLAN模塊和數(shù)據(jù)通道的做法,測試出的數(shù)據(jù)遠(yuǎn)優(yōu)于普通情況。在AC滿負(fù)載工作時,處理VLAN頭和數(shù)據(jù)隧道開銷占一定的消耗使得整體速率下降,如果再加入三層路由或NAT等處理功能速率將進(jìn)一步下降,這為優(yōu)化各種模塊提供一種直觀的測試數(shù)據(jù)。
3 結(jié)束語
本文通過一個數(shù)據(jù)包反推數(shù)據(jù)流程,再解釋數(shù)據(jù)流可以正確通過SMB和AC各個端口提供在集中管理器正常工作環(huán)境下二層數(shù)據(jù)測試方法,使得測試數(shù)據(jù)更真實合理化,使得相關(guān)模塊對AC性能的影響更加清晰,為程序開發(fā)和優(yōu)化提供直觀數(shù)據(jù)。硬件成本不變的情況下盡大可能優(yōu)化模塊,使得設(shè)備實際值無限接近理論值。
參考文獻(xiàn):
[1]丁娟.基于二層MPLS VPN的VPLS的研究和實現(xiàn)[D].西安:西北工業(yè)大學(xué),2007.
[2]霍群松.關(guān)于WLAN組網(wǎng)和數(shù)據(jù)轉(zhuǎn)發(fā)方式的研究[D].北京:北京郵電大學(xué),2010.
[3]劉詩毅.集中式WLAN數(shù)據(jù)快速轉(zhuǎn)發(fā)方案設(shè)計[D].武漢:華中科技大學(xué),2011.
[4]劉倩倩,胡志坤,廖北平,廖遠(yuǎn)勤,郭海良.基于CAPWAP協(xié)議的WLAN集中管理系統(tǒng)的研究與實現(xiàn)[J].計算機(jī)應(yīng)用,2014(03).
作者簡介:陳張榮(1982.05-),男,蘇州人,教師,講師,碩士,研究方向:嵌入式、物聯(lián)網(wǎng)。
作者單位:蘇州高等職業(yè)技術(shù)學(xué)校,江蘇蘇州 215000