從 Wi-Fi 搜尋 Google:OSI 七層模型實例解析
在學習 OSI 模型的過程中,會覺得有些抽象、難以想像每一層到底在幹嘛。這篇文章會:「用手機或電腦連 Wi-Fi 上 Google 搜尋」,走一遍資料封包經過的 OSI 七層歷程。
🛰 OSI 七層模型快速回顧
層級 | 名稱 | 功能簡介 |
---|---|---|
7 | Application | 應用服務,例如瀏覽器、HTTP 請求 |
6 | Presentation | 編碼、加密、壓縮,例如 HTTPS、TLS |
5 | Session | 建立與維持連線,例如 TLS Session |
4 | Transport | 傳輸協定(TCP / UDP),端口與可靠性 |
3 | Network | IP 位址與路由選擇 |
2 | Data Link | MAC 位址與資料幀處理(Ethernet / Wi-Fi) |
1 | Physical | 實體訊號傳送(電脈衝、無線電波) |
📁 Layer 2 & Layer 1 重點整合:
🧩 Layer 2(Data Link Layer)
功能 | 說明 |
---|---|
封裝成 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(資料鏈結) |
---|---|---|
資料單位 | Bit | Frame(幀) |
內容 | 電壓、光訊號、無線波 | 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 出去)
Layer 2 - Data Link
- 用 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 解封與回應 → 資料拆封還原 → 呈現在眼前。