1. 程式人生 > >Sftp和ftp 區別

Sftp和ftp 區別

FTP(檔案傳輸協議)工作原理

目前在網路上,如果你想把檔案和其他人共享。最方便的辦法莫過於將檔案放FTP伺服器上,然後其他人通過FTP客戶端程式來下載所需要的檔案。

1、FTP架構

          如同其他的很多通訊協議,FTP通訊協議也採用客戶機 / 伺服器(Client / Server )架構。使用者可以通過各種不同的FTP客戶端程式,藉助FTP協議,來連線FTP伺服器,以上傳或者下載檔案。

2、FTP通訊埠知識          FTP伺服器和客戶端要進行檔案傳輸,就需要通過埠來進行。FTP協議需要的埠一般包括兩種:       控制鏈路--------TCP埠21          所有你發往FTP伺服器的命令和伺服器反饋的指令都是通過伺服器上的21埠傳送的。       資料鏈路--------TCP埠20
          資料鏈路主要是用來傳送資料的,比如客戶端上傳、下載內容,以及列目錄顯示的內容等。3、FTP連線的兩種方式          在資料鏈路的建立上,FTP         Server         為了適應不同的網路環境,支援兩種連線模式:主動模式(Port)和被動模式(Pasv)。其實這兩種連線模式主要是針對資料鏈路進行的,和控制鏈路無關。       主動模式          主動模式是這樣工作的:客戶端把自己的高位埠和伺服器埠21建立控制鏈路。所有的控制命令比如Is或get都是通過這條鏈路傳送的。          當客戶端需要伺服器端給它傳送資料時,客戶端會發訊息給伺服器端,告訴自己的位置和開啟的高位埠(一般大於1024的埠都就叫高位埠),等候伺服器 的20埠和客戶端開啟的埠進行連線,從而進行資料的傳輸。當伺服器端收到資訊後,就會和客戶端開啟的埠連線,這樣資料鏈路就建立起來了。          採用主動模式連線伺服器的客戶端,當它位於NAT或者防火牆的保護之後時會碰到連線失敗的問題。這是因為當防火牆接到伺服器傳送過來的資訊的時候,並不知道應該傳送給內部網路中的哪一臺客戶端造成的。      被動模式
         被動模式是這樣工作的:當客戶端傳送資料請求後,伺服器也會發資訊給客戶端,告訴客戶端:伺服器在本地打開了一個高位埠P,你現在來連線我吧。當客戶端收到該資訊時,就會去連線伺服器端的埠P,連線成功後,資料鏈路就建立了。

          從上面的解釋中我們可以看到,兩種模式主要的不同是資料連線建立的不同。對於Port模式,是客戶端在本地開啟一個埠等伺服器去連線建立資料連線,而Pasv模式就是伺服器開啟一個埠等待客戶端去建立一個數據連線。

SFTP(Secure File Transfer Protocol),即檔案加密傳輸協議

        SFTP在linux系統中,傳輸預設的埠為22埠,這種傳輸方式更為安全,傳輸雙方既要進行密碼安全驗證,還要進行基於金鑰的安全驗證,有效的防止了“中間人”的威脅和攻擊。

    sftp是ssh內含的協議,只要sshd伺服器啟動了,它就可用,它本身不需要ftp伺服器啟動

在使用linux的centos伺服器系統中,兩個比較起來,ftp傳輸會比sftp傳輸速率快,畢竟sftp犧牲了一定的效率,以保證傳輸過程的安全。