網際網路為了在兩台主機間傳輸檔案(文字檔案、程式、資料庫等)提供了兩種檔案傳輸協議(fpx不談)檔案傳輸協議ftp(file transfer protocol)和簡單文字傳輸協議tftp(trivial file transfer protocol)。
1.檔案傳輸協議的大致工作流程
檔案傳輸協議的基本思想就是複製整個檔案。如果你需要訪問乙個檔案就就必須要先獲得乙個本地的檔案副本。如果要修改檔案,只能對檔案的副本進行修改,然後再將修改後的檔案傳回到原結點。
2.為什麼需要提供兩種文字傳輸協議?
ascii傳輸模式:假定使用者正在拷貝的檔案包含的簡單ascii碼文字,如果在遠端機器上執行的不是unix,當檔案傳輸時ftp通常會自動地調整檔案的內容以便於把檔案解釋成另外那台計算機儲存文字檔案的格式。如果使用者正在傳輸的檔案包含的不是文字檔案,它們可能是程式,資料庫,字處理檔案或者壓縮檔案。在拷貝任何非文字檔案之前,用binary 命令告訴ftp不要對這些檔案進行處理而採用逐字拷貝的二進位制傳輸模式。因為在ascii方式下傳輸二進位制檔案,即使不需要也仍會轉譯。這會使傳輸稍微變慢 ,也會損壞資料,使檔案變得不能用。(在大多數計算機上,ascii方式一般假設每一字元的第一有效位無意義,因為ascii字元組合不使用它。如果你傳輸二進位制檔案,所有的位都是重要的。)
二進位制傳輸模式:在二進位制傳輸模式下,ftp會儲存檔案的位序,以便原始和拷貝的是逐位一一對應的。即使目的地機器上包含位序列的檔案是沒意義的。這就會導致傳輸不同檔案系統的檔案不能執行(比如說你雖然可以把windows版本的qq傳送到linux上,但是你不能再linux上安裝windows版本的qq)。
3.ftp的兩種工作模式
ftp具有兩種工作模式主動工作的port模式和被動工作的pasv模式。
port模式:正如《計算機網路》書上所主要介紹的一樣,ftp的客戶機向ftp伺服器的21埠發起控制連線建立,控制連線建立以後通過這個通道傳送命令,規定客戶端用什麼埠進行接收資料。在傳輸資料的時候,伺服器通過自身的20號埠連線只客戶端的指定埠進行資料的傳輸。
pasv模式:在pasv模式下,連線的建立和port模式類似,但是資料傳送的埠不再是伺服器的20號埠而是隨機的乙個高位埠(埠號大於1024)。具體的過程就是客戶端向伺服器69號埠傳送乙個pasv命令,伺服器收到pasv命令之後隨機指定乙個高位埠與客戶端進行資料的傳送。
4.ftp的特殊工作模式
設想乙個場景,你想要修改遠處主機上的100m檔案上的1byte大小的字元,按照傳統的工作方式是你需要拷貝整個檔案那麼就是100m,而你只是修改了1byte,可見效率非常的低。ftp將這種情況定義位非最佳情況,針對非最佳情況ftp規定允許應用程序開啟乙個遠地檔案並且在這個問價的某乙個特定的位置開始讀寫資料。也就是所你只需要複製大檔案的一小部分,而不用複製整個檔案,這樣大大提高了ftp的工作效率。
《計算機網路(第七版)》 謝希仁
ftp協議及工作原理詳解_wei.zhou的專欄-csdn部落格blog.csdn.net
檔案傳輸協議
sftp 安全檔案傳送協議。可以為傳輸檔案提供一種安全的加密方法。sftp 與 ftp 有著幾乎一樣的語法和功能。sftp為ssh的一部份,是一種傳輸檔案到伺服器的安全方式。在ssh軟體包中,已經包含了乙個叫作sftp secure file transfer protocol 的安全檔案傳輸子系統...
檔案傳輸協議
檔案傳送協議ftp file transfer protocol 提供不同種類主機系統 硬 軟體體系等都可以不同 之間的檔案傳輸能力。簡單檔案傳送協議 tftp trivial file transfer protocol ftp是基於 客戶 伺服器 c s 的協議 使用者通過乙個客戶機程式連線至在...
FTP 檔案傳輸協議
1.什麼是ftp 檔案傳輸協議 英文 file transfer protocol,簡稱為ftp 是用於在網路上進行檔案傳輸的一套標準協議。它屬於網路傳輸協議的應用層。ftp是乙個8位的客戶端 伺服器協議,能操作任何型別的檔案而不需要進一步處理,就像mime或unencode一樣。缺點 ftp有著極...