[RSCH] 4 分鐘閱讀OraCore 編輯部

OSI 第2層:資料鏈結層速懂

資料鏈結層負責同一網段內的 frame 傳輸、MAC 位址與媒體存取,常見於 Ethernet、Wi‑Fi 與交換器除錯。

分享 LinkedIn
OSI 第2層:資料鏈結層速懂

兩台設備接在同一個網段,資料還是不能隨便送。誰先講、封包怎麼包成 frame、出錯後怎麼處理,這些都屬於 OSI 第 2 層。

資料鏈結層負責同一網段內的 frame 傳輸、MAC 位址與媒體存取。

這次重點不是新理論,而是把 layer 2 的位置、分工和常見實作講清楚。對做網路、寫系統或在現場排障的工程師來說,這一層常常就是問題開始冒頭的地方。

發生了什麼

訂閱 AI 趨勢週報

每週精選模型發布、工具應用與深度分析,直送信箱。不定期,不騷擾。

不會寄垃圾信,隨時可取消。

資料鏈結層位在實體層和網路層之間,處理的是節點到節點的本地傳輸。它不負責跨網段路由,而是把資料整理成 frame,讓同一條鏈路或同一個 LAN 上的裝置能互相溝通。

OSI 第2層:資料鏈結層速懂

在 OSI 模型裡,layer 2 常再拆成兩個子層:LLC 與 MAC。LLC 負責多工上層協定,也可能提供 flow control 或 acknowledgment;MAC 則決定誰能使用媒體,以及 frame 何時送出、怎麼同步、怎麼定址。

  • Layer 2 傳的是 frame,不是 packet。
  • Frame header 會帶 source 和 destination MAC address。
  • 很多 LAN 用的是平面位址,和可路由的網路層位址不同。
  • Ethernet 常見 CSMA/CD,Wi‑Fi 常見 CSMA/CA。
  • 有些協定會加上錯誤偵測、重傳或 flow control。

不同標準對 layer 2 的切法也不完全一樣。IEEE 802 系列多半把 LLC 和 MAC 分開寫,像 HDLC 這類協定則可能把兩者合在一起;家用電力線網路的 G.hn 還會再加一層 convergence sublayer,處理不同上層流量的銜接。

如果把它放回日常網路來看,layer 2 做的其實是本地交通管理。它先確認資料能不能在這條鏈路上安全送出,再把後續的路由工作交給第 3 層。

為什麼重要

對開發者來說,layer 2 會直接影響裝置能不能在局部網路裡正常說話。交換器轉發、VLAN、MAC filtering、碰撞處理和 frame 邊界,這些都不是應用程式層能補救的事。

這也解釋了為什麼有些故障只發生在本地,有些則會一路擴散。Ethernet 在有線短距離環境裡通常不需要在 layer 2 做太多重傳,但無線或某些調變式連線,常得靠 link-layer recovery 來撐住錯誤率。

實務上,這會影響延遲、吞吐量,還有你應該把錯誤處理寫在哪一層。當封包看起來像「送不出去」,先查的往往不是 API,而是交換器設定、MAC 位址表、媒體存取規則,或是實體連線本身。

TCP/IP 模型把這些工作收進 link layer,但 OSI 的說法仍然好用,因為它能快速把問題定位到正確區段。對除錯來說,這種分層不是學術名詞,而是縮短排查路徑的方法。

換句話說,layer 2 是網路的本地規則書。資料還沒離開這個區段之前,很多成敗就已經決定了。

如果你在看 packet loss、Wi‑Fi 不穩,或交換器上的異常流量,先問的通常不是「應用壞了沒」,而是「第 2 層到底有沒有正常轉起來」。

補充背景

OSI 模型把網路問題切成七層,是為了讓不同團隊能用同一套語言溝通。這套語言在現場排障時特別有用,因為它能把「裝置看得到、資料送不動」和「跨網段不通」分開看。

OSI 第2層:資料鏈結層速懂

和第 3 層相比,layer 2 的範圍更小,但細節更密。第 3 層看的是可路由位址與跨網段傳遞,第 2 層看的是同一段鏈路內的接入、定址與資料封裝,兩者常常一起出問題,但責任邊界不同。

這也是為什麼交換器、網卡驅動、無線接入點和 VLAN 設定,會在很多事故裡成為第一批檢查項目。只要本地 frame 不穩,後面的 DNS、API、資料庫連線都可能看起來像壞掉,其實只是底層傳輸失常。

對網路工程師而言,理解 layer 2 不是背名詞,而是知道哪個層級能解哪種錯。對應用開發者來說,它則是提醒:有些延遲和丟包,真的不是程式碼能單獨解決的。

真正的問題通常很樸素:資料有沒有在同一條鏈路上被正確接收。這就是第 2 層的工作,也是它最常被忽略、卻最容易出事的地方。