農林漁牧網

您現在的位置是:首頁 > 農業

乙太網資料鏈路層幀轉發機制

2022-01-09由 科技創造財富 發表于 農業

終端裝置接收到資料幀時 會如何處理

跨界網路工程師1001夜(10)-連載

乙太網物理層標準由於使用的物理鏈路不同,其標準有比較大的差別。但賦予乙太網生命力並支援其在網路標準競爭中佔優勢的特徵之一是:無論乙太網物理鏈路型別如何變化,從同軸、雙絞線再到光纖,甚至無線,乙太網標準的鏈路層以上都是一樣的。

接下來,我們討論乙太網資料鏈路層協議細節,以及乙太網節點、交換機和集線器如何透過乙太網區域網轉發乙太網幀。

乙太網資料鏈路層協議

如上所屬,乙太網協議族最突出的優點之一是這些協議使用相同的資料鏈路層標準。實際上,資料鏈路標準的核心部分自最初的乙太網標準出現至今沒有特別大的變化。

乙太網資料鏈路層協議定義了乙太網幀結構:乙太網報頭+封裝的資料+乙太網幀尾。

乙太網資料鏈路層幀轉發機制

乙太網幀格式

這些欄位的簡要描述見下表:

IEEE 802。3乙太網幀報頭和報尾欄位

乙太網資料鏈路層幀轉發機制

乙太網資料鏈路層幀轉發機制

計算機網路原理第2版 網路介面層據通訊系統資料鏈路層區域網廣域網Internet基本原理技術

檢視

乙太網地址

乙太網源目地址欄位對乙太網區域網正確有效地傳輸資料起著關鍵作用。類似傳統的郵件系統:傳送節點將自己的地址放在源地址欄位中,把目標裝置的地址放在目的地址欄位中。傳送信件時,我們只要把信件丟進郵筒,後續郵政系統會妥帖地將信件送達目的地。在乙太網中,乙太網區域網也會像郵政系統一樣將幀按照源目地址送到正確的目的終端。

乙太網資料鏈路層幀轉發機制

網路之美

乙太網地址,也稱為媒體訪問控制(MAC,Media Access Control)地址,是一個6位元組長(48位長)的二進位制數。為了方便,大多數計算機用12位十六進位制數表達MAC地址列成,為了方便閱讀,會用句分隔MAC地址。例如:1234。5612。3456。

通常MAC地址都和一塊網絡卡或其他裝置的乙太網埠繫結,這些地址有時被稱為單播乙太網地址。術語單播意指一個MAC地址代表一個以太區域網介面。(對應的,我們還有兩種其他型別的乙太網地址——廣播和多播——這兩種地址將在本節後面介紹。)

只有所有單播MAC地址都是唯一的情況下資料才可以被有效地傳送到目標單播MAC地址。

現在郵政系統中兩個相同的地址會帶來困擾一樣,如果兩個埠試圖使用相同的MAC地址,同樣會出現混淆。如果兩個埠在同一個乙太網上嘗試使用相同的MAC地址,乙太網鏈路層無法判斷髮送到該MAC地址的幀應該傳送到哪一個埠?

乙太網透過協調分配機制解決了這個問題,所有乙太網裝置埠在出廠時都分配了一個通用的唯一MAC地址。即使是最近幾年出現的虛擬裝置(軟體定義裝置)也都分配了唯一的MAC地址。首先製造商製造乙太網產品或開發虛擬產品之前,它必須請求IEEE分配一個通用的唯一的3位元組程式碼,稱為組織唯一標誌符(OUI,organizationally unique identifier)。部分大廠其實擁有多個OUI標誌符。製造商會給所有網絡卡(和其他乙太網產品)分配一個以其獲得的3位元組OUI為字首,再結合一個廠商分配的3位元組唯一值構成的全域性唯一的MAC地址。理論上,該機制可以提供最大可提供

個唯一MAC地址。考慮到現在龐大的網路裝置埠數量和部分小廠商其實浪費了部分地址,其實有些早期分配過的地址被拿出來複用了。由於產品的高度分散性和部分老裝置已經淘汰,在同一區域網出現相同MAC地址的機率非常低。

乙太網資料鏈路層幀轉發機制

帶有預分配OUI的單播MAC地址結構

乙太網資料鏈路層幀轉發機制

博揚(BOYANG)BY-E1F1 協議轉換器 1路E1(2M)轉1路乙太網 機架式 1對價

檢視

除了單播地址外,乙太網還使用組地址。組地址標誌多個區域網埠。傳送到特定組地址的幀會被傳送給區域網中的一部分預定義裝置,甚至可以是區域網上的所有裝置。

實際上,IEEE標準為乙太網定義了兩大類組地址:

廣播地址

:傳送到這個地址的幀會被被傳送到以太區域網同網段中的所有裝置。它的值是FFFF。FFFF。FFFF。

多播地址

:傳送到多播乙太網地址的幀將被並行轉發到區域網中的某個裝置子集,這些裝置預先設定並接收發送到某一特定多播地址的幀。

網路層協議識別型別欄位

瞭解了乙太網報頭中起著重要作用的地址,我們開始認識作用看起來不那麼突出的太網型別欄位。乙太網型別欄位位於乙太網資料鏈路層報頭中,標誌位於乙太網幀內的網路層(第3層)包的型別以幫助路由器和主機上的網路流量處理。

通常,資料鏈路層幀的有效載荷是通訊參與終端按照網路層協議建立的網路層包。按照這些協議,幀有效負載包括IBM系統網路架構(SNA)、數字裝置公司(Digital Equipment Corporation)的DECnet、Novell NetWare和蘋果電腦(Apple Computer)的AppleTalk。現在最常見的網路層協議包都來自TCP/IP: IP版本4 (IPv4)和IP版本6 (IPv6)。

IEEE管理著一個乙太網型別(EtherType)值列表,每個需要唯一乙太網型別值的網路層協議都可以擁有一個特定數字。傳送主機可以再乙太網幀的報頭中插入一個值(十六進位制數)來識別封裝在乙太網幀內的包的型別。

FCS錯誤檢測

乙太網,特別是非遮蔽雙絞線乙太網,在傳輸中會由於電磁干擾等各種原因而使部分資料位發生變化,從而導致傳輸錯誤。乙太網沿用了大多數資料鏈路協議的校驗方式,在資料幀尾中嵌入一個用於錯誤檢測的欄位。乙太網幀尾中的唯一欄位-乙太網幀檢測序列(FCS,Frame Check Sequence)-在收發節點間建立了一種比對傳送內容的方法,以發現數據傳輸過程中是否出錯。傳送方在傳送之前用一個複雜的數學公式(Hash函式)對幀計算出一個校驗值,並將該值儲存在FCS欄位中。接收方對接收到的幀用相同的HASH函式計算校驗值,並與幀尾中傳送方嵌入的校驗值進行比較。如果兩者一致,則幀在傳輸過程中未改變;否則認為幀在傳輸中發生錯誤,並丟棄該幀。值得注意的是,乙太網資料鏈路層錯誤檢測並不包括錯誤恢復。乙太網資料鏈路層只是丟棄錯誤的幀,但並不嘗試恢復丟失的幀。其他上層協議,特別是TCP,透過錯誤幀重傳機制恢復丟失的資料。

交換機和集線器轉發乙太網幀

以太區域網中的主要網路交換裝置為交換機(Switch),早期的網路還會用到集線器(HUB)。這兩種裝置的傳輸行為略有不同,交換機使用全雙工邏輯,而集線器使用半雙工邏輯。

本章的最後一個主題將著眼於這些基本區別。

區域網全/半雙工傳輸

乙太網區域網會使用不同的乙太網物理連線標準,但是標準的乙太網幀可以在這些不同的物理鏈路上傳輸。雖然具體的單獨鏈路可以以不同的速度執行,但是每個鏈路允許其連線的節點將幀中的位元流傳送到下一個節點。這些滿足不同物理層標準的節點和鏈路協同工作,將資料從乙太網源節點發送到目的節點。

半雙工

:裝置在接收資料無法傳送資料,不同同時傳送和接收資料。同樣在傳送資料時也無法接收資料。

全雙工

:裝置可以同時傳送和/或接受資料,,在傳送之前不需要等待發送結束。

當局域網中只有交換機和PC終端,它們之間的通訊為全雙工。當存在集線器時,集線器覆蓋區域為半雙工。

乙太網資料鏈路層幀轉發機制

乙太網90年代初使用的HUB

集線器在90年代初比較流行,那時候還沒有交換機。集線器實際上是一層裝置,在物理層轉發資料的。形式上看,網裝置是星形佈置,其實在集線器內部是一個高度壓縮的匯流排,仍然使用匯流排傳輸時流行的帶衝突檢驗的載波偵聽多路訪問(CSMA/CD)來避免終端同時佔用匯流排。匯流排的頻寬實質上被所有接入裝置共享,在負載中的情形,掉包和隨機等待引起的擁塞會嚴重降低網路的效能。

乙太網資料鏈路層幀轉發機制

往期內容:

光纖通訊原理及光纖以太區域網

關於5G什麼值得你知道?5G是如何工作的,為什麼5G很重要?

網路工程師基本功—搭建區域網(雙絞線)

乙太網基礎—認識區域網LAN

資料封裝的術語及TCP/IP訊息的名稱

閆錦鋒,MSDBA、MCSE、2*CCIE(EI & Security)。

從90年代打線頭、扯網線、裝系統到摸需求、敲程式碼、接客戶的全棧(全乾)工程師開始IT職業生涯,堪稱上得了天花板、鑽得了線纜溝的網工老兵。

如今爬不動天花板,只好靠著些許經驗(嘴皮子)為大夥策劃策劃資金專項、時不常幫人整個可研圈圈錢,順帶做做專案管理,尤其偏重專項專案財務管理策劃實施。

最近熱衷於“生物資訊”的產業化研究,也算沒離開IT太遠,那不是還有個“生物計算”嘛。再者說,沒有ICT技術的進步,生物資訊也玩不轉。