ftp協議採用
⑴ ftp是什麼協議
FTP(File Transfer Protocol)是一種用於文件在網路中傳輸的協議。它支持兩種傳輸模式:主動模式(Active Mode)和被動模式(Passive Mode)。用戶通過FTP客戶端與FTP伺服器建立連接,以實現文件的上傳、下載和刪除等操作。FTP通信通常基於TCP協議,並使用21號埠作為默認埠。
以下是FTP協議的一些主要特點:
1. 用戶友好:FTP協議的設計簡化了文件傳輸過程,用戶無需深入了解技術細節即可通過FTP客戶端進行文件操作。
2. 可靠性:在文件傳輸過程中,FTP會進行校驗,確保文件在傳輸過程中的完整性和准確性。
3. 大文件支持:FTP能夠有效傳輸大型文件,適用於傳輸多個GB甚至TB級別的文件。
4. 跨平台兼容性:FTP協議在不同操作系統之間具有良好的兼容性,適用於Windows、Linux、Mac OS等多種系統。
5. 安全性:FTP支持加密傳輸,例如通過SSL或TLS協議來保護文件傳輸的安全。
6. 被動模式:在被動模式下,FTP能夠繞過某些網路配置限制,如防火牆和路由器,確保文件傳輸的連通性。
7. 匿名訪問:FTP支持匿名訪問,用戶可以使用FTP客戶端進行無需登錄的文件傳輸。
⑵ 為什麼ftp協議要採用主動和被動兩種模式,有什麼好處
FTP是一種文件傳輸協議,它支持兩種模式, 一種方式叫做Standard(也就是Active, 主動方式),一種是Passive(也就是PASV, 被動方式)。Standard模式FTP的客戶端發送 PORT命令到FTPserver。 Passive模式FTP的客戶端發送PASV命令到 FTPServer。 下面介紹一個這兩種方式的工作原理: Standard模式FTP客戶端首先和FTP Server的TCP21埠建立連接, 通過這個通道發送命令, 客戶端需要接收數據的時候在這個通道上發送PORT命令。 PORT命令包含了客戶端用什麼埠接收數據。 在傳送數據的時候,伺服器端通過自己的TCP 20埠發送數據。FTP server必須和客戶端建立一個新的連接用來傳送數據。 Passive模式在建立控制通道的時候和Standard模式 類似,當客戶端通過這個通道發送PASV命令的時候,FTP server打開一個位於1024和5000之間的隨機埠並且 通知客戶端在這個埠上傳送數據的請求,然後FTP server將通過這個埠進行數據的傳送,這個時候FTP server不再需要建立一個新的和客戶端之間的連接。 現在的FTP軟體裡麵包括在IE5以上的版本裡面也已經支持這兩 種模式了。一般一些FTP客戶端的軟體就比較好設置了, 一般都有一個PASV的選項,比如CuteFTP, 傳輸的方式都有Standard和PASV的選項, 可以自己進行選擇; 另外在IE裡面如果要設置成PASV模式的話可以選中工具- Internet選項-高級-為FTP站點啟用文件夾視圖, 否則就採用Standard模式。 很多防火牆在設置的時候都是不允許接受外部發起的連接的, 所以FTP的Standard模式在許多時候在內部網路的機器通 過防火牆出去的時候受到了限制,因為從伺服器的TCP 20無法和內部網路的客戶端建立一個新的連接,造成無法工作。 當然也可以設置成功, 首先要創建一條規則就是允許內部的IP連接外部的IP的21埠 ;第二條就是禁止外部IP的TCP20埠連接內部IP的< 1024的埠,這條是為了防止外部連接內部的常規埠; 第三條驗證ACK是否等於1, 這個的原理就參見TCP建立連接的三次握手吧。 所以如果安全的配置的話非常困難, 這個時候就想起來了PASV模式,因為不用建立新的連接, 所以也就不會涉及到後面的問題了。 但是管理員可能不想使用PASV模式,因為這個時候FTP Server會開放一個隨機的高埠, 盡管在IIS4和IIS5裡面埠的范圍是1024-5000, 但是許多FTPServer的埠范圍達到了1024- 65535, 這個時候在這個主動開放的隨機埠上是有完全的訪問許可權的, 如果IIS也要設置成開放的埠為1024-65535, 具體方法如下: 1.regedt32 2.找到HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters 3.編輯-添加-數值 ValueName:MaxUserPortData Type:REG_DWORDValue:65534< forexample> 所以如果遇到了有防火牆的話或者怕配置麻煩的話還是採用PASV 模式比較好些, 但是如果真的對安全的需求很高的話建議採用Standard模式 。