數據鏈路層概述

  數據鏈路層爲計算機網絡七層模型中的第二層,同物理層一併構成了TCP/IP協議的四層結構的第一層——網絡接口層編程

 

數據鏈路層解決的問題

封裝成幀

  幀是數據鏈路層的基本單位網絡

  在數據鏈路層中,發送端會在網絡層的一段數據先後添加特性標記變成「幀」,而接收端則會識別出這個「幀」編程語言

  通常過程以下:計算機網絡

  1.數據鏈路層得到網絡層傳輸的IP數據報,接口

  2.以後,數據鏈路層把這個數據當作是「幀」的數據,並在首尾添加特定的標記ip

  可是,若是在數據中也有和添加的標記同樣的內容,該如何處理呢?路由

透明傳輸

  這裏的透明,能夠理解成「雖然存在,可是當作不存在」it

  數據鏈路層中,會把原始的數據內部出現的幀標記添加轉義字符,使得其與標記區分開(例如編程語言中的\io

差錯檢測

  因爲物理層只管傳輸比特流,而無論傳輸的對錯(例如受到干擾而致使傳輸出錯),所以數據鏈路層擔負起了差錯檢測的任務效率

  這裏的檢測包括奇偶校驗碼以及循環冗餘校驗碼CRC(數據鏈路層採用的差錯檢驗的方法)兩種

奇偶校驗碼

  在比特流的尾部添加一個比特位來檢測比特流是否出錯

  若是比特位所有相加奇數,末尾加1,偶數加0,這樣能夠結合奇偶校驗碼來判斷數據的正誤

  可是,若是數據變化比較巧妙(有偶數位出現錯誤),也符合奇偶校驗碼,那就沒法檢驗出錯誤了

循環冗餘校驗碼CRC

  這種方法是根據傳輸/保存的數據來產生固定位數的校驗碼,從而檢測錯誤

  這裏也是生成數字,而後附加到數據後面,不一樣的數據校驗碼不一樣,保證了數據和校驗碼的一一匹配

 

最大傳輸單元MTU

  因爲數據鏈路層能夠傳輸的「幀」也不是無限大的,最大值就是最大傳輸單元(Maximum Transmition Unit)

  MTU一方面是受低層物理層影響,另外一方面,數據幀的大小影響着傳輸的效率

  以太網的MTU通常爲1500字節

路徑MTU

  在網絡傳輸的過程當中,不一樣路徑可能MTU不同,這時取其中最小值做爲路徑MTU

 

以太網協議

  以太網協議是數據鏈路層的一個協議(實際上規定了物理層數據鏈路層,也就是網絡接口層),一種普遍使用的局域網技術,能夠用來完成相鄰設備的數據幀傳輸

MAC地址

  即物理地址/硬件地址,全世界全部設備都有自身惟一特有的MAC地址(相似於身份證)

  MAC地址有48位,一般用十六進制表示,例如30-B4-9E-4D-55-6A

  能夠在命令提示符中用ipconfig/all指令查看本機全部物理設備的MAC地址

數據格式

  以太網的數據格式分爲目的地址(6字節)、源地址(6字節)、類型(2字節)、幀數據(46-1500字節)以及CRC(4字節)

  這裏的類型指的是幀數據是什麼協議的數據(這裏的協議指的是網絡層的)

MAC地址表

  MAC地址表存在於以太網協議中,用來把數據格式最開始的目的地址同一個硬件接口作關聯,這樣就能夠知道哪一個數據發往哪裏了

  但若是路由器中沒有存某個硬件接口呢?

  路由器就會把數據發往除了發送端之外的全部主機,等待迴應,而後根據迴應,記錄下MAC地址表中沒有的硬件端口

  但若是要跨設備傳輸(例如經過路由器,發往下一個路由器鏈接的主機),則須要利用網絡層的協議

相關文章
相關標籤/搜索