第 19 章 計算機網絡體系結構
19.1 基本概念
19.1.1 計算機網絡概述
1.計算機網絡的定義、組成與功能
????????計算機網絡是一個將分散的、具有獨立功能的計算機系統,通過通信設備與線路連接起來,由功能完善的軟件實現資源共享和信息傳遞的系統。
????????計算機網絡的定義如圖 19 - 1 所示。計算機系統不僅僅指的是計算機,還可以表示 ipad、手機等可聯網的設備。這些計算機系統并不是孤立的,它們需要通過通信設備以及線路連接起來,例如我們需要使用路由器和網線來充當通信設備以及線路。最后還需要安裝上軟件。一臺剛剛出廠的計算機,是沒有辦法和別人進行通信的,需要安裝上瀏覽器、微信等軟件才可以通信。
2.計算機網絡的分類
????????計算機網絡可以根據不同的劃分標準,分為不同的類別。
????????按照覆蓋范圍的不同,計算機網絡可以分為廣域網、城域網和局域網。按照拓撲結構的不同,計算機網絡可分為總線、星形、環形、網狀等多種類型。按照交換技術的不同,計算機網絡也可以分為電路交換網絡、報文交換網絡和分組交換網絡。3.計算機網絡主要性能指標
????????了解了計算機網絡的定義之后,接下來就會帶來一個問題:如何去評價一個計算機網絡的質量好不好?
????????在日常生活中,我們可能會用測網速的方式衡量計算機網絡質量的優劣,實際上網速也是一個衡量標準,但也不能僅只有這一個標準。我們可以使用性能指標去對計算機網絡進行描述和評價。下面介紹一些常見的性能指標。
(1)速率:計算機網絡上主機在數字信道上傳送數據的速率,也稱為數據率(data rate)。它表示的是單位時間(秒)傳輸信息(比特)量,單位是 b/s 或(bps),kb/s,Mb/s,Gb/s。例如,當速率為 10 kb/s 時,代表一秒鐘可以傳輸 10 000 比特的數據。
(2)帶寬:帶寬有兩種定義 —— 頻帶寬度和網絡帶寬。① 頻帶寬度:“帶寬” 原本指某個信號具有的頻帶寬度,即最高頻率與最低頻率之差,單位是赫茲(Hz)(在奈氏定理和香農定理中會用到)。
② 網絡帶寬:表示在單位時間內從網絡中的某一點到另一點所能通過的 “最高數據率”,單位為 b/s。當帶寬表示這個意思時,和速率是一樣的。
(3)吞吐量:表示在單位時間內通過某個網絡(或信道、接口)的數據量,單位為 b/s,kb/s 和 Mb/s。吞吐量受網絡的帶寬或網絡的額定速率的限制。這里注意區分吞吐量和帶寬的區別。帶寬指的是最高數據率,是一個理想情況下的速率;而吞吐量更經常地用于對現實世界中的網絡的一種測量,以便知道實際上到底有多少數據量通過網絡。
(4)時延:是指數據(一個報文或分組,甚至比特)從網絡(或鏈路)的一端傳送到另一端所需的時間,單位是 s。總時延 = 發送時延 + 傳播時延 + 處理時延 + 排隊時延。發送時延、傳播時延、處理時延和排隊時延如圖 19 - 2 所示。
① 發送時延:主機或路由器發送數據幀所需要的時間,即從發送數據幀的第一個比特算起,到該幀的最后一個比特發送完畢所需的時間。
② 傳播時延:電磁波在信道中傳播一定的距離需要花費的時間。
③ 處理時延:主機或路由器在收到分組時要花費一定的時間進行處理。
④ 排隊時延:分組在進入路由器后要先在輸入隊列中排隊等待處理。排隊時延的長短往往取決于網絡當時的通信量。
(5)時延帶寬積:把傳播時延和帶寬相乘,即時延帶寬積 = 傳播時延 × 帶寬。單位為 b,kb,Mb。
(6)利用率:計算機網絡中的利用率主要有信道利用率和網絡利用率兩種。????????????????信道利用率 = 有數據通過的時間 /(有數據通過的時間 + 沒有數據通過的時間)
網絡利用率:網絡利用率是全網絡的信道利用率的加權平均值。
19.1.2 計算機網絡體系結構
1.計算機網絡分層結構
????????接下來我們思考,作為一名程序員,應如何去實現一個計算機網絡?
????????計算機網絡包括的內容很多,當它是一個整體的時候我們無從下手,這時就需要將其化整為零,將一個龐大的計算機網絡系統劃分為多個小的模塊,讓不同的模塊去實現不同的事情,再讓各個模塊相互交互。這就是計算機網絡的分層思想。
分層有以下好處。①.各層之間是獨立的。
②.靈活性好。
③.結構上可分割開,各層都可以采用最合適的技術來實現。
④.易于實現和維護。
⑤.能促進標準化工作。
2.計算機網絡協議、接口、服務等概念
為了描述一個分層,可以對協議、接口和服務這 3 個名詞進行定義。協議、接口和服務如圖 19 - 3 所示。
(1)協議:在計算機網絡中要做到有條不紊地交換數據,就必須遵守一些事先約定好的規則。這些規則就是協議。協議主要由以下 3 個要素組成。
1.語法:數據與控制信息的結構或格式。
2.語義:需要發出何種控制信息、完成何種動作以及做出何種響應。
3.同步:事件實現順序的詳細說明。
(2)接口:在網絡分層結構中,相鄰兩層之間存在一個接口,它是較低層次向較高層次提供服務的入口。
(3)服務:為保證上層對等體之間能相互通信,下層向上層提供的功能。
????????記住一點:協議是 “水平的”,即協議是控制對等實體之間通信的規則。但服務是 “垂直的”,即服務是由下層向上層通過層間接口提供的。兩個第 n 層的實體使用第 n 層的協議進行通信,并通過接口對第 n + 1 層的實體提供服務。3.ISO/OSI 參考模型和 TCP/IP 參考模型
ISO/OSI 參考模型(見圖 19 - 4)是一個法定標準,由國際標準化組織提出,可以支持異構網絡系統的互聯互通。
該模型分為 7 層。
1.應用層:ISO/OSI 參考模型中最靠近用戶的一層,它直接提供文件傳輸、電子郵件、網頁瀏覽等服務給用戶。
2.表示層:處理兩個應用實體之間進行數據交換的語法問題,解決數據交換中存在的數據格式不一致以及數據表示方法不同等問題。如加密解密、轉換翻譯、壓縮以及解壓縮等。
3.會話層:不同機器上的用戶之間建立和管理會話。
4.傳輸層:向用戶提供可靠的端到端的差錯和流量控制,保證報文的正確傳輸。
5.網絡層:為處在不同網絡系統中的兩個結點設備通信提供一條邏輯通路。其基本任務包括路由選擇、擁塞控制與網絡互聯等功能。
6.數據鏈路層:負責在兩個相鄰結點之間,無差錯地傳送以 “幀” 為單位的數據。每一幀包括一定數量的數據和若干控制信息。
7.物理層:傳輸二進制位流,即透明的傳輸比特。
????????如圖 19 - 5 所示,TCP/IP 參考模型是一個事實模型,該模型分為 4 層,包含應用層、傳輸層、網際層和網絡接口層(用網際層這個名字是強調這一層是為了解決不同網絡的互連問題)。不過從實質上講,TCP/IP 參考模型只有最上面的 3 層,因為最下面的網絡接口層并沒有什么具體內容。
1.應用層:等同于 ISO/OSI 參考模型的會話層 + 表示層 + 應用層。它是最靠近用戶的一層,為用戶提供各種服務。
2.傳輸層:負責應用進程之間的端 - 端通信,和 ISO/OSI 參考模型的傳輸層類似,只是 ISO/OSI 參考模型的傳輸層只支持面向連接的通信;而 TCP/IP 參考模型的傳輸層支持無連接和面向連接的通信。
3.網際層:等同于 ISO/OSI 參考模型的網絡層的無連接網絡服務(ISO/OSI 參考模型的網絡層可以提供無連接的服務,也可以提供有連接的服務)。
4.網際接口層:等同于 ISO/OSI 參考模型的數據鏈路層 + 物理層。它負責通過網絡發送和接收 IP 數據報。
????????在學習計算機網絡原理時,往往采取折中的辦法,即綜合 OSI 和 TCP/IP 參考模型的優點,采用一種只有 5 層協議的體系結構(上 3 層來自 TCP/IP 參考模型,下兩層來自 ISO/OSI 參考模型),如圖 19 - 6 所示。這樣既簡潔又能將概念闡述清楚。所以在后面的章節中,將按照物理層、數據鏈路層、物理層、運輸層(傳輸層)和應用層的順序進行講解。