粉絲不過W
數據鏈路層:
結點:主機、路由器
鏈路:網絡中兩個結點之間的物理通道,鏈路的傳輸介質:雙絞線、光纖和微波,分爲有線鏈路、無線鏈路
數據鏈路:網絡中兩個結點之間的邏輯通道,把實現控制數據傳輸協議的硬件和軟件加到鏈路上就構成數據鏈路
幀:鏈路層的協議數據單元,封裝網絡層數據報
數據鏈路層:負責通過一條鏈路從一個結點向另一個物理鏈路直接相連的相鄰結點傳送數據報
鏈路層功能:
數據鏈路層在 物理層提供服務的基礎 上向網絡層提供服務,最基本的服務:將源自網絡層來的數據可靠地傳輸 到相鄰節點的目標機網絡層
主要作用:加強物理層傳輸原始比特流的功能,將物理層提供的可能出錯的物理連接 改造 成 邏輯上無差錯的數據鏈路,從而 對網絡層表現爲一條無差錯的鏈路
特點:
爲網絡層提供服務。無確認無連接服務,有確認無連接服務,有確認面向連接服務。有連接一定有確認
鏈路管理,即連接的建立、維持、釋放( 用於面向連接的服務 )
組幀
流量控制,限制發送方
差錯控制( 幀錯 / 位錯 )
封裝成幀:
封裝成幀:在一段數據的前後部分添加首部和尾部,構成一個幀
接收端在收到物理層上交的比特流後,就能根據首部和尾部的標記,從收到的比特流中識別幀的開始和結束
首部和尾部包含許多的控制信息,重要作用:幀定界( 確定幀的界限 )
幀同步:接收方從接收到的二進制比特流中 區分出 幀的起始和終止
組幀的四種方法:字符計數法、字符(節)填充法、零比特填充法、違規編碼法
透明傳輸
透明傳輸:不管所傳數據是什麼樣的比特組合,都應當能夠在鏈路上傳送
當傳輸的數據中的比特組合,恰巧與某一個控制信息一樣時,就必須採取適當的措施,使 收方不會將這樣的數據誤認爲是某種控制信息。 這樣才能保證數據鏈路層的傳輸是透明的
字符計數法:
幀首部使用一個計數字段( 第一個字節,八位 )來標明幀內字符數
字符填充法:
當傳送的幀是由文本文件組成時( 文本文件的字符都是從鍵盤上輸入的,都是ASC碼 ) 不管從鍵盤上輸入什麼字符都可以放在幀裏傳過去,即透明傳輸
當傳送的幀是由非ASCI碼的文本文件組成時( 二進制代碼的程序或圖像等 )。就要採用 字符填充 方法實現 透明傳輸
零比特填充法:
在發送端,掃描整個信息字段,只要連續5個1,就立即填入1個0
在接收端收到一個幀時,先找到標誌字段確定邊界,再用硬件對比特流進行掃描。發現連續5個1時,就把後面的0刪除
保證透明傳輸:在傳送的比特流中可以傳送任意比特組合,而不會引起對幀邊界的判斷錯誤
違規編碼法:
可用 “ 高-高 ” , “ 低-低 ” 來定界幀的起始和終止
由於字節計數法中 Count字段的脆弱性( 其值若有差錯將導致災難性後果 )
字符填充 實現的複雜性和不兼容性
一般使用的幀同步法:比特填充、違規編碼法
傳輸中的差錯都是由於噪聲引起
全局性:由於線路本身電氣特性所產生的隨機噪聲( 熱噪聲 ),是信道固有的,隨機存在的解決辦法:提高信噪比來減少或避免干擾(對傳感器下手)
局部性:外界特定的短暫原因所造成的衝擊噪聲,是產生差錯的主要原因解決辦法:通常利用編碼技術來解決
鏈路層爲網絡層提供服務:無確認無連接服務,有確認無連接服務,有確認面向連接服務
通信質量好:有線傳輸鏈路
通信質量差:無線傳輸鏈路
鏈路層的差錯控制:
冗餘編碼:
在數據發送之前,先按某種關係附加上一定的元餘位,構成一個符合某一規則的碼字後再發送
當發送的有效數據變化時,相應的冗餘位也隨之變化,使碼字遵從不變的規則
接收端根據收到碼字是否仍符合原規則,從而判斷是否出錯
數據鏈路層編碼和物理層的數據編碼與調製不同
物理層編碼針對的是單個比特,解決傳輸過程中比特的同步等問題,如:曼徹斯特編碼
數據鏈路層的編碼針對的是一組比特,它通過冗餘碼的技術實現一組二進制比特串在傳輸過程是否出現了差錯
檢錯編碼——奇偶校驗碼
奇偶校驗碼特點:只能檢查出奇數個比特錯誤,檢錯能力爲50%
檢錯編碼——CRC循環冗餘碼
最終發送的數據:要發送的數據 + 幀檢驗序列FCS
計算冗餘碼:
加0
假設生成多項式G(x)的階爲r,則加r個0
模2除法
數據加0後 除以多項式,餘數爲冗餘碼 / FCSCRC檢驗碼的比特序列
TIPS:多項式N位,階爲N - 1
異或:同0 異11
接收端檢錯過程
把收到的每一個幀都除以同樣的除數,然後檢查得到的餘數R
餘數 = 0:這個幀沒有差錯,接受
餘數 != 0:這個幀有差錯(無法確定到位),丟棄
FCS的生成、接收端CRC檢驗:硬件實現,處理很迅速,因不會延誤數據的傳輸