資料鏈路層

2021-09-05 11:58:00 字數 3401 閱讀 9853

紫色代表一級目錄

粉紅代表二級目錄

藍色代表**目錄

紅色代表關鍵字

橙色代表說明

資料鏈路層

點對點通道。這種通道使用一對一的點對點通訊方式。

廣播通道。這種通道使用一對多的廣播通訊方式,因此過程比較複雜。廣播通道上連線的主機很多,因此必須使用專用的共享通道協議來協調這些主機的資料傳送。

使用點對點通道的資料鏈路層

鏈路(link):是一條無源的點到點的物理線路段,中間沒有任何其他的交換結點。

一條鏈路只是一條通路的乙個組成部分。

資料鏈路(data link) :除了物理線路外,還必須有通訊協議來控制這些資料的傳輸。若把實現這些協議的硬體和軟體加到鏈路上,就構成了資料鏈路。

現在最常用的方法是使用介面卡(即網絡卡)來實現這些協議的硬體和軟體。

一般的介面卡都包括了資料鏈路層和物理層這兩層的功能。

資料鏈路層傳輸的是幀。

早期的資料通訊協議曾叫作通訊規程(procedure)。因此在資料鏈路層,規程和協議是同義語。

三個基本問題

封裝成幀

封裝成幀(framing)就是在一段資料的前後分別新增首部和尾部,然後就構成了乙個幀。確定幀的界限。

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

透明傳輸(資料部分出現eot)

解決透明傳輸問題

位元組填充或字元填充

1、傳送端的資料鏈路層在資料中出現控制字元「soh」或「eot」的前面插入乙個轉義字元「esc」(其十六進製制編碼是 1b)。

2、接收端的資料鏈路層在將資料送往網路層之前刪除插入的轉義字元。

3、如果轉義字元也出現資料當中,那麼應在轉義字元前面插入乙個轉義字元。當接收端收到連續的兩個轉義字元時,就刪除其中前面的乙個。

差錯控制

幀檢驗序列 fcs——在資料後面新增上的冗餘碼稱為幀檢驗序列 fcs (frame check sequence)。

fcs 可以用各種不同的檢錯碼方法計算得出,例如 crc、網際校驗和等。

接收端對收到的每一幀,運用和傳送端使用的相同演算法進行檢驗。

watch out:

僅用差錯檢測技術只能做到無差錯接受(accept)。

「無差錯接受」是指:「凡是接受的幀(即不包括丟棄的幀),我們都能以非常接近於 1 的概率認為這些幀在傳輸過程中沒有產生差錯」。

也就是說:「凡是接收端資料鏈路層接受的幀都沒有傳輸差錯」(有差錯的幀就丟棄而不接受)。

要做到「可靠傳輸」(即傳送什麼就收到什麼)就必須再加上確認和重傳機制。(這就是為什麼tcp可靠的原因)

點對點協議 ppp

早期(使用點對點鏈路)的廣域網通訊線路質量差,需要使用可靠的資料鏈路層協議,hdlc協議是當時主要應用的數鏈層協議。

現在全世界使用得最多的資料鏈路層協議是點對點協議ppp (point-to-point protocol)。該協議比hdlc簡單得多。

使用者使用撥號**線接入網際網路時,一般都是使用 ppp 協議。

ppp 協議應滿足的需求

簡單——這是首要的要求

封裝成幀

透明性多種網路層協議

多種型別鏈路

差錯檢測

檢測連線狀態

最大傳送單元

網路層位址協商

資料壓縮協商(這裡的協商讓我想到telnet的協商)

ppp 協議不需要的功能

糾錯流量控制

序號多點線路

半雙工或單工鏈路

ppp 協議的組成

乙個將 ip 資料報封裝到ppp幀的方法 。支援幀定界、差錯檢測。(記住,並不是差錯控制或處理)

鏈路控制協議 lcp (link control protocol)。 啟動、測試、關閉線路,協商引數。支援同步和非同步線路。

網路控制協議 ncp (network control protocol)。用於協商網路層選項。

ppp協議的幀格式

標誌字段 f = 0x7e (符號「0x」表示後面的字元是用十六進製制表示。十六進製制的 7e 的二進位制表示是 01111110)。

位址字段 a 只置為 0xff。位址字段實際上並不起作用。

控制字段 c 通常置為 0x03。

ppp 是面向位元組的,所有的 ppp 幀的長度都是整數位元組。

協議字段

當協議欄位為 0x0021 時,ppp 幀的資訊字段就是ip 資料報。

若為 0xc021, 則資訊欄位是ppp 鏈路控制資料。

若為 0x8021,則表示這是網路控制資料。

當 ppp 用在非同步傳輸時,就使用一種特殊的字元填充法。

字元填充

將資訊欄位中出現的每乙個 0x7e 位元組轉變成為 2 位元組序列(0x7d, 0x5e)。

若資訊欄位中出現乙個 0x7d 的位元組, 則將其轉變成為 2 位元組序列(0x7d, 0x5d)。

若資訊欄位中出現 ascii 碼的控制字元(即數值小於 0x20 的字元),則在該字元前面要加入乙個 0x7d 位元組,同時將該字元的編碼加以改變。

ppp 協議用在 sonet/sdh 鏈路時,是使用同步傳輸(一連串的位元連續傳送)。

在資料鏈路層出現差錯的概率不大時,使用比較簡單的 ppp 協議較為合理。

在網際網路環境下,ppp 的資訊字段放入的資料是 ip 資料報。資料鏈路層的可靠傳輸並不能夠保證網路層的傳輸也是可靠的。

幀檢驗序列 fcs 欄位可保證無差錯接收。

ppp 協議的工作過程

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

pc 機向路由器傳送一系列的 lcp 分組(封裝在多個 ppp 幀的資料域中),這些分組及其應答會選擇一些使用的 ppp 引數(如mtu,不使用位址和控制字段,等等)。

雙方傳送一系列ncp分組,進行網路層配置。通常,ncp 給新接入的 pc機分配乙個臨時的 ip 位址,使 pc 機成為網際網路上的乙個主機。

pc機傳送和接收 ip 分組。

通訊完畢,ncp 釋放網路層連線,收回原來分配出去的 ip 位址。接著,lcp 釋放資料鏈路層連線。最後釋放的是物理層的連線。

資料鏈路層

資料鏈路的定義 鏈路 計算機網路中相鄰節點的一段物理線路。資料鏈路 計算機網路中節點到節點相鄰的一段物理路線加上控制在這些路線上傳輸資料的協議。資料鏈路層解決的問題 對於計算機網路裡面的每一層,其實都是為了解決某乙個層面的問題而設計出來的,資料鏈路層也一樣 由於物理層只解決了訊號流在物理媒介的傳輸問...

資料鏈路層

首先撇清兩個概念 鏈路和資料鏈路。鏈路是指從乙個結點到另乙個結點的一段物理線路,而中間沒有任何其他的交換結點,在進行資料通訊時,兩個計算機之間的通訊路徑往往要經過許多段這樣的鏈路,可見鏈路只是一條路徑的組層部分,資料鏈路是除了一條物理鏈路外還需要加上一些必要的通訊協議來控制這些資料的傳輸。若把這些實...

資料鏈路層

資料鏈路層的主要任務是將上層交付的資料構造成位元流,然後交給下面的物理層。主要研究在乙個區域網內,分組怎麼從乙個主機傳送到另外乙個主機。位元流包括一些控制資訊和資料,基本單位是幀。資料鏈路 data link 除了物理線路外,還必須有通訊協議來控制這些資料的傳輸。若把實現這些協議的硬體和軟體加到鏈路...