FTP文件傳輸協議的主動模式和被動模式

FTP文件傳輸協議的主動模式和被動模式

FTP採用TCP建立連接,主要功能是提供文件傳輸服務;注意不要與NFS混淆了,
NFS是提供文件的存取服務。

FTP傳輸數據時支持兩種數據傳輸模式:

  1. ASCII模式:用來傳輸文本,發送端在發送前將字符轉換成ASCII碼格式之後進行傳輸,接收端收到後在轉換成字符。
  2. 二進制模式:用於傳輸圖片文件和程序文件。發送端在發送這些文件是不需要轉換格式。

FTP進行文件傳輸時會建立兩個鏈接:

  1. 客戶端與服務端之間的控制連接
    服務器開啓21號口,等待FTP客戶端發送連接請求。FTP客戶端隨機開啓端口,向服務器發送建立請求。控制連接用於在服務器與客戶端之間傳輸控制命令。
  2. 客戶端與服務端之間的數據連接
    服務器與客戶端用新的端口建立連接用於傳輸數據。一般是服務器主動建立或中斷連接。

FTP主動模式和被動模式的區別:

  1. 主動模式(PORT):
    (1).FTP客戶端首先和FTP服務器的21號端口建立連接,通過這個通道發送命令。當客戶端要接收數據時,向服務端發送PORT命令。PORT命令中包含了客戶端用哪個端口接收數據。
    (2). 在傳輸數據時,服務端用20號端口向客戶端PORT命令中指定的端口發送數據。

主動模式 客戶端告訴服務器自己開放哪個端口,傳輸數據時服務器自己的20號端口主動連接到客戶端的端口發送數據。

  1. 被動模式(PASV):

    (1). 客戶端與服務器建立控制連接。客戶端發送PASV命令。

    (2). 服務器收到PASV命令後,隨機打開高位端口(大於1024),並通知客戶端往這個端口上傳輸數據。然後客戶端連接到這個端口進行數據傳輸。

被動模式 服務器收到PASV命令後,就開放一個大於1024的端口並通告給客戶端。傳輸數據時,客戶端主動連接服務器大於1024的指定端口。

總結:主動和被動是針對服務器的,主動模式是服務器主動去連客戶端開放的端口。被動模式是服務器開放端口被客戶端連。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章