ftp是指文件傳輸協議。
FTP(File Transfer Protocol,文件傳輸協議)是用於在網絡上進行文件傳輸的壹套標準協議,它屬於網絡傳輸協議的應用層。它最主要的功能是在服務器與客戶端之間進行文件的傳輸。這個協議使用的是明文傳輸。
FTP服務器的功能除了單純的進行文件的傳輸與管理外,依據服務器軟件的配置架構,它還可以提供以下幾個主要功能:
1、不同的用戶:FTP服務器在默認的情況下,依據用戶登錄的情況而分為三種不同的身份,分別是:實體用戶,real user;訪客,guest;匿名用戶,anonymous。
2、命令記錄與日誌文件記錄
FTP可以利用系統的syslogd來進行數據的記錄,而記錄的數據包括了用戶曾經使用過的命令與用戶傳輸數據(傳輸時間、文件大小等)的記錄,所以可以在/var/log/裏面找到各項日誌信息。
FTP的工作流程:
FTP的傳輸使用的是TCP數據包協議。FTP服務器使用了兩個連接,分別是命令(TCP21)通道與數據(TCP20)流通道。由於是TCP數據包,這兩個連接都需要經過三次握手。
1、建立命令通道的過程
客戶端會隨機獲取壹個大於1024以上的端口來與FTP服務器端的port 21來實現連接,這個過程需要三次握手。實現連接後客戶端便可以通過這個連接來對FTP服務器執行命令,查詢文件名、下載、上傳等命令都是利用這個通道來執行的。
2、建立數據通道的過程
FTP的連接模式:主動模式(服務端主動與客戶端連接)、被動模式(客戶端主動與服務端連接),主動和被動是針對服務端來說的。
(1)通知FTP服務器端使用主動連接且告知連接的端口號
FTP服務器的端口21號主要用在命令的執行,但是牽涉到數據流時,就不是使用這個連接了。客戶端在需要數據的情況下,會告知服務器端要用什麽方式來連接,如果是主動連接,客戶端會先隨機啟用壹個端口,且通過命令通道告知FTP服務器這兩個信息,並等待FTP服務器的連接。