歡迎來到網絡世界!
在本章中,我們將探索電腦之間是如何溝通的。無論你是發送 WhatsApp 訊息、觀看串流電影,還是玩線上遊戲,你都在使用通訊與網絡的原理。如果一開始覺得有很多專業術語,請別擔心——我們會透過簡單的類比和清晰的步驟,為你一一拆解!
研讀完這份筆記後,你將會明白數據是如何傳遍全球,以及為什麼當數以百萬計的人同時使用互聯網時,網絡依然運作暢順而不會「崩潰」。
1. 通訊方式
在電腦分享檔案之前,必須有一種方法能將位元(0 和 1)從甲地傳送到乙地。主要有兩種方式:串列 (Serial) 和 並列 (Parallel) 傳輸。
串列 vs. 並列
- 串列傳輸 (Serial Transmission):數據在單一導線上,一次傳送 一個位元。想像成單線行車道,車輛(位元)排成一列前進。
- 並列傳輸 (Parallel Transmission):多個位元 同時 在多條導線上傳送。想像成 8 線行車高速公路,8 輛車可以並排同時行駛。
現實生活例子:你的 USB (Universal Serial Bus) 線就是使用串列傳輸。舊式打印機則使用笨重的「並列」電纜。
為什麼通常使用串列傳輸較佳?你可能會認為並列傳輸能一次傳送更多數據,速度應該更快,但它在長距離傳輸上有不少問題:
1. 訊號偏離 (Skew):由於電線長度難以完全一致,位元可能會在不同時間到達。
2. 串擾 (Crosstalk):捆綁在一起的電線之間會產生磁干擾,導致數據損毀。
現在,串列傳輸成本更低、更可靠,而且實際上能達到更高的速度!
同步 vs. 非同步
- 同步 (Synchronous):數據在 系統時鐘 (system clock) 的節奏下以穩定的流動發送。發送端和接收端處於「同步」狀態。
- 非同步 (Asynchronous):數據在準備好時發送。為了讓接收端知道數據何時開始和結束,我們使用 開始位元 (Start bit) 和 停止位元 (Stop bit)。
快速複習:
開始位元 (Start Bit):提醒接收端數據字節即將傳入。
停止位元 (Stop Bit):標示該字節結束,讓接收端為下一個字節做好準備。
重點總結
串列傳輸是現代通訊的首選,因為它能避免 訊號偏離 和 串擾。非同步傳輸則使用 開始/停止位元,在沒有共享時鐘的情況下管理數據流。
2. 通訊基礎:數據的「速度」
我們常說「網絡快」,但在電腦科學中,我們需要更精確的定義,以下幾個術語你必須掌握:
- 波特率 (Baud Rate):每秒鐘信號(電氣狀態)變化的次數。
- 位元率 (Bit Rate):每秒傳送的位元(0 和 1)數量。
- 頻寬 (Bandwidth):通訊通道的最大容量(它 可以 承載多少數據?)。
- 延遲 (Latency):請求與回應之間的時間差(即「Lag」)。
- 協定 (Protocol):允許兩台裝置進行溝通的一套規則。
數學小技巧:
位元率可以高於波特率!如果一次信號變化能代表 2 個位元(例如使用不同的電壓位準),那麼:
\( \text{Bit Rate} = \text{Baud Rate} \times \text{Number of bits per signal change} \)
類比:想像有人在揮旗。每一次揮動就是一個 波特 (Baud)。如果那人左右手各拿不同顏色的旗幟來代表不同含義,那麼他在每次揮動中就傳送了更多的「位元」。
重要關係: 位元率 與 頻寬 成正比。增加頻寬,你就能提高位元率。
重點總結
速度不僅僅是一個數字。它是信號變化頻率 (Baud)、數據傳輸量 (Bit Rate) 以及延遲 (Latency) 的綜合結果。
3. 網絡拓撲 (Network Topologies)
「拓撲」是用來描述網絡佈局或結構的專有名詞。
物理星狀 vs. 邏輯匯流排
- 物理星狀拓撲 (Physical Star Topology):每個裝置都連接到一個中央 交換機 (switch) 或集線器。如果其中一條電纜斷裂,只會影響該台電腦。
- 邏輯匯流排拓撲 (Logical Bus Topology):即使電纜看起來像星狀,網絡在 運作時 卻像匯流排一樣。這代表數據使用特定的 協定 同時廣播給網絡上的所有人。
你知道嗎? 大多數現代辦公室網絡在物理上都是 星狀(因為易於管理),但可以配置為在 邏輯上 作為匯流排運行!
網絡類型:主從式 vs. 對等式
- 主從式 (Client-Server):中央 伺服器 (Server) 為 客戶端 (Clients)(你所使用的電腦)提供服務(如檔案或電子郵件)。伺服器是「老大」。
- 對等式 (Peer-to-Peer, P2P):每台電腦地位平等。沒有中央管理,電腦之間可以直接互相分享檔案。
重點總結
星狀網絡因為有中心點而更加可靠。主從式適合集中控制,而對等式則適合快捷、平等的分享。
4. 無線網絡 (WiFi)
WiFi 允許裝置在不使用電纜的情況下連接。要實現這一點,你需要兩樣東西:
1. 裝置中的 無線網絡介面卡 (Wireless Network Adapter)。
2. 用於接收訊號的 無線存取點 (WAP)。
保持安全
無線訊號會穿過牆壁,所以附近的任何人都有可能「竊聽」。我們使用以下方式加強安全:
1. WPA/WPA2:為你的數據提供強大的加密。
2. SSID 廣播:停用此功能可隱藏網絡名稱。
3. MAC 位址過濾:僅允許特定的「硬件 ID」連接。
WiFi 如何處理「交通阻塞」(CSMA/CA)
如果兩台裝置同時說話,訊號就會衝突。WiFi 使用 載波感測多重存取與碰撞避免 (CSMA/CA)。
1. 裝置會先監聽通道是否閒置。
2. 如果忙碌,它會等待隨機一段時間後再嘗試。
3. RTS/CTS (選用):發送端先發送「請求傳送 (RTS)」,並等待存取點回覆「允許傳送 (CTS)」。這能防止「隱藏節點」問題(即兩台裝置互看不見,但都能看見存取點)。
重點總結
WiFi 很方便,但需要加密 (WPA2)。它使用 CSMA/CA 確保裝置輪流發送數據,以免產生衝突。
5. 互聯網及其運作方式
互聯網是 網絡的網絡。它使用 分封交換 (Packet Switching) 來高效移動數據。
數據包 (Packet) 裡有什麼?
當你發送檔案時,它會被切分成稱為「數據包」的小塊。每個數據包包含:
1. 標頭 (Header):包含發送者和接收者的 IP 位址、數據包編號以及 協定。
2. 有效載荷 (Payload):實際的數據(你的照片或訊息的一部分)。
3. 結尾 (Trailer):包含錯誤檢查數據(如核對和 Checksum)。
路由器與閘道器
- 路由器 (Router):查看數據包上的 IP 位址,並將其導向目的地的裝置。
- 閘道器 (Gateway):當兩個網絡使用不同 協定 時使用。它負責「翻譯」數據,使其能夠通過。
互聯網電話簿 (DNS)
電腦使用 IP 位址(例如 192.168.1.1),但人類更喜歡 域名 (Domain Names)(例如 google.com)。
域名系統 (DNS) 就像一本巨大的電話簿,負責為你輸入的 URL 查詢對應的 IP 位址。
快速複習:
FQDN:完整域名 (Fully Qualified Domain Name)(例如 www.example.com)。
IP 位址:網絡上每個裝置的唯一數字標籤。
重點總結
分封交換使互聯網變得可靠。路由器移動數據包,而 DNS 則將名稱翻譯為數字。
6. TCP/IP 協定堆疊
為了保持井然有序,網絡被分為 4 個層級。你可以將其想像成寄送實體郵件的步驟。
助記詞: All Taxis Need Lights (應用、傳輸、網絡、鏈結)
- 應用層 (Application Layer):像 HTTP、FTP、SMTP 等協定所在的地方。這正是你的瀏覽器所使用的層級。
- 傳輸層 (Transport Layer):使用 TCP 將數據分割為數據包並進行錯誤檢查。它使用 連接埠號 (Port Numbers) 來找到正確的應用程式(例如網頁使用連接埠 80)。
- 網絡層 (Network Layer):使用 IP 加入發送者和接收者的 IP 位址。它負責在互聯網上路由數據包。
- 鏈結層 (Link Layer):物理硬件(電纜、網卡)。它使用 MAC 位址 在同一本地網絡上的裝置間移動數據。
重要術語: Socket 是 IP 位址 和 連接埠號 的組合(例如 192.168.1.1:80)。它定義了通往特定應用程式的特定路徑。
重點總結
4 層協定堆疊確保通訊過程中的每個部分都有特定的工作,使系統既靈活又有條理。
7. 必須背誦的標準協定
AQA 要求你記住以下特定的協定:
- HTTP/HTTPS:用於網頁(S 代表 Secure/加密)。
- FTP:用於在客戶端和伺服器之間傳輸檔案。
- POP3:用於 接收 電子郵件(下載後會從伺服器刪除)。
- SMTP:用於 發送 電子郵件。
- SSH:用於 遠端管理。它允許你透過網絡安全地登入到另一台電腦。
重點總結
每個協定都有單一任務。如果你要寄信,使用 SMTP;如果你要安全地瀏覽網頁,使用 HTTPS。
8. IP 位址:v4 vs v6
IPv4:使用 32 位元位址(例如 192.168.0.1)。因為世界上的裝置太多,我們已經用光了這些位址!
IPv6:使用 128 位元位址。這提供了數以兆計的新位址。
私有 IP 與 NAT
你家中的大多數裝置都擁有 私有 (無法路由的) IP。這些在互聯網上是無法被直接看到的。
你的路由器則擁有一個 公共 (可路由的) IP。
網絡位址轉換 (NAT):你的路由器將你的私有 IP 轉換為它的公共 IP,以便你能使用互聯網。這既節省了 IP 位址,又增加了安全性。
快速複習:
DHCP:當你加入網絡時,自動為你的裝置分配 IP 位址。
連接埠轉發 (Port Forwarding):告訴路由器將針對特定連接埠的互聯網流量發送到私有網絡中的特定裝置(對於遊戲伺服器很有用!)。
重點總結
IPv6 解決了「位址短缺」問題。NAT 允許許多裝置共用一個公共 IP 位址。
9. Web 應用程式 (CRUD 與 REST)
當你使用 Web 應用程式(如 Instagram)時,你正在執行 CRUD 操作:
- Create (POST) - 新增
- Retrieve (GET) - 讀取
- Update (PUT) - 更新
- Delete (DELETE) - 刪除
REST 是一種設計 API 的方式,讓程式設計師可以使用這些標準的 HTTP 方法與資料庫溝通。數據通常以 JSON 格式傳送,因為與 XML 相比,它更簡潔且易於閱讀。
重點總結
CRUD 是邏輯(你想做什麼),而 REST 是風格(你如何透過網頁去執行它)。
如果一開始覺得這些內容有點複雜,別擔心!網絡就像拼圖——一旦你看清了各個層級和協定是如何組裝在一起的,互聯網的整個「全貌」就開始清晰了。