資料連線分為兩種模式:主動連線(PORT)和被動連線(PASV)。
Port模式:ftp server:tcp 21 <——client:dynamic ftp server:tcp 20 ——>client:dynamic
Pasv模式:ftp server:tcp 21 <—-client:dynamic ftp server:tcp dynamic <—-client:dynamic
PORT(主動)方式的連線過程是:客戶端向伺服器的FTP埠(預設是21)傳送連線請求,伺服器接受連線,建立一條命令鏈路。當需要傳送資料時,客戶 端在命令鏈路上用PORT命令告訴伺服器:“我打開了XXXX埠,你過來連線我”。於是伺服器從20埠向客戶端的XXXX埠傳送連線請求,建立一條 資料鏈路來傳送資料。
PASV(被動)方式的連線過程是:客戶端向伺服器的FTP埠(預設是21)傳送連線請求,伺服器接受連線,建立一條命令鏈路。當需要傳送資料時,服務 器在命令鏈路上用PASV命令告訴客戶端:“我打開了XXXX埠,你過來連線我”。於是客戶端向伺服器的XXXX埠傳送連線請求,建立一條資料鏈路來 傳送資料。
---------------------
換一種通俗點的方式說:
在主動模式下,FTP客戶端隨機開啟一個大於1024的埠N向伺服器的21號埠發起連線,然後開放N+1號埠進行監聽,並向伺服器發出PORT N+1命令。伺服器接收到命令後,會用其本地的FTP資料埠(通常是20)來連線客戶端指定的埠N+1,進行資料傳輸。
在被動模式下,FTP庫戶端隨機開啟一個大於1024的埠N向伺服器的21號埠發起連線,同時會開啟N+1號埠。然後向伺服器傳送PASV命令,通知伺服器自己處於被動模式。伺服器收到命令後,會開放一個大於1024的埠P進行監聽,然後用PORT P命令通知客戶端,自己的資料埠是P。客戶端收到命令後,會透過N+1號埠連線伺服器的埠P,然後在兩個埠之間進行資料傳輸。
總的來說,主動模式的FTP是指伺服器主動連線客戶端的資料埠,被動模式的FTP是指伺服器被動地等待客戶端連線自己的資料埠。
資料連線分為兩種模式:主動連線(PORT)和被動連線(PASV)。
Port模式:ftp server:tcp 21 <——client:dynamic ftp server:tcp 20 ——>client:dynamic
Pasv模式:ftp server:tcp 21 <—-client:dynamic ftp server:tcp dynamic <—-client:dynamic
PORT(主動)方式的連線過程是:客戶端向伺服器的FTP埠(預設是21)傳送連線請求,伺服器接受連線,建立一條命令鏈路。當需要傳送資料時,客戶 端在命令鏈路上用PORT命令告訴伺服器:“我打開了XXXX埠,你過來連線我”。於是伺服器從20埠向客戶端的XXXX埠傳送連線請求,建立一條 資料鏈路來傳送資料。
PASV(被動)方式的連線過程是:客戶端向伺服器的FTP埠(預設是21)傳送連線請求,伺服器接受連線,建立一條命令鏈路。當需要傳送資料時,服務 器在命令鏈路上用PASV命令告訴客戶端:“我打開了XXXX埠,你過來連線我”。於是客戶端向伺服器的XXXX埠傳送連線請求,建立一條資料鏈路來 傳送資料。
---------------------
換一種通俗點的方式說:
在主動模式下,FTP客戶端隨機開啟一個大於1024的埠N向伺服器的21號埠發起連線,然後開放N+1號埠進行監聽,並向伺服器發出PORT N+1命令。伺服器接收到命令後,會用其本地的FTP資料埠(通常是20)來連線客戶端指定的埠N+1,進行資料傳輸。
在被動模式下,FTP庫戶端隨機開啟一個大於1024的埠N向伺服器的21號埠發起連線,同時會開啟N+1號埠。然後向伺服器傳送PASV命令,通知伺服器自己處於被動模式。伺服器收到命令後,會開放一個大於1024的埠P進行監聽,然後用PORT P命令通知客戶端,自己的資料埠是P。客戶端收到命令後,會透過N+1號埠連線伺服器的埠P,然後在兩個埠之間進行資料傳輸。
總的來說,主動模式的FTP是指伺服器主動連線客戶端的資料埠,被動模式的FTP是指伺服器被動地等待客戶端連線自己的資料埠。