【FTP】FTP(文件傳輸協議)工作原理(SFTP)


目前在網絡上,如果你想把文件和其他人共享。最方便的辦法莫過於將文件放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犧牲了一定的效率,以保證傳輸過程的安全。

 

轉自:https://blog.csdn.net/qq_41750040/article/details/80249507


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM