文件通過ftp傳輸原理
⑴ 什麼是ftp,基於什麼原理,如何使用這種方式下載
什麼是FTP(文件傳輸協議)
FILE
TRANSFER
PROTOCOL(FTP)意為文件傳輸協議,用於管理計算機之間的文件傳送。FTP通常指文件傳輸服務。
FTP是Internet上使用非常廣泛的一種通訊協議。它是由支持Internet文件傳輸的各種規則所組成的集合,這些規則使
Internet用戶可以把文件從一個主機拷貝到另一個主機上,因而為用戶提供了極大的方便和收益。FTP通常也表示用戶執行這個協議所使用的應用程序(例如:凱屋「上當「),從而獲取所需的信息資料。
FTP和其它
Internet服務一樣,也是採用客戶機/伺服器方式。使用方法很簡單,啟動FTP客戶端程序先與遠程主機建立連接,然後向遠程主機發出傳輸命令,遠程主機在收到命令後就給予響應,並執行正確的命令。FTP有一個根本的限制,那就是,如果用戶未被某一FTP主機授權,就不能訪問該主機,實際上是用戶不能遠程登錄(Remote
Login)進入該主機。也就是說,如果用戶在某個主機上沒有注冊獲得授權,沒有用戶名和口令,就不能與該主機進行文件的傳輸。而Anonymous
FTP(匿名FTP)則取消了這種限制。
⑵ FTP文件傳輸概念、工作原理
FTP是英語FILE TRANSFER PROTOCOL的簡稱,中文意為"文件傳送協議,用於在電腦和電腦之間傳送文件,有了這個協議,文件的傳輸就可以不受不同的電腦,不同的操作系統,甚至不同文件格式的限制,傳輸文件的一般步驟如下:
1在本地電腦上登陸到國際互聯網,
2搜索有文件共享主機或者個人電腦(一般有專門的FTP伺服器網站上公布的,上面有進入該主機或個人電腦的名稱,口令和路徑)
3當與遠程主機或者對方的個人電腦建立連接後,用對方提供的用戶名和口令登陸到該主機或對方的個人電腦.
4在遠程主機或對方的個人電腦登陸成功後,就可以上傳你想跟別人分享的東東或者下載別人授權共享的東東(這里的東東是指能放到電腦里去又能在顯示屏上看到的東東)
5完成工作後關閉FTP下載軟體,切斷連接.
為了實現文件傳輸,用戶還要運行專門的文件傳輸程序,比如網際快車就有這方面的功能,其它還有很多專門的FTP傳輸軟體,各有各的特色.
⑶ ftp 工作原理
FTP服務是客戶/伺服器模式,用戶通過客戶機程序連接遠程計算機上運行的伺服器程序,具體過程如下。
(1)客戶端向伺服器發出連接請求,同時客戶端系統動態打開大於一個1024的埠等候伺服器連接(如1031),
(2)若FTP伺服器在埠21偵聽到該請求,則會在客戶端埠1031和伺服器的埠21之間建立一個FTP會話連接
(3)需要傳輸數據時,FTP客戶端再動態打開一個大於1024的埠(如1032)連接到伺服器的埠20,並在這兩個埠之間進行數據的傳輸
(4)數據傳輸完畢後,這兩個埠會自動關閉。當FTP客戶端斷開與FTP伺服器的連接時,客戶端上動態分配的埠將自動釋放掉。
⑷ 簡述文件傳輸協議FTP的工作原理及一般使用步驟。
1、FTP支持兩種模式,一種方式叫做Standard (也就是 PORT方式,主動方式),一種是 Passive(也就是PASV,被動方式)。 Standard模式 FTP的客戶端發送 PORT 命令到FTP伺服器。Passive模式FTP的客戶端發送 PASV命令到 FTP Server。
下面介紹一個這兩種方式的工作原理:
Port
FTP 客戶端首先和FTP伺服器的TCP 21埠建立連接,通過這個通道發送命令,客戶端需要接收數據的時候在這個通道上發送PORT命令。 PORT命令包含了客戶端用什麼埠接收數據。在傳送數據的時候,伺服器端通過自己的TCP 20埠連接至客戶端的指定埠發送數據。 FTP server必須和客戶端建立一個新的連接用來傳送數據。
Passive
在建立控制通道的時候和Standard模式類似,但建立連接後發送的不是Port命令,而是Pasv命令。FTP伺服器收到Pasv命令後,隨機打開一個高端埠(埠號大於1024)並且通知客戶端在這個埠上傳送數據的請求,客戶端連接FTP伺服器此埠,然後FTP伺服器將通過這個埠進行數據的傳送,這個時候FTP server不再需要建立一個新的和客戶端之間的連接。
很多防火牆在設置的時候都是不允許接受外部發起的連接的,所以許多位於防火牆後或內網的FTP伺服器不支持PASV模式,因為客戶端無法穿過防火牆打開FTP伺服器的高端埠;而許多內網的客戶端不能用PORT模式登陸FTP伺服器,因為從伺服器的TCP 20無法和內部網路的客戶端建立一個新的連接,造成無法工作。
2、使用步驟
(1)FTP伺服器運行FTPd守護進程,等待用戶的FTP請求。
(2)用戶運行FTP命令,請求FTP伺服器為其服務。
例:FTP 202.119.2.197
(3)FTPd守護進程收到用戶的FTP請求後,派生出子進程FTP與用戶進程FTP交互,建立文件傳輸控制連接,使用TCP埠21。
(4)用戶輸入FTP子命令,伺服器接收子命令,如果命令正確,雙方各派生一個數據傳輸進程FTP-DATA,建立數據連接,使用TCP埠20,進行數據傳輸。
(5)本次子命令的數據傳輸完,拆除數據連接,結束FTP-DATA進程。
(6)用戶繼續輸入FTP子命令,重復(4)、(5)的過程,直至用戶輸入quit命令,雙方拆除控制連接,結束文件傳輸,結束FTP進程。
⑸ FTP的工作原理是怎樣的
FTP會話時包含了兩個通道,一個叫控制通道,一個叫數據通道。控制通道:控制通道是和FTP伺服器進行溝通的通道,連接FTP,發送FTP指令都是通過控制通道來完成的。數據通道:數據通道是和FTP伺服器進行文件傳輸或者列表的通道。FTP協議中,控制連接均有客戶端發起,而數據連接有兩種工作方式:PORT方式和PASV方式PORT模式(主動方式) FTP 客戶端首先和FTP Server的TCP 21埠建立連接,通過這個通道發送命令,客戶端需要接收數據的時候在這個通道上發送PORT命令。 PORT命令包含了客戶端用什麼埠(一個大於1024的埠)接收數據。在傳送數據的時候,伺服器端通過自己的TCP 20埠發送數據。 FTP server必須和客戶端建立一個新的連接用來傳送數據。PASV模式(被動方式) 在建立控制通道的時候和PORT模式類似,當客戶端通過這個通道發送PASV 命令的時候,FTP server打開一個位於1024和5000之間的隨機埠並且通知客戶端在這個埠上傳送數據的請求,然後FTP server 將通過這個埠進行數據的傳送,這個時候FTP server不再需要建立一個新的和客戶端之間的連接傳送數據。如果從C/S模型這個角度來說,PORT對於伺服器來說是OUTBOUND,而PASV模式對於伺服器是INBOUND,這一點請特別注意,尤其是在使用防火牆的企業里,這一點非常關鍵,如果設置錯了,那麼客戶將無法連接。參考: http://www.linuxdiyf.com/viewarticle.php?id=20118 →Nebula№☆ 2008-08-18 15:44 檢舉您覺得這個答案好不好?好(0)不好(0) 相關問題 FTP工作原理是怎樣的? FTP工作原理是什麼 ftp伺服器的工作原理其他答案拿下傳文件為例,當你啟動FTP從遠程計算機拷貝文件時,它向FTP伺服器提出拷貝文件的請求。啟動在遠程計算機的上的FTP伺服器程序,它響應你的請求把你指定的文件傳送到你的計算機中。 網站: http://www.skyhosting.com.cn 總想。。。 2008-08-18 15:41 檢舉上下傳 上頁,下頁. 2008-08-18 15:44 檢舉雖然我沒用過它,但大多數的lonux發行版本中都選用的是Washington University FTP,它是一個著名的FTP伺服器軟體,一般簡稱為wu-ftp. 它是一個很好的服委務軟體, 原理呀,網上有得查呀。下次我去看看有關那個的原理再告訴你吧。你自己也要去看看那方面有關的書呀, : 起做曖 2008-08-18 15:50 檢舉我來告訴你FTP伺服器工作流程: 建立Socket 偵聽 21 埠 收到連接請求後建立新埠與客戶端連接 繼續偵聽 21 埠 負責與客戶端連接的模塊要解釋處理大概10多條標準的FTP命令 根據不同命令為客戶返回不同的信息或做不同的事 關於這些標准FTP命令如 USER PASS REST PWD CWD PASV SIZE TYPE LIST RETR 等等的我不全知道 你要自己去查資料。拿下傳文件為例,當你啟動FTP從遠程計算機拷貝文件時,你事實上啟動了兩個程序:一個本地機上的FTP客戶程序:它向FTP伺服器提出拷貝文件的請求。另一個是啟動在遠程計算機的上的FTP伺服器程序,它響應你的請求把你指定的文件傳送到你的計算機中。FTP採用「客戶機/伺服器」方式,用戶端要在自己的本地計算機上安裝FTP客戶程序。FTP客戶程序有字元界面和圖形界面兩種。字元界面的FTP的命令復雜、繁多。圖形界面的FTP客戶程序,操作上要簡潔方便的多。
⑹ 文件傳輸FTP的工作原理是什麼啊
FTP並不是應用於IP網路上的協議,而是ARPANEt網路中計算機間的文件傳輸協議, ARPANET是美國國防部組建的老網路,於1960-1980年使用。在那時, FTP的主要功能是在主機間高速可靠地傳輸文件。目前FTP仍然保持其可靠性,即使在今天,它還允許文件遠程存取。這使得用戶可以在某個系統上工作,而將文件存貯在別的系統。例如,如果某用戶運行Web伺服器,需要從遠程主機上取得HTML文件和CGI程序在本機上工作,他需要從遠程存儲站點獲取文件(遠程站點也需安裝Web伺服器)。當用戶完成工作後,可使用FTP將文件傳回到Web伺服器。採用這種方法,用戶無需使用Telnet登錄到遠程主機進行工作,這樣就使Web伺服器的更新工作變得如此的輕松。
FTP是TCP/IP的一種具體應用,它工作在OSI模型的第七層,TCP模型的第四層上,即應用層,使用TCP傳輸而不是UDP,這樣FTP客戶在和伺服器建立連接前就要經過一個被廣為熟知的"三次握手"的過程,它帶來的意義在於客戶與伺服器之間的連接是可靠的,而且是面向連接,為數據的傳輸提供了可靠的保證。
下面,讓我們來看看,一個FTP客戶在和伺服器連接是怎麼樣的一個過程(以標準的FTP埠號為例)。
首先,FTP並不像HTTP協議那樣,只需要一個埠作為連接(HTTP的默認埠是80,FTP的默認埠是21),FTP需要2個埠,一個埠是作為控制連接埠,也就是21這個埠,用於發送指令給伺服器以及等待伺服器響應;另一個埠是數據傳輸埠,埠號為20(僅PORT模式),是用來建立數據傳輸通道的,主要有3個作用
從客戶向伺服器發送一個文件。
從伺服器向客戶發送一個文件。
從伺服器向客戶發送文件或目錄列表。
其次,FTP的連接模式有兩種,PORT和PASV。PORT模式是一個主動模式,PASV是被動模式,這里都是相對於伺服器而言的。為了讓大家清楚的認識這兩種模式,朗月繁星分別舉例說明。
PORT模式
當FTP客戶以PORT模式連接伺服器時,他動態的選擇一個埠號(本次試驗是6015)連接伺服器的21埠,注意這個埠號一定是1024以上的,因為1024以前的埠都已經預先被定義好,被一些典型的服務使用,當然有的還沒使用,保留給以後會用到這些埠的資源服務。當經過TCP的三次握手後,連接(控制信道)被建立(如圖1和圖2)。
圖1:FTP客戶使用FTP命令建立於伺服器的連接
圖2:用netstat命令查看,控制信道被建立在客戶機的6015和伺服器的20埠
現在用戶要列出伺服器上的目錄結構(使用ls或dir命令),那麼首先就要建立一個數據通道,因為只有數據通道才能傳輸目錄和文件列表,此時用戶會發出PORT指令告訴伺服器連接自己的什麼埠來建立一條數據通道(這個命令由控制信道發送給伺服器),當伺服器接到這一指令時,伺服器會使用20埠連接用戶在PORT指令中指定的埠號,用以發送目錄的列表(如圖3)。
圖3:ls命令是一個交互命令,它會首先與伺服器建立一個數據傳輸通道。經驗證本次試驗客戶機使用6044埠
當完成這一操作時,FTP客戶也許要下載一個文件,那麼就會發出get指令,請注意,這時客戶會再次發送PORT指令,告訴伺服器連接他的哪個"新"埠,你可以先用netstat -na這個命令驗證,上一次使用的6044已經處於TIME_WAIT狀態(如圖4)。
圖4:使用netstat命令驗證上一次使用ls命令建立的數據傳輸通道已經關閉
當這個新的數據傳輸通道建立後(在微軟的系統中,客戶端通常會使用連續的埠,也就是說這一次客戶端會用6045這個埠),就開始了文件傳輸的工作。
PASV模式
然而,當FTP客戶以PASV模式連接伺服器時,情況就有些不同了。在初始化連接這個過程即連接伺服器這個過程和PORT模式是一樣的,不同的是,當FTP客戶發送ls、dir、get等這些要求數據返回的命令時,他不向伺服器發送PORT指令而是發送PASV指令,在這個指令中,用戶告訴伺服器自己要連接伺服器的某一個埠,如果這個伺服器上的這個埠是空閑的可用的,那麼伺服器會返回ACK的確認信息,之後數據傳輸通道被建立並返回用戶所要的信息(根據用戶發送的指令,如ls、dir、get等);如果伺服器的這個埠被另一個資源所使用,那麼伺服器返回UNACK的信息,那麼這時,FTP客戶會再次發送PASV命令,這也就是所謂的連接建立的協商過程。為了驗證這個過程我們不得不藉助CUTEFTP Pro這個大家經常使用的FTP客戶端軟體,因為微軟自帶的FTP命令客戶端,不支持PASV模式。雖然你可以使用QUOTE PASV這個命令強制使用PASV模式,但是當你用ls命令列出伺服器目錄列表,你會發現它還是使用PORT方式來連接伺服器的。現在我們使用CUTEFTP Pro以PASV模式連接伺服器
⑺ 什麼是ftp伺服器,其主要工作原理是什麼
ftp是file
transfer
protocol(文件傳輸協議)的縮寫,用來在兩台計算機之間互相傳送文件。相比於http,ftp協議要復雜得多。復雜的原因,是因為ftp協議要用到兩個tcp連接,一個是命令鏈路,用來在ftp客戶端與伺服器之間傳遞命令;另一個是數據鏈路,用來上傳或下載數據。
ftp協議有兩種工作方式:port方式和pasv方式,中文意思為主動式和被動式。
port(主動)方式的連接過程是:客戶端向伺服器的ftp埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,客戶端在命令鏈路上用port命令告訴伺服器:「我打開了xxxx埠,你過來連接我」。於是伺服器從20埠向客戶端的xxxx埠發送連接請求,建立一條數據鏈路來傳送數據。
pasv(被動)方式的連接過程是:客戶端向伺服器的ftp埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,伺服器在命令鏈路上用pasv命令告訴客戶端:「我打開了xxxx埠,你過來連接我」。於是客戶端向伺服器的xxxx埠發送連接請求,建立一條數據鏈路來傳送數據。
⑻ 什麼是FTPFTP工作原理
FTP本來是一種文件傳輸協議,後來用做直接點下載。
一般下個cuteftp就可以,要求不是很高。