❶ ftp客戶和伺服器間傳遞ftp命令時,使用的連接是tcp還是udp
ftp客戶和伺服器間傳遞ftp命令時,使用的連接是tcp。
FTP協議是基於傳輸層TCP協議的。FTP的控制連接使用埠21,用來傳輸控制信息(如連接請求、傳送請求等),數據連接使用埠20,用來傳輸數據。
控制連接的特點是:
1、以客戶一伺服器方式建立。
2、伺服器以被動方式打開用於FTP的埠21,等待客戶的連接。
3、客戶則以主動方式打開TCP埠21,來建立連接。
4、控制連接始終等待客戶與伺服器之間的通信。該連接將命令從客戶傳給伺服器,並傳回伺服器的應答。由於命令通常是由用戶鍵入的,所以IP對控制連接的服務主要責任就是「最大限度地減小遲延」。
(1)ftp傳輸2個tcp連接擴展閱讀:
FTP協議包括兩個組成部分,其一為FTP伺服器,其二為FTP客戶端。其中FTP伺服器用來存儲文件,用戶可以使用FTP客戶端通過FTP協議訪問位於FTP伺服器上的資源。
在開發網站的時候,通常利用FTP協議把網頁或程序傳到Web伺服器上。此外,由於FTP傳輸效率非常高,在網路上傳輸大的文件時,一般也採用該協議。
默認情況下FTP協議使用TCP埠中的 20和21這兩個埠,其中20用於傳輸數據,21用於傳輸控制信息。但是,是否使用20作為傳輸數據的埠與FTP使用的傳輸模式有關,如果採用主動模式,那麼數據傳輸埠就是20;如果採用被動模式,則具體最終使用哪個埠要伺服器端和客戶端協商決定。
❷ FTP可以有多個TCP連接用於多個並行文件傳輸
盡管理論上可以讓FTP伺服器支持多個並發傳輸,但它不受 RFC 或任何已知的實現。
該塊很簡單,控制連接在接收到傳輸請求後,在數據傳輸完成之前不會返回最終狀態或接受新命令。因此,盡管您可以排隊另一個傳輸請求,但實際上伺服器不會處理它,直到當前的傳輸請求完成。
如果您想要多個文件傳輸,只需記錄日誌進入FTP伺服器多次使用不同的程序或命令行窗口,並且每個都啟動一次傳輸。
❸ FTP協議為什麼需要兩個TCP連接啊(數據和控制連接)
我記得一個是用來發送數據,一個用來接收數據,
只是它們所用的埠不一樣,
一個用20(接收數據) ,一個用21(發送數據)。
如果只是一個連接的話,那就是復用一個埠,如果你清楚的話,
埠之間通信需要傳輸協議才能建立連接,
埠的復用等於說在一個埠上同時使用2種協議以上,如果是10種協議呢?
不但會影響傳輸速度,數據出錯的概率也變大了。
❹ 向遠程ftp上傳文件的過程中,用到TCP/IP協議中四層的哪些協議
FTP一般是通過建立兩個TCP連接來完成文件傳輸。因此傳輸層用的主要就是TCP協議。(如果是TFTP則是UDP協議了)
在網路層IP協議是必須的。而上層使用的TCP,可靠傳輸,則必然也有使用ICMP,對出錯的數據報能有報告機制。
ARP和RARP其實從原理上說,應該也屬於網際層。
若果本次FTP傳輸兩端的機器有區域網情形,則必然有ARP協議使用到。。而RARP,主要是針對無盤工作站,目前的情形,比較難碰到吧。
❺ FTP下載一個文件完成。有幾個TCP連接
ftp客戶端和伺服器端的ftp程序通過tcp20和21埠建立連接,一個用於傳輸文件數據(數據連接),另一個用於傳輸控制信息(控制連接)。
❻ FTP傳輸文件時,客戶機和伺服器之間需要建立多少個並行的TCP連接
2個,一個TCP連接用於控制,另外一個TCP連接用來傳輸數據。
❼ 求教關於FTP的問題,高手解答,在線等。
1 斷開連接其實不區分客戶端和伺服器端,任何一方都可以調用close(or closesocket)之類
的函數開始主動終止一個連接。
2 當調用close函數斷開一個連接時,主動斷開的一方發送FIN報文給對方。當被動關閉的一方收到FIN報文時,它會發送ACK確認報文。因為TCP是雙工的,也就是說,你可以想像一對TCP連接上有兩條數據通路。當發送FIN報文時,意思是說,發送FIN的一端就不能發送數據,也就是關閉了其中一條數據通路。被動關閉的一端發送了ACK後,應用層通常就會檢測到這個連接即將斷開,然後被動斷開的應用層調用close關閉連接。
3 一旦當你調用close(or closesocket),這一端就會發送FIN報文。也就是說,現在被動
關閉的一端也發送FIN給主動關閉端。有時候,被動關閉端會將ACK和FIN兩個報文合在一起發送。主動關閉端收到FIN後也發送ACK,然後整個連接關閉。
4 你的補充應該是合理的,不過這只是程序的實現方式,你找一個ftp源碼看看就知道了。
❽ FTP原理與配置
FTP是用來傳送文件的協議。使用FTP實現遠程文件傳輸的同時,還可以保證數據傳輸的可靠性和高效性。
在企業網路中部署一台FTP伺服器,將網路設備配置為FTP客戶端,則可以使用FTP來備份或更新VRP文件和配置文件。 也可以把網路設備配置為FTP伺服器,將設備的日誌文件保存到某台主機上方便查看。
FTP傳輸數據時支持兩種傳輸模式:ASCII模式和二進制模式。
ASCII模式用於傳輸文本。 發送端的字元在發送前被轉換成ASCII碼格式之後進行傳輸,接收端收到之後再將其轉換成字元。 二進制模式常用於發送圖片文件和程序文件。 發送端在發送這些文件時無需轉換格式,即可傳輸。
使用FTP進行文件傳輸時,會使用兩個TCP連接。 第一個連接是FTP客戶端和FTP伺服器間的控制連接。 FTP伺服器開啟21號埠 ,等待FTP客戶端發送連接請求。
第二個連接是FTP客戶端和FTP伺服器間的數據連接。 伺服器使用TCP的20號埠 與客戶端建立數據連接。 通常情況下,伺服器主動建立或中斷數據連接。
執行 ftp server enable 命令使能FTP功能。
執行 set default ftp-directory 命令設置FTP用戶。
在配置FTP伺服器時,可以使用AAA為每個用戶分別配置登錄賬號和訪問許可權。
aaa 命令用來進入AAA視圖。
local-user user-name { access-limit max-number | ftpdirectory directory | idle-timeout minutes [ seconds ] | password cipher password [ opt ]| privilege level level | state {active | block } } *命令用來創建本地用戶,並配置本地用戶的各項參數。
ftp客戶端連接ftp伺服器
ftp命令用來不遠程FTP伺服器建立控制連接,並進入FTP客戶端視圖。
binary命令用來在設備作為FTP客戶端時設置文件傳輸方式為Binary模式,又稱二進制模式。預設情況下,文件傳輸方式為ASCII模式。get命令用來從遠程FTP伺服器下載文件並保存在本地。