第 2 章 乙太網路與交換器運作

MAC 位址與乙太網路訊框

每張網卡出廠就刻著一組全世界唯一的號碼。這節告訴你它長什麼樣、怎麼用。

10 分鐘


MAC 位址(Media Access Control address)是燒在網卡上的實體位址,長度 48 位元,寫成 12 個十六進位數字。Cisco 慣用點分格式:001a.2b3c.4d5e,其他廠商常寫成 00:1A:2B:3C:4D:5E

  00:1A:2B  :  3C:4D:5E
  ─────────    ─────────
   前 24 位元    後 24 位元
   OUI          廠商自行編號
   廠商識別碼    (每張卡不同)

OUI = Organizationally Unique Identifier
      向 IEEE 申請,可反查是哪家廠商
MAC 位址的結構

三種目的地 MAC

類型中文目的 MAC 長相意思
Unicast單播對方那張卡的位址只給某一台
Broadcast廣播FFFF.FFFF.FFFF給這個網段上所有人
Multicast多播0100.5Exx.xxxx 等給有訂閱的那一群

乙太網路訊框的欄位

┌────────┬────────┬────────┬──────┬──────────────┬─────┐
│ 前導碼 │ 目的   │ 來源   │ 類型 │   資料負載    │ FCS │
│ 8 B    │ MAC 6B │ MAC 6B │ 2 B  │  46~1500 B   │ 4 B │
└────────┴────────┴────────┴──────┴──────────────┴─────┘
                     ▲               ▲              ▲
              先寫目的再寫來源   最小 46 最大 1500  錯誤檢查
Ethernet II 訊框格式(考試最常考的版本)
  • 目的 MAC 排在來源 MAC 前面:因為交換器只要讀到目的位址就能開始轉送,不必等整個訊框讀完。這叫 cut-through 轉送。
  • 類型(Type)欄位:告訴接收方「裡面包的是什麼」。0x0800 = IPv4,0x0806 = ARP,0x86DD = IPv6。
  • FCS(Frame Check Sequence):錯誤檢查碼。算出來對不上就直接丟掉,不會要求重傳 —— 重傳是第 4 層 TCP 的工作。
  • 最小 64 位元組:整個訊框(含標頭)不足 64 位元組會被填充(padding)。小於 64 的殘缺訊框叫 runt,是實體層有問題的徵兆。

每一層各用什麼「識別碼」認出上層協定

這是一個很好用的統整框架:封包一層層被拆開時,每一層都需要知道「裡面包的是哪種上層協定」,而三個層級各自用不同的欄位來標示。

所在層欄位例子
第 2 層(訊框)EtherType(類型)0x0800 = IPv4、0x0806 = ARP、0x86DD = IPv6
第 3 層(IP 標頭)Protocol Number(協定號)6 = TCP、17 = UDP、1 = ICMP、89 = OSPF
第 4 層(TCP/UDP)Port Number(連接埠)80 = HTTP、443 = HTTPS、22 = SSH

立即測驗這一節(3 題)