01-2. OSI 七層模型

⏱️ 閱讀時間: 10 分鐘 🎯 難度: ⭐⭐ (簡單)


🎯 本篇重點

用淺顯易懂的比喻理解 OSI 七層模型,知道每一層的功能和實際應用。


🤔 什麼是 OSI 七層模型?

OSI Model(開放式系統互連模型) = 網路通訊的標準化架構

一句話解釋: OSI 七層模型就像是郵局寄包裹的流程,把複雜的網路通訊分成 7 個步驟,每一層負責一個特定工作。


📮 用寄包裹來比喻 OSI 七層

想像你要從台北寄禮物給高雄的朋友:

第 7 層 - 應用層:你決定寄什麼禮物(內容)
         ↓
第 6 層 - 表現層:把禮物包裝、加標籤(格式化)
         ↓
第 5 層 - 會話層:填寫寄件人和收件人資訊(建立連線)
         ↓
第 4 層 - 傳輸層:決定用掛號還是平信(可靠性)
         ↓
第 3 層 - 網路層:規劃從台北到高雄的路線(路由)
         ↓
第 2 層 - 資料鏈結層:郵差騎車到下一個郵局(點對點傳輸)
         ↓
第 1 層 - 實體層:實際的道路、郵局建築(硬體)

🏗️ OSI 七層詳解

第 7 層:應用層(Application Layer)

功能: 提供應用程式使用的網路服務

比喻: 你用的 App(瀏覽器、郵件軟體、Line)

你的操作:
- 打開瀏覽器輸入網址
- 開啟 Gmail 寫郵件
- 用 Line 傳訊息

應用層協定:
├─ HTTP/HTTPS(網頁)
├─ SMTP(寄郵件)
├─ POP3/IMAP(收郵件)
├─ FTP(檔案傳輸)
└─ DNS(域名查詢)

實際例子:

你:在瀏覽器輸入 www.google.com
應用層:使用 HTTP 協定發送請求

第 6 層:表現層(Presentation Layer)

功能: 資料格式轉換、加密、壓縮

比喻: 翻譯官 + 加密專家

工作內容:
1. 資料格式轉換
   ├─ 圖片格式(JPEG、PNG)
   ├─ 文字編碼(UTF-8、ASCII)
   └─ 影片格式(MP4、AVI)

2. 資料加密
   ├─ SSL/TLS 加密
   └─ 保護隱私

3. 資料壓縮
   └─ GZIP 壓縮(減少傳輸量)

實際例子:

你:上傳一張照片到 Facebook
表現層:
1. 把照片轉成 JPEG 格式
2. 壓縮圖片(從 5MB 壓到 500KB)
3. 加密(HTTPS)

第 5 層:會話層(Session Layer)

功能: 建立、管理、終止連線(會話)

比喻: 接線生 / 會議主持人

工作內容:
├─ 建立連線(打電話撥號)
├─ 維持連線(通話中保持連線)
├─ 同步資料(確保對話順序)
└─ 終止連線(掛電話)

會話管理:
- 登入網站(建立 Session)
- 保持登入狀態
- 登出(終止 Session)

實際例子:

你:登入 Facebook
會話層:
1. 建立 Session(建立連線)
2. 發送 Cookie 保持登入狀態
3. 你瀏覽動態、按讚(連線持續中)
4. 登出(終止 Session)

第 4 層:傳輸層(Transport Layer)

功能: 確保資料可靠傳輸

比喻: 物流公司的品質控管

兩種寄送方式:

TCP(掛號信):
├─ 確認收到(簽收)
├─ 保證順序(編號)
├─ 重新傳送(遺失補寄)
└─ 慢但可靠

UDP(平信):
├─ 不確認收到
├─ 不保證順序
├─ 不重新傳送
└─ 快但可能遺失

實際例子:

網頁瀏覽(用 TCP):
- 你要看完整的網頁
- 不能有任何內容遺失
- 順序要正確

視訊通話(用 UDP):
- 即時性重要
- 少量畫格遺失可接受
- 不用重傳(太慢了)

第 3 層:網路層(Network Layer)

功能: 決定資料傳輸路徑(路由)

比喻: Google Maps 導航

工作內容:
├─ IP 定址(每台電腦有地址)
├─ 路由選擇(找最佳路徑)
└─ 封包轉發(經過多個路由器)

就像開車導航:
台北 → 新竹 → 台中 → 高雄
每個城市就像一個路由器

實際例子:

你在台北瀏覽美國的網站:

台北電腦(IP: 1.2.3.4)
    ↓
台北路由器
    ↓
國際海底電纜
    ↓
美國路由器
    ↓
美國伺服器(IP: 5.6.7.8)

網路層:規劃這條路徑,確保封包送達

功能: 點對點的資料傳輸

比喻: 郵差送信(一站到下一站)

工作內容:
├─ MAC 地址(實體地址)
├─ 錯誤偵測(檢查資料有沒有損壞)
├─ 流量控制(避免塞車)
└─ 幀(Frame)封裝

技術:
├─ Ethernet(有線網路)
├─ Wi-Fi(無線網路)
└─ PPP(點對點協定)

實際例子:

你的電腦 → Wi-Fi 路由器

資料鏈結層:
1. 把資料包成 Wi-Fi 訊號
2. 確認路由器收到了
3. 檢查資料有沒有損壞
4. 傳到下一站

第 1 層:實體層(Physical Layer)

功能: 傳輸 0 和 1 的電子訊號

比喻: 真實的道路、電線、無線電波

傳輸媒介:
├─ 網路線(電子訊號)
├─ 光纖(光訊號)
├─ Wi-Fi(電磁波)
└─ 藍牙(無線電波)

硬體設備:
├─ 網路卡
├─ 網路線
├─ 光纖
└─ 無線發射器

實際例子:

實體層的工作:
把資料 "Hello" 變成:

H = 01001000
e = 01100101
l = 01101100
l = 01101100
o = 01101111

透過網路線傳送這些電子訊號(高電壓 = 1,低電壓 = 0)

🎬 完整流程範例:打開網頁

你在台北打開 www.google.com

【發送端 - 你的電腦】

第 7 層 - 應用層:
你:打開瀏覽器,輸入 www.google.com
協定:HTTP

第 6 層 - 表現層:
把 HTTP 請求格式化
編碼:UTF-8

第 5 層 - 會話層:
建立 Session
保持連線狀態

第 4 層 - 傳輸層:
使用 TCP(可靠傳輸)
加上 Port 號:80(HTTP)

第 3 層 - 網路層:
加上 IP 地址
來源:你的 IP(1.2.3.4)
目的:Google IP(8.8.8.8)

第 2 層 - 資料鏈結層:
加上 MAC 地址
透過 Wi-Fi 傳送

第 1 層 - 實體層:
轉成無線電波
透過空氣傳送到路由器

---

【中間 - 網路傳輸】
經過多個路由器轉發...
台北 → 新竹 → 台中 → ... → 美國

---

【接收端 - Google 伺服器】

第 1 層 - 實體層:
接收電子訊號

第 2 層 - 資料鏈結層:
檢查 MAC 地址,確認是給自己的

第 3 層 - 網路層:
檢查 IP 地址(8.8.8.8)
確認,這是給我的!

第 4 層 - 傳輸層:
檢查 Port(80)
確認是 HTTP 請求

第 5 層 - 會話層:
建立與客戶端的 Session

第 6 層 - 表現層:
解析 HTTP 格式

第 7 層 - 應用層:
處理請求,準備網頁內容
回傳 HTML

---

【回傳】
重複上述流程,但方向相反
Google 伺服器 → 你的電腦

🎓 記憶口訣

由上到下(第 7 → 第 1 層)

中文口訣:
「請 表 會 傳 網 資 實」
 應  現  話  輸  路  料  體
 用  層  層  層  層  鏈  層
 層              結
                 層

英文口訣:
"All People Seem To Need Data Processing"
 A   P     S    T   N    D    P
 應  表    會   傳  網   資   實
 用  現    話   輸  路   料   體

由下到上(第 1 → 第 7 層)

"Please Do Not Throw Sausage Pizza Away"
 P      D  N    T     S       P     A
 實     資 網   傳    會      表    應
 體     料 路   輸    話      現    用

📊 OSI 七層對應表

每層的關鍵資訊

層級名稱功能協定範例設備
7應用層應用程式介面HTTP, FTP, SMTP-
6表現層資料格式、加密SSL, JPEG, MPEG-
5會話層建立/管理連線NetBIOS, RPC-
4傳輸層端對端傳輸TCP, UDP-
3網路層路由、定址IP, ICMP路由器
2資料鏈結層點對點傳輸Ethernet, Wi-Fi交換器、網卡
1實體層實體訊號傳輸電纜標準網路線、光纖

資料單位

層級資料單位(PDU)
7-5資料(Data)
4區段(Segment - TCP)或資料包(Datagram - UDP)
3封包(Packet)
2訊框(Frame)
1位元(Bit)

🔍 實際抓包分析

使用 Wireshark 觀察七層

當你打開 www.google.com,Wireshark 顯示:

第 2 層(資料鏈結層):
  來源 MAC: aa:bb:cc:dd:ee:ff
  目的 MAC: 11:22:33:44:55:66

第 3 層(網路層):
  來源 IP: 192.168.1.100(你的電腦)
  目的 IP: 142.250.185.46(Google)

第 4 層(傳輸層):
  協定: TCP
  來源 Port: 52341(隨機)
  目的 Port: 443(HTTPS)

第 7 層(應用層):
  GET / HTTP/1.1
  Host: www.google.com

🤔 為什麼需要分層?

優點 1:分工合作

就像蓋房子:
├─ 建築師(設計)
├─ 工頭(管理)
├─ 水電工(水電)
├─ 泥水工(砌牆)
└─ 油漆工(粉刷)

每個人專注自己的工作
不需要懂其他人的細節

優點 2:容易替換

第 1 層可以換:
├─ 從網路線換成 Wi-Fi
└─ 不影響第 7 層的應用程式

就像:
├─ 從寄平信換成寄快遞
└─ 你的禮物內容不用改變

優點 3:標準化

不同廠商的設備可以互通:
├─ Apple 電腦
├─ Windows 電腦
├─ Android 手機
└─ 都能上網

因為都遵守同一套 OSI 標準

✅ 重點回顧

OSI 七層模型:

7. 應用層   - 你用的 App(HTTP、FTP)
6. 表現層   - 格式轉換、加密(SSL、JPEG)
5. 會話層   - 建立連線、Session
4. 傳輸層   - 可靠傳輸(TCP、UDP)
3. 網路層   - 路由、IP 定址
2. 資料鏈結層 - 點對點傳輸(Wi-Fi、Ethernet)
1. 實體層   - 實體訊號(網路線、光纖)

記憶技巧:

  • ✅ 用寄包裹的流程記憶
  • ✅ 記口訣:「請表會傳網資實」
  • ✅ 理解每層的比喻(翻譯官、接線生、導航等)

為什麼分層:

  • ✅ 分工合作,各司其職
  • ✅ 容易替換和升級
  • ✅ 標準化,跨平台互通

實際應用:

  • ✅ 面試常問「OSI 七層是什麼」
  • ✅ 除錯時知道在哪一層出問題
  • ✅ 理解不同協定的位置

關鍵理解:

  • ✅ 每層都有自己的職責
  • ✅ 上層使用下層的服務
  • ✅ 同層之間可以通訊
  • ✅ 資料向下封裝,向上解封裝

上一篇: 01-1. 網路協定是什麼? 下一篇: 01-3. TCP/IP 四層模型


最後更新:2025-01-06

0%