基礎網路通訊協定

Posted on Mar 27, 2025

TCP (Transmission Control Protocol)

  • 連接導向:在資料傳輸前需建立連接,保證資料的可靠傳輸
  • 三次握手流程
    1. 客戶端發送 SYN 封包 (序號=x)
    2. 伺服器回應 SYN-ACK 封包 (序號=y, 確認號=x+1)
    3. 客戶端發送 ACK 封包 (確認號=y+1)
  • 四次揮手流程
    1. 客戶端發送 FIN 封包
    2. 伺服器回應 ACK 確認
    3. 伺服器發送 FIN 封包
    4. 客戶端回應 ACK 確認
  • 流量控制:利用滑動窗口機制(Sliding Window)調整傳輸速度
  • 擁塞控制算法:慢啟動、擁塞避免、快速重傳、快速恢復
  • 應用場景:需要可靠傳輸的應用,如網頁瀏覽、檔案傳輸、電子郵件
  • 標頭格式:20 bytes 固定標頭 + 可選擇項,包含源端口、目的端口、序列號、確認號、窗口大小等

UDP (User Datagram Protocol)

  • 無連接:不需要建立連接即可傳輸資料
  • 不可靠傳輸:無確認、無重傳、無流量控制機制
  • 標頭開銷小:僅 8 bytes,比 TCP 的 20+ bytes 小得多
  • 無阻塞:傳輸速度快,適合即時性要求高的應用
  • 應用場景:視訊串流、線上遊戲、VoIP 通話、DNS 查詢
  • 實作優勢:實作簡單,支援廣播和多播
  • UDP 標頭格式:僅包含源端口、目的端口、長度和校驗和

IP (Internet Protocol)

  • IPv4 vs IPv6
    • IPv4:32位地址,約 42.9 億個 (2^32),格式如 192.168.1.1
    • IPv6:128位地址,格式如 2001:0db8:85a3:0000:0000:8a2e:0370:7334,可簡化為 2001:db8::1
  • IPv4 位址分類
    • A 類:1.0.0.0 - 126.255.255.255 (大型網路,網路遮罩 255.0.0.0 或 /8)
    • B 類:128.0.0.0 - 191.255.255.255 (中型網路,網路遮罩 255.255.0.0 或 /16)
    • C 類:192.0.0.0 - 223.255.255.255 (小型網路,網路遮罩 255.255.255.0 或 /24)
    • D 類:224.0.0.0 - 239.255.255.255 (多播)
    • E 類:240.0.0.0 - 255.255.255.255 (實驗用)
  • 私有 IP 位址範圍
    • A 類私有:10.0.0.0/8 (10.0.0.0 - 10.255.255.255)
    • B 類私有:172.16.0.0/12 (172.16.0.0 - 172.31.255.255)
    • C 類私有:192.168.0.0/16 (192.168.0.0 - 192.168.255.255)
  • 特殊位址
    • 環回地址:127.0.0.1 (localhost)
    • APIPA:169.254.0.0/16 (自動私有 IP 位址)
    • 廣播地址:255.255.255.255
  • 子網遮罩:決定 IP 位址的網路部分和主機部分
  • CIDR 表示法:如 192.168.1.0/24,表示前 24 位是網路部分
  • 分片與重組:大封包在傳輸過程中的分片處理
  • TTL (Time To Live):防止封包無限循環的機制,每經過一個路由器減 1