📚 綜合學習筆記:TCP/IP 協定堆疊 (9645)

歡迎來到網絡通訊中最基礎的章節!傳輸控制協定/網際網絡協定 (TCP/IP) 套件是整個互聯網的基石。無論你在網上做什麼——串流影片、收發電郵還是瀏覽網頁——全靠這些協定在幕後精確運作。
如果起初覺得這些概念有點複雜,不用擔心;我們會將這個龐大的系統拆解成四個易於理解的層次,並結合生活中的類比來學習!

本章重點:TCP/IP 並非單一協定,而是一組(堆疊)協定,負責管理數據如何在世界各地從一個裝置可靠地傳送到另一個裝置。


1. TCP/IP 分層模型 (通訊堆疊)

想像一下你要寄送國際包裹。你不會隨手把它扔進箱子就算了;當中涉及標籤、安全檢查和運輸等特定步驟。TCP/IP 模型將網絡功能整理為四個易於管理的層次。這種分層設計非常巧妙,因為它允許工程師更新某一層(例如,升級更快的 Wi-Fi),而無需重新構建整個系統。

TCP/IP 堆疊的四個層次

我們通常由頂層(用戶所見的介面)往下層(物理電纜)來描述這些層次。

  1. 應用層 (Application Layer) - 用戶互動
  2. 角色:這是應用程式(如瀏覽器或電郵客戶端)建立和接收數據的地方,主要處理用戶直接互動的協定。
    類比:撰寫和閱讀信件的內容。
    關鍵協定:HTTP, FTP, SMTP, POP3, IMAP, SSH(我們稍後會詳細介紹!)。

  3. 傳輸層 (Transport Layer) - 可靠性檢查
  4. 角色:負責管理發送方與接收方之間的連接。它確保數據正確且按順序送達(使用 TCP),或在不需要檢查的情況下快速傳輸數據(使用 UDP)。
    類比:決定以掛號信寄出(TCP,保證送達)還是平郵(UDP,較快但可靠性較低)。
    關鍵概念:通訊埠 (Sockets)(應用程式的進出點)。

  5. 網際網絡層 (Internet Layer) - 路由器/路線規劃
  6. 角色:處理邏輯定址(IP 地址)以及數據封包在不同網絡間的路由 (routing)。它會決定封包到達目的地所需的最佳路徑。
    類比:郵局分揀中心在信封上貼上街道地址(IP 地址)以決定運送路線。
    關鍵協定:IP (Internet Protocol)

  7. 鏈路層 (Link Layer) - 硬件連接
  8. 角色:處理物理網絡組件(電纜、網卡)以及將數據從當前裝置傳送到同一本地網絡中下一個裝置的協定。
    類比:負責在某一條特定路段上運送包裹的貨車。
    關鍵概念:MAC 地址(物理硬件識別碼)。

快速回顧:為什麼要分層?

像 TCP/IP 這樣的網絡協定採用分層架構,是因為它能提升模組化 (modularity)標準化 (standardisation)。每一層只需關注自己的特定任務,這使得系統在設計、實作及排除故障時都變得更容易。

通訊埠 (Sockets) 的角色

通訊埠 (Socket) 是傳輸層中連接的終點,它是裝置上特定應用程式進行通訊的方式。

例子: 如果你的電腦(IP 地址為 192.168.1.5)正在瀏覽一個網站(使用 HTTP 的 80 連接埠),那麼它的通訊埠地址看起來會是:192.168.1.5:80。


2. 定址:IP 地址與 MAC 地址

媒體存取控制 (MAC) 地址

MAC 地址 是由製造商分配給網絡介面卡 (NIC) 的唯一、物理性識別碼。
它在鏈路層運作。

類比: MAC 地址就像刻在裝置上的身分證號碼。無論你把它連接到哪裡,它永遠不會改變。

網際網絡協定 (IP) 地址

IP 地址 是網際網絡層使用的邏輯地址,用於在不同網絡之間傳遞數據。

類比: IP 地址就像你目前的通訊郵寄地址。它告訴全球網絡,你的裝置此刻身在何處。

IP 結構與子網掩碼

IP 地址分為兩部分:

  • 網絡識別碼 (Network Identifier): 識別該裝置所在的特定網絡。
  • 主機識別碼 (Host Identifier): 識別網絡中的特定裝置(主機)。

子網掩碼 (Subnet Mask) 用於確定 IP 地址中哪一部分是網絡 ID,哪一部分是主機 ID。它就像一個模板,告訴路由器在執行路由決策時應該查看哪些位元。

IPv4 與 IPv6
  • IPv4: 使用 32 位元,提供約 43 億個唯一地址。我們基本上已經耗盡了這些地址。
  • IPv6: 使用 128 位元,提供近乎無窮無盡的地址數量 (\(2^{128}\))。
  • 為何引入 IPv6: 為了應對因互聯網連接裝置(筆電、手機、物聯網裝置)爆炸性增長而導致的 IPv4 地址嚴重短缺問題。

可路由與不可路由 IP 地址
  • 可路由 (公開) IP: 可以直接從更廣闊的互聯網存取的地址。這些地址在全球是唯一的,也是伺服器託管公開網站所必需的。
  • 不可路由 (私有) IP: 專門預留給私人區域網絡 (LAN) 內部使用的地址。它們在全球範圍內並非唯一,不能用於在廣域網絡中傳遞數據。
  • 常見私有範圍: 192.168.x.x, 10.x.x.x。


3. 動態主機設定協定 (DHCP)

DHCP 是一項關鍵服務,用於自動管理網絡內的 IP 地址。

目的與運作

DHCP 的目的是自動為網絡上的裝置分配設定參數(特別是 IP 地址)。這能防止人為錯誤並節省管理時間。

DHCP 的運作方式(簡單步驟):

  1. 新裝置連接到網絡(例如你的筆電)。
  2. 裝置發出請求:「這裡有 DHCP 伺服器嗎?我需要一個 IP 地址。」
  3. DHCP 伺服器回應,提供一個暫時的 IP 地址、子網掩碼和閘道詳細資料。
  4. 裝置接受該提議,並在指定期限(即「租約期」)內使用該 IP 地址。

相較於手動設定的優勢: DHCP 消除了 IP 地址衝突的風險(即兩台裝置不小心使用了同一個地址),並大幅減少了新裝置的設置時間。


4. 標準應用層協定(應用層深度解析)

這些協定規定了特定任務是如何執行的,例如查看網頁或發送電郵。

網頁與傳輸協定
  • HTTP (超文本傳輸協定): 用於網絡瀏覽器向網頁伺服器請求並接收網頁(以文字形式)及其他資源。
  • HTTPS (安全超文本傳輸協定): HTTP 的安全版本。它透過 SSL/TLS 對數據傳輸進行加密,確保隱私。
  • FTP (檔案傳輸協定): 用於在客戶端(用戶裝置)與 FTP 伺服器之間傳輸檔案。這常用於上傳大型網站。
    • 注意: FTP 正逐漸被 SFTP (安全檔案傳輸協定) 取代,後者加密檔案傳輸以增強安全性。
  • SSH (安全外殼協定): 用於安全地登入遠端電腦、管理系統及遠端執行指令。它提供一個基於文字的加密命令行介面。
電郵協定

電郵涉及兩個主要階段:發送與接收。

發送 (SMTP):

  • SMTP (簡易郵件傳輸協定): 用於將電郵從電郵客戶端傳送到電郵伺服器,以及在伺服器之間傳輸。

接收 (POP3 或 IMAP):

  • POP3 (郵局協定 v3): 將電郵從伺服器下載到客戶端,然後通常會從伺服器上刪除它們。(就像檢查實體郵箱一樣)。
  • IMAP (互聯網訊息存取協定): 同步電郵,將它們儲存在伺服器上,以便可以在多個裝置上存取。(現代標準)。

5. 網絡安全基礎

由於 TCP/IP 管理著所有網絡流量,保護這些流量至關重要。本節涵蓋關鍵的安全工具與威脅。

防火牆:網絡守門人

防火牆 (Firewall) 是一種旨在防止對私人網絡進行未經授權存取的系統。它對網絡流量實施規則,以決定什麼是被允許通過的。

  • 封包過濾 (Packet Filtering): 檢查個別封包的標頭(來源 IP、目的地 IP、連接埠號碼)。如果封包不符合規則,就會被封鎖。(基本的快速檢查)。
  • 代理伺服器 (Proxy Server): 作為內部網絡與外部之間的中介。所有外部請求都通過代理伺服器,從而隱藏內部客戶端的身份。(更適合匿名處理和控制內容)。
  • 狀態檢測 (Stateful Inspection): 監控活動連接的狀態。它會追蹤哪些連接是由內部發起的,並自動允許返回的流量。(比簡單的封包過濾更聰明、更安全)。

類比: 想像一個守門人。封包過濾檢查名牌(標頭)。狀態檢測則檢查名牌,並會記得你最近是否剛進過大樓。

加密與密鑰交換

加密 (Encryption) 使用密鑰 (key) 和演算法將數據(明文)攪亂成不可讀的形式(密文)。

1. 對稱式加密 (Symmetric Encryption)

  • 加密和解密使用相同的密鑰
  • 例子: 凱撒密碼 (Caesar cipher)、維南密碼 (Vernam cipher)(如果條件滿足,後者可以達到完美安全性)。
  • 問題: 密鑰交換問題——發送方和接收方如何在不被攔截的情況下安全地共享密鑰?

2. 非對稱式 (公開密鑰) 加密 (Asymmetric Encryption)

  • 使用兩把在數學上相關的密鑰公開密鑰 (Public Key)(廣泛分享,用於加密)和 私有密鑰 (Private Key)(嚴格保密,用於解密)。
  • 這解決了密鑰交換問題,因為公開密鑰可以公開分享。
數位憑證與數位簽章

這些對於在互聯網上建立信任(特別是 HTTPS)至關重要。

  • 數位簽章 (Digital Signatures): 用於驗證訊息的發送者或文件的建立者。它證明了訊息確實起源於聲稱的來源,並且未被篡改。
  • 數位憑證 (Digital Certificates): 一種將公開密鑰加密連結到某個實體(如網站伺服器)的檔案。由受信任的第三方(憑證授權中心,CA)簽發,證明公開密鑰的所有者身份屬實。
惡意程式:針對漏洞的威脅

惡意程式利用軟件或系統中的弱點(漏洞):

  • 病毒 (Virus): 通過附加到其他合法程式來複製自己的惡意代碼。需要一個「宿主」檔案來傳播。
  • 蠕蟲 (Worm): 獨立的惡意軟件,無需宿主程式即可自我複製並透過網絡傳播。它們利用網絡安全漏洞快速蔓延。
  • 木馬 (Trojan Horse): 偽裝成合法或有用程式的惡意軟件。它們不會自行複製,而是誘騙用戶安裝。

被利用的漏洞: 過時的軟件(未修補的安全漏洞)、糟糕的用戶培訓、薄弱的密碼以及不當的防火牆設定。


🔥 記憶口訣:TCP/IP 層次 mnemonic

記住四個層次(由上到下):

All Teachers Interest Learners

  • Application (應用層)
  • Transport (傳輸層)
  • Internet (網際網絡層)
  • Link (鏈路層)