官术网_书友最值得收藏!

1.3.2 因特網的核心部分

網絡核心部分是因特網中最復雜的部分,因為網絡中的核心部分要向網絡邊緣中的大量主機提供連通性,使邊緣部分中的任何一臺主機都能夠向其他主機通信。

在網絡核心部分起特殊作用的是路由器(router),它是一種專用計算機(但不是主機)。路由器是實現分組交換(packet switching)的關鍵構件,其任務是轉發收到的分組,這是網絡核心部分最重要的功能。為了弄清分組交換,下面先介紹電路交換的基本概念。

1.電路交換的主要特點

在電話問世后不久,人們就發現要讓所有的電話機都兩兩相連接是不現實的。圖1-9(a)表示兩部電話只需要用一對電線就能夠互相連接起來。但若有5部電話要兩兩相連,則需要10對電線,見圖1-9(b)所示。顯然,若N部電話要兩兩相連,就需要N(N - 1)/2對電線。當電話機的數量很大時,這種連接方法需要的電線數量就太大了(與電話機的數量的平方成正比)。于是人們認識到,要使得每一部電話能夠很方便地和另一部電話進行通信,就應當使用電話交換機將這些電話連接起來,如圖1-9(c)所示。每一部電話都連接到交換機上,而交換機使用交換的方法,讓電話用戶彼此之間可以很方便地通信。一百多年來,電話交換機雖然經過多次更新換代,但交換的方式一直都是電路交換(circuit switching)。

圖1-9 電話機的不同連接方法

當電話機的數量增多時,就要使用很多彼此連接起來的交換機來完成全網的交換任務。用這樣的方法,就構成了覆蓋全世界的電信網。

從通信資源的分配角度來看,交換(switching)就是按照某種方式動態地分配傳輸線路的資源。在使用電路交換打電話之前,必須先撥號請求建立連接。當被叫用戶聽到交換機送來的撥號音并摘機后,從主叫端到被叫端就建立了一條連接,也就是一條專用的物理通路。這條連接保證了雙方通話時所需的通信資源,而這些資源在雙方通信時不會被其他用戶占用。此后主叫和被叫雙方就能互相通電話。通話完畢掛機后,交換機釋放剛才使用的這條專用的物理通路(即把剛才占用的所有通信資源歸還給電信網)。這種必須經過“建立連接(占用通信資源)→通話(一直占用通信資源)→釋放連接(歸還通信資源)”三個步驟的交換方式稱為電路交換注:電路交換最初指的是連接電話機的雙絞線對在交換機上進行的交換(交換機有人工的、步進的和程控的,等等)。后來隨著技術的進步,采用了多路復用技術,出現了頻分多路、時分多路、碼分多路等,這時電路交換的概念就擴展到在雙絞線、銅纜、光纖、無線媒體中多路信號中的某一路(某個頻率、某個時隙、某個碼序等)和另一路的交換。。如果用戶在撥號呼叫時電信網的資源已不足以支持這次的呼叫,則主叫用戶會聽到忙音,表示電信網不接受用戶的呼叫,用戶必須掛機,等待一段時間后再重新撥號。

圖1-10為電路交換的示意圖。為簡單起見,圖中沒有區分市話交換機和長途電話交換機。應當注意的是,用戶線是電話用戶到所連接的市話交換機的連接線路,是用戶獨占的傳送模擬信號的專用線路,而交換機之間擁有大量話路的中繼線(這些傳輸線路早已都數字化了)則是許多用戶共享的,正在通話的用戶只占用了中繼線里面的一個話路。電路交換的一個重要特點就是在通話的全部時間內,通話的兩個用戶始終占用端到端的通信資源。

圖1-10 電路交換的用戶始終占用端到端的通信資源

當使用電路交換來傳送計算機數據時,其線路的傳輸效率往往很低。這是因為計算機數據是突發式地出現在傳輸線路上的,因此線路上真正用來傳送數據的時間往往不到10%甚至低到1%。已被用戶占用的通信線路資源在絕大部分時間里都是空閑的。例如,當用戶閱讀終端屏幕上的信息或用鍵盤輸入和編輯一份文件時,或計算機正在進行處理而結果尚未返回時,寶貴的通信線路資源并未被利用而是白白被浪費了。

2.分組交換的主要特點

分組交換則采用存儲轉發技術注:存儲轉發的概念最初是在1964年8月由巴蘭(Baran)在美國蘭德(Rand)公司的“論分布式通信”的研究報告中提出的。在1962~1965年,美國國防部遠景研究規劃局DARPA和英國的國家物理實驗室NPL都在對新型的計算機通信網進行研究。1966年6月,NPL的戴維斯(Davies)首次提出“分組”(packet)這一名詞[DAVI86]。1969年12月,美國的分組交換網ARPANET (當時僅4個結點)投入運行。從此,計算機網絡的發展就進入了一個嶄新的紀元。1973年英國的國家物理實驗室NPL也開通了分組交換試驗網?,F在大家都公認ARPANET為分組交換網之父。除英美兩國外,法國也在1973年開通其分組交換網CYCLADES。。圖1-11畫的是把一個報文劃分為幾個分組的概念。通常我們把要發送的整塊數據稱為一個報文(message)。在發送報文之前,先把較長的報文劃分成為一個個更小的等長數據段,例如,每個數據段為1024bit注:在本書中,bit和b都表示“比特”。在計算機領域中,bit常譯為“位”。在許多情況下,“比特”和“位”可以通用。在使用“位”作為單位時,請根據上下文特別注意是二進制的“位”還是十進制的“位”。請注意,bit在表示信息量(比特)或信息傳輸速率(比特/秒)時不能譯為“位”。。在每一個數據段前面,加上一些必要的控制信息組成的首部(header)后,就構成了一個分組(packet)。分組又稱為“”,而分組的首部也可稱為“包頭”。分組是在因特網中傳送的數據單元。分組中的“首部”是非常重要的,正是由于分組的首部包含了諸如目的地址和源地址等重要控制信息,每一個分組才能在因特網中獨立地選擇傳輸路徑,并被正確地交付到分組傳輸的終點。

圖1-11 劃分分組的概念

圖1-12(a)強調因特網的核心部分是由許多網絡和把它們互連起來的路由器組成的,而主機處在因特網的邊緣部分。在因特網核心部分的路由器之間一般都用高速鏈路相連接,而在網絡邊緣的主機接入到核心部分則通常以相對較低速率的鏈路相連接。

圖1-12 分組交換的示意圖

位于網絡邊緣的主機和位于網絡核心部分的路由器都是計算機,但它們的作用卻很不一樣。主機是為用戶進行信息處理的,并且可以和其他主機通過網絡交換信息。路由器則是用來轉發分組的,即進行分組交換的。路由器收到一個分組,先暫時存儲一下,檢查其首部,查找轉發表,按照首部中的目的地址,找到合適的接口轉發出去,把分組交給下一個路由器。這樣一步一步地(有時會經過幾十個不同的路由器)以存儲轉發的方式,把分組交付最終的目的主機。各路由器之間必須經常交換彼此掌握的路由信息,以便創建和維持在路由器中的轉發表,使得轉發表能夠在整個網絡拓撲發生變化時及時更新。

當我們討論因特網的核心部分中的路由器轉發分組的過程時,往往把單個的網絡簡化成一條鏈路,而路由器成為核心部分的結點,如圖1-12(b)所示。這種簡化圖看起來可以更加突出重點,因為在轉發分組時最重要的就是要知道路由器之間是怎樣連接起來的。

現在假定圖1-12(b)中的主機H1向主機H5發送數據。主機H1先將分組逐個地發往與它直接相連的路由器A。此時,除鏈路H1-A外,其他通信鏈路并不被目前通信的雙方所占用。需要注意的是,即使是鏈路H1-A,也只是當分組正在此鏈路上傳送時才被占用。在各分組傳送之間的空閑時間,鏈路H1-A仍可為其他主機發送的分組使用。

路由器A把主機H1發來的分組放入緩存。假定從路由器A的轉發表中查出應把該分組轉發到鏈路A-C。于是分組就傳送到路由器C。當分組正在鏈路A-C傳送時,該分組并不占用網絡其他部分的資源。

路由器C繼續按上述方式查找轉發表,假定查出應轉發到路由器E。當分組到達路由器E后,路由器E就最后把分組直接交給主機H5。

假定在某一個分組的傳送過程中,鏈路A-C的通信量太大,那么路由器A可以把分組沿另一個路由轉發到路由器B,再轉發到路由器E,最后把分組送到主機H5。在網絡中可同時有多個主機進行通信,如主機H2也可以經過路由器B和E與主機H6通信。

這里要注意,路由器暫時存儲的是一個個短分組,而不是整個的長報文。短分組是暫存在路由器的存儲器(即內存)中而不是存儲在磁盤中的。這就保證了較高的交換速率。

在圖1-12(b)中只畫了一對主機H1和H5在進行通信。實際上,因特網可以容許非常多的主機同時進行通信,而一個主機中的多個進程(即正在運行中的多道程序)也可以各自和不同主機中的不同進程進行通信。

應當注意,分組交換在傳送數據之前不必先占用一條端到端的通信資源。分組在哪一段鏈路上傳送時,才占用這段鏈路的通信資源。分組到達一個路由器后,先暫時存儲下來,查找轉發表,然后從另一條合適的鏈路轉發出去。分組在傳輸時就這樣一段段地斷續占用通信資源,而且還省去了建立連接和釋放連接的開銷,因而數據的傳輸效率更高。

因特網采取了專門的措施,保證了數據的傳送具有非常高的可靠性(在第5章5.4節介紹運輸層協議時,要著重討論這個問題)。當網絡中的某些結點或鏈路突然出故障時,在各路由器中運行的路由選擇協議(protocol)能夠自動找到其他路徑轉發分組(在第4章4.5節中詳細討論)。

從以上所述可知,采用存儲轉發的分組交換,實質上采用了在數據通信的過程中斷續(或動態)分配傳輸帶寬的策略(關于帶寬的進一步討論見后面的1.6.1節)。這對傳送突發式的計算機數據非常合適,使得通信線路的利用率大大提高了。

為了提高分組交換網的可靠性,因特網的核心部分常采用網狀拓撲結構,使得當發生網絡擁塞或少數結點、鏈路出現故障時,路由器可靈活地改變轉發路由而不致引起通信的中斷或全網的癱瘓。此外,通信網絡的主干線路往往由一些高速鏈路構成,這樣就能以較高的數據率迅速地傳送計算機數據。

綜上所述,分組交換網的主要優點可歸納如表1-2所示。

表1-2 分組交換的優點

分組交換也帶來一些新的問題。例如,分組在各路由器存儲轉發時需要排隊,這就會造成一定的時延。因此,必須盡量設法減少這種時延。此外,由于分組交換不像電路交換那樣通過建立連接來保證通信時所需的各種資源,因而無法確保通信時端到端所需的帶寬。

分組交換網帶來的另一個問題是各分組必須攜帶的控制信息也造成了一定的開銷(overhead)。整個分組交換網還需要專門的管理和控制機制。

應當指出,從本質上講,這種斷續分配傳輸帶寬的存儲轉發原理并非是完全新的概念。自古代就有的郵政通信,就其本質來說也屬于存儲轉發方式。而在20世紀40年代,電報通信也采用了基于存儲轉發原理的報文交換(message switching)。在報文交換中心,一份份電報被接收下來,并穿成紙帶。操作員以每份報文為單位,撕下紙帶,根據報文的目的站地址,拿到相應的發報機轉發出去。這種報文交換的時延較長,從幾分鐘到幾小時不等?,F在報文交換已經很少有人使用了。分組交換雖然也采用存儲轉發原理,但由于使用了計算機進行處理,這就使分組的轉發非常迅速。例如ARPANET建網初期的經驗表明,在正常的網絡負荷下,當時橫跨美國東西海岸的端到端平均時延小于0.1秒。這樣,分組交換雖然采用了某些古老的交換原理,但實際上已變成了一種嶄新的交換技術。

圖1-13表示電路交換、報文交換和分組交換的主要區別。圖中的A和D分別是源點和終點,而B和C是在A和D之間的中間結點。圖中的最下方歸納了三種交換方式在數據傳送階段的主要特點:

電路交換——整個報文的比特流連續地從源點直達終點,好像在一個管道中傳送。

報文交換——整個報文先傳送到相鄰結點,全部存儲下來后查找轉發表,轉發到下一個結點。

分組交換——單個分組(這只是整個報文的一部分)傳送到相鄰結點,存儲下來后查找轉發表,轉發到下一個結點。

從圖1-13可看出,若要連續傳送大量的數據,且其傳送時間遠大于連接建立時間,則電路交換的傳輸速率較快。報文交換和分組交換不需要預先分配傳輸帶寬,在傳送突發數據時可提高整個網絡的信道利用率。由于一個分組的長度往往遠小于整個報文的長度,因此分組交換比報文交換的時延小,同時也具有更好的靈活性。

圖1-13 三種交換的比較(P1~P4表示4個分組)

主站蜘蛛池模板: 枣庄市| 布尔津县| 百色市| 庆城县| 周宁县| 沽源县| 中方县| 和龙市| 宜阳县| 永仁县| 报价| 陈巴尔虎旗| 钦州市| 海原县| 巴南区| 宣汉县| 忻城县| 大洼县| 衢州市| 伊春市| 明水县| 临江市| 沧源| 岳阳市| 得荣县| 嵊泗县| 东乡族自治县| 康马县| 东台市| 泰安市| 万年县| 察雅县| 老河口市| 涞源县| 靖州| 宁海县| 广州市| 台北县| 闽清县| 衡阳县| 合阳县|