歡迎來到互聯網:網絡核心概念 (9645)

你好!在這個關鍵的章節中,我們將從編程概念轉向令人興奮的網絡與網絡安全 (Networking and Cyber Security) 領域。我們將深入探討互聯網的實際運作方式——其基本架構、定址系統,以及讓全球數十億設備能夠順暢通訊的重要協定。 理解互聯網不僅僅是理論,它是現代計算機科學的基石。讓我們開始吧!


1. 互聯網結構與數據傳輸 (3.14.3)

1.1 分組交換與路由器 (Packet Switching and Routers)

互聯網並非單一實體;它是一個由無數個相互連接的網絡所組成的龐大網絡。為了處理流經其中的海量數據,互聯網使用了一種稱為分組交換 (Packet Switching) 的機制。

什麼是分組交換?

想像一下,你想寄一封很長的信(你的數據)到世界各地。與其將整封信塞進一個沉重的信封裡發送,不如將它拆分成許多細小、便於處理的明信片(數據包,即 Packets)。

  • 定義: 分組交換將數據拆解為細小且易於管理的區塊,稱為數據包 (Packets)
  • 這些數據包會被獨立發送到網絡中,它們可能會採取不同的路徑,最後在目的地重新組合。

比喻:試想舊式的電話通訊(電路交換,Circuit Switching),你必須全程佔用一條專用線路;而分組交換則是發送多個獨立的信息,共享網絡資源,從而大幅提升效率!

路由器的角色

如果數據包走不同的路徑,是誰在指揮它們呢?這就是路由器 (Router) 的工作。

  • 路由器是專門用來連接不同網絡(例如將你的家居 Wi-Fi 連接到互聯網服務供應商的網絡)的設備。
  • 它們會讀取每個傳入數據包中的目的地地址 (Destination Address)
  • 透過複雜的路由表,它們能為該數據包決定最佳路徑(最有效率的下一跳),確保其最終到達目的地。

1.2 數據包的結構

為了讓數據包能找到路並成功重新組合,它必須攜帶重要的資訊(即元數據,Metadata),連同實際的數據內容(即有效載荷,Payload)。

一個標準互聯網數據包的主要組成部分包括:

  • 來源地址 (Source Address): 發送設備的 IP 地址。
  • 目的地地址 (Destination Address): 接收設備的 IP 地址。
  • 數據包序號 (Packet Sequence Number): 由於數據包可能會亂序到達,此編號會告訴接收設備該數據包的原始位置,以便正確重建數據。
  • 生存時間 (TTL - Time to Live): 一個計數器,用於限制數據包可以經過的跳數(路由器數量)。如果 TTL 歸零,路由器會丟棄該數據包,防止數據包在網絡中無限循環(這是常見需避免的錯誤!)。
  • 有效載荷 (Payload): 實際傳輸的數據片段(例如網頁的一部分或電子郵件的一部分)。
  • 錯誤檢測/糾正資訊: 接收者用於檢查數據包是否完整且未受損的數據(如校驗和,Checksum)。

1.3 路由是如何實現的?

路由是選擇網絡路徑以發送網絡流量的過程。

當路由器收到一個數據包時,它會查閱內部路由表 (Routing Table) 中的目的地 IP 地址。路由表包含目的地網絡與應發送到的下一個路由器(即「下一跳,Next Hop」)之間的對應關係。這個過程會逐跳重複,直到數據包到達目的地設備所在的本地網絡為止。

重點重溫:數據包要點

路由是透過路由器讀取數據包標頭中的目的地地址來決定下一跳,並利用生存時間 (TTL) 計數器來防止無限循環。


2. 互聯網上的命名與定址 (3.14.3, 3.14.4.3, 3.14.4.4)

當你想造訪 www.google.com 時,你輸入的是名稱,但計算機之間是用數字進行通訊的。本節將解釋這些名稱與數字如何協作。

2.1 統一資源定位符 (URLs) 與域名

統一資源定位符 (URL) 是在互聯網上下文中,用於定位資源(如網頁或文件)的人類可讀地址。

URL 範例:https://www.oxfordaqa.com/cs/index.html

域名與 FQDN
  • 域名 (Domain Name) 是識別網站的唯一名稱(例如 oxfordaqa.com)。
  • 完全限定域名 (FQDN) 包含主機名稱與域名,指定了資源的確切位置,並以最後一個點結尾(但在瀏覽器中通常會省略)。
  • 範例: www.oxfordaqa.com.www 是主機,oxfordaqa 是二級域名,com 是頂級域名)。
域名的組織方式

域名是層級化的,並由右至左組織:

  • 根域 (Root): (隱形的頂層)。
  • 頂級域名 (TLD): 例如 .com, .org, .uk
  • 二級域名: 例如 google.com 中的 google
  • 主機名稱 (子域名): 例如 wwwmail

2.2 域名系統 (DNS)

域名系統 (DNS) 的核心目的是將人類可讀的 FQDN 轉換為機器可讀的 IP 地址

比喻:DNS 是互聯網的電話簿。你查閱某人的名字(域名)以找到他們的電話號碼(IP 地址)。

DNS 如何透過域名伺服器運作
  1. 使用者在瀏覽器中輸入 FQDN(例如 www.example.com)。
  2. 設備向域名伺服器 (DNS Server) 發送請求。
  3. 如果本地 DNS 伺服器不知道該 IP 地址,它會查詢其他伺服器(從根伺服器開始),直到找到該域名的授權伺服器。
  4. 授權伺服器會返回與該 FQDN 對應的 IP 地址。
  5. IP 地址返回到用戶的設備,讓設備能夠直接與該網頁伺服器通訊。

2.3 IP 定址 (3.14.4.3)

IP 地址 (Internet Protocol address) 是分配給參與計算機網絡的每個設備的唯一數字標籤。

網絡識別碼 vs 主機識別碼

IP 地址分為兩部分:

  • 網絡識別碼 (Network Identifier): 識別該設備所屬的特定網絡。同一個本地網絡中的所有設備共享此部分。
  • 主機識別碼 (Host Identifier): 識別該網絡中的特定設備(主機)。這在該網絡中的每個設備都必須是唯一的。

範例:如果你的 IP 是 192.168.1.50,可能 192.168.1 識別你的家庭網絡,而 50 識別你的手提電腦。

子網掩碼 (Subnet Mask) 的角色

計算機如何知道哪部分是網絡,哪部分是主機?它使用子網掩碼
子網掩碼是用於「遮蓋」IP 地址的數字。透過執行按位與 (bitwise AND) 運算,設備可以立即分離出 IP 地址中的網絡識別碼部分。

IPv4 與 IPv6
  • IPv4 (IP 第 4 版): 使用 32 位元,通常顯示為四個以點分隔的十進制數字(例如 192.168.1.1)。它提供約 43 億個唯一地址。
  • IPv6 (IP 第 6 版): 使用 128 位元,提供幾乎無限數量的唯一地址。

為什麼要引入 IPv6?
由於連接到互聯網的設備數量龐大(手機、物聯網設備等),世界上的 IPv4 地址已經用完了。IPv6 是確保互聯網持續增長與功能性的必要條件。

可路由與不可路由的 IP 地址
  • 可路由 IP 地址 (公共 IP): 在全球互聯網上是唯一的。由 ISP 分配,供路由器在世界各地的不同網絡之間傳導數據包。
  • 不可路由 IP 地址 (私有 IP): 保留用於私有網絡(如你的家庭或學校區域網絡 LAN)。它們在公共互聯網上不可見,也不能直接路由。它們允許內部設備進行通訊,無需每個設備都有全球唯一的地址(這節省了寶貴的公共地址)。

2.4 互聯網註冊管理機構

互聯網註冊管理機構 (Internet Registries)(如 ICANN、IANA 和地區性互聯網註冊機構)是管理全球 IP 地址與域名分配的重要機構。
它們確保每個分配的 IP 地址和域名都是全球唯一的,防止衝突並維持互聯網結構化的組織。


3. 傳輸控制協定/互聯網協定 (TCP/IP) 模型 (3.14.4)

通訊需要規則。在互聯網上,這些規則稱為協定 (Protocols)。最基礎的協定集是 TCP/IP 堆疊 (Stack),它規定了數據如何被封裝、定址、發送及接收。

3.1 為什麼要使用協定分層?

像 TCP/IP 這樣的網絡協定採用分層結構,主要基於以下原因:

  • 分解與簡化: 複雜的網絡任務(例如發送文件)被分解為更小、更簡單、獨立的任務,由不同層級處理。
  • 標準化與互操作性: 每一層只負責其特定功能,允許開發者創建兼容的硬件與軟件,而無需同時考慮整個堆疊。
  • 模組化: 如果某一層的技術發生變化(例如從銅線升級為光纖),只需要更新該特定層的協定,其他層級不受影響。

比喻:試想蓋房子。基礎層 (Foundation) 負責地基,框架層 (Frame) 負責牆壁等。每一層都有特定的規則,且不會干擾其他層。

3.2 TCP/IP 堆疊的四個層級

TCP/IP 堆疊通常描述為四個層級,從頂層(最靠近用戶)到最底層(最靠近物理硬件):

  1. 應用層 (Application Layer):
    • 角色: 直接為用戶的應用程序(如網頁瀏覽器或郵件客戶端)提供服務。
    • 此處使用的協定包括 HTTP, FTP, SMTP, POP3, IMAP 等。
  2. 傳輸層 (Transport Layer) (TCP 或 UDP):
    • 角色: 管理端對端的連線。它將數據拆分為區段 (Segments)(在 TCP 中),並確保數據傳輸的可靠性(正確順序、無遺失)或快速但不可靠的傳輸(在 UDP 中)。
    • TCP (傳輸控制協定) 負責重組數據包並確認成功送達。
  3. 互聯網層 (Internet Layer) (IP):
    • 角色: 處理定址與路由。這是使用 IP 地址確保數據包到達正確目的地網絡的地方。
    • 此處的主要協定是 IP (互聯網協定)。路由器主要在此層運作。
  4. 連結層 (Link Layer) (網絡存取層):
    • 角色: 負責同一本地網絡區段中設備之間的數據物理傳輸(例如處理 Wi-Fi 或乙太網電纜)。
    • 此層使用 MAC 地址

3.3 Sockets 與 MAC 地址

Socket 的角色

在 TCP/IP 堆疊(特別是傳輸層)中,Socket 定義了通訊的終點。
一個 Socket 由 IP 地址端口號 (Port Number) 的組合(IP:Port)來定義。這確保了數據不僅到達正確的計算機(IP 地址),還能到達該計算機上運行的正確*應用程序*(端口號)。

範例:如果你造訪網站,IP 地址將數據送達該伺服器,而端口號 80 (HTTP) 或 443 (HTTPS) 確保數據送到網頁伺服器軟件。

MAC 地址的角色

MAC (媒體存取控制) 地址 是永久嵌入在設備網絡介面卡 (NIC) 中的唯一物理地址。
如果說 IP 地址處理不同網絡之間的路由(第 3 層),那麼 MAC 地址處理的則是同一本地網絡區段內的通訊(連結層,第 2 層)。

記住: IP 地址就像郵寄地址(邏輯的,會改變),而 MAC 地址就像汽車的引擎序號(物理的,通常是永久的)。


4. 標準應用層協定 (3.14.4.2)

這些協定位於 TCP/IP 堆疊的頂端,定義了諸如瀏覽、郵件和文件共享等常見互聯網服務的特定規則。

4.1 網頁通訊:HTTP 與 HTTPS

用於檢索和顯示網頁的核心協定:

  • HTTP (超文本傳輸協定): 瀏覽器從網頁伺服器檢索網頁時使用的標準協定。
  • 網頁伺服器角色: 儲存網頁,並在瀏覽器請求時提供它們(通常以文字形式)。
  • 網頁瀏覽器角色: 使用 HTTP/HTTPS 檢索網頁及其所有關聯資源(圖片、腳本),然後將其渲染 (Render)(顯示)給用戶。
  • HTTPS (安全超文本傳輸協定): 這是 HTTP 的安全版本。它使用 SSL/TLS 加密來確保通訊通道的安全,保護密碼和信用卡資訊等敏感數據。

4.2 文件傳輸與遠端管理

  • FTP (文件傳輸協定): 用於在 FTP 客戶端與 FTP 伺服器之間傳輸文件。存取可以是匿名的(公共文件)或經身份驗證的(需要用戶名和密碼)。
  • 關於 FTP 安全性的註記: FTP 因安全風險而逐漸被淘汰,因為它以明文方式傳輸數據(包括密碼)。它正被諸如 SFTP (安全文件傳輸協定) 等使用加密的替代方案所取代。
  • SSH (安全外殼協定): 用於安全的遠端管理。它允許用戶透過加密連線安全地登入遠端計算機並執行指令。

4.3 電子郵件協定

發送或接收電子郵件時,過程通常涉及兩個關鍵步驟,以及幾個依賴郵件伺服器的協定:

  1. 發送郵件:
    • 發送者的郵件客戶端使用 SMTP (簡單郵件傳輸協定) 將郵件發送到他們當地的郵件伺服器。
    • 然後本地伺服器使用 SMTP 與收件人的郵件伺服器進行通訊。
  2. 接收郵件:
    • 收件人的郵件客戶端使用 POP3IMAP 從他們的郵件伺服器檢索郵件。
POP3 與 IMAP (區別)
  • POP3 (郵局協定 v3): 通常將郵件從伺服器下載到一台設備,並常會將其從伺服器上刪除。如果你只在一台機器上檢查郵件,這很適合。
  • IMAP (互聯網信息存取協定): 在伺服器與多台設備之間同步郵件。郵件保留在伺服器上,允許從手機、手提電腦或桌面電腦進行存取。

5. 動態主機設定協定 (DHCP) (3.14.4.4)

5.1 DHCP 的目的與運作

動態主機設定協定 (DHCP) 系統實現了網絡配置過程的自動化。

  • 目的: DHCP 自動為連接到網絡的設備分配唯一的 IP 地址、子網掩碼、網關地址和 DNS 伺服器資訊。
  • 運作方式: 當設備連接時,它會發送廣播請求。DHCP 伺服器透過向設備提供配置租約(IP 地址的臨時分配)來回應。

5.2 DHCP 的優勢

與手動(靜態)配置相比,DHCP 具有顯著優勢:

  • 減少管理工作: 網絡管理員不需要手動為每個設備分配 IP 配置,節省大量時間。
  • 消除錯誤: 手動配置常導致錯誤,例如將相同的 IP 地址分配給兩台不同的設備(IP 衝突),導致兩台設備都無法運作。DHCP 可以防止這些衝突。
  • 靈活性: 當設備離開網絡時,DHCP 伺服器會收回其 IP 地址,允許其稍後供新設備重複使用。
網絡關鍵總結

互聯網依賴由路由器指揮的分組交換TCP/IP 堆疊將通訊組織為四層:應用層(用戶服務)、傳輸層(可靠性/順序)、互聯網層(IP 定址/路由)和連結層(物理傳輸/MAC)。DNS 將名稱 (FQDN) 轉換為地址 (IP)。