2、連接
(1)、在控制連接過程中,IP數據報在TOS字段裏面使用的是最小時延標誌。
(2)、數據連接方法和別的協議不同,他是客戶端被動打開的,而有服務器段主動連接。具體如下:
客戶用一個臨時端口被動打開,然後用控制連接上通過PORT 命令將這個端口告知服務器,服務器用端口20來主動連接客戶的臨時端口.
3、通信
(1)、在控制連接上的通信如同telnet協議,用NVT ASCII字符集。(一條命令和響應都是一行)
(2)、數據端口的通信,要解決異構性問題,用3方面屬性解決:文件類型,數據結構,傳輸方式。
a、文件類型:默認的ASCII格式,圖像文件等
b、數據結構:默認的文件流結構,記錄結構,頁面結構。
c、傳輸方式:默認的流方式(以EOF結束),塊方式(每塊之前有3字節首部,第一字節定義塊描述符,後面的是該快的大小),壓縮方式
在unix環境下的限制如下:必須是流方式,只允許文件流結構傳輸
4、命令處理:
(1)、客戶端常見的命令分六組,略.
一些命令解釋:
端口定義命令中的PASV,如果不用PORT而用PASV命令,則文件傳輸連接過程不同於上,是:客戶發送PASV,請求服務器選擇一個端口號,在這個端口號被動打開,同時服務器發回227響應告知該端口,於是客戶主動連接服務器告知的端口進行文件傳輸。
常見的命令:LIST,QUIT,RETR,STOR,USER,PASS,CWD,
(2)、服務器的響應命令:有3個數字的命令碼後跟一些數據。3個數據的命令碼的含義如下:(xyz)
x定義命令的狀態:1是動作已經開始,2是動作已經完成,3是命令已經接受,正在處理;4是動作出現短暫性錯誤,5是動作不能接受,無需再試。
y定義命令的對象:0是語法,1是信息,2是連接,3是賬號,4是未指明,5是文件系統。
z提供一些附加信息。
詳見的響應命令嘛舉例如下:
125 數據連接已經打開,傳輸開始。
200 就緒
214 幫助報文
331 用戶名就緒,奧球輸入口令
425 不能打開數據連接
452 錯寫文件
500 語法錯誤(未認可的命令)
501 語法錯誤(無效參數)
5、匿名FTP:有些公共的文件供大衆訪問,用匿名,其口令一般爲:guest