余 輝
(武漢鐵路職業(yè)技術(shù)學(xué)院電子信息工程系,湖北武漢430205)
互聯(lián)網(wǎng)應(yīng)用的多樣化以及應(yīng)用的普及,使得提供互聯(lián)網(wǎng)支撐服務(wù)的網(wǎng)絡(luò)運(yùn)營(yíng)商必須考慮如何能為用戶提供最好的服務(wù),以在市場(chǎng)競(jìng)爭(zhēng)中取得先導(dǎo)地位。其中,如何打造出智能化管道,基于網(wǎng)絡(luò)流量特征來(lái)優(yōu)化網(wǎng)絡(luò)的通信性能已成為當(dāng)前IP承載網(wǎng)絡(luò)的重要研究?jī)?nèi)容。
IP 網(wǎng)絡(luò)的性能問(wèn)題可以轉(zhuǎn)化為互聯(lián)網(wǎng)業(yè)務(wù)應(yīng)用對(duì)IP 網(wǎng)絡(luò)提出服務(wù)質(zhì)量(QoS)要求問(wèn)題。這要求IP 網(wǎng)絡(luò)的管理人員可以對(duì)網(wǎng)絡(luò)當(dāng)前的性能指標(biāo)進(jìn)行提取,并根據(jù)業(yè)務(wù)應(yīng)用需求和業(yè)務(wù)流量特征,優(yōu)化網(wǎng)絡(luò)性能,為業(yè)務(wù)提供滿足服務(wù)質(zhì)量要求的網(wǎng)絡(luò)支撐服務(wù)。
IP 網(wǎng)絡(luò)性能是指一系列對(duì)于運(yùn)營(yíng)商有意義的、可用于系統(tǒng)設(shè)計(jì)、配置、操作和維護(hù)的參數(shù)進(jìn)行測(cè)量所得到的結(jié)果[1]。網(wǎng)絡(luò)性能可以用一系列的網(wǎng)絡(luò)參數(shù)來(lái)度量和描述,體現(xiàn)了網(wǎng)絡(luò)本身的特性。
確保樣本空間足夠大;一定要確保樣本具有代表性;對(duì)于粗粒度時(shí)鐘使用的時(shí)候一定要小心;對(duì)于不可預(yù)知的事情,盡量確保在進(jìn)行測(cè)試的時(shí)候避免發(fā)生;深知干擾測(cè)量結(jié)果的還有緩存機(jī)制;注意對(duì)結(jié)果的外推等等。
在IP 承載網(wǎng)絡(luò)中,需要測(cè)定的網(wǎng)絡(luò)性能參數(shù)有如下這些:
1)IP 網(wǎng)絡(luò)的連接性:也稱可用性、連通性或可達(dá)性,是網(wǎng)絡(luò)的基本能力或?qū)傩?
2)IP 網(wǎng)絡(luò)延遲:是IP 包穿越1 個(gè)或多個(gè)網(wǎng)段所經(jīng)歷的時(shí)間;
3)IP 網(wǎng)絡(luò)丟包率:是指?jìng)鬏數(shù)臄?shù)據(jù)包在網(wǎng)絡(luò)上傳輸時(shí)被丟棄的概率。目前主要用貝努利、馬爾可夫和隱馬爾可夫等模型來(lái)評(píng)估網(wǎng)絡(luò)丟包率[1];
4)IP 網(wǎng)絡(luò)帶寬:包括瓶頸帶寬和可用帶寬,其中瓶頸帶寬是指網(wǎng)絡(luò)能提供最大的吞吐量。
我們現(xiàn)今使用的大部分網(wǎng)絡(luò)中,用實(shí)際經(jīng)驗(yàn)長(zhǎng)期的結(jié)論,操作系統(tǒng)在傳輸線路上所花的時(shí)間往往多于協(xié)議所使用的開(kāi)銷,換句話說(shuō),瓶頸問(wèn)題多半是由主機(jī)引起的,只要加大CPU的速度,數(shù)據(jù)的吞吐量幾乎成倍的增加,而這點(diǎn)想通過(guò)網(wǎng)絡(luò)容量加倍的方法幾乎是徒勞的,可見(jiàn),CPU 的速度比網(wǎng)絡(luò)的速度更重要,
眾所周知,中斷是需要軟件開(kāi)銷的,而每個(gè)分組的到達(dá)都要引起一個(gè)中斷,建議在數(shù)據(jù)傳輸之前盡量收集必要的數(shù)據(jù)用來(lái)減少傳輸過(guò)程中的中斷次數(shù),減少分組數(shù)有助于減少中斷,從而減少軟件開(kāi)銷。
如從內(nèi)核模式到用戶模式稱之為環(huán)境切換(context switch),此類切換方式非常不利于網(wǎng)絡(luò)性能,通常情況下,他們像中斷一樣帶來(lái)不良后果,當(dāng)然最壞的情況還是使大量的緩存沒(méi)有命中率。這種做法環(huán)境切換在每個(gè)分組都浪費(fèi)了大量的可貴的CPU 時(shí)間,甚至對(duì)網(wǎng)絡(luò)性能的影響是致命的,不可恢復(fù)的。
網(wǎng)絡(luò)中傳遞的數(shù)據(jù)文件在傳遞過(guò)程中需要使用兩次系統(tǒng)調(diào)用:Read/Write,包括如圖1 所示的將接收到的數(shù)據(jù)文件讀到內(nèi)存和把內(nèi)存存儲(chǔ)的數(shù)據(jù)文件讀出并通過(guò)Socket 發(fā)送出去的過(guò)程。
圖1 數(shù)據(jù)文件復(fù)制過(guò)程
上述過(guò)程中,由于數(shù)據(jù)文件解析和套接字轉(zhuǎn)發(fā)分別處于網(wǎng)絡(luò)設(shè)備操作系統(tǒng)的用戶空間和內(nèi)核空間。在不同空間進(jìn)行數(shù)據(jù)傳遞時(shí)必須進(jìn)行數(shù)據(jù)拷貝操作。一個(gè)完整的Read/Write 過(guò)程中至少需要進(jìn)行4 次拷貝復(fù)雜操作。而數(shù)據(jù)拷貝是一個(gè)非常消耗CPU 和內(nèi)存資源的過(guò)程。
業(yè)務(wù)占用的網(wǎng)絡(luò)帶寬可以通過(guò)增加付費(fèi)來(lái)加倍提升,但這并不能降低業(yè)務(wù)數(shù)據(jù)的傳輸延遲。解決網(wǎng)絡(luò)業(yè)務(wù)延遲問(wèn)題,需要改變網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)接口和使用合適的操作系統(tǒng)。
有句話:“防病勝過(guò)治病”這句多年被人們認(rèn)可的格言用在網(wǎng)絡(luò)擁堵方面是非常適用的。一旦出現(xiàn)網(wǎng)絡(luò)擁塞,很多問(wèn)題接踵而至,比如分組數(shù)據(jù)丟失、浪費(fèi)帶寬、沒(méi)必要的延遲以及其他問(wèn)題都會(huì)馬上出現(xiàn)。因此,一個(gè)有效的手段是盡量避免出現(xiàn)擁塞。由于互聯(lián)網(wǎng)視頻業(yè)務(wù)的普及,IP 組播承載的需要也得到廣泛應(yīng)用。在組播應(yīng)用中,需要在IP 網(wǎng)絡(luò)中建立組播轉(zhuǎn)發(fā)樹(shù),負(fù)責(zé)將端數(shù)據(jù)轉(zhuǎn)發(fā)到各種接收端。這當(dāng)中,轉(zhuǎn)發(fā)樹(shù)的分支節(jié)點(diǎn)的協(xié)調(diào)控制對(duì)IP 組播網(wǎng)絡(luò)的擁塞控制具有重要影響。因此,如何基于分支路由器協(xié)調(diào)機(jī)制來(lái)控制流量擁塞已成為網(wǎng)絡(luò)運(yùn)營(yíng)商當(dāng)前迫切需要解決的問(wèn)題。
網(wǎng)絡(luò)中定時(shí)器是必不可少的,但是否一定要使用呢?結(jié)論是盡量少用。除此之外定時(shí)器還會(huì)出現(xiàn)超時(shí),一旦出現(xiàn)超時(shí)現(xiàn)象,通常情況下是要重復(fù)某一個(gè)動(dòng)作,如果這個(gè)重復(fù)動(dòng)作是必須的,似乎可以理解,但如果是沒(méi)必要的,那這種類似狀況的重復(fù)動(dòng)作顯然是一種浪費(fèi)了。
目前已有的網(wǎng)絡(luò)性能分析和優(yōu)化解決方案中,很少將網(wǎng)絡(luò)性能與網(wǎng)絡(luò)成本進(jìn)行統(tǒng)一考慮。面對(duì)紛繁復(fù)雜的互聯(lián)網(wǎng)應(yīng)用業(yè)務(wù),如果以最優(yōu)的服務(wù)質(zhì)量滿足所有業(yè)務(wù)服務(wù)質(zhì)量要求,需要付出昂貴的網(wǎng)絡(luò)成本。從經(jīng)濟(jì)角度看,是一個(gè)不可持續(xù)發(fā)展的網(wǎng)絡(luò)模式。而且,不同的網(wǎng)絡(luò)應(yīng)用對(duì)服務(wù)質(zhì)量的要求是不一樣的,對(duì)網(wǎng)絡(luò)成本的支持能力也是不同的。因此,本文提出了一種充分考慮網(wǎng)絡(luò)效益的網(wǎng)絡(luò)性能分析與優(yōu)化解決方案。將網(wǎng)絡(luò)成本需求放到網(wǎng)絡(luò)性能優(yōu)化目標(biāo)的參數(shù)中。方案目標(biāo)是依據(jù)業(yè)務(wù)給定的網(wǎng)絡(luò)成本支付能力,提供服務(wù)質(zhì)量最優(yōu)的網(wǎng)絡(luò)支撐服務(wù)。
通過(guò)公式(1)中的參數(shù)改變,可以實(shí)現(xiàn)網(wǎng)絡(luò)性能分析優(yōu)化。
假設(shè)網(wǎng)絡(luò)D=(V,E),其中V 表示節(jié)點(diǎn)的集合,E 表示鏈路的集合,網(wǎng)絡(luò)D 的成本包括鏈路成本和節(jié)點(diǎn)成本,即:
其中,cos t(link)為鏈路 link 的成本,cos t(node)為node的成本。
針對(duì)網(wǎng)絡(luò)性能優(yōu)化的研究近年來(lái)已經(jīng)取得了一些進(jìn)展,但由于未考慮網(wǎng)絡(luò)成本支撐的需求,因而在實(shí)際應(yīng)用中未得到普及。在市場(chǎng)化條件下,滿足網(wǎng)絡(luò)成本效益需求的網(wǎng)絡(luò)性能優(yōu)化,是一種合理的網(wǎng)絡(luò)管道智能化管理方案。
[1]Maya Yajnik,Sue Moon,Jim Kurose. Measurement and-Modeling of the Temporal Dependence in Packet Loss[A].IEEE INFOCOM[C]. 1999:345 -352.
[2]Lee G,Kwon Y,Cho K,et al. Performance Evaluation of GigabitEthernet Interfaces[C]//Proc. of ICACT’08. Gangwon-Do,Korea:[s. n.],2008.
[3]熊貴喜,王小虎. 計(jì)算機(jī)網(wǎng)絡(luò)[M]. 北京:清華大學(xué)出版社,2008.