計算機網路:一些互聯的、自治的計算機系統的集合。
- 互聯:透過通訊鏈路連線在一起。
- 自治:每臺計算機都有自己的作業系統,資源管理、程序排程等。
功能: 資源共享、資訊傳遞、協作計算、分佈
計算機網路的組成
由硬體和軟體與協議組成。
按照功能組成:
- 通訊子網:負責資料傳輸,包括傳輸介質、通訊裝置、通訊控制軟體。(物理、鏈路、網路)
- 資源子網:負責資源管理,包括計算機、儲存裝置、印表機等。(會話、表示、應用)
交換方式分類
- 電路交換:建立連線,傳輸資料,釋放連線。有這三個步驟的交換方式就叫做電路交換。
也被稱為面向連線的交換方式。一般需要建立電路,根據物理電路和邏輯電路的區別,電路交換又分為兩種:實電路與虛電路。- 優點: 傳輸速率高,傳輸穩定。
- 缺點: 線路利用率低,連線建立時間長。
- 報文交換:使用儲存轉發的無連線方式,中間節點等待整個報文到達後轉發
- 分組交換:使用儲存轉發的無連線方式,中間節點不需要等待整個分組到達就進行轉發
效能指標
速率
資料率、資料傳輸率、位元率,單位為 bps(bit per second)
連線在計算機網路上的主機在數字通道上傳送資料位數的速率
頻寬
頻寬原本指的是訊號的頻頻寬度,即模擬訊號最高頻率與最低頻率之差,單位是 Hz。
在計算機網路中,頻寬指的是數字通道中某一點到另一點所能透過的最高資料傳輸速率,單位是 bps。
主機向數字通道傳送資料的速率+數字通道傳播電磁波的頻率
即使用主機向數字通道傳送資料的速率描述數字通道能夠傳輸資料的能力,因為傳播電磁波的頻率是固定的。
頻寬表達的是通道的通訊能力,速率表達的是主機的通訊能力
吞吐量
表示單位時間內透過某個網路(或通道、介面)的資料量,單位是 bps。
吞吐量受網路的頻寬或網路的額定速率的限制。
是對線路實際傳輸速率的一個度量。
時延
指資料從網路的一端傳輸到另一端所需的時間。
-
傳送時延:主機傳送資料所需的時間。從傳送分組的第一個位元到傳送完最後一個位元的時間。
\[d_{send} = \frac{L}{R} = \frac{L}{B} \] -
傳播時延:資料透過通道傳播所需的時間。取決於通道的長度和電磁波在通道上的傳播速率。
\[d_{prop} = \frac{d}{s} \] -
排隊時延:資料在路由器或交換機的佇列中等待所需的時間。等待輸出/輸入緩衝區的時間。
\[d_{queue} \] -
處理時延:資料在路由器或交換機中處理所需的時間。檢錯、查詢轉發表、計算校驗和等。
\[d_{proc} \]
高速鏈路實際上是影響的頻寬,而不是傳播速率。
時延頻寬積
時延頻寬積是指在網路中傳輸的資料量與網路的頻寬之積,用來描述某一時刻鏈路中的資料量。
往返時間 RTT
從傳送方傳送資料到接收方接收到確認資訊所需的時間,總共經歷的時間。
分層結構中的概念
層次棧/分級棧:為了降低網路設計的複雜性,將網路分為若干層,每一層都有自己的功能,只與相鄰的層進行通訊,實現網路的模組化設計。
對等體: 在不同計算機上構成相同層次的實體
協議
協議是一組規則,規定了同一層上的對等實體之間交換的訊息格式和訊息含義。
協議由語法、語義和時序三個要素組成。
- 語法:規定了訊息的格式,包括訊息中的各個欄位的含義和位置。
- 語義:規定了訊息的含義,即對訊息中的各個欄位的解釋與功能。
- 時序:規定了訊息的傳送順序,即訊息的傳送和接收的時間順序。即事件實現順序的詳細說明
介面
介面定義了下一層向上一層提供的哪些原語操作與服務。相比較於服務而言,介面更加抽象。
相當於只提供了一個函式名、引數、返回值,而沒有具體的實現。
比如如下的介面:
def quick_sort(arr: List[int]) -> List[int]
服務
服務定義了下一層向上一層提供的功能(或者說該層能夠代表使用者執行哪些操作)。不涉及具體實現,只是定義了功能。
服務是由一組原語操作組成的,原語操作是服務的具體體現,由哪些原語取決於提供服務的本質。
訊息格式
每一層報文都分為兩個部分:SDU 與 PDI,共同構成 PDU
- SDU(Service Data Unit):服務資料單元,是上一層傳遞給下一層的資料,第 n 層的 SDU 是第 n+1 層的 PDU。
- PCI(Protocol Control Information):協議控制資訊,是為了實現協議功能而新增的控制資訊,用於控制協議的傳輸。
- PDU(Protocol Data Unit):協議資料單元,是在協議控制資訊的基礎上新增了協議控制資訊的資料單元。
n-SDU + n-PCI = n-PDU = (n-1)-SDU
分層的依據
- 各層之間是相互獨立的;
- 每一層需要有足夠的靈活性;
- 各層之間完全解耦。
OSI 七層模型
為了達到所有異構網路的互聯互通,國際標準化組織(ISO)制定了 OSI 七層模型。
Open System Interconnection,開放式系統互聯。