跳轉到內容

通訊網路/乙太網

來自華夏公益教科書,自由的教科書,自由的世界

乙太網

[編輯 | 編輯原始碼]

乙太網由羅伯特·梅特卡夫於 1973 年在施樂公司帕洛阿爾託研究中心 (PARC) 發明。羅伯特·梅特卡夫被要求為 PARC 的計算機構建一個網路系統。施樂想要這樣的網路,因為他們正在設計世界上第一臺雷射印表機,並希望所有那裡的計算機都能使用它進行列印。他面臨著兩個挑戰,他必須使它足夠快以滿足雷射印表機的要求,並且能夠連線同一建築物中的數百臺計算機。

乙太網是一種基於幀的技術,用於區域網 (LAN)。LAN 市場已經看到了多種技術,但今天最主要的是乙太網。最初的乙太網是在 1976 年在施樂公司的帕洛阿爾託研究中心 (Parc) 建立的。透過 LAN 連線到網際網路的計算機需要網際網路模型的所有五個層。三個上層(網路、傳輸和應用)在所有 LAN 中都是通用的。資料鏈路層分為邏輯鏈路控制 (LLC) 子層和媒體訪問控制 (MAC) 子層。LLC 是為所有 LAN 設計的。而 MAC 子層對於每個乙太網版本略有不同。

802.3 MAC 幀

[編輯 | 編輯原始碼]

802.3 乙太網幀包含七個欄位:前導碼、SFD、DA、SA、協議資料單元長度/型別、上層資料和 CRC。

  1. 前導碼:包含 7 個交替 0 和 1 的位元組,提醒接收方即將到來的幀並實現接收方資料時鐘的同步。
  2. 起始幀分隔符 (SFD):包含 1 個位元組 (10101011),表示同步位的結束和幀資料的開始。
  3. 目標地址 (DA):包含 6 個位元組。這是目的地的物理地址。
  4. 源地址 (SA):包含 6 個位元組。這是幀傳送者的物理地址。
  5. 長度/型別欄位:包含 2 個位元組。從 802.3-1997 開始,此欄位包含 etherType 或長度(見 EtherType)。
  6. 資料和填充:其最小長度為 46 個位元組,最大長度為 1500 個位元組。
  7. 迴圈冗餘校驗 (CRC):最後一個欄位包含錯誤檢測資訊,在本例中其大小為 4 個位元組。

曼徹斯特編碼

[編輯 | 編輯原始碼]

編碼是指將資訊轉換為訊號。您可以透過將資料轉換為訊號來發送它們。如果您傳送的是二進位制位模式 10000000,那麼在接收方,它可能會被視為 00001000 或 00100000。因此,我們必須找出一些確切的方法,讓接收方能夠在不參考外部時鐘的情況下確定每一位的開始、結束或中間位置。有兩種方法(1)曼徹斯特編碼(2)差分曼徹斯特編碼。

曼徹斯特編碼

[編輯 | 編輯原始碼]

透過這種方法,每個位塊被分成兩個相等的間隔。二進位制 1 位透過在第一個間隔內設定電壓為高,在第二個間隔內設定電壓為低來發送,二進位制 0 只是相反:先低後高。透過使用這些型別的模式,每個位週期在中間都有一個躍遷,因此接收方可以很容易地與傳送方同步。這種方法的缺點是,它需要的頻寬是直接二進位制編碼的兩倍,因為脈衝的寬度只有一半。

差分曼徹斯特編碼

[編輯 | 編輯原始碼]

它是曼徹斯特編碼方法的一種變體。在這種方法中,1 位由沒有躍遷表示,而 0 位由在間隔開始時的躍遷表示。透過這樣做,我們可以克服先前方法的缺點。

但是,所有乙太網系統都使用曼徹斯特編碼方法,因為它很簡單,乙太網不使用差分曼徹斯特編碼,因為它很複雜。

訪問方法

[編輯 | 編輯原始碼]

大多數乙太網使用 1 持久載波偵聽多路訪問 (CSMA)/碰撞檢測 (CD) 方法,這基本上是仲裁演算法。CSMA/CD 邏輯有助於防止衝突,並定義了發生衝突時的行為方式。CSMA/CD 演算法的工作原理如下:

  1. 具有要傳送幀的裝置會監聽,直到乙太網空閒。
  2. 當乙太網空閒時,傳送方開始傳送幀。
  3. 傳送方會繼續監聽,以確保沒有發生衝突。
  4. 一旦傳送方聽到衝突,他們就會各自發送一個干擾訊號,以確保所有站都識別到衝突。
  5. 干擾結束後,每個傳送方都會隨機化一個計時器並等待一段時間。
  6. 每個計時器到期後,從步驟 1 重新開始該過程。

因此,乙太網上的所有裝置都需要使用 CSMA/CD 來避免衝突,並在發生意外衝突時恢復。

最小長度限制是 CSMA/CD 正確執行所必需的。如果物理層在傳送站發出幀之前發生衝突,則所有站都必須聽到它。因此,乙太網幀的最小長度必須為 64 位元組。

乙太網上的每個站都有自己的網路介面卡。NIC 適合安裝在站內,併為站提供一個 6 位元組的物理地址。乙太網地址是一個 6 位元組的地址,通常以十六進位制表示法寫入,使用連字元將位元組彼此分開,如下所示:

示例:06-A3-56-2C-4B-01

單播、組播和廣播地址

[編輯 | 編輯原始碼]

源地址始終是單播地址,幀來自一個站,而目標地址可以是單播、組播或廣播。以下示例說明了如何區分單播地址和組播地址。

始終為 0
目標
單播 0,組播 1
Byte 1       Byte 2 ……………………………………………..Byte 6

單播地址僅定義一個接收方,傳送方和接收方之間的關係是一對一的關係。組播地址定義一組地址,關係是一對多的關係。廣播地址是組播地址的特例;接收方是網路上的所有站。目標廣播地址為 48 個 1。

乙太網型別

[編輯 | 編輯原始碼]

目前市場上有三種類型的乙太網。

  1. 傳統乙太網 - 10 Mbps
  2. 快速乙太網 - 100 Mbps
  3. 千兆乙太網 - 1000Mbps
型別 傳統-10Mbps 快速乙太網-100Mbps 千兆-1000Mbps
10Base5 100Base-X 1000Base-X
10Base2
雙絞線 10BaseT 100Base-Tx 1000Base-Tx
光纖 10BaseFI 100Base-Tx
話音級T對 100Base-T4
短波光纖 1000Base-Sx
長波光纖 1000Base-Lx
短銅跳線 1000Base-Cx

乙太網的通用結構

[編輯 | 編輯原始碼]

乙太網中所有層的函式

[編輯 | 編輯原始碼]

傳統乙太網-10Mbps

[編輯 | 編輯原始碼]

1 物理層

[編輯 | 編輯原始碼]

此層對資料進行編碼和解碼。傳統乙太網使用曼徹斯特編碼,速率為 10 Mbps。

2 收發器

[編輯 | 編輯原始碼]

它是一個發射器和接收器。它透過介質傳輸訊號;它透過介質接收訊號,並檢測衝突。它可以是內部的或外部的。如果是外部的,則需要在站之間連線附件單元介面。

快速乙太網-100Mbps

[編輯 | 編輯原始碼]

從 10Mbps 到 100Mbps 對乙太網進行評估的目的是保持 MAC 子層不變。訪問方法對於 100 Mbps 來說是相同的。但是,有 3 種技術可以將 10Mbps 更改為 100Mbps。

  1. 自動協商:- 它允許不相容的裝置相互連線,例如,專為 10Mbps 設計的裝置可以與專為 100Mbps 設計的裝置通訊。它還允許一個站檢查集線器的功能。
  2. 協調子層:- 在快速乙太網中,此層取代了 10Mbps 的物理層,因為快速乙太網中的編碼取決於介質。編碼解碼移動到收發器層。
  3. 介質無關介面:- 它為 10mbps 和 100 mbps 提供相容的路徑,它還提供物理層和協調層之間的連結。

千兆乙太網-1000Mbps

[編輯 | 編輯原始碼]

檔案:MAC3.jpg

當我們從 100 mbps 遷移到 1000mbps 時,我們的想法是保持 Mac 層不變,但最終沒有實現。

訪問方法

[編輯 | 編輯原始碼]

千兆乙太網有兩種方法,一種是使用 CSMA/CD 的半雙工,另一種是無需 CSMA/CD 的全雙工。前者很有趣,但複雜且不實用。而在全雙工中,我們不需要 CSMA/CD。通常全雙工方法比半雙工方法更受歡迎。

千兆介質無關介面

[編輯 | 編輯原始碼]

它是定義協調與 PHY 收發器連線的規範。其中有一個晶片可以工作在 10mbps 和 100mbps 上。

管理功能已包含在內,並且沒有電纜或聯結器。

橋接乙太網

[編輯 | 編輯原始碼]

它主要有兩種影響,提高頻寬和分離衝突域。

1 提高頻寬

[編輯 | 編輯原始碼]

站共享提供的總頻寬。當我們有多個站時,它們共享提供的頻寬,因此我們可以放置橋樑,我們可以拆分站,以便它們可以共享相同的頻寬,但站的數量更少,因為它在站之間分配。例如,我們有 10 個站共享 10 mbps,現在如果我們透過 5-5 個站對它們進行橋接,我們將有 5 個站共享相同的 10mbps 頻寬,因此橋接連線可以透過上述方法提高頻寬。

2 分離衝突域

[編輯 | 編輯原始碼]

分離衝突域是橋接網路的另一個優勢。透過橋接,衝突域變得更小,從而降低了衝突的可能性。

全雙工乙太網

[編輯 | 編輯原始碼]

在全雙工中,每個站都有獨立的通道傳輸訊號,也有接收通道,因此減少了衝突。

[編輯 | 編輯原始碼]

互連 LAN 段

[編輯 | 編輯原始碼]

LAN 分段意味著將一個 LAN 分成多個部分,每個部分稱為一個段。使用單個集線器或多個集線器,您將擁有一個段。透過使用橋接、交換機或路由器,我們可以將一個大型 LAN 拆分為小型 LAN 段。

首先,許多大學和公司部門都有自己的 LAN。不同型別的 LAN 之間需要互動,因此需要橋接。

其次,組織可能在地理上分佈在幾個建築物中,這些建築物相隔相當遠的距離。在每個建築物中擁有獨立的 LAN 並使用橋接或交換機連線它們更便宜。

第三,可能需要將邏輯上是單個 LAN 的東西拆分為獨立的 LAN 以適應負載。例如,許多大學使用不同的伺服器來進行檔案伺服器和 Web 伺服器。使用橋接連線多個 LAN。每個 LAN 包含一個工作站叢集及其自己的檔案伺服器,以便大多數流量僅限於單個 LAN 並且不會給主幹網路增加負載。

第四,在某些情況下,單個 LAN 在負載方面可能足夠,但最遠機器之間的物理距離太大。唯一的解決方案是將 LAN 分割槽並在段之間安裝橋接。使用這種技術,可以增加覆蓋的總物理距離。

第五,網橋可以被程式設計為對轉發和不轉發的內容進行一些判斷。這可以透過分割網路來提高可靠性。

第六,透過在不同位置插入網橋,並謹慎地不轉發敏感流量,系統管理員可以隔離網路的某些部分,這樣它們的流量就不能洩露到錯誤的人手中。

網橋問題

[編輯 | 編輯原始碼]
  1. 為了連線不同的 802 架構通訊,網橋會改變幀並重新格式化它,這需要 CPU 時間,需要新的校驗和計算,並由於網橋記憶體中的壞位,會引入檢測不到的錯誤的可能性。
  2. 互連的 LAN 不一定以相同的資料速率執行。
  3. 不同的 802 LAN 具有不同的最大幀長度。當一個長幀必須被轉發到一個無法接受它的 LAN 時。將幀拆分成多個部分在這個層是不可能的。基本上,對於過大的幀,沒有解決方案。它們必須被丟棄。
  4. 802.11 和 802.16 都在資料鏈路層支援加密。乙太網沒有。因此,無線網路使用的某些加密在流量經過乙太網時會丟失。
  5. 802.11 和 802.16 都以各種形式提供 QoS,前者使用 PCF 模式,後者使用恆定位元率連線。乙太網沒有服務質量的概念,因此來自任何一個的流量在經過乙太網時會失去其服務質量。

格式轉換和重新格式化

[編輯 | 編輯原始碼]

傳送者 A 位於無線網路,接收者 B 位於乙太網。資料包下降到 LLC 子層並獲取 LLC 頭部(圖中黑色所示)。然後它進入 MAC 子層,並在它前面新增一個 802.11 頭部。這個單元透過空中傳送,並由基站接收。它看到需要去固定的乙太網。當它到達連線 802.11 網路和 802.3 網路的網橋時;它從物理層開始,向上工作。在網橋的 MAC 子層中,802.11 頭部被剝離。然後裸資料包被傳遞到網橋的 LLC 子層。在這個例子中,資料包被髮往一個 802.3 LAN,所以它沿著網橋的 802.3 一側向下工作,然後就在乙太網上傳送出去。

注意:連線 k 個不同 LAN 的網橋將有 k 個不同的 MAC 子層和 k 個不同的物理層,每個型別一個。

流量隔離

[編輯 | 編輯原始碼]

網橋主要有兩種形式。一種型別的網橋被稱為透明網橋或學習網橋。這種型別的網橋對傳送資料包的裝置是透明的。同時,這種網橋會隨著時間的推移學習它兩側存在哪些裝置。這是網橋能夠讀取跨越網路的每個資料包上的資料鏈路資訊來實現的。透過分析這些資料包,並檢視每個裝置的源 MAC 地址,網橋能夠構建一個關於哪些裝置存在於它哪一側的表。通常有一種機制允許一個人進入並手動將地址資訊也程式設計到網橋中;學習網橋引用一個內部地址表。該表是網橋從網路上的先前資料包傳遞中學習到的,或者手動程式設計到網橋中。

另一種型別的網橋是源路由網橋。這種型別的網橋用於令牌環網路。源路由網橋是指讀取資料包中資訊的網橋,該資訊將說明網路上目標段的路由。源路由網橋會分析這些資訊,以確定是否應該或不應該將此資料流傳遞下去。

然而,網橋不能連線使用不同網路地址的 LAN,這是因為網橋在 OSI 模型的第 2 層工作,並依賴於裝置的物理地址,而不是依賴於邏輯網路地址的網路層。

轉發表和反向學習

[編輯 | 編輯原始碼]

網橋透過監聽傳入的幀並檢查幀中的源 MAC 地址來構建網橋表。如果一個幀進入網橋,並且源 MAC 地址不在網橋表中,網橋會在表中建立一個條目。MAC 地址與幀到達的介面一起被放入表中。這被稱為自地址學習方法。

為了過濾 LAN 段之間的資料包,網橋使用網橋表。當接收到一個幀,並且目標地址不在網橋表中時,它會進行廣播或組播,轉發到除幀接收埠外的所有埠。如果目標地址在網橋表中,並且相關聯的介面不是幀到達的介面,則將幀轉發到唯一的正確埠。否則過濾掉幀,不轉發幀。

STP 的工作原理

[編輯 | 編輯原始碼]

生成樹演算法將每個網橋或交換機埠置於轉發狀態或阻塞狀態。所有處於轉發狀態的埠都被認為是在當前生成樹中。

首先選擇根網橋。它透過最低的序列號來選擇。根網橋的所有埠都是指定埠。每個非根網橋都會收到來自根網橋的 hello 資料包。之後,每個網橋都會將到根網橋的路徑成本與每個埠進行比較。路徑成本最低的埠被宣告為非根網橋的根埠。這被稱為根埠。每個網橋的根埠被置於轉發狀態。

最後,每個 LAN 段都有一個該段上的 STP 指定網橋。許多網橋可以連線到同一個乙太網段。與連線到同一個段的其他網橋相比,從自身到根網橋埠的成本最低的網橋是該段的指定網橋。網橋用於連線該段的介面被稱為該段的指定埠,該埠被置於轉發狀態。STP 將所有其他埠置於阻塞狀態。

在智慧網橋和交換機中,STP 會自動執行,無需手動配置。STP 演算法在正常執行期間會繼續執行。

一個或多個 LAN 上的一組裝置,它們被配置(使用管理軟體)以便它們可以像連線到同一根線上一樣進行通訊,而實際上,它們位於多個不同的 LAN 段上。由於 VLAN 是基於邏輯連線而不是物理連線,因此它們非常靈活。

每個交換機有兩個 VLAN。在第一個交換機上,VLAN A 和 VLAN B 的傳送透過一個單一埠(即 trunk)進行。這些 VLAN 既到路由器,也透過另一個埠到第二個交換機。VLAN C 和 VLAN D 從第二個交換機 trunk 到第一個交換機,並透過該交換機到路由器。這個 trunk 可以承載來自所有四個 VLAN 的流量。第一個交換機到路由器的 trunk 鏈路也可以承載所有四個 VLAN。事實上,這種與路由器的單個連線實際上允許路由器出現在所有四個 VLAN 上。看起來路由器有四個不同的物理埠連線到交換機。

VLAN 可以透過兩個交換機之間的 trunk 連線相互通訊。這種通訊是使用路由器來進行的。例如,來自 VLAN A 上的一臺計算機需要到達 VLAN B 上的一臺計算機的資料必須從交換機到路由器,然後再回到交換機。由於透明網橋演算法和 trunk,無論是 PC 還是路由器都認為它們在同一個物理段上。LAN 交換機可以極大地提高網路的速度和質量。VLAN 1 是預設的 VLAN,它不能被刪除。所有未標記的流量預設情況下都屬於此 VLAN。

有以下型別的虛擬 LAN

  1. 基於埠的 VLAN:每個物理交換機埠都配置了訪問列表,指定了屬於一組 VLAN 的成員身份。
  2. 基於 MAC 的 VLAN:交換機配置了訪問列表,將單個 MAC 地址對映到 VLAN 成員身份。
  3. 基於協議的 VLAN:交換機配置了一個列表,將第 3 層協議型別對映到 VLAN 成員身份——從而使用特定協議(例如 IPX)過濾來自附近終端的 IP 流量。
  4. ATM VLAN——使用 LAN 模擬 (LANE) 協議將乙太網資料包對映到 ATM 細胞,並將它們透過將乙太網 MAC 地址轉換為 ATM 地址來傳遞到目的地。

VLAN 的優點

[編輯 | 編輯原始碼]
  • 減少廣播域,進而減少網路流量,提高網路安全性(如果只有一個大型廣播域,這兩方面都會受到影響)。
  • 減少建立子網的管理工作量。
  • 減少硬體需求,因為網路可以邏輯隔離而不是物理隔離。
  • 加強對多種流量型別的控制。

IEEE 的 802.1Q 標準是為解決如何將大型網路分解成更小的部分而開發的,這樣廣播和組播流量就不會佔用超過必要的頻寬。該標準還有助於在內部網路的各個段之間提供更高水平的安全性。

幀格式

[編輯 | 編輯原始碼]

802.1q 幀格式與 802.3 相同,唯一的改變是添加了 4 位元組的欄位。前兩個位元組是 VLAN 協議 ID,它始終為 0X8100。後兩個位元組的欄位包含三個子欄位。

  1. VLAN 識別符號
  2. CFI
  3. PRI
  • VID - VLAN ID 是 VLAN 的標識,它基本上由標準 802.1Q 使用。它有 12 位,允許識別 4096 (2^12) 個 VLAN。在 4096 個可能的 VID 中,VID 為 0 用於識別優先順序幀,值 4095 (FFF) 保留,因此最大可能的 VLAN 配置為 4,094。
  • 使用者優先順序 - 定義使用者優先順序,提供 8 (2^3) 個優先順序級別。IEEE 802.1P 定義了這 3 個使用者優先順序位的操作。
  • CFI - Canonical Format Indicator 始終設定為 0,用於乙太網交換機。CFI 用於乙太網型別網路和令牌環型別網路之間的相容性。如果在乙太網埠接收到的幀的 CFI 設定為 1,則該幀不應轉發到未標記的埠。• 使用者優先順序 - 定義使用者優先順序,提供 8 (2^3) 個優先順序級別。IEEE 802.1P 定義了這 3 個使用者優先順序位的操作。

由於插入此標頭會更改幀,因此 802.1Q 封裝會導致乙太網尾部的原始 FCS 欄位重新計算。

  1. 繪製位元流 0001110101 的曼徹斯特編碼。
  2. 繪製先前問題中位元流的差分曼徹斯特編碼。假設線路最初處於低電平。

0001110101 = LHLHLHHLLHHLHLLHLHHL (差分曼徹斯特編碼模式)

華夏公益教科書