檔案傳輸協定(File Transfer Protocol,FTP)是一種提供網路之間共用檔案的協定,它可以在計算機之間可靠、高效地傳送檔案。在傳輸時,傳輸雙方的作業系統、磁碟檔案系統型別可以不同。
FTP 協定允許 TCP/IP 網路上的兩台計算機之間進行檔案傳輸。而 FTP 服務是基於 FTP 協定的檔案傳輸服務。
工作時,一台計算機上執行 FTP 用戶端應用程式,另一台計算機上需要執行 FTP 伺服器端程式。只有擁有了 FTP 服務,用戶端才能進行檔案傳輸。下面介紹FTP服務的構成和檔案傳輸模式。
FTP 服務構成
上述的檔案傳輸,指的是用戶端和FTP伺服器端之間的檔案傳輸,如檔案上傳和下載。要實現檔案傳輸還需要滿足兩個條件,如下:
-
伺服器端必須開啟一個 TCP 埠(預設為 21 埠),用來監聽來自用戶端的請求。
-
用戶端連線 FTP 伺服器端,需要使用 TCP 方式。這樣可以保證用戶端和伺服器之間的對談是可靠的。
用戶端與FTP伺服器端之間傳輸一個檔案是一次完整的 FTP 對談。該對談包含有兩個連線,分別為控制連線和資料連線。其作用如下:
-
控制連線:用戶端向 FTP 伺服器的 21 埠傳送連線,伺服器接受連線,建立一條命令通道。FTP 的命令和應答就是通過控制連線來傳輸的,這個連線會存在於整個 FTP 對談過程中。該連線主要負責將命令從用戶端傳給伺服器,並將伺服器的應答返回給用戶端。所以,該連線不用於傳送資料,只用於傳輸命令。
-
資料連線:每當一個檔案在用戶端與伺服器之間進行傳輸時,就會建立資料連線。該連線主要用來進行檔案傳輸。
資料格式
在使用 FTP 進行檔案傳輸時,針對不同的檔案型別,FTP 提供了兩種檔案傳輸模式,分別為 ASCII 和二進位制。這兩種模式支援的檔案如下:
-
ASCII:用於傳輸簡單的文字檔案,為預設型別。
-
二進位制:用於傳輸程式檔案、字處理文件、可執行檔案或圖片。