導航:首頁 > 網路連接 > 計算機網路鏈路層知識

計算機網路鏈路層知識

發布時間:2023-04-05 18:32:37

1. 計算機網路第三章(數據鏈路層)

3.1、數據鏈路層概述

概述

鏈路 是從一個結點到相鄰結點的一段物理線路, 數據鏈路 則是在鏈路的基礎上增加了一些必要的硬體(如網路適配器)和軟體(如協議的實現)

網路中的主機、路由器等都必須實現數據鏈路層

區域網中的主機、交換機等都必須實現數據鏈路層

從層次上來看數據的流動

僅從數據鏈路層觀察幀的流動

主機H1 到主機H2 所經過的網路可以是多種不同類型的

注意:不同的鏈路層可能採用不同的數據鏈路層協議

數據鏈路層使用的信道

數據鏈路層屬於計算機網路的低層。 數據鏈路層使用的信道主要有以下兩種類型:

點對點信道

廣播信道

區域網屬於數據鏈路層

區域網雖然是個網路。但我們並不把區域網放在網路層中討論。這是因為在網路層要討論的是多個網路互連的問題,是討論分組怎麼從一個網路,通過路由器,轉發到另一個網路。

而在同一個區域網中,分組怎麼從一台主機傳送到另一台主機,但並不經過路由器轉發。從整個互聯網來看, 區域網仍屬於數據鏈路層 的范圍

三個重要問題

數據鏈路層傳送的協議數據單元是 幀

封裝成幀

封裝成幀 (framing) 就是在一段數據的前後分別添加首部和尾部,然後就構成了一個幀。

首部和尾部的一個重要作用就是進行 幀定界 。

差錯控制

在傳輸過程中可能會產生 比特差錯 :1 可能會變成 0, 而 0 也可能變成 1。

可靠傳輸

接收方主機收到有誤碼的幀後,是不會接受該幀的,會將它丟棄

如果數據鏈路層向其上層提供的是不可靠服務,那麼丟棄就丟棄了,不會再有更多措施

如果數據鏈路層向其上層提供的是可靠服務,那就還需要其他措施,來確保接收方主機還可以重新收到被丟棄的這個幀的正確副本

以上三個問題都是使用 點對點信道的數據鏈路層 來舉例的

如果使用廣播信道的數據鏈路層除了包含上面三個問題外,還有一些問題要解決

如圖所示,主機A,B,C,D,E通過一根匯流排進行互連,主機A要給主機C發送數據,代表幀的信號會通過匯流排傳輸到匯流排上的其他各主機,那麼主機B,D,E如何知道所收到的幀不是發送給她們的,主機C如何知道發送的幀是發送給自己的

可以用編址(地址)的來解決

將幀的目的地址添加在幀中一起傳輸

還有數據碰撞問題

隨著技術的發展,交換技術的成熟,

在 有線(區域網)領域 使用 點對點鏈路 和 鏈路層交換機 的 交換式區域網 取代了 共享式區域網

在無線區域網中仍然使用的是共享信道技術

3.2、封裝成幀

介紹

封裝成幀是指數據鏈路層給上層交付的協議數據單元添加幀頭和幀尾使之成為幀

幀頭和幀尾中包含有重要的控制信息

發送方的數據鏈路層將上層交付下來的協議數據單元封裝成幀後,還要通過物理層,將構成幀的各比特,轉換成電信號交給傳輸媒體,那麼接收方的數據鏈路層如何從物理層交付的比特流中提取出一個個的幀?

答:需要幀頭和幀尾來做 幀定界

但比不是每一種數據鏈路層協議的幀都包含有幀定界標志,例如下面例子

前導碼

前同步碼:作用是使接收方的時鍾同步

幀開始定界符:表明其後面緊跟著的就是MAC幀

另外乙太網還規定了幀間間隔為96比特時間,因此,MAC幀不需要幀結束定界符

透明傳輸

透明

指某一個實際存在的事物看起來卻好像不存在一樣。

透明傳輸是指 數據鏈路層對上層交付的傳輸數據沒有任何限制 ,好像數據鏈路層不存在一樣

幀界定標志也就是個特定數據值,如果在上層交付的協議數據單元中, 恰好也包含這個特定數值,接收方就不能正確接收

所以數據鏈路層應該對上層交付的數據有限制,其內容不能包含幀定界符的值

解決透明傳輸問題

解決方法 :面向位元組的物理鏈路使用 位元組填充 (byte stuffing) 或 字元填充 (character stuffing),面向比特的物理鏈路使用比特填充的方法實現透明傳輸

發送端的數據鏈路層在數據中出現控制字元「SOH」或「EOT」的前面 插入一個轉義字元「ESC」 (其十六進制編碼是1B)。

接收端的數據鏈路層在將數據送往網路層之前刪除插入的轉義字元。

如果轉義字元也出現在數據當中,那麼應在轉義字元前面插入一個轉義字元 ESC。當接收端收到連續的兩個轉義字元時,就刪除其中前面的一個。

幀的數據部分長度

總結

3.3、差錯檢測

介紹

奇偶校驗

循環冗餘校驗CRC(Cyclic Rendancy Check)

例題

總結

循環冗餘校驗 CRC 是一種檢錯方法,而幀校驗序列 FCS 是添加在數據後面的冗餘碼

3.4、可靠傳輸

基本概念

下面是比特差錯

其他傳輸差錯

分組丟失

路由器輸入隊列快滿了,主動丟棄收到的分組

分組失序

數據並未按照發送順序依次到達接收端

分組重復

由於某些原因,有些分組在網路中滯留了,沒有及時到達接收端,這可能會造成發送端對該分組的重發,重發的分組到達接收端,但一段時間後,滯留在網路的分組也到達了接收端,這就造成 分組重復 的傳輸差錯

三種可靠協議

停止-等待協議SW

回退N幀協議GBN

選擇重傳協議SR

這三種可靠傳輸實現機制的基本原理並不僅限於數據鏈路層,可以應用到計算機網路體系結構的各層協議中

停止-等待協議

停止-等待協議可能遇到的四個問題

確認與否認

超時重傳

確認丟失

既然數據分組需要編號,確認分組是否需要編號?

要。如下圖所示

確認遲到

注意,圖中最下面那個數據分組與之前序號為0的那個數據分組不是同一個數據分組

注意事項

停止-等待協議的信道利用率

假設收發雙方之間是一條直通的信道

TD :是發送方發送數據分組所耗費的發送時延

RTT :是收發雙方之間的往返時間

TA :是接收方發送確認分組所耗費的發送時延

TA一般都遠小於TD,可以忽略,當RTT遠大於TD時,信道利用率會非常低

像停止-等待協議這樣通過確認和重傳機制實現的可靠傳輸協議,常稱為自動請求重傳協議ARQ( A utomatic R epeat re Q uest),意思是重傳的請求是自動進行,因為不需要接收方顯式地請求,發送方重傳某個發送的分組

回退N幀協議GBN

什麼用回退N幀協議

在相同的時間內,使用停止-等待協議的發送方只能發送一個數據分組,而採用流水線傳輸的發送方,可以發送多個數據分組

回退N幀協議在流水線傳輸的基礎上,利用發送窗口來限制發送方可連續發送數據分組的個數

無差錯情況流程

發送方將序號落在發送窗口內的0~4號數據分組,依次連續發送出去

他們經過互聯網傳輸正確到達接收方,就是沒有亂序和誤碼,接收方按序接收它們,每接收一個,接收窗口就向前滑動一個位置,並給發送方發送針對所接收分組的確認分組,在通過互聯網的傳輸正確到達了發送方

發送方每接收一個、發送窗口就向前滑動一個位置,這樣就有新的序號落入發送窗口,發送方可以將收到確認的數據分組從緩存中刪除了,而接收方可以擇機將已接收的數據分組交付上層處理

累計確認

累計確認

優點:

即使確認分組丟失,發送方也可能不必重傳

減小接收方的開銷

減小對網路資源的佔用

缺點:

不能向發送方及時反映出接收方已經正確接收的數據分組信息

有差錯情況

例如

在傳輸數據分組時,5號數據分組出現誤碼,接收方通過數據分組中的檢錯碼發現了錯誤

於是丟棄該分組,而後續到達的這剩下四個分組與接收窗口的序號不匹配

接收同樣也不能接收它們,講它們丟棄,並對之前按序接收的最後一個數據分組進行確認,發送ACK4, 每丟棄一個數據分組,就發送一個ACK4

當收到重復的ACK4時,就知道之前所發送的數據分組出現了差錯,於是可以不等超時計時器超時就立刻開始重傳,具體收到幾個重復確認就立刻重傳,根據具體實現決定

如果收到這4個重復的確認並不會觸發發送立刻重傳,一段時間後。超時計時器超時,也會將發送窗口內以發送過的這些數據分組全部重傳

若WT超過取值范圍,例如WT=8,會出現什麼情況?

習題

總結

回退N幀協議在流水線傳輸的基礎上利用發送窗口來限制發送方連續發送數據分組的數量,是一種連續ARQ協議

在協議的工作過程中發送窗口和接收窗口不斷向前滑動,因此這類協議又稱為滑動窗口協議

由於回退N幀協議的特性,當通信線路質量不好時,其信道利用率並不比停止-等待協議高

選擇重傳協議SR

具體流程請看視頻

習題

總結

3.5、點對點協議PPP

點對點協議PPP(Point-to-Point Protocol)是目前使用最廣泛的點對點數據鏈路層協議

PPP協議是網際網路工程任務組IEIF在1992年制定的。經過1993年和1994年的修訂,現在的PPP協議已成為網際網路的正式標准[RFC1661,RFC1662]

數據鏈路層使用的一種協議,它的特點是:簡單;只檢測差錯,而不是糾正差錯;不使用序號,也不進行流量控制;可同時支持多種網路層協議

PPPoE 是為寬頻上網的主機使用的鏈路層協議

幀格式

必須規定特殊的字元作為幀定界符

透明傳輸

必須保證數據傳輸的透明性

實現透明傳輸的方法

面向位元組的非同步鏈路:位元組填充法(插入「轉義字元」)

面向比特的同步鏈路:比特填充法(插入「比特0」)

差錯檢測

能夠對接收端收到的幀進行檢測,並立即丟棄有差錯的幀。

工作狀態

當用戶撥號接入 ISP 時,路由器的數據機對撥號做出確認,並建立一條物理連接。

PC 機向路由器發送一系列的 LCP 分組(封裝成多個 PPP 幀)。

這些分組及其響應選擇一些 PPP 參數,並進行網路層配置,NCP 給新接入的 PC 機

分配一個臨時的 IP 地址,使 PC 機成為網際網路上的一個主機。

通信完畢時,NCP 釋放網路層連接,收回原來分配出去的 IP 地址。接著,LCP 釋放數據鏈路層連接。最後釋放的是物理層的連接。

可見,PPP 協議已不是純粹的數據鏈路層的協議,它還包含了物理層和網路層的內容。

3.6、媒體接入控制(介質訪問控制)——廣播信道

媒體接入控制(介質訪問控制)使用一對多的廣播通信方式

Medium Access Control 翻譯成媒體接入控制,有些翻譯成介質訪問控制

區域網的數據鏈路層

區域網最主要的 特點 是:

網路為一個單位所擁有;

地理范圍和站點數目均有限。

區域網具有如下 主要優點 :

具有廣播功能,從一個站點可很方便地訪問全網。區域網上的主機可共享連接在區域網上的各種硬體和軟體資源。

便於系統的擴展和逐漸地演變,各設備的位置可靈活調整和改變。

提高了系統的可靠性、可用性和殘存性。

數據鏈路層的兩個子層

為了使數據鏈路層能更好地適應多種區域網標准,IEEE 802 委員會就將區域網的數據鏈路層拆成 兩個子層 :

邏輯鏈路控制 LLC (Logical Link Control)子層;

媒體接入控制 MAC (Medium Access Control)子層。

與接入到傳輸媒體有關的內容都放在 MAC子層,而 LLC 子層則與傳輸媒體無關。 不管採用何種協議的區域網,對 LLC 子層來說都是透明的。

基本概念

為什麼要媒體接入控制(介質訪問控制)?

共享信道帶來的問題

若多個設備在共享信道上同時發送數據,則會造成彼此干擾,導致發送失敗。

隨著技術的發展,交換技術的成熟和成本的降低,具有更高性能的使用點對點鏈路和鏈路層交換機的交換式區域網在有線領域已完全取代了共享式區域網,但由於無線信道的廣播天性,無線區域網仍然使用的是共享媒體技術

靜態劃分信道

信道復用

頻分復用FDM (Frequency Division Multiplexing)

將整個帶寬分為多份,用戶在分配到一定的頻帶後,在通信過程中自始至終都佔用這個頻帶。

頻分復用 的所有用戶在同樣的時間 佔用不同的帶寬資源 (請注意,這里的「帶寬」是頻率帶寬而不是數據的發送速率)。

2. 計算機網路-02-物理層和數據鏈路層

物理層主要功能是為數據端設備提供傳送數據的通路以及傳輸數據。

信道是往一個方向傳送信息的媒體,一條通信電路包含一個接收信道和一個發送信道。

分用-復用技術 允許多個用戶使用一個共享信道進行通信,可以降低成本,提高利用率。

數據鏈路層在物理層提供的服務的基礎上向網路層提供服務,其最基本的功能是向該層用戶提供透明的和可靠的數據傳送基本服務。

數據鏈路層有兩個功能: 幀編碼 和 差錯控制 。

物理層只負責傳輸比特流,為了使傳輸過程發生差錯後只將有限數據進行重發,數據鏈路層將比特流組合成以太幀作為單位傳送。

每個幀除了要傳送的數據外,還包括校驗碼,以使接收方能發現傳輸中的差錯。

假設現在從網路層過來了一個IP數據報,數據鏈路層會將這個數據報作為幀進行傳送。

當然物理層是不管你幀不幀的,它只會將數據鏈路層傳過來的幀以比特流的形式發送給另一台物理設備。

由前面的文章可知: 總時延 = 發送時延 + 排隊時延 + 傳播時延 + 處理時延

數據鏈路層的數據幀不是無限大的,數據幀過大或過小都會影響傳輸的效率,數據鏈路層使用MTU來限制數據幀長度。

乙太網MTU一般為1500位元組, 路徑MTU由鏈路中MTU的最小值決定

一個實用的通信系統必須具備發現(即檢測)這種差錯的能力,並採取某種措施糾正之,使差錯被控制在所能允許的盡可能小的范圍內,這就是差錯控制過程。物理層只管傳輸比特流,無法控制是否出錯,所以差錯檢測成了數據鏈路層的主要功能之一。

一般的檢測方法有 奇偶校驗碼 和 CRC循環冗餘校驗碼 。

網路中需要唯一標識物理設備的地址,用於確定數據傳輸時的發送地址和目的地址。

MAC地址(物理地址、硬體地址)共48位,使用十六進製表示,每一個設備都擁有唯一的MAC地址。

雖然MAC地址是物理硬體地址,但其屬於數據鏈路層的MAC子層。

乙太網(Ethernet)是一種使用廣泛的區域網技術,它是應用於數據鏈路層的協議,使用乙太網可以完成相鄰設備的數據幀傳輸。

乙太網數據報文主要由五個部分組成:

類型主要表示幀數據的類型,例如網路層的IP數據。

定義完數據結構後,就需要進行數據傳輸。由上文可知,MAC地址唯一標識了設備,那麼怎麼獲得目的設備的MAC地址呢?

MAC地址表記錄了與本設備相連的設備的MAC地址。

假設主機A發送了一個乙太網數據報文,數據幀到達路由器,路由器取出前6位元組(通過報文數據結構可知前6位位目的地址)。

路由器匹配MAC地址表,找到對應的網路介面,路由器往該網路介面發送數據幀。

當路由器的MAC地址表中沒有目的地址,此時路由器會將此MAC地址進行廣播(發送方A除外),接收區域網中與該路由其相連的其他設備的MAC地址並記錄。

由於MAC地址表只能知道當前設備的下一個設備的MAC地址,簡而言之就是只能進行相鄰物理節點的數據傳輸。

有關跨設備傳輸數據的功能是交由網路層處理的,具體見下一章。

3. 計算機網路知識點(三)

數據鏈路層提供一下三種 服務

數據鏈路層使用的信道有一下兩種 類型

無效的MAC幀格式

多點接入 :許多計算機以多點接入的方式連接在一根匯流排上。
載波監聽 :每一個站在發送數據之前先檢測一下匯流排上是否有其他計算機在發送數據,如果有,暫時不要發送數據,以免發生碰撞。
碰撞檢測

爭用期

最短有效幀長
64位元組,凡長度小於64位元組的幀都是由於沖突而異常終止的無效幀。

強化碰撞

幀間最小間隔
9.6us,相當於96bit時間。為了剛剛收到數據幀的站的緩存能夠來得及清理,做好迎接下一幀的准備。

硬體地址又稱物理地址或者MAC地址。它是固化在適配器ROM中的地址,與地理地址無關。若適配器故障,硬體地址改變;地理位置發生改變,硬體地址不變。
MAC地址是48bit的

數據欄位長度為46——1500位元組,當數據欄位的長度小於46位元組的時候,應在數據欄位的後面加入整數位元組的填充欄位,以保證MAC幀長度不小於64位元組。

為了達到比特同步,在傳輸媒體上實際傳送的要比MAC幀還多8個位元組

使用的器件是 集線器 。使原來屬於不同碰撞域的區域網上的計算機能夠進行跨碰撞域的通信。擴大了區域網覆蓋的地理范圍。

使用的器件是 網橋 。網橋工作在數據鏈路層,根據MAC地址對收到的幀進行轉發和過濾。收到幀之後,並非向所有介面轉發,而是檢查目的MAC地址,再確定發到哪個介面或者丟棄。
作用 :過濾了通信量,擴大了物理范圍,提高了可靠性,可互聯不同物理層,不同MAC子層和不同速率的區域網。

網橋和集線器的區別

交換機 是一種多介面的網橋。能夠同時連通許多對介面。一般具有多種速率的介面。為減少一個匯流排網的主機數量提供了條件,減少了網橋的廣播風暴。

4. 數據鏈路層的主要任務是什麼網路層的主要功能有哪些

1、數據鏈路層功能

在兩個網路實體之間提供數據鏈路連接的創建、維持和釋放管理。構成數據鏈路數據單元(frame:數據幀或訊框),並對幀定界、同步、收發順序的控制。傳輸過程中的網路流量控制、差錯檢測和差錯控制等方面。

只提供導線的一端到另一端的數據傳輸。數據鏈路層會在 frame 尾端置放檢查碼(parity,sum,CRC)以檢查實質內容,將物理層提供的可能出錯的物理連接改造成邏輯上無差錯的數據鏈路,並對物理層的原始數據進行數據封裝。

2、網路層的主要功能

對網路層而言使用IP地址來唯一標識互聯網上的設備,網路層依靠IP地址進行相互通信(類似於數據鏈路層的MAC地址),詳細的編址方案參見IPv4和IPv6。

(4)計算機網路鏈路層知識擴展閱讀

設計數據鏈路層的原因

1、在原始的物理線路上傳輸數據信號是有差錯的。

2、設計數據鏈路層的主要目的就是在原始的、有差錯的物理傳輸線路的基礎上,採取差錯檢測、差錯控制與流量控制等方法,將有差錯的物理線路改進成邏輯上無差錯的數據鏈路,向網路層提供高質量的服務。

3、從網路參考模型的角度看,物理層之上的各層都有改善數據傳輸質量的責任,數據鏈路層是最重要的一層。

5. 02 - 數據鏈路層的詳細認識

時間有限我這里只寫了一部分內容,更詳細的內容可以直接看我的筆記 第三章數據鏈路層

數據鏈路層的任務就是將分組從一個網路中或一個鏈路上的一端傳送到另一端。數據鏈路層傳送的數據單元稱為幀(frame)。所以也可以說數據鏈路層的任務就是在一個網路(或一段鏈路上)傳送以幀為單位的數據

數據鏈路層屬於計算機網路的底層,僅在物理層的上方,在網路層的下方,網路中的主機、路由器等都必須實現數據鏈路層。數據鏈路層使用的信道主要有兩種類型,點對點信道,廣播信道

在點對點信道中最重要的是如何實現可靠傳輸(在實際中並不會在數據鏈路層實現可靠傳輸,而是交給上層)

網路層的IP數據報必須向下傳達到數據鏈路層,在數據報前後分別加上首部和尾部,封裝成為一個完整的幀。因為在數據鏈路層就是以幀為單位傳輸和處理數據,因此,數據鏈路層中的幀長就是數據部分加上首部和尾部的長度。

發送方將幀以比特流的形式發送給接收方(在物理層會轉換成電信號),接收方為了能夠處理幀數據,必須正確認識每個幀的開始和結束,這就需要進行幀定界

幀定界有很多種,比如乙太網就是在傳輸的幀與幀之間插入時間間隔來實現,只有首部有幀定界符,尾部沒有幀定界符。還有一種就是在幀的首部和尾部都加上一個幀定界符。

幀定界符:
不同類型:

幀定界符在透明傳輸中的問題和解決
問題: 傳輸數據存在使用幀定界符所使用的字元或比特組合,會出現錯誤的幀定界
解決:

注意:

通信鏈路的傳輸都不會是理想的,比特在傳輸過程中可能會產生差錯,比如1變為0,0變為1,這叫做比特差錯,因此就需要在接收端進行差錯檢測。

發送方需要採用某種差錯檢測演算法,使用發送的數據計算出差錯檢測碼EDC,差錯檢測碼隨數據一起發送給接收方,接收方使用同樣的差錯檢測演算法計算出差錯檢測碼EDC',如果兩者不一致,則表示出現差錯,一般採用循環冗餘檢驗(CRC)來檢錯

差錯檢測演算法:

接收雙方需要約定好一個多項式,之後按照下圖的方式進行處理

案例說明

發送方的冗餘校驗:

說明:

接收方的冗餘校驗:

說明:

注意:

有些情況下數據鏈路層需要向上層的網路層提供「可靠傳輸」的服務,也就是發送端發送什麼,對應的接收端就必須接收什麼。我們通過可靠傳輸協議來實現數據鏈路層的可靠傳輸,有三種,停止等待協議SW、回退N步協議GBN、選擇重傳協議SR。
可靠傳輸協議就是要在不可靠的信道上實現可靠的數據傳輸服務。

在計算機網路中實現可靠傳輸的基本方法就是:如果發現錯誤就重傳

使用分組確認和超時重傳機制就可以在不可靠的信道上實現可靠的數據傳輸。

解決: 可以在發送方發送完一個數據分組後,啟動一個超時計時器,若超出了設置的重傳時間,發送方仍沒有收到接收方的任何確認分組,就會重傳原來的分組。

注意: 重傳時間的選擇一般是略大於「從發送方到接收方的平均往返時間」數據鏈路層的往返時間是比較確定的,可以使用這種方式

說明:

上面也可以看到停止等待協議的信道利用率很低,所以需要採用流水線傳輸方式,發送方不間斷的發送分組來提高信道利用率。但是這種方式有可能會使接收方來不及處理這些分組,從而導致分組的丟失。因此需要限制發送方連續發送分組的個數避免這個問題,而這種方式就是回退N步協議。
簡單理解回退N步協議就是停止等待協議只能發送一個分組就等待,回退N步協議是發送多個分組才處於等待狀態

原理: 回退N步協議在流水線傳輸的基礎上利用發送窗口來限制發送方連續發送分組的個數,是一種連續的ARQ協議

注意:

選擇重傳協議是在回退N步協議的基礎上,只重傳出現差錯的分組,這時接收窗口不再為1,以便先收下失序到達但仍然處於接收窗口中的分組,等到所缺分組收齊後再一並送交上層,這就是選擇重傳協議。

注意:

6. 計算機網路筆記——數據鏈路層

封裝成幀 :在一段數據的前後部分添加 首部 和 尾部 ,這樣就構成了一個幀。
接收端在收到襲弊物理層上交的比特流後,就能根據首部和尾部的標記,從收到的比特流中識別幀的開始和結束.

首部和尾部包含許多的控制信息,他們的一個重要作用: 幀定界 (確定幀的界限)。

幀同步 :接收方應當能從接收到的二進制比特流中區分出幀的起始和終止。

1. 字元計數法

2. 字元(節)填充法慶禪亂

3. 零比特填充法

4. 違規編碼法。

位元組計數法 : Count欄位的脆弱性(其值若有差錯將導致災難性後果)
字元填充法 : 實現上的復雜性和不兼容性
目前較普遍使用的幀同步法是 比特填充 和 違規編碼法 。

差錯源於雜訊:

冗餘編碼: 在數據前面添加校驗數據,和最終收到的數據比對是否有誤,有誤證明傳輸出錯

板栗🌰

一段譽檔晦澀的話

「可靠傳輸」:數據鏈路層發送端發送什麼,接收端就收到什麼。
鏈路層使用CRC檢驗,能夠實現無比特差錯的傳輸,但這還不是可靠傳輸。

原理: 多個校驗位同時檢驗一個數據

構成: 檢驗位和數據位
檢驗位個數:海明不等式 2^r >= k + r + 1 計算得出(r為檢驗位個數,k為數據位位數)
檢驗位位置:2的(1-r次方)

編碼: (以數據D = 101101為例)

最終傳輸數據(海明碼): 00 1 0 011 1 01

校驗:

🌰🌰板栗+1

7. 計算機網路(三)數據鏈路層

結點:主機、路由器

鏈路:網路中兩個結點之間的物理通道,鏈路的傳輸介質主要有雙絞線、光纖和微波。分為有線鏈路、無線鏈路。

數據鏈路:網路中兩個結點之間的邏輯通道,把實現控制數據傳輸協議的硬體和軟體加到鏈路上就構成數據鏈路。

幀:鏈路層的協議數據單元,封裝網路層數據報。

數據鏈路層負責通過一條鏈路從一個結點向另一個物理鏈路直接相連的相鄰結點傳送數據報。

數據鏈路層在物理層提供服務的基礎上向網路層提供服務,其最基本的服務是將源自網路層來的數據可靠地傳輸到相鄰節點的目標機網路層。其主要作用是加強物理層傳輸原始比特流的功能,將物理層提供的可能出錯的物理連接改造成為 邏輯上無差錯的數據鏈路 ,使之對網路層表現為一條無差錯的鏈路。

封裝成幀就是在一段數據的前後部分添加首部和尾部,這樣就構成了一個幀。接收端在收到物理層上交的比特流後,就能根據首部和尾部的標記,從收到的比特流中識別幀的開始和結束。首部和尾部包含許多的控制信息,他們的一個重要作用:幀定界(確定幀的界限)。

幀同步:接收方應當能從接收到的二進制比特流中區分出幀的起始和終止。

組幀的四種方法:

透明傳輸是指不管所傳數據是什麼樣的比特組合,都應當能夠在鏈路上傳送。因此,鏈路層就「看不見」有什麼妨礙數據傳輸的東西。

當所傳數據中的比特組合恰巧與某一個控制信息完全一樣時,就必須採取適當的措施,使收方不會將這樣的數據誤認為是某種控制信息。這樣才能保證數據鏈路層的傳輸是透明的。

概括來說,傳輸中的差錯都是由於雜訊引起的。

數據鏈路層編碼和物理層的數據編碼與調制不同。物理層編碼針對的是單個比特,解決傳輸過程中比特的同步等問題,如曼徹斯特編碼。而數據鏈路層的編碼針對的是一組比特,它通過冗餘碼的技術實現一組二進制比特串在傳輸過程是否出現了差錯。

較高的發送速度和較低的接收能力的不匹配,會造成傳輸出錯,因此流量控制也是數據鏈路層的一項重要工作。數據鏈路層的流量控制是點對點的,而傳輸層的流量控制是端到端的。

滑動窗口有以下重要特性:

若採用n個比特對幀編號,那麼發送窗口的尺寸W T 應滿足: 。因為發送窗口尺寸過大,就會使得接收方無法區別新幀和舊幀。

每發送完一個幀就停止發送,等待對方的確認,在收到確認後再發送下一個幀。

除了比特出差錯,底層信道還會出現丟包 [1] 問題

「停止-等待」就是每發送完一個分組就停止發送,等待對方確認,在收到確認後再發送下一個分組。其操作簡單,但信道利用率較低

信道利用率是指發送方在一個發送周期內,有效地發送數據所需要的時間占整個發送周期的比率。即

GBN發送方:

GBN接收方:

因連續發送數據幀而提高了信道利用率,重傳時必須把原來已經正確傳送的數據幀重傳,是傳送效率降低。

設置單個確認,同時加大接收窗口,設置接收緩存,緩存亂序到達的幀。

SR發送方:

SR接收方:

發送窗口最好等於接收窗口。(大了會溢出,小了沒意義),即

傳輸數據使用的兩種鏈路

信道劃分介質訪問控制將使用介質的每個設備與來自同一通信信道上的其他設備的通信隔離開來,把時域和頻域資源合理地分配給網路上的設備。

當傳輸介質的帶寬超過傳輸單個信號所需的帶寬時,人們就通過在一條介質上同時攜帶多個傳輸信號的方法來提高傳輸系統的利用率,這就是所謂的多路復用,也是實現信道劃分介質訪問控制的途徑。多路復用技術把多個信號組合在一條物理信道上進行傳輸,使多個計算機或終端設備共享信道資源,提高了信道的利用率。信道劃分的實質就是通過分時、分頻、分碼等方法把原來的一條廣播信道,邏輯上分為幾條用於兩個結點之間通信的互不幹擾的子信道,實際上就是把廣播信道轉變為點對點信道。

頻分多路復用是一種將多路基帶信號調制到不同頻率載波上,再疊加形成一個復合信號的多路復用技術。在物理信道的可用帶寬超過單個原始信號所需帶寬的情況下,可將該物理信道的總帶寬分割成若千與傳輸單個信號帶寬相同(或略寬)的子信道,每個子信道傳輸一種信號,這就是頻分多路復用。

每個子信道分配的帶寬可不相同,但它們的總和必須不超過信道的總帶寬。在實際應用中,為了防止子信道之間的千擾,相鄰信道之間需要加入「保護頻帶」。頻分多路復用的優點在於充分利用了傳輸介質的帶寬,系統效率較高;由於技術比較成熟,實現也較容易。

時分多路復用是將一條物理信道按時間分成若干時間片,輪流地分配給多個信號使用。每個時間片由復用的一個信號佔用,而不像FDM那樣,同一時間同時發送多路信號。這樣,利用每個信號在時間上的交叉,就可以在一條物理信道上傳輸多個信號。

就某個時刻來看,時分多路復用信道上傳送的僅是某一對設備之間的信號:就某段時間而言,傳送的是按時間分割的多路復用信號。但由於計算機數據的突發性,一個用戶對已經分配到的子信道的利用率一般不高。統計時分多路復用(STDM,又稱非同步時分多路復用)是TDM 的一種改進,它採用STDM幀,STDM幀並不固定分配時隙,面按需動態地分配時隙,當終端有數據要傳送時,才會分配到時間片,因此可以提高線路的利用率。例如,線路傳輸速率為8000b/s,4個用戶的平均速率都為2000b/s,當採用TDM方式時,每個用戶的最高速率為2000b/s.而在STDM方式下,每個用戶的最高速率可達8000b/s.

波分多路復用即光的頻分多路復用,它在一根光纖中傳輸多種不同波長(頻率)的光信號,由於波長(頻率)不同,各路光信號互不幹擾,最後再用波長分解復用器將各路波長分解出來。由於光波處於頻譜的高頻段,有很高的帶寬,因而可以實現多路的波分復用

碼分多路復用是採用不同的編碼來區分各路原始信號的一種復用方式。與FDM和 TDM不同,它既共享信道的頻率,又共享時間。下面舉一個直觀的例子來理解碼分復用。

實際上,更常用的名詞是碼分多址(Code Division Multiple Access.CDMA),1個比特分為多個碼片/晶元( chip),每一個站點被指定一個唯一的m位的晶元序列,發送1時發送晶元序列(通常把o寫成-1) 。發送1時站點發送晶元序列,發送o時發送晶元序列反碼。

純ALOHA協議思想:不監聽信道,不按時間槽發送,隨機重發。想發就發

如果發生沖突,接收方在就會檢測出差錯,然後不予確認,發送方在一定時間內收不到就判斷發生沖突。超時後等一隨機時間再重傳。

時隙ALOHA協議的思想:把時間分成若干個相同的時間片,所有用戶在時間片開始時刻同步接入網路信道,若發生沖突,則必須等到下一個時間片開始時刻再發送。

載波監聽多路訪問協議CSMA(carrier sense multiple access)協議思想:發送幀之前,監聽信道。

堅持指的是對於監聽信道忙之後的堅持。

1-堅持CSMA思想:如果一個主機要發送消息,那麼它先監聽信道。

優點:只要媒體空閑,站點就馬上發送,避免了媒體利用率的損失。

缺點:假如有兩個或兩個以上的站點有數據要發送,沖突就不可避免。

非堅持指的是對於監聽信道忙之後就不繼續監聽。

非堅持CSMA思想:如果一個主機要發送消息,那麼它先監聽信道。

優點:採用隨機的重發延遲時間可以減少沖突發生的可能性。

缺點:可能存在大家都在延遲等待過程中,使得媒體仍可能處於空閑狀態,媒體使用率降低。

p-堅持指的是對於監聽信道空閑的處理。

p-堅持CSMA思想:如果一個主機要發送消息,那麼它先監聽信道。

優點:既能像非堅持演算法那樣減少沖突,又能像1-堅持演算法那樣減少媒體空閑時間的這種方案。

缺點:發生沖突後還是要堅持把數據幀發送完,造成了浪費。

載波監聽多點接入/碰撞檢測CSMA/CD(carrier sense multiple access with collision detection)

CSMA/CD的工作流程:

由圖可知,至多在發送幀後經過時間 就能知道所發送的幀有沒有發生碰撞。因此把乙太網端到端往返時間為 稱為爭周期(也稱沖突窗口或碰撞窗口)。

截斷二進制指數規避演算法:

最小幀長問題:幀的傳輸時延至少要兩倍於信號在匯流排中的傳播時延。

載波監聽多點接入/碰撞避免CSMA/CA(carrier sense multiple access with collision avoidance)其工作原理如下

CSMA/CD與CSMA/CA的異同點:

相同點:CSMA/CD與CSMA/CA機制都從屬於CSMA的思路,其核心是先聽再說。換言之,兩個在接入信道之前都須要進行監聽。當發現信道空閑後,才能進行接入。

不同點:

輪詢協議:主結點輪流「邀請」從屬結點發送數據。

令牌:一個特殊格式的MAC控制幀,不含任何信息。控制信道的使用,確保同一時刻只有一個結點獨占信道。每個結點都可以在一定的時間內(令牌持有時間)獲得發送數據的權利,並不是無限制地持有令牌。應用於令牌環網(物理星型拓撲,邏輯環形拓撲)。採用令牌傳送方式的網路常用於負載較重、通信量較大的網路中。

輪詢訪問MAC協議/輪流協議/輪轉訪問MAC協議:基於多路復用技術劃分資源。

隨機訪問MAC協議: 用戶根據意願隨機發送信息,發送信息時可獨占信道帶寬。 會發生沖突

信道劃分介質訪問控制(MAC Multiple Access Control )協議:既要不產生沖突,又要發送時佔全部帶寬。

區域網(Local Area Network):簡稱LAN,是指在某一區域內由多台計算機互聯成的計算機組,使用廣播信道。其特點有

決定區域網的主要要素為:網路拓撲,傳輸介質與介質訪問控制方法。

區域網的分類

IEEE 802標准所描述的區域網參考模型只對應OSI參考模型的數據鏈路層與物理層,它將數據鏈路層劃分為邏輯鏈路層LLC子層和介質訪問控制MAC子層。

乙太網(Ethernet)指的是由Xerox公司創建並由Xerox、Intel和DEC公司聯合開發的基帶匯流排區域網規范,是當今現有區域網採用的最通用的通信協議標准。乙太網絡使用CSMA/CD(載波監聽多路訪問及沖突檢測)技術。 乙太網只實現無差錯接收,不實現可靠傳輸。

乙太網兩個標准:

乙太網提供無連接、不可靠的服務

10BASE-T是傳送基帶信號的雙絞線乙太網,T表示採用雙絞線,現10BASE-T 採用的是無屏蔽雙絞線(UTP),傳輸速率是10Mb/s。

計算機與外界有區域網的連接是通過通信適配器的。

在區域網中,硬體地址又稱為物理地址,或MAC地址。MAC地址:每個適配器有一個全球唯一的48位二進制地址,前24位代表廠家(由IEEE規定),後24位廠家自己指定。常用6個十六進制數表示,如02-60-8c-e4-b1-21。

最常用的MAC幀是乙太網V2的格式。

IEEE 802.11是無線區域網通用的標准,它是由IEEE所定義的無線網路通信的標准。

廣域網(WAN,Wide Area Network),通常跨接很大的物理范圍,所覆蓋的范圍從幾十公里到幾千公里,它能連接多個城市或國家,或橫跨幾個洲並能提供遠距離通信,形成國際性的遠程網路。

廣域網的通信子網主要使用分組交換技術。廣域網的通信子網可以利用公用分組交換網、衛星通信網和無線分組交換網,它將分布在不同地區的區域網或計算機系統互連起來,達到資源共享的目的。如網際網路(Internet)是世界范圍內最大的廣域網。

點對點協議PPP(Point-to-Point Protocol)是目前使用最廣泛的數據鏈路層協議,用戶使用撥號電話接入網際網路時一般都使用PPP協議。 只支持全雙工鏈路。

PPP協議應滿足的要求

PPP協議的三個組成部分

乙太網交換機

沖突域:在同一個沖突域中的每一個節點都能收到所有被發送的幀。簡單的說就是同一時間內只能有一台設備發送信息的范圍。

廣播域:網路中能接收任一設備發出的廣播幀的所有設備的集合。簡單的說如果站點發出一個廣播信號,所有能接收收到這個信號的設備范圍稱為一個廣播域。

乙太網交換機的兩種交換方式:

直通式交換機:查完目的地址(6B)就立刻轉發。延遲小,可靠性低,無法支持具有不同速率的埠的交換。

存儲轉發式交換機:將幀放入高速緩存,並檢查否正確,正確則轉發,錯誤則丟棄。延遲大,可靠性高,可以支持具有不同速率的埠的交換。

8. 計算機網路知識點

一、計算機網路概述

1.1 計算機網路的分類

按照網路的作用范圍:廣域網(WAN)、城域網(MAN)、區域網(LAN);

按照網路使用者:公用網路、專用網路。

1.2 計算機網路的層次結構

TCP/IP四層模型與OSI體系結構對比:

1.3 層次結構設計的基本原則

各層之間是相互獨立的;

每一層需要有足夠的靈活性;

各層之間完全解耦。

1.4 計算機網路的性能指標

速率:bps=bit/s 時延:發送時延、傳播時延、排隊時延、處理時延 往返時間RTT:數據報文在端到端通信中的來回一次的時間。

二、物理層

物理層的作用:連接不同的物理設備,傳輸比特流。該層為上層協議提供了一個傳輸數據的可靠的物理媒體。簡單的說,物理層確保原始的數據可在各種物理媒體上傳輸。

物理層設備:

中繼器【Repeater,也叫放大器】:同一區域網的再生信號;兩埠的網段必須同一協議;5-4-3規程:10BASE-5乙太網中,最多串聯4個中繼器,5段中只能有3個連接主機;

集線器:同一區域網的再生、放大信號(多埠的中繼器);半雙工,不能隔離沖突域也不能隔離廣播域。

信道的基本概念:信道是往一個方向傳輸信息的媒體,一條通信電路包含一個發送信道和一個接受信道。

單工通信信道:只能一個方向通信,沒有反方向反饋的信道;

半雙工通信信道:雙方都可以發送和接受信息,但不能同時發送也不能同時接收;

全雙工通信信道:雙方都可以同時發送和接收。

三、數據鏈路層

3.1 數據鏈路層概述

數據鏈路層在物理層提供的服務的基礎上向網路層提供服務,其最基本的服務是將源自網路層來的數據可靠地傳輸到相鄰節點的目標機網路層。數據鏈路層在不可靠的物理介質上提供可靠的傳輸。

該層的作用包括: 物理地址定址、數據的成幀、流量控制、數據的檢錯、重發 等。

有關數據鏈路層的重要知識點:

數據鏈路層為網路層提供可靠的數據傳輸;

基本數據單位為幀;

主要的協議:乙太網協議;

兩個重要設備名稱:網橋和交換機。

封裝成幀:「幀」是 數據鏈路層 數據的基本單位:

透明傳輸:「透明」是指即使控制字元在幀數據中,但是要當做不存在去處理。即在控制字元前加上轉義字元ESC。

3.2 數據鏈路層的差錯監測

差錯檢測:奇偶校驗碼、循環冗餘校驗碼CRC

奇偶校驗碼–局限性:當出錯兩位時,檢測不到錯誤。

循環冗餘檢驗碼:根據傳輸或保存的數據而產生固定位數校驗碼。

3.3 最大傳輸單元MTU

最大傳輸單元MTU(Maximum Transmission Unit),數據鏈路層的數據幀不是無限大的,數據幀長度受MTU限制.

路徑MTU:由鏈路中MTU的最小值決定。

3.4 乙太網協議詳解

MAC地址:每一個設備都擁有唯一的MAC地址,共48位,使用十六進製表示。

乙太網協議:是一種使用廣泛的區域網技術,是一種應用於數據鏈路層的協議,使用乙太網可以完成相鄰設備的數據幀傳輸:

區域網分類:

Ethernet乙太網IEEE802.3:

乙太網第一個廣泛部署的高速區域網

乙太網數據速率快

乙太網硬體價格便宜,網路造價成本低

乙太網幀結構:

類型:標識上層協議(2位元組)

目的地址和源地址:MAC地址(每個6位元組)

數據:封裝的上層協議的分組(46~1500位元組)

CRC:循環冗餘碼(4位元組)

乙太網最短幀:乙太網幀最短64位元組;乙太網幀除了數據部分18位元組;數據最短46位元組;

MAC地址(物理地址、區域網地址)

MAC地址長度為6位元組,48位;

MAC地址具有唯一性,每個網路適配器對應一個MAC地址;

通常採用十六進製表示法,每個位元組表示一個十六進制數,用 - 或 : 連接起來;

MAC廣播地址:FF-FF-FF-FF-FF-FF。

四、網路層

網路層的目的是實現兩個端系統之間的數據透明傳送,具體功能包括定址和路由選擇、連接的建立、保持和終止等。數據交換技術是報文交換(基本上被分組所替代):採用儲存轉發方式,數據交換單位是報文。

網路層中涉及眾多的協議,其中包括最重要的協議,也是TCP/IP的核心協議——IP協議。IP協議非常簡單,僅僅提供不可靠、無連接的傳送服務。IP協議的主要功能有:無連接數據報傳輸、數據報路由選擇和差錯控制。

與IP協議配套使用實現其功能的還有地址解析協議ARP、逆地址解析協議RARP、網際網路報文協議ICMP、網際網路組管理協議IGMP。具體的協議我們會在接下來的部分進行總結,有關網路層的重點為:

1、網路層負責對子網間的數據包進行路由選擇。此外,網路層還可以實現擁塞控制、網際互連等功能;

2、基本數據單位為IP數據報;

3、包含的主要協議:

IP協議(Internet Protocol,網際網路互聯協議);

ICMP協議(Internet Control Message Protocol,網際網路控制報文協議);

ARP協議(Address Resolution Protocol,地址解析協議);

RARP協議(Reverse Address Resolution Protocol,逆地址解析協議)。

4、重要的設備:路由器。

路由器相關協議

4.1 IP協議詳解

IP網際協議是 Internet 網路層最核心的協議。虛擬互聯網路的產生:實際的計算機網路錯綜復雜;物理設備通過使用IP協議,屏蔽了物理網路之間的差異;當網路中主機使用IP協議連接時,無需關注網路細節,於是形成了虛擬網路。

IP協議使得復雜的實際網路變為一個虛擬互聯的網路;並且解決了在虛擬網路中數據報傳輸路徑的問題。

其中,版本指IP協議的版本,佔4位,如IPv4和IPv6;首部位長度表示IP首部長度,佔4位,最大數值位15;總長度表示IP數據報總長度,佔16位,最大數值位65535;TTL表示IP數據報文在網路中的壽命,佔8位;協議表明IP數據所攜帶的具體數據是什麼協議的,如TCP、UDP。

4.2 IP協議的轉發流程

4.3 IP地址的子網劃分

A類(8網路號+24主機號)、B類(16網路號+16主機號)、C類(24網路號+8主機號)可以用於標識網路中的主機或路由器,D類地址作為組廣播地址,E類是地址保留。

4.4 網路地址轉換NAT技術

用於多個主機通過一個公有IP訪問訪問互聯網的私有網路中,減緩了IP地址的消耗,但是增加了網路通信的復雜度。

NAT 工作原理:

從內網出去的IP數據報,將其IP地址替換為NAT伺服器擁有的合法的公共IP地址,並將替換關系記錄到NAT轉換表中;

從公共互聯網返回的IP數據報,依據其目的的IP地址檢索NAT轉換表,並利用檢索到的內部私有IP地址替換目的IP地址,然後將IP數據報轉發到內部網路。

4.5 ARP協議與RARP協議

地址解析協議 ARP(Address Resolution Protocol):為網卡(網路適配器)的IP地址到對應的硬體地址提供動態映射。可以把網路層32位地址轉化為數據鏈路層MAC48位地址。

ARP 是即插即用的,一個ARP表是自動建立的,不需要系統管理員來配置。

RARP(Reverse Address Resolution Protocol)協議指逆地址解析協議,可以把數據鏈路層MAC48位地址轉化為網路層32位地址。

4.6 ICMP協議詳解

網際控制報文協議(Internet Control Message Protocol),可以報告錯誤信息或者異常情況,ICMP報文封裝在IP數據報當中。

ICMP協議的應用:

Ping應用:網路故障的排查;

Traceroute應用:可以探測IP數據報在網路中走過的路徑。

4.7網路層的路由概述

關於路由演算法的要求:正確的完整的、在計算上應該盡可能是簡單的、可以適應網路中的變化、穩定的公平的。

自治系統AS: 指處於一個管理機構下的網路設備群,AS內部網路自治管理,對外提供一個或多個出入口,其中自治系統內部的路由協議為內部網關協議,如RIP、OSPF等;自治系統外部的路由協議為外部網關協議,如BGP。

靜態路由: 人工配置,難度和復雜度高;

動態路由:

鏈路狀態路由選擇演算法LS:向所有隔壁路由發送信息收斂快;全局式路由選擇演算法,每個路由器計算路由時,需構建整個網路拓撲圖;利用Dijkstra演算法求源端到目的端網路的最短路徑;Dijkstra(迪傑斯特拉)演算法

距離-向量路由選擇演算法DV:向所有隔壁路由發送信息收斂慢、會存在迴路;基礎是Bellman-Ford方程(簡稱B-F方程);

4.8 內部網關路由協議之RIP協議

路由信息協議 RIP(Routing Information Protocol)【應用層】,基於距離-向量的路由選擇演算法,較小的AS(自治系統),適合小型網路;RIP報文,封裝進UDP數據報。

RIP協議特性:

RIP在度量路徑時採用的是跳數(每個路由器維護自身到其他每個路由器的距離記錄);

RIP的費用定義在源路由器和目的子網之間;

RIP被限制的網路直徑不超過15跳;

和隔壁交換所有的信息,30主動一次(廣播)。

4.9 內部網關路由協議之OSPF協議

開放最短路徑優先協議 OSPF(Open Shortest Path First)【網路層】,基於鏈路狀態的路由選擇演算法(即Dijkstra演算法),較大規模的AS ,適合大型網路,直接封裝在IP數據報傳輸。

OSPF協議優點:

安全;

支持多條相同費用路徑;

支持區別化費用度量;

支持單播路由和多播路由;

分層路由。

RIP與OSPF的對比(路由演算法決定其性質):

4.10外部網關路由協議之BGP協議

BGP(Border Gateway Protocol)邊際網關協議【應用層】:是運行在AS之間的一種協議,尋找一條好路由:首次交換全部信息,以後只交換變化的部分,BGP封裝進TCP報文段.

五、傳輸層

第一個端到端,即主機到主機的層次。傳輸層負責將上層數據分段並提供端到端的、可靠的或不可靠的傳輸。此外,傳輸層還要處理端到端的差錯控制和流量控制問題。

傳輸層的任務是根據通信子網的特性,最佳的利用網路資源,為兩個端系統的會話層之間,提供建立、維護和取消傳輸連接的功能,負責端到端的可靠數據傳輸。在這一層,信息傳送的協議數據單元稱為段或報文。

網路層只是根據網路地址將源結點發出的數據包傳送到目的結點,而傳輸層則負責將數據可靠地傳送到相應的埠。

有關網路層的重點:

傳輸層負責將上層數據分段並提供端到端的、可靠的或不可靠的傳輸以及端到端的差錯控制和流量控制問題;

包含的主要協議:TCP協議(Transmission Control Protocol,傳輸控制協議)、UDP協議(User Datagram Protocol,用戶數據報協議);

重要設備:網關。

5.1 UDP協議詳解

UDP(User Datagram Protocol: 用戶數據報協議),是一個非常簡單的協議。

UDP協議的特點:

UDP是無連接協議;

UDP不能保證可靠的交付數據;

UDP是面向報文傳輸的;

UDP沒有擁塞控制;

UDP首部開銷很小。

UDP數據報結構:

首部:8B,四欄位/2B【源埠 | 目的埠 | UDP長度 | 校驗和】 數據欄位:應用數據

5.2 TCP協議詳解

TCP(Transmission Control Protocol: 傳輸控制協議),是計算機網路中非常復雜的一個協議。

TCP協議的功能:

對應用層報文進行分段和重組;

面向應用層實現復用與分解;

實現端到端的流量控制;

擁塞控制;

傳輸層定址;

對收到的報文進行差錯檢測(首部和數據部分都檢錯);

實現進程間的端到端可靠數據傳輸控制。

TCP協議的特點:

TCP是面向連接的協議;

TCP是面向位元組流的協議;

TCP的一個連接有兩端,即點對點通信;

TCP提供可靠的傳輸服務;

TCP協議提供全雙工通信(每條TCP連接只能一對一);

5.2.1 TCP報文段結構:

最大報文段長度:報文段中封裝的應用層數據的最大長度。

TCP首部:

序號欄位:TCP的序號是對每個應用層數據的每個位元組進行編號

確認序號欄位:期望從對方接收數據的位元組序號,即該序號對應的位元組尚未收到。用ack_seq標識;

TCP段的首部長度最短是20B ,最長為60位元組。但是長度必須為4B的整數倍

TCP標記的作用:

5.3 可靠傳輸的基本原理

基本原理:

不可靠傳輸信道在數據傳輸中可能發生的情況:比特差錯、亂序、重傳、丟失

基於不可靠信道實現可靠數據傳輸採取的措施:

差錯檢測:利用編碼實現數據包傳輸過程中的比特差錯檢測 確認:接收方向發送方反饋接收狀態 重傳:發送方重新發送接收方沒有正確接收的數據 序號:確保數據按序提交 計時器:解決數據丟失問題;

停止等待協議:是最簡單的可靠傳輸協議,但是該協議對信道的利用率不高。

連續ARQ(Automatic Repeat reQuest:自動重傳請求)協議:滑動窗口+累計確認,大幅提高了信道的利用率。

5.3.1TCP協議的可靠傳輸

基於連續ARQ協議,在某些情況下,重傳的效率並不高,會重復傳輸部分已經成功接收的位元組。

5.3.2 TCP協議的流量控制

流量控制:讓發送方發送速率不要太快,TCP協議使用滑動窗口實現流量控制。

5.4 TCP協議的擁塞控制

擁塞控制與流量控制的區別:流量控制考慮點對點的通信量的控制,而擁塞控制考慮整個網路,是全局性的考慮。擁塞控制的方法:慢啟動演算法+擁塞避免演算法。

慢開始和擁塞避免:

【慢開始】擁塞窗口從1指數增長;

到達閾值時進入【擁塞避免】,變成+1增長;

【超時】,閾值變為當前cwnd的一半(不能<2);

再從【慢開始】,擁塞窗口從1指數增長。

快重傳和快恢復:

發送方連續收到3個冗餘ACK,執行【快重傳】,不必等計時器超時;

執行【快恢復】,閾值變為當前cwnd的一半(不能<2),並從此新的ssthresh點進入【擁塞避免】。

5.5 TCP連接的三次握手(重要)

TCP三次握手使用指令:

面試常客:為什麼需要三次握手?

第一次握手:客戶發送請求,此時伺服器知道客戶能發;

第二次握手:伺服器發送確認,此時客戶知道伺服器能發能收;

第三次握手:客戶發送確認,此時伺服器知道客戶能收。

建立連接(三次握手):

第一次: 客戶向伺服器發送連接請求段,建立連接請求控制段(SYN=1),表示傳輸的報文段的第一個數據位元組的序列號是x,此序列號代表整個報文段的序號(seq=x);客戶端進入 SYN_SEND (同步發送狀態);

第二次: 伺服器發回確認報文段,同意建立新連接的確認段(SYN=1),確認序號欄位有效(ACK=1),伺服器告訴客戶端報文段序號是y(seq=y),表示伺服器已經收到客戶端序號為x的報文段,准備接受客戶端序列號為x+1的報文段(ack_seq=x+1);伺服器由LISTEN進入SYN_RCVD (同步收到狀態);

第三次: 客戶對伺服器的同一連接進行確認.確認序號欄位有效(ACK=1),客戶此次的報文段的序列號是x+1(seq=x+1),客戶期望接受伺服器序列號為y+1的報文段(ack_seq=y+1);當客戶發送ack時,客戶端進入ESTABLISHED 狀態;當服務收到客戶發送的ack後,也進入ESTABLISHED狀態;第三次握手可攜帶數據;

5.6 TCP連接的四次揮手(重要)

釋放連接(四次揮手)

第一次: 客戶向伺服器發送釋放連接報文段,發送端數據發送完畢,請求釋放連接(FIN=1),傳輸的第一個數據位元組的序號是x(seq=x);客戶端狀態由ESTABLISHED進入FIN_WAIT_1(終止等待1狀態);

第二次: 伺服器向客戶發送確認段,確認字型大小段有效(ACK=1),伺服器傳輸的數據序號是y(seq=y),伺服器期望接收客戶數據序號為x+1(ack_seq=x+1);伺服器狀態由ESTABLISHED進入CLOSE_WAIT(關閉等待);客戶端收到ACK段後,由FIN_WAIT_1進入FIN_WAIT_2;

第三次: 伺服器向客戶發送釋放連接報文段,請求釋放連接(FIN=1),確認字型大小段有效(ACK=1),表示伺服器期望接收客戶數據序號為x+1(ack_seq=x+1);表示自己傳輸的第一個位元組序號是y+1(seq=y+1);伺服器狀態由CLOSE_WAIT 進入 LAST_ACK (最後確認狀態);

第四次: 客戶向伺服器發送確認段,確認字型大小段有效(ACK=1),表示客戶傳輸的數據序號是x+1(seq=x+1),表示客戶期望接收伺服器數據序號為y+1+1(ack_seq=y+1+1);客戶端狀態由FIN_WAIT_2進入TIME_WAIT,等待2MSL時間,進入CLOSED狀態;伺服器在收到最後一次ACK後,由LAST_ACK進入CLOSED;

為什麼需要等待2MSL?

最後一個報文沒有確認;

確保發送方的ACK可以到達接收方;

2MSL時間內沒有收到,則接收方會重發;

確保當前連接的所有報文都已經過期。

六、應用層

為操作系統或網路應用程序提供訪問網路服務的介面。應用層重點:

數據傳輸基本單位為報文;

包含的主要協議:FTP(文件傳送協議)、Telnet(遠程登錄協議)、DNS(域名解析協議)、SMTP(郵件傳送協議),POP3協議(郵局協議),HTTP協議(Hyper Text Transfer Protocol)。

6.1 DNS詳解

DNS(Domain Name System:域名系統)【C/S,UDP,埠53】:解決IP地址復雜難以記憶的問題,存儲並完成自己所管轄范圍內主機的 域名 到 IP 地址的映射。

域名解析的順序:

【1】瀏覽器緩存,

【2】找本機的hosts文件,

【3】路由緩存,

【4】找DNS伺服器(本地域名、頂級域名、根域名)->迭代解析、遞歸查詢。

IP—>DNS服務—>便於記憶的域名

域名由點、字母和數字組成,分為頂級域(com,cn,net,gov,org)、二級域(,taobao,qq,alibaba)、三級域(www)(12-2-0852)

6.2 DHCP協議詳解

DHCP(Dynamic Configuration Protocol:動態主機設置協議):是一個區域網協議,是應用UDP協議的應用層協議。作用:為臨時接入區域網的用戶自動分配IP地址。

6.3 HTTP協議詳解

文件傳輸協議(FTP):控制連接(埠21):傳輸控制信息(連接、傳輸請求),以7位ASCII碼的格式。整個會話期間一直打開。

HTTP(HyperText Transfer Protocol:超文本傳輸協議)【TCP,埠80】:是可靠的數據傳輸協議,瀏覽器向伺服器發收報文前,先建立TCP連接,HTTP使用TCP連接方式(HTTP自身無連接)。

HTTP請求報文方式:

GET:請求指定的頁面信息,並返回實體主體;

POST:向指定資源提交數據進行處理請求;

DELETE:請求伺服器刪除指定的頁面;

HEAD:請求讀取URL標識的信息的首部,只返回報文頭;

OPETION:請求一些選項的信息;

PUT:在指明的URL下存儲一個文檔。

6.3.1 HTTP工作的結構

6.3.2 HTTPS協議詳解

HTTPS(Secure)是安全的HTTP協議,埠號443。基於HTTP協議,通過SSL或TLS提供加密處理數據、驗證對方身份以及數據完整性保護

原文地址:https://blog.csdn.net/Royalic/article/details/119985591

9. 計算機網路這門課程第三章數據鏈路層的知識點有哪些

計算機網路這門課第三章數據鏈路層的知識點包含章節導引,第一節定義和功能,第二節錯誤檢測和糾正,第三節基本的數據鏈路層協議,第四節滑動窗口協議,第五節常用的數據鏈路層協議,。

閱讀全文

與計算機網路鏈路層知識相關的資料

熱點內容
榮耀8xusb共享網路是灰色 瀏覽:950
在網路上怎麼連接華智冰 瀏覽:263
路由器為啥別人搜不到網路 瀏覽:208
網路用詞泥塑是什麼意思 瀏覽:662
網路監控哪個品質好 瀏覽:56
網路口碑哪個品牌好 瀏覽:704
如何檢測網路有什麼問題 瀏覽:804
鎮江高清網路攝像頭多少錢 瀏覽:526
裝網路機頂盒多少錢一個月 瀏覽:476
蘋果手機進群顯示網路出錯 瀏覽:186
電信手機怎麼調4g網路 瀏覽:889
藍牙互聯對方沒網路能傳送軟體嗎 瀏覽:734
打行動電話網路無法連接 瀏覽:282
網路怎麼樣修改可以快 瀏覽:657
哈佛f7網路卡在哪裡 瀏覽:441
網路安全在哪個城市就業 瀏覽:554
寬頻電信網路信號差怎麼辦 瀏覽:328
找茬網路版哪些 瀏覽:344
最便宜網路多少錢 瀏覽:59
數碼電視無線網路遙控器哪裡買 瀏覽:537

友情鏈接