《ftp 文件傳輸協(xié)議》由會員分享,可在線閱讀,更多相關(guān)《ftp 文件傳輸協(xié)議(6頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、文件傳輸協(xié)議
文件傳輸協(xié)議(FTP:File Transfer Protocol)使得主機間可以共享文件。 FTP 使用 TCP 生成一個虛擬連接用于控制信息,然后再生成一個單獨的 TCP 連接用于數(shù)據(jù)傳輸??刂七B接使用類似 TELNET 協(xié)議在主機間交換命令和消息。文件傳輸協(xié)議是TCP/IP網(wǎng)絡(luò)上兩臺計算機傳送文件的協(xié)議,F(xiàn)TP是在TCP/IP網(wǎng)絡(luò)和INTERNET上最早使用的協(xié)議之一,它屬于網(wǎng)絡(luò)協(xié)議組的應(yīng)用層。FTP客戶機可以給服務(wù)器發(fā)出命令來下載文件,上傳文件,創(chuàng)建或改變服務(wù)器上的目錄。
中文名:
文件傳輸協(xié)議
外文名:
File Transfer Protocol
簡稱
2、:
FTP
類別:
文件傳送協(xié)議
目錄
簡介
工作原理
主要功能
網(wǎng)頁瀏覽器
FTP和網(wǎng)站
FTP用戶授權(quán)
FTP服務(wù)器
展開
簡介
FTP是TCP/IP網(wǎng)絡(luò)上兩臺計算機傳送文件的協(xié)議,F(xiàn)TP是在TCP/IP網(wǎng)絡(luò)和INTERNET上最早使用的協(xié)議之一。盡管World Wide Web(WWW)已經(jīng)替代了FTP的大多數(shù)功能,F(xiàn)TP仍然是通過Internet把文件從客戶機復(fù)制到服務(wù)器上的一種途徑。FTP客戶機可以給服務(wù)器發(fā)出命令來下載文件,上載文件,創(chuàng)建或改變服務(wù)器上的目錄。原來的FTP軟件多是命令行操作,有了像CUTEFTP這樣的圖形界面軟件,使用FTP傳輸變得方
3、便易學(xué)。主要使用它進行“上載”。即向服務(wù)器傳輸文件。由于FTP協(xié)議的傳輸速度比較快,我們在制作諸如“軟件下載”這類網(wǎng)站時喜歡用FTP來實現(xiàn),同時我們這種服務(wù)面向大眾,不需要身份認證,即“匿名FTP服務(wù)器”。[1]
FTP是應(yīng)用層的協(xié)議,它基于傳輸層,為用戶服務(wù),它們負責(zé)進行文件的傳輸。FTP是一個8位的客戶端-服務(wù)器協(xié)議,能操作任何類型的文件而不需要進一步處理,就像MIME或Unicode一樣。但是,F(xiàn)TP有著極高的延時,這意味著,從開始請求到第一次接收需求數(shù)據(jù)之間的時間會非常長,并且不時的必需執(zhí)行一些冗長的登陸進程。
??
FTP服務(wù)一般運行在20和21兩個端口。端口20用于在客戶
4、端和服務(wù)器之間傳輸數(shù)據(jù)流,而端口21用于傳輸控制流,并且是命令通向ftp服務(wù)器的進口。當數(shù)據(jù)通過數(shù)據(jù)流傳輸時,控制流處于空閑狀態(tài)。而當控制流空閑很長時間后,客戶端的防火墻會將其會話置為超時,這樣當大量數(shù)據(jù)通過防火墻時,會產(chǎn)生一些問題。此時,雖然文件可以成功的傳輸,但因為控制會話會被防火墻斷開,傳輸會產(chǎn)生一些錯誤。
FTP(federal test procedure)是美國聯(lián)邦實驗程序,是一種實驗標準工況。在從工況下進行輕型車和重型車的油耗、排放的實驗測量,并進行對比。[1]本標準中規(guī)定了隨時間變化時發(fā)動機應(yīng)該保持的轉(zhuǎn)速,并測量這段時間內(nèi)的油耗和排放情況等參數(shù)變化。[2]
工作原理
文件
5、傳輸協(xié)議(FTP)是TCP/IP提供的標準機
??
制。用來將文件從一個主機復(fù)制到另一個主機。FTP使用TCP的服務(wù)。
主要功能
提供文件的共享(計算機程序 / 數(shù)據(jù)); 支持間接使用遠程計算機; 使用戶不因各類主機文件存儲器系統(tǒng)的差異而受影響; 可靠且有效的傳輸數(shù)據(jù)。
FTP ,盡管可以直接被終端用戶使用,但其應(yīng)用主要還是通過程序?qū)崿F(xiàn)。
FTP 控制幀即指 TELNET 交換信息,包含 TELNET 命令和選項。然而,大多數(shù) FTP 控制幀是簡單的 ASCII 文本,可以分為 FTP 命令或 FTP 消息。 FTP 消息是對 FTP 命令的響應(yīng),它由帶有解釋文本的應(yīng)答代碼構(gòu)成
6、。[2]
網(wǎng)頁瀏覽器
大多數(shù)最新的網(wǎng)頁瀏覽器和文件管理器都能和FTP服務(wù)器建立連接。這使得在FTP上通過一個接口就可以操控遠程文件,如同操控本地文件一樣。這個功能通過給定一個FTP的URL實現(xiàn),形如ftp://<服務(wù)器地址>。是否提供密碼是可選擇的,如果有密碼,則形如ftp://:@。大部分網(wǎng)頁瀏覽器要求使用被動FTP模式,然而并不是所有的FTP服務(wù)器都支持被動模式。
網(wǎng)絡(luò)協(xié)議
應(yīng)用層DNS,FTP,ENRP,HTTP,IMAP,IIRC,NNTP,POP3,SIP,SMTP,SNMP,SSH,Telnet,BitT
7、orrent,DHCP...
傳輸層DCCP,SCTP,TCP,RTP,UDP,IL,RUDP, ...
網(wǎng)絡(luò)層IPv4,IPv6...
數(shù)據(jù)鏈路層以太網(wǎng),Wi-Fi,令牌環(huán),MPLS,PPP...
物理層RS-232,EIA-422,RS-449,EIA-485,10BASE2,10BASE-T...
FTP和網(wǎng)站
我們都知道,當我們需要往網(wǎng)站空間上放網(wǎng)站文件的時候,我們可以采用WEB和FTP兩種方法。在這里,我們建議直接使用FTP進行數(shù)據(jù)交換,因為不管是安全性還是快捷性來說,ftp都是很不錯的。
??
那么我們怎么往空間上傳送網(wǎng)站的數(shù)據(jù)文件呢,這時,我們就需要一個軟件F
8、lashFXP或者其他FTP客戶端。這里我們以FlashFXP為例,我們?nèi)ゾW(wǎng)上下載這個軟件包并解壓出來,雙擊FlashFXP.exe這個文件,進入頁面之后,有一個閃電符號的按鈕,這是連接。單擊或者直接按F8,這時會出來一個對話框,我們只需要輸入網(wǎng)站的URL或者IP,然后再輸入用戶名和密碼就行,這時,我們就可以進行網(wǎng)站數(shù)據(jù)文件的傳輸了。
FTP用戶授權(quán)
(1)用戶授權(quán)
要連上 FTP服務(wù)器(即“登陸”),必須要有該 FTP 服務(wù)器授權(quán)的帳號,也就是說你只有在有了一個用戶標識和一個口令后才能登陸FTP服務(wù)器,享受FTP服務(wù)器提供的服務(wù)。
(2)FTP地址格式
FTP地址如下: ftp:/
9、/用戶名:密碼@FTP服務(wù)器IP或域名:FTP命令端口/路徑/文件名
上面的參數(shù)除FTP服務(wù)器IP或域名為必要項外,其他都不是必須的。
FTP服務(wù)器
FTP的全稱是File Transfer Protocol(文件傳輸協(xié)議),顧名思義,就是專門用來傳輸文件的協(xié)議。FTP的主要作用,就是讓用戶連接上一個遠程計算機(這些計算機上運行著 FTP服務(wù)器程序)察看遠程計算機有哪些文件,然后把文件從遠程計算機上拷到本地計算機,或把本地計算機的文件送到遠程計算機去。
其實 早期在Internet上傳輸文件,并不是一件容易的事,我們知道 Internet是一個非常復(fù)雜的計算機環(huán)境,有PC、工作站、MA
10、C、服務(wù)器、大型機等等,而這些計算機可能運行不同的操作系統(tǒng),有Unix、Dos、 Windows、MacOS等等,各種操作系統(tǒng)之間的文件交流,需要建立一個統(tǒng)一的文件傳輸協(xié)議,這就是所謂的FTP。雖然基于不同的操作系統(tǒng)有不同的 FTP應(yīng)用程序,而所有這些應(yīng)用程序都遵守同一種協(xié)議,這樣用戶就可以把自己的文件傳送給別人,或者從其它的用戶環(huán)境中獲得文件。
與大 多數(shù)Internet服務(wù)一樣,F(xiàn)TP也是一個客戶機/服務(wù)器系統(tǒng)(C/S)。用戶通過一個支持FTP協(xié)議的客戶機程序,連接到遠程主機上的FTP服務(wù)器 程序。用戶通過客戶機程序向服務(wù)器程序發(fā)出命令,服務(wù)器程序執(zhí)行用戶所發(fā)出的命令,并將執(zhí)行的結(jié)果返回
11、到客戶機。比如說,用戶發(fā)出一條命令,要求服務(wù)器向用戶傳送某一個文件,服務(wù)器會響應(yīng)這條命令,將指定文件送至用戶的機器上。客戶機程序代表用戶接收到這個文件,將其存放在用戶指定目錄中。FTP客戶程序 有字符界面和圖形界面兩種。字符界面的FTP的命令復(fù)雜、繁多。圖形界面的FTP客戶程序,操作上要簡潔方便的多。
在FTP的使用當 中,用戶經(jīng)常遇到兩個概念:"下載"(Download)和"上載"(Upload)。"下載"文件就是從遠程主機拷貝文件至自己的計算機上;"上載"文 件就是將文件從自己的計算機中拷貝至遠程主機上。用Internet語言來說,用戶可通過客戶機程序向(從)遠程主機上載(下載)文件。
12、
在ftp的使用過程中,必須首先登錄,在遠程主機上獲得相應(yīng)的權(quán)限以后,方可上傳或下載文件。也就是說,要想同哪一臺計算機傳送文件,就必須具有哪一臺計算機的適當授權(quán)。換言之,除非有用戶ID和口令,否則便無法傳送文件。這種情況違背了Internet的開放性,Internet上的FTP主機何止千 萬,不可能要求每個用戶在每一臺主機上都擁有帳號。因此就衍生出了匿名FTP。[3]
優(yōu)缺點
優(yōu)點:
1.促進文件的共享(計算機程序或數(shù)據(jù))
2.鼓勵間接或者隱式的使用遠程計算機
3.向用戶屏蔽不同主機中各種文件存儲系統(tǒng)的細節(jié)
4.可靠和高效的傳輸數(shù)據(jù)
缺點:
1.密碼和文件內(nèi)容都使用明文傳輸,可
13、能產(chǎn)生不希望發(fā)生的竊聽。
2.因為必須開放一個隨機的端口以建立連接,當防火墻存在時,客戶端很難過濾處于主動模式下的FTP流量。這個問題通過使用被動模式的FTP得到了很大解決。
3.服務(wù)器可能會被告知連接一個第三方計算機的保留端口。
FTP雖然可以被終端用戶直接使用,但是它是設(shè)計成被FTP客戶端程序所控制。
運行FTP服務(wù)的許多站點都開放匿名服務(wù),在這種設(shè)置下,用戶不需要帳號就可以登錄服務(wù)器,默認情況下,匿名用戶的用戶名是:“anonymous”。這個帳號不需要密碼,雖然通常要求輸入用戶的郵件地址作為認證密碼,但這只是一些細節(jié)或者此郵件地址根本不被確定,而是依賴于FTP服務(wù)器的配置情況。
14、
使用模式
FTP有兩種使用模式:主動和被動。主動模式要求客戶端和服務(wù)器端同時打開并且監(jiān)聽一個端口以建立連接。在這種情況下,客戶端由于安裝了防火墻會產(chǎn)生一些問題。所以,創(chuàng)立了被動模式。被動模式只要求服務(wù)器端產(chǎn)生一個監(jiān)聽相應(yīng)端口的進程,這樣就可以繞過客戶端安裝了防火墻的問題。[4]
一個主動模式的FTP連接建立要遵循以下步驟:
1.客戶端打開一個隨機的端口(端口號大于1024,在這里,我們稱它為x),同時一個FTP進程連接至服務(wù)器的21號命令端口。此時,源端口為隨機端口x,在客戶端,遠程端口為21,在服務(wù)器。
2.客戶端開始監(jiān)聽端口(x+1),同時向服務(wù)器發(fā)送一個端口命令(通過服務(wù)器的
15、21號命令端口),此命令告訴服務(wù)器客戶端正在監(jiān)聽的端口號并且已準備好從此端口接收數(shù)據(jù)。這個端口就是我們所知的數(shù)據(jù)端口。
3.服務(wù)器打開20號源端口并且建立和客戶端數(shù)據(jù)端口的連接。此時,源端口為20,遠程數(shù)據(jù)端口為(x+1)。
4.客戶端通過本地的數(shù)據(jù)端口建立一個和服務(wù)器20號端口的連接,然后向服務(wù)器發(fā)送一個應(yīng)答,告訴服務(wù)器它已經(jīng)建立好了一個連接。
被動模式FTP:
為了解決服務(wù)器發(fā)起到客戶的連接的問題,人們開發(fā)了一種不同的FTP連接方式。這就是所謂的被動方式,或者叫做PASV,當客戶端通知服務(wù)器它處于被動模式時才啟用。
在被動方式FTP中,命令連接和數(shù)據(jù)連接都由客戶端發(fā)起,這樣就可以
16、解決從服務(wù)器到客戶端的數(shù)據(jù)端口的入方向連接被防火墻過濾掉的問題。
當開啟一個 FTP連接時,客戶端打開兩個任意的非特權(quán)本地端口(N > 1024和N+1)。第一個端口連接服務(wù)器的21端口,但與主動方式的FTP不同,客戶端不會提交PORT命令并允許服務(wù)器來回連它的數(shù)據(jù)端口,而是提交 PASV命令。這樣做的結(jié)果是服務(wù)器會開啟一個任意的非特權(quán)端口(P > 1024),并發(fā)送PORT P命令給客戶端。然后客戶端發(fā)起從本地端口N+1到服務(wù)器的端口P的連接用來傳送數(shù)據(jù)。
對于服務(wù)器端的防火墻來說,必須允許下面的通訊才能支持被動方式的FTP:
1. 從任何大于1024的端口到服務(wù)器的21端口 (客戶端
17、的初始化連接)
2.服務(wù)器的21端口到任何大于1024的端口 (服務(wù)器響應(yīng)到客戶端的控制端口的連接)
3. 從任何大于1024端口到服務(wù)器的大于1024端口 (客戶端初始化數(shù)據(jù)連接到服務(wù)器指定的任意端口)
4.服務(wù)器的大于1024端口到遠程的大于1024的端口(服務(wù)器發(fā)送ACK響應(yīng)和數(shù)據(jù)到客戶端的數(shù)據(jù)端口)
協(xié)議結(jié)構(gòu)
命令
描述
ABOR
中斷數(shù)據(jù)連接程序
ACCT
系統(tǒng)特權(quán)帳號
ALLO
為服務(wù)器上的文件存儲器分配字節(jié)
APPE
添加文件到服務(wù)器同名文件
CDUP
改變服務(wù)器上的父
18、目錄
CWD
改變服務(wù)器上的工作目錄
DELE
刪除服務(wù)器上的指定文件
HELP
返回指定命令信息
LIST
如果是文件名列出文件信息,如果是目錄則列出文件列表
MODE
傳輸模式(S=流模式,B=塊模式,C=壓縮模式)
MKD
在服務(wù)器上建立指定目錄
NLST
列出指定目錄內(nèi)容
NOOP
無動作,除了來自服務(wù)器上的承認
PASS
系統(tǒng)登錄密碼
PASV
請求服務(wù)器等待數(shù)據(jù)連接
PORT
19、ddress>
IP 地址和兩字節(jié)的端口 ID
PWD
顯示當前工作目錄
QUIT
從 FTP 服務(wù)器上退出登錄
REIN
重新初始化登錄狀態(tài)連接
REST
由特定偏移量重啟文件傳遞
RETR
從服務(wù)器上找回(復(fù)制)文件
RMD
在服務(wù)器上刪除指定目錄
RNFR
對舊路徑重命名
RNTO
對新路徑重命名
SITE
由服務(wù)器提供的站點特殊參數(shù)
SMNT
掛載指定文件結(jié)構(gòu)
STAT
20、在當前程序或目錄上返回信息
STOR
儲存(復(fù)制)文件到服務(wù)器上
STOU
儲存文件到服務(wù)器名稱上
STRU
數(shù)據(jù)結(jié)構(gòu)(F=文件,R=記錄,P=頁面)
SYST
返回服務(wù)器使用的操作系統(tǒng)
TYPE
數(shù)據(jù)類型(A=ASCII,E=EBCDIC,I=binary)
USER >
系統(tǒng)登錄的用戶名
標準 FTP 信息如下
響應(yīng)代碼
解釋說明
110
新文件指示器上的重啟標記
120
服務(wù)器準備就緒的時間(分鐘數(shù))
125
打開數(shù)據(jù)連接,開始傳輸
150
21、打開連接
200
成功
202
命令沒有執(zhí)行
211
系統(tǒng)狀態(tài)回復(fù)
212
目錄狀態(tài)回復(fù)
213
文件狀態(tài)回復(fù)
214
幫助信息回復(fù)
215
系統(tǒng)類型回復(fù)
220
服務(wù)就緒
221
退出網(wǎng)絡(luò)
225
打開數(shù)據(jù)連接
226
結(jié)束數(shù)據(jù)連接
227
進入被動模式(IP 地址、ID 端口)
230
登錄因特網(wǎng)
250
文件行為完成
257
路徑名建立
331
要求密碼
332
要求帳號
350
文件行為暫停
421
服務(wù)關(guān)閉
425
無法打開數(shù)據(jù)連接
426
結(jié)束連接
450
文件不可用
451
遇到本地錯誤
452
磁盤空間不足
500
無效命令
501
錯誤參數(shù)
502
命令沒有執(zhí)行
503
錯誤指令序列
504
無效命令參數(shù)
530
未登錄網(wǎng)絡(luò)
532
存儲文件需要帳號
550
文件不可用
551
不知道的頁類型
552
超過存儲分配
553
文件名不允許