官术网_书友最值得收藏!

2.3 覆蓋網絡的應用

基于覆蓋網絡的應用很多,典型的應用包括用于文件共享的對等網絡(P2P);用于數據緩存且分布式共享的內容分發網(CDN);用于改善物理網絡性能的覆蓋路由,增強QoS滿足用戶的特殊需求;改善物理網絡多播應用性能的覆蓋網多播;以及近幾年迅猛發展的覆蓋網絡技術在SDN和云計算數據中心中的應用。這些應用可以歸納如下。

2.3.1 P2P網絡

P2P在思想上可以說是互聯網思想/精神/哲學非常集中的體現、共同的參與、透明的開放、平等的分享、基于P2P技術的應用有很多,包括文件分享、即時通信、協同處理、流媒體通信等。這種新的傳播技術打破了傳統的C/S架構,逐步地去中心化、扁平化。P2P文件分享的應用(BTs/eMules等)是P2P技術最集中的體現,P2P文件分享網絡的發展大致有以下幾個階段:包含tracker服務器的網絡、無任何服務器的純DHT網絡、混合型P2P網絡。

DHT全稱為分布式哈希表(Distributed Hash Table),是一種分布式存儲方法,每一份資源都由一組關鍵字進行標識。系統對其中的每一個關鍵字進行Hash,根據Hash的結果決定此關鍵字對應的那條信息(即資源索引中的一項)由哪個用戶負責儲存。用戶搜索的時候,用同樣的算法計算每個關鍵字的Hash,從而獲得該關鍵字對應的信息存儲位置,并迅速定位資源。這樣也可以有效地避免因“中央集權式”的服務器(如tracker)的單一故障帶來的整個網絡癱瘓。實現DHT的技術/算法有很多種,常用的有Chord、Pastry、Kademlia等。其中,通過節點值獲取每個節點與下一個鄰近節點之間的距離,從而獲得每個節點所需負責的值區間,此過程類似于建立路由表的機制。

2.3.2 內容分發網

內容分發網絡CDN最開始是為提高Web內容的訪問速度而提出的,隨著互聯網技術的發展,又開始支持流媒體內容(如視頻)的分發。一般CDN體系結構包括中心和邊緣兩部分:中心主要包括原始服務器(Origin server)和內容分發系統(Content distributor),負責全局網絡的負載均衡;邊緣指的是部署在互聯網邊緣的代理服務器(Surrogate server),分布在不同的網絡區域。原始服務器用來存儲最初的內容,例如圖片、視頻、Web頁面等。內容分發系統用來將原始服務器的內容分發到代理服務器中。代理服務器用來緩存分發的內容[188]。圖2-2給出了一個世界范圍內的CDN網絡分布圖。內容分發網絡的基本原理是將原始服務器中的內容分發到代理服務器中,用戶從距離最近的代理服務器中獲取內容。代理服務器分布式部署在互聯網邊緣,用戶就近訪問這些代理服務器極大地提高了訪問速度,同時也避免了訪問瓶頸問題。另外,網絡流量被分散到互聯網的邊緣區域,有效解決網絡擁塞,最大限度地減輕了骨干網絡的流量。

圖2-2 CDN網絡分布

內容分發網絡是一種覆蓋網絡,代理服務器節點之間通過虛擬鏈路形成覆蓋網絡。內容分發網是為縮短用戶與內容服務器之間的距離,緩減網絡擁塞而被研究和部署的。內容服務器節點負責緩存用戶頻繁訪問且感興趣的數據,接受用戶的請求并向用戶發送數據。為了使內容服務器與提出請求的用戶節點之間的距離最近,CDN采用重定向機制,大大提高了網絡的訪問速度,減少了網絡的整體流量,緩減了擁塞程度。例如,當Web用戶點擊一個內容分發服務的URL時,內容分發網實時地根據網絡流量和各節點的連接、負載狀況以及到用戶的距離和響應的時間等信息,將用戶的請求重定向到離用戶最近的內容服務器。此外,CDN還采取多點備份的機制提高可靠性。目前,CDN已經得到廣泛的應用,如Akamai[26]、Netli[27]、Accelia[28]、EdgeStream[29]、Globule[30]、CoDeeN[31]等。

2.3.3 應用層多播

多播是一種一對多或多對多的數據通信模式。隨著互聯網的進一步普及,多媒體應用日益旺盛,特別是大規模數據分發,例如,視頻點播、電視/電話會議、網絡聊天室、大規模網絡游戲等。IP多播是為適應這些需求而被提出的,是對互聯網的“單播、盡力而為”模型的重要擴充。IP多播的主要功能在路由器上實現,通過在路由器之間建立多播樹且合理地進行組成員管理,來減少帶寬浪費和降低服務器的負擔。然而,當多播數目增大時,路由器中的路由表急劇膨脹,增大了路由器的負擔。其次,由于互聯網的層次化布局,ISP之間的商業利益關系,目前IP多播只能應用在局部范圍內,即AS內部或一個ISP內部得到部署。覆蓋網多播作為一種替代的方法近年來得到廣泛應用[32][33][34][35][36]。覆蓋網多播建立在應用層,而非網絡層,如圖2-3所示。

圖2-3 覆蓋多播路由示意圖

覆蓋網多播中,在參與多播的終端節點之間建立多播分發樹,在分發樹的覆蓋節點之間建立跳到跳(hop-by-hop)單播隧道完成數據分發。在覆蓋網多播中,多播成員管理以及數據的復制與轉發都是由覆蓋網節點(終端主機或服務器)完成,下層物理網絡只需提供基本的端到端的單播傳輸服務,即保證每條覆蓋鏈路所對應的一條下層物理路徑的通信即可,保持了互聯網原有的簡單、不可靠、單播的轉發模型。因此,覆蓋網多播具有的優勢如下。

(1)可部署性:覆蓋網多播不需要改變現有IP網絡的基礎設施,在物理網絡僅保持原有單播通信功能。即使跨越不同的ISP進行多播通信,僅需要在應用層通過隧道機制實現,便于大規模部署。

(2)可擴展性:與IP多播中路由器需要維護多播組的狀態不同,在覆蓋網多播中,數據的復制、轉發、組成員管理和狀態維護在終端節點完成,保持了IP層結構簡單,傳輸快速的特點,使網絡能夠支持大量的多播組。

(3)靈活性:可以根據用戶的需求定制服務,建立相應覆蓋網多播拓撲,保障QoS需求,實現安全、計費等服務,靈活性好。

覆蓋網多播的缺點:由于采用單播方式進行數據分發,存在一定的冗余數據;端系統的穩定與否直接影響多播的可靠性;終端節點的性能(CPU和帶寬)差異可能導致延遲、轉發速率等性能的下降。

2.3.4 增強服務質量(QoS)

現有的IP網絡體系結構采用“漏斗”式模型,使業務與承載分離,提供“盡力而為”服務。這一模型對互聯網的蓬勃發展起到了積極作用,但在這個體系結構中,服務質量(QoS)難以得到有效保障。隨著互聯網的發展,多種新型業務對QoS提出了新的要求,尤其是多媒體傳輸業務對時延、帶寬和可靠性的要求越來越高。為此,科研人員對IP網絡采取了一系列補充措施,如綜合服務(Integrated Service, IntServ)、區分服務(Different Service, DiffServ)以及多協議標簽交換(Multiple Protocol Label Switching, MPLS)。這些措施需要改造現有互聯網中的路由器,使其支持這些策略,增加了復雜度。從目前的運行狀況看,出現了較大的部署困難。另一方面,域間路由協議BGP設計的先天性不足[37],導致BGP選擇的跨域路徑無論在延遲上還是吞吐率上都不是最優的;而且,一旦出現鏈路故障,往往需要花費幾十秒甚至數幾分鐘的路由匯聚時間。此外,ISP之間的商業利益關系致使BGP無法完全按照最短路徑策略來選擇路由,容易引發路由膨脹現象[38]

覆蓋網絡彌補了互聯網這一缺陷,通過在IP網絡上構建服務覆蓋網絡(Service Overlay Network, SON)的方式確保服務質量。服務覆蓋網絡是指為用戶提供QoS保障的覆蓋網絡。通常情況下,服務覆蓋網絡的功能由提供QoS的服務器(固定節點)組成的相對固定的虛擬網絡來實現[39][40],或根據用戶的具體需求在覆蓋節點上提供再配置功能,優化服務覆蓋網絡,使其代價最小[41]。例如,OverQoS[42]應用前向糾錯(Forward Error Correction, FEC)和自動重傳請求(Automatic Repeat reQuirement, ARQ)技術確保覆蓋網絡節點在轉發數據過程中的服務質量。此外,在確保QoS的同時,為了提高SON的可擴展性,服務覆蓋網絡采用層次聚類機制構建其網絡拓撲[25]

另一方面,覆蓋網絡可以實現物理鏈路故障的快速恢復,降低端到端的時延,減少丟包率,為用戶提供可靠性保障。研究表明,在跨域路由的情況下,存在30%左右的替代路徑優于默認的IP路徑[43]。本文中的“默認的IP路徑”是指在物理網絡中經路由算法所確定的端到端的IP路徑。為了利用這一有益的互聯網絡特性,路由覆蓋網被用來解決鏈路失效故障,避免因BGP收斂慢而引起的數據丟失。在路由覆蓋網絡中,在源和目的節點之間加入一個或多個覆蓋網節點,構建一跳或多跳覆蓋網路由路徑。如何避免與失效的物理鏈路重疊是構建覆蓋網路徑的關鍵,通常在兩個覆蓋網節點之間進行積極探測,選擇一條代價最小且能繞開失效鏈路的覆蓋網路徑[44]。在這方面,具有代表性的研究成果是RON[23]和SOSR[24]。RON是一個全網狀拓撲覆蓋網絡,選擇覆蓋路由時,探測覆蓋網節點,選擇一個滿足時延最小的節點作為中繼節點構成一跳覆蓋網絡路徑。由于采用全網狀拓撲結構,RON具有可擴展差的缺點。不同于RON, SOSR并非提前建立備份的覆蓋網絡拓撲,是一種提供快速路由恢復的一跳覆蓋網絡路由機制。當默認的IP路徑出現故障時,源節點隨機選取k個覆蓋網節點進行探測,選擇時延最小的一個建立一跳覆蓋網路徑。當進行大規模數據傳輸時,可能在中繼節點出現擁塞,這也是SOSR需要克服的問題。

2.3.5 云計算數據中心網

作為云計算的基石,虛擬化技術在最近幾年取得了突飛猛進的發展。尤其是計算資源和存儲資源的虛擬化技術日益成熟,虛擬計算負載的高密度增長,以及虛擬機在不同物理機之間的快速部署和動態遷移,在一定程度上對現有網絡提出了新的挑戰。具體表現如下。

(1)二層網絡邊界限制:虛擬機遷移前后要求其IP地址、MAC地址等參數保持不變,這增加了接入交換機MAC地址學習的難度,并對緩存空間提出了很高的要求;另一方面,虛擬機需要在不同子網間遷移,而傳統的VLAN技術只能在同一子網內運行。

(2)VLAN數量不足:VLAN幀頭內僅定義了12位二進制標簽位,一共可表示4096個VLAN,扣除預留的VLAN0和VLAN4096,實際上可分配的只有4094個。然而,云計算數據中心部署了大量虛擬機,4094個VLAN可能不能滿足大規模數據中心的需求。

(3)不能適應大規模租戶部署:云計算數據中心內承載了不同租戶的業務,租戶與租戶之間要求進行安全隔離,傳統的VLAN技術無法做到這一點。如果啟用三層網關以及地址翻譯等策略,會增加額外的運維成本和復雜度。此外,如果在大規模數據中心內部署VLAN技術,會使廣播風暴在整個數據中心內泛濫,消耗大量帶寬。

利用覆蓋網絡技術,可以解決上述問題,實現傳統網絡向網絡虛擬化的深度延伸,實現真正的云網融合,從而構建新架構下的數據中心網絡。如圖2-4所示,服務器的網絡操作系統內虛擬交換機上支持了基于IP的二層Overlay技術,虛擬機的二層訪問直接構建在Overlay之上,物理網不再感知虛擬機的諸多特性,形成了跨數據中心的覆蓋網絡。

圖2-4 數據中心間的覆蓋網絡示意圖

具體地講,數據中心的覆蓋網絡是應用覆蓋網絡技術,將二層報文封裝在IP報文內(即MAC-in-IP),通過隧道機制實現跨數據中心的“大二層”通信。目前實現這一功能的協議有VXLAN、NVGRE和STT,其中最成熟的是VXLAN。VXLAN(Virtual eXtensible Local Network)是由全球最大網絡設備公司Cisco、最大的虛擬化軟件公司VMware、最大的第三方網絡設備芯片公司Broadcom、網絡新秀公司ARISTA等聯合向IETF(Internet Engineering Task Force)提出的一項草案。VXLAN運行在UDP上,采用24比特標識二層網絡分段,稱為VNI(VXLAN Network Identifier),類似于VLAN ID作用;利用疊加在三層網絡之上的覆蓋網絡傳遞二層數據包,實現了可以跨越三層物理網絡進行通信的二層邏輯網絡,突破了傳統二層網絡中存在的物理位置受限、VLAN數據有限等阻礙,同時還使得網絡支持服務的可移動性,大幅度降低管理成本和運營風險。

2.3.6 覆蓋網絡在SDN中的應用

近年來,隨著SDN和虛擬化技術的發展,覆蓋網絡技術與SDN相互融合,相互借鑒。文獻[45]將SDN和NFV(Network Functions Virtualization)的思想引入NGSON(Next Generation Service Overlay Network)[46]中,加強了NGSON的物理網絡意識,提高服務組合和內容分發能力。覆蓋網絡思想也被應用到SDN中,形成SDN Overlay Network,用來解決互聯網領域,尤其是網絡虛擬化方面的一些重要問題[47][48]。例如,文獻[49]設計并實現了一個試驗平臺Scotch,解決SDN中控制平面集中式控制導致的OpenFlow交換機與SDN Controller之間因突發流量可能產生的瓶頸問題。如圖2-5所示,Scotcht構建vSwitch全網狀覆蓋網絡,將vSwitch的控制平面與物理交換機的數據平面相結合,緩解物理交換機的壓力,提高SDN網絡的可擴展性,增強其處理突發流量的能力。

圖2-5 Scotch覆蓋網絡結構示意圖

主站蜘蛛池模板: 长岭县| 错那县| 渭南市| 本溪市| 丹阳市| 荥阳市| 汝城县| 讷河市| 宁武县| 集安市| 新营市| 仁怀市| 万盛区| 德阳市| 新野县| 呼伦贝尔市| 奉新县| 盘锦市| 凤山市| 泗阳县| 平利县| 开鲁县| 贵州省| 巴林右旗| 岳普湖县| 双桥区| 芷江| 张家界市| 平武县| 昔阳县| 柳州市| 沽源县| 神池县| 武强县| 竹北市| 友谊县| 铁岭市| 涿鹿县| 广西| 延长县| 镇原县|