你存的小電影全都在這裡了 老司機為你講解FTP伺服器
FTP伺服器(File Transfer Protocol Server)是在互聯網上提供檔存儲和訪問服務的電腦,它們依照FTP協定提供服務。FTP伺服器常常被用來進行檔共用和傳輸,是互聯網領域必不可少的一環。
FTP伺服器的作用
FTP伺服器是為了解決檔案傳輸障礙問題而產生的。那麼FTP伺服器在這之間起到了什麼作用呢?
在互聯網起步時期,在網上進行傳輸檔是一件十分棘手的事情,不僅各個使用者所使用終端不同,如個人電腦、Mac、工作站、大型機等種類各異,而且作業系統也有著很大的區別,Windows、Unix、Dos或者MacOS等系統,運行方式迥異,傳輸和分享都有著很大的限制。
FTP協議包括了各種用戶端和FTP伺服器
而為了消除這種交流問題,互聯網工作者就需要建立一個統一的傳輸協定,這就是FTP協定。而FTP協議的兩大組成部分就是FTP伺服器和FTP用戶端。而FTP伺服器起到了中轉站和存儲中心的作用,用來傳遞、保存和分發檔給各個用戶端。
二者間進行檔的上傳和下載
FTP伺服器內所存儲的檔大多都是從使用者的客戶機程式中利用FTP協定傳輸拷貝到遠端主機上FTP伺服器程式後進行存儲的,這個過程被稱為上載(upload,也叫上傳);同理,使用者將檔從FTP伺服器中拷貝並傳輸到自己的終端機的過程就是下載(download)。上傳和下載過程是我們所能用到的再常見不過的操作過程。
FTP伺服器的連接
由於FTP伺服器承擔有檔存儲和傳播的重任,所以其與用戶的連接也有著三重限制。
FTP伺服器在使用前必須要先登錄獲取遠端連接後,用戶才能接觸到所需檔。用戶想要取走自己想要的檔通常有兩種方式,一種是Standard ,即PORT方式,是一種主動與伺服器連接的方式;另一種是Passive,即PASV方式,是一種被動和伺服器連接的方式。
FTP協議連接體系
想要取走想要的檔必須要經過三重門。第一重門就是用戶登錄,即用戶ID和口令,否則便無法連接到FTP伺服器獲取檔。這道門是第一重門,但是問題在於他嚴重的限制了互聯網的開放性,於是乎如今這道門的重要性已經大幅降低。
後兩重門都是FTP伺服器的埠。第二重門是FTP伺服器的TCP 21埠,FTP用戶端和這個埠建立連接以後,可以通過這個通道發送命令,客戶在收到資料的時候在這個通道中發送命令。
Port方式建立連接
而第三重門則要複雜一些了。過去,上述的命令通常是Port命令,傳輸給FTP伺服器後,伺服器就會從自己的TCP20資料埠連接到客戶指定的埠進行檔的拷貝和傳輸。而這種方式的話需要FTP伺服器和用戶端建立一個新的連接來傳輸資料,
由於這種新連接的安全性難以保證,FTP伺服器的第三重門還有另外一種形態,即用戶發送的命令不再使用Port命令,而是Pasv命令。FTP伺服器接到這種命令後會打開一個埠號大於1024的高端隨機埠,然後通知用戶端在這個埠處傳輸資料請求,在這個埠直接完成資料的傳送工作,而FTP伺服器並不需要和用戶端建立新的連接。
FTP伺服器的匿名機制
而一些朋友會納悶了,那我要是在網上下載軟體的時候,我也沒給他提供什麼登錄資訊、使用者ID和口令啊?那是因為FTP伺服器還有一種匿名FTP機制。
前面提到,第一重門的存在阻礙了互聯網的開放性,所以為了增加資訊交流的便捷性,從而創造了一種匿名FTP機制。這種機制中,系統管理員建立了一個特殊的ID,anonymous。所有能上網的人都可以用了這個id,就相當於提供了一個掛在門上的鑰匙,用戶的口令也可以是任意字串,登錄不會存在任何障礙。
匿名FTP伺服器有統一用戶名
不過,匿名FTP機制的存在並非讓全部檔都可以共用公開的。也就是說當遠端主機提供匿名FTP服務的時候,往往開放的是一部分的目錄,允許使用者匿名存取,而大多數的目錄都是處於隱匿狀態。
另一個問題接踵而至,由於FTP伺服器兼具存取功能,互聯網中的木馬檔和帶有病毒的檔實在是太多,如果這些檔也放進去那不就很容易被傳播開了嗎?解決方法很簡單,那就是大多數的匿名FTP伺服器是只取不存的。
而即便是能夠提供存放服務,使用者能夠放進去的也是一個特殊的共用空間,只存不取。而當系統管理員定期對這些檔進行整理之後,將危險檔直接刪除棄置,安全檔則可以整理歸類後,進行存儲或者公開等用處。
這種的話就不允許匿名登入了
理論上來講,匿名FTP有機會成為世界最大的資訊庫,因為這些資訊和檔經過不斷的整理,開放,增長和優化,幾乎可以用不關閉,所有的主題都有可能涉及到,而且,這還都是免費的。而這也是當今軟體發佈和下載最常用的的方法。
某種程度上來講,互聯網能夠發展至今就是因為使用的都是通過標準協定提供標準服務的程式,這才讓交流有了基礎,讓資訊流動有了價值。而FTP伺服器無疑就是最大的助力,其為互聯網注入了勃勃的生機。