Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> 電腦軟件教程 >> 服務器技術 >> FTP服務器 >> ftp工作原理

ftp工作原理

日期:2017/1/20 17:56:09      編輯:FTP服務器

ftp的傳輸有兩種方式:ascii傳輸模式和二進制數據傳輸模式。
1.ascii傳輸方式:假定用戶正在拷貝的文件包含的簡單ascii碼文本,如果在遠程機器上運行的不是unix,當文件傳輸時ftp通常會自動地調整文件的內容以便於把文件解釋成另外那台計算機存儲文本文件的格式。
但是常常有這樣的情況,用戶正在傳輸的文件包含的不是文本文件,它們可能是程序,數據庫,字處理文件或者壓縮文件(盡管字處理文件包含的大部分是文本,其中也包含有指示頁尺寸,字庫等信息的非打印字符)。在拷貝任何非文本文件之前,用binary 命令告訴ftp逐字拷貝,不要對這些文件進行處理,這也是下面要講的二進制傳輸。 推薦閱讀:FTP使用命令詳解
2.二進制傳輸模式:在二進制傳輸中,保存文件的位序,以便原始和拷貝的是逐位一一對應的。即使目的地機器上包含位序列的文件是沒意義的。例如,macintosh以二進制方式傳送可執行文件到windows系統,在對方系統上,此文件不能執行。
如果你在ascii方式下傳輸二進制文件,即使不需要也仍會轉譯。這會使傳輸稍微變慢 ,也會損壞數據,使文件變得不能用。(在大多數計算機上,ascii方式一般假設每一字符的第一有效位無意義,因為ascii字符組合不使用它。如果你傳輸二進制文件,所有的位都是重要的。)如果你知道這兩台機器是同樣的,則二進制方式對文本文件和數據文件都是有效的。 

ftp的工作方式
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無法和內部網絡的客戶端建立一個新的連接,造成無法工作.

如果你要是不知道怎麼用ftp下東西,那很好解決,只要是下一個ftp的軟件,比如flashfxp,ultraftp等等軟件,裡面輸入地址直接下載就是了。
如果你要是想建一個ftp的站點,你就要自己做軟件配置用server-u或者其他的軟件直接設置一下就可以。

Copyright © Windows教程網 All Rights Reserved