Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> FTP 伺服器

FTP 協議運作原理:傳輸模式與連線模式深度解析

編輯:FTP 伺服器

FTP 兩大傳輸模式

FTP(檔案傳輸協議)提供兩種截然不同的傳輸模式,選擇正確的模式關係到檔案完整性與傳輸效率。

1. ASCII 傳輸模式(文字模式)

適用於純文字檔案(如 .txt、.html、.css、原始碼)。此模式下,FTP 會自動轉換換行符與字元編碼,使檔案在不同作業系統(Windows、Linux、macOS)間正常顯示。若遠端主機非 Unix 系統,FTP 會自動調整檔案格式以符合目標系統的文字儲存慣例。

2. 二進位傳輸模式(Binary 模式)

適用於所有非純文字檔案:執行檔(.exe)、資料庫、壓縮檔(.zip、.tar.gz)、文書檔(.docx、.pdf)、圖片、影音檔等。此模式下,FTP 逐位元複製,不做任何轉換,確保來源與目的端檔案位元序列完全一致。切記:用 ASCII 模式傳輸二進位檔案會導致檔案損毀、無法執行或資料遺失。

FTP 兩種工作模式:主動模式 vs. 被動模式

FTP 使用兩條通道:命令通道(控制連線,預設 TCP 21)與資料通道(資料傳輸)。兩者的建立方式決定了主動/被動模式。

主動模式(PORT / Standard / Active)

  1. 客戶端連接伺服器 TCP 21 端口,建立命令通道。
  2. 需傳輸資料時,客戶端發送 PORT 命令,告知伺服器「我開啟了本地端口 X,請連過來」。
  3. 伺服器從 TCP 20 端口主動發起連線至客戶端指定的端口 X,建立資料通道並傳輸資料。

缺點:客戶端若在防火牆/NAT 後方,伺服器無法主動連入,導致資料通道建立失敗。

被動模式(PASV / Passive)

  1. 客戶端連接伺服器 TCP 21 端口,建立命令通道。
  2. 需傳輸資料時,客戶端發送 PASV 命令。
  3. 伺服器隨機開啟一個高位埠(>1024),回應客戶端「請連到我的端口 Y」。
  4. 客戶端主動連接伺服器的端口 Y,建立資料通道。

優勢:客戶端主動發起所有連線,易於穿越客戶端防火牆/NAT。挑戰:伺服器需開放大範圍高位埠,且若伺服器在防火牆後方,外部客戶端無法連入資料埠。

實務建議

  • 預設使用二進位模式,除非確定是純文字檔。
  • 客戶端在 NAT/防火牆後方 → 強制使用被動模式。
  • 伺服器在 NAT/防火牆後方 → 需在防火牆開放被動模式埠範圍,並在 FTP 伺服器設定對應的對外 IP 與埠範圍。
  • 現代 FTP 用戶端(FileZilla、WinSCP、FlashFXP 等)通常自動偵測並協商模式,手動干預較少見。
Copyright © Windows教程網 All Rights Reserved