學習筆記:網絡(3.14 網絡與網絡安全)

各位未來的電腦科學家好!本章節將帶大家了解電腦如何進行通訊,從最小型的家居網絡到我們稱為「互聯網」的龐大全球結構。理解網絡至關重要,因為在現代世界中,幾乎所有系統都是互聯的。如果有些術語看起來很專業,請別擔心——我們會用簡單的類比來為大家拆解!

3.14.1 通訊基礎

3.14.1.1 通訊方式:並行 vs 串行

當數據在組件或系統之間傳輸時,通常採用以下兩種主要方式之一:

1. 並行傳輸 (Parallel Transmission)

想像一條多線道的公路。在並行傳輸中,多個位元(通常為 8 個或更多)會同時通過不同的導線或通道傳送。

  • 速度: 在短距離內非常快。
  • 問題: 在較長距離下,訊號抵達的時間會出現些微差異,這稱為時滯 (skew)。這會使數據變得不可靠。

2. 串行傳輸 (Serial Transmission)

想像一條單線道公路。位元會一個接一個地通過單一導線或通道傳送。

  • 串行相對於並行的優勢:
    • 可靠性: 沒有數據時滯問題,使其在長距離傳輸中非常可靠。
    • 成本: 需要的導線較少,因此纜線更便宜、更幼細。
    • (例子:USB (Universal Serial Bus) 採用的是串行傳輸,儘管它的速度比舊式的並行端口快得多!)


同步與異步數據傳輸

這指的是如何管理數據的定時(或「時鐘」)。

1. 同步傳輸 (Synchronous Transmission):

  • 發送方和接收方共用一個共同的定時訊號(時鐘)。
  • 數據以大型、同步的數據塊持續傳送。
  • 優勢: 對於大型傳輸非常有效率,因為不需要為每個位元組添加定時位元。

2. 異步傳輸 (Asynchronous Transmission):

  • 沒有共用的時鐘。數據每次傳送一個字符(或位元組)。
  • 為了告訴接收方數據何時開始和結束,需要添加特殊的位元:
    • 起始位元 (Start Bit): 使接收方的時鐘與發送方的時鐘同步,表示有字符即將傳入。
    • 停止位元 (Stop Bit(s)): 讓接收方有時間處理已接收的數據,並準備好辨識下一個起始位元。

快速回顧:傳輸方式

短距離、高速度: 並行(但要注意時滯!)
長距離、高可靠: 串行(較少時滯)
大型數據塊(共用時鐘): 同步
每次一個字符(起始/停止位元): 異步

3.14.1.2 通訊基礎:詞彙表

以下是探討通訊質素時必須掌握的核心術語:

  • 協議 (Protocol): 定義數據如何傳輸和接收的一套規則。(將協議想像成電腦對話的語法。)
  • 延遲 (Latency): 從數據發送到接收之間的時間延遲。高延遲意味著反應緩慢(對遊戲玩家來說非常糟糕!)。
  • 位元率 (Bit Rate): 每秒傳輸的位元數。以每秒位元數 (bps) 為單位。這是速度的真正衡量標準。
  • 波特率 (Baud Rate): 每秒發生的訊號變化(或符號)次數。以赫茲 (Hz) 或每秒符號數為單位。
  • 頻寬 (Bandwidth): 通訊媒介理論上的最大數據傳輸速率。

波特率與位元率的區別

波特率是訊號變化的速度,但有時先進的技術會在單次訊號變化中編碼超過一個位元(使用複雜的電壓位準)。

因此:

如果每次訊號變化編碼超過一個位元,位元率可以高於波特率。

位元率與頻寬的關係

位元率與頻寬成正比。如果纜線具有很高的最大頻寬,它就能達到更高的位元率(每秒傳輸更多數據)。

3.14.2 網絡

3.14.2.1 主機之間的網絡類型

網絡中的電腦如何互動?它們通常遵循以下兩種模型之一:

1. 對等網絡 (Peer-to-Peer, P2P)

  • 狀態: 所有電腦(主機)地位平等(它們是「對等節點」)。
  • 用途: 安全性要求不高的小型企業或家庭。廣泛用於檔案共享。
  • 類比:一場小組讀書會,每個人直接與其他人共享筆記。

2. 客戶端-伺服器網絡 (Client-Server Networking)

  • 狀態: 有專門提供資源的伺服器 (Servers),以及請求資源的客戶端 (Clients)
  • 用途: 大型組織、學校網絡和互聯網。提供更好的安全性和集中式管理。
  • 伺服器範例:檔案伺服器(儲存檔案)、郵件伺服器(處理郵件)、網頁伺服器(儲存網站)。

3.14.2.2 精簡客戶端 (Thin-Client) 與胖客戶端 (Thick-Client) 運算

這定義了主要的處理能力位於何處。

1. 精簡客戶端運算 (Thin-Client Computing)

  • 客戶端設備(例如簡單的終端機或 Chromebook)只進行極少量的處理。
  • 主要工作(執行應用程式、儲存數據)都在功能強大的伺服器上集中完成。
  • 要求: 需要穩固的網絡基建和高性能伺服器。
  • 優勢: 客戶端硬件成本較低、維護容易、數據安全性高(數據保留在伺服器上)。

2. 胖客戶端運算 (Thick-Client Computing)

  • 客戶端設備(例如典型的桌面電腦)自身執行大部分處理工作。
  • 伺服器主要用於儲存檔案或備份。
  • 要求: 需要高性能客戶端硬件(昂貴的電腦),但對網絡的要求相對較低。
  • 優勢: 如果網絡中斷,仍能離線操作;執行密集型任務(如 CAD 或影片剪輯)時效能更快。

3.14.2.3 有線網絡:纜線與碰撞檢測

選擇合適的纜線對於網絡效能至關重要。

銅纜 (Ethernet) 與光纖纜線

銅纜 (如 Cat 5e/6) 光纖纜線
技術 通過金屬導線傳送電訊號。 通過玻璃或塑膠纖維傳送光訊號。
成本 安裝便宜,使用廣泛。 安裝和維護昂貴。
速度與容量 良好,但長距離下受限(受訊號衰減影響)。 極高的速度和容量(可傳輸更遠)。
干擾 容易受到電磁干擾。 不受電磁干擾。

碰撞處理:CSMA/CD

CSMA/CD 代表載波偵聽多路存取與碰撞檢測 (Carrier Sense Multiple Access with Collision Detection)。此協議主要用於有線乙太網絡以管理共用傳輸媒介。

  1. 載波偵聽 (CS): 設備檢查頻道是否正忙(是否有其他設備正在傳輸)。
  2. 多路存取 (MA): 多個設備可以存取頻道並嘗試傳輸。
  3. 傳輸: 如果頻道空閒,設備即傳輸數據。
  4. 碰撞檢測 (CD): 設備在傳輸時同時監聽頻道。如果檢測到混亂的訊號(即碰撞),它會立即停止傳輸。
  5. 退避 (Backoff): 所有捲入碰撞的設備會等待一段隨機時間,然後再嘗試重傳。

你知道嗎?在無線網絡中無法實現「碰撞檢測」,因為無線設備無法同時監聽和傳輸訊號。

3.14.2.4 無線網絡 (Wi-Fi)

Wi-Fi 是基於國際標準 (IEEE 802.11) 的無線區域網絡 (WLAN)。其目的簡單來說,就是讓設備能以無線方式連接網絡。

無線網絡關鍵組件:

  • 無線網絡適配器 (Wireless Network Adapter): 設備(筆記型電腦、手機)中允許其無線通訊的硬件。
  • 無線存取點 (WAP): 將無線設備連接到網絡的中央設備(家用設備中通常與路由器和交換機整合在一起)。
  • SSID (Service Set Identifier): Wi-Fi 網絡的友善名稱(即掃描 Wi-Fi 時看到的名稱)。

無線安全性:

無線網絡採用各種方法來防止未經授權的存取和竊聽:

  • 強加密 (WPA2/WPA3): 加密傳輸的數據,即使被截獲也無法讀取。
  • 關閉 SSID 廣播: 隱藏網絡名稱,使一般用戶掃描時無法看到(這是一種較弱的安全措施)。
  • MAC 位址白名單 (MAC Filtering): 只允許具有特定、已核准 MAC 位址(唯一的硬件識別碼)的設備進行連接。

碰撞處理:CSMA/CA

由於在無線網絡中無法可靠地檢測碰撞,該協議改用載波偵聽多路存取與碰撞避免 (CSMA/CA)

  1. 偵聽: 設備檢查頻道是否空閒。
  2. 發送意圖 (RTS/CTS): 如果頻道空閒,設備會發送一個簡短的發送請求 (RTS) 封包給存取點 (AP)。AP 會回應一個清除發送 (CTS) 封包,通知所有其他設備等待。
  3. 傳輸: 設備開始傳輸數據。
  4. 確認: 接收方發送確認 (ACK)。如果未收到 ACK,則視為數據遺失,設備會在隨機等待後重試。
3.14.2.5 有線與無線網絡比較
有線網絡 無線網絡
優勢 速度更快、頻寬更高、更安全、連線質素穩定。 流動性高、安裝方便(無需物理纜線)、擴展成本較低。
劣勢 靈活性較低(需鑽孔/佈線)、基建安裝成本較高。 速度較慢、安全性較低(數據以廣播形式發送)、易受干擾及長距離衰減影響。
重點總結:網絡類型

網絡使用碰撞協議(有線用 CSMA/CD,無線用 CSMA/CA)來管理流量,並根據需求選擇基礎架構(P2P 為了簡便,客戶端-伺服器為了控制與安全)。

3.14.3 互聯網

互聯網結構基礎

互聯網是一個巨大的、互連的網絡集合。數據傳輸依賴兩個關鍵概念:分封交換 (packet switching)路由器 (routers)

分封交換

資訊不會作為單一連續串流發送,而是被拆解成小的、易於管理的數據塊,稱為封包 (packets)。每個封包在網絡中獨立傳輸,並可能採取不同的路徑,最後在目的地重新組裝。

路由器的角色

路由器是引導網絡流量的設備。它讀取封包上的目的地位址,並利用路由表來判斷該封包在互聯網中傳輸的最有效路徑。(將路由器想像成郵政分揀中心,決定信件下一步該往哪條路走。)

封包的主要組件

封包包含傳輸所需的必要資訊:

  • 來源位址: 封包來自何處(IP 位址)。
  • 目的地位址: 封包要去哪裡(IP 位址)。
  • 有效載荷 (Payload): 實際傳輸的數據片段。
  • 封包序列號: 用於在目的地將封包按正確順序重新組裝。
  • 存活時間 (TTL): 一個計數器,限制封包可以經過多少個躍點(路由器)。防止封包因遺失而在網絡中無限循環。
  • 錯誤檢測/糾正資訊: 檢查碼(如檢查總和 checksum),確保數據在傳輸過程中沒有損毀。

互聯網路由

當每個路由器讀取傳入封包的目的地 IP 位址時,路由即發生。它會查詢內部的路由表(列出已知的網絡路徑),並將封包轉發到朝向其最終目的地的下一個路由器。此過程重複進行,直到封包到達目的地網絡。


互聯網定址

  • 網址 (URL): 用於定位互聯網資源的人類可讀網址(如 https://www.oxfordaqa.com/)。
  • IP 位址 (Internet Protocol Address): 分配給網絡上每個設備的唯一數字標籤。這是封包中可被機器識別的目的地位址。
  • 域名 (Domain Name): 網站的主要名稱(如 oxfordaqa.com)。
  • 完全限定域名 (FQDN): 互聯網上特定電腦或主機的完整域名(如 www.oxfordaqa.com)。

域名系統 (DNS)

DNS 的目的是將人類可讀的域名(如 google.com)翻譯成機器可讀的 IP 位址(如 172.217.16.14)。

  • 類比:DNS 是互聯網的電話簿。你查閱名稱以獲得號碼。
  • 域名伺服器 (Domain Name Servers): 這些是持有這些翻譯數據庫的專用伺服器。當你輸入網址時,你的設備會向 DNS 伺服器發送請求,以找到對應的 IP 位址。

互聯網註冊管理機構

互聯網註冊管理機構(如 ICANN 和區域性註冊機構)在全球範圍內管理域名和 IP 位址的分配。它們確保每個域名和 IP 位址都是唯一的,從而防止衝突並維持互聯網的結構組織。

3.14.4 傳輸控制協議/互聯網協議 (TCP/IP)

3.14.4.1 TCP/IP 模型(四層架構)

TCP/IP 模型是一組管理互聯網上幾乎所有通訊的協議套件,它採用層級結構。

為什麼要分層?
網絡協議使用分層來將傳送數據這一複雜任務拆解為較小的、獨立的子任務。

  • 這允許特定的協議專注於單一工作。
  • 如果某一層發生變更(例如新的纜線技術),其他層將不受影響,從而增強了模組化 (modularity)

TCP/IP 堆疊的四層 (A-T-I-L):

  1. 應用層 (Application Layer):(頂層)網絡應用程式(如瀏覽器、電子郵件客戶端)在此運作。它處理用戶互動的特定服務(如 FTP、HTTP)。
  2. 傳輸層 (Transport Layer): 負責建立連線並確保進程之間數據的可靠傳輸。這是 TCP (Transmission Control Protocol) 運作的地方,將數據拆解為分段並確保正確送達。
  3. 互聯網層 (Internet Layer): 處理網絡之間的定址和路由。這是 IP (Internet Protocol) 運作的地方,使用 IP 位址導向封包。
  4. 連結層 (Link Layer/Network Access Layer):(底層)處理透過特定網絡硬件(如乙太網線、Wi-Fi)的實際數據傳輸。

通訊端 (Sockets) 與 MAC 位址

  • 通訊端 (Sockets): 通訊端是 IP 位址端口號 (port number) 的組合(如 192.168.1.1:80)。它在傳輸層提供通訊端點,確保數據不僅到達正確的電腦,還能到達該電腦上運行的正確應用程式。
  • MAC 位址 (Media Access Control Address): 永久燒錄在每個網絡適配器中的唯一物理位址。它在連結層運作,用於同一個物理網段內的本地通訊(例如將封包從筆記型電腦傳送到路由器)。

3.14.4.2 標準應用層協議

這些協議定義了應用程式所用特定服務的規則:

  • HTTP (Hypertext Transfer Protocol): 網頁瀏覽器用於從網頁伺服器請求並接收網頁(文字格式)的協議。
  • HTTPS (HTTP Secure): HTTP 的安全版本,確保加密通訊(使用 SSL/TLS)。
  • FTP (File Transfer Protocol): 用於在客戶端和伺服器之間傳輸檔案。可以使用匿名或經過驗證的存取。(請注意,FTP 正逐漸被 SFTP 等安全替代方案取代。)
  • SSH (Secure Shell): 用於安全遠端管理,允許用戶登入遠端電腦並安全地執行指令。
  • SMTP (Simple Mail Transfer Protocol): 客戶端用於發送郵件到郵件伺服器,以及伺服器之間傳遞郵件的協議。
  • POP3 (Post Office Protocol v3): 客戶端用於從郵件伺服器接收郵件(通常下載後會從伺服器刪除郵件)。
  • IMAP (Internet Message Access Protocol): 客戶端用於從郵件伺服器接收郵件(郵件通常保留在伺服器上,允許跨多設備同步)。

網頁瀏覽器與伺服器的角色:

網頁伺服器儲存並提供網頁,通常以文字格式(HTML、CSS 等)。網頁瀏覽器負責檢索這些網頁及其資源,解釋程式碼,並將其在用戶螢幕上視覺化渲染 (rendering) 出來。

3.14.4.3 IP 位址

每個 IP 位址都分為兩部分:

  • 網絡識別碼 (Network Identifier Part): 識別設備所屬的特定網絡。
  • 主機識別碼 (Host Identifier Part): 識別該網絡內部的特定設備。

子網劃分 (Subnetting) 與子網掩碼 (Subnet Masks)
網絡可以劃分為稱為子網 (subnets) 的較小區段,以提高組織性和效率。子網掩碼(一個 32 位元的數字)用於確定 IP 位址的哪一部分是網絡 ID,哪一部分是主機 ID。

(技巧:如果子網掩碼中的位元為 1,則 IP 位址中對應的位元是網絡 ID 的一部分。如果為 0,則屬於主機 ID。)

IPv4 與 IPv6

  • IPv4: 使用 32 位元,提供約 43 億個唯一位址。
  • IPv6: 使用 128 位元。
  • 為何引入 IPv6: 因為互聯網的快速擴張導致我們耗盡了 IPv4 位址(位址枯竭)。IPv6 提供了幾乎無限的位址。

可路由與不可路由 IP 位址

  • 可路由 (公用) IP 位址: 全球唯一的位址,可被路由器在互聯網上進行導向。
  • 不可路由 (私有) IP 位址: 保留給私有網絡(如你的家庭或學校 LAN)使用的位址。路由器被配置為阻止這些位址跨越公共互聯網,因此它們只能在本地可見。
3.14.4.4 動態主機設定協議 (DHCP)

目的: DHCP 是一個系統,當設備連接到網絡時,能自動為其分配唯一的 IP 位址以及其他網絡設定參數(如子網掩碼和預設閘道)。

DHCP 如何運作(簡化版):

  1. 新設備廣播一個請求 (DHCP Discover)。
  2. DHCP 伺服器提供一個可用的 IP 位址 (DHCP Offer)。
  3. 設備接受該提議 (DHCP Request)。
  4. DHCP 伺服器發送最終確認 (DHCP Acknowledgement)。

相比手動設定的優勢:
DHCP 防止了人為錯誤(如意外給兩台設備分配相同的 IP 位址),並使網絡管理變得容易得多,特別是在設備頻繁加入和離開的大型網絡中。

重點總結:TCP/IP 與定址

互聯網依賴分層協議 (TCP/IP) 提高效率,使用數字位址 (IP) 進行路由,並用 DNS 將名稱轉換為數字。DHCP 則簡化了分配這些位址的重要工作。

3.14.5 網絡安全

網絡安全旨在保護系統和數據免受未經授權的存取、使用、披露、中斷、篡改或破壞。

防火牆 (Firewalls)

防火牆是一種安全系統,根據預先設定的安全規則監控並控制進出網絡的流量。

  • 封包過濾 (Packet Filtering): 最簡單的類型,檢查封包標頭(如來源/目的地 IP 和端口),並封鎖不符合規則的流量。
  • 代理伺服器 (Proxy Server): 作為內部網絡與外部世界之間的中介(中間人)。它代表內部客戶端發出請求,隱藏客戶端的真實 IP 位址。
  • 狀態檢測 (Stateful Inspection): 一種複雜的防火牆,會追蹤活動網絡連線的「狀態」。它僅允許符合已建立出站連線請求的入站流量,這使得惡意外部連線難以主動發起接觸。
對稱與非對稱加密

加密是使用算法和密鑰 (key)明文 (plaintext) 轉換為不可讀的密文 (ciphertext) 的過程。

1. 對稱加密 (Symmetric Encryption)
使用相同的密鑰來加密和解密數據。
(例子:凱撒密碼和 Vernam 密碼都是對稱的。)

2. 非對稱加密 (Asymmetric/Public Key Encryption)
使用兩個數學相關的密鑰公鑰 (Public Key)(廣泛公開)用於加密,私鑰 (Private Key)(嚴格保密)用於解密。

密鑰交換問題
在對稱加密中,發送方和接收方必須找到一種安全的方式來共享密鑰而不被截獲。這就是密鑰交換問題。非對稱加密解決了這個問題,因為加密密鑰(公鑰)可以公開分享,只有與之數學相關的私鑰才能解密數據。

數碼證書與數碼簽章

這些對於建立線上信任至關重要,特別是在使用 HTTPS 時。

  • 數碼證書 (Digital Certificate): 用於證明公鑰所有權的電子文檔。它們由證書頒發機構 (CA) 核發,用以驗證網站的身分。
  • 數碼簽章 (Digital Signature): 一種用於驗證訊息或文檔的真實性和完整性(確保未被篡改)的方法。它是透過使用發送方的私鑰對文檔的雜湊值 (hash) 進行加密而建立的。
惡意軟件 (Malware)

惡意軟件試圖利用漏洞 (vulnerabilities)——即系統、軟件或安全程序中的弱點。

  • 病毒 (Virus): 附著在合法程式上的惡意程式碼,需要主機程式才能傳播。利用過時軟件等漏洞。
  • 特洛伊木馬 (Trojan Horse): 偽裝成合法軟件的惡意軟件。它誘騙用戶進行安裝。利用人類弱點(社交工程)。
  • 蠕蟲 (Worm): 獨立的惡意軟件,能夠在網絡中自動、快速地自我複製,無需主機程式或用戶干預。利用網絡協議或作業系統漏洞。
快速回顧:網絡安全

防火牆: 監控流量。
對稱加密: 單一密鑰(存在密鑰交換問題)。
非對稱加密: 雙密鑰(解決密鑰交換問題)。
數碼證書: 驗證身分。
數碼簽章: 驗證完整性/真實性。