一、ATM中的網絡層 ATM層處理從源端到目的端移動著的信元,在ATM交換機中的確包含了路由選擇算法和協議,它也處理全局尋址問題。因此從功能上說,ATM層發揮著和網絡層相同的功能。ATM層并不能保證百分之百的可靠性,不過一個網絡層的協議也不需要如此。 因為ATM層具有網絡層的功能,而不具有數據鏈路層所具備的功能,并且,ATM層同現有的網絡層類似,因此我們仍在本章中討論ATM層協議。 唯一的問題是ATM層不具有數據鏈路層協議所具有的特性:一個用于導線兩端的機器之間的單站段協議,就像第3章中的協議1到協議6。ATM層卻具有網絡層協議的功能:端到端虛電路連接、交換、路由選擇。 對于面向連接的協議來說,ATM層是不同尋常的,因為它不提供任何確認。但ATM層仍然提供了強有力的保障:沿著一條虛電路發送的信元將永遠不會失去順序。如果阻塞發生了,允許ATM子網丟棄信元,但是在任何情況下,它都不能對在一條單獨的虛電路中傳遞的信元重新排序。然而,對于在不同的虛電路中傳遞的信元并沒有提供順序上的保障。 二、信元格式 在ATM層,有兩個接口是非常重要的,即用戶-網絡接口UNI(user-network interface)和網絡-網絡接口NNI(network-network interface)。前者定義了主機和ATM網絡之間的邊界(在很多情況下是在客戶和載體之間),后者應用于兩臺ATM交換機(ATM意義上的路由器)之間。兩種格式的ATM信元頭部如下圖。信元傳輸是最左邊的字節優先,在一個字節內部是最左邊的比特優先。 圖 (a)UNI中的ATM頭部;(b)NNI中的ATM頭部 三、連接建立 從技術上講,連接建立并不是ATM層的一部分,而是由控制平臺使用的一個高度復雜的叫做Q.2931(stiller,1995)的ITU協議來處理的。然而,邏輯上處理建立網絡層連接的地點是網絡層,并且類似的網絡層協議都是在這里進行連接建立的,因此我們在這里討論它。 用于連接建立和連接釋放的消息 消息 | 由主機發送時的含義 | 由網絡發送時的含義 | SETUP | 請建立一條虛電路 | 進入呼叫 | CALL PROCEEDING | 我看見了進入呼叫 | 將嘗試你的呼叫請求 | CONNECT | 我接受進入呼叫 | 接受你的呼叫請求 | CONNECT ACK | 謝謝接受 | 謝謝發出呼叫 | RELEASE | 請終止呼叫 | 另一端已足夠壞 | RELEASE COMPLETE | 對RELEASE的確認 | 對RELEASE的確認 |
ATM網絡允許建立多點播送通道。一個多點播送通道有一個發送者和多于一個的接收者。它們是通過如下方法建立起來的:用通常的方法在源端和目的端之間建立一條連接,接著發送ADD PARTY消息把第二個目的端連接到前一個呼叫返回的虛電路上去,接下來就可以發送其余的ADD PARTY來增加目的端的個數。 ATM有3種地址格式。第1字節指明該地址是3種地址格式中的哪一種。第1種有20字節長,是基于OSI地址格式的。第2和第3字節指明國家,第4字節給出了基于地址部分的格式,其他包括3字節指明權限,2字節指明域(domain),1字節指明區域,還有6字節的地址,以及其他一些信息項。在第2種地址格式中,第2和第3字節指定一個國際組織,而不是國家;地址的其余部分和格式與第1種相同。另一種是舊的使用15位十進制數的ISDN電話號碼(CCITT E.164)作為地址的格式。 四、路由選擇和交換 當建立虛電路時,SETUP消息沿著網絡從源端走向目的端。路由選擇算法決定了消息要走的路徑,從而也就決定了虛電路的路徑。ATM標準中沒有指定任何特定的路由選擇算法,所以人們就可以從我們在本章前面幾節中討論的路由選擇算法中選擇一種,或者選用另外不同的算法。 交換機的大部分工作量是花費在如何從一個信元里的虛電路信息里得到輸出線路的選擇上。除了在每一個方向上的最后一個站段外,路由都是在VPI字段上進行的,而不是在VCI字段;在最后一個站段,信元在交換機和主機之間傳送。在兩臺交換機之間只使用虛通路。 在局域網中,事情簡單得多,一條簡單的虛通路就可以為所有的虛電路所使用。 五、服務類型 恒定比特率CBR(constant bit rate)主要用來模仿銅線或者光導纖維。沒有差錯校驗,沒有流量控制,也沒有其余的處理。這個類別在當前的電話系統和將來的B-ISDN系統中作了一個比較圓滑的過渡,因為話音級的PCM通道,T1電路以及其余的電話系統都使用恒定速率的同步數據傳輸。 可變比特率VBR(variable bit rate)被劃分為兩個子組別,分別是為實時傳輸和非實時傳輸而設立的。RT-VBR主要用來描述具有可變數據流并且要求嚴格實時的服務,比如交互式的壓縮視頻(例如電視會議)。NRT-VBR用于主要是定時發送的通信場合,在這種場合下,一定數量的延遲及其變化是可以被應用程序所忍受的,如電子郵件。 可用比特率ABR(available bit rate)術語是為帶寬范圍已大體知道的突發性信息傳輸而設計的。ABR是唯一一種網絡會向發送者提供速度反饋的服務類型。當網絡中擁塞發生時會要求發送者減小發送速率。假設發送者遵守這些請求,采用ABR通信的信元丟失就會很低。運行著的ABR有點象等待機會的機動旅客:如果有空余的座位(空間),機動的旅客就會無延遲地被送到空余座位處;如果沒有足夠的容量,他們就必須等待(除非有些最低帶寬是可用的)。 未指定比特率UBR(unspecified bit rate)不做任何承諾,對擁塞也沒有反饋,這種類型很適合于發送IP數據報。如果發生擁塞,UBR信元也會被丟棄,但是并不給發送者發送反饋,也不給發送者希望放慢速度的期望。 各種ATM服務類型的特性 服務特性 | CBR | RT-VBR | NRT-VBR | ABR | UBR | 帶寬保證 | 是 | 是 | 是 | 可選 | 不 | 適用于實時通信 | 是 | 是 | 不 | 不 | 不 | 適用于突發通信 | 不 | 不 | 是 | 是 | 是 | 有關于擁塞的反饋 | 不 | 不 | 不 | 是 | 不 |
六、服務質量 服務質量在ATM網絡中是一個重要的話題,這部分因為ATM網絡都是用作實時傳輸的,比如音頻和視頻。當一條虛電路建立時,傳輸層(典型地為主機中的一個進程,“客戶”)和ATM網絡層(例如:一個網絡操作者,也即“運載提供者”)都要遵守一個定義服務的協定。 協定的第一部分是通信量描述符(traffic descriptor)。它描述要提供的載荷。協定的第二個部分指定客戶所要求的和通信提供者同意的服務質量。無論是載荷還是服務,都是要以可度量的數量來描述的,這樣約定就可以被客觀的決定。 為了使具體的通信量協定成為可能,ATM標準定義了一系列的服務質量Qos(quality of service),客戶和通信提供者可以協商這些參數的值。對于每一個服務質量參數,其最差情況下的值被指定了,要求通信提供者必須要達到或者超過該值。在某些情況下,參數是一個最小值,而在另外一些情況下它是一個最大值。也是在這里,服務質量在每個方向上都是單獨指定的。其中一些比較重要的列在了下表中,但它們并不是對所有的服務類型都適用。 一些服務質量參數 參數 | 縮寫詞 | 含義 | 峰值信元速率 | PCR | 信元發送的最大速率 | 持續信元速率 | SCR | 長時間的平均信元傳輸速率 | 最小信元速率 | MCR | 最小的可接受的信元傳輸速率 | 信元延遲變化極值 | CDVT | 最大的可接受的信元抖動 | 信元丟失比率 | CLR | 信元丟失或提交得太遲的比例 | 信元傳送延遲 | CTD | 信元提交時拖延的時間(中間值和最大值) | 信元延遲變化 | CDV | 信元提交時間的變化幅度 | 信元錯誤比率 | CER | 提交無錯信元的比例 | 嚴重錯誤信元塊比率 | SECBR | 出錯信元的比例 | 信元錯誤目的地比率 | CMR | 信元提交至錯誤目的地的比例 |
七、通信量整形和控制 使用和增強服務質量參數的機制是基于(部分地)一種特定的算法,也即通用信元速率算法GCRA(generic cell rate algorithm)。它的工作原理是檢查每一個信元,看是否遵從了虛電路的參數。 GCRA有兩個參數,它們指定了最大的允許到達率(PCR)和其中可以忍受的到達時間變化量(CDVT)。PCR的倒數,T=1/PCR是最小的信元到達間隔值。 GCRA算法被稱為虛擬調度算法(virtual scheduling algorithm),然而從另一種角度來看,它等同于一個漏桶算法。可把一個合乎協定的信元想象成是倒入一個漏桶的T單位的流體。這個桶以1單位/us的速度漏液體,因此Tus之后它就空了。如果信元正好是以1信元/Tus的速度到達,那么每一個到達的信元都會發現桶剛剛空出來,該信元會把桶內重新裝上T單位的液體。因此當一個信元到達時,液體水位升至T,以后就線性遞減直到為零。 當一個信元提前Lus到達時,桶就應該溢出。對于一給定的T,如果我們把L設置得很小,桶的容量將會很難超過T,因此所有的信元必須以一種非常規范的間隔順序發送。然而,如果我們現在增加L的值,使它遠遠大于T,桶將會容納很多的信元,因為T+L>>T。這就意味著發送者可以以峰值速率一個接一個地發送一些突發性數據,而它們仍然能夠被正確地接收。 GCRA正常情況下是通過給定參數T和L來指定的。T正好是PCR的倒數;L就是CDVT。GCRA也用來保證在任何一段較長時間內平均信元傳輸速率不會超過SCR。 除了提供了一條規則來看哪一個信元是合乎協定的,哪一個是不合乎協定的之外,GCRA也用于通信整形,以消除某些突發性傳輸。CDVT越小就意味著越好的平滑效果,但也增大了因為不合乎協定而丟棄信元的機率。在一些實現中把GCRA漏桶和一個令牌桶結合起來,以提供進一步的平滑。 八、擁塞控制 ATM網絡必須既要處理由于大于系統處理能力的通信量而引起的長期擁塞,又要處理由于通信中的突發性傳輸而引起的短期擁塞。結果人們使用了幾種不同的策略。它們當中最重要的可分為3類: 1、許可證控制 很多ATM網絡中有以固定速率產生數據的實時通信源。告訴這一類的通信源減慢發送速率是行不通的(想象一種有一個紅燈的新型數字電話。當通知擁塞發生時,紅燈就會亮,講話者將被要求速率減慢25%)。 因此,ATM網絡把防止擁塞發生放在第一的位置。然而,對于CBR、VBR、UBR類通信量,根本就沒有動態擁塞控制,因此在這里預防擁塞發生將遠遠比擁塞發生后再去恢復強得多。預防擁塞的一個主要工具是許可證控制。當一臺主機需要一條新的虛電路時,它必須描述出希望被提供的通信和服務,網絡便作出檢查來看是否有可能,在不對已存在連接造成有害的影響的前提下處理該連接。可能需要檢查多條可能的線路,從而發現哪一條將可以做此項工作。 2、資源預訂 同許可證控制密切相關的是事先預定資源的技巧,這通常是在呼叫建立時進行。因為通信量描述符給出了信元發送峰值速率,網絡就有可能沿通路預留足夠的帶寬來處理該峰值速率。 3、基于速率的擁塞控制 在CBR和VBR通信中,因為信息源固有的實時和半實時的特性,所以即使在發生擁塞的情況下,一般也不可能讓發送者減慢發送速率。在VBR服務中,沒有人會擔心。如果有太多的信元,把多出來的丟棄掉就是。 在ABR通信中,網絡去通知一個或多個發送者并且請求它們暫時減慢發送速率直到網絡恢復,這是可能的也是合理的。 怎樣檢測、通知和控制ABR通信中的擁塞是ATM標準發展過程中的一個熱門話題,問題集中在以下兩個方面:一是基于信用的解決方案,一種是基于速度的解決方案。 交換機廠商們反對基于信用的解決方案。他們不想進行所有計算,以記住這些信用,同時,也不想預先提供很多緩沖區,并認為所需要的開銷總量太大。因此,采用了基于速度的擁塞控制系統。其基本模型是每個發送端在k信元數據之后傳送一個特殊的資源管理RM(resource management)信元。這個信元的傳輸通路與k信元相同,但是它由交換機進行特殊處理。當RM信元到達接收端時,對它進行檢測、修改并且再將它發送回發送端。另外,還提供了其他兩種擁塞控制裝置。第一種是超載荷交換機能夠自發地產生RM信元,并將它們發送回發送端。第二種是超載荷交換機能夠對從發送端傳送到接收端的信元數據設置其中間PTI位的值。當然這兩種方法沒有一個是完全可靠的。 |