《計算機網絡》閱讀筆記(一)——計算機網絡概述

第一章 計算機網絡概述

1.1 計算機網絡在信息時代中的作用

21 世紀的一些重要特徵就是數字化網絡化信息化,現在的時代是一個以網絡爲核心的信息時代

網絡已成爲信息社會的命脈和發展知識經濟的重要基礎,網絡是指下列“三網”:

  • 電信網絡:向用戶提供電話、電報及傳真等服務;
  • 有線電視網絡:向用戶傳送各種電視節目;
  • 計算機網絡:使用戶能夠在計算機之間傳送數據文件,發展最快的並起到核心作用的也是計算機網絡。

互聯網之所以能夠向用戶提供許多服務,就是因爲互聯網具有以下兩個重要基本特點:

  • 連通性(connectivity):就是互聯網使上網用戶之間,不管相距多遠(例如,相距數千公里),都可以非常便捷、非常經濟(在很多情況下甚至是免費的)地交換各種信息(數據,以及各種音頻視頻),好像這些用戶終端都彼此直接連通一樣。但應注意,互聯網具有虛擬的特點,例如,當你從互聯網上收到一封電子郵件時,你可能無法準確知道對方是誰(朋友還是騙子),也無法知道發信人的地點(在附近,還是在地球對面);
  • 共享:就是指資源共享,資源共享的含義是多方面的,可以是信息共享、軟件共享,也可以是硬件共享,由於網絡的存在,這些資源好像就在用戶身邊一樣地方便使用。

互聯網+”是指“互聯網+各個傳統行業”,我們可以利用信息通信技術和互聯網平臺來創造新的發展生態,實際上“互聯網+”代表一種新的經濟形態,其特點就是把互聯網的創新成果深度融合於經濟社會各領域之中,這就大大地提升了實體經濟的創新力和生產力。

1.2 互聯網概述

1.2.1 網絡的網絡

計算機網絡(簡稱爲網絡)由若干結點(node)和連接這些結點的鏈路(link)組成,網絡中的結點可以是計算機、集線器、交換機或路由器等。下圖給出了一個具有四個結點和三條鏈路的網絡,我們可以看到,有三臺計算機通過三條鏈路連接到一個集線器上,構成了一個簡單的計算機網絡,而且在很多情況下,我們可以用一朵雲表示一個網絡,這樣做的好處是可以不去關心網絡中的相當複雜的細節問題,因而可以集中精力研究涉及到與網絡互連有關的一些問題:
在這裏插入圖片描述
我們可以看到,在上圖中,網絡之間還可以通過路由器互連起來,這就構成了一個覆蓋範圍更大的計算機網絡,這樣的網絡稱爲互連網(internetwork或internet),因此互連網是“網絡的網絡”(network of networks),需要注意的是,這裏是互連網,不是互聯網,在之後會有解釋。

網絡把許多計算機連接在一起,而互連網則把許多網絡通過路由器連接在一起,與網絡相連的計算機常稱爲主機。現在由於智能手機中有中央處理機CPU,因此也可以把連接在計算機網絡上的智能手機稱爲主機。

還有一點也必須注意,就是網絡互連並不是把計算機僅僅簡單地在物理上連接起來,因爲這樣做並不能達到計算機之間能夠相互交換信息的目的,我們還必須在計算機上安裝許多使計算機能夠交換信息的軟件才行,因此當我們談到網絡互連時,就隱含地表示在這些計算機上已經安裝了適當的軟件,因而在計算機之間可以通過網絡交換信息。

1.2.2 互聯網基礎結構發展的三個階段

第一階段是從單個網絡ARPANET向互連網發展的過程,我們需要注意以下兩個意思相差很大的名詞Internet和internet:

  • 以大寫字母I開始的Internet(互聯網或因特網)是一個專用名詞,它指當前全球最大的、開放的、由衆多網絡相互連接而成的特定互連網,它採用TCP/IP協議族作爲通信的規則,且其前身是美國的ARPANET;
  • 以小寫字母i開始的internet (互連網)則是一個通用名詞,它泛指由多個計算機網絡互連而成的計算機網絡,在這些網絡之間的通信協議(即通信規則)可以任意選擇,不一定非要使用TCP/IP協議,任意把幾個計算機網絡相互連接起來(不管採用什麼協議),並能夠相互通信,這樣構成的是一個互連網(internet),而不是互聯網(Internet)。

第二階段是建成了三級結構的互聯網,分爲主幹網地區網校園網或企業網

第三階段是逐漸形成了多層次ISP結構的互聯網,ISP(Internet Service Provider)是指互聯網服務提供者,在許多情況下,ISP就是一個進行商業活動的公司,因此ISP又常譯爲互聯網服務提供商,例如,中國電信、中國聯通和中國移動等公司都是我國最有名的ISP。

ISP可以從互聯網管理機構申請到很多IP地址(互聯網上的主機都必須有IP地址才能上網),同時擁有通信線路(大ISP自己建造通信線路,小ISP則向電信公司租用通信線路)以及路由器等連網設備,因此任何機構和個人只要向某個ISP交納規定的費用,就可從該ISP獲取所需IP地址的使用權,並可通過該ISP接入到互聯網。所謂“上網”就是指通過某ISP獲得的IP地址接入到互聯網,IP地址的管理機構不會把一個單個的IP地址分配給單個用戶(不“零售”IP地址),而是把一批IP地址有償租賃給經審查合格的ISP(只“批發”IP地址),由此可見,現在的互聯網已不是某個單個組織所擁有而是全世界無數大大小小的ISP所共同擁有的。

根據提供服務的覆蓋面積大小以及所擁有的IP地址數目的不同,ISP 也分爲不同層次的ISP:

  • 主幹ISP:由幾個專門的公司創建和維持,服務面積最大(一般都能夠覆蓋國家範圍),並且還擁有高速主幹網(例如10 Gbit/s或更高),有一些地區ISP 網絡也可直接與主幹ISP相連;
  • 地區ISP:是一些較小的ISP,這些地區ISP通過一個或多個主幹ISP連接起來,它們位於等級中的第二層,數據率也低一些;
  • 本地ISP:給用戶提供直接的服務(這些用戶有時也稱爲端用戶,強調是末端的用戶),絕大多數的用戶都是連接到本地ISP的,而本地ISP可以連接到地區ISP,也可直接連接到主幹ISP。本地ISP可以是一個僅僅提供互聯網服務的公司,也可以是一個擁有網絡並向自己的僱員提供服務的企業,或者是一個運行自己的網絡的非營利機構(如學院或大學)。

下圖是具有三層ISP結構的互聯網的概念示意圖,但這種示意圖並不表示各ISP的地理位置關係,圖中還給出了主機A經過許多不同層次的ISP與主機B通信的示意圖:
在這裏插入圖片描述
從原理上講,只要每一個本地ISP都安裝了路由器連接到某個地區ISP,而每一個地區ISP也有路由器連接到主幹ISP那麼在這些相互連接的ISP的共同合作下,就可以完成互聯網中的所有的分組轉發任務。但隨着互聯網上數據流量的急劇增長,人們開始研究如何更快地轉發分組,以及如何更加有效地利用網絡資源,於是,互聯網交換點IXP(Internet Exchange Point)就應運而生了。

互聯網交換點IXP的主要作用就是允許兩個網絡直接相連並交換分組,而不需要再通過第三個網絡來轉發分組,例如,在上圖中右方的兩個地區ISP通過一個IXP連接起來了,這樣,主機A和主機B交換分組時,就不必再經過最上層的主幹ISP, 而是直接在兩個地區ISP之間用高速鏈路對等地交換分組,這樣就使互聯網上的數據流量分佈更加合理,同時也減少了分組轉發的遲延時間,降低了分組轉發的費用。

現在許多IXP在進行對等交換分組時,都互相不收費,但本地ISP或地區ISP通過IXP向高層的IXP轉發分組時,則需要交納一定的費用。

IXP的結構非常複雜,典型的IXP由一個或多個網絡交換機組成,許多ISP再連接到這些網絡交換機的相關端口上,IXP常採用工作在數據鏈路層的網絡交換機,這些網絡交換機都用局域網互連起來。

1.2.3 互聯網的標準化工作

互聯網的標準化工作對互聯網的發展起到了非常重要的作用,缺乏國際標準將會使技術的發展處於比較混亂的狀態,而盲目自由競爭的結果很可能形成多種技術體制並存且互不兼容的狀態,給用戶帶來較大的不方便。

所有的互聯網標準都是以RFC的形式在互聯網上發表的,RFC(Request For Comments)的意思就是“請求評論”,所有的RFC文檔都可從互聯網上免費下載,而且任何人都可以用電子郵件隨時發表對某個文檔的意見或建議

但應注意,並非所有的RFC文檔都是互聯網標準,互聯網標準的制定往往要花費漫長的時間,並且是一件非常慎重的工作,只有很少部分的RFC文檔最後能變成互聯網標準。RFC文檔按發表時間的先後編上序號(即RFC xxxx,這裏的xxxx是阿拉伯數字),一個RFC文檔更新後就使用一個新的編號,並在文檔中指出原來老編號的RFC文檔已成爲陳舊的或被更新,但陳舊的RFC文檔並不會被刪除,而是永遠保留着,供用戶參考。

制定互聯網的正式標準要經過以下三個階段:

  • 互聯網草案(Internet Draft):互聯網草案的有效期只有六個月,在這個階段還不能算是RFC文檔;
  • 建議標準(Proposed Standard):從這個階段開始成爲RFC文檔;
  • 互聯網標準(Internet Standard):達到正式標準後,每個標準就分配到一個編號STD xx,
    一個標準可以和多個RFC文檔關聯。

1.3 互聯網的組成

互聯網的拓撲結構雖然非常複雜,並且在地理上覆蓋了全球,但從其工作方式上看,可以劃分爲以下兩大塊:

  • 邊緣部分:由所有連接在互聯網上的主機組成,這部分是用戶直接使用的,用來進行通信(傳送數據、音頻或視頻)和資源共享;
  • 核心部分:由大量網絡和連接這些網絡的路由器組成,這部分是爲邊緣部分提供服務的(提供連通性和交換):
    在這裏插入圖片描述

1.3.1 互聯網的邊緣部分

處在互聯網邊緣的部分就是連接在互聯網上的所有的主機,這些主機又稱爲端系統(end system),“端”就是“末端”的意思(即互聯網的末端),邊緣部分利用核心部分所提供的服務,使衆多主機之間能夠互相通信並交換或共享信息。

“主機A和主機B進行通信”,實際上是指“運行在主機A上的某個程序和運行在主機B上的另一個程序進行通信”,由於“進程”就是“運行着的程序”,因此這也就是指“主機A的某個進程和主機B上的另一個進程進行通信”,這種比較嚴密的說法通常可以簡稱爲“計算機之間通信”。

在網絡邊緣的端系統之間的通信方式通常可劃分爲兩大類:

  • 客戶/服務器方式(C/S方式);
  • 對等方式(P2P方式)。

1.3.1.1 客戶/服務器方式

客戶(client)和服務器(server)都是指通信中所涉及的兩個應用進程,客戶/服務器方式所描述的是進程之間服務和被服務的關係,在下圖中,主機A運行客戶程序而主機B運行服務器程序,在這種情況下,A是客戶而B是服務器,客戶A向服務器B發出服務請求,而服務器B向客戶A提供服務:
在這裏插入圖片描述

客戶/服務器方式最主要的特徵就是:客戶是服務請求方,服務器是服務提供方。但需要注意的是,服務請求方和服務提供方都要使用網絡核心部分所提供的服務

在實際應用中,客戶程序和服務器程序通常還具有以下一些主要特點:

  • 客戶程序

    1. 被用戶調用後運行,在通信時主動向遠地服務器發起通信(請求服務),因此,客戶程序必須知道服務器程序的地址

    2. 不需要特殊的硬件和很複雜的操作系統

  • 服務器程序

    1. 是一種專門用來提供某種服務的程序,可同時處理多個遠地或本地客戶的請求

    2. 系統啓動後即自動調用並一直不斷地運行着,被動地等待並接受來自各地的客戶的通信請求,因此,服務器程序不需要知道客戶程序的地址

    3. 一般需要有強大的硬件和高級的操作系統支持

需要注意的是,客戶與服務器的通信關係建立後,通信可以是雙向的,客戶和服務器都可發送和接收數據

順便要說一下,上面所說的客戶和服務器本來都指的是計算機進程(軟件), 使用計算機的人是計算機的“用戶”(user)而不是“客戶”(client), 但在許多國外文獻中,經常也把運行客戶程序的機器稱爲client(在這種情況下也可把client 譯爲“客戶機"),把運行服務器程序的機器稱爲server。 因此我們應當根據上下文來判斷client或server是指軟件還是硬件。通常在表示機器時,我們也使用“客戶端"(或“客戶機”)或“服務器端”(或服務器)來表示“運行客戶程序的機器”或“運行服務器程序的機器”。

1.3.1.2 對等方式

對等連接(peer-to-peer, 簡寫爲P2P)是指兩臺主機在通信時並不區分哪一個是服務請求方哪一個是服務提供方,只要兩臺主機都運行了對等連接軟件(P2P軟件),它們就可以進行平等的對等連接通信,這時,雙方都可以下載對方已經存儲在硬盤中的共享文檔。

在下圖中,主機C,D,E和F都運行了P2P軟件,因此這幾臺主機都可進行對等通信(如C和D,E和F,以及C和F),實際上,對等連接方式從本質上看仍然是使用客戶/服務器方式,只是對等連接中的每一臺主機既是客戶又同時是服務器,例如主機C,當C請求D的服務時,C是客戶,D是服務器,但如果C又同時向F提供服務,那麼C又同時起着服務器的作用:
在這裏插入圖片描述

1.3.2 互聯網的核心部分

互聯網的核心部分是由許多網絡和把它們互連起來的路由器組成,而主機處在互聯網的邊緣部分,在互聯網核心部分的路由器之間一般都用高速鏈路相連接,而在網絡邊緣的主機接入到核心部分則通常以相對較低速率的鏈路相連接。此外,通信網絡的主幹線路也往往由一些高速鏈路構成,這樣就可以以較高的數據率迅速地傳送計算機數據。

網絡核心部分是互聯網中最複雜的部分,網絡中的核心部分要向網絡邊緣中的大量主機提供連通性,使邊緣部分中的任何一個主機都能夠向其他主機通信(即傳送或接收各種形式的數據),在網絡核心部分起特殊作用的是路由器(router),路由器是實現分組交換(packet switching)的關鍵構件,其任務是轉發收到的分組,這是網絡核心部分最重要的功能。

1.3.2.1 電路交換

在瞭解什麼是分組交換之前,我們先來看一看什麼是電路交換(circuit switching),下面給出一張電話機的不同連接方式的示意圖:
在這裏插入圖片描述
我們從圖中可以看到,2部電話機相連,需要1對電線,5部電話機相連,需要10對電線, N部電話機相連,需要N(N-1)/2對電線, 當電話機的數量很大時,這種連接方法需要的電線對的數量與電話機數的平方成正比。所以,要使得每一部電話能夠很方便地和另一部電話進行通信,就應當使用電話交換機將這些電話連接起來,如上圖(c)所示,每一部電話都連接到交換機上,而交換機使用交換的方法,讓電話用戶彼此之間可以很方便地通信

在電路交換中,交換(switching)的含義就是轉接,也就是把一條電話線轉接到另一條電話線,使它們連通起來,而從通信資源的分配角度來看,就是按照某種方式動態地分配傳輸線路的資源

在使用電路交換通話之前,必須先撥號請求建立連接,當被叫用戶聽到交換機送來的振鈴音並摘機後,從主叫端到被叫端就建立了一條連接,也就是一條專用的物理通路,這條連接保證了雙方通話時所需的通信資源,而這些資源在雙方通信時不會被其他用戶佔用,此後主叫和被叫雙方就能互相通電話,通話完畢掛機後,交換機釋放剛纔使用的這條專用的物理通路(即把剛纔佔用的所有通信資源歸還給電信網)。

這種必須經過建立連接(佔用通信資源)→通話(一直佔用通信資源)→釋放連接(歸還通信資源)三個步驟的交換方式稱爲電路交換,需要注意的是,如果用戶在撥號呼叫時電信網的資源已不足以支持這次的呼叫,則主叫用戶會聽到忙音,表示電信網不接受用戶的呼叫,用戶必須掛機,等待一段時間後再重新撥號。

下圖爲電路交換的示意圖,應當注意的是,用戶線是電話用戶到所連接的交換機的連接線路,是用戶獨佔的傳送模擬信號的專用線路,而交換機之間擁有大量話路的中繼線(這些傳輸線路早已都數字化了)則是許多用戶共享的,正在通話的用戶只佔用了中繼線裏面的一個話路在這裏插入圖片描述
電路交換的一個重要特點就是在通話的全部時間內,通話的兩個用戶始終佔用端到端的通信資源,而當使用電路交換來傳送計算機數據時,其線路的傳輸效率往往很低,這是因爲計算機數據是突發式地出現在傳輸線路上的,因此線路上真正用來傳送數據的時間往往不到10%甚至1%,已被用戶佔用的通信線路資源在絕大部分時間裏都是空閒的,這就造成了通信線路資源的大量浪費,所以我們接下來介紹傳送計算機數據時所用到的傳輸方式——分組交換。

1.3.2.2 分組交換

分組交換採用存儲轉發技術,通常我們把發送的整塊數據稱爲一個報文(message),把一個報文進行分割,分割爲等長的小數據段,在每一個小數據段前面加上必要的控制信息組成的首部(header)後,就構成一個分組 (packet),分組又稱爲“包”,而分組的首部也稱爲“包頭”,分組是在互聯網中進行傳送的數據單元,分組中的“首部”是非常重要的,正是由於分組的首部包含了目的地址、源地址以及編號等重要的控制信息,每一個分組才能夠在網絡中獨立的選擇傳輸路徑,並在被正確地交付到分組傳輸的終點後,所有的分組在一起被完整地還原爲本來的信息,下圖給出了分組交換的示意圖:
在這裏插入圖片描述
位於網絡邊緣的主機和位於網絡核心部分的路由器都是計算機,但它們的作用卻很不一樣,主機是爲用戶進行信息處理的,並且可以和其他主機通過網絡交換信息,而路由器則是用來轉發分組的,即進行分組交換的

路由器處理分組的過程是:

  1. 把收到的分組先放入緩存(暫時存儲);
  2. 檢查分組首部,按照首部中的目的地址,查找轉發表,找出到某個目的地址應從哪個端口轉發;
  3. 把分組送到適當的端口轉發出去,分組被交給下一個路由器。

如此循環,一步一步地(有時會經過幾十個不同的路由器)以存儲轉發的方式,把分組交付最終的目的主機。需要注意的是,各路由器之間必須經常交換彼此掌握的路由信息,以便創建和動態維護路由器中的轉發表,使得轉發表能夠在整個網絡拓撲發生變化時及時更新

當我們討論互聯網的核心部分中的路由器轉發分組的過程時,往往把單個的網絡簡化成一條鏈路,而路由器成爲核心部分的結點,如下圖所示:
在這裏插入圖片描述
這裏要注意,路由器暫時存儲的是一個個短分組,而不是整個的長報文,且短分組是暫存在路由器的存儲器(即內存)中而不是存儲在磁盤中的,這就保證了較高的交換速率。在上圖中只畫了一對主機H1和H5在進行通信,實際上,互聯網可以容許非常多的主機同時進行通信,而一臺主機中的多個進程(即正在運行中的多個程序)也可以各自和不同主機中的不同進程進行通信。

從以上所述可知,分組交換在傳送數據之前不必先佔用一條端到端的鏈路的通信資源,分組在哪段鏈路上傳送才佔用這段鏈路的通信資源,分組到達一個路由器後,先暫時存儲下來,查找轉發表,然後從一條合適的鏈路轉發出去,分組在傳輸時就這樣一段一段地斷續佔用通信資源,而且還省去了建立連接和釋放連接的開銷,因而數據的傳輸效率更高。採用存儲轉發的分組交換,實質上是採用了在數據通信的過程中斷續(或動態)分配傳輸帶寬的策略,這對傳送突發式的計算機數據非常合適,使得通信線路的利用率大大提高了。

互聯網還採取了專門的措施,保證了數據的傳送具有非常高的可靠性,當網絡中的某些結點或鏈路突然出現故障時,在各路由器中運行的路由選擇協議(protocol)能夠自動找到轉發分組最合適的路徑。而且,爲了提高分組交換網的可靠性,互聯網的核心部分常採用網狀拓撲結構,使得當發生網絡擁塞或少數結點、鏈路出現故障時,路由器可靈活地改變轉發路由而不致引起通信的中斷或全網的癱瘓。

分組交換也帶來一些新的問題。例如,分組在各路由器存儲轉發時需要排隊,這就會造成一定的時延,因此,必須儘量設法減少這種時延。此外,由於分組交換不像電路交換那樣通過建立連接來保證通信時所需的各種資源,因而無法確保通信時端到端所需的帶寬。還有,分組交換時各分組必須攜帶的控制信息也造成了一定的開銷(overhead),以及整個分組交換網還需要專門的管理和控制機制

1.3.2.3 電路交換和分組交換的總結

優點 缺點
電路交換 ①連接建立後,數據以固定的傳輸率被傳輸,傳輸延遲小;②由於物理線路被單獨佔用,因此不可能發生衝突;③適用於實時大批量連續的數據傳輸 ①建立連接將跨多個設備或線纜,則會需要花費很長的時間;②連接建立後,由於線路是專用的,即使空閒,也不能被其它設備使用造成一定的浪費; ③對通信雙方而言,必須做到雙方的收發速度、編碼方法、信息格式和傳輸控制等一致才能完成通信
分組交換 高效:動態分配傳輸帶寬,對通信鏈路是逐段佔用;②靈活:以分組爲傳送單位和查找路由;③迅速:不必先建立連接就能向其他主機發送分組;④可靠:保證可靠性的網絡協議,分佈式的路由選擇協議使網絡有很好的生存性。 時延:分組在各結點存儲轉發時需要排隊,這就會造成一定的時延;②無法確保通信時端到端所需的帶寬;③開銷:分組必須攜帶的首部(控制信息)造成了一定的開銷;④整個分組交換網需要專門的管理和控制機制

需要注意的是,斷續分配傳輸帶寬的存儲轉發原理並非是完全新的概念,在20世紀40年代,電報通信也採用了基於存儲轉發原理的報文交換(message switching), 報文交換的時延較長,從幾分鐘到幾小時不等,現在報文交換已經很少有人使用了,我們可以通過下圖大概地瞭解三種交換方式它們的差異:
在這裏插入圖片描述

  • 電路交換:整個報文的比特流連續地從源點直達終點,好像在一個管道中傳送,若要連續傳送大量的數據,且其傳送時間遠大於連接建立時間,則電路交換的傳輸速率較快
  • 報文交換:整個報文先傳送到相鄰結點,全部存儲下來後查找轉發表,轉發到下一個結點,不需要預先分配傳輸帶寬,在傳送突發數據時可提高整個網絡的信道利用率;
  • 分組交換:單個分組(這只是整個報文的一部分)傳送到相鄰結點,存儲下來後查找轉發表,轉發到下一個結點,不需要預先分配傳輸帶寬,在傳送突發數據時可提高整個網絡的信道利用率,但由於一個分組的長度往往遠小於整個報文的長度,因此分組交換比報文交換的時延小,同時也具有更好的靈活性。

1.4 計算機網絡的類別

1.4.1 計算機網絡的定義

計算機網絡的精確定義並未統一,關於計算機網絡的較好的定義是這樣的:計算機網絡主要是由一些通用的、可編程的硬件互連而成的,而這些硬件並非專門用來實現某一特定目的(例如,傳送數據或視頻信號),這些可編程的硬件能夠用來傳送多種不同類型的數據,並能支持廣泛的和日益增長的應用

根據這個定義:

  1. 計算機網絡所連接的硬件,並不限於一般的計算機,而是包括了智能手機;
  2. 計算機網絡並非專門用來傳送數據,而是能夠支持很多種的應用(包括今後可能出現的各種應用);
  3. “可編程的硬件”表明這種硬件一定包含有中央處理機CPU。

1.4.2 幾種不同類別的計算機網絡

  • 按照網絡的作用範圍進行分類:

    1. 廣域網WAN(Wide Area Network):廣域網的作用範圍通常爲幾十到幾千公里,因而有時也稱爲遠程網(long haul network),廣域網是互聯網的核心部分,其任務是通過長距離(例如,跨越不同的國家)運送主機所發送的數據,連接廣域網各結點交換機的鏈路一般都是高速鏈路,具有較大的通信容量;

    2. 城域網MAN(Metropolitan Area Network):城域網的作用範圍一般是一個城市,可跨越幾個街區甚至整個城市,其作用距離約爲5 ~ 50 km,城域網可以爲一個或幾個單位所擁有,但也可以是一種公用設施,用來將多個局域網進行互連,目前很多城域網採用的是以太網技術,因此有時也常併入局域網的範圍進行討論;

    3. 局域網LAN(Local Area Network):局域網一般用微型計算機或工作站通過高速通信線路相連(速率通常在10 Mbit/s 以上),但地理上則侷限在較小的範圍(如1 km左右),在局域網發展的初期,一個學校或工廠往往只擁有一個局域網,但現在局域網已非常廣泛地使用,學校或企業大都擁有許多個互連的局域網(這樣的網絡常稱爲校園網或企業網);

    4. 個人區域網PAN(Personal Area Network):個人區域網就是在個人工作的地方把屬於個人使用的電子設備(如便攜式電腦等)用無線技術連接起來的網絡,因此也常稱爲無線個人區域網WPAN(Wireless PAN),其範圍很小,大約在10 m左右。

  • 按照網絡的使用者進行分類:

    1. 公用網(public network):是電信公司(國有或私有)出資建造的大型網絡,“公用”的意思就是所有願意按電信公司的規定交納費用的人都可以使用這種網絡,因此公用網也可稱爲公衆網

    2. 專用網(private network):是某個部門爲滿足本單位的特殊業務工作的需要而建造的網絡,這種網絡不向本單位以外的人提供服務,例如,軍隊、鐵路、銀行、電力等系統均有本系統的專用網。

計算機網絡有多種類別,以上僅是兩種不同分類方式所劃分的類別,我們還需瞭解一種特殊的網絡,這種網絡就是接入網AN(Access Network), 它又稱爲本地接入網居民接入網,是用來把用戶接入到互聯網的網絡。由於從用戶家中接入到互聯網可以使用的技術有許多種,因此就出現了可以使用多種接入網技術連接到互聯網的情況。接入網本身既不屬於互聯網的核心部分,也不屬於互聯網的邊緣部分,接入網是從某個用戶端系統到互聯網中的第一個路由器(也稱爲邊緣路由器之間的一種網絡。從覆蓋的範圍看,很多接入網還屬於局域網。從作用上看,接入網只是起到讓用戶能夠與互聯網連接的“橋樑”作用。在互聯網發展初期,用戶多用電話線撥號接入互聯網,速率很低(每秒幾千比特到幾十千比特),因此那時並沒有使用接入網這個名詞,直到最近,由於出現了多種寬帶接入技術,寬帶接入網才成爲互聯網領域中的一個熱門課題。

1.5 計算機網絡的性能

1.5.1 計算機網絡的性能指標

性能指標從不同的方面來度量計算機網絡的性能,下面介紹常用的七個性能指標:

  • 速率:網絡技術中的速率指的是數據的傳送速率,它也稱爲數據率(data rate)或比特率(bit rate),是計算機網絡中最重要的一個性能指標。速率的單位是bit/s(比特每秒)或b/s,有時也寫爲bps,即bit per second,當數據率較高時,就常常在bit/s的前面加上一個字母,如kb/s,Mb/s,Gb/s 等。另外要注意的是,當提到網絡的速率時,往往指的是額定速率或標稱速率,而並非網絡實際上運行的速率

  • 帶寬:帶寬(bandwidth)有以下兩種不同意義:

    1. 帶寬本來是指某個信號具有的頻帶寬度,而信號的帶寬是指該信號所包含的各種不同頻率成分所佔據的頻率範圍,單位是赫(或千赫、兆赫、吉赫等)。在過去很長的一段時間,通信的主幹線路傳送的是模擬信號(即連續變化的信號),因此,表示某信道允許通過的信號頻帶範圍就稱爲該信道的帶寬(或通頻帶)。

    2. 在計算機網絡中,帶寬用來表示網絡中某通道傳送數據的能力,因此網絡帶寬表示在單位時間內網絡中的某信道所能通過的“最高數據率”,這種意義的帶寬的單位就是數據率的單位bit/s,是“比特每秒”。

    在“帶寬”的上述兩種表述中,前者爲頻域稱謂,而後者爲時域稱謂,其本質是相同的,也就是說,一條通信鏈路的“帶寬"越寬,其所能傳輸的“最高數據率”也越高

  • 吞吐量:吞吐量(throughput)表示在單位時間內通過某個網絡(或信道、接口)的實際的數據量。吞吐量更經常地用於對現實世界中的網絡的一種測量,以便知道實際上到底有多少數據量能夠通過網絡。顯然,吞吐量受網絡的帶寬或網絡的額定速率的限制。需要注意的是,有時吞吐量還可用每秒傳送的字節數或幀數來表示。

  • 時延:時延(delay或latency)是指數據(一個報文或分組,甚至比特)從網絡(或鏈路)的一端傳送到另一端所需的時間,有時也被稱爲延遲遲延。網絡中的時延由以下幾個不同的部分組成:

    1. 發送時延:發送時延(transmission delay)是主機或路由器發送數據幀所需要的時間,也就是從發送數據幀的第一個比特算起,到該幀的最後一個比特發送完畢所需的時間。
      在這裏插入圖片描述

    2. 傳播時延:傳播時延(propagation delay)是電磁波在信道中需要傳播一定的距離而花費的時間。需注意,發送時延與傳播時延有本質上的不同, 信號發送速率和信號在信道上的傳播速率是完全不同的概念。
      在這裏插入圖片描述

    3. 處理時延:處理時延是主機或路由器在收到分組時,爲處理分組(例如分析首部、提取數據、差錯檢驗或查找路由)所花費的時間

    4. 排隊時延:分組在經過網絡傳輸時,要經過許多路由器,但分組在進入路由器後要先在輸入隊列中排隊等待處理,在路由器確定了轉發接口後,還要在輸出隊列中排隊等待轉發,也就是說,排隊時延就是分組在路由器輸入輸出隊列中排隊等待處理所經歷的時間。排隊時延的長短往往取決於網絡當時的通信量,當網絡的通信量很大時會發生隊列溢出,使分組丟失,這相當於排隊時延爲無窮大。

    這樣,數據在網絡中經歷的總時延就是以上四種時延之和:
    在這裏插入圖片描述
    在這裏插入圖片描述
    一般說來,小時延的網絡要優於大時延的網絡,在某些情況下,一個低速率、小時延的網絡很可能要優於一個高速率但大時延的網絡。

    需要注意的是,在總時延中,究竟是哪一種時延占主導地位,必須具體分析,不能籠統地認爲:“數據的發送速率越高,其傳送的總時延就越小”,更不能說: “在高速鏈路(或高帶寬鏈路)上,比特會傳送得更快些”。對於高速網絡鏈路,我們提高的僅僅是數據的發送速率而不是比特在鏈路上的傳播速率,提高數據的發送速率只是減小了數據的發送時延

  • 時延帶寬積:鏈路的時延帶寬積又稱爲以比特爲單位的鏈路長度
    在這裏插入圖片描述

  • 往返時間:互聯網上的信息不僅僅單方向傳輸,而是雙向交互的,因此,有時需要知道雙向交互一次所需的時間。往返時間RTT(Round-Trip Time)表示從發送方發送數據開始,到發送方收到來自接收方的確認,總共經歷的時間。 在互聯網中,往返時間還包括各中間結點的處理時延、排隊時延以及轉發數據時的發送時延。當使用衛星通信時,往返時間相對較長,是很重要的一個性能指標。

  • 利用率:網絡利用率有兩種,分別是:信道利用率、網絡利用率, 信道利用率指出某信道有百分之幾的時間是被利用的(有數據通過),信道利用率越高,說明網絡越繁忙,完全空閒的信道的利用率是零,網絡利用率則是全網絡的信道利用率的加權平均值。

    當某信道的利用率增大時,該信道引起的時延也就迅速增加,若令D0表示網絡空閒時的時延,D表示網絡當前的時延,則在適當的假定條件下,可以用下面的簡單公式表示D和D0之間的關係:
    在這裏插入圖片描述
    在這裏插入圖片描述
    由上圖可知,當網絡的利用率達到其容量的1/2時,時延就要加倍,當網絡的利用率接近最大值1時,網絡的時延就趨於無窮大,因此我們必須有這樣的概念:信道或網絡的利用率過高會產生非常大的時延。因此一些擁有較大主幹網的ISP通常控制信道利用率不超過50%。如果超過了就要準備擴容,增大線路的帶寬。

1.5.2 計算機網絡的非性能特徵

計算機網絡還有一些非性能特徵也很重要,這些非性能特徵與前面介紹的性能指標有很大的關係,下面簡單地加以介紹:

  • 費用:網絡的價格(包括設計和實現的費用)總是必須考慮的,因爲網絡的性能與其價格密切相關,一般說來,網絡的速率越高,其價格也越高。

  • 質量:網絡的質量取決於網絡中所有構件的質量,以及這些構件是怎樣組成網絡的。網絡的質量影響到很多方面,如網絡的可靠性、網絡管理的簡易性,以及網絡的一些性能,但網絡的性能與網絡的質量並不是一回事。

  • 標準化:網絡的硬件和軟件的設計既可以按照通用的國際標準,也可以遵循特定的專用網絡標準,不過最好採用國際標準的設計,這樣可以得到更好的互操作性,更易於升級換代和維修,也更容易得到技術上的支持。

  • 可靠性:可靠性與網絡的質量和性能都有密切關係,高速網絡的可靠性不一定很差,但高速網絡要可靠地運行,則往往更加困難,同時所需的費用也會較高。

  • 可擴展性和可升級性:在構造網絡時就應當考慮到今後可能會需要擴展(即規模擴大)和升級(即性能和版本的提高),網絡的性能越高,其擴展費用往往也越高,難度也會相應增加。

  • 易於管理和維護:網絡如果沒有良好的管理和維護,就很難達到和保持所設計的性能。

1.6 計算機網絡體系結構

1.6.1 計算機網絡體系結構的形成

計算機網絡是個非常複雜的系統,爲了說明這一點,可以設想一種最簡單的情況:連接在網絡上的兩臺計算機要互相傳送文件,顯然,在這兩臺計算機之間必須有一條傳送數據的通路,但這還遠遠不夠,至少還有以下幾項工作需要去完成:

  1. 發起通信的計算機必須將數據通信的通路進行激活(activate),所謂“激活”就是要發出一些信令,保證要傳送的計算機數據能在這條通路上正確發送和接收;

  2. 要告訴網絡如何識別並找到接收數據的計算機

  3. 發起通信的計算機必須查明對方計算機是否已開機,並且與網絡連接正常

  4. 發起通信的計算機中的應用程序必須弄清楚,在對方計算機中的文件管理程序是否已做好接收文件和存儲文件的準備工作

  5. 若計算機的文件格式不兼容,則至少其中一臺計算機應完成格式轉換功能

  6. 對出現的各種差錯和意外事故,如數據傳送錯誤、重複或丟失,網絡中某個結點交換機出現故障等,應當有可靠的措施保證對方計算機最終能夠收到正確的文件

由此可見,相互通信的兩個計算機系統必須高度協調工作才行,而這種“協調”是相當複雜的,爲了設計這樣複雜的計算機網絡,早在最初的ARPANET設計時即提出了分層的方法,“分層”可將龐大而複雜的問題,轉化爲若干較小的局部問題,而這些較小的局部問題就比較易於研究和處理。

隨着全球經濟的發展,不同網絡體系結構的用戶迫切要求能夠互相交換信息,爲了使不同體系結構的計算機網絡都能互連,國際標準化組織ISO提出了一個試圖使各種計算機在世界範圍內互連成網的標準框架,即著名的開放系統互連基本參考模型OSI/RM(Open Systems Interconnection Reference Model),簡稱爲OSI,“開放”是指非獨家壟斷的,因此只要遵循OSI標準,一個系統就可以和位於世界上任何地方的、也遵循這同一標準的其他任何系統進行通信。

OSI試圖達到一種理想境界,即全球計算機網絡都遵循這個統一標準,因而全球的計算機將能夠很方便地進行互連和交換數據,但是OSI只獲得了一些理論研究的成果,在市場化方面事與願違地失敗了,現今規模最大的、覆蓋全球的、基於TCP/IP的互聯網並未使用OSI標準

OSI失敗的原因可歸納爲:

  1. OSI的專家們缺乏實際經驗,他們在完成OSI標準時缺乏商業驅動力

  2. OSI的協議實現起來過分複雜,而且運行效率很低;

  3. OSI標準的制定週期太長,因而使得按OSI標準生產的設備無法及時進入市場;

  4. OSI的層次劃分不太合理,有些功能在多個層次中重複出現。

按照一般的概念,網絡技術和設備只有符合有關的國際標準才能大範圍地獲得工程上的應用,但現在情況卻反過來了,得到最廣泛應用的不是法律上的國際標準OSI,而是非國際標準TCP/IP, 這樣,TCP/IP就常被稱爲是事實上的國際標準,從這種意義上說,能夠佔領市場的就是標準

1.6.2 協議與劃分層次

在計算機網絡中要做到有條不紊地交換數據,就必須遵守一些事先約定好的規則,這些規則明確規定了所交換的數據的格式以及有關的同步問題,這裏所說的同步不是狹義的(即同頻或同頻同相)而是廣義的,即在一定的條件下應當發生什麼事件(例如,應當發送一個應答信息),因而同步含有時序的意思

這些爲進行網絡中的數據交換而建立的規則、標準或約定稱爲網絡協議(network protocol),網絡協議也可簡稱爲協議, 網絡協議主要由以下三個要素組成:

  • 語法,即數據與控制信息的結構或格式;

  • 語義,即需要發出何種控制信息,完成何種動作以及做出何種響應;

  • 同步,即事件實現順序的詳細說明。

網絡協議是計算機網絡不可缺少的組成部分,任何網絡通信,都必須要有協議,只要我們想讓連接在網絡上的另一臺計算機做點什麼事情(例如,從網絡上的某臺主機下載文件),我們都需要有協議,但是當我們經常在自己的個人電腦上進行文件存盤操作時,就不需要任何網絡協議,除非這個用來存儲文件的磁盤是網絡上的某個文件服務器的磁盤。

協議通常有以下兩種不同的形式,這兩種不同形式的協議都必須能夠對網絡上的信息交換過程做出精確的解釋:

  • 便於人來閱讀和理解的文字描述,如RFC文檔;

  • 讓計算機能夠理解的程序代碼

ARPANET的研究經驗表明,對於非常複雜的計算機網絡協議,其結構應該是層次式的,即協議應該採用分層設計,我們可以舉一個簡單的例子來說明劃分層次的概念。

現在假定我們在主機1和主機2之間通過一個通信網絡傳送文件,這是一項比較複雜的工作,需要做不少的工作,我們可以將要做的工作劃分爲三類:

  1. 文件傳送:該工作與傳送文件直接有關,例如,發送端的文件傳送應用程序應當確信接收端的文件管理程序已做好接收和存儲文件的準備,以及若兩臺主機所用的文件格式不一樣,則至少其中的一臺主機應完成文件格式的轉換,這兩項工作可用一個文件傳送模塊來完成;

  2. 通信服務:爲了避免讓文件傳送模塊完成全部工作的細節而使得文件傳送模塊過於複雜,可以再設立一個通信服務模塊,用來保證文件傳送模塊中的文件和文件傳送命令可靠地在兩個系統之間交換;

  3. 網絡接入:構造一個網絡接入模塊,讓這個模塊負責做與網絡接口細節有關的工作,並向上層提供服務,使上面的通信服務模塊能夠完成可靠通信的任務。

在上述工作中,兩臺主機將文件傳送模塊作爲最高的層,文件傳送模塊利用下面的通信服務模塊所提供的服務,而通信服務模塊則利用下面的網絡接入模塊所提供的服務,下圖是上述工作的示意圖:
在這裏插入圖片描述
在上述簡單例子中,可以看到分層帶來的很多好處:

  • 各層之間是獨立的:某一層並不需要知道它的下一層是如何實現的,而僅僅需要知道該層通過層間的接口所提供的服務,由於每一層只實現一種相對獨立的功能,因而可將一個難以處理的複雜問題分解爲若干個較容易處理的更小一些的問題,這樣,整個問題的複雜程度就下降了;

  • 靈活性好:當任何一層發生變化時(例如由於技術的變化),只要層間接口關係保持不變,則在這層以上或以下各層均不受影響,此外,對某一層提供的服務還可進行修改,當某層提供的服務不再需要時,甚至可以將這層取消;

  • 結構上可分割開:各層都可以採用最合適的技術來實現;

  • 易於實現和維護:這種結構使得實現和調試一個龐大而又複雜的系統變得易於處理,因爲整個的系統已被分解爲若干個相對獨立的子系統;

  • 能促進標準化工作:每一層的功能及其所提供的服務都已有了精確的說明。

分層當然也有一些缺點:

  • 降低效率

  • 有些功能會在不同的層次中重複出現,因而產生了額外開銷

分層時應注意使每一層的功能非常明確,同時要注意層數必須適當,若層數太少,就會使每一層的協議太複雜,但層數太多又會在描述和綜合各層功能的系統工程任務時遇到較多的困難,通常各層所要完成的功能主要有以下一些(每層可以只包括一種,也可以包括多種):

  • 差錯控制:使相應層次對等方的通信更加可靠;

  • 流量控制:發送端的發送速率必須使接收端來得及接收,不要太快;

  • 分段和重裝:發送端將要發送的數據塊劃分爲更小的單位,在接收端將其還原;

  • 複用和分用:發送端幾個高層會話複用一條低層的連接,在接收端再進行分用;

  • 連接建立和釋放:交換數據前先建立一條邏輯連接,數據傳送結束後釋放連接。

計算機網絡的各層及其協議的集合就是網絡的體系結構(architecture),換種說法,計算機網絡的體系結構就是這個計算機網絡及其構件所應完成的功能的精確定義,需要強調的是,這些功能究竟是用何種硬件或軟件完成的,則是一個遵循這種體系結構的實現(implementation)的問題,我們不能把一個具體的計算機網絡說成是一個抽象的網絡體系結構,因爲,體系結構是抽象的,而實現則是具體的,是真正在運行的計算機件和軟件

1.6.3 具有五層協議的體系結構

OSI的七層協議體系結構的概念清晰,理論完整,但是既複雜又不實用,TCP/IP的四層協議體系結構應用廣泛,得到了網絡廠商的支持和實現, 但是最下層的網絡接口層沒有具體內容,故在學習網絡協議的體系結構時採取折中的辦法,即綜合OSI和TCP/IP的優點,採用一種只有五層協議的體系結構來學習,這種五層協議的體系結構既簡潔又能將概念闡述清楚,但需注意的是,五層協議的體系結構只是爲學習網絡原理而設計的,實際應用還是TCP/IP四層體系結構,下圖是三種計算機網絡體系結構的示意圖:
在這裏插入圖片描述
現在結合互聯網的情況,自上而下地、非常簡要地介紹一下各層的主要功能:

  • 應用層(application layer):應用層是體系結構中的最高層,應用層的任務是通過應用進程間的交互來完成特定網絡應用,應用層協議定義的是應用進程間通信和交互的規則,這裏的進程就是指主機中正在運行的程序。

    對於不同的網絡應用需要有不同的應用層協議,在互聯網中的應用層協議有很多,如域名系統DNS,支持萬維網應用的HTTP協議,支持電子郵件的SMTP協議等等。

    我們把應用層交互的數據單元稱爲報文(message)。

  • 運輸層(transport layer):運輸層的任務就是負責向兩臺主機中進程之間的通信提供通用的數據傳輸服務,應用進程則利用該服務傳送應用層報文,所謂“通用的”,是指並不針對某個特定網絡應用,而是多種應用可以使用同一個運輸層服務。

    由於一臺主機可同時運行多個進程,因此運輸層有複用和分用的功能,複用就是多個應用層進程可同時使用下面運輸層的服務,分用和複用相反,是運輸層把收到的信息分別交付上面應用層中的相應進程。

    運輸層主要使用以下兩種協議:

    1. 傳輸控制協議TCP(Transmission Control Protocol):提供面向連接的、可靠的數據傳輸服務,其數據傳輸的單位是報文段(segment);

    2. 用戶數據報協議UDP(User Datagram Protocol):提供無連接的、盡最大努力(best-effort)的數據傳輸服務(不保證數據傳輸的可靠性),其數據傳輸的單位是用戶數據報

  • 網絡層(network layer):網絡層負責爲分組交換網上的不同主機提供通信服務,在發送數據時,網絡層把運輸層產生的報文段或用戶數據報封裝成分組或包(packet)進行傳送,在TCP/IP體系中,由於網絡層使用IP協議,因此分組也叫做IP數據報,或簡稱爲數據報,在這裏把“分組”和“數據報”作爲同義詞使用。

    需要注意的是,不可將運輸層的“用戶數據報UDP”和網絡層的“IP數據報”弄混,此外,無論在哪一層傳送的數據單元,都可籠統地用“分組”來表示。

    網絡層的另一個任務就是要選擇合適的路由,使源主機運輸層所傳下來的分組,能夠通過網絡中的路由器找到目的主機

    互聯網是由大量的異構(heterogeneous)網絡通過路由器(router)相互連接起來的,互聯網使用的網絡層協議是無連接的網際協議IP(Internet Protocol)和許多種路由選擇協議,因此互聯網的網絡層也叫做網際層IP層

  • 數據鏈路層(data link layer):數據鏈路層常簡稱爲鏈路層。

    兩臺主機之間的數據傳輸,總是在一段一段的鏈路上傳送的,這就需要使用專門的鏈路層的協議。

    在兩個相鄰結點之間傳送數據時,數據鏈路層將網絡層交下來的IP數據報組裝成幀(frame),在兩個相鄰結點間的鏈路上傳送幀,每一幀包括數據和必要的控制信息(如同步信息、地址信息、差錯控制等)。

    在接收數據時,控制信息使接收端能夠知道一個幀從哪個比特開始和到哪個比特結束,這樣,數據鏈路層在收到一個幀後,就可從中提取出數據部分,上交給網絡層。

    控制信息還使接收端能夠檢測到所收到的幀中有無差錯,如發現有差錯,數據鏈路層就簡單地丟棄這個出了差錯的幀,以免繼續在網絡中傳送下去白白浪費網絡資源,如果需要改正數據在數據鏈路層傳輸時出現的差錯(這就是說,數據鏈路層不僅要檢錯,而且要糾錯),那麼就要採用可靠傳輸協議來糾正出現的差錯,這種方法會使數據鏈路層的協議複雜些。

  • 物理層(physical layer):在物理層上所傳數據的單位是比特,發送方發送1(或0)時,接收方應當收到1(或0)而不是0(或1),因此物理層要考慮用多大的電壓代表“1”或“0”,以及接收方如何識別出發送方所發送的比特,而解釋比特代表的意思,並不是物理層的任務

    物理層還要確定連接電纜的插頭應當有多少根引腳以及各引腳應如何連接

    需注意的是,傳遞信息所利用的一些物理媒體,如雙絞線、同軸電纜、光纜、無線信道等,並不在物理層協議之內而是在物理層協議的下面,因此也有人把物理層下面的物理媒體當作第0層

在互聯網所使用的各種協議中,最重要的和最著名的就是TCP和IP兩個協議,但現在人們經常提到的TCP/IP並不一定是單指TCP和IP這兩個具體的協議,而往往是表示互聯網所使用的整個TCP/IP協議族(protocol suite) 。

接下來通過一個簡單的例子來說明應用進程的數據在各層之間的傳遞過程中所經歷的變化,假定兩臺主機通過一臺路由器連接起來,主機1的應用進程AP1向主機2的應用進程AP2傳送數據:
在這裏插入圖片描述

  1. AP1將其數據交給本主機的第5層(應用層),第5層加上必要的控制信息H5變成了第4層的數據單元,第4層(運輸層)收到這個數據單元后,加上本層的控制信息H4,再交給第3層(網絡層),成爲第3層的數據單元,依此類推,不過到了第2層(數據鏈路層)後,控制信息被分成兩部分,分別加到本層數據單元的首部(H2)和尾部(T2),而第1層(物理層)由於是比特流的傳送,所以不再加上控制信息,需要注意的是,傳送比特流時應從首部開始傳送

  2. 比特流離開主機1經網絡的物理媒體傳送到路由器,從路由器的第1層依次上升到第3層,每一層都根據控制信息進行必要的操作,然後將控制信息剝去,將該層剩下的數據單元上交給更高的一層,當分組上升到了第3層時,就根據首部中的目的地址查找路由器中的轉發表,找出轉發分組的接口,然後往下傳送到第2層,加上新的首部和尾部後,再到最下面的第1層,然後在物理媒體上把每一個比特發送出去;

  3. 比特流離開路由器到達目的站主機2,從主機2的第1層按照類似上述的方式,依次上升到第5層,最後,把應用進程AP1發送的數據交給目的站的應用進程AP2。

在上述過程中,OSI參考模型把對等層次之間傳送的數據的單位稱爲該層的協議數據單元PDU(Protocol Data Unit),這個名詞也被許多非OSI模型所採用,需要注意的是,協議數據單元並不是數據單元,某一層的數據單元加上控制信息之後纔會變成該層的協議數據單元,舉個例子,A層的協議數據單元(A層的數據單元帶上A層的控制信息)交到下一層B層,成爲B層的數據單元,B層再加上控制信息,就變成了B層的協議數據單元。

雖然應用進程數據要經過上述的複雜過程才能送到終點的應用進程,但這些複雜的數據傳送過程對用戶來說,卻都被屏蔽掉了,以致覺得好像是應用進程AP1直接把數據交給了應用進程AP2,同理,任何兩個同樣的層次之間,就好像如上圖中的水平虛線所示的那樣,把協議數據單元(即數據單元加上控制信息)通過水平虛線直接傳遞給對方,這就是所謂的“對等層”(peer layers)之間的通信,前文中經常提到的各層協議,實際上就是在各個對等層之間傳遞數據時的各項規定

在一些文獻中也還可以見到術語“協議棧”(protocol stack),這是因爲幾個層次畫在一起很像一個棧(stack)的結構。

1.6.4 實體、協議、服務和服務訪問點

當研究開放系統中的信息交換時,往往使用實體(entity)這一較爲抽象的名詞表示任何可發送或接收信息的硬件或軟件進程,在許多情況下,實體就是一個特定的軟件模塊。

協議控制兩個對等實體(或多個實體)進行通信的規則的集合協議的語法方面的規則定義了數據傳送所交換的信息的格式,而協議的語義方面的規則就定義了發送者或接收者所要完成的操作,例如,在何種條件下,數據必須重傳或丟棄。

在協議的控制下,兩個對等實體間的通信使得本層能夠向上一層提供服務,要實現本層協議,還需要使用下面一層所提供的服務

需要注意的是,協議和服務在概念上是很不一樣的:

  1. 協議的實現保證了能夠向上一層提供服務,使用本層服務的實體只能看見服務而無法看見下面的協議,也就是說,下面的協議對上面的實體是透明的

  2. 協議是“水平的”,即協議是控制對等實體之間通信的規則,但服務是“垂直的”,即服務是由下層向上層通過層間接口提供的,另外,並非在一個層內完成的全部功能都稱爲服務,只有那些能夠被高一層實體“看得見”的功能才能稱之爲服務,上層使用下層所提供的服務必須通過與下層交換一些命令,這些命令在OSI中被稱爲服務原語

在同一系統中相鄰兩層的實體進行交互(即交換信息)的地方,通常稱爲服務訪問點SAP(Service Access Point),服務訪問點SAP是一個抽象的概念,它實際上就是一個邏輯接口,有點像郵政信箱(可以把郵件放入信箱和從信箱中取走郵件),但這種層間接口和兩個設備之間的硬件接口(並行的或串行的)並不一樣,OSI把層與層之間交換的數據的單位稱爲服務數據單元SDU(Service Data Unit), SDU與PDU不一樣,例如,可以是多個SDU合成爲一個PDU,也可以是一個SDU劃分爲幾個PDU.

這樣,在任何相鄰兩層之間的關係可概括爲如下圖所示的那樣,不過,需要注意的是,第n層的兩個“實體(n)”之間通過“協議(n)”進行通信,而第n + 1層的兩個“實體(n + 1)”之間則通過另外的“協議(n + 1)” 進行通信,也就是說,每一層都使用不同的協議,還有一點,第n層向上面的第n + 1層所提供的服務實際上包括了第n層自己所提供的服務以及第n層以下各層所提供的服務,第n層的實體對第n + 1層的實體就相當於一個服務提供者,在服務提供者的上一層的實體又稱爲服務用戶,因爲它使用下層服務提供者所提供的服務:
在這裏插入圖片描述
計算機網絡的協議還有一個很重要的特點,就是協議必須把所有不利的條件事先都估計到,而不能假定一切都是正常的和非常理想的,看一個計算機網絡協議是否正確,不能光看在正常情況下是否正確, 而且還必須非常仔細地檢查這個協議能否應付各種異常情況, 看是非常簡單的協議,設計起來要考慮的問題還是非常多的,因此協議很複雜。

1.6.5 TCP/IP的體系結構

前面已經說過,TCP/IP 的體系結構比較簡單,它只有四層,下圖給出了用這種四層協議表示方法的例子,需要注意的是,圖中的路由器在轉發分組時最高只用到網絡層而沒有使用運輸層和應用層
在這裏插入圖片描述
技術的發展並不是遵循嚴格的OSI分層概念,實際上現在的互聯網使用的TCP/IP體系結構有時已經演變成爲如下圖所示的那樣,即某些應用程序可以直接使用IP層,或甚至直接使用最下面的網絡接口層:
在這裏插入圖片描述
還有一種方法來表示TCP/IP體系結構,就是如下面兩張圖所示的那樣分層次畫出具體的協議來表示TCP/IP協議族,它的特點是上下兩頭大而中間小:應用層和網絡接口層都有多種協議,而中間的IP層很小,上層的各種協議都向下匯聚到一個IP協議中。這種很像沙漏計時器形狀的TCP/IP協議族表明:TCP/IP協議可以爲各式各樣的應用提供服務(所謂的everything over IP),同時TCP/IP協議也允許IP協議在各式各樣的網絡構成的互聯網上運行(所謂的IP over everything)。正因爲如此,互聯網纔會發展到今天的這種全球規模。
在這裏插入圖片描述
在這裏插入圖片描述

1.7 重要知識點整理

  • 計算機網絡(可簡稱爲網絡)把許多計算機連接在一起,而互連網則把許多網絡連接在一起,是網絡的網絡

  • 以小寫字母i開始的internet(互連網)是通用名詞,它泛指由多個計算機網絡互連而成的網絡,在這些網絡之間的通信協議(即通信規則)可以是任意的

  • 以大寫字母I開始的Internet(互聯網)是專用名詞,它指當前全球最大的、開放的、由衆多網絡相互連接而成的特定互連網,並採用TCP/IP協議族作爲通信規則,且其前身是美國的ARPANET,Internet的推薦譯名是“因特網”,但很少被使用。

  • 互聯網現在採用存儲轉發的分組交換技術,以及三層ISP結構:主幹ISP、地區ISP和本地ISP

  • 互聯網按工作方式可劃分爲邊緣部分核心部分主機在網絡的邊緣部分,其作用是進行信息處理路由器在網絡的核心部分,其作用是按存儲轉發方式進行分組交換

  • 計算機通信是計算機中的進程(即運行着的程序)之間的通信,計算機網絡採用的通信方式是客戶/服務器方式和對等連接方式(P2P方式)

  • 客戶和服務器都是指通信中所涉及的應用進程,客戶是服務請求方,服務器是服務提供方

  • 按作用範圍的不同,計算機網絡分爲廣域網WAN、城域網MAN、局域網LAN和個人區域網PAN

  • 計算機網絡最常用的性能指標是:速率、帶寬、吞吐量、時延(發送時延、傳播時延、處理時延、排隊時延)、時延帶寬積、往返時間和信道(或網絡)利用率

  • 網絡協議協議,是爲進行網絡中的數據交換而建立的規則計算機網絡的各層及其協議的集合,稱爲網絡的體系結構

  • 五層協議的體系結構由應用層、運輸層、網絡層(或網際層)、數據鏈路層和物理層組成,運輸層最重要的協議是TCP和UDP協議,而網絡層最重要的協議是IP協議

1.8 學習資源

參考資料:《計算機網絡》第七版(謝希仁著)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章