鐳速——FTP服務器概念詳解

FTP服務器,全稱File Transfer Protocol Server,是在互聯網上提供文件存儲和訪問服務的計算機,它們依照FTP協議提供服務。FTP,文件傳輸協議(File Transfer Protocol)是用於在網絡上進行文件傳輸的一套標準協議,使用客戶/服務器模式。FTP是專門用來傳輸文件的協議。

FTP是一個客戶機/服務器系統,用戶通過使用一個支持FTP協議的客戶端,連接到遠程主機上的服務器程序上。用戶在客戶端發出命令,遠程主機服務器接收到命令後執行用戶所發出的命令,同時將執行結果返回到客戶端。簡單來說,就是用戶對服務器發出一條命令,要求服務器向用戶發送一份文件,服務器響應併發送文件到客戶端,用戶收到文件將其放置於用戶工作目錄中,這一過程就是FTP服務器進行的文件交流。

 

FTP服務器工作原理

FTP基於TCP協議服務,是互聯網中進行文件傳輸的協議,默認使用20、21號兩個端口,一個數據端口和一個命令端口,端口20是數據端口,用於文件在客戶端和服務器之間傳輸數據流。端口21是命令端口,用於傳輸控制流,接受客戶端發出的相關FTP命令與參數。

如圖中FTP服務的工作原理所示。FTP客戶端在計算機網絡中向FTP服務器發送服務請求,FTP服務器接收與響應FTP客戶機的請求,並向FTP客戶機提供所需的文件傳輸服務。根據TCP協議的規定,FTP服務器使用熟知端口號20、21來提供服務,FTP客戶機使用臨時端口號來發送請求。FTP協議爲控制連接與數據連接規定不同的熟知端口號,爲控制連接規定的熟知端口號是21,爲數據連接規定的熟知端口號爲20。FTP協議採用的是持續連接的通信方式,它所建立的控制連接的維持時間通常較長。

講完FTP的工作原理的主要連接方式,接着講解FTP工作原理中兩種數據連接的建立類型:主動模式和被動模式。FTP的主動模式是指客戶端從任意一個非特權端口連接FTP服務器的熟知端口,即端口21。FTP服務器在收到命令後從數據端口連接客戶端又一臨時端口,返回數據;被動模式是指客戶端開啓兩個任意非特權端口提交命令,FTP服務器被動開啓任意非特權端口發送命令給客戶端,客戶端接收命令後從本地端口向FTP服務器發起建立連接的傳送數據通道,在這一模式內,命令連接和數據連接都由客戶端發起,解決服務器發起到客戶的連接的問題。

 

通俗來講,我們如果把服務端作爲判斷標準。

主動模式:服務端從20端口主動向客戶端發起連接。

被動模式:服務端在指定範圍內的某個端口被動等待客戶端發起連接。

 

FTP的實現目標

  1. 實現文件數據安全共享,即計算機客戶端通過FTP客戶端和互聯網能連接到世界各地的FTP服務器,實現文件數據共享及資源共享。
  2. 實現信息交互戶,即其他計算機客戶端能通過互聯網訪問你的計算機上面搭建的FTP服務器,使你的信息資料能夠傳播到世界各地。
  3. 進行有效的數據傳輸。不同類型、不同系統、不同格式的電腦之間能夠互換文件。