本章將討論廣域網(wǎng)基本概念,包括廣域網(wǎng)所提供的兩種服務(wù)――數(shù)據(jù)報和虛電路。廣域網(wǎng)的主要問題都在網(wǎng)絡(luò)層,因此接著要討論分組的轉(zhuǎn)發(fā)機制,即網(wǎng)絡(luò)交換結(jié)點應(yīng)通過哪條路徑(path)才能將數(shù)據(jù)轉(zhuǎn)發(fā)到所要通信的目的主機。這就要查找轉(zhuǎn)發(fā)表。本章只討論查找轉(zhuǎn)發(fā)表的簡單過程,而轉(zhuǎn)發(fā)表是如何建立的則在下一章討論。另外,本章還將ATM技術(shù)的廣域網(wǎng)。
當主機之間的距離較遠時,例如,相隔幾十、幾百公里或甚至幾千公里,局域網(wǎng)顯然就無法完成主機之間的通信任務(wù)了。這時就需要另一種結(jié)構(gòu)的網(wǎng)絡(luò),即廣域網(wǎng)。
廣域網(wǎng)由一些結(jié)點交換機以及連接這些交換機的鏈路織成。結(jié)點交換機執(zhí)行將分組存儲轉(zhuǎn)發(fā)的功能。結(jié)點之間都是點到點連接,但為了提高網(wǎng)絡(luò)的可靠性,通常—個結(jié)點交換機往往與多個結(jié)點交換機相連。受經(jīng)濟條件的限制,廣域網(wǎng)部不使用局域網(wǎng)普遍采用的多點接入技術(shù)。從層次上考慮,廣域網(wǎng)和局域網(wǎng)的區(qū)別很大,因為局域網(wǎng)使用的協(xié)議主要在數(shù)據(jù)鏈路層(還有少量物理層的內(nèi)容),而廣域網(wǎng)使用的協(xié)議在網(wǎng)絡(luò)層,在廣城網(wǎng)中的一個重要問題就是分組的轉(zhuǎn)發(fā)機制。
圖6-1表示相距較遠的局域網(wǎng)通過路由器與廣域網(wǎng)相連,組成了一個覆蓋范圍很廣的互聯(lián)網(wǎng)。這樣,局域網(wǎng)就可通過廣域網(wǎng)與另一個相隔很遠的局域網(wǎng)進行通信?;ヂ?lián)網(wǎng)和路由器的工作原理將在第7章中討論。路由器是一種特殊用途的主機,在圖中將它畫在兩種網(wǎng)絡(luò)之外。其實它也可同時畫在兩個網(wǎng)絡(luò)之中,因為它既屬于局域網(wǎng)也屬于廣域網(wǎng)。
廣域網(wǎng)并沒有嚴格的定義。通常是指覆蓋范圍很廣(遠遠超過一個城市的范圍)的長距離網(wǎng)絡(luò),一般都是由電信公司所擁有。如圖6-1所示的互聯(lián)網(wǎng),一般就個稱它為廣域網(wǎng),因為在這種網(wǎng)絡(luò)中,由不同網(wǎng)絡(luò)的“互連”才是它的最主要的特征?;ヂ?lián)網(wǎng)必須使用路由器來連接,而廣域網(wǎng)是使用結(jié)點交換機而不需要用路由器來連接。
廣域網(wǎng)和局域網(wǎng)都是互聯(lián)網(wǎng)的重要組成構(gòu)件。盡管它們的價格和作用距離相差很遠,但從互聯(lián)網(wǎng)的角度來看,廣城網(wǎng)和局域網(wǎng)都是平等的(在學完這一章后就能更好地理解這點)。這里的一個關(guān)鍵就易廣域網(wǎng)和局域網(wǎng)有一個共同點:這連在一個廣域網(wǎng)或一個局域網(wǎng)上的主機在該網(wǎng)內(nèi)進行通情時,只需要使用其網(wǎng)絡(luò)的物理地址即可。
從層次上看,局域網(wǎng)中的最高層就是網(wǎng)絡(luò)層。網(wǎng)絡(luò)層為接在網(wǎng)絡(luò)上的主機所提供的服務(wù)可以有兩大類,即無連接的網(wǎng)絡(luò)服務(wù)和面向連接的網(wǎng)絡(luò)服務(wù),這兩種服務(wù)的具體實現(xiàn)就是通常所謂的數(shù)據(jù)報服務(wù)和虛電路服務(wù)。
圖6-2中分別畫出了網(wǎng)絡(luò)提供數(shù)據(jù)報服務(wù)和提供虛電路服務(wù)的特點。連接廣域網(wǎng)各結(jié)點交換機的鏈路都是高速鏈路,其距離不限,可以是幾千公里的光纖線路,也可以是幾萬公里的點對點衛(wèi)星鏈路。網(wǎng)絡(luò)層的用戶是運輸層實體,但現(xiàn)在為方便起見,可以用主機作為網(wǎng)絡(luò)層的用戶。我們先討論數(shù)據(jù)報服務(wù)。
網(wǎng)絡(luò)提供數(shù)據(jù)報服務(wù)的特點是:網(wǎng)絡(luò)隨時都可接受主機發(fā)送的分組(即數(shù)據(jù)報)。網(wǎng)絡(luò)為每個分組獨立地選擇路由。網(wǎng)絡(luò)只是盡最大努力地將分組交付給目的主機,但對源主機沒有任何承諾。網(wǎng)絡(luò)不保證所傳送的分組不丟失,也不保證按源主機發(fā)送分組的先后順序以及在多長的時限內(nèi)必須將分組交付給目的主機。當需要把分組按發(fā)送順序交付給目的主機時,在目的站還必須把收到的分組緩存一下,等到能夠按順序交付主機時再進行交付。當網(wǎng)絡(luò)發(fā)生擁塞時,網(wǎng)絡(luò)中的某個結(jié)點可以將一些分組丟棄。所以,數(shù)據(jù)報提供的服務(wù)是不可靠的,它不能保證服務(wù)質(zhì)量。實際上“盡最大努力交付”的服務(wù)就是沒有質(zhì)量的服務(wù)。如果網(wǎng)絡(luò)從來都不向目的主機交付分組,則這種網(wǎng)絡(luò)仍然滿足“盡最大努力交付”的定義。圖6-2(a)表示主機H1向H5發(fā)送的分組,可以看出,有的分組可經(jīng)過結(jié)點A—B—E,而另一些則可能經(jīng)過結(jié)點A—C—E,或A—C—B—E。在一個網(wǎng)絡(luò)中可以有多個主機同時發(fā)送數(shù)據(jù)報,例如主機H2經(jīng)過結(jié)點B—E與主機H6通信。
再看網(wǎng)絡(luò)提供虛電路服務(wù)的情況。先設(shè)圖6-2(b)中主機要和主機H5通信。于是,主機H1先向主機H5發(fā)出一個特定格式的控制信息分組,要求進行通信,同時也尋找一條合適的路由。若主機H5同意通信就發(fā)回響應(yīng),然后雙方就建立了虛電路并可傳送數(shù)據(jù)了。這點很像電話通信,先撥號建立電路,然后再通話。
在圖6-2(b)中,我們設(shè)尋找到的路由是A—B—E。這就是我們要建立的虛電路(Virtual Circuit):H1-A—B—E-H5(將它記為VC1)。以后主機H1向主機H5傳送的所有分組都必須沿著這條虛電路傳送,在數(shù)據(jù)傳送完畢后,還要將這條虛電路釋放掉。
需要注意的是,由于采用了存儲轉(zhuǎn)發(fā)技術(shù),所以這種虛電路就和電路交換的連接有很大的不同。在電路交換的電話網(wǎng)上打電話時,兩個用戶在通話期間自始至終地占用一條端到端的物理信道。但當我們占用一條虛電路進行主機通信時,由于采用的是存儲轉(zhuǎn)發(fā)的分組交換,所以只是斷續(xù)地占用一段又一段的鏈路,雖然我們感覺到好像(但并沒有真正地)占用了一條端到端的物理電路。建立虛電路的好處是可以在有關(guān)的交換結(jié)點預先保留一定數(shù)量的緩存,作為對分組的存儲轉(zhuǎn)發(fā)之用。
假定還有主機 H2和主機H6通信。所建立的虛電路為經(jīng)過B->E兩個結(jié)點的VC2。
在虛電路建立后,網(wǎng)絡(luò)向用戶提供的服務(wù)就好像在兩個主機之間建立了一對穿過網(wǎng)絡(luò)的數(shù)字管道(收發(fā)各用—條)。所有發(fā)送的分組都按發(fā)送的前后順序進入管道,然后按照先進先出的原則沿著此管道傳送到目的站主機。因為是全雙工通信,所以每一條管道只沿著—個方向傳送分組。這樣,到達目的站的分組不會因網(wǎng)絡(luò)出現(xiàn)擁塞而丟失(因為在結(jié)點交換機中預留了緩存),而且這些分組到達目的站的順序與發(fā)送時的順序一致,因此網(wǎng)絡(luò)提供虛電路服務(wù)就是對通信的服務(wù)質(zhì)量QoS(Quality of Service)有較好的保證。
網(wǎng)絡(luò)所提供的上述這兩種服務(wù)的思路來源不同。
虛電路服務(wù)的思路來源于傳統(tǒng)的電信網(wǎng)。電信網(wǎng)將其用戶終端(電話機)做得非常簡單,而電信網(wǎng)負責保證可靠通信的一切措施,因此電信網(wǎng)的結(jié)點交換機復雜而昂貴。
數(shù)據(jù)報服務(wù)使用另—種完全不同的新思路。它力求使網(wǎng)絡(luò)生存性好和使對網(wǎng)絡(luò)的控制功能分散,因而只能要求網(wǎng)絡(luò)提供盡最大努力的服務(wù)。但這種網(wǎng)絡(luò)要求使用較復雜且有相當智能的主機作為用戶終端??煽客ㄐ庞捎脩艚K端中的軟件(即TCP)來保證。
從20世紀70年代起,關(guān)于網(wǎng)絡(luò)層究竟應(yīng)當采用數(shù)據(jù)報服務(wù)還是虛電路服務(wù),在網(wǎng)絡(luò)界一直在進行爭論。問題的焦點就是網(wǎng)絡(luò)要不要提供網(wǎng)絡(luò)端到端的可靠通信?OSI一開的就按照電信網(wǎng)的思路來對待網(wǎng)絡(luò),堅持“網(wǎng)絡(luò)提供的服務(wù)必須是非常可靠的”這樣一種觀點,因此OSI在網(wǎng)絡(luò)層(以及其他的各個層次)采用了虛電路服務(wù)。
然而美國ARPANET的一些專家則認為,根據(jù)多年的實踐證明,不管用什么方法設(shè)計網(wǎng)絡(luò),網(wǎng)絡(luò)(這可能由多個網(wǎng)絡(luò)互連而成)提供的服務(wù)并不可能做得非??煽浚脩糁鳈C仍要負責端到端的可靠性。所以他們認為:讓網(wǎng)絡(luò)只提供數(shù)據(jù)的服務(wù)就可大大簡化網(wǎng)絡(luò)層的結(jié)構(gòu)。當然,網(wǎng)絡(luò)出了差錯不去處理而讓兩端的主機來處理肯定會延誤一些時間,但技術(shù)的進步使得網(wǎng)絡(luò)出錯的概率越來越小,因而讓主機負責端到端的可靠性不但不會給主機增加更多的負擔,反而能夠使更多的應(yīng)用在這種簡單的網(wǎng)絡(luò)中運行。因特網(wǎng)能夠發(fā)展到今天這樣的規(guī)模,充分說明了在網(wǎng)絡(luò)層提供數(shù)據(jù)報服務(wù)是非常成功的。
除以上的區(qū)別外,數(shù)據(jù)報服務(wù)和虛電路服務(wù)還都各有一些優(yōu)缺點。
根據(jù)統(tǒng)計,主機在網(wǎng)絡(luò)上傳送的報文長度,在很多情況下都很短。若采用128個字節(jié)為分組長度,則往往一次傳送一個分組就夠了。這樣,用數(shù)據(jù)報既迅速又經(jīng)濟。若用虛電路,為了傳送—個分組而建立虛電路和釋放虛電路就顯得太浪費網(wǎng)絡(luò)資源了。
為了在交換進行結(jié)點存儲轉(zhuǎn)發(fā),在使用數(shù)據(jù)報時,每個分組必須攜帶完整的地址信息,但在使用虛電路的情況下,每個分組不需要攜帶完整的目的地址,而僅需要有個很簡單的虛電路號碼的標志,這就使分組的控制信息部分的比特數(shù)減少,因而減少了額外開銷。
對待差錯處理和流量控制,這兩種服務(wù)也是有差別的。在使用數(shù)據(jù)報時,主機承但端到端的差錯控制和流量控制。在使用虛電路時,網(wǎng)絡(luò)應(yīng)保證分組按順序交付,而且不丟失、不重復,并維護虛電路的流量控制。
數(shù)據(jù)報服務(wù)對軍事通信有其特殊的意義。這是因為每個分組可獨立地選擇路由。當某個結(jié)點發(fā)生故障時,后續(xù)的分組就可另選路由,因而提高了可靠性。但在使用虛電路時,結(jié)點發(fā)生故障就必須重新建立另一條虛電路。數(shù)據(jù)報服務(wù)還很適合于將—個分組發(fā)送到多個地址(即廣播或多播)。
我們知道分組交換網(wǎng)的分組轉(zhuǎn)發(fā)是基于查表的,本節(jié)就是討論這種查表的機制。這一節(jié)所討論的分組轉(zhuǎn)發(fā)機制,也是下一章學習互聯(lián)網(wǎng)的路由選擇的基礎(chǔ)。
在討論轉(zhuǎn)發(fā)機制之前要先說明一下,“轉(zhuǎn)發(fā)”(forwarding)和“路由選擇”(routing)這兩個名詞的使用在過去有些混亂?,F(xiàn)在的文獻傾向于區(qū)分開它們的不同[PETE00]。
轉(zhuǎn)發(fā)就是在交換結(jié)點收到分組時,檢查其目的地址,然后用查找轉(zhuǎn)發(fā)表(forwarding table)的方法,找出應(yīng)從結(jié)點的哪一個接口將該分組發(fā)送出去。
路由選擇則是構(gòu)造路由表(routing table)的過程。路由表是用路由選擇算法得到的,而轉(zhuǎn)發(fā)表則是根據(jù)路由表得出的。
總之,路由選擇協(xié)議負責搜索分組從某個結(jié)點到目的結(jié)點的最佳傳輸路由,以便構(gòu)造路由表。從路由表再構(gòu)造出轉(zhuǎn)發(fā)分組的轉(zhuǎn)發(fā)表。分組是通過轉(zhuǎn)發(fā)表進行轉(zhuǎn)發(fā)的。
需要注意的是,當討論一些原理時,為了使討論更簡單些,在許多文獻中沒有嚴格區(qū)分“轉(zhuǎn)發(fā)”和“路由選擇”,也不—定使用“轉(zhuǎn)發(fā)表”這一名詞(即在轉(zhuǎn)發(fā)分組時也是說“查找路由表”)。這樣做,并不影響對問題實質(zhì)的理解。
在討論轉(zhuǎn)發(fā)表之前,應(yīng)先知道廣域網(wǎng)是怎樣給接入到網(wǎng)絡(luò)的每一臺主機進行編址的,這個問題很重要,因為沒有地址的主機是無法在網(wǎng)絡(luò)中進行通信的。
1.層次結(jié)構(gòu)的地址結(jié)構(gòu)
上一章討論的局域網(wǎng)采用了平面地址結(jié)構(gòu)(flat addressing)。對不需要進行路由選擇的局域網(wǎng),這種結(jié)構(gòu)非常方便。然而在廣域網(wǎng)中,分組往往要經(jīng)過許多的結(jié)點交換機的存儲轉(zhuǎn)發(fā)才到達目的地。在廣域網(wǎng)中每一個結(jié)點交換機中都有一個轉(zhuǎn)發(fā)表,里面存放了到達每—個主機的路由。顯然,廣域網(wǎng)中的主機數(shù)越多,查找轉(zhuǎn)發(fā)表就費時間。為了減少查找轉(zhuǎn)發(fā)表所花費的時間,在廣域網(wǎng)中一般都采用層次結(jié)構(gòu)的地址(hierarchical addressing)。
最簡單的層次結(jié)構(gòu)地址就是把一個用二進制數(shù)表示的主機地址劃分為前后兩部分。前部分的二進制數(shù)表示該主機所連接的分組交換機的編號,是第一層地址,而后—部分的二進制數(shù)表示所連接的分組交換機的端口號,或主機的編號,是第二層地址,如圖6-3所示,網(wǎng)絡(luò)中的結(jié)點交換機分為兩種:—種是僅和其他經(jīng)點交換機相連接的結(jié)點交換機;另一種是除了和其他結(jié)點交換機相連接,還要和用戶主機相連接。這兩種交換機的主要區(qū)別是:第一種交換機的連接端口都是高速端口(因為交換機之間的線路速率較高),而第二種交換機還要有—些和主機連接的低速端口。
圖6-3 最簡單的層次地址
如圖6-4所示有三個交換機,其編號分別為1、2和3。每個主機也按接入的交換機和低速端口進行編號。這樣,交換機l所接入的兩個主機的地址就分別記為[1,1]和[1,3],即方括弧中的第1個數(shù)字表示交換機號而第2個數(shù)字表示該交換機的端口號(標注在圖中的主機旁邊)。如果我們用8個比特來表示主機地址,其中文換機的編號和低速端口的編號都各占4個比特,那么上述兩個主機的地址就分組是00010001和00010011.不難看出,采用這種編址方法,每一臺主機在整個廣域網(wǎng)中的地址一定是唯一的。實際上,在許多情況下,用戶和應(yīng)用程序不必知道這個地址是分層結(jié)構(gòu)的,而可以將這樣的地址簡中地看成是一個數(shù)。
下面我們先看一下結(jié)點交換機是怎樣進行路由選擇的。為簡單起見,圖6-4小只畫出了結(jié)點交換機2中的轉(zhuǎn)發(fā)表,并只給出了轉(zhuǎn)發(fā)表中最重要的兩個內(nèi)容.即一個分組將要發(fā)往的目的站,以及分組發(fā)往的下一跳(next hop)。
例如,圖6-4中有一個欲發(fā)往主機[3,2]的分組到達了交換機2。查找轉(zhuǎn)發(fā)表后在第3行找出,其下一跳應(yīng)為“交換機3”。于是按照轉(zhuǎn)發(fā)表的這個指示將該分組轉(zhuǎn)發(fā)到交換機3。如果分組的目的地是直接連接在本交換機上的主機,則不需要再將分組轉(zhuǎn)發(fā)到別的交換機,這時轉(zhuǎn)發(fā)表上注明的就是:“直接”。例如,有一個欲發(fā)往主機[2,1]的分組到達了交換機2。查找轉(zhuǎn)發(fā)表后在第5行找出,其下一跳應(yīng)為“直接”,表明該分組已經(jīng)到達了最后一個交換機,而目的主機就連接在這個交換機上。
應(yīng)當注意,轉(zhuǎn)發(fā)表中沒有源站地址這一項。這是因為路由選擇中的下一跳只取決于數(shù)據(jù)報中的目的站地址,而與源站地址無關(guān)。這是—個很重要的概念,應(yīng)記住。
2.按照目的站的交換機號確定下一跳
仔細再看一下圖6-4就可發(fā)現(xiàn),這種轉(zhuǎn)發(fā)表還可進行簡化。這是因為只要轉(zhuǎn)發(fā)表中目的站的交換機號相同.那么查出的“下—跳”就是相同的。因此在確定下一跳時,我們可以不必根據(jù)目的站的完整地址,而是可以僅僅根據(jù)目的站地址中的交換機號。所以,若將轉(zhuǎn)發(fā)表中的“目的站”定義為“目的主機地址中的交換機號”(即不管主機的編號是多少),那么轉(zhuǎn)發(fā)表就可進一步簡化。例如,圖6-4交換機2中的轉(zhuǎn)發(fā)表中的6行就合并為3行,即將交換機號相同的行合并。
若每個交換機連接10臺土機,則簡化后的轉(zhuǎn)發(fā)表就只有原來的十分之一大小。
采用兩個層次的編址方案可使轉(zhuǎn)發(fā)分組時只使用第一部分地址,即在進行路由選擇時,只根據(jù)主機地址中的交換機號。只有到分組到達與目的主機相連的結(jié)點交換機時,交換機才檢查第二部分地址,并通過合適的低速端口將分組交給目的主機。以后在互聯(lián)網(wǎng)環(huán)境下也要用到這種分層次進行路由選樣的原理。
從上面的討論可知,所謂廣域網(wǎng)的路由問題就是要解決分組在各交換機中應(yīng)如何進行轉(zhuǎn)發(fā)。前面所提到的轉(zhuǎn)發(fā)表就是為了解決廣域網(wǎng)的路由問題而在交換機中專門設(shè)置的。因此,在專門研究廣域網(wǎng)的路由問題時,可用圖論中的“圖(graph)”來表示整個廣域網(wǎng),用“結(jié)點”表示廣域網(wǎng)上的結(jié)點交換機。用連接結(jié)點與結(jié)點的“邊”表示廣域網(wǎng)中的鏈路。至于連接在結(jié)點交換機上的主機由于與路由選擇無關(guān)(因為現(xiàn)在我們是根據(jù)主機所連接到的交換機號進行路由選擇),因此在圖中一律不畫上主機而只剩下各結(jié)點交換機。這樣得出較簡單的圖對于討論路由選擇是非常清晰的。
圖6-5左邊是一個具有4個結(jié)點交換機的例子,而右邊則是對應(yīng)的圖。圖中結(jié)點表示交換機,圓圈中的數(shù)字就是結(jié)點交換機號,連接兩結(jié)點的邊表示連接交換機的鏈路。
根據(jù)圖6-5所示的圖,可得出每一個結(jié)點中的轉(zhuǎn)發(fā)表,如圖6-6所示。在“下一跳”下面的符號“-”表示就通過“本交換機”直接交付給所連接的主機而不要再轉(zhuǎn)發(fā)到其他結(jié)點。凡是要經(jīng)過其他交換結(jié)點轉(zhuǎn)發(fā)的都是間接文付。
分析圖6-6所示的轉(zhuǎn)發(fā)表,發(fā)現(xiàn)還可再將轉(zhuǎn)發(fā)表進一步簡化。例如,在結(jié)點1的轉(zhuǎn)發(fā)表中,當目的站為2、3或4時,分組都是轉(zhuǎn)發(fā)到結(jié)點3,因而“下—跳”這一列中的“3”是重復出現(xiàn)的。為什么會出現(xiàn)這種情況呢 只要看一下圖6-5就知道了。結(jié)點1只有—條鏈路連接到結(jié)點3。從結(jié)點1發(fā)往其他任何結(jié)點的分組都只能先轉(zhuǎn)發(fā)到結(jié)點3。
在較小的網(wǎng)絡(luò)中,轉(zhuǎn)發(fā)表中重復的項目不多。但很大的廣域網(wǎng)的轉(zhuǎn)發(fā)表中就有可能出現(xiàn)很多的重復項目。這會導致搜索轉(zhuǎn)發(fā)表時花費較長的時間。為了消除轉(zhuǎn)發(fā)表中的重復項目,可以用一個默認路由(default route)代替所有的具有相同“下一跳”的項目。默認路由比其他項目的優(yōu)先級低。若轉(zhuǎn)發(fā)分組時找不到明確的項目對應(yīng),就使用默認路由。在轉(zhuǎn)發(fā)表中默認路由的目的站記為符號“*”,使用了默認路由的簡化轉(zhuǎn)發(fā)表如圖6-7所示。
從圖6-7可看出,只有超過一個以上的目的站有相同的下一跳時使用默認路由才會使轉(zhuǎn)發(fā)表更加簡潔,從而減少轉(zhuǎn)發(fā)表的搜索時間。
到目前為止,我們已經(jīng)討論了怎樣查找轉(zhuǎn)發(fā)表,找到下一跳。然而我們還沒有討論轉(zhuǎn)發(fā)表中的各項目是怎樣寫入的。如圖6-5所示的簡單網(wǎng)絡(luò),我們稍加觀察就能寫出所有結(jié)點的轉(zhuǎn)發(fā)表。但對于大型廣域網(wǎng)(如有上百個或更多的結(jié)點)情況就不同了。在這種情況下就必須使用合適的路由算法。所謂“路由算法”就是用于產(chǎn)生路由表的算法。有關(guān)路由算法的問題我們將在下一章進行討論。
現(xiàn)有的電路交換和分組交換在實現(xiàn)寬帶高速的交換任務(wù)時,都表現(xiàn)出一些缺點。
對于電路交換,當數(shù)據(jù)的傳輸速率及其突發(fā)性變化非常之大時,交換的控制就變得十分復雜。對于分組交換,在數(shù)據(jù)傳輸速率很高時,協(xié)議數(shù)據(jù)單元在各層的處理成為很大的開銷,無法滿足實時性很強的業(yè)務(wù)的時延要求。
但電路交換的實時性很好而分組交換的靈活性很好、因此,寬帶綜合業(yè)務(wù)數(shù)字網(wǎng)就想采用結(jié)合這兩種交換方式優(yōu)點的另一種新的交換技術(shù)。
異步傳遞方式ATM(Asynchronous Transfer Mode)就是建立在電路交換和分組交換的基礎(chǔ)上的一種面向連接的快速分組交換技術(shù),它采用定長分組,能夠較好地對寬帶信息進行交換。
與“異步”相對應(yīng)的是“同步”。同步傳遞方式STN(Synchronous Transfer Mode)是使各個終端之間有稱之為幀參考(即時分復用的時間項,而不是數(shù)據(jù)鏈路層的幀)的一個共同時間參考(不要和SDH中的同步傳遞模塊STM的縮寫弄混)。而異步傳遞方式則假定各終端之間沒有共同的時間參考。在STM中,每一個信道周期性地占用一個幀中的固定的時隙。而在ATM中,每個時隙沒有確定的占有者,各信道根據(jù)通信量的大小和排隊規(guī)則來占用時隙。每一個時隙就相當于一個分組.這在ATM中叫做信元(cell)。
ATM的主要優(yōu)點如下:
(1)選擇固定長度的短信元作為信息傳輸?shù)膯挝?,有利于寬帶高速交換。信元長度為53字節(jié),其首部(可簡稱為信頭)為5字節(jié)。長度固定的首部可使ATM交換機的功能盡量簡化,只用硬件電路就可對信元進行處理,因而縮短了每一個信元的處理時間。在傳輸實時話音或視頻業(yè)務(wù)時,短的信元有利于減小時延,也節(jié)約了結(jié)點交換機為存儲信元所需的存儲空間。
(2)能支持不同速率有各種業(yè)務(wù)。ATM允許終端有足夠多比特時就去利用信道,從而取得靈活的帶寬共享。來自各終端的數(shù)字流在鏈路控制器中形成完整的信元后,即按先到先服務(wù)的規(guī)則,經(jīng)統(tǒng)計夏用器,以統(tǒng)一的傳輸速率將信元插入到一個空閑時隙內(nèi)。鏈路控制器調(diào)節(jié)信息源進網(wǎng)的速率。不同類型的服務(wù)都可復用在一起,高速率信源就占有較多的時隙。交換設(shè)備只需按網(wǎng)絡(luò)最大速率來沒置,它與用戶設(shè)備的特性無關(guān)。
(3)所有信息在最低層是以面向連接的方式傳送,以保持電路交換適合于傳送實時性很強的業(yè)務(wù)的優(yōu)點。但對用戶來說,ATM既可工作于確定方式(即承載某種業(yè)務(wù)的信元基本上周期性地出現(xiàn)),以支持實時型業(yè)務(wù);也可以工作于統(tǒng)計方式(即信元不規(guī)則地出現(xiàn)),以支持突發(fā)型業(yè)務(wù)。
(4)AIM使用光纖信道傳輸。由于光纖信道的誤碼率極低,且容量很大,因為在ATM網(wǎng)內(nèi)不必在數(shù)據(jù)鏈路層進行差錯控制和流量控制(放在高層處理),這就明顯地提高了信元網(wǎng)絡(luò)中的傳送速率。
ATM的一個明顯缺點就是信元首部的開銷太大,即5字節(jié)的信元首部在整個53字節(jié)的信元中所占的比例太大。
雖然ATM具有上述的許多優(yōu)點,但實際上ATM的發(fā)展并不如當初預期的那樣順利。這是因為ATM技術(shù)復雜且設(shè)備的價格較高,同時ATM能夠直接支持的應(yīng)用不多。與此同時,無連接的IP協(xié)議的因特網(wǎng)卻發(fā)展非???,各種應(yīng)用與因特網(wǎng)的銜接非常好,設(shè)備較便宜,而快速以太網(wǎng)和吉比特以太網(wǎng)又已推向市場,因而ATM目前的應(yīng)用主要局限于因特網(wǎng)的高速主干網(wǎng)。
—個ATM網(wǎng)絡(luò)包括兩種網(wǎng)絡(luò)元素,即ATM端點(endpoint)和ATM交換機。ATM端點就是在ATM網(wǎng)絡(luò)中能夠產(chǎn)生或接收信元的源站或目的站。ATM端點通過點到點鏈路與ATM交換機相連。ATM交換機就是一個快速分組交換機(交換容量高達數(shù)百G Bit/s),其主要構(gòu)件是交換機構(gòu)(switching fabric)、若干個高速輸入和輸出端口以及必要的緩存。出于ATM標準并不對ATM交換機的具體交換機構(gòu)做出規(guī)定,因此現(xiàn)在已經(jīng)出現(xiàn)了多種類型的ATM交換機構(gòu)。限于篇幅,本書不討論ATM文換機的結(jié)構(gòu)。
最簡單的ATM網(wǎng)絡(luò)可以只有一個ATM交換機,并通過一些點到點的鏈路與各ATM端點相連。較小的ATM網(wǎng)絡(luò)有少量的ATM交換機,一般都連接成網(wǎng)格狀則可以獲得較好的連通性。大型ATM網(wǎng)絡(luò)擁有較多數(shù)量的ATM交換機,并按照分級的結(jié)構(gòu)組成網(wǎng)絡(luò)。
制定ATM標準的最主要的組織機構(gòu)有ITU-T和ATM論壇(ATM Forum)以及IETF等。下面介紹ATM的協(xié)議參考模型(圖6-8)。
ATM的協(xié)議參考模型共有三層,大體上與OSI的最低兩層相當(但無法嚴格與OSl的層次相對應(yīng))。
1. 物理層
物理層又分為兩個子層??肯旅娴氖俏锢砻襟w相關(guān)(Physical Medium Dependent)子層,即PMD子層。PMD子層的上面由是傳輸匯聚(Transmission Convergence)子層,即TC子層。
(1)PMD子層,它負責在物理媒體上正確傳輸和接收比特流,它只完成和媒體相關(guān)的功能,如線路編碼和解碼、比特定時以及光電轉(zhuǎn)換等,對于不同的傳輸媒體,PMD子層是不同的??晒?/span>PMD子層使用的傳輸媒體主要是光纖(單?;蚨嗄?/span>),但也可使用銅線(UTP或STP)、同軸電纜或無線信道等。
圖6-8 ATM的協(xié)議參考模型
(2)TC子層,它實現(xiàn)信元流和比特流的轉(zhuǎn)換,包括速率適配(空閑信元的插入)、信元定界與同步、傳輸幀的產(chǎn)生與恢復等。在發(fā)達時,TC子層將上面的ATM層交下來的信元流轉(zhuǎn)換成比特流.再交給下面的PMD子層。在接收時,TC子層將PMD子層交上來的比特流轉(zhuǎn)換成信元流,標記出每一個信元的開始和結(jié)束.并交給ATM層。TC子層的存在使得ATM層實現(xiàn)了與下面的傳輸媒體完全無關(guān)。典型的TC子層就是SONET/SDH。
圖6-9 ATM的信元流是怎樣裝入到—個STM-l幀
圖6-9給出了一個例子,說明ATM的信元流是怎樣裝入到—個STM-l幀(STM-1的速率就是OC-3的速率)中。由于這樣的一個幀的字節(jié)數(shù)太多,因此只能將幀的結(jié)構(gòu)畫成為平面形狀?!獋€STM-1幀共有270×9字節(jié),每秒發(fā)送8000幀。因此數(shù)據(jù)率為155.520 M Bit/s。在每—行的270字節(jié)中的前9個字節(jié)作為開銷(overhead)和指針(pointer)之用(其格式相當復雜,這里從略),這樣一幀中的有效載荷(Payload,有人也將此名詞譯為“凈負荷”)是2349字節(jié)。由于2349并不是53的整數(shù)倍,一個信元會跨過有效載荷的邊界,因此需要用指針來指明一個信元的邊界在何處。
ATM物理層中的TC子層和許多功能類似于OSI模型中的數(shù)據(jù)鏈路層。
2.ATM層
主要完成交換和復用功能,與傳送ATM信元的物理媒體或物理層無關(guān)。
每一個ATM連接都用信元首都中的標號來識別。標號包括虛通路標識VCI(Virtual Channel Identifier)和虛通記標識符VPI(Virtual Path Identifier)。
一個虛通路VC是在兩個或兩個以上的端點之間的—個運送ATM信元的通信通路。
一個虛通道VP包含有許多相同端點的虛通路,而這許多虛通路都使用一個虛通道標識符VPI。在一個給定的接口,復用在一個傳輸有效載荷(transmission payload)上的許多不同的虛通道,用它們的虛通道標識符來識別,而復用在一個虛通道VP中的不同的虛通路,用它們的虛通路標識符VCI來識別。圖6-18表示了使用VPI和VCI來識別VP和VC的方法。在一個給定的接口上,由于兩個不同的VP的兩個VC,可以具有相同的VCI,如圖6-10所示的三個不同的虛通道VP都可以使用相同的虛通路標識符VCx或VCy。因此,要同時使用 VPI和VCI這兩個參數(shù)才能完全識別一個虛通路VC,應(yīng)當強調(diào)指出,一個給定的VCI值沒有端到端的意義。VP在經(jīng)過集中器或交換機時,其VPI也會改變,關(guān)于這點后面還要討論。ATM層的功能是:
(1)信元的復用與分用;
(2)信元的VPI/VCI轉(zhuǎn)換(就是將一個個信元的VPI/VCI轉(zhuǎn)換成新的數(shù)值);
(3)信元首部的產(chǎn)生與提??;
(4)一般的流量控制。
圖6-10 ATM連接的標識符VCI和VPI
2. ATM適配層
AIM適配層記為AAL(ATM Adaptation Layer),其作用是增強ATM層所提供的服務(wù),并向上面高層提供各種不同的服務(wù)。
ITU-T的I.362規(guī)定了AAL向上提供的服務(wù)是:
(1)將用戶的應(yīng)用數(shù)據(jù)單元ADU劃分為信元或?qū)⑿旁匮b成為應(yīng)用數(shù)據(jù)單元ADU;
(2)對比特差錯進行監(jiān)控和處理;
(3)處理丟失和錯誤交付的信元;
(4)流量控制和定時控制。
ITU-T規(guī)定了ATM網(wǎng)絡(luò)可向用戶提供四種類別(class)的服務(wù),從A類別D類。服務(wù)類別的劃分是根據(jù):比特率是固定的還是可變的;源站和目的站的定時是否需要同步;是面向連接還是無連接。
ITU-T最初規(guī)定了四種類別的AAL,分別支持上述的四類服務(wù)。但后來就將AAL改分為四種類型(type),并且一種類型的AAL可支持不止—種類別服務(wù)。此外,ITU-T發(fā)現(xiàn)沒有必要劃分開類型3和類型4,于是將這兩個類別合并,取名類型3/4,它可支持C類或D類服務(wù)。此后又增加一種新的類型,即類型5,用來支持各類服務(wù)。
最近,ATM論壇又定義了一 個新的服務(wù)類別,即X類。X類是面向連接的,但其通信量的類型和對定時的需求則由用戶來定義。
為了方便,AAL層又劃分為兩個字層,即CS子層和SRA子層,CS子層在上面。
(1) 匯聚子層CS (Convergence Sub layer)它使ATM系統(tǒng)可以對不同的應(yīng)用(如文件傳送、點播現(xiàn)象等)提供不同的服務(wù),每一個AAL用戶通過服務(wù)訪問點SAP(即應(yīng)用程序的地址)接入到AAL層,在CS子層形成的協(xié)議數(shù)據(jù)單元叫做CS-PDU。
(2) 拆裝子層SAR(Segmentation And Reassembly),在發(fā)送時,該子層將CS子層傳下來的協(xié)議數(shù)據(jù)單元CS-PDU劃分為長度為48字節(jié)的單元,交給ATM層作為信元的有效載荷。在接收時,SAR子層進行相反的操作,將ATM層交下來的48字節(jié)長的有效載荷裝配成CS-PDU。這樣,SAR子層就使得ATM層以與上面的應(yīng)用無關(guān)。
圖6-11砂漏模型
以上所述可歸納為圖6-11所示的砂漏模型(即樣子是上下寬,中間窄的砂漏)。這個模型說明ATM層可以支持上面AAL層的許多不同的服務(wù),而在ATM層下面也可以有許多種不同的物理層能夠支持ATM。
我們還要指出,上面所討論的ATM協(xié)議參考模型假定了ATM網(wǎng)絡(luò)拓撲是由點到點鏈路構(gòu)成的。當ATM網(wǎng)絡(luò)包括共享媒體的拓撲時(如使用了已有的局城網(wǎng)),則在ATM層和物理層之間還應(yīng)加上一個局城網(wǎng)的MAC層。由于ATM網(wǎng)絡(luò)最好使用點到點的連接。因此在ATM的協(xié)議參考模型中一般都 不會畫出ATM層。
最后再強調(diào)一下,ATM協(xié)議參考模型和OSI的七層協(xié)議模型(或原理體系結(jié)構(gòu)的五層協(xié)議模型)并沒有嚴格的對應(yīng)關(guān)系。
1.試從多個方面比較虛電路和數(shù)據(jù)報這兩種服務(wù)的優(yōu)缺點。
2.設(shè)有一分組交換網(wǎng)。若使用虛電路,則每一分組必須有3字節(jié)的分組首部,而每個網(wǎng)絡(luò)結(jié)點必須為虛電路保留3字節(jié)的存儲空間來識別虛電路。但若使用數(shù)據(jù)報,則每個分組要有15字節(jié)的分組首都,而結(jié)點就不需要保留轉(zhuǎn)發(fā)表的存儲空間。設(shè)每鏈路每傳1 MB需0.01元。購買結(jié)點存儲器的代價為每字節(jié)0.01元,而存儲器的壽命為2年工作時間(每周工作40小時)。假定—條虛電路的每次平均使用時間為1000 s,而在此時間內(nèi)發(fā)送200分組,每個分組平均要經(jīng)過4段鏈路。試問:采用哪種方案(虛電路或數(shù)據(jù)報)更為經(jīng)濟 相差多少?
3.假定分組交換網(wǎng)中所有結(jié)點的處理機和主機均正常工作,所有的軟件也正確無誤。試問一個分組是否可能被投送到錯誤的目的結(jié)點(不管這個概率有多小)
如果—個網(wǎng)終中所有鏈路的數(shù)據(jù)鏈路層協(xié)議都能正常工作,試問從源結(jié)點到目的結(jié)點之間的端到端通信是否一定也是可靠的(見下題)
4.有AB和BC兩條鏈路。A經(jīng)過B向C發(fā)送數(shù)據(jù)。B收到 A發(fā)來的數(shù)據(jù)時,可以先向C轉(zhuǎn)發(fā)再向A發(fā)確認,也可以把這順序反地來。也就是說,B要做的三件事的順序是:接收數(shù)據(jù)->轉(zhuǎn)發(fā)->發(fā)確認,或:接收數(shù)據(jù)->發(fā)確認->轉(zhuǎn)發(fā),現(xiàn)假定B在做完第一件事后處理機即出故隙,存儲器中所存信息全部丟失,但很快又恢復了工作。試證明:只有采用端到端發(fā)確認信息的方法(即從C向A發(fā)確認信息),才能保證在任何情況下數(shù)據(jù)都能從A經(jīng)B正確無誤地交付到C。
5.廣域網(wǎng)中的主機為什么采用層次結(jié)構(gòu)方式進行編址?
6.在廣域網(wǎng)中,直接交付和間接交付有何不同?
7.在廣域網(wǎng)的轉(zhuǎn)發(fā)表中使用默認路由有什么奸處
8.一個數(shù)據(jù)報分組交換網(wǎng)允許各結(jié)點在必要時將收到的分組丟棄。設(shè)結(jié)點丟棄一個分組的概率為p?,F(xiàn)有一個主機經(jīng)過兩個網(wǎng)絡(luò)結(jié)點與另一個主機以數(shù)據(jù)報方式通信,因此兩個主機之間要經(jīng)過3段接路。當傳送數(shù)據(jù)報時,只要任何一個結(jié)點丟棄分組,則源點主機最終將重傳此分組。試問:
(a)每一個分組在一次傳輸過程中平均經(jīng)過幾段鏈路
(b)每一個分組平均要傳送幾次
(c)目的主機每收到一個分組,連同該分組在傳輸時被丟棄的傳輸,平均需要經(jīng)過幾個鏈路
9.一個分組交換網(wǎng)其內(nèi)部采用虛電路服務(wù),沿虛電路共有n個結(jié)點交換機,在交換機中為每一個方向設(shè)有一個緩存,可存放一個分組。在交換機之間采用停止等待協(xié)議,并采用以下的措施進行擁塞控制。結(jié)點交換機在收到分組后要發(fā)回確認,但條件是:①接收端已成功地收到了此分組:②有空閑的緩存。設(shè)發(fā)送一個分組需T秒(數(shù)據(jù)或確認),傳輸?shù)牟铄e可忽略不計,主機和結(jié)交換機之間的數(shù)據(jù)傳輸時延也可忽略不計。試問:分組交付給目的主機的速率最快為多少?
10.為什么X.25分組交換網(wǎng)會發(fā)展到幀中繼?幀中繼有什么優(yōu)點?試從層次結(jié)構(gòu)上以及結(jié)點交換機需要進行的處理過程進行討論。
11.快速分組交交換和普通的分組交換的區(qū)別是什么?
12.幀中繼的數(shù)據(jù)鏈路連接標識符DLCI的用途是什么?什么是“本地意義”?
13.幀中繼的擁塞控制是怎樣進行的 承諾的信息速率CIR在擁塞控制中起何作用?丟棄指示比特DE有何用處
14.N-ISDN和B-ISDN的區(qū)別是什么?它們對寬帶網(wǎng)絡(luò)的發(fā)展起什么作用?
15.共路信令和隨路信令有何區(qū)別?什么是帶內(nèi)信令和帶外信令?
16.為什么說ATM集中了電路交換和分組交換的優(yōu)點?為什么現(xiàn)在ATM未能夠成為寬帶網(wǎng)絡(luò)中最為重要的技術(shù)?
17.異步傳送方式ATM中的“異步”體現(xiàn)在什么地方?
18.AIM網(wǎng)絡(luò)中的ATM端點和ATM交換機各有何特點
19.試畫出ATM的協(xié)議參考模型,并解釋各層的作用。
20.寫出英文縮寫ATM,AAL,PMD,TC,CS,SAR,GFC,VCI,VPI,PT,PTI,CLP,HEC,UNI和NNI的全名,并簡單說明其意義。