天天看點

《分布式系統:概念與設計》一3.3 網絡原理

計算機網絡的基礎是20世紀60年代發展起來的包交換技術。它使得發送到多個位址的消息可以共享同一條通信連結,這不同于正常電話所采用的電路交換技術。當連結可用時,資料包按順序排列在緩沖區中,然後發送。通信是異步的——消息經過一段延遲到達目的地,該延遲取決于資料包在網絡中傳遞所花費的時間。

計算機網絡的大多數應用需求是按邏輯單元發送資訊或消息——任意長度的資料串。在消息傳遞前,它被分割成資料包。形式最簡單的資料包是長度有限的二進制資料序列(比特或位元組數組)以及識别源和目的地計算機的尋址資訊。使用長度有限的資料包是為了:89

網絡中的每台計算機能為可能到來的最大的資料包配置設定足夠的緩沖空間。

避免長消息不加分割地傳遞所引起的為等待通信通道空閑而出現的過度延遲。

我們在第2章中曾提到,多媒體應用中視訊/音頻流的傳輸需要保證其速度和一定範圍内的延遲。這樣的流和資料包傳輸所針對的基于消息的流量類型有本質上的不同。視訊/音頻流比分布式系統中其他大部分通信形式所需要的帶寬都要高。

為了達到實時顯示的目的,如果傳輸的是壓縮的資料,則視訊流的傳輸需要1.5mbps的帶寬;如果傳輸的是未壓縮的資料,則需要大約120mbps的帶寬。另外,和典型的客戶-伺服器互動程式所産生的斷斷續續的資料流量相反,這種流是連續的。多媒體元素的播放時間是必須被顯示的時間(對視訊元素來說)或必須轉成音頻的時間(對聲音采樣而言)。舉例來說,視訊幀的流速是每秒24個幀,那麼第n幀的播放時間是從流開始傳輸後的n/24秒。元素如果遲于它的播放時間到達目的地,它就不再有用,将被接收程序丢棄。

及時傳輸這種資料流依賴于具有一定服務品質(帶寬、延遲和可靠性必須都有保證)的網絡連接配接。現在所需要的是建立起多媒體流從源到目的地的通道,其中路由是預定義好的,在經過的結點上保留需要的資源,在通道中對任何不規則的資料流進行适當的緩沖。通過這個通道,資料可在要求的速率下從發送方傳送到接收方。

atm網絡專門設計為提供高帶寬和低延遲,并通過保留網絡資源保證服務品質。ipv6(網際網路新的網絡協定,其描述見3.4.4節)的一個特色是實時流中的每一個ip資料包都能在網絡層被單獨識别和處理。

通信子系統若要提供服務品質保證,就要有能預配置設定網絡資源并強行執行這些配置設定的設施。資源保留協定(resource reservation protocol,rsvp)[zhang et al.1993]使得應用能協商實時資料流的帶寬預配置設定。實時傳輸協定(real time transport protocol,rtp)[schulzrinne et al.1996]是一個應用級資料傳輸協定,它在每個資料包中包含了播放時間和其他定時要求。要在網際網路中有效實作這些協定,90傳輸層和網絡層都必須作出實質性的改變。第20章将詳細讨論分布式多媒體應用的需求。

網絡是一組由電路連接配接起來的結點組成的。為了能在任意兩個結點間傳輸資訊,交換系統是必不可少的。這裡我們定義在計算機網絡中使用的四種交換。

廣播 廣播是一種不涉及交換的傳輸技術。任何資訊都将被傳給每一個結點,由接收方判斷是否接收。一些lan技術(包括以太網)是基于廣播的。無線網絡也有必要基于廣播,但是由于缺少固定電路,廣播隻能到達蜂窩内的結點。

電路交換 電話網曾經是唯一的電信網。它們的操作非常容易了解:當主叫方撥号時,主叫方電話到本地電話交換台的線路會通過自動交換機連接配接到被叫方的電話線。長途電話的撥叫過程也是類似的,隻不過要經過多個交換台而已。這種系統有時被稱為老式電話系統(pots)。它是典型的電路交換網絡。

包交換 計算機和數字技術的誕生為電信領域帶來了新的契機。從根本上說,它使得人們可以處理和存儲資料,這使得以完全不同的方式構造通信網絡成為可能。這種新的通信網絡叫做存儲轉發網絡。存儲轉發網絡并不是通過建立或取消連接配接來構造電路,而隻是将資料包從它的源位址轉發到目标位址。在每個交換結點上(也就是幾個電路需要互連的交彙處)有一台計算機。資料包到達一個結點後先存儲在這個結點的記憶體中,再由一個程式選擇資料包的外出電路,将它們轉發到下一個離它們目的地更近的結點。

這裡沒有什麼全新的内容,郵政系統就是一個信件的存儲轉發網絡,其處理由人或機器在信件分揀室完成。而在計算機網絡中,資料包的存儲和處理很快,即使資料包路由了許多結點,也能給人們瞬間傳輸的假象。

幀中繼 現實中,存儲轉發網絡中每個結點轉發一個資料包需要的時間從幾十微秒到幾微秒不等,這個交換延遲取決于資料包的大小、硬體的速度和當時的流量情況,但它的下限由網絡帶寬決定,因為整個資料包必須在它轉發給另一個結點之前先收到。資料包在到達目的位址前,可能要通過很多的結點。網際網路中大多資料包基于存儲轉發交換,正如我們已經知道的,即使是很小的網際網路資料包通常也需要200ms左右的時間到達目的地。這個量級的延遲對于電話會議、視訊會議這樣的實時應用而言就太長了,91要維持高品質的會談,延遲不得超過50ms。

幀中繼交換方法給包交換網絡引入了電路交換的一些優勢。它們通過很快地交換小的資料包(稱為幀)來解決延遲的問題。交換結點(通常是專用的并行數字處理器)通過檢測幀的前幾位資訊來路由幀。幀并不作為一個整體存儲在結點中,而是以位流的形式通過結點。atm網絡是一個最好的例子。高速atm網絡在由很多結點組成的網絡中傳遞資料包隻需要幾十微秒。