日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

來源:真沒什么邏輯

作者:Draveness

mac 地址(Media access control address)是分配給網絡接口控制器(Network interface controller, NIC)的唯一標識符,它會在網絡段中充當網絡地址使用[^1],所有具有網卡的主機都有單獨的 MAC 地址,該地址總共包含 48 位,占 6 字節的空間,可以表示 281,474,976,710,656 個網絡設備,一個正常的 MAC 地址如下所示的格式表示,每個字節都會使用兩位 16 進制的數字:

6e:77:0f:b8:8b:6b

因為 MAC 地址需要保證唯一,所以 IEEE 會根據設備的制造商分配地址段,48 位 MAC 地址的前 24 位是設備制造商的標識符[^2],也就是組織唯一標識符(Organizationally Unique Identifier,OUI),后面的 24 位是序列號;如果每個設備制造商都能保證在同一個命名空間中的全部 MAC 地址唯一,那么全世界所有的 MAC 地址就可以保證唯一。

MAC 地址為什么不需要全球唯一

圖 1 - MAC 地址

MAC 地址可以使用兩種不同的格式表示,分別是 48 位的 EUI-48 和 64 位的 EUI-64[^3],本文會使用 EUI-48 格式的 MAC 地址,EUI-64 主要用于 IPv6 協議,我們在這篇文章就不展開討論了。在通常情況下,MAC 地址會使用 24 位表示組織的序列號,但是因為很多組織不會生產這么多的設備,所以在實際操作中會劃分出三種不同大小的地址塊[^4]:

MAC 地址為什么不需要全球唯一

圖 2 - MA-L, MA-M, MA-S

  • MA-L(MAC Address Block Large) - 包含 24 位組織標識符和 24 位地址;
  • MA-M(MAC Address Block Medium) - 包含 28 位組織標識符和 20 位地址;
  • MA-S(MAC Address Block Small) - 包含 36 位組織標識符和 12 位地址;

這三種不同大小的地址塊價格也完全不同,MA-L 的注冊價格為 2995 美金,而 MA-S 的注冊價格為 755 美金,感興趣并且有需要的讀者可以在 IEEE 的官方購買[^5],在理想情況下,所有的地址加起來價值大概在 52 萬億美金左右,果然定義和掌握了標準就可以躺著等別人注冊來賺錢。

這種由機構分發 MAC 地址段并由設備商保證地址唯一的方式就是為了保證全世界所有硬件的網絡地址唯一,但是在實際操作中,全球唯一是無法保證的而且我們也并不需要地址的全球唯一,這主要因為以下兩個原因:

  • 在不同操作系統上,我們都可以通過軟件直接修改網卡的 MAC 地址;
  • 只需要保證一個局域網內的 MAC 地址不重復,網絡就可以正常工作;

修改地址

無論是在 linux 上還是在 macOS 上,修改網絡設備的 MAC 地址都是非常簡單的。在 Linux 操作系統中我們可以使用命令 ifconfig 修改設備上的 MAC 地址:

$ ifconfig eth0 | grep ether        ether 6e:77:0f:b8:8b:6b  txqueuelen 1000  (Ethernet)$ ifconfig eth0 down$ ifconfig eth0 hw ether 6e:77:0f:b8:8b:6a$ ifconfig eth0 up$ ifconfig eth0 | grep ether        ether 6e:77:0f:b8:8b:6a  txqueuelen 1000  (Ethernet)

只要我們使用上述的命令就可以輕松地修改當前網卡的 MAC 地址,不過建議不要在遠程的 Linux 機器上使用,最好在本地的 Linux 上測試相關的命令,在修改測試完成之后也最好使用命令將 MAC 地址改回去;在 macOS 上修改 MAC 地址也可以使用ifconfig 命令,使用的方式與 Linux 幾乎完全相同。

因為 MAC 地址是與硬件綁定的,所以這種修改 MAC 地址的方式其實都是臨時的,一旦操作系統重啟,這些變更就會被系統撤銷,想要讓類似的變更永久生效需要在系統重啟時執行相應的命令或者修改對應的網卡配置文件[^6]。

局域網通信

所有的計算機和終端設備都需要通過網絡適配器連接到局域網中,每一個適配器都有唯一的鏈路層地址,也被叫做 LAN 地址或者 MAC 地址,MAC 地址被設計成了扁平結構,它們不會隨著所處網絡的不同而發生改變。

當設備的網絡適配器想要向其他的適配器發送數據幀時,它會將目的適配器的 MAC 地址插入到如下所示的以太網幀中,每個以太網幀都與 IP 數據報類似,包含源地址和目標地址,只是以太網幀中的地址是 MAC 地址,而 IP 數據報中的地址是 IP 地址:

MAC 地址為什么不需要全球唯一

圖 3 - 以太網幀

局域網中的數據傳輸不是通過網絡層的 IP 地址進行路由和轉發的,然而 IP 地址一般都是發送數據主機知道的唯一信息,想要在局域網中發送數據,還是需要知道它們的 MAC 地址。當我們的設備想要向其他的設備發送數據時,它會先通過 ARP(Address Resolution Protocol,地址解析協議) 在局域網中獲取目的 IP 地址對應的 MAC 地址:

  1. 源主機會向當前局域網中發送 ARP 請求,目標的 MAC 地址是 FF-FF-FF-FF-FF-FF,這表示當前請求是一個廣播請求,局域網內的所有設備都會收到該請求;
  2. 接收到 ARP 請求的主機都會檢查目的 IP 和自己的 IP 地址是否一致;
    1. 如果 IP 地址不一致,主機會忽略當前的 ARP 請求;
    2. 如果 IP 地址一致,主機會直接向源主機發送 ARP 響應;
  3. 源主機在接收到 ARP 的響應之后,會更新本地的緩存表并繼續向目的主機發送數據;
MAC 地址為什么不需要全球唯一

圖 4 - 地址解析協議

在局域網中我們一般會使用集線器(Hub)或者交換機(Switch)來連接不同的網絡設備。因為在集線器連接的局域網中,所有的數據幀都會被廣播給局域網內的全部主機,所以使用相同的 MAC 地址一般也不會出現太多的問題;但是交換機會學習局域網中不同設備的 MAC 地址并將數據幀轉發給特定主機,所以如果局域網是由交換機構成的,就會影響網絡的通信。

MAC 地址為什么不需要全球唯一

圖 5 - 集線器和交換機

假設局域網中的具有兩臺 MAC 地址完全相同的網絡設備 A 和 B,即6e:77:0f:b8:8b:6b,當設備 A 想要向設備 B 發送以太網幀時會遇到如下所示的情況:

  1. 設備 A 在構造的以太網幀中將源地址和目的地址都設置為 6e:77:0f:b8:8b:6b 并向交換機發送數據;
  2. 交換機接收到了設備 A 發送的數據幀后,會從數據幀的源地址學習到設備 A 的 MAC 地址并將 6e:77:0f:b8:8b:6b -> A 這條記錄插入本地緩存中;
  3. 交換機發現收到數據幀的目的地址會指向了網絡設備 A,所以它會將該數據轉發回 A;

因為交換機的 MAC 地址學習策略,所以我們不能在同一個局域網中使用相同的 MAC 地址,但是因為 MAC 地址是鏈路層網絡中的概念,跨局域網的網絡傳輸需要通過網絡層的 IP 協議,所以在不同的局域網中使用相同的 MAC 地址就不存在類似的問題了。

總結

MAC 地址是鏈路層網絡中的重要概念,在局域網中會通過 MAC 地址轉發以太網數據幀,全球唯一的 MAC 地址是非常理想的情況,然而在實際的網絡場景中,我們不需要保證如此強的限制:

  • MAC 地址可以通過軟件進行修改,而第三方的山寨廠商不會在 IEEE 中申請獨立的 MAC 地址段,它們也可能會盜用其他廠商申請的 MAC 地址;
  • 保證 MAC 地址在局域網中唯一就不會造成網絡問題,不同局域網中的 MAC 地址可以相同;

上述的結論不是說全球唯一的 MAC 地址沒有意義,與此相反,我們應該盡可能保證 MAC 地址的唯一,這樣在組建局域網時才不需要手動確認所有設備的 MAC 地址,減少網絡工程師的工作量。到最后,我們還是來看一些比較開放的相關問題,有興趣的讀者可以仔細思考一下下面的問題:

  • MAC 地址和 IP 地址之間有什么樣的關系?
  • 為什么我們有了 MAC 地址還需要 IP 地址?

分享到:
標簽:地址 MAC
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定