ftp的兩種工作模式,以及優點
ftp的工作模式分為兩種,主動模式與被動模式。公司一般使用被動模式。
在主動模式下用戶端從一個任意的非特權端口n(大于1024)連接配接到ftp伺服器的指令端口,也就是21端口。然後用戶端開始監聽端口n+1,并發送ftp指令“port n+1”到ftp伺服器。伺服器接收到指令後,會用其本地的ftp資料端口(通常是20)來連接配接用戶端指定的端口n+1,進行資料傳輸。
在被動模式下,ftp庫戶端随機開啟一個大于1024的端口n向伺服器的21号端口發起連接配接,同時會開啟n+1号端口。然後向伺服器發送pasv指令,通知伺服器自己處于被動模式。伺服器收到指令後,會開放一個大于1024的端口p進行監聽,然後用port p指令通知用戶端,自己的資料端口是p。用戶端收到指令後,會通過n+1号端口連接配接伺服器的端口p,然後在兩個端口之間進行資料傳輸。
優缺點:主動ftp對ftp伺服器的管理有利,但對用戶端的管理不利。因為ftp伺服器企圖與用戶端的高位随機端口建立連接配接,而這個端口很有可能被用戶端的防火牆阻塞掉。被動ftp對ftp用戶端的管理有利,但對伺服器端的管理不利。因為用戶端要與伺服器端建立兩個連接配接,其中一個連到一個高位随機端口,而這個端口很有可能被伺服器端的防火牆阻塞掉。