一、網路概念與早期 UUCP 網路
網路本質是主機間透過協議交換資訊。早期 UUCP (Unix-to-Unix Copy) 採用「儲存-轉發」模式,透過撥號電話線定期連線傳遞郵件、新聞與檔案。優點:成本低、無需專線;缺點:延遲高、頻寬低、非即時。UUCP 仍用於特定場景(如離線同步)。
二、TCP/IP 協議族與互聯網架構
1. 歷史演進
1969 年 ARPANET → 1983 年 TCP/IP 成為標準 → 1990 年代演變為現代 Internet。TCP/IP 採用「封包交換」,資料切分為小封包獨立路由,目的端重組,支援即時互動應用(遠端登入、X Window、NFS)。
2. 核心協議分層
- 網路存取層: 乙太網、Wi-Fi、PPP、SLIP — 負責實體傳輸。
- 網際層 (IP): 提供無連線、不可靠的封包傳遞;核心功能:定址 (IPv4 32-bit)、路由、分片重組。
IP 協議讓異構網路互聯成為「internet」。
- 傳輸層:
- TCP: 面向連線、可靠、有序、流量控制、阻塞控制。應用:HTTP, SSH, SMTP。
- UDP: 無連線、不可靠、低延遲、支援多播。應用:DNS, NFS, 串流媒體。
- 應用層: DNS, DHCP, HTTP, FTP, SNMP 等。
3. 關鍵概念
- IP 位址: 點分十進位 (192.168.1.1),網路部分由 InterNIC 分配,主機部分本地管理。
- 埠號: 16-bit 識別進程,知名埠 (0-1023) 由 IANA 管理,
/etc/services 映射名稱。
- Socket: IP + Port 唯一標識通訊端點;Berkeley Socket API 提供
socket/bind/listen/accept/connect 介面。
- 名稱解析:
/etc/hosts、DNS (UDP 53) 將主機名映射為 IP。
- 位址解析 (ARP): IP 映射為 MAC 位址 (乙太網)。
三、乙太網路硬體與實作
1. 傳輸介質演進
| 類型 | 標準 | 速率 | 最大距離 | 連接器 |
| 粗纜 | 10BASE-5 | 10 Mbps | 500 m | 吸血鬼接頭 + AUI |
| 細纜 | 10BASE-2 | 10 Mbps | 185 m | BNC T-head |
| 雙絞線 | 10/100/1000BASE-T | 10/100/1000 Mbps | 100 m | RJ-45 |
| 光纖 | 100BASE-FX, 1000BASE-SX/LX | 100/1000 Mbps | 2 km+ | SC/LC |
現代以太網採用交換器 (Switch) 取代共享總線,消除碰撞域,支援全雙工。
2. MAC 位址與幀格式
48-bit 全球唯一 (OUI + 廠商分配),幀長 64-1518 bytes,含前導碼、目的/來源 MAC、類型/長度、資料、FCS 校驗。
四、其他網路硬體技術
- FDDI: 光纖分散式資料介面,雙環令牌傳遞,100 Mbps,200 km,用於校園骨幹。
- X.25 / Frame Relay / ATM: 早期廣域網封包/幀交換技術,現多被 IP/MPLS 取代。
- ISDN: 數位用戶迴路,提供 64/128 Kbps 數位電路,曾用於撥號上網。
- 無線電 (AX.25): 業餘無線電封包通訊,衍生自 X.25。
五、串列線路協議:SLIP 與 PPP
| 特性 | SLIP | PPP |
| 全名 | Serial Line IP | Point-to-Point Protocol |
| 封裝 | 簡單 IP 封包加 END 字元 | HDLC 類幀結構,支援多協議 (IP, IPX, IPv6) |
| 壓縮 | CSLIP 壓縮 TCP/IP 標頭 | VJ 壓縮 + 協議欄位協商 |
| 認證 | 無 | PAP / CHAP / EAP |
| 鏈路管理 | 無 | LCP (Link Control Protocol) 協商 MTU, 魔數等 |
| 現狀 | 淘汰 | 標準撥號/DSL/VPN 封裝 |
六、Linux 核心網路子系統發展
- Net-1 (1992): Ross Biro 實作基礎 TCP/IP、SLIP、乙太網驅動。
- Net-2/Net-2d (1993): Fred van Kempen 重寫,Alan Cox 維護,加入 PPP、PLIP、更多驅動。
- Net-3 (1.0 後): Alan Cox 整合,效能達商業級,模組化 (kmod) 支援動態載入驅動。
- 現代 (2.6+ / 5.x): 全面模組化、零複製 (zero-copy)、多佇列 (RSS/RPS)、XDP/eBPF 可程式化資料平面。
七、系統維護與安全實務
1. 日誌與監控
- 定期審閱
/var/log/syslog, auth.log, kern.log;部署 logrotate 切割。
- 使用
auditd 記錄關鍵系統呼叫;fail2ban 自動封鎖暴力破解 IP。
2. 檔案完整性檢查
- Tripwire / AIDE: 建立關鍵檔案資料庫 (雜湊、權限、inode),定期比對偵測竄改。
- RPM/Deb 套件驗證:
rpm -Va / debsums -c 檢查系統檔案完整性。
3. 最小權限與服務強化
- 服務以專用低權限帳號運行 (非 root);啟用 SELinux/AppArmor 限制存取。
- 關閉非必要埠;使用
ss -tulpn 稽核監聽埠。
- TFTP、NFS 等僅讀服務限制匯出路徑 (
/boot, /srv)。
4. 密碼與認證策略
- 強制複雜度 (
pam_pwquality);啟用影子密碼 (/etc/shadow)。
- SSH 僅允許金鑰認證,禁用密碼與 root 登入;配合
ssh-agent 管理金鑰。
- 部署雙因子認證 (2FA) 保護關鍵系統。
5. 入侵偵測與應急響應
- HIDS (OSSEC/Wazuh) 監控檔案、登入、Rootkit 特徵。
- NIDS (Suricata/Zeek) 鏡像流量分析異常模式。
- 制定應急預案:隔離、取證、根因分析、修補、復原、複盤。
結語
Linux 網路技術從 UUCP 走向 TCP/IP、從共享乙太網演進至可程式化資料平面,核心始終是「開放、模組化、社群驅動」。掌握分層協議原理、硬體特性與核心機制,配合自動化運維與纵深防禦,才能構建高可用、可演進的基礎設施。