首先我們要了解一下什么是網路,網路包括簡單的網路和由網路構成的互聯網。下面就介紹計算機網路中的資料鏈路層。
1、資料鏈路層使用的信道主要有以下兩種型別:
點對點信道,這種信道使用一對一的點對點通信方式。
廣播信道,這種信道使用一對多的廣播通信方式,因此程序比較復雜。廣播信道上連接的主機很多,因此必須使用專用的共享信道協議來協調這些資料發送。
我們看看資料鏈路層的簡單模型,如下圖所示:

可以看到圖中主機H1向H2發送資料的程序,需要注意的是:不同的鏈路層可能采用不同的資料鏈路層協議。
2、資料鏈路還有另外的術語,分為物理鏈路和邏輯鏈路。資料鏈路層傳輸的是幀,它就像個數字管道,常常在兩個對等的資料鏈路層之間畫出一個數字管道,而在管道上傳輸的單位就是幀。如下圖所示:

資料鏈路層不用考慮物理層如何實作位元傳輸的細節。甚至還可以更簡單地設想好像是沿著兩個資料鏈路層之間的水平方向把幀直接發送到對方。
資料鏈路層的協議有很多種,但有三個基本問題是共同的。這三個基本問題是:封裝成幀、透明傳輸、差錯控制。
? 封裝成幀
封裝成幀就是在一段資料的前后分別添加首部和尾部,然后就構成了一個幀。確定幀的界限。
首部和尾部的一個重要作用就是進行幀定界。如下圖所示:

當資料是由可列印的的ASCII碼組成的文本檔案時,幀定界是可以使用特殊的幀定界符。
幀開始符:SOH,幀結束符:EOT。
? 透明傳輸
如果資料中 某個位元組的二進制代碼恰好和SOH或EOT一樣,資料鏈路層就會錯誤地“找到幀的邊界”。
解決透明傳輸的方法:位元組填充或字符填充。發送端的資料鏈路層在資料中出現控制字符‘SOH’或“EOT”的前面插入一個轉義字符“ESC”(其十六制是1B)。接收端的資料鏈路層在將資料送往網路層之前洗掉插入的轉義字符。如果轉義字符也出現在資料當中,那么應在轉義字符前面插入一個轉義字符ESC。當接收端收到連續的兩個轉義字符時,就洗掉其中前面一個。
下面看個位元組填充法解決透明傳輸問題的例子,如下圖所示:

? 差錯檢測
在傳輸程序中可能會產生位元差錯:可能會變成0,而0也可能變成1。在一段時間內,傳輸錯誤的位元占所傳輸位元總數的比率稱為誤碼率BER。誤碼率和信噪比有很大關系。為了保證資料傳輸的可靠性,在計算機網路傳輸資料時,必須采用各種差錯檢測措施。
下面介紹一種檢測方法:回圈冗余法。
原理就是在發送端,先把資料劃分為組。假定沒組k個位元。
冗余碼計算的案例,如下圖所示:

以上就關于計算機網路中資料鏈路層的介紹,大家可以學習或參考。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/49832.html
標籤:非技術區
上一篇:使用matlab內置VGG16工具箱,訓練完成后怎么保存和加載模型?
下一篇:虛擬化基礎概念
