目錄
01-1. 網路協定是什麼?
⏱️ 閱讀時間: 8 分鐘 🎯 難度: ⭐ (超級簡單)
🎯 本篇重點
理解網路協定的基本概念、為什麼需要協定,以及常見的協定分類。
🤔 什麼是網路協定?
Protocol(協定) = 通訊的規則
一句話解釋: 網路協定就像是語言,規定了電腦之間如何交換訊息、如何解讀訊息的一套規則。
🗣️ 用日常對話來比喻
人類溝通需要語言規則
情境:打電話
規則(協定):
1. 撥號時說「喂」
2. 對方回應「喂」
3. 開始對話
4. 結束時說「再見」
如果沒有這些規則:
- A: 你好嗎?
- B: 誰?
- A: 我是 John
- B: 什麼?
結果:溝通失敗!電腦溝通也需要協定
情境:瀏覽網頁
協定(HTTP):
1. 客戶端發送請求:GET /index.html
2. 伺服器回應:200 OK + 網頁內容
3. 客戶端顯示網頁
如果沒有協定:
- 客戶端:給我首頁
- 伺服器:什麼是首頁?
- 客戶端:index.html
- 伺服器:不懂
結果:無法顯示網頁!📋 為什麼需要網路協定?
1. 統一溝通標準
沒有協定:
├─ Windows 電腦用自己的格式
├─ Mac 電腦用自己的格式
└─ Linux 電腦用自己的格式
結果:無法互相溝通
有協定(如 HTTP):
├─ Windows 電腦 → HTTP 請求
├─ Mac 電腦 → HTTP 請求
└─ Linux 電腦 → HTTP 請求
結果:所有電腦都能溝通!2. 確保資料正確傳輸
問題:網路傳輸可能出錯
協定的解決:
├─ 檢查資料完整性(Checksum)
├─ 重新傳輸錯誤的封包
└─ 確認資料順序正確
就像掛號信:
1. 寄信(傳輸資料)
2. 對方簽收(確認收到)
3. 簽收單回傳(傳輸成功)3. 提高傳輸效率
協定優化:
├─ 壓縮資料(減少傳輸量)
├─ 並行傳輸(同時傳多個檔案)
└─ 快取機制(避免重複傳輸)
就像快遞公司:
- 批量運送(效率高)
- 路線規劃(最短路徑)
- 包裝標準化(快速處理)🌐 網路協定的分類
按功能分類
1. 傳輸層協定
├─ TCP(可靠傳輸)
└─ UDP(快速傳輸)
2. 應用層協定
├─ HTTP(網頁)
├─ FTP(檔案傳輸)
├─ SMTP(郵件發送)
└─ DNS(域名解析)
3. 網路層協定
├─ IP(定址)
└─ ICMP(錯誤回報)
4. 資料鏈結層協定
├─ Ethernet(以太網)
└─ Wi-Fi(無線網路)按用途分類
網頁瀏覽
你輸入 www.google.com
使用的協定:
1. DNS → 找到 Google 伺服器的 IP
2. TCP → 建立可靠連線
3. HTTP/HTTPS → 請求網頁內容
4. IP → 確定資料傳輸路徑視訊通話
你用 Zoom 或 Teams 視訊
使用的協定:
1. SIP → 建立通話連線
2. RTP → 傳輸音視訊資料
3. UDP → 快速傳輸(允許少量丟失)
4. WebRTC → 瀏覽器內即時通訊即時聊天
你用 Line 或 WhatsApp 聊天
使用的協定:
1. WebSocket → 雙向即時通訊
2. MQTT → 訊息推送
3. XMPP → 即時訊息協定
4. TCP → 確保訊息送達📊 常見協定一覽表
應用層協定
| 協定 | 用途 | 範例 |
|---|---|---|
| HTTP | 網頁瀏覽 | 打開 Google |
| HTTPS | 安全網頁 | 網路銀行 |
| FTP | 檔案傳輸 | 上傳檔案到伺服器 |
| SMTP | 郵件發送 | 寄 Email |
| POP3/IMAP | 郵件接收 | 收 Email |
| DNS | 域名解析 | www.google.com → IP |
| SSH | 遠端登入 | 連線到伺服器 |
| WebSocket | 雙向通訊 | 即時聊天 |
| SIP | 視訊通話 | Zoom、Teams |
傳輸層協定
| 協定 | 特性 | 適用場景 |
|---|---|---|
| TCP | 可靠、有序、慢 | 網頁、郵件、檔案 |
| UDP | 不可靠、快速 | 視訊、遊戲、直播 |
🔍 協定如何運作?
HTTP 協定範例
1. 客戶端發送請求
GET /index.html HTTP/1.1
Host: www.example.com
2. 伺服器回應
HTTP/1.1 200 OK
Content-Type: text/html
<html>
<body>Hello World</body>
</html>
3. 客戶端顯示網頁關鍵要素:
- ✅ 格式固定:GET、HTTP/1.1、200 OK
- ✅ 雙方都懂:客戶端和伺服器都按照 HTTP 規則
- ✅ 可預測:知道會收到什麼格式的回應
TCP 協定範例(三次握手)
建立連線(Three-Way Handshake):
客戶端:你好,我想連線(SYN)
伺服器:好的,我收到了(SYN-ACK)
客戶端:確認,開始傳輸(ACK)
連線建立!開始傳輸資料💡 協定的重要性
沒有協定的世界
情境:下載檔案
客戶端:給我 file.zip
伺服器:什麼格式?
客戶端:二進位
伺服器:多大?
客戶端:不知道
伺服器:怎麼傳?
客戶端:...
結果:無法下載有協定的世界(FTP)
客戶端:FTP GET file.zip
伺服器:200 OK, Size: 10MB
客戶端:開始接收
伺服器:傳送資料...
客戶端:收到 10MB,檢查完整性,成功!
結果:順利下載🎯 協定的標準化組織
主要組織
IETF(Internet Engineering Task Force)
├─ 制定 TCP/IP、HTTP、WebSocket
└─ 發布 RFC(Request for Comments)文件
W3C(World Wide Web Consortium)
├─ 制定 Web 標準
└─ HTML、CSS、WebSocket API
IEEE(電機電子工程師學會)
├─ 制定硬體標準
└─ Ethernet、Wi-Fi(802.11)📖 如何學習協定?
學習路徑
1. 基礎概念(本篇)
└─ 理解協定是什麼
2. 分層模型
├─ OSI 七層模型
└─ TCP/IP 四層模型
3. 具體協定
├─ HTTP/HTTPS(網頁)
├─ WebSocket(即時通訊)
└─ SIP(視訊通話)
4. 實戰應用
├─ 使用工具(Wireshark、Postman)
└─ 實作簡單的協定客戶端/伺服器✅ 重點回顧
網路協定定義:
- 規定電腦間如何通訊的規則
- 就像人類的語言
為什麼需要協定:
- ✅ 統一標準(跨平台溝通)
- ✅ 確保可靠(資料不出錯)
- ✅ 提高效率(優化傳輸)
常見協定:
- HTTP/HTTPS - 網頁瀏覽
- TCP/UDP - 資料傳輸
- WebSocket - 即時通訊
- SIP - 視訊通話
- DNS - 域名解析
協定的特性:
- ✅ 格式固定
- ✅ 雙方遵守
- ✅ 可預測結果
學習重點:
- ✅ 先理解概念
- ✅ 再學分層模型
- ✅ 然後深入具體協定
- ✅ 最後實戰應用
下一篇: 01-2. OSI 七層模型
最後更新:2025-01-06