TCP 與 UDP:可靠但慢,還是快但不管你
為什麼影片會卡但不會停,網頁卻是要嘛開得出來要嘛開不出來?答案在這節。
約 13 分鐘
第 4 層有兩個主角。它們的差別可以用一句話講完:TCP 會確認對方收到了,UDP 不會。
| 比較項目 | TCP | UDP |
|---|---|---|
| 連線導向 | 是,先三向交握 | 否,直接送 |
| 可靠性 | 有確認、會重傳 | 不確認、不重傳 |
| 順序保證 | 有序號,會排序 | 不保證順序 |
| 流量控制 | 有滑動視窗 | 無 |
| 標頭大小 | 20 位元組(含選項更大) | 8 位元組 |
| 速度/開銷 | 較慢、開銷大 | 較快、開銷小 |
| 典型應用 | HTTP, HTTPS, FTP, SSH, SMTP | DNS, DHCP, TFTP, VoIP, 影音串流 |
三向交握(Three-way Handshake)
用戶端 伺服器
│ │
│ ─────────── 1. SYN ──────────────► │ 「我想連你」
│ │
│ ◄────────── 2. SYN-ACK ─────────── │ 「可以,我也想連你」
│ │
│ ─────────── 3. ACK ──────────────► │ 「成交」
│ │
│ ══════════ 開始傳資料 ═══════════► │連接埠號(Port Number)
IP 位址找到「哪台機器」,連接埠找到「機器上的哪個服務」。就像地址找到大樓,門牌號碼找到住戶。
| 埠號 | 服務 | 協定 | 一句話 |
|---|---|---|---|
| 20 / 21 | FTP(資料/控制) | TCP | 傳統檔案傳輸 |
| 22 | SSH | TCP | 加密遠端登入,實務唯一選擇 |
| 23 | Telnet | TCP | 明文遠端登入,考試會考但別用 |
| 25 | SMTP | TCP | 寄信 |
| 53 | DNS | UDP(大多)/ TCP | 把網址翻成 IP |
| 67 / 68 | DHCP(伺服器/用戶端) | UDP | 自動發 IP |
| 69 | TFTP | UDP | 簡易檔案傳輸,備份 IOS 用 |
| 80 | HTTP | TCP | 網頁 |
| 110 | POP3 | TCP | 收信 |
| 123 | NTP | UDP | 對時 |
| 143 | IMAP | TCP | 收信(保留在伺服器) |
| 161 / 162 | SNMP(查詢/Trap) | UDP | 網管監控 |
| 443 | HTTPS | TCP | 加密網頁 |
| 514 | Syslog | UDP | 日誌集中 |
立即測驗這一節(3 題)