6.1 網絡層服務及其實現
ISO 為網絡層定義了兩種服務——面向連接的服務( ISO 8348 )和無連接服( ISO 8473 )。面向連接的服務意味著可靠的順序提交,即分組應該按照發(fā)送的順序無差錯地交給用戶。實現無連接的服務則簡單得多,沒有建立和拆除連接開銷。每個分組獨立地到達目的端,不保證可靠和有序,糾錯和排序功能由用戶(傳輸層)自己完成。
特點:面向連接的服務適合傳送大的數據文件。無連接的服務在電子資金轉賬、文獻檢索、數據庫訪問等方面有廣泛的應用。
( P107 圖 6.1 )從數據鏈路層開始都向上面的鄰層分別提供面向連接的服務和無連接的服務,只有物理層提供一種服務。
在通信子網內部用數據報方式實現無連接的網絡服務,用虛電路實現面向連接的網駱服務。在兩種服務和兩種實現方式的四種組合中有三種是可供選擇的:
內部虛電路實現面向連接的服務。
內部數據報實現面向連接的服務。
內部數據報實現無連接的服務。
內部虛電路實現無連接的服務。(沒實際意義)
幾種網絡中實現網絡服務的方法:
ARPANET . ARPANET 提供兩種服務,并分別稱其為數據報服務和虛電路服務,但是在通信子網內部只有數據報一種實現方法。每一個報文最多可包含 8063 bit 數據。 ARPANET 內部是一個兩級結構的數據報網絡。把報文劃分成最大可包含 1008 bit 的分組,最多可得到 8 個這樣的分組。每個分組都作為數據報獨立傳送到達目的端 IMP .
TYMNET . TYMNET 網絡內部用虛電路支持面向連接的網絡服務,網絡把用戶主機看作是字符流(而不是分組流)的源。為了支持虛電路, TYMNET 網中每一個網絡結點都維持一個緩沖池和許多下標矢量。一對結點之間的物理鏈路可同時支持幾條虛電路,每一條虛電路對應一個邏輯信道。
在以上兩個例子中, ARPANET 內部使用數據報提供面向連接的和無連接的兩種服務, TYMNET 內部則用虛電路提供面向連接的服務。 DECnet 網絡層用數據報提供無連接的網絡服務,面向連接的服務由上層提供; SNA 和 TYMNET 一樣,網絡層用虛電路提供面向連接的網絡服務。
6.2 路由選擇
網絡層的主要功能是把數據分組人選源結點傳送到目標結點,所以為傳送的數據分組造反合適的路徑就是網絡層要解決的關鍵問題。
各種衫或建議使用的路由選擇算法都是基于最小費用的準則,如傳輸延遲最小、經過的結點數最少等等。現有的算法分為兩大類:一類是固定式路由選擇算法,另一類是自適應式路由選擇算法。
所謂固定式路由選擇,并不是一成不變,所謂自適應式路由選擇,也不是適應得越快越好。(判斷)
最少通路的更一般的說法是最少費用通路。在實際網絡中使用的最短通路算法有兩種:一種是 Dijkstra 的向前搜索法,另一種是 Ford Fulkerson 的向后搜索法。對兩種算法的優(yōu)缺點的詳細比較可從下面幾個方面考慮:網絡費用參數從測量點傳遞到路由計算點的通信開銷;計算路由時需要存儲的信息量;計算的復雜性;算法對鏈路費用變化的響應速度等。(重點掌握 Dijkstra 算法)
路由選擇策略:( 1 )固定式路由選擇:是一種最簡單的路由選擇策略。每一對源和目標之間的通路都是按照某種最小費用準則預先選擇好的。( 2 )擴散式路由選擇。( 3 )隨機式路由選擇:仍然保持了擴散式的簡單性和堅強性。( 4 )自適應式路由選擇。
自適應式路由選擇的優(yōu)缺點:缺點
最佳路由的計算更復雜,更頻繁,因而開銷更大;
懼到的路由信息要傳播到計算路由的結點,或者計算的結果要傳播到轉發(fā)分組的結點,這些都增加了網絡的負載;
自適應式算法對網絡參數的變化瓜太快會引起網絡流的振蕩,反應太慢則得不到最佳路由,為了減少這些風險要經常對算法本身的某些參數進行調整,這又增加了網絡管理的難度。
優(yōu)點:( 1 )能極大地改善網絡的性能;( 2 )能對網絡的通信量進行控制。
各種自適應算法分為以下三類:
孤立式自適應策略:一種簡單的孤立式自適應算法是讓轉發(fā)結點把每一個收到的分組發(fā)送給等待隊列長度 Q 最短的輸出鏈路,即所謂的“熱土豆法”。英國的 NPL 網中就使用了這種方法,并稱為分叉路由計算法。
分布式自適應策略;
集中式自適應策略。
1969 年 ARPANET 開始運行時就采用了分布式自短短適應路由選擇算法。
6.3 交通控制
交通控制技術有三種類型:
流量控制:流量控制是指調節(jié)兩點之間的傳輸速率,即由收方根據它的接收速率控制發(fā)送過程,避免出現來不及接收的情況,通常用某種形式的滑動窗口協議來實現流量控制。
擁擠控制。擁擠控制不同于流量控制,它的目的是保持網絡中分組數不要超過某一限度,因為一旦這一界限被打破,網絡性能將顯著下降。
引起吞吐率衰減的主要原因是資源的浪費。
每個結點的存儲緩沖區(qū)是有限的,如果某個中間結點的存儲緩沖區(qū)被塞滿了,則經過該結點的所有信息流動都會受阻,即使線路帶寬有富余,分組也不能通過,于是引起吞吐率降低。
擁擠:隨著負載的增加而引起吞吐率的下降叫擁擠。
獲知網絡中是否發(fā)生擁擠的方法:
由擁擠的結點向所有的源結點發(fā)送一種控制分組,報告網絡中產生擁擠的情況。
利用路由信息。
使用端—端之間的探測分組。
交換結點可以把擁擠信息加入到經過的分組上傳送給其他結點。
擁擠控制機制主要解決的問題是如何獲取網絡中發(fā)生擁擠的信息,利用這種信息進行控制的方法則因具體實現技術而不同。其目的都是限制進入通信子網的分組數,因而也間接限制了轉發(fā)結點中的隊列長度。
防止死鎖:多個用戶進程等待已分配的資源獲得釋放,并且進程對資源的等待和占用關系形成環(huán)路條件。
在網絡中可能形成死鎖狀態(tài)的資源是緩沖區(qū)。
當一個方向傳輸的分組占用了太多的緩沖資源時必然影響其他方向的分組有序流動,最終造成死鎖。
三種死鎖形式:
最簡單的一種死鎖是直接存儲—轉發(fā)死鎖。解決的方法是:如果不允許結點中的緩沖區(qū)全部分配給一個傳輸方向,或者對每一 3 傳輸方向都分配固定大小的緩沖區(qū),這種死鎖就不會發(fā)生。
另外一種死鎖是間接存儲—轉發(fā)死鎖。解決方法:采用結構化的緩沖池技術可防止發(fā)生這種死鎖。在擁擠的民政部下,“低級的”分組被丟棄,網絡盡量把“高級的”分組送往它們的目的地。
最后的一種死鎖是重裝配死鎖。這種死鎖在 ARPANET 這樣的數據報網絡中最容易出現。 ARPANET 采用的緩沖區(qū)管理方法稱為最小分配是最大限制的共享分配法。
交通控制技術的分級: 跳步級控制作用于通信子網內部的相鄰結點之間,主要目的是平滑結點之間的信息流,防止局部緩沖區(qū)的擁擠和死鎖; 網絡訪問級的控制是根據網絡內部擁擠的程度限制進入網絡的分組數; 進出口級的控制由源和目標結點之間的協議實現,用于防止目標結點緩沖區(qū)發(fā)生擁擠; 會話級控制關系到一對用戶主機之間的流控,由傳輸層協議實現。(簡答、多選)
ARPANET 中的效能控制: ARPANET 每個結點的緩沖池有 40 個緩沖區(qū),和結點相連的每條鏈路分配一個輸出緩沖區(qū)和 2 個緩沖區(qū),另外給通向主機的端口分配 10 個裝配緩沖區(qū)。這些緩沖區(qū)就是所謂的永久性最小分配。(填空)
ARPANET 的窗口和報文編號機制支持進出口結點之間的流量控制、排序、差錯控制。 ARPANET 還有另外一種機制防止裝配緩沖區(qū)死鎖。這種機制要求源結點在發(fā)送一個多分組報文之前先預約裝配緩沖區(qū)。
對于無連接的數據服務, ARPANET 不進行兩級流控。當目標結點不沒有自由緩沖區(qū)時,進來的分組被丟棄。
TYMNET 中的交通控制: TYMNET 對虛電路實施網絡訪問級和跳步級兩級流控。
6.4 X.25 公共數據網
公共數據網 PDN ( Public Data Network )是在整個國家或世界范圍內提供公共電信服務的數據通信網。
X.25 標準分為三個協議層:物理層、鏈路層和分組層。
物理層規(guī)定用戶主機或終端(即 DTE )和網絡之間的物理接口,這一層的協議采用 X.21 建議或 X.21 bis 建議。
鏈路層提供可靠的數據傳輸鏈路,這一層的標準叫做 LAP — B ( Link Access Procedure — Balanced ),它是 HDLC 的子集。
分組層提供外部虛電路服務,這一層協議的 X.25 建議的核心,特別稱為 X.25 PLP 協議( Packer Layer Protocol )。
3 . X.25 分組層協議 PLP :虛電路的建立和拆除、分組類型和格式、流控和差錯控制以及分組排序。
虛電路的建立和拆除:
X.25 的分層提供虛電路服務。有兩種形式的虛電路:一種是虛呼叫 VC ( Virtual Calls ),一種是永久虛電路 PVC(Permanent Virtual Circuits) .虛呼叫是動態(tài)建立的虛電路,有呼叫建立、數據傳送和呼叫清除等幾個過程。永久虛電路是由網絡指定的固定虛電路,像專用線一樣,無需建立和消除連接,可直接傳送數據。
分組中的虛電路代號信息用 12 位表示( 4 位組號和 8 位信道號)。除代號 0 為屬于所有虛電路的診斷分組保留外,建立虛電路時可以使用其余的 4095 個代號,因而理論上說一個 DTE 最多可建立 4095 個虛電路。(簡答)
當呼入代號區(qū)或呼出代號區(qū)溢出時可指派雙向選擇區(qū)的代號。顯然,這種代號分區(qū)方法避免了呼叫沖突。
分組類型和格式:
分組頭中第三個字節(jié)的最低位用來區(qū)分數據分組和其他的控制分組。
X.25 使用由 CCITT X.121 建議定義的編址系統,這個系統類似于公共交換電話網,其 DTE 的地址由三個部分組成,最多可包含多達 14 位十進制數字。這當中有國家代碼 3 位,網絡代碼 1 位,其余 10 位為網內地址代碼。
流控和差錯控制
X.25 默認的窗口大小是 2 ,但是對于 3 位順序號窗口最大可設置為 7 ,對 7 位的順序號,窗口最大可設置為 127 .
X.25 的差錯控制采用后退 N 幀 ARQ 協議。
分組排序
X.25 能夠識別分組組成的序列。
X.25 定義了 A 、 B 兩種類型的數據分組: A 型分組的 M 位置 1 , D 位置 0 ,分組長度為網絡允許的最大長度; B 型分組是除 A 型分組之外的任何分組。一個完備分組序列由 0 個或多個 A 型分組后跟 1 個 B 型分組組成。
習題:
為什么 TYMNET 中不會發(fā)生死鎖?
答:因為 TYMNET 采用訪問級和跳步級兩級流量控制,因此不會發(fā)生死鎖。
2 . X.25 網絡的第 2 級和第 3 級都有流控機制,兩種流控都是必要的嗎?為什么?
答:是必要的。因為虛電路方式兩層都要有流控(數據鏈路層、網絡層)。因為其不能單獨為每一條虛電路進行控制。