計算機網絡筆記整理(一):概述

一、一些概念

  1. 網絡(network):由若干結點(node)和連接這些結點的鏈路(link)組成。網絡中的結點可以是計算機、集線器、交換機或路由器等。網絡把許多計算機連接在一起。
  2. 互聯網(internet):網絡和網絡通過路由器互連起來構成的一個覆蓋範圍更大的網絡。互聯網是“網絡的網絡”(network of networks)。把許多網絡連接在一起。
  3. 因特網(Internet):世界上最大的互聯網絡,連接在因特網上的計算機通常被稱爲主機(host)/端系統(end system)。
  4. 因特網服務提供商ISP(Internet Service Provider):負責因特網的運營的公司。擁有從因特網管理機構申請到的多個IP地址,同時擁有通信線路以及路由器等聯網設備。
  5. 網絡協議(network protocol):爲進行網絡中的數據交換而建立的規則、標準或者約定,簡稱協議。
    網絡協議主要由以下三個要素組成:
    (1) 語法,即數據與控制信息的結構或格式;
    (2) 語義,即需要何時發出何種控制信息,完成何種動作以及做出何種響應;
    (3) 同步,即事件實現順序的詳細說明。
  6. 網絡的體系結構(architecture):計算機網絡的各層及其協議的集合,即計算機網絡及其構件所應完成的功能的精確定義。
  7. 協議數據單元PDU(protocol data unit):多層模型中對等層次之間傳送的數據單位。
  8. 實體(entity):在研究開放系統中的信息交換時,實體往往用於表示任何可發送或接收信息的硬件或者軟件進程。
  9. 服務:在協議的控制下,兩個對等實體間的通信使得本層能夠向上一層提供服務,要實現本層協議,還需要使用下面一層所提供的服務。注意區分協議與服務在概念上的不同
  10. 服務訪問點SAP(service access point):在同一系統中相鄰兩層的實體進行交互(即交換信息)的地方,是一個抽象的概念,實際上就是一個邏輯接口

二、計算機間通信

主機A和主機B進行通信實際上指的是主機A上的某個進程和主機B上的另一個進程進行通信。在網絡邊緣的端系統中運行的程序之間的通信方式通常可以劃分爲兩大類:客戶服務器方式(C/S方式)和對等方式(P2P方式)。
1. 客戶服務器方式(C/S)
這種方式是因特網上最常用的,也是傳統的方式。客戶(client)和服務器(server)指通信中所涉及的兩個應用進程,客戶服務器方式所描述的是進程之間的服務和被服務的關係。客戶是服務請求方,服務器是服務提供方,兩者都要使用網絡核心部分所提供的服務。
在實際應用中,客戶程序和服務器程序通常還具有以下的一些主要特點:
客戶程序:
(1) 被用戶調用後運行,在通信時主動向遠地服務器發起通信(請求服務)。因此客戶程序必須知道服務器程序的地址。
(2)不需要特殊的硬件和很複雜的操作系統。
服務器程序:
(1) 一種專門用來提供某種服務的程序,可同時處理多個遠地或本地客戶的請求。
(2) 系統啓動後即自動調用並一直不斷地運行着,被動地等待並接受來自各地的客戶的通信請求。因此服務器程序不需要知道客戶程序的地址。
(3) 一般需要強大的硬件和高級的操作系統支持。
2. 對等連接方式(peer-to-peer, P2P)
兩個主機在通信時並不區分服務請求方和服務提供方。只要兩個主機都運行了對等連接軟件(P2P軟件),就可以進行平等的對等連接通信。雙方都可以下載對方存儲在硬盤中的共享文檔,因此這種方式也稱爲P2P文件共享。P2P可支持大量對等用戶同時工作。

三、電路交換和分組交換

在網絡核心部分起特殊作用的是路由器(router),路由器是實現分組交換(packet switching)的關鍵構件,其任務是轉發收到的分組,這是網絡核心部分最終要的功能。
1. 電路交換
電路交換有三個步驟:建立連接(佔用通信資源/建立物理通路)→通話(一直佔用通信資源)→釋放連接(歸還通信資源)。
電路交換是電話交換機的交換方式。注意到用戶線是電話用戶到所連接的市話交換機的連接線路,是用戶專用的線路,而交換機之間擁有大量話路的中繼線則是由許多用戶共享的。正在通話的用戶只佔用了其中一個話路。電路交換的一個重要特點就是在通話的全部時間內,通話的兩個用戶始終佔用端到端的通信資源
基於這個特點,使用電路交換來傳送計算機數據時,其線路的傳輸效率往往很低。因爲計算機數據是突發地出現在傳輸鏈路上,因此線路上真正用來傳送數據的時間往往不到10%甚至1%。實際上已被用戶佔用的通信線路在絕大部分時間裏都是空閒的。寶貴的通信線路資源並未被利用而是白白被浪費了。
2. 分組交換
採用存儲轉發技術。通常把要發送的整塊數據稱爲一個報文(message)。在發送報文之前,先把較長的報文劃分爲一個個更小的等長數據段,在每個數據段前面加上一些必要的控制信息組成的首部/包頭(header)後就構成了一個分組/包(packet)。分組是在因特網中傳送的數據單元。
因特網的核心部分是由許多網絡和把它們互連起來的路由器組成的,而主機處在因特網的邊緣部分。在因特網核心部分的路由器之間一般都用高速鏈路相連接,而在網絡邊緣的主機接入到核心部分則通常以相對較低速率的鏈路相連接。
路由器是用於轉發分組的,即進行分組交換的。路由器收到一個分組先暫時存儲下來再檢查其首部,查找轉發表,按照首部中的目的地址找到合適的接口轉發出去,把分組交給下一個交換器,如上所示的存儲轉發模式,把分組交付到最終的目的主機。(注意:路由器暫時存儲的是一個個短分組,而不是整個的長報文。短分組是暫時存在路由器的存儲器,即內存中,而不是存儲在磁盤中,保證較高的交換速率)。
分組交換在傳送數據之前不必佔用一條端到端的通信資源。分組在哪段鏈路上傳送才佔用這段鏈路的通信資源,分組在傳輸時就這樣一段段地斷續佔用着通信資源,同時省去了建立連接和釋放連接的開銷,因而數據的傳輸效率更高
當網絡中的某些節點或者鏈路突然出現故障時,在各路由器的路由選擇協議能夠自動找到其他路徑轉發分組,保證了數據傳送的可靠性
採用存儲轉發的分組交換,實質上是採用了數據通信過程中斷續(或動態)分配傳輸帶寬的策略,這對傳送突發式的計算機數據非常合適,使得通信線路的利用率大大提高
綜上所述,分組交換的主要優點如下所示:

優點 採用手段
高效 在分組傳輸的過程中動態分配傳輸帶寬,對通信鏈路是逐段佔用的
靈活 爲每一個分組獨立地選擇轉發路由
迅速 以分組作爲傳送單位,可以不先建立連接就能向其他主機發送分組
可靠 保證可靠性的網絡協議;分佈式多路由的分組交換網,使網絡有很好的生存性

分組交換也存在一些缺點,如下所示:

缺點 具體問題
時延 分組在各路由器存儲轉發時需要排隊,通信時端到端所需的帶寬無法確保。
開銷(overhead) 各分組必須攜帶控制信息,整個分組交換網還需要專門的管理和控制機制。

3. 報文交換
操作員以每份報文爲單位,根據報文的目的站地址,拿到相應的發報機轉發出去,這種報文交換的時延較長,從幾分鐘到幾小時不等。
分組交換的斷續分配傳輸帶寬的存儲轉發原理,從本質上講,與報文交換是一致的,報文交換現在已經很少使用。

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

四、計算機網絡性能指標

  1. 速率:連接在計算機網絡上的主機在數字信道上傳送數據的速率,也稱爲數據率(data rate)或比特率(bit rate)。單位是b/s(比特每秒,bit/s,bps)。現在常用更簡單的激發來描述網絡速率,如100M以太網,表示速率爲100Mb/s的以太網。
  2. 帶寬(bandwidth):帶寬有兩種定義,一是對於模擬信號,表示通信線路允許通過的信號頻帶範圍就稱爲線路的帶寬(或通頻帶),此時帶寬的單位是赫;
    而在計算機網絡中,對於數字信號,帶寬用於表示網路的通信線路所能傳送數據的能力,即在單位時間內從網絡中的某一點到另一點所能通過的“最高數據率”,這種意義下的帶寬單位是“比特每秒”,即爲b/s。
  3. 吞吐量(throughput):單位時間內通過某個網絡(或信道、接口)的數據量。吞吐量受到網絡的帶寬或者網絡額定速率的限制。
  4. 時延(delay或latency):數據(報文或分組或比特)從網絡(或鏈路)的一端傳送到另一端所需的時間。在網絡中,時延由以下幾個不同部分組成:
    (1) 發送時延/傳輸時延(transmission delay):主機或路由器發送數據幀所需要的時間。也就是從發送數據幀的第一個比特起,到該幀的最後一個比特發送完畢所需要的時間。發送時延的計算公式是:
    =(b)(b/s)

    (2) 傳播時延(propagation delay):電磁波在信道中傳播一定距離需要花費的時間。傳播時延的計算公式是:
    =(m)(m/s)

    注意區分這兩種時延,他們發生的地方不同。發送時延發生在機器的內部的發送器中(一般發生在網絡適配器),而傳播時延發生在機器外部的傳輸信道媒體上。
    (3) 處理時延:主機或路由器在收到分組時要花費一定的時間進行處理,如分析分組的頭部、從分組中提取數據部分、進行差錯校驗或查找適當的路由等等。
    (4) 排隊時延:分組在經過網絡傳輸時,要經過許多的路由器,但分組在進入路由器後先在輸入隊列中排隊等待處理。在路由器確定了轉發接口後,還要在輸出隊列中排隊等待轉發。這就產生了排隊時延。排隊時延長短取決於網絡當時的通信量,當網絡的通信量很大時會發生隊列溢出使得分組丟失。
    數據在網絡中經歷的總時延就是以上四種時延之和:總時延=發送時延+傳播時延+處理時延+排隊時延
    在這四種時延中,忽略處理時延和排隊時延(當這兩種時延在總時延中佔據主要部分時,計算機網絡中的通信量過大,整個網絡的性能都變壞了)。當信道長度比較短而且數據塊比較大時,總時延的數值基本上還是由發送時延來決定的。相反,當信道比較長而數據塊比較小時,總時延的數值基本由傳播時延決定。
    對於高速網絡鏈路,我們提高的僅僅是數據的發送速率,減小了數據的發送時延,而不是比特在鏈路上的傳播速率,荷載信息的電磁波在通信線路上的傳播速率與數據的發送速率無關
  5. 時延帶寬積
    =×

    鏈路的時延帶寬積又稱爲以比特爲單位的鏈路長度,對於一條正在傳送數據的鏈路,只有在代表鏈路的管道都充滿比特時,鏈路纔得到充分的利用。
  6. 往返時間RTT
    往返時間RTT(Round-Trip Time)表示從發送方發送數據開始,到發送方收到來自接收方的確認(接收方收到數據後便立即發送確認),總共經歷的時間。
    往返時間帶寬積(=往返時間 × 帶寬)的意義是當發送方連續發送數據時,即使能夠及時收到對方的確認,但是已經將許多比特發送到鏈路上了。例如數據的接收方及時發現了差錯並告知發送方,使發送方立即停止發送,但是發送方也已經發送了很多個比特了。
    注意當使用衛星通信時,往返時間RTT相對較長,是一個很重要的性能指標。
  7. 利用率
    信道利用率:指出某信道有百分之幾的時間是被利用的(有數據通過),完全空閒的信道利用率是0。
    網絡利用率:全網絡的信道利用率的加權平均值。
    信道利用率並非越高越好,根據排隊論的理論,當某信道的利用率增大時,該信道引起的時延也就迅速增加。

五、計算機網絡體系結構

  1. 分層結構的好處
    (1) 各層之間是獨立的。某一層不需要知道它的下一層是如何實現的,而僅僅只需要知道該層通過層間的接口(即界面)所提供的服務。由於每一層只實現一種相對獨立的功能,因而可將一個難以處理的複雜問題分解爲若干個較容易處理的更小一些的問題,降低了整個問題的複雜度。
    (2) 靈活性好。當任何一層發生變化時,只要層間接口關係保持不變,則,則在這層以上或以下各層均不受影響。此外,對某一層提供的服務還可進行修改,當某層提供的服務不再需要時,甚至可以取消該層。
    (3) 結構上可分割。各層都可以採用最合適的技術來實現。
    (4) 易於實現和維護。這種結構使得實現和調試一個龐大而複雜的系統變得容易,因爲整個的系統已被分解爲若干個相對獨立的子系統。
    (5) 能促進標準化工作。每一層的功能及其所提供的服務都已有了精確的說明。
  2. 不同的計算機網絡體系結構比較
    OSI的七層協議體系結構(如圖1(a)所示)概念清楚,理論也較完整,但是複雜而且不實用。
    TCP/IP體系結構(如圖1(b)所示)是一個四層的體系結構,它得到了非常廣泛的應用。包含應用層、運輸層、網際層和網絡接口層(使用網際層這個名字是強調這一層是爲了解決不同網絡之間的互連問題)。從實質上說,TCP/IP只有最上面的三層,因爲最下面的網絡接口層並沒有什麼具體的內容。
    綜合OSI和TCP/IP的優點,一種只有五層協議的體系結構(如圖1(c)所示)提出用於簡潔清楚地介紹網絡原理(注意實際使用的是四層結構)。

image
3. 五層結構中各層的主要功能
(1) 應用層(application layer):應用層是體系結構中的最高層,直接爲用戶的應用進程提供服務。這裏的進程就是正在運行的程序。例如:支持萬維網應用的HTTP協議、支持電子郵件點的SMTP協議、支持文件傳送的FTP協議等
(2) 運輸層(transport layer):運輸層的任務是負責向兩個主機中進程之間的通信提供服務。由於一個主機可同時運行多個進程,因此運輸層有複用和分用的功能。複用就是多個應用層進程可同時使用下面運輸層的服務,分用則是運輸層把收到的信息分別交付給上面應用層中相應的進程。例如傳輸控制協議TCP、用戶數據包協議UDP
(3) 網絡層(network layer):網絡層負責爲分組交換上的不同主機提供通信服務,在發送數據時,網絡層把運輸層產生的報文段或用戶數據封裝成分組或包進行傳送。在TCP/IP體系中,由於網絡層使用IP協議,因此分組也叫作IP數據報,或者簡稱爲數據報
注意區分運輸層的“用戶數據報UDP”和網絡層的“IP數據報”。
網絡層的另一任務是選擇合適的路由,使源主機運輸層所傳下來的分組能夠通過網絡中的路由器找到目的主機。例如因特網主要使用的是無連接的網際協議IP(Internet Protocol)
(4) 數據鏈路層(data link layer):簡稱鏈路層。兩個主機之間的數據傳輸總是在一段一段的鏈路上傳送的。也就是說在相鄰的兩個結點之間(主機和路由器之間或者兩個路由器之間)傳送數據是直接傳送的(點對點)。在相鄰結點之間傳送數據時,數據鏈路層將網絡層交下來的IP數據報組裝成幀(framing)。該層檢測收到的幀中有無差錯,若有責丟棄該幀,校正錯誤由運輸層的TCP協議完成。
(5) 物理層(physical layer):在物理層所傳數據的單位是比特,其任務是透明地傳送比特流。物理層要考慮用多大的電壓代表“1”或“0”,以及接收方如何識別出發送方所發送的比特,還要確定連接電纜的插頭應當有多少根引腳以及各條引腳應如何連接。傳遞信息所利用的一些物理媒體,如雙絞線、同軸電纜等等並不在物理層協議之內,而是在物理層協議之下。
數據在各層之間的傳遞過程如下圖所示:
數據在各層之間的傳遞過程
4. TCP/IP的體系結構
TCP/IP的體系結構只有四層,如下所示,注意圖中的路由器在轉發分組時最高只用到網絡層而沒有運輸層和應用層:
這裏寫圖片描述
另一種表示TCP/IP的體系結構的方法就是分層畫出具體的協議來表示TCP/IP協議族,如圖3所示,它的特點是上下兩頭大而中間小。這種很像沙漏計時器的TCP/IP協議族表明:TCP/IP協議可以爲各式各樣的應用提供服務(everything over IP),也允許IP協議在各式各樣的網絡構成的互聯網上運行(IP over everything)。不難看出IP協議在因特網中的核心作用。
這裏寫圖片描述

六、參考文獻

[1] 謝希仁. 計算機網絡(第五版)

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