網絡服務與實施
各位同學好!歡迎來到「網絡服務與實施」的學習筆記。你有沒有想過,為甚麼你可以在手機上即時觀看影片、與同學分享專案檔案,甚至只是連接到家中的 Wi-Fi?本章將揭示這一切的運作奧秘!
我們會探討電腦如何「溝通」(用戶端-伺服器模型),然後學習如何架設一個簡單的網絡,並實踐應用,分享檔案、打印機和網絡應用程式等資源。這聽起來可能很專業,但我們會用簡單的例子來逐一說明。讓我們開始吧!
第一部分:電腦如何「溝通」—— 用戶端-伺服器通訊
互聯網和大部分網絡的核心,是一個簡單的理念:一部電腦提出請求,另一部電腦則提供服務。這就是用戶端-伺服器模型。
1.1 用戶端與伺服器:餐廳類比
想像一下,你在一間餐廳裏。你是顧客,想點餐。服務生和廚房就是為你服務的。
• 用戶端:這就是你!在電腦世界裏,用戶端是你的裝置 (你的電腦、手機、平板電腦),它運行著一個程式來請求服務或資訊。例如,當你在瀏覽器中輸入網站地址時,你的瀏覽器程式正充當用戶端。
• 伺服器:這就是服務生和廚房。伺服器是一部運行專用軟件的電腦,它儲存資訊或提供用戶端所需的服務。它會持續聆聽傳入的請求、處理它們,並透過發送數據來回應。你想瀏覽的網站就儲存在伺服器上。
所以,角色很簡單:
用戶端 = 請求東西 (發出請求)
伺服器 = 提供東西 (發送回應)
1.2 套接字 (Socket)、埠號與請求-回應週期
當用戶端與伺服器通訊時,兩個網絡程序 (程式) 會使用稱為套接字 (Socket) 的端點進行連接,它是 IP 位址與埠號的組合 (例如 192.168.1.10:80)。
TCP 埠號 (Port Number):找到正確的「部門」
想像一下,伺服器就像一棟巨大的辦公大樓。伺服器的 IP 位址就像大樓的街道地址。但你如何找到裏面正確的「部門」呢?這就是埠號 (Port Number) 的作用!埠號是一個 16 位元的數值,附在連線請求中,用以將請求導向伺服器上運行的正確服務。
• 網頁瀏覽 (HTTP):埠號 80
• 安全網頁瀏覽 (HTTPS):埠號 443
• 發送電郵 (SMTP):埠號 25
• 接收電郵 (POP3):埠號 110 / (IMAP):埠號 143
• 檔案傳輸協定 (FTP):埠號 20 (數據) / 埠號 21 (控制)
• 安全檔案傳輸協定 (SFTP / SSH):埠號 22
你知道嗎?TCP 埠號總共有 \(2^{16} = 65\text{,}536\) 個,編號由 \(0\) 到 \(65\text{,}535\)。埠號 \(0\) 到 \(1023\) 被稱為「熟知埠號」,預留給標準系統服務使用。
HTTP 請求:GET 與 POST
網頁用戶端與網頁伺服器透過 HTTP 請求和回應進行溝通:
• GET 請求:用於從伺服器獲取數據。數據參數會直接附加在 URL 查詢字串中 (例如 search?query=hkdse)。它會顯示在瀏覽器歷史記錄中並可加入書籤,但不適合用於傳輸敏感數據。
• POST 請求:用於發送或提交數據到伺服器進行處理 (例如提交密碼、用戶註冊或上載檔案)。數據在 HTTP 訊息主體中傳輸,因此更安全,且能攜帶更大的數據量。
記憶小提示:想想 GET = 「去給我拿些東西!」和 POST = 「把我裝在信封裏發給你的這些資訊拿走!」。
1.3 超級伺服器:認識團隊成員!
網絡依賴不同類型的伺服器,各有專責:
• DHCP 伺服器 (Dynamic Host Configuration Protocol):「地址派發者」。當用戶端裝置連接到網絡時,自動為其分配動態 IP 位址、子網遮罩、預設閘道器及 DNS 伺服器位址。
• 域控制器 (Domain Controller):「保安人員」。在網域網絡中集中管理用戶帳戶身分驗證、密碼管理和存取控制策略 (例如允許學生使用相同的憑證登入學校的任何一部電腦)。
• 檔案伺服器 (File Server):「中央金庫」。集中儲存檔案,讓獲授權的網絡用戶可以透過網絡檔案共享協定 (例如 SMB/CIFS 或 NFS) 來共享、儲存和備份文件。
• FTP / SFTP 伺服器:「檔案運輸員」。專門用於跨網絡上載和下載檔案。標準 FTP 以明文傳輸憑證和檔案,而 SFTP 則透過 SSH 加密指令和數據,以進行安全的遠端檔案傳輸。
• 打印伺服器 (Print Server):「隊列管理員」。將打印機連接到網絡,管理暫存區/佇列中的傳入打印作業,無需每部用戶端電腦都以實體線路連接到打印機。
• 郵件伺服器 (Mail Server):「郵政局」。負責電郵傳遞,使用 SMTP (簡單郵件傳輸協定) 在伺服器之間發送郵件,並使用 POP3 (郵局協定) 或 IMAP (互聯網訊息存取協定) 供用戶端下載或同步郵件。
• 代理伺服器 (Proxy Server):「中間人」。攔截用戶端的網頁請求,以提供網頁快取 (加速熱門網頁的存取)、URL 過濾 (封鎖受限網站),並隱藏內部用戶端 IP 位址以提高安全性。
• 網絡伺服器與數據庫伺服器:「黃金搭檔」。網絡伺服器 (例如 Apache、Nginx、IIS) 託管網頁檔案 (HTML、CSS、JavaScript、PHP) 並將其傳送給瀏覽器。數據庫伺服器 (例如 MySQL、PostgreSQL、MariaDB) 則儲存和擷取結構化記錄,供動態網頁應用程式使用。
• 閘道器 (Gateway):「翻譯員/出口」。連接兩個使用不同協定和子網的相異網絡,例如在本地家庭網絡 (LAN) 與更廣闊的互聯網 (WAN) 之間路由流量。
第二部分:建立你的網絡——基本實施
既然我們已經了解了理論知識,讓我們看看如何實際地組建網絡並安全地共享資源。
2.1 連接方式:以太網 (Ethernet) vs. 無線 (Wireless)
• 以太網 (有線):使用實體線纜 (例如 Cat 5e/Cat 6 UTP 雙絞線) 將電腦連接到交換機或路由器。它提供高頻寬、低延遲,並能抵抗無線電干擾。
• 無線 (Wi-Fi):透過無線接入點 (WAP) 或無線路由器以無線電頻率連接裝置,為手提電腦和流動裝置提供流動性。
• 對等網絡 (Ad hoc network):一種分散式的點對點無線連接,直接在兩部或多部裝置之間建立,無需透過中介的路由器或接入點 (適用於快速的本地檔案交換)。
2.2 資源共享與檔案共享協定
網絡允許用戶共享重要的硬件和數據資源:
• 共享資料夾 (作業系統層級 / SMB):作業系統內建的資料夾共享功能,讓網絡用戶可以在區域網絡 (LAN) 上實時瀏覽和編輯檔案,就像使用本地檔案一樣。
• FTP / SFTP 服務:非常適合透過互聯網批量傳輸大型檔案,或更新遠端託管伺服器上的網頁檔案。
• 網絡打印機:多個用戶透過區域網絡將打印作業發送到由打印伺服器管理的共享打印機,從而優化硬件使用。
• 互聯網共享:路由器充當預設閘道器和 NAT (網絡位址轉換) 裝置,在多個私有 LAN 裝置之間共享單一公共 IP 寬頻連線。
2.3 誰可以做什麼?權限與存取控制
為了保護共享資料夾和檔案免受未授權存取或意外刪除,網絡管理員會根據最低權限原則 (僅給予用戶執行工作所需的最低限度存取權限) 來設定權限。
標準權限類型:
• 讀取:允許檢視資料夾內容、開啟檔案及檢視屬性,但不能修改它們。
• 寫入:允許建立新檔案、修改現有檔案內容及覆寫數據。
• 執行:允許運行可執行程式或腳本檔案。
• 完全控制/修改:結合了讀取、寫入、執行、刪除以及更改存取權限的能力。
用戶群組與權限繼承:
管理員不會為每位學生單獨分配權限,而是建立用戶群組 (例如 Administrators、Teachers、Students、Guests) 並為整個群組分配權限。放置在共享資料夾中的檔案通常會從母資料夾獲得繼承權限。
2.4 設定簡單網絡服務 (網頁與數據庫)
對於學校實作專案或本地測試,學生可以設定本地網頁和數據庫服務:
• 本地網絡伺服器:在本地機器上運行伺服器軟件 (例如 Apache、Nginx 或 Node.js),以便在公開發佈前,透過 http://localhost 或本地 IP 位址在本地測試網頁和伺服器端腳本。
• 本地數據庫伺服器:在同一部主機或區域網絡內的另一部機器上設定數據庫服務 (例如 MySQL 或 MariaDB),使網頁應用程式能夠執行 SQL 查詢以儲存和管理動態數據。
第二部分重點總結:網絡能夠透過有線 (以太網) 和無線媒介共享檔案、打印機和互聯網連線。透過套用適當的檔案權限 (讀取、寫入、執行)、用戶群組以及安全協定 (如 SFTP 和 HTTPS),網絡資源得以保持可存取、井井有條且安全。