在學習 OSI 模型的過程中,會覺得有些抽象、難以想像每一層到底在幹嘛。這篇文章會:「用手機或電腦連 Wi-Fi 上 Google 搜尋」,走一遍資料封包經過的 OSI 七層歷程。


🛰 OSI 七層模型快速回顧

層級名稱功能簡介
7Application應用服務,例如瀏覽器、HTTP 請求
6Presentation編碼、加密、壓縮,例如 HTTPS、TLS
5Session建立與維持連線,例如 TLS Session
4Transport傳輸協定(TCP / UDP),端口與可靠性
3NetworkIP 位址與路由選擇
2Data LinkMAC 位址與資料幀處理(Ethernet / Wi-Fi)
1Physical實體訊號傳送(電脈衝、無線電波)

📁 Layer 2 & Layer 1 重點整合:

功能說明
封裝成 Frame加上來源 / 目的 MAC、型別欄位(EtherType)、FCS 等
本地傳送控制利用 MAC 位址找出下一跳、或轉發給 Switch 處理
錯誤檢查(非更正)FCS(Frame Check Sequence)用 CRC 判斷封包是否損毀
使用協定Ethernet(802.3)、Wi-Fi(802.11)
碰撞與等待控制CSMA/CD(以太網)、CSMA/CA(Wi-Fi)確保安全通訊

🧠 MAC Address 是什麼?

  • 長度為 48 位元(6 bytes),寫法如 00:1A:2B:3C:4D:5E
  • 前 24 位是廠商識別(OUI),後 24 位是序號
  • 每張網卡都應該有唯一的 MAC(但也可以 spoof)

💬 Layer 2 常見裝置:

  • Switch:根據 MAC 轉發資料幀
  • Wireless AP:無線裝置的 L2 集線點
  • NIC(網卡):收發 MAC Frame 的實體裝置

⚙️ Layer 1(Physical Layer

Layer 1 負責把 bit 變成實際可傳送的訊號,透過不同媒介把資料送出去。

功能說明
將 bit 實體化把 1 和 0 轉成電壓、光訊號、電磁波等
選擇傳輸媒介UTP(銅線)、光纖(Single-mode / Multi-mode)、Wi-Fi
控制調變與頻段Wi-Fi:OFDM 調變、2.4GHz / 5GHz / 6GHz 頻段
檢查訊號品質雜訊、干擾、延遲、訊號衰減等都在這層發生

📶 舉例:Wi-Fi 的 Layer 1 行為

  • 手機送出封包 → Layer 1 將其編成電磁波
  • 透過無線天線發射 → 被無線基地台收到並解碼還原為 bit
  • 同樣,收訊號時也要辨識波型 → bit stream → Layer 2 處理

💬 Layer 1 常見裝置與介面:

  • 網路線(Cat 5e / Cat 6 / Cat 7)
  • RJ-45 接頭 / SFP 光纖模組
  • Wi-Fi 天線 / 無線晶片
  • Hub(現已淘汰)

📌 Layer 1 vs Layer 2 小總表

比較項目Layer 1(實體)Layer 2(資料鏈結)
資料單位BitFrame(幀)
內容電壓、光訊號、無線波MAC 位址、FCS、型別、封包載荷
協定無(802.3 電氣規範)Ethernet、Wi-Fi、PPP 等
裝置Hub、線材、光模組、無線收發器Switch、Wireless AP、NIC
功能負責傳送訊號決定資料送往哪個 MAC、檢查錯誤、基本封裝邏輯

🧟‍♀️ 在 Google 搜尋時到底發生什麼事?

🚀 打開瀏覽器、輸入 google.com,按下 Enter:

Layer 7 - Application

  • 瀏覽器(Chrome/Safari)準備送出一個 HTTP 或 HTTPS 請求
  • 資料:GET / HTTP/1.1

Layer 6 - Presentation

  • 如果是 HTTPS,這裡會處理 TLS 加密 / 編碼

Layer 5 - Session

  • 建立 TCP 連線與 TLS session(例如 TLS 1.3 handshake)

Layer 4 - Transport

  • 使用 TCP(可靠傳輸)與特定 port(ex: 443)
  • 建立三次握手(SYN → SYN-ACK → ACK)

Layer 3 - Network

  • 經由 DNS 查到 google.com 的 IP(例如 142.250.x.x)
  • 封裝為 IP 封包,決定路由(從家裡 router 出去)
  • 用 Wi-Fi 傳輸時,資料被包成 IEEE 802.11 frame(含 MAC 位址)
  • AP(無線基地台)收到後,轉給下一跳(例如家用 router)

Layer 1 - Physical

  • bit 被編碼為無線電波(2.4GHz / 5GHz)從你設備發送出去
  • 這是實際的「傳輸介質」:電波、電纜、光訊號

🏢 Google 收到後會怎麼做?

Google server 會做反向動作:

  • Layer 1~7:從 bit 開始解封,逐層向上還原封包內容
  • 讀出你的請求、處理搜尋邏輯、產出 HTML 結果

然後:

  • 再從 Layer 7 → Layer 1 把結果打包,回送給你

🔁 回應封包從 Google 回到手機的流程:

Google Server:

  • Layer 7:產出搜尋結果的 HTML 資料
  • Layer 6:壓縮、加密資料(如 gzip + TLS)
  • Layer 5:用 session 維持連線狀態
  • Layer 4:TCP 分段、加上序號
  • Layer 3:包裝 IP 封包(目的 IP 是手機的公網 IP 或 NAT gateway)
  • Layer 2:封裝為以太網幀(送出)
  • Layer 1:透過骨幹網、光纖送出

中間:

  • 多台 Router 根據 IP 位址轉送封包(只看 Layer 3)
  • 每經過一跳,Layer 2 的 MAC 會換一次(但 IP 不會變)

回到家中:

  • 家中路由器做 NAT,把公網 IP 轉回你手機的私有 IP
  • 丟給正確 MAC(你手機的無線網卡)

手機接收:

  • Layer 1:收下電波、還原 bit
  • Layer 2:確認是自己 MAC,拆幀
  • Layer 3~7:逐層拆封包 → 解密 → 還原成 HTML → 顯示 Google 首頁!

🌟 小結論

從按下 Enter,那一瞬間,設備經過了完整的 OSI 封裝 → 無線傳輸 → Google 解封與回應 → 資料拆封還原 → 呈現在眼前。