小白學TCP/IP(三)數據鏈路層篇

數據鏈路層

數據鏈路層位於物理層與網絡層之間,其設計的初衷就是順利爲同一數據鏈路內的主機提供數據服務,不考慮可靠性,可靠性的部分由傳輸層的TCP協議實現.

數據鏈路層在網絡傳遞中的地位


假設在通信的過程中需要通過路由器的話,那麼數據的具體流動過程就像下面圖中箭頭的示意:

其中路由器負責路由轉發,需要知道目標主機IP地址,因此需要最高到網絡層進行IP協議的分析;

我們也可以在邏輯上將整個通信過程看成是兩端數據鏈路層之間點對點的通信:

數據鏈路基本問題


數據鏈路層的協議有很多種,但有三個基本的問題是共同的,那就是:封裝成幀、透明傳輸和差錯控制。

1. 封裝成幀

將網絡層傳下來的分組添加首部和尾部,用於標記幀的開始和結束

2. 透明傳輸

透明傳輸 : 提供任何數據輸入,數據鏈路層都可以成功傳輸,即數據鏈路層的功能對於網絡層和上層都是透明的.

幀使用首部和尾部進行定界,如果幀的數據部分含有和首部尾部相同的內容,那麼幀的開始和結束位置就會被錯誤的判定。需要在數據部分出現首部尾部相同的內容前面插入轉義字符。如果數據部分出現轉義字符,那麼就在轉義字符前面再加個轉義字符。在接收端進行處理之後可以還原出原始數據。
這個過程透明傳輸的內容是轉義字符,用戶察覺不到轉義字符的存在。
在這裏插入圖片描述

3. 差錯控制

現實的通信鏈路都不會是理想的,這就是說,傳輸過程中有可能1變成0,0變成1,這種情況就叫做比特差錯。

數據鏈路層提供了循環冗餘檢驗CRC方法來檢測比特差錯,其主要使用了幀尾的幀檢驗序列FCS來檢測比特錯誤。發送數據前先計算幀的數據部分得出FCS添加在數據部分後面,接收端收到數據幀後取出FCS進行計算驗證。

MAC地址


MAC 地址是鏈路層地址,長度爲 6 字節(48 位),用於唯一標識網絡適配器(網卡)。

一臺主機擁有多少個網絡適配器就有多少個 MAC 地址。例如筆記本電腦普遍存在無線網絡適配器和有線網絡適配器,因此就有兩個 MAC 地址。

PPP協議


PPP(Point-to-Point Protocol)是值點對點,即1對1連接計算機,屬於純粹的數據鏈路協議,僅有PPP是無法實現通信的,還需要物理層的支持.
而像以太網和FDDI不僅與數據鏈路層有關,還與物理層有關.
PPP 的幀格式:

PPP的幀格式:

  1. F 字段爲幀的定界符
  2. A 和 C 字段暫時沒有意義
  3. FCS 字段是使用 CRC 的檢驗序列
  4. 信息部分的長度不超過 1500

在這裏插入圖片描述

以太網

以太網(英語:Ethernet)是一種計算機局域網技術。IEEE組織的IEEE 802.3標準制定了以太網的技術標準,它規定了包括物理層的連線、電子信號和介質訪問層協議的內容。以太網是目前應用最普遍的局域網技術,取代了其他局域網標準如令牌環、FDDI和ARCNET。

以太網是一種星型拓撲結構局域網。

早期使用集線器進行連接,集線器是一種物理層設備, 作用於比特而不是幀,當一個比特到達接口時,集線器重新生成這個比特,並將其能量強度放大,從而擴大網絡的傳輸距離,之後再將這個比特發送到其它所有接口。如果集線器同時收到兩個不同接口的幀,那麼就發生了碰撞。

目前以太網使用交換機替代了集線器,交換機是一種鏈路層設備,它不會發生碰撞,能根據 MAC 地址進行存儲轉發。

以太網幀格式


在這裏插入圖片描述

  • 目標MAC地址: 目標工作站的物理地址
  • 源MAC地址: 構成以太網幀的發送端工作站的物理地址
  • 類型: 上層協議類型
  • FCS(Frame Check Sequence): 幀檢驗序列,檢查幀是否被損壞
  • 前同步碼: 只是爲了計算 FCS 臨時加入的,計算結束之後會丟棄。

交換機


以太網交換機是基於以太網傳輸數據的交換機.
以太網交換機的結構是每個端口都直接與主機相連,並且一般都工作在全雙工方式。交換機能同時連通許多對端口,使每一對相互通信的主機都能像獨佔通信媒體那樣,進行無衝突地傳輸數據。

交換機自學習能力
交換機學習的是交換表的內容,交換表中存儲着 MAC 地址到交換機端口的映射。

正是由於這種自學習能力,因此交換機是一種即插即用設備,不需要網絡管理員手動配置交換表內容。

下圖中,交換機有 4 個接口,主機 A 向主機 B 發送數據幀時,交換機把主機 A 到接口 1 的映射寫入交換表中。爲了發送數據幀到 B,先查交換表,此時沒有主機 B 的表項,那麼主機 A 就發送廣播幀,主機 C 和主機 D 會丟棄該幀。主機 B 向主機 A 發送數據包時,交換機查找交換表得到主機 A 映射的接口爲 1,就發送數據幀到接口 1,同時交換機添加主機 B 到接口 3 的映射。
在這裏插入圖片描述

虛擬局域網


虛擬局域網可以建立與物理位置無關的邏輯組,只有在同一個虛擬局域網中的成員纔會收到鏈路層廣播信息。

例如下圖中 (A1, A2, A3, A4) 屬於一個虛擬局域網,A1 發送的廣播會被 A2、A3、A4 收到,而其它站點收不到。

使用 VLAN 幹線連接來建立虛擬局域網,每臺交換機上的一個特殊接口被設置爲幹線接口,以互連 VLAN 交換機。IEEE 定義了一種擴展的以太網幀格式 802.1Q,它在標準以太網幀上加進了 4 字節首部 VLAN 標籤,用於表示該幀屬於哪一個虛擬局域網。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章