覆蓋網絡發展現狀分析
時間:2022-03-12 10:27:00
導語:覆蓋網絡發展現狀分析一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。
當第一個分組到達入點后,入點將用其特有的路由選擇方式查找轉發表(稍后將介紹)為其選擇下一跳路由,即下一個RON結點——如果不需路由則直接交給接收程序,與傳統路由轉發機制相似——下一個結點繼續與第一個結點相同的工作,直到到達出點。在轉發的時候入點為該分組封裝一個RON包頭,其中包含“流標識”字段。入點在轉發了第一個分組之后,后續到達的屬于同一個客戶的分組將被標上相同的流標識,不再查找轉發表,直接按第一個分組所走的路徑轉發,后續的RON結點也一樣。除非探測到路徑中某條虛鏈接發生重大問題,不再適合傳輸該類型的分組,相應的結點才重新查找轉發表從另一條虛鏈接轉發。因為鏈路狀態信息的獲取十分及時,所以一旦發生故障結點可以迅速改變轉發路徑,這是傳統的BGP協議無法做到的。
分組轉發的機制是這樣的,圖3為RON的路由表結構。RON結點分三步完成一個完整的查找過程,第一步查找該分組的路由策略的類型,第二步針對分組的特點選擇不同的路徑因子,第三步才是查找分組的下一跳。可以看出,查找路由表是比較復雜的工作,因此只有在第一個分組到達或鏈路狀態發生重大變化時才查找路由表。
3.2內容傳送網絡(CDN)
3.2.1介紹
內容傳送是當前比較熱門的話題之一,而且占用Internet帶寬的很大一部分。對于因特網內容提供者(InternetContentProvider)來說,如果采用傳統的中央網站式的內容傳送,會有主干網帶寬浪費及使用者下載內容時間過長等問題。CDN是這樣一種覆蓋網絡,它將內容和服務動態地緩存在分布在因特網各處的結點上,用戶不需集中訪問原始的服務器,而只需訪問物理上或邏輯上“較近”的服務器的鏡像,這樣可以大大縮短延遲,同時減少主干網的帶寬消耗。
3.2.2CDN的構架
從技術角度講,CDN由許多分布在因特網上的緩存服務器組成,這些緩存服務器向用戶提供內容和服務,其上緩存ICP的服務和內容。最重要的問題是如何在覆蓋網絡中進行用戶請求的重定向以實現負載平衡。當接收到一個用戶請求時,如何為其選擇一個合適的緩存服務器取決于多個因素,主要包括:網絡上的距離(主要是由路由選擇決定)、物理上的距離、響應時間、服務器負載等。
用戶訪問的基本流程如下:
1)用戶在自己的瀏覽器中輸入要訪問的網站的域名;
2)瀏覽器向本地DNS請求對該域名的解析;
3)本地DNS將請求發到網站的主DNS,主DNS再將域名解析請求轉發到重定向DNS;
4)重定向DNS根據一系列的策略確定當時最適當的CDN節點,并將解析的結果IP地址發給用戶;
5)用戶向給定的CDN節點請求相應網站的內容;
6)CDN節點中的服務器負責響應用戶的請求提供所需的內容。
目前較為常見的商業性CDN網絡有Akamai、DigitalIsland等。最大的商業CDNAkamai自己宣稱,其占用Web流量的15%。CDN正日益受到內容提供者和用戶的青睞,市場前景較為廣闊。
3.3應用層組播
3.3.1組播介紹
Deering很早就提出了IP組播體系結構,設想組播功能在網絡層實現,但是實際中卻遇到了很多問題。技術上的原因是IP組播需要每個路由器維護每個組播組的狀態,路由器的路由表也需要為每個組播組維護一個地址項,這在現在的因特網上是很難實現的;而且IP組播中擁塞控制也太復雜。這些因素使IP組播無法得到廣泛應用。而近年對組播的越來越多的需求使人們重新考慮這一問題,新的解決方案也就應運而生了,這就是應用層組播。應用層組播是使用覆蓋網絡進行組播的一種組播形式,下一節將以Overcast這種較有代表性的體系結構來介紹使用覆蓋網絡的應用層組播。
3.3.2Overcast:使用覆蓋網絡的可靠組播
Overcast被設計用于單源組播,一個Overcast覆蓋網絡由一個源服務器(為了應付可能出現的故障一般會有備份)、任意數目分布在因特網上的Overcast中間結點和標準的HTTP客戶端構成。Overcast使用一個簡單的建樹協議(tree-buildingprotocol)將中間結點組織成一棵轉發樹,使用一種叫做“上/下行協議”(Up/Downprotocol)的協議來有效地維護Overcast網絡的全局狀態。
結點之間的虛擬鏈接是建立在下層的因特網上的,因此轉發樹的構造對于覆蓋網絡的性能有很大的影響。在Overcast中建立轉發樹的原則是盡量增大從根結點(源服務器)到所有中間結點的帶寬。當一個新的結點加入覆蓋網絡時,建樹協議便開始工作了。新結點要連接根結點,根結點現在就被看作“當前結點”(currentnode),接著這個新結點便開始一次次地試探,在不犧牲到根結點的帶寬的前提下盡量將自己定位到遠離根結點的結點上,成為其孩子結點。每次試探中新結點都檢測其到“當前結點”的帶寬和到“當前結點”的每一個孩子結點的帶寬,如果到一些孩子結點的帶寬和到“當前結點”的帶寬一樣高,則其中距離該新結點網絡距離最短(跳數最少)的一個孩子結點成為“當前結點”,新的一次試探開始。這就是Overcast建樹協議的基本思想。
為了讓客戶快速方便地加入,Overcast網絡必須實時掌握Overcast結點的狀態,這就需要用到“上/下行協議”。網絡中的每個結點,包括根結點,都維護一張信息表,記錄所有在樹的層次結構中低于自己的結點,并保存網絡變更的日志。協議的基礎是每一個結點周期性地向其直接父結點報告自己的存在,如果一個孩子結點在一定的時間間隔內沒有報告,則父結點認為該孩子結點“死了”。有可能是結點自身的故障、鏈路故障或該孩子改變了父結點。
當一個客戶想要加入組播組時,它使用一個組的URL來發送HTTPGET請求,根結點根據結點的位置和組播樹的狀態來決定該用戶應連接到哪一個結點上去。組播樹的狀態信息能夠實時傳到根結點,所以根結點可以很快做出決定,這就實現了快速加入。
4結束語
覆蓋網絡是一個由應用推動的研究領域。人們對因特網的諸多新的需求促使很多研究人員開始關注這一領域,并業已取得顯著效果,許多覆蓋網絡已由實驗室走向因特網,為人們提供了更為方便的服務。本文只介紹了三種最受關注的覆蓋網絡,實際上還有很多功能各異的覆蓋網絡,限于篇幅,本文沒有再作介紹。
覆蓋網絡是一個新興的研究領域,有著很高的應用價值和商業價值,發展前景十分廣闊,值得廣大研究人員繼續深入研究。
參考文獻
[1]DavidAndersen,HariBalakrishnan,FransKaashoek,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]徐恪,熊勇強,清華大學計算機科學與技術系吳建平,微軟亞洲研究院對等網絡研究綜述
[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
摘要隨著因特網發展的日趨完善,出現了很多所謂的“覆蓋網絡”(OverlayNetworks),它們的形式多種多樣,功能也不盡相同。本文綜述了覆蓋網絡的現狀,并對因特網上目前最流行的三種覆蓋網絡分別進行介紹。
關鍵詞覆蓋網絡;內容傳送;彈性
1引言
近年來人們不斷對因特網提出新的需求,例如多播、點對點文件共享以及保護隱私等。這些促使了因特網的進一步發展,為了更好地滿足這些要求,覆蓋網絡應運而生。本文主要介紹了三種應用較為普遍的覆蓋網絡:路由覆蓋網絡、內容傳送網絡和應用層組播。文章安排如下:第2節介紹覆蓋網絡的定義和覆蓋網絡出現的原因,第3節簡述三種常見的覆蓋網絡,并舉例說明。
2覆蓋網絡的含義
因特網的體系結構是一種分層的結構,其最上一層是應用層,它利用傳輸層提供的服務完成相應的應用功能,如Web瀏覽、電子郵件服務、FTP服務等。但這種傳統的結構已經不能很好地滿足越來越復雜的應用需求。例如,多媒體應用的發展迫切要求網絡能夠支持組播功能,而目前的因特網尚不能完全支持組播。因此,有人提出在應用層實現組播,具體做法是參加組播的計算機自己構成一個覆蓋網絡,然后在應用層維護組播樹的結構并由應用結點參與進行組播轉發。
覆蓋網絡的基本含義就是在現有的因特網上構建一個完全位于應用層的網絡系統。覆蓋網絡服務不是由因特網服務提供商(InternetServiceProvider)提供的,而是由一種新型的服務提供商提供。它存在于因特網基礎設施和應用程序之間,利用ISP提供的服務來向其用戶提供更加優化的服務。可以認為,覆蓋網絡是分布在因特網上的一組提供服務的主機的集合,它們為一個或多個應用程序提供下層的基礎設施,在某種程度上轉發和處理應用程序的數據,所采用的方式與目前因特網上的不同;由第三方運營和管理,不是當前因特網體系結構的一部分。
3常見的覆蓋網絡
3.1路由覆蓋網絡
路由覆蓋網絡的作用是為了控制或改善網絡上數據傳送的路徑,在一個路由覆蓋網絡中,通信雙方的端結點并不改變,改變的是其分組可能經過的路由。我們知道,因特網由很多個自治系統(AutonomousSystem)組成,每個自治系統由一個ISP維護,分組在一個自治系統內部的路徑由管理該自治系統的ISP決定,受多個因素影響,其中包括自治系統的內部結構和傳送分組所需的開銷。每個ISP與其相連結的ISP一般都會有商業上的協定,這些協定決定了分組從哪一條路徑傳送到下一個自治系統的開銷最小。自治系統之間運行邊界網關協議(BorderGatewayProtocol),BGP允許每個ISP設定關于接收、轉發分組的控制策略,然后通過分布式計算來確定一條從源結點到目的結點的“最佳”的路徑。
但是由于每一個ISP側重的目標不一致,比如有的ISP考慮傳送分組的開銷,有的關注可用帶寬和傳輸延遲,還有的希望盡量合理地使用下層物理鏈路以減小擁塞出現的幾率。因此,這種所謂的“最佳”路徑對于用戶來說很大程度上并不是最佳的。因特網本身的路由機制,完全由ISP決定,端用戶和應用程序無法參與,這種路由機制對于端用戶和應用程序來說是不精確的,它僅反映了ISP對開銷和運行效率的考慮,而不顧用戶和應用程序的真正需求。下一節我們將要介紹的是針對這種現狀而提出的,旨在改善路由選擇,并與應用程序緊密聯系的一種覆蓋網絡——彈性覆蓋網絡(RON)。
3.1.1彈性覆蓋網絡介紹
彈性覆蓋網絡是一種分布式覆蓋網絡體系結構,分布于因特網上的RON結點可以僅用數秒的時間檢測到鏈路的失效和周期性的性能惡化,并快速恢復,而目前的因特網BGP協議則需數分鐘。RON結點自動監測連接它們的下層因特網鏈路的質量,使用收集到的信息并結合該應用程序對哪一路徑因子(如延遲、分組丟失率、鏈路吞吐量等)更敏感來決定某一應用程序的分組是直接由因特網鏈路轉發還是經由另一RON結點,這樣可以更加優化應用程序的路由選擇。
3.1.2RON的功能實現
首先要明確一個概念,所謂“RON結點”,并不是特殊的路由器硬件,第2.2節已經闡述覆蓋網絡的特點之一就是不對下層的因特網基礎設施進行改變,RON結點是分布在因特網上的一些有組織的主機,這些主機上運行專門的RON軟件,實現的功能在某種意義上與路由器相同,但應區別這兩者。
RON結點在現有因特網之上構建一個虛擬的網絡,這個網絡的任意兩個結點之間都會維護一條由下層因特網鏈路構成的路徑,稱為“虛鏈接”(virtuallink)。它們之間會定期或不定期通過發送探測包和監測來了解當前的網絡狀態。比如,有一個N個結點構成的RON系統,每一個結點都會及時探測最新的到其余N-1個結點的虛鏈接的狀態,這個狀態包括三個方面的內容,延遲、分組丟失率和鏈路吞吐量。結點將得到的最新的虛鏈接的狀態信息保存在本地的一個性能數據庫中,并以此作為路由選擇的重要依據。
使用RON轉發數據的應用程序稱為“RON客戶”(RONClient),RON的主要設計目標就是為客戶程序提供更加可靠的路由機制。RON客戶通過一種叫做“管道”(conduit)的接口與RON結點進行交互,如圖1所示。通過管道接收分組的第一個結點被稱為“入點”(entrynode),相應地,分組經過的最后一個結點稱為“出點”(exitnode)。
- 上一篇:淺析網絡交換存儲
- 下一篇:論國內外財務報告舞弊典型案例