⑴ 簡述FTP協議的工作原理,數據連接和控制連接,主動模式與被動模式
FTP是基於TCP的應用層上的協議,用於文件傳輸
客戶端通過發送命令和服務端進行通信,比如
客戶端發送「USER abc」,表示用戶名為abc
服務端返回"331 Password required for abc.",表示abc這個賬戶需要密碼
客戶端在請求服務端發送文件或者上傳文件時,有主動模式和被動模式的分別(詳細的可以查看網路的「FTP」詞條)
對於被動模式(PASV),服務端會給出一個埠號,讓客戶端去連接。這也是多數FTP客戶端的預設模式。
對於主動模式(PORT),客戶端必須給出一個埠號,服務端會通過它的20埠來連接客戶端給出的埠。
如果客戶處於路由器之後,那麼伺服器不能直接連接客戶,主動模式就會失效,只能採用被動模式;反之如果伺服器處於路由之後,則只能採用主動模式。
⑵ ftp是什麼
FTP是文件傳輸協議,伺服器中存有大量的共享軟體和免費資源,要想從伺服器中把文件傳送到客戶機上或者把客戶機上的資源傳送至伺服器,就必須在兩台機器中進行文件傳送,此時雙方必須要共同遵守一定的規則。FTP就是用來在客戶機和伺服器之間實現文件傳輸的標准協議。它使用客戶/伺服器模式,客戶程序把客戶的請求告訴伺服器,並將伺服器發回的結果顯示出來。而伺服器端執行真正的工作,比如存儲、發送文件等。
如果用戶要將一個文件從自己的計算機上發送到另一台計算機上,稱為是FTP的上載,而更多的情況是用戶從伺服器上把文件或資源傳送到客戶機上,稱之為FTP的下載。在Internet上有一些計算機稱為FTP伺服器,它存儲了許多允許存取的文件,如:文本文件、圖像文件、程序文件、聲音文件、電影文件等。
FTP系統是一個通過Internet傳送文件的系統。FTP客戶程序必須與遠程的FTP伺服器建立連接並登錄後,才能進行文件的傳輸。通常,一個用戶必須在FTP伺服器進行注冊,即建立用戶帳號,擁有合法的登錄用戶名和密碼後,才有可能進行有效的FTP連接和登錄。
大多數站點提供匿名FTP服務,即這些站點允許任何一個用戶免費登錄到它們的機器上,並從其上復制文件。這類伺服器的目的就是想社會公眾提供免費的文件拷貝服務,因此,它不要求用戶事先在該伺服器進行注冊。與這類「匿名」FTP伺服器建立連接時,用戶名一般是anonymous,而口令可以使用任意字元串,一種比較常用的是使用你的電子郵件地址作為口令。但這個口令既不進行校驗,也不是強制的。
另一類FTP伺服器在進入該伺服器之前,必須先向該伺服器的系統管理員申請用戶名及密碼,即非匿名FTP伺服器,他通常提供內部使用或提供收費咨詢服務。
FTP是基於客戶機/伺服器模式的服務系統,它油客戶軟體、伺服器軟體和FTP通信協議三部分組成。FTP客戶軟體作為一種應用程序,運行在客戶計算機上。用戶使用FTP命令與FTP伺服器建設連接或傳送文件,一般操作系統內置標准FTP命令,標准瀏覽器也支持FTP協議,當然也可以使用一些專用的FTP軟體。FTP伺服器軟體運行在遠程主機上,並設置一個名叫anonymous的公共用戶帳號,向用戶開放。FTP客戶與伺服器之間將在內部建立兩條TCP連接:一條是控制連接,主要用於傳輸命令和參數;另一條是數據連接,主要用於傳送文件。
⑶ FTP協議是什麼
FTP協議其實是文件傳輸協議,是TCP協議組中的協議之一,值得一提的是FTP協議包含兩個部分,一個是FTP伺服器,另一個是FTP客戶端,我們在日常生活中使用的時候一定要學會區分才行,希望每個人都能夠認識到這一點,同時我們需要注意的是在日常生活中,電子信息行業發展是非常的迅速的,我們在日常生活中一定要學會使用電腦才行,只有這樣才可以讓我們的生活更加的美好。
個人建議:
同時我們需要注意的是,在學習電腦的過程中,一定要學會不恥下問,只有這樣才可以讓我們的能力有一個更加快速的提升,希望每個人都能夠認識到這一點,對於一些專業名詞來說,我們可以查閱相關的資料就可以解決了。
(3)ftp協議的控制連接擴展閱讀:
FXP傳送出錯時,本地的用戶進程還留在FTP伺服器中,並沒有退出,如此時再次連接FTP伺服器,可能會因用戶線程超過允許,FTP伺服器提示客戶已登陸並拒絕客戶端的連接,直至伺服器中的傀儡進程因超時或其他原因被FTP伺服器殺死後,才能再次連接FTP伺服器。
要連上 FTP 伺服器(即「登陸」),必須要有該 FTP 伺服器授權的帳號,也就是說你只有在有了一個用戶標識和一個口令後才能登陸FTP伺服器,享受FTP伺服器提供的服務。
FTP協議的任務是從一台計算機將文件傳送到另一台計算機,它與這兩台計算機所處的位置、聯接的方式、甚至是是否使用相同的操作系統無關。假設兩台計算機通過ftp協議對話,並且能訪問Internet,
你可以用ftp命令來傳輸文件。每種操作系統使用上有某一些細微差別,但是每種協議基本的命令結構是相同的。
FTP的傳輸有兩種方式:ASCII傳輸模式和二進制數據傳輸模式。
⑷ 1、FTP協議中為什麼要區分控制連接和數據連接若只用一條連接有何局限
一個是用來發送數據,一個用來接收數據,它們所用的埠不一樣,
一個用20(接收數據) ,一個用21(發送數據)。
如果只是一個連接的話,那就是復用一個埠,如果你清楚的話,
埠之間通信需要傳輸協議才能建立連接,
埠的復用等於說在一個埠上同時使用2種協議以上。
如果是1種協議,不但會影響傳輸速度,數據出錯的概率也變大了。
⑸ FTP和SFTP的區別,你了解多少
第一、FTP協議
FTP是TCP/IP協議組中的協議之一,TP協議由兩個部分組成:1、FTP伺服器,用來存儲文件;2、FTP客戶端,用戶可以使用FTP客戶端通過FTP協議訪問位於FTP伺服器上的資源。
默認情況下FTP協議使用TCP埠中的20和21這兩個埠。21埠用於傳輸控制信息,而是否使用20作為傳輸數據的埠與FTP使用的傳輸模式有關,如果採用被動模式則具體使用哪個埠要伺服器端和客戶端協商決定。FTP傳輸模式分為兩種:
①主動模式
FTP客戶端首先和FTP伺服器的TCP21埠建立連接,通過這個通道發送命令,客戶端需要接收數據的時候在這個通道上發送PORT命令。PROT命令包含了客戶端用什麼埠接收數據。在傳輸數據的時候,伺服器端通過自己的TCP
20埠連接至客戶端的指定埠發送數據。
②被動模式
在建立控制通道與主動模式相似,但建立連接後是Pasv命令。FTP伺服器收到Pasv命令後便隨機打開一個高端埠並且通知客戶端在這個埠上傳送數據的請求,客戶端連接FTP伺服器此埠,通過三次握手建立通道,然後FTP伺服器將通過這個埠進行數據的傳送。
第二、SFTP協議
SFTP是SSH File Transfer
Protocol的縮寫,安全文件傳送協議。SFTP與FTP有著幾乎一樣的語法和功能。SFTP為SSH的其中一部分,是一種傳輸檔案至Blogger伺服器的安全方式。其實在SSH軟體包含中,已經包含了一個叫作SFTP的安全文件信息傳輸子系統,SFTP本身沒有單獨的守護進程,它必須使用sshd守護進程來完成相應的連接和答復操作,所以從某種意義上來說,SFTP並不像一個伺服器程序,而更像是一個客戶端程序。
第三、二者的主要區別
鏈接方式:FTP使用TCP埠21上的控制連接建立連接。而SFTP是在客戶端和伺服器之間通過SSH協議建立的安全連接來傳輸文件。
安全性:SFTP使用加密傳輸認證信息和傳輸的數據,所以使用SFTP相對於FTP是非常安全。
效率:SFTP這種傳輸方式使用了加密解密技術,所以傳輸效率比普通的FTP要低很多。
⑹ ftp客戶和伺服器間傳遞ftp命令時,使用的連接是tcp還是udp
ftp客戶和伺服器間傳遞ftp命令時,使用的連接是tcp。
FTP協議是基於傳輸層TCP協議的。FTP的控制連接使用埠21,用來傳輸控制信息(如連接請求、傳送請求等),數據連接使用埠20,用來傳輸數據。
控制連接的特點是:
1、以客戶一伺服器方式建立。
2、伺服器以被動方式打開用於FTP的埠21,等待客戶的連接。
3、客戶則以主動方式打開TCP埠21,來建立連接。
4、控制連接始終等待客戶與伺服器之間的通信。該連接將命令從客戶傳給伺服器,並傳回伺服器的應答。由於命令通常是由用戶鍵入的,所以IP對控制連接的服務主要責任就是「最大限度地減小遲延」。
(6)ftp協議的控制連接擴展閱讀:
FTP協議包括兩個組成部分,其一為FTP伺服器,其二為FTP客戶端。其中FTP伺服器用來存儲文件,用戶可以使用FTP客戶端通過FTP協議訪問位於FTP伺服器上的資源。
在開發網站的時候,通常利用FTP協議把網頁或程序傳到Web伺服器上。此外,由於FTP傳輸效率非常高,在網路上傳輸大的文件時,一般也採用該協議。
默認情況下FTP協議使用TCP埠中的 20和21這兩個埠,其中20用於傳輸數據,21用於傳輸控制信息。但是,是否使用20作為傳輸數據的埠與FTP使用的傳輸模式有關,如果採用主動模式,那麼數據傳輸埠就是20;如果採用被動模式,則具體最終使用哪個埠要伺服器端和客戶端協商決定。
⑺ 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可以採用2種工作模式,分別是Port模式、Passive模式;
FTP的傳輸有兩種方式:ASCII、二進制:
1、ASCII傳輸方式:
假定用戶正在拷貝的文件包含的簡單ASCII碼文本,如果在遠程機器上運行的不是UNIX,當文件傳輸時ftp通常會自動地調整文件的內容以便於把文件解釋成另外那台計算機存儲文本文件的格式
2、二進制傳輸模式:
在二進制傳輸中,保存文件的位序,以便原始和拷貝的是逐位一一對應的。即使目的地機器上包含位序列的文件是沒意義的。例如,macintosh以二進制方式傳送可執行文件到Windows系統,在對方系統上,此文件不能執行。
(8)ftp協議的控制連接擴展閱讀:
FTP文件傳輸協議的特點介紹:
FTP工作在TCP/IP模型的應用層,基於的傳輸協議是TCP,FTP客戶端和伺服器之間的連接是可靠的,面向連接的,為數據的傳輸提供了可靠的保證。
FTP的主要特徵:
1、控制連接是建立在客戶協議解釋器和伺服器協議解釋器之間用於交換命令與應答的通信鏈路
2、數據連接是傳輸數據的全雙工連接。傳輸數據可以發生在伺服器數據傳輸過程DTP和客戶DTP之間,也可以發生在兩個伺服器的DTP之間。