計算機網路-3-5-乙太網MAC層及交換機

黑夜中的小迷途發表於2021-11-12

MAC層的硬體地址

在區域網中,硬體地址又稱為實體地址或者MAC地址(因為這種地址用在MAC幀中)

IEEE 802標準為區域網規定了一種48位(6位元組)的全球地址,固化在介面卡的ROM中。

如果計算機中或者路由器有多個介面卡,那麼這樣的主機或者路由器就有多個“地址”,更準確的說,這種48位“地址”應當是某個介面的識別符號。

IEEE的註冊管理結構RA是區域網全球地址的法定管理機構,它負責分配地址欄位6個位元組中的前三個位元組。世界上凡是要生產區域網介面卡的廠家都必須向IEEE註冊管理結構購買由這三個位元組構成的號(地址塊),這個號的正式名稱為組織唯一識別符號OUI,通常也叫公司標識別符號。

乙太網介面卡還可以設定為一種特殊的工作方式,即混雜模式,工作在混雜模式的介面卡只要“聽到”有幀在乙太網上就可以悄悄傳輸接收下來,而不管幀傳送到哪裡。

MAC幀格式

常用的乙太網MAC幀格式有兩種,一種是DIX Ethernet V2標準(乙太網V2標準),另一種是IEEE的802.3標準。這裡介紹使用最多的乙太網V2的MAC幀格式(圖3-22)。圖中假定網路層使用的是IP協議。

image

乙太網V2的MAC幀比較簡單,由5個欄位組成。前兩個欄位分別為6位元組長的目的地址源地址欄位。第三個欄位為2位元組的型別欄位,用來標識上一層(例如網路層)使用的是什麼協議,以便把收到的MAC幀的資料上交給上一層的這個協議。例如,當協議欄位為0x0800代表上層網路層使用的是IP資料包;若型別為0x8137表示的是上層是從Novell IPX發過來的。第四個欄位是資料欄位,其長度為46-1500位元組之間(最小長度64位元組減去首部和尾部以及型別的長度18)。第五個欄位為4位元組的幀檢驗序列FCS(使用CRC校驗)

MAC層怎麼知道從從接收到的乙太網幀取出多少位元組交付給上一次層呢?這時候我們需要說一下曼徹斯特編碼,曼徹斯特編碼的重要一個特點是:在曼徹斯特編碼的每一個碼元的正中間一定有一次電壓轉換(由高到低或者由低到高)。當傳送方把一個乙太網幀傳送完畢後,就不再傳送其它碼元了(既不傳送0,也不傳送1)。因此,傳送方的網路介面卡上的介面上的電壓就不會發生變化了。這樣,接收方就可以很容易找到乙太網幀的結束位置。在這個位置上往前移4位元組(FCS校驗4位元組),就能確定資料欄位的結束位置。

當資料欄位的長度小於46位元組時候,MAC子層就會在資料欄位加入一個整數字段進行填充,以保證乙太網的幀不小於64位元組。

從圖3-22還可以看出,在傳輸媒體上實際傳送的要比MAC幀還多8個位元組,這是因為當一個站在剛開始接收MAC幀時,由於介面卡的時鐘尚未與到達的位元流達成同步,因此MAC幀的最前面的若干位就無法接收,結果使得整個MAC幀成為無用的幀。為了接收端迅速的實現位同步,從MAC層向下物理層還要幀的前面插入8位元組(由硬體生成),它由兩個欄位構成。第一個欄位時7位元組的前同步碼(1和0交替碼),它的作用是使接收端的介面卡在接收MAC幀的時候能夠迅速調整其時脈頻率,使它和傳送端的時鐘同步,也就是實現位同步,第二個欄位是**幀開始定界符,定義為10101011,它的前6位作用和前同步碼一樣,最後兩個連續的1就是告訴接收端介面卡:“MAC幀資訊就要來了,請介面卡注意接收”。

在乙太網上傳送資料時是以位單位傳送的。乙太網在傳送幀時,各幀之間還必須有一定的間隙。因此,接收端只要找到幀開始定界符,其後面的連續到達的位元流就屬於同一個MAC幀。可見乙太網不需要使用幀結束定界符。

擴充套件的乙太網

擴充套件的乙太網再網路層看起來仍然是一個網路

在物理層擴充套件乙太網

乙太網上的主機之間的距離不能太遠,否則主機傳送的訊號經過銅線傳輸就會衰減到CSMA/CD協議無法正常工作。

現在,擴充套件主機和集線器之間的距離的一種辦法就是使用光纖和一堆光纖調變解調器。如圖3-23:所示:

image

光纖調變解調器的作用是進行電訊號與光訊號的轉換。由於光纖帶來的時延很小,並且頻寬很寬,因此使用這種方法可以很容易的使主機從幾千公里以外的集線器相連。

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

擴充套件乙太網更常用的方法是在資料鏈路層上進行。最初人們使用的是網橋,網橋對接收到的幀根據其目的MCA地址進行轉發過濾

在1990年出現了乙太網交換機
乙太網交換機實質上就是一個多介面的網橋,乙太網交換機的每個介面都直接與一臺計算機或者另一臺乙太網交換機相連。並且一般都是工作在全雙工方式,乙太網交換機還具有並行性,即能同時聯通多對介面,使多對主機能同時通訊(而網橋只能一次分析和轉發一個幀),相互通訊的主機都是獨佔傳輸媒體,無碰撞的傳輸資料

乙太網的介面還有儲存器,能在輸出埠繁忙時把到來的幀進行快取。因此,如果乙太網交換機上的兩臺主機,同時向另一臺主機傳送幀,那麼當這臺主機上的介面繁忙時,傳送幀的這兩臺主機的介面會把收到的幀暫存一下,以後再傳送出去。

乙太網交換機是一種即插即用的裝置,其內部的幀交換表(又稱地址表)是通過自學習演算法自動逐漸建立起來的。乙太網交換機由於使用了專門的交換結構晶片,用硬體轉發,其轉發速率往往比要使用軟體轉發快得多。

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

使用一個簡單的例子說明交換機是怎樣進行學習的。
假定在圖3-25中乙太網有4個介面,各連線一臺計算機,其MAC地址分別為A,B,C,D。一開始交換機裡面的交換表使空的。(圖3-25(a))

image

A向B傳送一幀,從埠1進入到交換機,交換機在接收到幀後,先查詢交換表,沒有查到應從哪個介面轉發這個幀(在MAC地址這列中,找不到目的地址為B的主機)。接著,交換機把這個幀的源地址A和介面2寫入到交換表中,並向除介面1以外的所有介面廣播這個幀。

C,D丟棄掉這個幀,因為目的地址不對,只有B收下這個幀,這也稱之為過濾

從新寫入交換表的專案(A,1)可以看出,以後不管從哪一個介面收到幀,只要其目的地址是A,就應當把收到的幀從介面1轉發出去。這樣做的依據是:既然A發出的幀是從介面1進入到交換機的,那麼從交換機的介面1轉發出去的幀也應當可以到達A。經過一段時間後,交換表中的專案就齊全了。

有時候交換機上的介面更換主機,或者主機更換了網路介面卡,這就需要更改交換表中的專案。為此,在交換表中每個專案都設有一定的有效時間,過期的專案就會被自動刪除,用這樣的方法保證交換表中的資料都符合當前網路的實際情況。

乙太網交換機的這種自學方法不需要人工進行配置,非常的方便。

但有時候為了增加網路的可靠性,在使用乙太網交換機元件網路的時候,往往會增加一些冗餘的鏈路。在這種情況下,自學習的過程就可能導致乙太網幀在網路的某一個環路中無限制的兜圈子,白白消耗了網路資源,如圖3-26:

image

為了解決兜圈子問題,IEEE的802.1D標準制定了一個生成樹協議STP,其要點的協議是不改變網路的實際拓撲,但在邏輯上切斷某些鏈路。使得從一臺主機到其他主機的路徑是無環路的樹狀結構,從而避免廣播風暴大量佔用交換機的資源。

生成樹STP協議原理:任意一交換機中如果到達根網橋有兩條或者兩條以上的鏈路,生成樹協議都根據演算法把其中一條切斷,僅保留一條,從而保證任意兩個交換機之間只有一條單一的活動鏈路。因為這種生成的拓撲結構,很像是以根交換機為樹幹的樹形結構,故為生成樹協議。

匯流排乙太網使用了CSMA/CD協議,以半雙工進行通訊,但是乙太網交換機採用的是全雙工通訊,並不是使用CSMA/CD協議,為什麼還叫乙太網?原因是它的幀結構未發生變化,仍然採用乙太網的幀結構

虛擬區域網

利用乙太網交換機可以很方便的實現虛擬區域網(VLAN),在IEEE802.1Q標準中,對虛擬區域網是這樣定義的:虛擬區域網是由一些區域網網段構成的與物理位置無關的邏輯組,而這些網路具有某些共同的需求,每一個VLAN幀都有一個明確的識別符號,指明傳送這個幀的計算機屬於哪一個VLAN。

本章重要的概念

  • 鏈路是從一個節點到相鄰節點的一段物理層線路,資料鏈路是在鏈路的基礎上增加了一些必要的硬體(如網路介面卡)和軟體(如協議的實現)。

  • 資料鏈路層使用的通道主要是點對點通道和廣播通道兩種。

  • 資料鏈路層傳送的協議資料單元是幀。資料鏈路層的三個基本問題是:封裝成幀,透明傳輸,差錯檢測。

  • 迴圈冗餘檢驗CRC是一種檢錯方法,而幀檢測序列FCS是新增在資料後面的冗餘碼。

  • 點對點協議PPP是資料鏈路層使用最多的一個協議,它的特點是:簡單,只檢測差錯,而不是糾正錯誤,不使用序列號,也不進行流量控制。可同時支援多種網路協議。

  • PPoE是為寬頻上網的主機使用的鏈路層協議。

  • 區域網的優點是:

    • 具有廣播功能,從一個站點可以很方便的訪問全國。
    • 便於系統的擴充套件和演變。
    • 提高了系統的可靠性,可用性和生存性。
  • 計算機與外界區域網的通訊要通過通訊介面卡(或網路介面卡),它又稱為網路介面卡或網路卡。計算機的硬體地址就在介面卡的ROM中。

  • 乙太網採用無連線的工作方式,對傳送的資料幀不進行編號,也不要求對方發回確
    認。目的站收到有差錯幀就把它丟棄,其他什麼也不做。

  • 乙太網採用的協議是具有衝突檢測的載波監聽多點接入 CSMA/CD。協議的要點是:傳送前先監聽,邊傳送邊監聽,一旦發現匯流排上出現了碰撞,就立即停止傳送。然後按照退避演算法等待一段隨機時間後再次傳送。因此,每一個站在自己傳送資料之後的一小段時間內,存在著遭遇碰撞的可能性。乙太網上各站點都平等地爭用乙太網通道。

  • 傳統的匯流排乙太網基本上都是使用集線器的雙絞線乙太網。這種乙太網在物理上是星形網,但在邏輯上則是匯流排形網。集線器工作在物理層,它的每個介面僅僅簡單地轉發位元,不進行碰撞檢測。

  • 乙太網的硬體地址,即MAC地址實際上就是介面卡地址或介面卡識別符號,與主機
    所在的地點無關。源地址和目的地址都是48位長。

  • 乙太網的介面卡有過濾功能,它只接受單播幀,廣播幀和多播幀。

  • 使用集線器在物理層上擴充套件乙太網(擴充套件後的乙太網仍然是一個網路)。

  • 交換式集線器常稱為乙太網交換機或第二層交換機(工作在資料鏈路層)。它就是
    個多介面的網橋,而每個介面都直接與某臺單主機或另一個集線器相連,且工作
    在全雙工方式。乙太網交換機能同時連通許多對的介面,使每一對相互通訊的主機
    都能像獨佔通訊媒體那樣,無碰撞地傳輸資料。

相關文章