資料鏈路層的主要任務是將上層交付的資料構造成位元流,然後交給下面的物理層。主要研究在乙個區域網內,分組怎麼從乙個主機傳送到另外乙個主機。
位元流包括一些控制資訊和資料,基本單位是幀。
資料鏈路(data link) 除了物理線路外,還必須有通訊協議來控制這些資料的傳輸。若把實現這些協議的硬體和軟體加到鏈路上,就構成了資料鏈路。
資料鏈路層解決的3個問題:封裝成幀,透明傳輸,差錯檢測。
封裝成幀:在資料的前後新增首部尾部即構成幀。首尾的作用就是進行幀定界,同時也包括很多控制資訊。ip資料報就是資料部分,資料鏈路層對資料有乙個最大限制,mtu。幀首尾用soh(01h)eot(04h)標誌。
透明傳輸:透明傳輸指資料中的所有位元組合都可以通過封裝到幀中進行傳輸,由於在資料鏈路層使用了特定的位元組合作為幀定界標識,那麼在資料中就不允許再出現這樣的位元組合,否則就出現幀定界的錯誤。
用esc(1b)轉義字元解決這個問題。如果轉義字元也出現資料當中,那麼應在轉義字元前面再插入乙個轉義字元。當接收端收到連續的兩個轉義字元時,就刪除其中前面的乙個。 接收端的資料鏈路層在將資料送往網路層之前刪除插入的轉義字元,就得到了原始的資料。
差錯檢測:在傳輸過程中可能會產生位元差錯:1 可能會變成 0 而 0 也可能變成 1。
迴圈冗餘檢驗crc解決這樣的問題。
crc原理:
在資料後面新增冗餘碼。冗餘碼的計算,首先,用二進位制的模 2 運算進行 2n 乘 m 的運算,這相當於在 m 後面新增 n 個 0。得到的 (k + n) 位的數除以事先選定好的長度為 (n + 1) 位的除數 p,得出商是 q 而餘數是 r,餘數 r 比除數 p 少1 位,即 r 是 n 位。這個餘數r就作為冗餘碼,拼接在資料的後面傳送出去。
例::假設待傳送的一組資料 m = 101001(現在 k = 6)
現在 k = 6, m = 101001。
設 n = 3, 除數 p = 1101,
被除數是 2的n次方*m = 101001000。
模 2 運算的結果是:商 q = 110101,
餘數 r = 001。
把餘數 r 作為冗餘碼新增在資料 m 的後面傳送出去。傳送的資料是:2的n次方*m + r
即:101001001,共 (k + n) 位。
****這裡作商並不是普通的二進位制除法,作模二除法。
冗餘碼稱為幀檢驗序列 fcs (frame check sequence)。
crc 是一種常用的檢錯方法,而 fcs 是新增在資料後面的冗餘碼。
fcs 可以用 crc 這種方法得出,但 crc 並非用來獲得 fcs 的唯一方法。
接收端對收到的每一幀進行 crc 檢驗,接收端把收到的每一幀都除以同樣的除數p(模2 運算),然後檢查得到的餘數r
(1) 若得出的餘數 r = 0,則判定這個幀沒有差錯,就接受(accept)。
(2) 若餘數 r 0,則判定這個幀有差錯,就丟棄
主要使用的的通道:點對點通道和廣播通道。
點對點協議 ppp:
ppp協議的幀格式。
ppp協議解決透明傳輸問題的方法:1.當 ppp 用在同步傳輸鏈路時,協議規定採用硬體來完成位元填充。2.當 ppp 用在非同步傳輸時,就使用一種特殊的字元填充法。
ppp協議的工作狀態:
當使用者撥號接入 isp 時,路由器的數據機對撥號做出確認,並建立一條物理連線。
pc 機向路由器傳送一系列的 lcp(鏈路控制協議) 分組(封裝成多個 ppp 幀),這些分組及其響應選擇一些 ppp 引數,
然後進行網路層配置,ncp(網路控制協議) 給新接入的 pc機分配乙個臨時的 ip 位址,使 pc 機成為網際網路上的乙個主機。
通訊完畢時,ncp 釋放網路層連線,收回原來分配出去的 ip 位址
接著,lcp 釋放資料鏈路層連線。最後釋放的是物理層的連線。
廣播通道:區域網的資料鏈路層是一種典型的使用廣播通道的資料鏈路層。
區域網的資料鏈路層被拆成了兩個:
邏輯鏈路控制 llc (logical link control)子層
**接入控制 mac (medium access control)子層。
資料鏈路層
資料鏈路的定義 鏈路 計算機網路中相鄰節點的一段物理線路。資料鏈路 計算機網路中節點到節點相鄰的一段物理路線加上控制在這些路線上傳輸資料的協議。資料鏈路層解決的問題 對於計算機網路裡面的每一層,其實都是為了解決某乙個層面的問題而設計出來的,資料鏈路層也一樣 由於物理層只解決了訊號流在物理媒介的傳輸問...
資料鏈路層
首先撇清兩個概念 鏈路和資料鏈路。鏈路是指從乙個結點到另乙個結點的一段物理線路,而中間沒有任何其他的交換結點,在進行資料通訊時,兩個計算機之間的通訊路徑往往要經過許多段這樣的鏈路,可見鏈路只是一條路徑的組層部分,資料鏈路是除了一條物理鏈路外還需要加上一些必要的通訊協議來控制這些資料的傳輸。若把這些實...
資料鏈路層
資料鏈路的定義 鏈路 計算機網路中相鄰節點的一段物理線路。資料鏈路 計算機網路中節點到節點相鄰的一段物理路線加上控制在這些路線上傳輸資料的協議。資料鏈路層解決的問題 對於計算機網路裡面的每一層,其實都是為了解決某乙個層面的問題而設計出來的,資料鏈路層也一樣 由於物理層只解決了訊號流在物理媒介的傳輸問...