TCP/IP 之FTP協議

來源:互聯網
上載者:User
1、FTP(檔案傳輸通訊協定),用於將一個主機上的檔案傳送到另一個主機。和其他協議不同的是,它使用兩條串連,一條用於資料傳送(port 20),另一條用於命令控制傳送(port 21)。其中,控制串連在整個FTP會話階段(ftp session)都是處於串連狀態,而資料連線是有資料要傳則開啟,沒有資料傳了就關閉。

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.