覆蓋網(wǎng)絡(luò)發(fā)展現(xiàn)狀分析
時(shí)間:2022-03-12 10:27:00
導(dǎo)語(yǔ):覆蓋網(wǎng)絡(luò)發(fā)展現(xiàn)狀分析一文來(lái)源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
當(dāng)?shù)谝粋€(gè)分組到達(dá)入點(diǎn)后,入點(diǎn)將用其特有的路由選擇方式查找轉(zhuǎn)發(fā)表(稍后將介紹)為其選擇下一跳路由,即下一個(gè)RON結(jié)點(diǎn)——如果不需路由則直接交給接收程序,與傳統(tǒng)路由轉(zhuǎn)發(fā)機(jī)制相似——下一個(gè)結(jié)點(diǎn)繼續(xù)與第一個(gè)結(jié)點(diǎn)相同的工作,直到到達(dá)出點(diǎn)。在轉(zhuǎn)發(fā)的時(shí)候入點(diǎn)為該分組封裝一個(gè)RON包頭,其中包含“流標(biāo)識(shí)”字段。入點(diǎn)在轉(zhuǎn)發(fā)了第一個(gè)分組之后,后續(xù)到達(dá)的屬于同一個(gè)客戶的分組將被標(biāo)上相同的流標(biāo)識(shí),不再查找轉(zhuǎn)發(fā)表,直接按第一個(gè)分組所走的路徑轉(zhuǎn)發(fā),后續(xù)的RON結(jié)點(diǎn)也一樣。除非探測(cè)到路徑中某條虛鏈接發(fā)生重大問(wèn)題,不再適合傳輸該類型的分組,相應(yīng)的結(jié)點(diǎn)才重新查找轉(zhuǎn)發(fā)表從另一條虛鏈接轉(zhuǎn)發(fā)。因?yàn)殒溌窢顟B(tài)信息的獲取十分及時(shí),所以一旦發(fā)生故障結(jié)點(diǎn)可以迅速改變轉(zhuǎn)發(fā)路徑,這是傳統(tǒng)的BGP協(xié)議無(wú)法做到的。
分組轉(zhuǎn)發(fā)的機(jī)制是這樣的,圖3為RON的路由表結(jié)構(gòu)。RON結(jié)點(diǎn)分三步完成一個(gè)完整的查找過(guò)程,第一步查找該分組的路由策略的類型,第二步針對(duì)分組的特點(diǎn)選擇不同的路徑因子,第三步才是查找分組的下一跳??梢钥闯?,查找路由表是比較復(fù)雜的工作,因此只有在第一個(gè)分組到達(dá)或鏈路狀態(tài)發(fā)生重大變化時(shí)才查找路由表。
3.2內(nèi)容傳送網(wǎng)絡(luò)(CDN)
3.2.1介紹
內(nèi)容傳送是當(dāng)前比較熱門的話題之一,而且占用Internet帶寬的很大一部分。對(duì)于因特網(wǎng)內(nèi)容提供者(InternetContentProvider)來(lái)說(shuō),如果采用傳統(tǒng)的中央網(wǎng)站式的內(nèi)容傳送,會(huì)有主干網(wǎng)帶寬浪費(fèi)及使用者下載內(nèi)容時(shí)間過(guò)長(zhǎng)等問(wèn)題。CDN是這樣一種覆蓋網(wǎng)絡(luò),它將內(nèi)容和服務(wù)動(dòng)態(tài)地緩存在分布在因特網(wǎng)各處的結(jié)點(diǎn)上,用戶不需集中訪問(wèn)原始的服務(wù)器,而只需訪問(wèn)物理上或邏輯上“較近”的服務(wù)器的鏡像,這樣可以大大縮短延遲,同時(shí)減少主干網(wǎng)的帶寬消耗。
3.2.2CDN的構(gòu)架
從技術(shù)角度講,CDN由許多分布在因特網(wǎng)上的緩存服務(wù)器組成,這些緩存服務(wù)器向用戶提供內(nèi)容和服務(wù),其上緩存ICP的服務(wù)和內(nèi)容。最重要的問(wèn)題是如何在覆蓋網(wǎng)絡(luò)中進(jìn)行用戶請(qǐng)求的重定向以實(shí)現(xiàn)負(fù)載平衡。當(dāng)接收到一個(gè)用戶請(qǐng)求時(shí),如何為其選擇一個(gè)合適的緩存服務(wù)器取決于多個(gè)因素,主要包括:網(wǎng)絡(luò)上的距離(主要是由路由選擇決定)、物理上的距離、響應(yīng)時(shí)間、服務(wù)器負(fù)載等。
用戶訪問(wèn)的基本流程如下:
1)用戶在自己的瀏覽器中輸入要訪問(wèn)的網(wǎng)站的域名;
2)瀏覽器向本地DNS請(qǐng)求對(duì)該域名的解析;
3)本地DNS將請(qǐng)求發(fā)到網(wǎng)站的主DNS,主DNS再將域名解析請(qǐng)求轉(zhuǎn)發(fā)到重定向DNS;
4)重定向DNS根據(jù)一系列的策略確定當(dāng)時(shí)最適當(dāng)?shù)腃DN節(jié)點(diǎn),并將解析的結(jié)果IP地址發(fā)給用戶;
5)用戶向給定的CDN節(jié)點(diǎn)請(qǐng)求相應(yīng)網(wǎng)站的內(nèi)容;
6)CDN節(jié)點(diǎn)中的服務(wù)器負(fù)責(zé)響應(yīng)用戶的請(qǐng)求提供所需的內(nèi)容。
目前較為常見(jiàn)的商業(yè)性CDN網(wǎng)絡(luò)有Akamai、DigitalIsland等。最大的商業(yè)CDNAkamai自己宣稱,其占用Web流量的15%。CDN正日益受到內(nèi)容提供者和用戶的青睞,市場(chǎng)前景較為廣闊。
3.3應(yīng)用層組播
3.3.1組播介紹
Deering很早就提出了IP組播體系結(jié)構(gòu),設(shè)想組播功能在網(wǎng)絡(luò)層實(shí)現(xiàn),但是實(shí)際中卻遇到了很多問(wèn)題。技術(shù)上的原因是IP組播需要每個(gè)路由器維護(hù)每個(gè)組播組的狀態(tài),路由器的路由表也需要為每個(gè)組播組維護(hù)一個(gè)地址項(xiàng),這在現(xiàn)在的因特網(wǎng)上是很難實(shí)現(xiàn)的;而且IP組播中擁塞控制也太復(fù)雜。這些因素使IP組播無(wú)法得到廣泛應(yīng)用。而近年對(duì)組播的越來(lái)越多的需求使人們重新考慮這一問(wèn)題,新的解決方案也就應(yīng)運(yùn)而生了,這就是應(yīng)用層組播。應(yīng)用層組播是使用覆蓋網(wǎng)絡(luò)進(jìn)行組播的一種組播形式,下一節(jié)將以O(shè)vercast這種較有代表性的體系結(jié)構(gòu)來(lái)介紹使用覆蓋網(wǎng)絡(luò)的應(yīng)用層組播。
3.3.2Overcast:使用覆蓋網(wǎng)絡(luò)的可靠組播
Overcast被設(shè)計(jì)用于單源組播,一個(gè)Overcast覆蓋網(wǎng)絡(luò)由一個(gè)源服務(wù)器(為了應(yīng)付可能出現(xiàn)的故障一般會(huì)有備份)、任意數(shù)目分布在因特網(wǎng)上的Overcast中間結(jié)點(diǎn)和標(biāo)準(zhǔn)的HTTP客戶端構(gòu)成。Overcast使用一個(gè)簡(jiǎn)單的建樹(shù)協(xié)議(tree-buildingprotocol)將中間結(jié)點(diǎn)組織成一棵轉(zhuǎn)發(fā)樹(shù),使用一種叫做“上/下行協(xié)議”(Up/Downprotocol)的協(xié)議來(lái)有效地維護(hù)Overcast網(wǎng)絡(luò)的全局狀態(tài)。
結(jié)點(diǎn)之間的虛擬鏈接是建立在下層的因特網(wǎng)上的,因此轉(zhuǎn)發(fā)樹(shù)的構(gòu)造對(duì)于覆蓋網(wǎng)絡(luò)的性能有很大的影響。在Overcast中建立轉(zhuǎn)發(fā)樹(shù)的原則是盡量增大從根結(jié)點(diǎn)(源服務(wù)器)到所有中間結(jié)點(diǎn)的帶寬。當(dāng)一個(gè)新的結(jié)點(diǎn)加入覆蓋網(wǎng)絡(luò)時(shí),建樹(shù)協(xié)議便開(kāi)始工作了。新結(jié)點(diǎn)要連接根結(jié)點(diǎn),根結(jié)點(diǎn)現(xiàn)在就被看作“當(dāng)前結(jié)點(diǎn)”(currentnode),接著這個(gè)新結(jié)點(diǎn)便開(kāi)始一次次地試探,在不犧牲到根結(jié)點(diǎn)的帶寬的前提下盡量將自己定位到遠(yuǎn)離根結(jié)點(diǎn)的結(jié)點(diǎn)上,成為其孩子結(jié)點(diǎn)。每次試探中新結(jié)點(diǎn)都檢測(cè)其到“當(dāng)前結(jié)點(diǎn)”的帶寬和到“當(dāng)前結(jié)點(diǎn)”的每一個(gè)孩子結(jié)點(diǎn)的帶寬,如果到一些孩子結(jié)點(diǎn)的帶寬和到“當(dāng)前結(jié)點(diǎn)”的帶寬一樣高,則其中距離該新結(jié)點(diǎn)網(wǎng)絡(luò)距離最短(跳數(shù)最少)的一個(gè)孩子結(jié)點(diǎn)成為“當(dāng)前結(jié)點(diǎn)”,新的一次試探開(kāi)始。這就是Overcast建樹(shù)協(xié)議的基本思想。
為了讓客戶快速方便地加入,Overcast網(wǎng)絡(luò)必須實(shí)時(shí)掌握Overcast結(jié)點(diǎn)的狀態(tài),這就需要用到“上/下行協(xié)議”。網(wǎng)絡(luò)中的每個(gè)結(jié)點(diǎn),包括根結(jié)點(diǎn),都維護(hù)一張信息表,記錄所有在樹(shù)的層次結(jié)構(gòu)中低于自己的結(jié)點(diǎn),并保存網(wǎng)絡(luò)變更的日志。協(xié)議的基礎(chǔ)是每一個(gè)結(jié)點(diǎn)周期性地向其直接父結(jié)點(diǎn)報(bào)告自己的存在,如果一個(gè)孩子結(jié)點(diǎn)在一定的時(shí)間間隔內(nèi)沒(méi)有報(bào)告,則父結(jié)點(diǎn)認(rèn)為該孩子結(jié)點(diǎn)“死了”。有可能是結(jié)點(diǎn)自身的故障、鏈路故障或該孩子改變了父結(jié)點(diǎn)。
當(dāng)一個(gè)客戶想要加入組播組時(shí),它使用一個(gè)組的URL來(lái)發(fā)送HTTPGET請(qǐng)求,根結(jié)點(diǎn)根據(jù)結(jié)點(diǎn)的位置和組播樹(shù)的狀態(tài)來(lái)決定該用戶應(yīng)連接到哪一個(gè)結(jié)點(diǎn)上去。組播樹(shù)的狀態(tài)信息能夠?qū)崟r(shí)傳到根結(jié)點(diǎn),所以根結(jié)點(diǎn)可以很快做出決定,這就實(shí)現(xiàn)了快速加入。
4結(jié)束語(yǔ)
覆蓋網(wǎng)絡(luò)是一個(gè)由應(yīng)用推動(dòng)的研究領(lǐng)域。人們對(duì)因特網(wǎng)的諸多新的需求促使很多研究人員開(kāi)始關(guān)注這一領(lǐng)域,并業(yè)已取得顯著效果,許多覆蓋網(wǎng)絡(luò)已由實(shí)驗(yàn)室走向因特網(wǎng),為人們提供了更為方便的服務(wù)。本文只介紹了三種最受關(guān)注的覆蓋網(wǎng)絡(luò),實(shí)際上還有很多功能各異的覆蓋網(wǎng)絡(luò),限于篇幅,本文沒(méi)有再作介紹。
覆蓋網(wǎng)絡(luò)是一個(gè)新興的研究領(lǐng)域,有著很高的應(yīng)用價(jià)值和商業(yè)價(jià)值,發(fā)展前景十分廣闊,值得廣大研究人員繼續(xù)深入研究。
參考文獻(xiàn)
[1]DavidAndersen,HariBalakrishnan,F(xiàn)ransKaashoek,andRobertMorris,MITLaboratoryforComputerScience,ResilientOverlayNetworks
[2]JohnJannotti,DavidK.Gifford,KirkL.Johnson,M.FransKaashoek,JamesW.O''''Toole,Jr.,CiscoSystems,Overcast:ReliableMulticastingwithanOverlayNetwork
[3]FredericThouinandMarkJ.Coates,DepartmentofElectricalandComputerEngineering,McGillUniversity,AReviewOnContentDeliveryNetwork
[4]StefanSaroiu,KrishnaP.Gummadi,RichardJ.Dunn,StevenD.Gribble,andHenryM.Levy,DepartmentofComputerScience&Engineering,UniversityofWashington,AnAnalysisofInternetContentDeliverySystems
[5]徐恪,熊勇強(qiáng),清華大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系吳建平,微軟亞洲研究院對(duì)等網(wǎng)絡(luò)研究綜述
[6]FieldSecurityOperationsDefenseInformationSystemsAgency,VoiceOverInternetProtocol(VOIP)SecurityTechnicalImplementationGuide
[7]RobertStone,UUNETTechnologies,Inc.,CenterTrack:AnIPOverlayNetworkforTrackingDoSFloods
[8]ZhenhaiDuan_,Zhi-LiZhang,Dept.ofComputerScience&Engineering,UniversityofMinnesota.YiweiThomasHou,BradleyDept.ofElectrical&ComputerEngineering,VirginiaTech.ServiceOverlayNetworks:SLAs,QoSandBandwidthProvisioning
摘要隨著因特網(wǎng)發(fā)展的日趨完善,出現(xiàn)了很多所謂的“覆蓋網(wǎng)絡(luò)”(OverlayNetworks),它們的形式多種多樣,功能也不盡相同。本文綜述了覆蓋網(wǎng)絡(luò)的現(xiàn)狀,并對(duì)因特網(wǎng)上目前最流行的三種覆蓋網(wǎng)絡(luò)分別進(jìn)行介紹。
關(guān)鍵詞覆蓋網(wǎng)絡(luò);內(nèi)容傳送;彈性
1引言
近年來(lái)人們不斷對(duì)因特網(wǎng)提出新的需求,例如多播、點(diǎn)對(duì)點(diǎn)文件共享以及保護(hù)隱私等。這些促使了因特網(wǎng)的進(jìn)一步發(fā)展,為了更好地滿足這些要求,覆蓋網(wǎng)絡(luò)應(yīng)運(yùn)而生。本文主要介紹了三種應(yīng)用較為普遍的覆蓋網(wǎng)絡(luò):路由覆蓋網(wǎng)絡(luò)、內(nèi)容傳送網(wǎng)絡(luò)和應(yīng)用層組播。文章安排如下:第2節(jié)介紹覆蓋網(wǎng)絡(luò)的定義和覆蓋網(wǎng)絡(luò)出現(xiàn)的原因,第3節(jié)簡(jiǎn)述三種常見(jiàn)的覆蓋網(wǎng)絡(luò),并舉例說(shuō)明。
2覆蓋網(wǎng)絡(luò)的含義
因特網(wǎng)的體系結(jié)構(gòu)是一種分層的結(jié)構(gòu),其最上一層是應(yīng)用層,它利用傳輸層提供的服務(wù)完成相應(yīng)的應(yīng)用功能,如Web瀏覽、電子郵件服務(wù)、FTP服務(wù)等。但這種傳統(tǒng)的結(jié)構(gòu)已經(jīng)不能很好地滿足越來(lái)越復(fù)雜的應(yīng)用需求。例如,多媒體應(yīng)用的發(fā)展迫切要求網(wǎng)絡(luò)能夠支持組播功能,而目前的因特網(wǎng)尚不能完全支持組播。因此,有人提出在應(yīng)用層實(shí)現(xiàn)組播,具體做法是參加組播的計(jì)算機(jī)自己構(gòu)成一個(gè)覆蓋網(wǎng)絡(luò),然后在應(yīng)用層維護(hù)組播樹(shù)的結(jié)構(gòu)并由應(yīng)用結(jié)點(diǎn)參與進(jìn)行組播轉(zhuǎn)發(fā)。
覆蓋網(wǎng)絡(luò)的基本含義就是在現(xiàn)有的因特網(wǎng)上構(gòu)建一個(gè)完全位于應(yīng)用層的網(wǎng)絡(luò)系統(tǒng)。覆蓋網(wǎng)絡(luò)服務(wù)不是由因特網(wǎng)服務(wù)提供商(InternetServiceProvider)提供的,而是由一種新型的服務(wù)提供商提供。它存在于因特網(wǎng)基礎(chǔ)設(shè)施和應(yīng)用程序之間,利用ISP提供的服務(wù)來(lái)向其用戶提供更加優(yōu)化的服務(wù)。可以認(rèn)為,覆蓋網(wǎng)絡(luò)是分布在因特網(wǎng)上的一組提供服務(wù)的主機(jī)的集合,它們?yōu)橐粋€(gè)或多個(gè)應(yīng)用程序提供下層的基礎(chǔ)設(shè)施,在某種程度上轉(zhuǎn)發(fā)和處理應(yīng)用程序的數(shù)據(jù),所采用的方式與目前因特網(wǎng)上的不同;由第三方運(yùn)營(yíng)和管理,不是當(dāng)前因特網(wǎng)體系結(jié)構(gòu)的一部分。
3常見(jiàn)的覆蓋網(wǎng)絡(luò)
3.1路由覆蓋網(wǎng)絡(luò)
路由覆蓋網(wǎng)絡(luò)的作用是為了控制或改善網(wǎng)絡(luò)上數(shù)據(jù)傳送的路徑,在一個(gè)路由覆蓋網(wǎng)絡(luò)中,通信雙方的端結(jié)點(diǎn)并不改變,改變的是其分組可能經(jīng)過(guò)的路由。我們知道,因特網(wǎng)由很多個(gè)自治系統(tǒng)(AutonomousSystem)組成,每個(gè)自治系統(tǒng)由一個(gè)ISP維護(hù),分組在一個(gè)自治系統(tǒng)內(nèi)部的路徑由管理該自治系統(tǒng)的ISP決定,受多個(gè)因素影響,其中包括自治系統(tǒng)的內(nèi)部結(jié)構(gòu)和傳送分組所需的開(kāi)銷。每個(gè)ISP與其相連結(jié)的ISP一般都會(huì)有商業(yè)上的協(xié)定,這些協(xié)定決定了分組從哪一條路徑傳送到下一個(gè)自治系統(tǒng)的開(kāi)銷最小。自治系統(tǒng)之間運(yùn)行邊界網(wǎng)關(guān)協(xié)議(BorderGatewayProtocol),BGP允許每個(gè)ISP設(shè)定關(guān)于接收、轉(zhuǎn)發(fā)分組的控制策略,然后通過(guò)分布式計(jì)算來(lái)確定一條從源結(jié)點(diǎn)到目的結(jié)點(diǎn)的“最佳”的路徑。
但是由于每一個(gè)ISP側(cè)重的目標(biāo)不一致,比如有的ISP考慮傳送分組的開(kāi)銷,有的關(guān)注可用帶寬和傳輸延遲,還有的希望盡量合理地使用下層物理鏈路以減小擁塞出現(xiàn)的幾率。因此,這種所謂的“最佳”路徑對(duì)于用戶來(lái)說(shuō)很大程度上并不是最佳的。因特網(wǎng)本身的路由機(jī)制,完全由ISP決定,端用戶和應(yīng)用程序無(wú)法參與,這種路由機(jī)制對(duì)于端用戶和應(yīng)用程序來(lái)說(shuō)是不精確的,它僅反映了ISP對(duì)開(kāi)銷和運(yùn)行效率的考慮,而不顧用戶和應(yīng)用程序的真正需求。下一節(jié)我們將要介紹的是針對(duì)這種現(xiàn)狀而提出的,旨在改善路由選擇,并與應(yīng)用程序緊密聯(lián)系的一種覆蓋網(wǎng)絡(luò)——彈性覆蓋網(wǎng)絡(luò)(RON)。
3.1.1彈性覆蓋網(wǎng)絡(luò)介紹
彈性覆蓋網(wǎng)絡(luò)是一種分布式覆蓋網(wǎng)絡(luò)體系結(jié)構(gòu),分布于因特網(wǎng)上的RON結(jié)點(diǎn)可以僅用數(shù)秒的時(shí)間檢測(cè)到鏈路的失效和周期性的性能惡化,并快速恢復(fù),而目前的因特網(wǎng)BGP協(xié)議則需數(shù)分鐘。RON結(jié)點(diǎn)自動(dòng)監(jiān)測(cè)連接它們的下層因特網(wǎng)鏈路的質(zhì)量,使用收集到的信息并結(jié)合該應(yīng)用程序?qū)δ囊宦窂揭蜃樱ㄈ缪舆t、分組丟失率、鏈路吞吐量等)更敏感來(lái)決定某一應(yīng)用程序的分組是直接由因特網(wǎng)鏈路轉(zhuǎn)發(fā)還是經(jīng)由另一RON結(jié)點(diǎn),這樣可以更加優(yōu)化應(yīng)用程序的路由選擇。
3.1.2RON的功能實(shí)現(xiàn)
首先要明確一個(gè)概念,所謂“RON結(jié)點(diǎn)”,并不是特殊的路由器硬件,第2.2節(jié)已經(jīng)闡述覆蓋網(wǎng)絡(luò)的特點(diǎn)之一就是不對(duì)下層的因特網(wǎng)基礎(chǔ)設(shè)施進(jìn)行改變,RON結(jié)點(diǎn)是分布在因特網(wǎng)上的一些有組織的主機(jī),這些主機(jī)上運(yùn)行專門的RON軟件,實(shí)現(xiàn)的功能在某種意義上與路由器相同,但應(yīng)區(qū)別這兩者。
RON結(jié)點(diǎn)在現(xiàn)有因特網(wǎng)之上構(gòu)建一個(gè)虛擬的網(wǎng)絡(luò),這個(gè)網(wǎng)絡(luò)的任意兩個(gè)結(jié)點(diǎn)之間都會(huì)維護(hù)一條由下層因特網(wǎng)鏈路構(gòu)成的路徑,稱為“虛鏈接”(virtuallink)。它們之間會(huì)定期或不定期通過(guò)發(fā)送探測(cè)包和監(jiān)測(cè)來(lái)了解當(dāng)前的網(wǎng)絡(luò)狀態(tài)。比如,有一個(gè)N個(gè)結(jié)點(diǎn)構(gòu)成的RON系統(tǒng),每一個(gè)結(jié)點(diǎn)都會(huì)及時(shí)探測(cè)最新的到其余N-1個(gè)結(jié)點(diǎn)的虛鏈接的狀態(tài),這個(gè)狀態(tài)包括三個(gè)方面的內(nèi)容,延遲、分組丟失率和鏈路吞吐量。結(jié)點(diǎn)將得到的最新的虛鏈接的狀態(tài)信息保存在本地的一個(gè)性能數(shù)據(jù)庫(kù)中,并以此作為路由選擇的重要依據(jù)。
使用RON轉(zhuǎn)發(fā)數(shù)據(jù)的應(yīng)用程序稱為“RON客戶”(RONClient),RON的主要設(shè)計(jì)目標(biāo)就是為客戶程序提供更加可靠的路由機(jī)制。RON客戶通過(guò)一種叫做“管道”(conduit)的接口與RON結(jié)點(diǎn)進(jìn)行交互,如圖1所示。通過(guò)管道接收分組的第一個(gè)結(jié)點(diǎn)被稱為“入點(diǎn)”(entrynode),相應(yīng)地,分組經(jīng)過(guò)的最后一個(gè)結(jié)點(diǎn)稱為“出點(diǎn)”(exitnode)。