層次式交換網絡
1 互聯網面臨的挑戰
Internet是20世紀對人類社會最具影響力的科技發明之一。它為人類提供了全新的通信手段、信息交換手段以及信息獲取手段,極大地加速了社會的信息化進程。目前,全世界已經有超過30億人在使用Internet,像中國、印度這樣的人口大國還有超過四分之三的人口沒有上網。Internet之所以發展迅速,是因為它順應了社會向信息化進步的需要,并且采用了簡潔明了的包交換協議和靈活機動的路由方法。
包交換技術不同于以往的電路交換技術,它需要完備的路由技術來支持。利用計算機的智能,在路由器之間定期交換信息,形成一張路由表。各路由器能按照數據包外皮上寫的目的地址,查看自己保存的路由表后,將數據包一站一站地往目的地方向傳送。所有這些轉發工作,包括路由表的更新,都不要人工干預,由路由器自動完成。有了路由器對網絡結構的自動適應能力,人們連網時想怎么連就怎么連,方便地組成任意連接的網絡結構。在網絡部件特別是通信線路可靠性較低的情況下,任意連接的網絡結構和路由器自動找路的方法非常有效。路由技術是Internet的核心和靈魂,沒有人能否認這一點。
可以說,網絡發展的早期,Internet能戰勝其他網絡體系的優勢就是網絡協議簡單和包交換及路由技術。然而,隨著技術的發展和高級應用的出現,尤其是當網絡規模極大地超出了早期網絡設計者的想象,Internet的這些優勢遇到了空前的挑戰,有的不再是優勢了,有的將轉化成阻礙Internet繼續發展的因素。
當網絡規模不斷發展,實時通信要求增長時,互聯網遇到了一系列困難:網絡規模使得路由表龐大,路由器不能快速有效地轉發數據包;網絡拓撲局部變動、信道或設備的故障與恢復、網絡管理人員的配置和操作失誤等局部網絡行為,都必須作為全局行為向全世界通報并更改所有的路由信息,使得骨干網路由器不堪重負,網絡事件發生后的路由信息收斂時間達到分鐘量級,大量數據包在網絡中振蕩或兜圈;路由器越來越復雜,成本和耗電越來越高;為了克服包交換技術的不足,獲得電路交換的好處,要增加虛擬電路交換技術,使網絡協議變得越來越復雜;光通信線路的高可靠性,使得任意連接的網絡結構優點不再;由于人工難以確定數據包在網絡信道中走的確切路由,以及數據包的借道通行,網絡設計人員無法確切地為每條信道分配合適的帶寬,并且難以做到既充分又合理地利用網絡信道資源;慢速的端到端的錯誤恢復手段,缺少網絡自愈能力,使得Internet難以提供電信級的服務質量;網絡行為的不確定性,使得難以對網絡實施有效的管理與控制;網絡地址空間與用戶地址空間沒有嚴格的區分以及骨干網絡信令與用戶網絡信令完全融合,給骨干網設備帶來了致命的安全威脅;網絡源地址的可偽造性,使得網絡不良行為難以得到有效的查處與抑制。所有這些困難,都是致命的。再加上早期對Internet的發展規模估計不足,IPv4地址空間將在一兩年內耗盡。目前大量采用的私有地址會阻礙端到端的通信能力。采用地址空間極大的IPv6協議,如果不考慮網絡的層次化,路由表會進一步急劇增大,路由器的復雜性和它在網絡中的“瓶頸”地位也就越加嚴重。目前大量的改進措施,難以真正解決問題,陡然增加了網絡協議的復雜性。Internet到了必須進行重大改革的時候。
本文針對當前Internet難以應對的一系列挑戰,介紹一種新的網絡體系結構:層次交換網絡技術。利用這種技術,徹底丟掉路由器;讓網絡回歸簡潔;讓數據包的路徑可預測,網絡信道資源獲得合理應用;讓網絡拓撲結構信息的變化、網絡設備與通信線路的失效與恢復、網絡管理人員的誤操作等事件局部化;讓快速自愈能力不依賴于另一套復雜的網絡(如SDH/SONET);讓組播樹自然形成;讓骨干網地址空間與用戶地址空間相分離;對用戶不良行為易于追蹤。
任何想在Internet上做的改革或在Internet上使用一項新的技術,都必須與原有的Internet各種協議完全兼容,否則將是不可行的。#p#
2 層次交換網絡基本結構
早期設計Internet時,一個核心的思想就是要保證可靠性。這樣做有充足的理由:當時的信道失效率和誤碼率都很高;希望在自然災害或戰爭環境下網絡有很好的可存活性。但絕對沒有一個設計者想到過將來這個網絡怎樣用于話音和視頻等實時多媒體應用。甚至連這個網絡的用戶群體和使用規模都是他們始料不及的,不然的話,很容易設計的地址空間問題,就不會讓后人這樣費盡周折了。他們從可靠性出發,各種設計都采取了無中心、分散、分布的思想。以太網是最典型的網絡結構,由粗纜或細纜相連的多臺計算機,沒有主次,沒有控制者或協調者,任何一臺計算機的失效,都不會影響其他計算機的通信。Internet網絡的拓撲結構,用的是格狀網(Mesh)任意連接結構,沒有中心,沒有層次,想怎么連就怎么連,只要每個路由交換設備有兩條或兩條以上信道,就認為可靠性獲得了很大提高。IP地址的安排,以網號為基礎,輔以網內主機號。而在路由算法中起決定性作用的網號是一維平鋪(Flat)的,沒有任何結構,更沒有層次性。對一維平鋪的IP網絡地址,當其數量十分龐大時,既不能設計出高效的路由信息交換算法,也無法設計出快速的路由表查詢算法。這就是路由問題的癥結所在。
其實,任意連接的結構和一維平鋪的地址空間并不適合人類的思維模式和計算機高效處理的要求,更缺少可擴展性,只有在非常小的系統中才能以其簡易而獲得應用。人類社會的組織結構和地址空間,無一不是層次式的,例如一個國家、一個學校、一個企業、一支部隊、郵政地址空間、學科分類、圖書編目等等,幾乎找不出非層次性的組織。傳統的電話系統是一個可管可控、可擴展并能保證通信質量的成功系統,也是層次式的。Internet的域名系統,最初是一維平鋪的,連網計算機數量達到數百臺時,就無法使用了,不得不中途改為層次式結構。以太網的結構,再也沒有人用總線方式了,改用集線器(HUB)或交換機,端口不夠或距離延伸時,將多個交換機級連,變成了典型的星形或樹形的層次結構。層次式結構無處不在。從管理的角度看,層次式結構本身代表了一種分散/分布性,該由下級完成的事情,上級不必操心也無法操心,下級在自己的管轄范圍內所做的變動,上級可以不知道,這使得系統充分可擴展。文獻[1]是最早建議層次式結構的,由于其編址方法不夠完善和靈活,沒有擺脫路由的影響,沒有得到重視。研究人員意識到當網絡規模巨大時,首先受到挑戰的是路由系統的擴展性,便都從層次化入手,提出了諸如地標分層[2]、地理分層、按因特網業務提供商(ISP)分層[3]等層次化方法。
本文提出的層次式交換網絡結構的基本想法是將整個網絡劃分為清晰而簡單的兩部分:骨干網與用戶網,如圖1所示。
#p#
3 樹形結構的擴展
雖然樹形結構有優良的特性,但與現有的互聯網任意連接的Mesh結構相比,缺乏結構上的靈活性。例如處于兩個樹葉位置的用戶網之間通信,數據包必須上行到與對方屬于同一棵子樹的位置,才能開始下行,到達對方用戶網,而實際上這兩個用戶網可能相距甚近。又例如,兩個不同ISP在某城市A同時提供接入服務,就有兩棵樹延伸到該城市A,而這兩個ISP樹形網絡的互連地點可能在外地的某大城市B。城市A中相距很近的兩個用戶網分別連到了不同ISP的樹上,他們之間通信時,數據包可能會在一個ISP的樹形網絡中上行到城市B,在兩個ISP樹互連的地方進入對方ISP的樹,再下行到城市A的對方用戶網。如果這兩個ISP的樹形網絡在城市A也有互連的信道,就避免了繞道城市B的通信。滿足這種要求的網絡結構例子如圖4所示。
短接信道連接中,不僅能將數據包轉發到短接信道的對端,還可以轉發到對端以外更遠的地方。例如圖4中,邏輯節點E’不僅能把目的地為J的數據包通過短接信道E’-J轉發,還可以把目的地為L、M等遠程邏輯節點的數據包通過E’-J轉發。這涉及直接短接信道和間接短接信道技術,不再細述,詳細請見文獻[4]。#p#
4 交換方法
骨干網被組織成樹形結構并配以一定數量的短接信道后,就可以取消任何形式的路由協議,對IP數據包進行簡單的交換。以IPv6地址格式為例,低64比特用作接口標志,骨干網設備是不能利用的,高64比特為可路由地址,供骨干網設備轉發IP數據包時用。
IPv6地址結構中,SL部分給用戶使用,從SF1開始到SL左邊的部分是分配給ISP的。由于網絡拓撲結構是樹形的,ISP可以將得到的地址劃分為多個不定長的字段,稱為“交換字段”,每個交換字段對應樹的一個層次,高位交換字段對應樹的高層,依此類推。
用戶網絡處于骨干網的邊緣,發出的數據包總是從骨干樹的葉節點進入,設該葉邏輯節點對應的交換字段為SFi,暫不考慮短接信道,其樹結構數據包交換過程極其簡單:
判斷IP數據包中目的地址的前綴與本邏輯節點的地址前綴內容是否相等;
若不等,表示該數據包繼續上行,選擇上行信道,將數據包轉發給上一層邏輯節點;
若相等,表明該數據包應該下行,根據交換字段SFi 的值,選擇下行邏輯信道(例如交換字段SFi 的值等于5,就從邏輯信道5下行),將數據包轉發給下層邏輯節點。
考慮短接信道的交換,在進行上述交換之前,先判斷本邏輯節點是否有短接信道,如果有,則對應每一條短接信道都存在一張短接信道表,內容為信道對方的直接短接邏輯節點(短接信道連接的對方邏輯節點)和對方更遠的間接短接邏輯節點的地址前綴。如果數據包地址前綴與該表中任一邏輯節點的地址前綴相等,則經短接信道轉發;否則,直接執行上面介紹的樹結構數據包交換算法。
可見,一旦將地址結構與網絡拓撲結構相關聯,對用戶數據包的交換極其簡單,不需要全局交流的路由信息,僅根據數據包中目的地址的前綴和相應的交換字段值就可以完成數據包的交換。#p#
5 層次交換網絡的特點
樹形網絡拓撲結構以及與地址結構相關聯的特點為網絡帶來一系列的好處。
首先,樹形結構是一種確定性結構,數據包在網絡中的流向是可預測的,因而網絡行為也是可預測可確定的,網絡成為可控制可管理的網絡。ISP可以把網絡管理簡單地分成兩層:邏輯節點的管理和全網的管理。前者監測邏輯節點中各交換機、邏輯節點中各內部信道、邏輯節點與其他邏輯節點之間的信道(外部信道)的狀態、流量、性能及計費信息等。全網管理則更為簡單,它只要綜合各邏輯節點的管理信息,形成全網的網絡狀態圖、外部信道負荷狀態圖以及收費數據庫等全局信息和全局顯示。另外,樹形結構的網絡是可擴展的,橫向可以增加邏輯節點的扇出數,縱向可以增加樹的層次數,以容納更多的用戶接入網。
其次,由于通信路徑的確定性,易于實現路徑資源的管理、分配和準入控制,因而能提供真正意義上的服務質量保障(QoS)。要真正實現QoS必須在3個環節上加以控制和管理:資源管理,準入控制,輸出調度。資源管理是對通信路徑上的信道容量、端口緩沖能力等資源加以登記和分配,保證能滿足已接納的通信流能獲得足夠的資源。準入控制則依據資源管理中提供的資源余量信息,接納或拒絕新的通信要求,防止過度的通信量爭奪資源。輸出調度則按照通信流不同的優先等級管理輸出隊列。目前的互聯網是無法做到QoS的,連數據包走的路徑都不確定,怎么能做到沿路徑預留資源以及準入控制?
第三,通信路徑的確定性還使得通信負載的估算與信道容量的配備有了依據,避免當前網絡中普遍存在的網絡負載不均衡而造成的資源利用率低下,避免了復雜而效果不佳的流量工程(TE)帶來的負擔,使得信道容量的配備不再帶有盲目性。
第四,樹形結構將網絡拓撲結構與地址結構相關聯,可以用IP交換代替IP路由,從而避免全網規模的路由信息交換,避免了路由表的維護、管理和更新,避免了為IP包查詢龐大的路由表或其衍生出來的轉發表。由于轉發一個IP數據包的工作十分簡單,大大提高了IP數據包的轉發速度,提高了網絡的性能。
第五,樹形結構使得網絡事件局部化,例如任何節點或信道的失效和恢復,都不會影響遠程的數據包交換算法。同時,邏輯節點的配置和管理,遠比路由系統的配置和管理簡單,網絡運行維護人員的操作失誤不大可能發生,即使有某些操作錯誤也不會像路由系統那樣對全世界的網絡產生影響。因為邊界網關協議(BGP)不再存在,所有核心路由器每天都要處理數百萬BGP更新和撤銷的重負不再存在。
第六,網絡本身的安全得到了極大的加強。現有網絡中,核心路由器端口的IP地址與用戶主機IP地址處在同一個地址空間中,任何用戶都可以組織對任何一個核心路由器的分布式拒絕服務攻擊(DDOD)。在層次交換網絡中,骨干網和用戶網的地址空間可以很容易地分離,用戶數據包只能穿越骨干網而不能打擾骨干網設備。另外,現有互聯網中,用戶可以使用虛假的源地址,逃避對其不良行為的追蹤。層次交換網絡體系結構中,用戶網絡的地址前綴與骨干網邊緣設備端口的地址前綴是相同的,任何冒用其他用戶網絡源地址的行為立即得到判定并報警。而用戶網內部的地址真實性管理是比較簡單的。
第七,邏輯信道技術控制了一批物理信道,擁有兩方面的好處:個別物理信道的失效,略為減小了邏輯信道的總容量,仍能保證正常的通信,體現了信道自愈的能力,為提供QoS提供了必要條件;增加了擴充信道容量的手段,要增加邏輯信道的容量,既可以增大每根物理信道的帶寬,也可以增加物理信道的數量。
第八,網絡設備的復雜性、可靠性、成本、耗電等都可以獲得很大的改善。#p#
6 層次交換網絡的部署
對現有系統作革新性的改造,能否成功的關鍵是部署問題,既要使用新系統,又要兼容原有系統,兩者要能簡便地實現互通。目前IPv4與IPv6的關系,就存在這個致命的不兼容問題,導至IPv6部署緩慢。由于層次交換網絡與現有網絡共存時,既不要求現有網絡作任何修改,也不涉及應用層問題,從部署的角度看,層次交換網絡可以采用局部地、漸進地部署的方法。
目前的Internet技術,由于GE、10GE甚至100GE技術與長途高速傳輸技術(例如10 Gbit/s、40 Gbit/s甚至100 Gbit/s)同步地發展,使得能用于長途骨干網的速率,也能十分方便地用于用戶接入網。這些速率對骨干網顯然不夠,且由于路由器的“瓶頸”,不能充分發揮光纖的每秒太比特傳輸能力,但對用戶接入網而言,它所面臨的是有限的用戶群體,保留了現有的路由技術,也能滿足對話音、視頻和數據通信的需要。互聯網的致命缺陷在用戶網絡中并不緊迫。
骨干網就不同,除了非實時應用外,它可能要對付成十萬、百萬甚至千萬的視頻和話音通信流。低效率、低速度、不能快速自愈、難以實現組播、不能有效解決QoS保證機制的路由結構,就是解決“三網融合”的關鍵性障礙所在。解決骨干網的問題是目前的當務之急。其實,Internet界正在研究的無數企圖解決QoS的方案、方法,無一不是針對骨干網絡的。遺憾的是,這些方法異常復雜,效果甚微,難以部署,甚至連制訂標準都難以完成。
向層次交換骨干網過渡,以ISP的骨干網或骨干網的一部分為單位來部署比較合宜。層次網絡的地址結構,只要地址空間足夠大,便于劃分層次就行,因而可以直接使用IPv6地址結構進行層次交換。
如果注意一下當前各ISP骨干網絡的拓撲結構,可以發現,除了頂層有一批(通常也只有10多個)核心節點以環形、環形加任意連接、全連接等方式互連外,往下層的延伸,無一例外地采用了層次式的樹形結構。如果把這些頂層核心節點組織在一個(或幾個)邏輯節點中,向下層延伸時自然構成了一棵樹。這種發現并不奇怪,是組網時受地理位置的影響而自然形成的。只是我們采用了路由系統后,無法利用這種樹形結構的特性,把本可以有序地加以組織的網絡結構變成了一個無序的混沌巨系統(自然界存在很多混沌巨系統,人造系統中,只有互聯網有此屬性)。因此,把現有骨干網改造成層次交換網絡時,人們完全可以對現有的網絡拓撲(節點和信道組成)不作任何改動,只做邏輯上的劃分和邏輯節點控制軟件的變動。
層次結構也可以向用戶接入網推進,使得用戶網絡中只有層次交換邏輯節點和以太網交換機或只用以太網交換機,網絡管理的技術難度將大幅度降低。
7 結束語
新的層次交換網絡體系結構,克服了現有互聯網的幾乎所有缺陷,證實了Rekhter定律的正確性[5]。本文描述的層次交換網絡系統,已經實現了多個原型系統和樣機,在實驗平臺上進行了性能測試,并在辦公室的網絡中進行了長時間的使用,提供對外界IPv6和IPv4網絡的訪問能力。使用結果表明,想法是可行的,實現是簡單的,性能是滿意的。