1. 程式人生 > >計算機網絡之應用層_part -3

計算機網絡之應用層_part -3

目錄樹 align 傳輸協議 之間 服務器 徘徊 本地 文件 系統

應用層協議之文件傳輸協議:FTP

  在一個典型的FTP會話中,用戶坐在一臺主機(本地主機)前面,向一臺遠程主機傳輸(或者接受來自遠程主機的)文件。為使用戶能訪問它的遠程賬戶,用戶必須提供一個用戶標識和口令。用戶首先提供遠程主機的主機名,使本地主機的FTP客戶進程建立一個到遠程主機FTP服務器進程的TCP連接。該用戶接著提供用戶標識和口令,作為FTP命令的一部分在該TCP連接上傳輸。一旦該服務器向該用戶授權,該用戶可以將存放在本地的文件系統中的一個或者多個文件復制到遠程的文件系統中。

  FTP文件傳輸協議也是運行在TCP上的。最顯著的特點是FTP使用了兩個並行的TCP連接來傳輸文件,一個是控制連接(

21號端口,一個是數據連接(可能是20號端口。控制連接用於兩主機之間傳輸控制信息。如用戶標識、口令、改變遠程目錄的命令以及“存放(PUT)”和“獲取(GET)”文件的命令,數據連接用於發送一個實際文件。因為FTP協議使用了一個獨立的控制連接,所以我們稱FTP的控制信息是帶外傳輸的像HTTP協議是在傳輸文件的同一個TCP連接中發送請求和響應首部行的,因此HTTP也可以說那是帶內發送控制信息的。

  當用戶主機與遠程主機開始一個FTP會話時,FTP的用戶端首先在服務器21號端口與服務器(遠程主機)端發起一個用於控制的TCP連接。當FTP的服務器從該連接上接收到傳輸文件的命令後,就會發起一個到客戶端的TCP數據連接,FTP在該數據連接上準確地傳輸一個文件,然後關閉該連接。因此對FTP傳輸而言,控制攔截貫穿了整個用戶的會話期間,但是對會話中的每一次文件傳輸都需要建立一個新的數據連接(即數據連接是非持續連接的)。值得註意的是FTP是有狀態的,

隨著用戶在遠程目錄樹上的徘徊,服務器必須追蹤偶那個胡在遠程目錄樹上的當前位置。對每個進行中的用戶會話的狀態信息進行追蹤,也大大限制FTP同時維持的會話數。

計算機網絡之應用層_part -3