數據鏈路層

數據鏈路層


一、鏈路層概述

運行鏈路層協議的設備稱爲結點,相鄰結點間的通信信道稱爲鏈路,數據被封裝在鏈路層幀中.

鏈路層提供的服務

  • 成幀(framing)
  • 鏈路接入 媒體訪問控制(Medium Access Control,MAC)協議規定了幀在鏈路上的傳輸規則。
  • 可靠交付
  • 差錯檢測和糾正

鏈路層在何處實現

鏈路層的主體部分是在網絡適配器(network adapter)上實現的,網絡適配器有時也稱作網絡接口卡。位於網絡適配器核心的是鏈路層控制器,該控制器通常是一個實現了許多鏈路層服務(成幀、鏈路接入、差錯檢測等)的專用芯片。因此,鏈路層的許多功能是由硬件實現的。

二、差錯檢測和糾正技術

奇偶校驗

在偶校驗方案中,發送方只需包含一個附加的比特,選擇它的值,使得數據中的1的總數是偶數。奇校驗中,選擇校驗比特使得有奇數個1.
在二維奇偶校驗中,通過檢測出現比特差錯的行和列定位到發生差錯的比特並糾正

檢驗和方法

在檢驗和技術中,d比特數據被作爲一個k比特整數序列處理。一個簡單的檢驗和方法就是將這k比特整數加起來,並且用所得到的和作爲差錯檢測比特。

因特網檢驗和就是基於這種方法,即數據的字節作爲16比特的整數對待並求和。這個和的飯碼形成了攜帶在報文段首部的因特網檢驗和。接收方通過對接受的數據(包括檢驗和)的和取反碼,並且檢測其結果是否全爲1比特來檢測檢驗和。如果這些比特中有任何比特是0,就可以指示出差錯。

循環冗餘檢測

考慮d比特的數據D, 發送節點要將它發送給接收節點, 首先協商一個 r+1 比特模式, 將其表示爲G, 要求G的最高位爲1. CRC編碼的思想如下:

對於要傳輸的數據D, 其含有d比特數據, , 發送方要選擇 r 個附加比特, 將它們附加到D上, 使得這 d+r 比特能恰好被 G 整除.

如此, 用CRC進行差錯檢測的過程爲: 接收方用 G 去除接收到的 d+r 比特, 如果餘數爲零, 則正確接收; 反之餘數不爲零, 則說明出現了差錯.


三、多路訪問鏈路和協議

數據鏈路層使用的信道主要有兩種類型:點對點鏈路廣播鏈路

點對點鏈路:由鏈路的一端單個發送方和鏈路的另一端的單個接收方組成

廣播鏈路:能讓多個發送方和接收點都連接到相同的、單一的、共享的廣播信道上。

多路訪問問題:如何協調多個發送和接收點對一個共享廣播信道的訪問。

多路訪問協議:結點通過這些協議來規範他們在共享的廣播信道上的傳輸行爲。有三類多路訪問協議:信道劃分協議隨機接入協議輪流協議

信道劃分協議

時分多路複用(TDM)

TDM將時間劃分爲時間幀,並進一步劃分每個時間幀爲N時隙。然後把每個時隙分配給N個結點中的一個。結點只能在每個時間幀分給其的時隙內發送數據。

TDM的特點是,每個結點在每個幀時間內得到了專用的傳輸速率R/N bps。每個結點被限制與R/N bps的平均速率,結點總是等待它在傳輸序列中的輪次

頻分多路複用(FDM)

FDM將R bps信道劃分爲 N 個不同的頻段(每個頻段具有 R/N 帶寬),並把每個頻率分配給 N 個結點中的一個。
FDM也公平地劃分了帶寬,但每個結點的帶寬也最多爲 R/N

碼分多址(CDMA)

CDMA爲每個結點分配一種不同的編碼。每個結點用它唯一的編碼來對它發送的數據進行編碼,不同結點能夠同時傳輸。


隨機接入協議

在隨機接入協議中,一個傳輸結點總是以信道的全部速率進行發送。當有碰撞時,涉及碰撞的每個結點反覆地重發它的幀,直到無碰撞地通過爲止。在一個結點經歷一次碰撞後,不必立即重新發送,而是等待一個隨機時延。因爲每個幀是獨立選擇隨機時延的,因此有機率能夠無碰撞地將它的幀在信道中發出。

1. 時隙ALOHA

簡單點來說就是,信道中的每個結點按照一定的時隙發送數據,發生碰撞後,在下一個時隙以概率 p 重新發送,再遇到碰撞,再在下一個時隙以概率 p 重發,重複這個過程,直到沒有碰撞發生,數據順利發出。
當有N 個活躍結點時,時隙 ALOHA 的效率是 Np(1p)N1

2. ALOHA

在純 ALOHA 協議中,當一幀首次到達(即一個網絡層數據報在發送節點從網絡層傳遞下來),結點立刻將該幀完整地傳輸進廣播信道。如果一個幀與其他幀發生了碰撞,這個結點將立即以概率 p 重傳,或者以概率 (1-p)在另一個幀時間等待。一個結點成功傳輸一次的概率是p(1p)2(N1) .

3. 載波偵聽多路訪問(CSMA)

載波偵聽:幾個結點在傳輸前先聽信道。如果來自另一個結點的幀正在向信道上發送,結點則等待, 直到檢測到一小段時間沒有傳輸,然後開始傳輸。

4. 具有碰撞檢測的載波偵聽多路訪問(CSMA/CD)

碰撞檢測:即當一個傳輸結點在傳輸時一直在偵聽此信道。如果它檢測到另一個結點正在傳輸干擾幀,他就停止傳輸,在重複“偵聽-當空閒時傳輸”循環之前等待一段隨機時間。流程:

1. 網絡適配器從網絡層獲取一條數據報, 準備鏈路層幀, 並將其放入幀適配器緩存中
2. 如果監聽到信道空閒, 開始傳輸幀; 如果監聽到信道忙, 則等待, 直到信道空閒.
3. 傳輸過程中, 適配器始終監聽信道, 如果始終沒有來自其他適配器的信號能量, 則將幀順利發送; 一旦監聽到有其他信號能量, 立即中止傳輸;
4. 中止傳輸後, 適配器等待隨機時間量, 然後繼續步驟2.

輪流協議

輪詢協議:主結點能夠通過觀察在信道上是否缺乏信號,來決定一個結點何時完成了幀的發送。主結點依次向其他結點發送報文,告訴其能傳輸的幀的最多數量。主結點以循環的方式輪詢了每個節點。

輪詢協議消除了困擾隨機接入協議的碰撞和空時隙,但是有兩個缺點:

  1. 當只有一個結點活躍時,其傳輸速率小於R,因爲主結點必須輪詢所有其他結點;
  2. 主結點一旦有故障,整個信道變得不可操作。

令牌傳遞協議:一個稱爲令牌的小的特殊幀在結點之間以某種固定的次序進行交換。當一個結點收到令牌時,僅當它有幀要發送時才持有令牌,否則立即向下一個結點轉發令牌。缺點:當一個結點故障時可能導致整個信道的崩潰;一個結點忘記釋放令牌,必須調用某些恢復步驟使令牌返回到循環中來。


四、交換局域網

工作在鏈路層的交換機稱爲 鏈路層交換機; 工作在網絡層的交換機稱爲 路由器;

路由器使用IP地址轉發IP數據報

鏈路層交換機使用鏈路層地址MAC轉發鏈路層幀

鏈路層尋址和 ARP

1. MAC地址

MAC地址長度6個字節,由 IEEE 分配:固定一個 MAC 地址的前24比特,讓公司自己爲每個適配器生成後24比特的唯一組合。 因此每個適配器所擁有的MAC地址是唯一的.

某適配器要向某些目的適配器發送一個幀時,發送適配器將目的適配器的MAC地址插入到該幀中,並將該幀發送到局域網上。

一個鏈路層幀中包含一個目的MAC地址, 當一個適配器收到一個幀時, 檢查其目的MAC地址是否和自己的地址一致, 然後將數據取出移交上層, 否則丟棄.而對於廣播地址則是照單全收.

MAC廣播地址: 48個bit全爲 1

2. **地址解析協議ARP

地址解析協議 ARP 完成網絡層地址(如 IP 地址)和鏈路層地址(MAC 地址)之間的轉換。

每臺主機或者路由器在其內存中具有一個 ARP 表,這張表包含 IP 地址到 MAC 地址的映射關係。

1. 假設主機1發送一個數據報,但是 ARP 表中沒有目的主機的 MAC 地址,這時發送方構造一個稱爲 ARP 分組的特殊分組,包括髮送和接受主機的 IP 地址和發送主機的 MAC 地址。
2. 發送主機的適配器在鏈路層幀中封裝這個 ARP 分組,用 MAC 廣播地址(FF-FF-FF-FF-FF-FF)發送這個幀。
3. 目的主機收到該 ARP 分組後,將自己的 MAC 地址封裝進一個 ARP 分組發送給發送主機1(具有確定的MAC地址).

注意, ARP 表中的表項是有期限的, 不同系統和設備擁有不同的期限值, 並且此值可以進行修改

以太網

1. 以太網幀結構

|——–|——–|——|—-|:–:|:-:|—|
|前同步碼|目的地址|源地址|類型|數據|…|CRC|

以太網技術都想網絡層提供不可靠服務,特別是當適配器B收到一個來自適配器A的幀,其對該幀執行 CRC校驗,但是不管當該幀是否通過校驗,適配器B都不會發送確認幀。

2. 鏈路層交換機

交換機轉發和過濾

交換機的過濾和轉發藉助於交換機表完成,表項包含

地址 接口 時間
62-FE-F6-11-98-A3 1 9:32

假定地址爲 add (DD-DD-DD-DD-DD-DD)的幀從交換機接口 x 到達,交換機用 MAC 地址索引他的表,有三種可能的情況:

1. 表中沒有對於 add 的表項。在這種情況下,交換機向除接口 $x$ 外的所有接口前面的輸出緩存轉發該幀的副本。換言之,如果沒有對於目的地址的表項,交換機廣播該幀。

2. 表中有一個表項將 add 與接口 $x$ 聯繫起來。在這種情況下,該幀從包括適配器 MAC 地址的局域網來,無需將該幀轉發到任何接口,交換機通過丟棄該幀執行過濾功能。

3. 表中有一個表項將地址 add 與接口 $y \neq x$ 聯繫起來。這種情況下,該幀被轉發到 $y$ 接口相連的局域網網段。交換機通過將該幀放倒接口 $y$ 前面的輸出緩存完成轉發功能。

自學習

交換機是自學習的,通過以下方式實現:

  • 交換機表初始爲空
  • 對於每個接口接收到的入幀,交換機在表中存儲:1,幀源 MAC 地址;2,幀到達的接口;3,當前時間
  • 一段時間後,交換機沒有接受到以該地址作爲源地址的幀,就在表中刪除這個地址

鏈路層交換機的性質

  • 消除碰撞
  • 異質的鏈路
  • 管理

交換機和路由器的比較

集線器 路由器 交換機
流量隔離
即插即用
優化路由

虛擬局域網

支持 VLAN 的交換機允許經一個單一的物理局域網雞翅設施定義多個虛擬局域網。
在一個基於端口的 VLAN 中,交換機的端口由網絡管理員劃分爲組。每個組構成一個 VLAN 每個 VLAN 中的端口形成一個廣播域.


鏈路虛擬化:網絡作爲鏈路層

多協議標籤交換(MPLS)

多協議標籤交換的目標是:對於基於固定長度標籤和虛電路的技術,在不放棄基於目的地 IP 數據報轉發的基礎設施的前提下,當可能時通過選擇性地表示數據報並允許路由器基於固定長度的標籤(而不是目的地 IP 地址)轉發數據報來增強其功能。

MPLS幀結構

PPP或以太網首部 MPLS首部 IP首部 鏈路層幀的其餘部分

MPLS 首部字段包括:標籤;3 比特的實驗字段;單比特 S 字段用於指示一系列“成棧”的 MPLS 首部的結束;以及壽命字段

標籤   實驗 S TTL

一個MPLS加強的幀僅能在兩個均爲 MPLS 使能的路由器之間發送。一個 MPLS 使能的路由器常被稱爲標籤交換路由器,因爲它通過在其轉發表中查找 MPLS 標籤,然後立即將數據報傳遞給適合的輸出接口來轉發 MPLS 幀。因此, MPLS 使能的路由器不需要提取目的 IP 地址和在轉發表中執行最長前綴匹配查找。

MPLS 真正的優點在於 MPLS 使能的新的流量管理能力。IP 路由選擇只會指定單一最小費用的路徑,而 MPLS 提供了沿着多條路由轉發分組的能力。。網絡運行者能夠超越普通的 IP 路由選擇,迫使某些流量沿着一條路徑朝着某給定的目的地引導,並且朝着相同目的地的其他流量沿着另一條路徑流動。

發佈了29 篇原創文章 · 獲贊 12 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章