複製鏈接
請複製以下鏈接發送給好友

MAC地址

鎖定
MAC地址(英語:Media Access Control Address),直譯為媒體存取控制位址,也稱為局域網地址(LAN Address),MAC位址,以太網地址(Ethernet Address),硬件地址(Hardware Address)或物理地址(Physical Address),可見“MAC地址”實際上就是適配器地址或適配器標識符EUI-48,用來確認網絡設備位置的位址 [8]  。在OSI模型中,第三層網絡層負責IP地址,第二層數據鏈路層則負責MAC位址 [1]  。MAC地址用於在網絡中唯一標示一個網卡,一台設備若有一或多個網卡,則每個網卡都需要並會有一個唯一的MAC地址 [2] 
中文名
媒體存取控制位址
外文名
Media Access Control Address
別    名
MAC位址
別    名
硬件地址
作    用
唯一標識網絡設備
特    點
唯一性,固定性
所屬領域
計算機技術

MAC地址簡介

MAC地址也叫物理地址、硬件地址,由網絡設備製造商生產時燒錄在網卡(Network lnterface Card)的EPROM(一種閃存芯片,通常可以通過程序擦寫)。IP地址與MAC地址在計算機裏都是以二進制表示的,IP地址是32位的,而MAC地址則是48位的 [3] 
MAC地址由48位二進制數(6個字節)組成,通常表示為12個十六進制數,格式為XX-XX-XX-XX-XX-XX [8]  。如:00-16-EA-AE-3C-40就是一個MAC地址,其中前3個字節,16進制數00-16-EA代表網絡硬件製造商的編號,它由IEEE(電氣與電子工程師協會)分配,而後3個字節,16進制數AE-3C-40代表該製造商所製造的某個網絡產品(如網卡)的系列號。只要不更改自己的MAC地址,MAC地址在世界是唯一的。形象地説,MAC地址就如同身份證上的身份證號碼,具有唯一性 [3] 

MAC地址結構

MAC地址組成 MAC地址組成
網絡中每台設備都有一個唯一的網絡標識,這個地址叫MAC地址或網卡地址,由網絡設備製造商生產時寫在硬件內部。MAC地址則是48位的(6個字節),通常表示為12個16進制數,每2個16進制數之間用冒號隔開,如08:00:20:0A:8C:6D就是一個MAC地址。具體如下圖所示,其前3字節表示OUI(Organizationally Unique Identifier),是IEEE的註冊管理機構給不同廠家分配的代碼,區分不同的廠家。後3字節由廠家自行分配 [2] 
MAC地址最高字節(MSB)的低第二位(LSb)表示這個MAC地址是全局的還是本地的,即U/L(Universal/Local)位,如果為0,表示是全局地址。所有的OUI這一位都是0。
MAC地址最高字節(MSB)的低第一位(LSb),表示這個MAC地址是單播還是多播。0表示單播。 [3] 
MAC地址分為三種類型:物理MAC地址、廣播MAC地址和組播MAC地址。物理MAC地址是唯一一個標識以太網終端的地址。廣播MAC地址用於向局域網上的所有終端設備發送數據,其所有位都設置為1(即FF-FF-FF-FF-FF-FF)。組播MAC地址用於向局域網上的一組終端設備發送數據,其第8位為1 [8] 

MAC地址工作過程

網絡上的數據包從初始點開始 ,經過一個個中間節點最終到達目標節點 ,數據包是如何從初始節點開始識別一個個中間節點最終找到目標節點的呢? 實際上初始節點是根據目標節點的地址 ,將目標節點的IP地址映射到中間節點的MAC地址,找到第一個中間節點。從第一個中間節點出發,根據目標節點的IP地址映射到第二個中間節點的MAC地址,從而找到第二個中間節點……,以此類推,直到當找到最後一箇中間節點後,從最後一箇中間節點出發,根據目標節點的地址映射到目的節點的MAC地址,從而將數據包傳送給目標主機。所以數據包的傳送過程就是:不斷地將目標節點的地址映射到一個個中間節點的MAC地址,再從一個個中間節點出發,直到找到最終的目標節點 [4] 
數據包傳送的關鍵是將目標節點的IP地址映射到中間節點的MAC地址。IP地址與MAC地址的映射要通過ARP地址解析協議來完成,它可將網絡中的IP地址映射到主機的MAC地址,如交換機可以根據網絡中的IP地址來找到本地主機的MAC地址。具體過程是:當交換機接收到來自網上一個數據包時,會根據該數據包的目標IP地址,查看交換機內部是否有跟該IP地址對應的MAC地址 ,如果有上次保留下來的對應的MAC地址,就會將該數據包 轉發到對應MAC地址的主機上去。如果在交換機內部沒有與目標)地址對應的MAC地址,則交換機會根據ARP協議將目標IP地址按照“表”中的對應關係映射成MAC地址 ,數據包就被轉送到對應的MAC地址的主機上 [4] 

MAC地址作用

MAC地址的主要作用是在網絡通信中標識和定位網絡設備。當數據需要在網絡上傳輸時,發送方會將目標設備的MAC地址封裝在數據幀的頭部,以便網絡設備根據MAC地址進行尋址和轉發。MAC地址確保了數據能夠準確地被傳送到目標設備,而不是被廣播到整個網絡 [8] 
IP 地址是基於邏輯的,比較靈活,不受硬件的限制,也容易記憶。而 MAC地址在一定程度上與硬件一致,是基於物理的,能夠標識具體的網絡節點。這兩種地址各有優點,使用時也因條件不同而採取不同的地址 [5] 
大多數接入Internet的方式是把主機通過局域網組織在一起,然後再通過交換機或路由器等設備和 Internet 相連接。這樣一來就出現瞭如何區分具體用户,防止 IP地址被盜用的問題。由於IP地址只是邏輯上的標識,任何人都能隨意修改,因此不能用來具體標識一個用户。而 MAC地址則不然,它是固化在網卡里面的。從理論上講,除非盜來硬件即網卡,否則一般是不能被冒名頂替的。基於 MAC 地址的這種特點,因此局域網採用了用MAC地址來標識具體用户的方法 [6] 
在具體的通信過程中,通過交換機內部的交換表把 MAC地址和 IP 地址一一對應。當有發送給本地局域網內一台主機的數據包時,交換機首先將數據包接收下來,然後把數據包中的 IP 地址按照交換表中的對應關係映射成 MAC地址,然後將數據包轉發到對應的 MAC地址的主機上去。這樣一來,即使某台主機盜用了這個 IP 地址,但由於此主機沒有對應的 MAC地址,因此也不能收到數據包,發送過程和接收過程類似 [5] 
所以,無論是局域網,還是廣域網中的計算機之間進行通信時,最終都表現為將數據包從某種形式的鏈路上的一個初始節點出發,從一個節點傳遞到另一個節點,最終傳送到目的節點。數據包在這些節點之間的傳遞都是由 ARP(Address Resolution Protocol:地址解析協議)負責將IP地址映射到 MAC地址上來完成的 [5] 
身份證就是用來證明一個人的身份。平日身份證的作用並不是很大,但是到了有的關鍵時刻,必須有身份證來説明一個人的一切。那麼,IP地址與MAC地址綁定,就如同在日常生活中一個人與身份證的關係。因為,IP地址可以隨意的,但MAC地址是唯一説明IP地址身份的。例如,為防止IP地址被盜用,通常交換機的端口綁定(端口的MAC表使用靜態表項),可以在每個交換機端口只連接一台主機的情況下防止修改MAC地址的盜用,如果是三層設備還可以提供交換機端口、IP地址和MAC地址三者的綁定 [6] 

MAC地址特點

  • 唯一性:每個網絡設備的MAC地址都是全球獨一無二的,這是由IEEE(電氣電子工程師協會)統一分配的。MAC地址的唯一性確保了在網絡中能夠準確標識和定位每一個設備。
  • 固定性:MAC地址在設備出廠時就已經被燒入設備的EPROM中,是固定的,無法被用户更改。這意味着MAC地址具有長期穩定性,不會因為設備位置的改變而發生變化。
  • 用於局域網廣播:MAC地址主要用於在本地局域網中設備之間的通信。當設備需要發送數據時,它會將目標設備的MAC地址封裝在數據幀的頭部,並通過局域網廣播的方式將數據幀發送給所有設備。目標設備接收到數據幀後,會檢查數據幀頭部的MAC地址是否與自己的MAC地址匹配,如果匹配則接收該數據幀。
  • 長度為48位:MAC地址由48位二進制數組成,通常以12個十六進制數表示。這種長度使得MAC地址具有足夠的空間來唯一標識網絡上的每一個設備。
  • 物理層識別:MAC地址是在物理層進行識別的,即在數據鏈路層。這意味着MAC地址是在數據幀的傳輸過程中被識別和處理的,而不是在網絡層或傳輸層。

MAC地址獲取方法

在命令提示符下輸入命令“ipconfig /all”回車之後就會顯示當前計算機的一些網絡信息,其中“Physical Address”字樣的這一項就是當前計算機中網卡的 MAC地址。當然,如果計算機中安裝有多個網卡,則會有多個“Physical Address”字樣 [4] 

MAC地址與IP地址區別

IP地址和MAC地址相同點是它們都唯一,不同的特點主要有:
1.對於網絡上的某一設備,如一台計算機或一台路由器,其IP地址是基於網絡拓撲設計出的,同一台設備或計算機上,改動IP地址是很容易的(但必須唯一),而MAC則是生產廠商燒錄好的,一般不能改動。我們可以根據需要給一台主機指定任意的IP地址,如我們可以給局域網上的某台計算機分配IP地址為192.168.0.112 ,也可以將它改成192.168.0.200。而任一網絡設備(如網卡,路由器)一旦生產出來以後,其MAC地址不可由本地連接內的配置進行修改。如果一個計算機的網卡壞了,在更換網卡之後,該計算機的MAC地址就變了 [4] 
2.長度不同。IP地址為32位,MAC地址為48位 [4] 
3.分配依據不同。IP地址的分配是基於網絡拓撲,MAC地址的分配是基於製造商 [7] 
4.尋址協議層不同。IP地址應用於OSI第三層,即網絡層,而MAC地址應用在OSI第二層,即數據鏈路層。 數據鏈路層協議可以使數據從一個節點傳遞到相同鏈路的另一個節點上(通過MAC地址),而網絡層協議使數據可以從一個網絡傳遞到另一個網絡上(ARP根據目的IP地址,找到中間節點的MAC地址,通過中間節點傳送,從而最終到達目的網絡) [1] 

MAC地址MAC攻擊

(1) MAC泛洪攻擊
  • 定義:攻擊者不停的在局域網中發送不一樣的MAC地址(大量源MAC未知的數據包),然後交換機不停的學習從這個端口發送過來的MAC地址,由於每個交換機的MAC地址表的容量時有限的,當MAC表中的條目裝滿之後,就無法在學習對應的地址信息後續當局域網用户發來的數據到達交換機後,由於沒有對應MAC表項,會將數據包泛洪(交換機將大量正常的業務數據泛洪,可能導致網絡宕機,並且黑客收到後可以對其進行監聽)。
  • 影響:數據安全性降低,數據被監聽,竊取;導致網絡設備宕機,網絡癱瘓;導致流量風暴,佔用網絡帶寬和設備資源。
  • 防禦方法:禁止MAC地址學習功能-即使用靜態的MAC地址表(缺省會學習)、限制MAC地址學習數量、開啓端口安全功能
(2) MAC欺騙攻擊
  • 定義:攻擊者偽造現網已經存在的一個MAC地址發送交換機,導致交換機的MAC的記錄與真實的主機對應的MAC地址不一致,從而使交換機將報文錯誤的轉發給攻擊者。
  • 影響:此攻擊一般會造成MAC地址漂移(一個接口學習到的MAC在同一Vlan內的其它接口收到)
  • 防禦方法:MAC-Spoofing-Defend、MAC地址漂移技術、開啓端口安全功能

MAC地址MAC安全

(1) MAC-Spoofing-Defend技術
通過配置信任端口來防止MAC地址漂移,當接口配置為信任端口後,從此接口學習到的MAC地址不會在其他的接口上再學習到。缺省情況下接口都是非信任端口。
  • 相關配置:
1.mac-spoofing-defend enable 全局模式下開啓此功能
2.mac-spoofing-defend enable 接口模式下,將此接口配置為信任端口
  • 注意事項:如果更換信任接口連接的設備,則新設備的MAC地址不能被其他接口學習到。
(2) MAC地址漂移技術
通過配置接口的優先級來防止MAC地址漂移,具體分為兩種:第一,同一MAC地址,從高優先級接口學習到的會覆蓋從低優先級接口學習到的;第二,當接口優先級相同時,可以讓後學習到的不會覆蓋之前學習到的(默認會覆蓋)。
  • 相關配置:
1.Mac-learning priority 1 配置接口的優先級(缺省是0,越大越優先)
2.Mac-learning priority flapping-defend action discard 配置禁止MAC地址漂移時報文的處理動作為丟棄
3.Undo mac-learning priority 2 allow-flapping 允許相同優先級為2的接口發生漂移
  • 注意事項:對於禁止MAC地址漂移時的報文有丟棄和轉發兩種處理動作,缺省情況下是轉發
(3) 禁止/限制MAC地址學習配置
1.Mac-address learning active disable 禁止MAC地址學習功能
2. Mac-limit maximum 10 限制MAC地址學習數量
參考資料
  • 1.    譚玉軍. 淺析ARP欺騙原理及解決方法[J]. 甘肅科技, 2011, 27(18):29-31.
  • 2.    李紅. 帶你全方位認識MAC地址[J]. 電腦知識與技術, 2005(31):75-76.
  • 3.    朱鋒. 試談Mac地址認證[J]. 電腦編程技巧與維護, 2011(10):82-83.
  • 4.    黃小花. 談談網絡中的IP地址與MAC地址[J]. 數字技術與應用, 2015(12):41-41.
  • 5.    張明, 瞿朝成, 徐剛, et al. MAC地址深入解析[J]. 甘肅高師學報, 2006, 11(5):77-78.
  • 6.    王東, 侯翠華. IP地址和MAC地址綁定在路由器上的實現[J]. 技術與市場, 2011, 18(1):6-7.
  • 7.    ona. 需要IP地址和MAC地址的幾點原因[J]. 計算機與網絡, 2013, 39(24):31-31.
  • 8.    謝希仁.計算機網絡(第7版):電子工業出版社,2017