經常上網的讀者一定知道FTP,他主要用於文件傳輸。以前一提到傳送文件,FTP馬上就會跳出來。不過隨著現近網絡的發展我們傳輸文件越來越多的是通過QQ或MSN來完成了,不過FTP並沒有消失,他仍然存在於我們的周圍,並且在很多方面是不可替代的。FTP服務器也成為眾多小公司分享文件,共享資源的主要手段,今天就有筆者和大家詳細探討下FTP的相關知識。
一、什麼是FTP? 我們常說的FTP實際上指的是FTP協議,即文件傳輸協議(file transfer protocol),網絡誕生的初期人們要交換文件時只能采取磁盤復制的方法,非常不方便。有的人就提出既然有了網絡為什麼不能通過網絡傳送文件呢?為了實現這個功能國際組織制定了FTP協議,他是internet最早的應用層協議,隨著TCP/IP協議的誕生而誕生。這個協議用於主機間傳送文件,主機類型可以相同也可以不同,還可以傳送不同類型的文件,通過FTP我們可以在網絡中直接傳送文件而不用再使用磁盤媒介了。所以說FTP的應用范圍很廣,是最普及的文件傳輸協議。
早期的FTP是直接在DOS或命令行模式下輸入一條條指令來實現文件的傳輸的,而目前隨著圖形界面軟件的越來越多,用戶只要通過簡單的鼠標操作就可以輕松實現FTP傳輸功能了。這類軟件很多例如FlashFXP,CUTEFTP等。
二、什麼是TFTP? 除了FTP還有一個協議也可以用於傳輸文件,他就是TFTP協議。TFTP協議是一個傳輸文件的簡單協議,為什麼說他簡單是因為他只提供傳輸文件而不確保文件的成功傳送。正因為他在安全性上沒有保證,所以沒有FTP普及。不過由於他不用消耗相應的網絡資源用於傳輸確保,所以在一些對連接要求不高或者可以通過其他輔助手段確保安全的場所,TFTP還是有用武之地的。例如路由器上設置的保存方面。不過總體上講FTP比TFTP功能更加強大,占據了文件傳輸協議的主導地位。
小提示:正因為TFTP的安全問題,所以即便用TFTP協議也往往只開放其下載權限而不分配上傳權限。
三、FTP的傳輸原理與兩種工作模式 首先筆者為大家介紹下FTP的工作原理,只有把原理弄清楚後才能更好的理解FTP的兩種工作模式。整個FTP建立連接的過程有以下幾步:
第一步:對於一個FTP服務器來說他會自動對默認端口進行監聽(默認端口是可以修改的,一般為21),當某個客戶機向這個專用端口請求建立連接時便激活了服務器上的控制進程,通過這個控制進程進行用戶名密碼及權限的驗證。
第二步:當驗證完成後服務器和客戶機之間還會建立另外一條專有連接進行文件數據的傳輸。
第三步:在傳輸過程中服務器上的控制進程將一直工作,並不斷發出指令操作整個FTP傳輸,傳輸完畢後控制進程發送給客戶機結束指令。
以上就是FTP建立連接的整個過程,不過FTP自身有兩種工作模式,也就是說在第二步中提示“建立另外一條專有連接方式”的方法有兩種。習慣上我們稱為主動模式和被動模式。
主動模式:主動模式也稱Pasv模式,該模式的“數據傳輸專有連接”是在建立控制連接(用戶認證完成)後首先由服務器使用20端口主動向客戶機進行連接,建立專有連接用於數據的傳輸。這種方式在網絡管理上比較好控制。21端口用於用戶驗證,20端口用於數據傳輸,只要將這兩個端口開放就可以隨心所欲的使用FTP功能了。
被動模式:被動模式也稱為Port模式,該工作模式與主動模式不同,數據傳輸專有連接是在建立控制連接(用戶認證完成)後由客戶機向FTP服務器發起連接的,客戶機使用哪個端口,連接到服務器的哪個端口都是隨機產生的。
小提示:很多FTP服務器的20端口被禁用或者被過濾掉了,這時就不能使用主動模式進行數據傳輸了,相應的需要客戶機采取被動模式建立連接。采用何種工作模式完全取決於客戶機上的設置,因此切換工作模式已經成為最簡單的FTP故障排除方法了。
四、總結: 俗話說理論是實踐的基礎,這也是為什麼在零起步專題的一開始為大家介紹FTP的定義和基本概念,還介紹了傳輸模式。因為很多具體問題都是因為概念的模糊而引起的,大多數FTP無法登錄也是由傳輸模式不對造成的。下期我們將為各位IT168的讀者介紹如何通過多種工具登錄某個FTP站點,以及遇到模式不對的時候如何在這些工具中切換傳輸模式。