鏈路層 MAC 位址

2022-03-08 22:01:24 字數 3922 閱讀 1599

禁止碼迷,布布扣,豌豆**,碼農教程,愛碼網等第三方爬蟲**爬取!

目錄mac 幀的格式

ip 位址與硬體位址

參考資料

在區域網中,並不是主機或路由器具有鏈路層位址,而是它們的介面卡(網路介面)具有鏈路層位址。介面卡本來是在主機箱內插入一塊網路界面板,但是現在的計算機主機板上都嵌入了介面卡。計算機與外界區域網的通訊就是通過介面卡進行的,要做到這一點,介面卡需要具備以下功能:

資料進行序列/並行傳輸的轉換。

對資料進行快取。

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

實現乙太網協議。

硬體位址又稱為實體地址mac 位址,硬體位址存在於介面卡的 rom 中。ieee 802 標準所說的「位址」嚴格地講應當是每乙個站的「名字」或識別符號,它規定 mac 位址欄位可採用 6 位元組(48位)或 2 位元組(16 位)這兩種中的一種。

介面卡可能是由不同地區的不同公司生產的,怎麼保證沒有介面卡具有相同的 mac 位址呢?ieee 的註冊管理機構對 mac 位址空間進行管理,他們負責向廠家分配位址字段 6 個位元組中的前三個位元組 (即高位 24 位),稱為組織唯一識別符號oui。位址字段 6 個位元組中的後三個位元組 (即低位 24 位) 由廠家自行指派,稱為擴充套件唯一識別符號,必須保證生產出的介面卡沒有重複位址。乙個位址塊可以生成 2^24 個不同的位址,這種 48 位位址稱為 mac-48,它的通用名稱是 eui-48。生產介面卡時,6 位元組的 mac 位址已被固化在介面卡的 rom,因此 mac 位址也叫做硬體位址 (hardware address)或實體地址。

ieee 規定位址欄位的第一位元組的最低位為i/g 位,ieee 只分配位址欄位前三個位元組中的 23 位。。當 i/g位 = 0 時位址字段表示乙個單站位址,當 i/g位 = 1 時表示組位址,用來進行多播。當 i/g 位分別為 0 和 1 時,乙個位址塊可分別生成 223 個單個站位址和 223 個組位址。所有 48 位都為 1 時為廣播位址,只能作為目的位址使用。

ieee 把位址字段第一位元組的最低第 2 位規定為 g/l 位(乙太網幾乎不管這個位)。當 g/l位 = 0 時是全球管理(保證在全球沒有相同的位址),廠商向 ieee 購買的 oui 都屬於全球管理。當 g/l位 = 1 時是本地管理,這時使用者可任意分配網路上的位址。

介面卡具有過濾功能,介面卡從網路上每收到乙個 mac 幀時,就首先用硬體檢查 mac 幀中的 mac 位址。如果是發往本站的幀則收下,然後再進行其他的處理。否則就將此幀丟棄,不再進行其他的處理。「發往本站的幀」包括以下三種幀:

廣播幀(一對全體):傳送給本區域網上所有站點的幀(全 1);

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

常用的乙太網 mac 幀格式有 dix ethernet v2 標準和 ieee 的 802.3 標準,最常用的 mac 幀是乙太網 v2 的格式。

乙太網 v2 的格式有 5 個字段,目的位址、源位址欄位有 6 位元組。型別字段2 位元組,型別字段用來標誌上一層使用的是什麼協議,以便把收到的 mac 幀的資料上交給上一層的這個協議。第四個欄位是資料字段,長度在 46 ~ 1500 位元組(最小長度 64 位元組 - 18 位元組的首部和尾部 = 資料字段的最小長度 46位元組)。最後乙個欄位是幀檢驗序列 fcs 字段,長度是 4 位元組。

當資料字段的長度小於 46 位元組時,應在資料字段的後面加入整數位元組的填充字段,以保證乙太網的 mac 幀長不小於 64 位元組。

當乙個站剛開始接收 mac 幀時,若介面卡時鐘未與到達的位元流達成同步時,幀的接收就有可能出錯。因此為了達到位元同步,在傳輸**上實際傳送的要比 mac 幀還多 8 個位元組。在幀的前面插入(硬體生成)的 8 位元組中,第乙個欄位共 7 個位元組是前同步碼,用來迅速實現 mac 幀的位元同步。第二個字段 1 個位元組是幀開始定界符,表示後面的資訊就是 mac 幀。

出現以下情況之一的幀,即為無效的 mac 幀:

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

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

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

資料字段的長度不在 46 ~ 1500 位元組之間(有效的 mac 幀長度為 64 ~ 1518 位元組之間)。

因為乙太網傳送幀時,各幀之間必須有一定間隔,因此接收端只需要找打幀開始定界符,其後面到達的位元流就都屬於乙個 mac 幀。由此可見,乙太網並不需要結束定界符。幀間最小間隔為 9.6 us,相當於 96 bit 的傳送時間。乙個站在檢測到匯流排開始空閒後,還要等待 9.6 us 才能再次傳送資料。這樣做是為了使剛剛收到資料幀的站的接收快取來得及清理,做好接收下一幀的準備。

與乙太網v2 mac 幀格式相似,區別在於:

ieee 802.3 規定的 mac 幀的第三個欄位是「長度 / 型別」。當這個字段值大於 0x0600 時(相當於十進位制的 1536),就表示「型別」,這樣的幀和乙太網 v2 mac 幀完全一樣。當這個字段值小於 0x0600 時才表示「長度」。

當「長度/型別」字段值小於 0x0600 時,資料字段必須裝入上面的邏輯鏈路控制 llc 子層的 llc 幀。

ip 位址與硬體位址是不同的位址,簡單地說mac 位址決定下一跳,ip 位址決定終點在哪。從層次的角度看,硬體位址(或實體地址)是資料鏈路層和物理層使用的位址。ip 位址是網路層和以上各層使用的位址,是一種邏輯位址(稱 ip 位址是邏輯位址是因為 ip 位址是用軟體實現的)。

傳送資料時,資料從高層下到低層,然後再到通訊鏈路上傳輸。使用 ip 位址的資料報到達資料鏈路層時,就被封裝為 mac 幀。

在 ip 層抽象的網際網路上只能看到 ip 資料報,圖中的 ip1 → ip2 表示從源位址 ip1 到目的位址 ip2 ,兩個路由器的 ip 位址並不出現在 ip 資料報的首部中。 對於路由器而言,路由器只根據目的站的 ip 位址的網路號進行路由選擇。 在具體的物理網路的鏈路層中,只能看見 mac 幀而看不見 ip 資料報。

ip 層抽象的網際網路遮蔽了下層很複雜的細節。在抽象的網路層上討論問題,就能夠使用統一的、抽象的 ip 位址研究主機和主機或主機和路由器之間的通訊。

《計算機網路(第七版)》 謝希仁 著,電子工業出版社

《計算機網路 自頂向下方法》 [美] james f.kurose,keith w.ross 著,陳鳴 譯,機械工業出版社

基礎(網路知識 四) 鏈路層的MAC位址

在網路結構中會有ip位址,其專注於網路層,將資料報從乙個網路 到另外乙個網路 而mac media access control,介質訪問控制 位址專注於資料鏈路層,將乙個資料幀從乙個節點傳送到相同鏈路的另乙個節點,所以也叫實體地址 硬體位址或鏈路地址,由網路裝置製造商生產時寫在硬體內部。mac位址...

資料鏈路層 MAC筆記

mac層的硬體位址 硬體位址是mac位址或實體地址。由48位的位址組成。固化在網絡卡的rom中。目前mac用來表示網路的位址欄位有6位元組和2位元組,但普遍用6位元組的mac位址。相關知識點 組織唯一識別符號oui 即6個位元組中的前三個位元組。後三位元組稱為擴充套件識別符號。通過上述組成的位址,稱...

MAC與IP位址及網路的資料鏈路層與網路層

談起mac位址,不得不說一下ip位址。ip位址工作在tcp ip參考模型的第三層網路層。ip位址專注於網路層,將資料報從乙個網路 到另外乙個網路 而mac位址專注於資料鏈路層,將乙個資料幀從乙個節點傳送到相同鏈路的另乙個節點。定位網路中的計算機的位置,最常用的有網域名稱位址 ip位址 mac位址三種...