孟慶琨 徐 陽
(1.聊城市技術(shù)監(jiān)督信息情報(bào)所,山東 聊城 252000;2.聊城大學(xué) 網(wǎng)絡(luò)信息中心,山東 聊城 252059)
在以太網(wǎng)之初,使用的是共享技術(shù),即在一個(gè)邏輯網(wǎng)絡(luò)上的每一個(gè)工作站都處于同一物理介質(zhì)上。采用CSMA/CD機(jī)制,這種沖突檢測方法保證了只能有一個(gè)站點(diǎn)在總線上傳輸。如果有兩個(gè)站點(diǎn)試圖同時(shí)訪問總線并傳輸數(shù)據(jù),這就意味著“沖突”發(fā)生了,兩站點(diǎn)都將被告知出錯(cuò)。然后它們都被拒發(fā),并等待一段時(shí)間以備重發(fā)。
當(dāng)網(wǎng)絡(luò)上的用戶量較少時(shí),網(wǎng)絡(luò)上的交通流量較輕,沖突也就較少發(fā)生,在這種情況下沖突檢測法效果較好。當(dāng)網(wǎng)絡(luò)上的交通流量增大時(shí),沖突也增多,同進(jìn)網(wǎng)絡(luò)的吞吐量也將顯著下降。
局域網(wǎng)交換技術(shù)是作為對(duì)共享式局域網(wǎng)提供有效的網(wǎng)段劃分的解決方案而出現(xiàn)的,它可以使每個(gè)用戶盡可能地分享到最大帶寬。交換技術(shù)是在OSI七層網(wǎng)絡(luò)模型中的第二層,即數(shù)據(jù)鏈路層進(jìn)行操作的,因此交換機(jī)對(duì)數(shù)據(jù)包的轉(zhuǎn)發(fā)是建立在MAC(Media Access Control)地址--物理地址基礎(chǔ)之上的,對(duì)于IP網(wǎng)絡(luò)協(xié)議來說,它是透明的,即交換機(jī)在轉(zhuǎn)發(fā)數(shù)據(jù)包時(shí),不知道也無須知道信源機(jī)和信宿機(jī)的IP地址,只需知其物理地址即MAC地址。交換機(jī)在操作過程當(dāng)中會(huì)不斷的收集資料去建立它本身的一個(gè)地址表,這個(gè)表相當(dāng)簡單,它說明了某個(gè)MAC地址是在哪個(gè)端口上被發(fā)現(xiàn)的,所以當(dāng)交換機(jī)收到一個(gè)TCP/IP封包時(shí),它便會(huì)看一下該數(shù)據(jù)包的目的MAC地址,核對(duì)一下自己的地址表以確認(rèn)應(yīng)該從哪個(gè)端口把數(shù)據(jù)包發(fā)出去。由于這個(gè)過程比較簡單,加上這功能由硬件進(jìn)行處理,因此速度相當(dāng)快,一般只需幾十微秒,交換機(jī)便可決定一個(gè)IP封包該往那里送。
從20世紀(jì)90年代開始,出現(xiàn)了局域網(wǎng)交換設(shè)備。從網(wǎng)絡(luò)交換產(chǎn)品的形態(tài)來看,交換產(chǎn)品大致有三種:端口交換、幀交換和信元交換。
端口交換技術(shù)最早出現(xiàn)于插槽式集線器中。這類集線器的背板通常劃分有多個(gè)以太網(wǎng)段(每個(gè)網(wǎng)段為一個(gè)廣播域)、各網(wǎng)段通過網(wǎng)橋或路由器相連。以太網(wǎng)模塊插入后通常被分配到某個(gè)背板網(wǎng)段上,端口交換適用于將以太模塊的端口在背板的多個(gè)網(wǎng)段之間進(jìn)行分配。這樣網(wǎng)管人員可根據(jù)網(wǎng)絡(luò)的負(fù)載情況,將用戶在不同網(wǎng)段之間進(jìn)行分配。這種交換技術(shù)是基于OSI第一層(物理層)上完成的,它并沒有改變共享傳輸介質(zhì)的特點(diǎn),因此并不是真正意義上的交換。
幀交換是目前應(yīng)用的最廣的局域網(wǎng)交換技術(shù),它通過對(duì)傳統(tǒng)傳輸媒介進(jìn)行分段,提供并行傳送的機(jī)制,減少了網(wǎng)絡(luò)的碰撞沖突域,從而獲得較高的帶寬。不同廠商產(chǎn)品實(shí)現(xiàn)幀交換的技術(shù)均有差異,但對(duì)網(wǎng)絡(luò)幀的處理方式一般有:存儲(chǔ)轉(zhuǎn)發(fā)式和直通式兩種。存儲(chǔ)轉(zhuǎn)發(fā)式(Store-and-Forward):當(dāng)一個(gè)數(shù)據(jù)包以這種技術(shù)進(jìn)入一個(gè)交換機(jī)時(shí),交換機(jī)將讀取足夠的信息,以便不僅能決定哪個(gè)端口將被用來發(fā)送該數(shù)據(jù)包,而且還能決定是否發(fā)送該數(shù)據(jù)包。這樣就能有效地排除了那些有缺陷的網(wǎng)絡(luò)段。雖然這種方式不及使用直通式產(chǎn)品的交換速度,但是它們卻能排除由破壞的數(shù)據(jù)包所引起的經(jīng)常性的有害后果。直通式(Cut-Through):當(dāng)一個(gè)數(shù)據(jù)包使用這種技術(shù)進(jìn)入一個(gè)交換機(jī)時(shí),它的地址將被讀取。然后不管該數(shù)據(jù)包是否為錯(cuò)誤的格式,它都將被發(fā)送。由于數(shù)據(jù)包只有開頭幾個(gè)字節(jié)被讀取,所以這種方法提供了較多的交換次數(shù)。然而所有的數(shù)據(jù)包即使是那些可能已被破壞的都將被發(fā)送。直到接收站才能測出這些被破壞的包,并要求發(fā)送方重發(fā)。但是如果網(wǎng)絡(luò)接口卡失效,或電纜存在缺陷;或有一個(gè)能引起數(shù)據(jù)包遭破壞的外部信號(hào)源,則出錯(cuò)將十分頻繁。
隨著技術(shù)的發(fā)展,直通式交換將逐步被淘汰。
在“直通式”交換方式中,交換機(jī)只讀出網(wǎng)絡(luò)幀的前幾個(gè)字節(jié),便將網(wǎng)絡(luò)幀傳到相應(yīng)的端口上,雖然交換速度很快,但缺乏對(duì)網(wǎng)絡(luò)幀的高級(jí)控制,無智能性和安全性可言,同時(shí)也無法支持具有不同速率端口的交換;而“存儲(chǔ)轉(zhuǎn)發(fā)”交換方式則通過對(duì)網(wǎng)絡(luò)幀的讀取進(jìn)行驗(yàn)錯(cuò)和控制。
信元交換的基本思想是采用固定長度的信元進(jìn)行交換,這樣就可以用硬件實(shí)現(xiàn)交換,從而大大提高交換速度,尤其適合語音、視頻等多媒體信號(hào)的有效傳輸。目前,信元交換的實(shí)際應(yīng)用標(biāo)準(zhǔn)是ATM(異步傳輸模式),但是ATM設(shè)備的造價(jià)較為昂貴,在局域網(wǎng)中的應(yīng)用已經(jīng)逐步被以太網(wǎng)的幀交換技術(shù)所取代。
線速交換,是指能夠按照網(wǎng)絡(luò)通信線上的數(shù)據(jù)傳輸速度實(shí)現(xiàn)無瓶頸的數(shù)據(jù)交換。
要想在傳輸速度一定的線路中處理盡可能多的幀,必須要使幀最小,此時(shí)交換機(jī)的處理能力才能達(dá)到最大。如果是以太網(wǎng),MAC幀最小為64B,這種64B的幀最大限量通過線纜的狀態(tài)就是 “線速”。100M以太網(wǎng)為14萬8810個(gè)每秒,1000M以太網(wǎng)為100M的十倍,即148萬8095個(gè)每秒。
在線速狀態(tài)下,也就是LAN交換機(jī)接收了單位時(shí)間里線路處理的最大幀數(shù)的狀態(tài)下,只要能毫無延遲地處理幀,就可以說這一LAN交換機(jī)具備了充分的處理性能,這就是“支持線速”的意思。
另外,LAN交換機(jī)的所有端口都以線速接收幀,并能無延遲地處理被稱為“無阻塞(Nonblocking)”。
針對(duì)LAN交換機(jī)的轉(zhuǎn)發(fā)性能測試,一方面是,基本測試指標(biāo),主要包括對(duì)測試設(shè)備和被測試設(shè)備的設(shè)置、幀內(nèi)容、幀長度以及測試的時(shí)間。主要的測試項(xiàng)如下:
(1)吞吐率:測試被測設(shè)備在不丟幀情況下的最大速率。
(2)時(shí)延:測試被測設(shè)備的時(shí)延,對(duì)于存儲(chǔ)轉(zhuǎn)發(fā)式的交換機(jī),時(shí)延為從測試幀的最后一個(gè)bit進(jìn)入交換機(jī)輸入端口到測試幀的第一個(gè)bit出現(xiàn)在輸出端口上的時(shí)間間隔。
(3)丟包率:測試被測設(shè)備因資源不足而導(dǎo)致丟包的比率。
(4)背靠背幀:測試被測設(shè)備處理背靠背報(bào)文的能力。
另一方面是,針對(duì)局域網(wǎng)中所有交換設(shè)備,主要的測試項(xiàng)如下:
(1)全網(wǎng)狀吞吐量,丟幀率和轉(zhuǎn)發(fā)率:測試被測設(shè)備在全網(wǎng)狀通信下的吞吐量、丟幀率和轉(zhuǎn)發(fā)率。
(2)部分網(wǎng)狀/一對(duì)多/多對(duì)一:確定從多個(gè)端口傳輸?shù)揭粋€(gè)端口或從一個(gè)端口傳輸?shù)蕉鄠€(gè)端口時(shí)的吞吐量。與全網(wǎng)狀測試一樣,這個(gè)測試是主要是在無幀丟失時(shí)交換幀的性能。
(3)部分網(wǎng)狀單向通信:確定當(dāng)被測設(shè)備上一半端口單向傳輸信息流往另一半的端口時(shí)的吞吐量。
(4)擁塞控制:確定一個(gè)被測設(shè)備如何處理擁塞。一個(gè)設(shè)備是否執(zhí)行擁塞控制,一個(gè)擁塞的端口是否會(huì)影響到另一個(gè)沒有擁塞的端口。
(5)轉(zhuǎn)發(fā)壓力測試和最大轉(zhuǎn)發(fā)率:該測試目的是為了在被測設(shè)備在超負(fù)荷的狀態(tài)下,測量并輸出結(jié)果。轉(zhuǎn)發(fā)壓力在被測設(shè)備輸出幀的幀間隙小于96bit出現(xiàn)。
(6)地址學(xué)習(xí)速率:確定LAN交換設(shè)備地址學(xué)習(xí)速率。
(7)錯(cuò)誤幀過濾:目的是為了確定在被測設(shè)備出現(xiàn)錯(cuò)誤或者異常幀的情況下,是過濾出錯(cuò)誤幀還是繼續(xù)傳播錯(cuò)誤幀。
(8)廣播幀的轉(zhuǎn)發(fā)和延遲:被測設(shè)備轉(zhuǎn)發(fā)廣播通信時(shí)的吞吐量和延遲。
在測試整機(jī)滿負(fù)荷吞吐率時(shí),經(jīng)常會(huì)發(fā)現(xiàn)無法解釋的丟包現(xiàn)象,特別是當(dāng)測試時(shí)間超過一定長度的時(shí)候。通常,測試時(shí)間很短時(shí)(只有幾秒鐘)不會(huì)出現(xiàn)丟包現(xiàn)象,但當(dāng)測試時(shí)間超過1分鐘或更長時(shí),就會(huì)觀察到出現(xiàn)少量的丟包,并隨著測試時(shí)間增加丟包數(shù)量也會(huì)增加。相似的現(xiàn)象在測試時(shí)延的時(shí)候也會(huì)出現(xiàn),即當(dāng)測試時(shí)間很短時(shí),時(shí)延結(jié)果數(shù)值比較穩(wěn)定,但當(dāng)測試時(shí)間超過1分鐘或更長時(shí),時(shí)延值將會(huì)越來越大。
造成這個(gè)問題的原因是測試設(shè)備(如Smartbits,IXIA等)和被測設(shè)備之間的參考時(shí)鐘速率不同導(dǎo)致。二者的參考時(shí)鐘是互相獨(dú)立的。根據(jù)以太網(wǎng)規(guī)范(802.3-7.3.2)允許時(shí)鐘有+/-0.01%的偏差。以千兆以太網(wǎng)為例,如果測試設(shè)備的時(shí)鐘在這個(gè)允許范圍的上限,那么每秒鐘測試設(shè)備將發(fā)送1,000,100,000個(gè)bit。如果被測設(shè)備的時(shí)鐘沒有任何偏差,即每秒1Gbit,那么當(dāng)測試的第一秒鐘結(jié)束后,被測設(shè)備將比測試設(shè)備慢100,000bit。隨著測試時(shí)間的增加,無論多大的包緩存,都將最終被耗盡而導(dǎo)致報(bào)文的丟棄。
那么,如何判斷丟包是由于時(shí)鐘頻率的偏差導(dǎo)致的而不是其他的問題?或者說因?yàn)闀r(shí)鐘頻率引起的丟包率大概是多少以內(nèi)才是合理的?
根據(jù)上文的描述,802.3允許的時(shí)鐘偏差為0.01%。也就是說,在最糟糕的情況下,如果測試設(shè)備正偏0.01%,而被測設(shè)備負(fù)偏了0.01%,那么理論上最大的丟包率為0.02%,即吞吐率最高只能達(dá)到99.98%。鑒于Smartbit和IXIA的自動(dòng)化測試工具無法測試如此高精度的吞吐率,建議可以使用SmartWindows或者IXIA Explorer來模擬。以64Byte幀長度100%負(fù)載發(fā)包120s,將接受的報(bào)文總數(shù)除以測試設(shè)備實(shí)際發(fā)送的報(bào)文總數(shù),則可以得出丟包率。理論上,如果丟包率小于0.02%,都可能是因?yàn)闀r(shí)鐘頻率偏差導(dǎo)致的。而實(shí)際上測試設(shè)備和被測設(shè)備之間的時(shí)鐘頻率偏差并不會(huì)達(dá)到規(guī)范允許的上下限,所以由于時(shí)鐘原因?qū)е碌膩G包率實(shí)際上是非常小的,通常都在0.02%以下。在實(shí)際測試中,如果發(fā)現(xiàn)有小于0.02%的丟包率,都可以認(rèn)為是由于時(shí)鐘偏差導(dǎo)致,是正常的現(xiàn)象。
當(dāng)然,在真實(shí)的網(wǎng)絡(luò)應(yīng)用環(huán)境中,這樣的時(shí)鐘偏差并不會(huì)是一個(gè)問題,因?yàn)樵趯?shí)際網(wǎng)絡(luò)中,絕大部分的時(shí)間中,網(wǎng)絡(luò)流量都不會(huì)達(dá)到100%線速。這樣的問題只會(huì)存在于交換機(jī)的性能測試中,但對(duì)于測試者而言,了解其中的原因和限制也是非常有必要的。
局域網(wǎng)交換機(jī)的交換性能是由多方面的因素共同影響的,與測試環(huán)境和測試模型有關(guān),與測試設(shè)備以及被測設(shè)備本身的時(shí)鐘頻率偏移有關(guān),也和被測設(shè)備的MMU配置是否合理也有關(guān)系。但參考時(shí)鐘的正偏或者負(fù)偏,由于個(gè)體存在差異,而導(dǎo)致在全線速吞吐率測試下的少量丟包也是合情合理的,并不影響產(chǎn)品在實(shí)際網(wǎng)絡(luò)中的應(yīng)用。