乙太網的MAC層

MAC地址又稱為硬體地址或者是物理地址,其實是指區域網上的每一台計算機中固化在適配器的ROM中的地址。由於計算機的發展,世界上的計算機太多,為了能夠標識每一台計算機,目前所採用的MAC地址一般是6位元組的48位的長度。這裡我們可以這樣簡單的理解,所謂的MAC地址,實際上就是適配器地址

簡述一下適配的作用:

適配器實際上就是每台計算機接入到互聯網的一個介面,路由器因為要將數據在不同的區域網上面路由,所以路由器一般不止一個介面,就是說路由器一般不止一個硬體地址。

適配器有過濾的功能,它在區域網上每次收到一個MAC幀時(區域網上面傳輸的數據),就檢查MAC幀中的目的地址,發現如果和自己的地址一樣,則拿到該MAC幀,然後做其他處理,如果發現和自己的MAC地址不一樣,則把剛剛拿到的MAC幀再次丟到區域網中,以供其他的計算機使用。區域網上面的每一台計算機都是通過這種方式拿到自己需要的數據(MAC幀)。

Advertisements

MAC幀的格式

首先看一下乙太網V2的MAC幀格式(MAC格式標準有兩個,一個是DIX Ethernet V2標準,一個是IEEE的802.3標準)

上圖中的第一個地段的6個位元組放置的是目的地址,第二個欄位的6個位元組放置的內容是源地址,第三個欄位的2個位元組放置的內容是類型,用來標識上一層使用的是什麼協議,比如0800是IP協議,0806是ARP協議,8035是RARP協議,MAC層根據這些欄位的內容來把數據傳遞給特定的層去使用。第四個欄位是數據欄位,它的長度是46–1500位元組,如果數據的長度不滿46位元組,MAC幀就會加入一些數據進行填充,那麼上層是如何知道數據的長度呢,因為MAC幀並沒有一個欄位用來標識數據的長度,解決這個問題使用了一種曼徹斯特編碼,大家可以上網查閱。最後一個欄位是4個位元組是幀檢驗序列,使用了CRC校驗。

Advertisements

這裡還需要注意的一個問題是,當我們數據欄位的數據長度沒有46位元組時,上層是如何把多餘的由MAC幀填充的數據丟掉呢,這裡我們的上層協議中有欄位長度,會自動的識別,然後把多餘的數據丟掉。

Advertisements

你可能會喜歡