ucbug軟件站:安全、綠色、放心的專業(yè)下載站!首頁|最近更新|專題集合|標(biāo)簽云|站內(nèi)導(dǎo)航|加入收藏

FTP與SFTP兩者文件傳輸方式都有什么區(qū)別

時(shí)間:2020-08-29 22:54:31人氣:0

在實(shí)際項(xiàng)目開發(fā)中最常使用的文件傳輸?shù)姆绞接衒tp和sftp兩種,但是這兩個(gè)傳輸方式各有什么特點(diǎn)呢?本文接下來將討論SFTP、FTP的區(qū)別

在實(shí)際項(xiàng)目開發(fā)中最常使用的文件傳輸?shù)姆绞接衒tp和sftp兩種,但是這兩個(gè)傳輸方式各有什么特點(diǎn)呢?本文接下來將討論SFTP、FTP的區(qū)別

一、FTP協(xié)議

FTP是TCP/IP協(xié)議組中的協(xié)議之一,TP協(xié)議由兩個(gè)部分組成

FTP服務(wù)器(用來存儲文件)

FTP客戶端(用戶可以使用FTP客戶端通過FTP協(xié)議訪問位于FTP服務(wù)器上的資源)

FTP與SFTP兩者文件傳輸方式都有什么區(qū)別

默認(rèn)情況下FTP協(xié)議使用TCP端口中的20和21這兩個(gè)端口。21端口用于傳輸控制信息,而是否使用20作為傳輸數(shù)據(jù)的端口與FTP使用的傳輸模式有關(guān),如果采用被動模式則具體使用哪個(gè)端口要服務(wù)器端和客戶端協(xié)商決定。FTP傳輸模式分為以下兩種:

  • 主動模式(Port)
  • 被動模式(Passive)

主動模式

FTP與SFTP兩者文件傳輸方式都有什么區(qū)別

FTP客戶端首先和FTP服務(wù)器的TCP21端口建立連接,通過這個(gè)通道發(fā)送命令,客戶端需要接收數(shù)據(jù)的時(shí)候在這個(gè)通道上發(fā)送PORT命令。 PORT命令包含了客戶端用什么端口接收數(shù)據(jù)。在傳送數(shù)據(jù)的時(shí)候,服務(wù)器端通過自己的TCP 20端口連接至客戶端的指定端口發(fā)送數(shù)據(jù)。

被動模式

FTP與SFTP兩者文件傳輸方式都有什么區(qū)別

在建立控制通道與主動模式相似,但建立連接后是Pasv命令。FTP服務(wù)器收到Pasv命令后便隨機(jī)打開一個(gè)高端端口(端口號大于1024)并且通知客戶端在這個(gè)端口上傳送數(shù)據(jù)的請求,客戶端連接FTP服務(wù)器此端口,通過三次握手建立通道,然后FTP服務(wù)器將通過這個(gè)端口進(jìn)行數(shù)據(jù)的傳送。

注意:很多防火墻在設(shè)置的時(shí)候都是不允許接受外部發(fā)起的連接的,所以許多位于防火墻后或內(nèi)網(wǎng)的FTP服務(wù)器不支持PASV模式,因?yàn)榭蛻舳藷o法穿過防火墻打開FTP服務(wù)器的高端端口;而許多內(nèi)網(wǎng)的客戶端不能用PORT模式登陸FTP服務(wù)器,因?yàn)閺姆?wù)器的TCP 20無法和內(nèi)部網(wǎng)絡(luò)的客戶端建立一個(gè)新的連接,造成無法工作。

二、SFTP協(xié)議

FTP與SFTP兩者文件傳輸方式都有什么區(qū)別

SFTP是SSH File Transfer Protocol的縮寫,安全文件傳送協(xié)議。SFTP與FTP有著幾乎一樣的語法和功能。SFTP為SSH的其中一部分,是一種傳輸檔案至 Blogger 伺服器的安全方式。其實(shí)在SSH軟件包中,已經(jīng)包含了一個(gè)叫作SFTP的安全文件信息傳輸子系統(tǒng),SFTP本身沒有單獨(dú)的守護(hù)進(jìn)程,它必須使用sshd守護(hù)進(jìn)程(端口號默認(rèn)是22)來完成相應(yīng)的連接和答復(fù)操作,所以從某種意義上來說,SFTP并不像一個(gè)服務(wù)器程序,而更像是一個(gè)客戶端程序。

三、兩者的主要區(qū)別

FTP與SFTP兩者文件傳輸方式都有什么區(qū)別

鏈接方式:FTP使用TCP端口21上的控制連接建立連接。而,SFTP是在客戶端和服務(wù)器之間通過SSH協(xié)議(TCP端口22)建立的安全連接來傳輸文件。

安全性:SFTP使用加密傳輸認(rèn)證信息和傳輸?shù)臄?shù)據(jù),所以使用SFTP相對于FTP是非常安全。

效率:SFTP這種傳輸方式使用了加密解密技術(shù),所以傳輸效率比普通的FTP要低得多。