【計算機網路】謝希仁筆記 資料鏈路層

local0發表於2021-09-09

大綱

圖片描述

一、基礎

1.資料鏈路使用的通道

資料鏈路層使用的通道主要有以下兩種型別:

  • 點對點通道。這種通道使用一對一的點對點通訊方式。

  • 廣播通道。這種通道使用一對多的廣播通訊方式,因此過程比較複雜。廣播通道上連線的主機很多,因此必須使用專用的共享通道協議來協調這些主機的資料傳送。 

2.資料鏈路的簡單模型

圖片描述

圖片描述


二、使用點對點通道的資料鏈路層

1.資料鏈路和幀

鏈路 (link) 是一條無源的點到點的物理線路段,中間沒有任何其他的交換結點。

  • 一條鏈路只是一條通路的一個組成部分。

資料鏈路 (data link) 除了物理線路外,還必須有通訊協議來控制這些資料的傳輸。若把實現這些協議的硬體和軟體加到鏈路上,就構成了資料鏈路。

  • 現在最常用的方法是使用介面卡(即網路卡)來實現這些協議的硬體和軟體。

  • 一般的介面卡都包括了資料鏈路層和物理層這兩層的功能。   

也有人採用另外的術語。這就是把鏈路分為物理鏈路和邏輯鏈路。
物理鏈路就是上面所說的鏈路。
邏輯鏈路就是上面的資料鏈路,是物理鏈路加上必要的通訊協議。
早期的資料通訊協議曾叫做通訊規程 (procedure)。因此在資料鏈路層,規程和協議是同義語。

資料鏈路層傳送的是幀

圖片描述


數字鏈路層像一個數字管道

常常在兩個對等的資料鏈路層之間畫出一個數字管道,而在這條數字管道上傳輸的資料單位是幀。

圖片描述
資料鏈路層不必考慮物理層如何實現位元傳輸的細節。甚至還可以更簡單地設想好像是沿著兩個資料鏈路層之間的水平方向把幀直接傳送到對方。


2.三個基本問題

資料鏈路層協議有許多種,但有三個基本問題則是共同的。這三個基本問題是:
1. 封裝成幀
2. 透明傳輸
3. 差錯控制 

(一)封裝成幀

封裝成幀 (framing) 就是在一段資料的前後分別新增首部和尾部,然後就構成了一個幀。確定幀的界限。
首部和尾部的一個重要作用就是進行幀定界。  

圖片描述

用控制字元進行幀定界的方法舉例 

當資料是由可列印的 ASCII 碼組成的文字檔案時,幀定界可以使用特殊的幀定界符
控制字元 SOH (Start Of Header) 放在一幀的最前面,表示幀的首部開始。另一個控制字元 EOT (End Of Transmission) 表示幀的結束。

圖片描述



(二)透明傳輸

如果資料中的某個位元組的二進位制程式碼恰好和 SOH 或 EOT 一樣,資料鏈路層就會錯誤地“找到幀的邊界”。


圖片描述

解決透明傳輸問題:

  • 解決方法:位元組填充 (byte stuffing) 或字元填充 (character stuffing)。

  • 傳送端的資料鏈路層在資料中出現控制字元“SOH”或“EOT”的前面插入一個跳脫字元“ESC” (其十六進位制編碼是 1B)。

  • 接收端的資料鏈路層在將資料送往網路層之前刪除插入的跳脫字元。

  • 如果跳脫字元也出現在資料當中,那麼應在跳脫字元前面插入一個跳脫字元 ESC。當接收端收到連續的兩個跳脫字元時,就刪除其中前面的一個。 

用位元組填充法解決透明傳輸的問題 :

圖片描述

(三)差錯控制 

  • 在傳輸過程中可能會產生位元差錯:1 可能會變成 0 而 0 也可能變成 1。

  • 在一段時間內,傳輸錯誤的位元佔所傳輸位元總數的比率稱為誤位元速率 BER (Bit Error Rate)。

  • 誤位元速率與訊雜比有很大的關係。

  • 為了保證資料傳輸的可靠性,在計算機網路傳輸資料時,必須採用各種差錯檢測措施。 

迴圈冗餘檢驗的原理 

在資料鏈路層傳送的幀中,廣泛使用了迴圈冗餘檢驗 CRC 的檢錯技術。
在傳送端,先把資料劃分為組。假定每組 k 個位元。 
假設待傳送的一組資料 M = 101001(現在 k = 6)。我們在 M 的後面再新增供差錯檢測用的 n 位冗餘碼一起傳送。  

冗餘碼的計算 

  1. 用二進位制的模 2 運算進行 2n 乘 M 的運算,這相當於在 M 後面新增 n 個 0。

  2. 得到的 (k + n) 位的數除以事先選定好的長度為 (n + 1) 位的除數 P,得出商是 Q 而餘數是 R,餘數 R 比除數 P 少 1 位,即 R 是 n 位。 

  3. 將餘數 R 作為冗餘碼拼接在資料 M 後面傳送出去。

冗餘碼的計算舉例 

現在 k = 6, M = 101001。
設 n = 3, 除數 P = 1101,
被除數是 2nM = 101001000。 
模 2 運算的結果是:商 Q = 110101,
           餘數 R = 001。
把餘數 R 作為冗餘碼新增在資料 M 的後面傳送出去。傳送的資料是:2nM + R 
   即:101001001,共 (k + n) 位。 

迴圈冗餘檢驗的原理說明 

圖片描述


幀檢驗序列 FCS 

在資料後面新增上的冗餘碼稱為幀檢驗序列 FCS (Frame Check Sequence)。


迴圈冗餘檢驗 CRC 和幀檢驗序列 FCS 並不等同。

  • CRC 是一種常用的檢錯方法,而 FCS 是新增在資料後面的冗餘碼。

  • FCS 可以用 CRC 這種方法得出,但 CRC 並非用來獲得 FCS 的唯一方法。  

接收端對收到的每一幀進行 CRC 檢驗 

(1) 若得出的餘數 R = 0,則判定這個幀沒有差錯,就接受 (accept)。
(2) 若餘數 R  0,則判定這個幀有差錯,就丟棄。
但這種檢測方法並不能確定究竟是哪一個或哪幾個位元出現了差錯。
只要經過嚴格的挑選,並使用位數足夠多的除數 P,那麼出現檢測不到的差錯的機率就很小很小。 

注意

  • 僅用迴圈冗餘檢驗 CRC 差錯檢測技術只能做到無差錯接受 (accept)。

  • “無差錯接受”是指:“凡是接受的幀(即不包括丟棄的幀),我們都能以非常接近於 1 的機率認為這些幀在傳輸過程中沒有產生差錯”。

  • 也就是說:“凡是接收端資料鏈路層接受的幀都沒有傳輸差錯”(有差錯的幀就丟棄而不接受)。

  • 要做到“可靠傳輸”(即傳送什麼就收到什麼)就必須再加上確認和重傳機制。  

  • 應當明確,“無位元差錯”與“無傳輸差錯”是不同的概念。

  • 在資料鏈路層使用 CRC 檢驗,能夠實現無位元差錯的傳輸,但這還不是可靠傳輸。

  • 本章介紹的資料鏈路層協議都不是可靠傳輸的協議。

三,點對點協議 PPP

(一)PPP 協議的特點

對於點對點的鏈路,目前使用得最廣泛的資料鏈路層協議是點對點協議 PPP (Point-to-Point Protocol)。
使用者使用撥號電話線接入網際網路時, 使用者計算機和 ISP 進行通訊時所使用的資料鏈路層協議就是 PPP 協議。
PPP 協議在1994年就已成為網際網路的正式標準。

使用者到 ISP 的鏈路使用 PPP 協議 

圖片描述

1. PPP 協議應滿足的需求:

  • 簡單 —— 這是首要的要求。

  • 封裝成幀 —— 必須規定特殊的字元作為幀定界符。

  • 透明性 —— 必須保證資料傳輸的透明性。

  • 多種網路層協議 —— 能夠在同一條物理鏈路上同時支援多種網路層協議。

  • 多種型別鏈路 —— 能夠在多種型別的鏈路上執行。

  • 差錯檢測 —— 能夠對接收端收到的幀進行檢測,並立即丟棄有差錯的幀。

  • 檢測連線狀態 —— 能夠及時自動檢測出鏈路是否處於正常工作狀態。

  • 最大傳送單元 —— 必須對每一種型別的點對點鏈路設定最大傳送單元  MTU 的標準預設值,促進各種實現之間的互操作性。

  • 網路層地址協商 —— 必須提供一種機制使通訊的兩個網路層實體能夠透過協商知道或能夠配置彼此的網路層地址。

  • 資料壓縮協商 —— 必須提供一種方法來協商使用資料壓縮演算法。


2. PPP 協議不需要的功能

  • 糾錯 

  • 流量控制 

  • 序號 

  • 多點線路 

  • 半雙工或單工鏈路 

3. PPP 協議的組成 

PPP 協議有三個組成部分:
(1) 一個將 IP 資料包封裝到序列鏈路的方法。
(2) 鏈路控制協議 LCP (Link Control Protocol)。
(3) 網路控制協議 NCP (Network Control Protocol)。   


(二) PPP 協議的幀格式

PPP 幀的首部和尾部分別為 4 個欄位和 2 個欄位。
標誌欄位 F = 0x7E (符號“0x”表示後面的字元是用十六進位制表示。十六進位制的 7E 的二進位制表示是 01111110)。
地址欄位 A 只置為 0xFF。地址欄位實際上並不起作用。
控制欄位 C 通常置為 0x03。
PPP 是面向位元組的,所有的 PPP 幀的長度都是整數字節。

PPP 協議的幀格式

圖片描述

PPP 有一個 2 個位元組的協議欄位。其值

  • 若為 0x0021,則資訊欄位就是 IP 資料包。

  • 若為 0x8021,則資訊欄位是網路控制資料。

  • 若為 0xC021,則資訊欄位是 PPP 鏈路控制資料。

  • 若為 0xC023,則資訊欄位是鑑別資料。

透明傳輸問題:

當 PPP 用在同步傳輸鏈路時,協議規定採用硬體來完成位元填充(和 HDLC 的做法一樣)。 
當 PPP 用在非同步傳輸時,就使用一種特殊的字元填充法。 

字元填充 

  • 將資訊欄位中出現的每一個 0x7E 位元組轉變成為 2 位元組序列 (0x7D, 0x5E)。 

  • 若資訊欄位中出現一個 0x7D 的位元組, 則將其轉變成為 2 位元組序列 (0x7D, 0x5D)。

  • 若資訊欄位中出現 ASCII 碼的控制字元(即數值小於 0x20 的字元),則在該字元前面要加入一個 0x7D 位元組,同時將該字元的編碼加以改變。  

零位元填充 

  • PPP 協議用在 SONET/SDH 鏈路時,使用同步傳輸(一連串的位元連續傳送)。這時 PPP 協議採用零位元填充方法來實現透明傳輸。

  • 在傳送端,只要發現有 5 個連續 1,則立即填入一個 0。

  • 接收端對幀中的位元流進行掃描。每當發現 5 個連續1時,就把這 5 個連續 1 後的一個 0 刪除。

圖片描述

不提供使用序號和確認的可靠傳輸 

PPP 協議之所以不使用序號和確認機制是出於以下的考慮:

  • 在資料鏈路層出現差錯的機率不大時,使用比較簡單的 PPP 協議較為合理。

  • 在因特網環境下,PPP 的資訊欄位放入的資料是 IP  資料包。資料鏈路層的可靠傳輸並不能夠保證網路層的傳輸也是可靠的。

  • 幀檢驗序列 FCS 欄位可保證無差錯接受。


(三)PPP 協議的工作狀態

當使用者撥號接入 ISP 時,路由器的調變解調器對撥號做出確認,並建立一條物理連線。
PC 機向路由器傳送一系列的 LCP 分組(封裝成多個 PPP 幀)。
這些分組及其響應選擇一些 PPP 引數,並進行網路層配置,NCP 給新接入的 PC 機分配一個臨時的 IP 地址,使 PC 機成為因特網上的一個主機。
通訊完畢時,NCP 釋放網路層連線,收回原來分配出去的 IP 地址。接著,LCP 釋放資料鏈路層連線。最後釋放的是物理層的連線。
可見,PPP 協議已不是純粹的資料鏈路層的協議,它還包含了物理層和網路層的內容。


圖片描述



四,使用廣播通道的資料鏈路層

(一)區域網的資料鏈路層

區域網最主要的特點是:

  • 網路為一個單位所擁有;

  • 地理範圍和站點數目均有限。 

區域網具有如下主要優點:

  • 具有廣播功能,從一個站點可很方便地訪問全網。區域網上的主機可共享連線在區域網上的各種硬體和軟體資源。 

  • 便於系統的擴充套件和逐漸地演變,各裝置的位置可靈活調整和改變。

  • 提高了系統的可靠性、可用性和殘存性。

區域網拓撲結構:

圖片描述

媒體共享技術

靜態劃分通道

  • 分頻多工

  • 分時多工

  • 波長分波多工

  • 碼分複用 

動態媒體接入控制(多點接入)

  • 隨機接入

  • 受控接入 ,如多點線路探詢 (polling),或輪詢。

1.  乙太網的兩個標準  

DIX Ethernet V2 是世界上第一個區域網產品(乙太網)的規約。
IEEE 802.3 是第一個 IEEE 的乙太網標準。
DIX Ethernet V2 標準與 IEEE 的 802.3 標準只有很小的差別,因此可以將 802.3 區域網簡稱為“乙太網”。
嚴格說來,“乙太網”應當是指符合 DIX Ethernet V2 標準的區域網 。 

資料鏈路層的兩個子層 

為了使資料鏈路層能更好地適應多種區域網標準,IEEE 802 委員會就將區域網的資料鏈路層拆成兩個子層:

  • 邏輯鏈路控制 LLC (Logical Link Control)子層;

  • 媒體接入控制 MAC (Medium Access Control)子層。

與接入到傳輸媒體有關的內容都放在 MAC子層,而 LLC 子層則與傳輸媒體無關。
不管採用何種協議的區域網,對 LLC 子層來說都是透明的。

區域網對 LLC 子層是透明的 :

圖片描述

一般不考慮 LLC 子層 

  • 由於 TCP/IP 體系經常使用的區域網是 DIX Ethernet V2 而不是 802.3 標準中的幾種區域網,因此現在 802 委員會制定的邏輯鏈路控制子層 LLC(即 802.2 標準)的作用已經不大了。

  • 很多廠商生產的介面卡上就僅裝有 MAC 協議而沒有 LLC 協議。 

2.  介面卡的作用  

網路介皮膚又稱為通訊介面卡 (adapter) 或網路介面卡 NIC (Network Interface Card),或“網路卡”。 
介面卡的重要功能:

  • 進行序列/並行轉換。

  • 對資料進行快取。

  • 在計算機的作業系統安裝裝置驅動程式。

  • 實現乙太網協議。  

計算機透過介面卡和區域網進行通訊:

圖片描述
(二)CSMA/CD 協議

最初的乙太網是將許多計算機都連線到一根匯流排上。當初認為這樣的連線方法既簡單又可靠,因為匯流排上沒有有源器件。 


圖片描述

乙太網採用廣播方式傳送 

  • 匯流排上的每一個工作的計算機都能檢測到 B 傳送的資料訊號。 

  • 由於只有計算機 D 的地址與資料幀首部寫入的地址一致,因此只有 D 才接收這個資料幀。 

  • 其他所有的計算機(A, C 和 E)都檢測到不是傳送給它們的資料幀,因此就丟棄這個資料幀而不能夠收下來。

  • 在具有廣播特性的匯流排上實現了一對一的通訊。  

乙太網採取了兩種重要的措施 

為了通訊的簡便,乙太網採取了兩種重要的措施:
(1) 採用較為靈活的無連線的工作方式

  • 不必先建立連線就可以直接傳送資料。

  • 對傳送的資料幀不進行編號,也不要求對方發回確認。

  • 這樣做的理由是區域網通道的質量很好,因通道質量產生差錯的機率是很小的。 

  • 乙太網提供的服務是不可靠的交付,即盡最大努力的交付。

  • 當目的站收到有差錯的資料幀時就丟棄此幀,其他什麼也不做。差錯的糾正由高層來決定。

  • 如果高層發現丟失了一些資料而進行重傳,但乙太網並不知道這是一個重傳的幀,而是當作一個新的資料幀來傳送。  

(2) 乙太網傳送的資料都使用曼徹斯特 (Manchester) 編碼
曼徹斯特編碼缺點是:它所佔的頻頻寬度比原始的基帶訊號增加了一倍。


圖片描述

CSMA/CD協議 :

CSMA/CD 含義:載波監聽多點接入 / 碰撞檢測  (Carrier Sense Multiple Access with Collision Detection) 。
多點接入”表示許多計算機以多點接入的方式連線在一根匯流排上。
載波監聽”是指每一個站在傳送資料之前先要檢測一下匯流排上是否有其他計算機在傳送資料,如果有,則暫時不要傳送資料,以免發生碰撞。 
匯流排上並沒有什麼“載波”。因此, “載波監聽”就是用電子技術檢測匯流排上有沒有其他計算機傳送的資料訊號。

1.碰撞檢測

“碰撞檢測”就是計算機邊傳送資料邊檢測通道上的訊號電壓大小。
當幾個站同時在匯流排上傳送資料時,匯流排上的訊號電壓擺動值將會增大(互相疊加)。
當一個站檢測到的訊號電壓擺動值超過一定的門限值時,就認為匯流排上至少有兩個站同時在傳送資料,表明產生了碰撞。
所謂“碰撞”就是發生了衝突。因此“碰撞檢測”也稱為“衝突檢測”。


2.檢測到碰撞後

在發生碰撞時,匯流排上傳輸的訊號產生了嚴重的失真,無法從中恢復出有用的資訊來。
每一個正在傳送資料的站,一旦發現匯流排上出現了碰撞,就要立即停止傳送,免得繼續浪費網路資源,然後等待一段隨機時間後再次傳送。

為什麼要進行碰撞檢測?

  • 由於電磁波在匯流排上的傳播速率是有限的,當某個站監聽到匯流排是空閒時,也可能匯流排並非真正是空閒的。 

  • A 向 B 發出的資訊,要經過一定的時間後才能傳送到 B。

  • B 若在 A 傳送的資訊到達 B 之前傳送自己的幀 (因為這時 B 的載波監聽檢測不到 A 所傳送的資訊),則必然要在某個時間和 A 傳送的幀發生碰撞。

  • 碰撞的結果是兩個幀都變得無用。

  • 所以需要在傳送期間進行碰撞檢測,以檢測衝突。  

訊號傳播時延對載波監聽的影響 

圖片描述

總的來看:

圖片描述

CSMA/CD 重要特性

  • 使用 CSMA/CD 協議的乙太網不能進行全雙工通訊而只能進行雙向交替通訊(半雙工通訊)

  • 每個站在傳送資料之後的一小段時間內,存在著遭遇碰撞的可能性。 

  • 這種傳送的不確定性使整個乙太網的平均通訊量遠小於乙太網的最高資料率。  

爭用期

  • 最先傳送資料幀的站,在傳送資料幀後至多經過時間 2r(兩倍的端到端往返時延)就可知道傳送的資料幀是否遭受了碰撞。

  • 乙太網的端到端往返時延 2r稱為爭用期,或碰撞視窗

  • 經過爭用期這段時間還沒有檢測到碰撞,才能肯定這次傳送不會發生碰撞。

二進位制指數型別退避演算法 (truncated binary exponential type)

發生碰撞的站在停止傳送資料後,要推遲(退避)一個隨機時間才能再傳送資料。
基本退避時間取為爭用期 2r。
從整數集合 [0, 1, … , (2的k次方 -1)] 中隨機地取出一個數,記為 r。重傳所需的時延就是 r 倍的基本退避時間。
引數 k 按下面的公式計算:
                 k = Min[重傳次數, 10]
當 k 小於等於 10 時,引數 k 等於重傳次數。
當重傳達 16 次仍不能成功時即丟棄該幀,並向高層報告。 

爭用期的長度 

  • 10 Mbit/s 乙太網取 51.2 s 為爭用期的長度。

  • 對於 10 Mbit/s 乙太網,在爭用期內可傳送 512 bit,即 64 位元組。

這意味著:
乙太網在傳送資料時,若前 64 位元組沒有發生衝突,則後續的資料就不會發生衝突。


最短有效幀長 

如果發生衝突,就一定是在傳送的前 64 位元組之內。 
由於一檢測到衝突就立即中止傳送,這時已經傳送出去的資料一定小於 64 位元組。 
乙太網規定了最短有效幀長為 64 位元組,凡長度小於 64 位元組的幀都是由於衝突而異常中止的無效幀

強化碰撞 

當傳送資料的站一旦發現發生了碰撞時:
(1) 立即停止傳送資料;
(2) 再繼續傳送若干位元的人為干擾訊號  (jamming signal),以便讓所有使用者都知道現在已經發生了碰撞。  

人為干擾訊號 

圖片描述

CSMA/CD協議的要點

(1) 準備傳送。但在傳送之前,必須先檢測通道。
(2) 檢測通道。若檢測到通道忙,則應不停地檢測,一直等待通道轉為空閒。若檢測到通道空閒,並在 96 位元時間內通道保持空閒(保證了幀間最小間隔),就傳送這個幀。
(3) 檢查碰撞。在傳送過程中仍不停地檢測通道,即網路介面卡要邊傳送邊監聽。這裡只有兩種可能性

  • ①傳送成功:在爭用期內一直未檢測到碰撞。這個幀肯定能夠傳送成功。傳送完畢後,其他什麼也不做。然後回到 (1)。

  • ②傳送失敗:在爭用期內檢測到碰撞。這時立即停止傳送資料,並按規定傳送人為干擾訊號。介面卡接著就執行指數退避演算法,等待 r 倍 512 位元時間後,返回到步驟 (2),繼續檢測通道。但若重傳達 16 次仍不能成功,則停止重傳而向上報錯。


(三)使用集線器的星形拓撲

  • 傳統乙太網最初是使用粗同軸電纜,後來演進到使用比較便宜的細同軸電纜,最後發展為使用更便宜和更靈活的雙絞線。

  • 採用雙絞線的乙太網採用星形拓撲,在星形的中心則增加了一種可靠性非常高的裝置,叫做集線器 (hub)。

使用集線器的雙絞線乙太網 

圖片描述

星形乙太網 10BASE-T 

  • 使用無遮蔽雙絞線,採用星形拓撲。

  • 每個站需要用兩對雙絞線,分別用於傳送和接收。

  • 雙絞線的兩端使用 RJ-45 插頭。

  • 集線器使用了大規模積體電路晶片,因此集線器的可靠性提高。 

  • 10BASE-T 的通訊距離稍短,每個站到集線器的距離不超過 100 m。

10BASE-T 乙太網在區域網中的統治地位

  • 這種 10 Mbit/s 速率的無遮蔽雙絞線星形網的出現,既降低了成本,又提高了可靠性。 具有很高的價效比。

  • 10BASE-T 雙絞線乙太網的出現,是區域網發展史上的一個非常重要的里程碑,它為乙太網在區域網中的統治地位奠定了牢固的基礎。

  • 從此乙太網的拓撲就從匯流排形變為更加方便的星形網路,而乙太網也就在區域網中佔據了統治地位。 

集線器的一些特點 

(1) 集線器是使用電子器件來模擬實際電纜線的工作,因此整個系統仍然像一個傳統的乙太網那樣執行。 

(2) 使用集線器的乙太網在邏輯上仍是一個匯流排網,各工作站使用的還是 CSMA/CD 協議,並共享邏輯上的匯流排。 

(3) 集線器很像一個多介面的轉發器,工作在物理層

(4) 集線器採用了專門的晶片,進行自適應串音回波抵消,減少了近端串音。

具有三個介面的集線器 

圖片描述



(四)乙太網的通道利用率

多個站在乙太網上同時工作就可能會發生碰撞。
當發生碰撞時,通道資源實際上是被浪費了。因此,當扣除碰撞所造成的通道損失後,乙太網總的通道利用率並不能達到 100%。
假設r 是乙太網單程端到端傳播時延。則爭用期長度為 2r,即端到端傳播時延的兩倍。檢測到碰撞後不傳送干擾訊號。
設幀長為 L (bit),資料傳送速率為 C (bit/s),則幀的傳送時間為  T0 = L/C (s)。 

乙太網通道被佔用的情況

一個站在傳送幀時出現了碰撞。經過一個爭用期 2 後,可能又出現了碰撞。這樣經過若干個爭用期後,一個站傳送成功了。假定傳送幀需要的時間是 T0。
圖片描述


乙太網通道被佔用的情況

注意到,成功傳送一個幀需要佔用通道的時間是 T0 +r,比這個幀的傳送時間要多一個單程端到端時延r。
這是因為當一個站傳送完最後一個位元時,這個位元還要在乙太網上傳播。
在最極端的情況下,傳送站在傳輸媒體的一端,而位元在媒體上傳輸到另一端所需的時間是r 。

引數 α 與利用率

要提高乙太網的通道利用率,就必須減小 r與 T0 之比。
在乙太網中定義了引數 α,它是乙太網單程端到端時延 r與幀的傳送時間 T0 之比: 
圖片描述

圖片描述

對乙太網引數 α 的要求

為提高利用率,乙太網的引數a的值應當儘可能小些。
對乙太網引數 α 的要求是:

  • 當資料率一定時,乙太網的連線的長度受到限制,否則 r 的數值會太大。

  • 乙太網的幀長不能太短,否則 T0 的值會太小,使 α 值太大。 

通道利用率的最大值 Smax 

  • 在理想化的情況下,乙太網上的各站傳送資料都不會產生碰撞(這顯然已經不是 CSMA/CD,而是需要使用一種特殊的排程方法),即匯流排一旦空閒就有某一個站立即傳送資料。

  • 傳送一幀佔用線路的時間是 T0 + r,而幀本身的傳送時間是 T0。於是我們可計算出理想情況下的極限通道利用率 Smax 為: 

圖片描述

圖片描述


(五)乙太網的 MAC 層

重點介紹:
1.  MAC 層的硬體地址
2.  MAC 幀的格式

1.  MAC 層的硬體地址 

在區域網中,硬體地址又稱為實體地址,或 MAC 地址。 
802 標準所說的“地址”嚴格地講應當是每一個站的“名字”或識別符號。 
但鑑於大家都早已習慣了將這種 48 位的“名字”稱為“地址”,所以本書也採用這種習慣用法,儘管這種說法並不太嚴格。

請注意,如果連線在區域網上的主機或路由器安裝有多個介面卡,那麼這樣的主機或路由器就有多個“地址”。更準確些說,這種 48 位“地址”應當是某個介面的識別符號。

48 位的 MAC 地址

  • IEEE 802 標準規定 MAC 地址欄位可採用 6 位元組 ( 48位) 或 2 位元組 ( 16 位) 這兩種中的一種。

  • IEEE 的註冊管理機構 RA 負責向廠家分配地址欄位 6 個位元組中的前三個位元組 (即高位 24 位),稱為組織唯一識別符號。

  • 地址欄位 6 個位元組中的後三個位元組 (即低位 24 位) 由廠家自行指派,稱為擴充套件唯一識別符號必須保證生產出的介面卡沒有重複地址。

圖片描述

  • 一個地址塊可以生成 224 個不同的地址。這種 48 位地址稱為 MAC-48,它的通用名稱是 EUI-48。

  • 生產介面卡時,6 位元組的 MAC 地址已被固化在介面卡的 ROM,因此,MAC 地址也叫做硬體地址 (hardware address)或實體地址。

  • “MAC地址”實際上就是介面卡地址或介面卡識別符號 EUI-48。

單站地址,組地址,廣播地址

IEEE 規定地址欄位的第一位元組的最低位為 I/G 位。I/G 表示 Individual / Group。
當 I/G位 = 0 時,地址欄位表示一個單站地址。
當 I/G位 = 1 時,表示組地址,用來進行多播(以前曾譯為組播)。此時,IEEE 只分配地址欄位前三個位元組中的 23 位。

當 I/G 位分別為 0 和 1 時,一個地址塊可分別生成 224 個單個站地址和 224 個組地址。
所有 48 位都為 1 時,為廣播地址。只能作為目的地址使用。

全球管理與本地管理

IEEE 把地址欄位第一位元組的最低第 2 位規定為 G/L 位,表示 Global / Local。
當 G/L位 = 0 時,是全球管理(保證在全球沒有相同的地址),廠商向IEEE購買的 OUI 都屬於全球管理。
當 G/L位 = 1 時, 是本地管理,這時使用者可任意分配網路上的地址。


MAC地址

圖片描述

介面卡檢查 MAC 地址 

介面卡從網路上每收到一個 MAC 幀就首先用硬體檢查 MAC 幀中的 MAC 地址。

  • 如果是發往本站的幀則收下,然後再進行其他的處理。

  • 否則就將此幀丟棄,不再進行其他的處理。

“發往本站的幀”包括以下三種幀: 

  • 單播 (unicast) 幀(一對一)

  • 廣播 (broadcast) 幀(一對全體)

  • 多播 (multicast) 幀(一對多)

所有的介面卡都至少能夠識別前兩種幀,即能夠識別單播地址和廣播地址。
有的介面卡可用程式設計方法識別多播地址。
只有目的地址才能使用廣播地址和多播地址。
混雜方式 (promiscuous mode) 工作的乙太網介面卡只要“聽到”有幀在乙太網上傳輸就都接收下來。

2. MAC 幀的格式 

常用的乙太網 MAC 幀格式有兩種標準 :
DIX Ethernet V2 標準
IEEE 的 802.3 標準
最常用的 MAC 幀是乙太網 V2 的格式。

乙太網V2的 MAC 幀格式

圖片描述

各部分: 

圖片描述

圖片描述

圖片描述

圖片描述

圖片描述

圖片描述

無效的 MAC 幀 

  • 資料欄位的長度與長度欄位的值不一致;

  • 幀的長度不是整數個位元組;

  • 用收到的幀檢驗序列 FCS 查出有差錯;

  • 資料欄位的長度不在 46 ~ 1500 位元組之間。

  • 有效的 MAC 幀長度為 64 ~ 1518 位元組之間。

對於檢查出的無效 MAC 幀就簡單地丟棄。乙太網不負責重傳丟棄的幀。 

IEEE 802.3 MAC 幀格式

與乙太網V2 MAC 幀格式相似,區別在於:
(1) IEEE 802.3 規定的 MAC 幀的第三個欄位是“長度 / 型別”。
當這個欄位值大於 0x0600 時(相當於十進位制的 1536),就表示“型別”。這樣的幀和乙太網 V2 MAC 幀完全一樣。
當這個欄位值小於 0x0600 時才表示“長度”。
(2) 當“長度/型別”欄位值小於 0x0600 時,資料欄位必須裝入上面的邏輯鏈路控制 LLC 子層的 LLC 幀。

現在市場上流行的都是乙太網V2 的 MAC 幀,但大家也常常把它稱為 IEEE 802.3 標準的 MAC 幀。

IEEE802.3標準

圖片描述

  • TCP/IP世界中,使用RFC894規定的乙太網,但相容IEEE802.3

  • IEEE802.3由RFC1042規定

  • IEEE802.3定義的有效長度值與乙太網的有效型別值無一相同,這樣,就可以對兩種幀格式進行區分

乙太網型別欄位含義

圖片描述

幀間最小間隔 

  • 幀間最小間隔為 9.6 us,相當於 96 bit 的傳送時間。

  • 一個站在檢測到匯流排開始空閒後,還要等待 9.6 us 才能再次傳送資料。

  • 這樣做是為了使剛剛收到資料幀的站的接收快取來得及清理,做好接收下一幀的準備。 

五,擴充套件的乙太網

(一)在物理層擴充套件乙太網

使用光纖擴充套件

  • 主機使用光纖(通常是一對光纖)和一對光纖調變解調器連線到集線器。 

  • 很容易使主機和幾公里以外的集線器相連線。

圖片描述

使用集線器擴充套件

  • 使用多個集線器可連成更大的、多級星形結構的乙太網。

  • 例如,一個學院的三個系各有一個 10BASE-T 乙太網,可透過一個主幹集線器把各系的乙太網連線起來,成為一個更大的乙太網。

圖片描述

優點
使原來屬於不同碰撞域的乙太網上的計算機能夠進行跨碰撞域的通訊。
擴大了乙太網覆蓋的地理範圍。
缺點
碰撞域增大了,但總的吞吐量並未提高。
如果不同的碰撞域使用不同的資料率,那麼就不能用集線器將它們互連起來。   

(二)在資料鏈路層擴充套件乙太網 

擴充套件乙太網更常用的方法是在資料鏈路層進行。
早期使用網橋,現在使用乙太網交換機

  • 網橋工作在資料鏈路層。

  • 它根據 MAC 幀的目的地址對收到的幀進行轉發和過濾。

  • 當網橋收到一個幀時,並不是向所有的介面轉發此幀,而是先檢查此幀的目的 MAC 地址,然後再確定將該幀轉發到哪一個介面,或把它丟棄。 


1990 年問世的交換式集線器 (switching hub) 可明顯地提高乙太網的效能。
換式集線器常稱為乙太網交換機 (switch) 或第二層交換機 (L2 switch),強調這種交換機工作在資料鏈路層。

1. 乙太網交換機的特點

  • 乙太網交換機實質上就是一個多介面的網橋。

  • 通常都有十幾個或更多的介面。

  • 每個介面都直接與一個單臺主機或另一個乙太網交換機相連,並且一般都工作在全雙工方式

  • 乙太網交換機具有並行性能同時連通多對介面,使多對主機能同時通訊。

  • 相互通訊的主機都是獨佔傳輸媒體,無碰撞地傳輸資料。

  • 乙太網交換機的介面有儲存器,能在輸出埠繁忙時把到來的幀進行快取。

  • 乙太網交換機是一種即插即用裝置,其內部的幀交換表(又稱為地址表)是透過自學習演算法自動地逐漸建立起來的。

  • 乙太網交換機使用了專用的交換結構晶片,用硬體轉發,其轉發速率要比使用軟體轉發的網橋快很多。

乙太網交換機的優點

使用者獨享頻寬,增加了總容量。

  • 對於普通 10 Mbit/s 的共享式乙太網,若共有 N 個使用者,則每個使用者佔有的平均頻寬只有總頻寬 (10 Mbit/s)的 N 分之一。

  • 使用乙太網交換機時,雖然在每個介面到主機的頻寬還是 10 Mbit/s,但由於一個使用者在通訊時是獨佔而不是和其他網路使用者共享傳輸媒體的頻寬,因此對於擁有 N 個介面的交換機的總容量為 N乘以10 Mbit/s。

從共享匯流排乙太網轉到交換式乙太網時,所有接入裝置的軟體和硬體、介面卡等都不需要做任何改動。
乙太網交換機一般都具有多種速率的介面,方便了各種不同情況的使用者。

乙太網交換機的交換方式

儲存轉發方式
把整個資料幀先快取後再進行處理。
直通 (cut-through) 方式

  • 接收資料幀的同時就立即按資料幀的目的 MAC 地址決定該幀的轉發介面,因而提高了幀的轉發速度。

  • 缺點是它不檢查差錯就直接將幀轉發出去,因此有可能也將一些無效幀轉發給其他的站。

在某些情況下,仍需要採用基於軟體的儲存轉發方式進行交換,例如,當需要進行線路速率匹配、協議轉換或差錯檢測時。

2. 乙太網交換機的自學習功能

乙太網交換機執行自學習演算法自動維護交換表
開始時,乙太網交換機裡面的交換表是空的。


圖片描述

按照以下自學習演算法 處理收到的幀和建立交換表

  • A 先向 B 傳送一幀,從介面 1 進入到交換機。

  • 交換機收到幀後,先查詢交換表,沒有查到應從哪個介面轉發這個幀。

  • 交換機把這個幀的源地址 A 和介面 1 寫入交換表中,並向除介面1以外的所有的介面廣播這個幀。

  • C 和 D 將丟棄這個幀,因為目的地址不對。只 B 才收下這個目的地址正確的幀。這也稱為過濾

  • 從新寫入交換表的專案 (A, 1) 可以看出,以後不管從哪一個介面收到幀,只要其目的地址是A,就應當把收到的幀從介面1轉發出去。

  • B 透過介面 3 向 A 傳送一幀。

  • 交換機查詢交換表,發現交換表中的 MAC 地址有 A。表明要傳送給A的幀(即目的地址為 A 的幀)應從介面1轉發。於是就把這個幀傳送到介面 1 轉發給 A。顯然,現在已經沒有必要再廣播收到的幀。

  • 交換表這時新增加的專案 (B, 3),表明今後如有傳送給 B 的幀,就應當從介面 3 轉發出去。

  • 經過一段時間後,只要主機 C 和 D 也向其他主機傳送幀,乙太網交換機中的交換表就會把轉發到 C 或 D 應當經過的介面號(2 或 4)寫入到交換表中。

圖片描述

乙太網交換機的這種自學習方法使得乙太網交換機能夠即插即用,不必人工進行配置,因此非常方便。

交換機自學習和轉發幀的步驟歸納 

交換機收到一幀後先進行自學習。查詢交換表中與收到幀的源地址有無相匹配的專案

  • 如沒有,就在交換表中增加一個專案(源地址、進入的介面和有效時間)。

  • 如有,則把原有的專案進行更新(進入的介面或有效時間)。

轉發幀。查詢交換表中與收到幀的目的地址有無相匹配的專案。

  • 如沒有,則向所有其他介面(進入的介面除外)轉發。

  • 如有,則按交換表中給出的介面進行轉發。

  • 若交換表中給出的介面就是該幀進入交換機的介面,則應丟棄這個幀(因為這時不需要經過交換機進行轉發)。

交換機使用了生成樹協議 

增加冗餘鏈路時,自學習的過程就可能導致乙太網幀在網路的某個環路中無限制地兜圈子。

如圖,假定開始時,交換機 #1 和 #2 的交換表都是空的,主機 A 透過介面交換機 #1 向主機 B 傳送一幀。


圖片描述

按交換機自學習和轉發方法,該幀的某個走向如下:離開交換機 #1 的介面 3 → 交換機 #2 的介面 1 → 介面 2 → 交換機 #1 的介面 4 → 介面 3 → 交換機 #2 的介面 1 →……。這樣就無限制地迴圈兜圈子下去,白白消耗了網路資源。


圖片描述

IEEE 802.1D 標準制定了一個生成樹協議 STP  (Spanning Tree Protocol)。
其要點是:不改變網路的實際拓撲,但在邏輯上則切斷某些鏈路,使得從一臺主機到所有其他主機的路徑是無環路的樹狀結構,從而消除了兜圈子現象。

3. 從匯流排乙太網到星形乙太網

早期,乙太網採用無源的匯流排結構。
現在,採用乙太網交換機的星形結構成為乙太網的首選拓撲。
匯流排乙太網使用 CSMA/CD 協議,以半雙工方式工作。
乙太網交換機不使用共享匯流排,沒有碰撞問題,因此不使用 CSMA/CD 協議,而是以全雙工方式工作。但仍然採用乙太網的幀結構。

(三)虛擬區域網

利用乙太網交換機可以很方便地實現虛擬區域網 VLAN (Virtual LAN)。
虛擬區域網 VLAN 是由一些區域網網段構成的與物理位置無關的邏輯組,而這些網段具有某些共同的需求。每一個 VLAN 的幀都有一個明確的識別符號,指明傳送這個幀的計算機是屬於哪一個 VLAN。
虛擬區域網其實只是區域網給使用者提供的一種服務,而並不是一種新型區域網。
由於虛擬區域網是使用者和網路資源的邏輯組合,因此可按照需要將有關裝置和資源非常方便地重新組合,使使用者從不同的伺服器或資料庫中存取所需的資源。

圖示


圖片描述

圖片描述

圖片描述

圖片描述


虛擬區域網使用的乙太網幀格式

IEEE 批准了 802.3ac 標準,該標準定義了乙太網的幀格式的擴充套件,以支援虛擬區域網。
虛擬區域網協議允許在乙太網的幀格式中插入一個4位元組的識別符號,稱為 VLAN 標記 (tag),用來指明傳送該幀的計算機屬於哪一個虛擬區域網。
插入 VLAN 標記得出的幀稱為 802.1Q 幀 或 帶標記的乙太網幀

圖片描述

六,高速乙太網

(一) 100BASE-T 乙太網

速率達到或超過 100 Mbit/s 的乙太網稱為高速乙太網。
100BASE-T 在雙絞線上傳送 100 Mbit/s 基帶訊號的星形拓撲乙太網,仍使用 IEEE 802.3 的CSMA/CD 協議。
100BASE-T 乙太網又稱為快速乙太網 (Fast Ethernet)。
1995 年IEEE已把 100BASE-T 的快速乙太網定為正式標準,其代號為 IEEE 802.3u。

100BASE-T 乙太網的特點

  • 可在全雙工方式下工作而無衝突發生。在全雙工方式下工作時,不使用 CSMA/CD 協議。

  • MAC 幀格式仍然是 802.3 標準規定的。

  • 保持最短幀長不變,但將一個網段的最大電纜長度減小到 100 m。

  • 幀間時間間隔從原來的 9.6 us 改為現在的 0.96 us。    

100 Mbit/s 乙太網的三種不同的物理層標準 

100BASE-TX

  • 使用 2 對 UTP 5 類線 或 遮蔽雙絞線 STP。

  • 網段最大程度:100米。

100BASE-T4

  • 使用 4 對 UTP 3 類線 或 5 類線。 

  • 網段最大程度:100米。

100BASE-FX 

  • 使用 2 對光纖。 

  • 網段最大程度:2000米。


(二) 吉位元乙太網

允許在 1 Gbit/s 下以全雙工和半雙工兩種方式工作。
使用 IEEE 802.3 協議規定的幀格式。
在半雙工方式下使用 CSMA/CD 協議,全雙工方式不使用 CSMA/CD 協議。
與 10BASE-T 和 100BASE-T 技術向後相容。

吉位元乙太網可用作現有網路的主幹網,也可在高頻寬(高速率)的應用場合中。

吉位元乙太網的物理層 

使用兩種成熟的技術:一種來自現有的乙太網,另一種則是美國國家標準協會 ANSI 制定的光纖通道 FC  (Fiber Channel)。


圖片描述

半雙工方式工作的吉位元乙太網

吉位元乙太網工作在半雙工方式時,就必須進行碰撞檢測。
為保持 64 位元組最小幀長度,以及 100 米的網段的最大長度,吉位元乙太網增加了兩個功能:

  • 載波延伸 (carrier extension)

  • 分組突發 (packet bursting)

載波延伸

使最短幀長仍為 64 位元組(這樣可以保持相容性),同時將爭用時間增大為 512 位元組
凡傳送的 MAC 幀長不足 512 位元組時,就用一些特殊字元填充在幀的後面,使MAC 幀的傳送長度增大到 512 位元組。接收端在收到乙太網的 MAC 幀後,要將所填充的特殊字元刪除後才向高層交付。


圖片描述

分組突發

當很多短幀要傳送時,第一個短幀要採用載波延伸方法進行填充,隨後的一些短幀則可一個接一個地傳送,只需留有必要的幀間最小間隔即可。這樣就形成可一串分組的突發,直到達到 1500 位元組或稍多一些為止。


圖片描述

全雙工方式工作的吉位元乙太網

當吉位元乙太網工作在全雙工方式時(即通訊雙方可同時進行傳送和接收資料),不使用載波延伸和分組突發。

吉位元乙太網的配置舉例 :

圖片描述


(三)  10吉位元乙太網 (10GE) 和更快的乙太網

10 吉位元乙太網(10GE)並非把吉位元乙太網的速率簡單地提高到 10 倍,其主要特點有:

  • 與 10 Mbit/s、100 Mbit/s 和 1 Gbit/s 乙太網的幀格式完全相同。

  • 保留了 802.3 標準規定的乙太網最小和最大幀長,便於升級。

  • 只工作在全雙工方式,因此沒有爭用問題,也不使用 CSMA/CD 協議。    

10 吉位元乙太網的物理層

圖片描述

更快的乙太網

  • 乙太網的技術發展得很快。

  • 在 10GE 之後又制訂了 40GE/100GE(即 40 吉位元乙太網和 100 吉位元乙太網)的標準 IEEE 802.3ba-2010 和 802.3bm-2015。

  • 40GE/100GE 只工作在全雙工的傳輸方式(因而不使用 CSMA/CD 協議),並仍保持了乙太網的幀格式以及 802.3 標準規定的乙太網最小和最大幀長。

  • 100GE 在使用單模光纖傳輸時,仍然可以達到 40 km 的傳輸距離,但這是需要波長分波多工(使用 4 個波長複用一根光纖,每一個波長的有效傳輸速率是 25 Gbit/s)。

40GE/100GE 的物理層

圖片描述

端到端的乙太網傳輸 

乙太網的工作範圍已經從區域網(校園網、企業網)擴大到都會網路和廣域網,從而實現了端到端的乙太網傳輸
這種工作方式的好處有: 

  • 技術成熟;

  • 互操作性很好;

  • 在廣域網中使用乙太網時價格便宜;

  • 採用統一的乙太網幀格式,簡化了操作和管理。     

乙太網從 10 Mbit/s 到100 Gbit/s 的演進 

乙太網從 10 Mbit/s 到 100 Gbit/s 的演進證明了乙太網是:

  • 可擴充套件的(從 10 Mbit/s 到 100 Gbit/s);

  • 靈活的(多種傳輸媒體、全/半雙工、共享/交換);

  • 易於安裝;

  • 穩健性好。 

(四)  使用乙太網進行寬頻接入

IEEE 在 2001 年初成立了 802.3 EFM 工作組,專門研究高速乙太網的寬頻接入技術問題。
乙太網寬頻接入具有以下特點:

  • 可以提供雙向的寬頻通訊。

  • 可以根據使用者對頻寬的需求靈活地進行頻寬升級

  • 可以實現端到端的乙太網傳輸,中間不需要再進行幀格式的轉換。這就提高了資料的傳輸效率且降低了傳輸的成本。

  • 但是不支援使用者身份鑑別。

PPPoE

PPPoE (PPP over Ethernet) 的意思是“在乙太網上執行 PPP”,它把 PPP 協議與乙太網協議結合起來 —— 將 PPP 幀再封裝到乙太網中來傳輸。
現在的光纖寬頻接入 FTTx 都要使用 PPPoE 的方式進行接入。在 PPPoE 彈出的視窗中鍵入在網路運營商購買的使用者名稱和密碼,就可以進行寬頻上網了。
利用 ADSL 進行寬頻上網時,從使用者個人電腦到家中的 ADSL 調變解調器之間,也是使用 RJ-45 和 5 類線(即乙太網使用的網線)進行連線的,並且也是使用 PPPoE 彈出的視窗進行撥號連線的。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/132/viewspace-2824201/,如需轉載,請註明出處,否則將追究法律責任。

相關文章