標籤: 暫無標籤

文件傳輸協議(FileTransferProtocol,FTP)FTP是用於在網路上進行文件傳輸的一套標準協議。它屬於網路協議組的應用層。用於Internet上的控制文件的雙向傳輸。同時,它也是一個應用程序(Application)。用戶可以通過它把自己的PC機與世界各地所有運行FTP協議的伺服器相連,訪問和下載伺服器上的大量程序和信息。

FTP協議FTP

TCP/IP協議中,FTP服務一般運行在20和21兩個埠。FTP標準命令TCP埠號為21,Port方式數據埠為20。埠20用於在客戶端和伺服器之間傳輸數據流,而埠21用於傳輸控制流,並且是命令通向ftp伺服器的進口。當數據通過數據流傳輸時,控制流處於空閑狀態。而當控制流空閑很長時間后,客戶端的防火牆會將其會話置為超時,這樣當大量數據通過防火牆時,會產生一些問題。此時,雖然文件可以成功的傳輸,但因為控制會話會被防火牆斷開,傳輸會產生一些錯誤。

FTP協議的任務是從一台計算機將文件傳送到另一台計算機,它與這兩台計算機所處的位置、聯接的方式、甚至是是否使用相同的操作系統無關。假設兩台計算機通過ftp協議對話,並且能訪問Internet,你可以用ftp命令來傳輸文件。每種操作系統使用上有某一些細微差別,但是每種協議基本的命令結構是相同的。

1 FTP協議 -FTP的作用


正如其名所示:FTP的主要作用,就是讓用戶連接上一個遠程計算機(這些計算機上運行著FTP伺服器程序)察看遠程計算機有哪些文件,然後把文件從遠程計算機上拷到本地計算機,或把本地計算機的文件送到遠程計算機去。

FTP可以實現以下目標:

1.促進文件的共享(計算機程序或數據)
2.鼓勵間接或者隱式的使用遠程計算機
3.向用戶屏蔽不同主機中各種文件存儲系統(Filesystem)的細節
4.可靠和高效的傳輸數據

2 FTP協議 -FTP工作原理

FTP協議FTP工作原理
拿下傳文件為例,當你啟動FTP從遠程計算機拷貝文件時,你事實上啟動了兩個程序:一個本地機上的FTP客戶程序:它向FTP伺服器提出拷貝文件的請求。另一個是啟動在遠程計算機的上的FTP伺服器程序,它響應你的請求把你指定的文件傳送到你的計算機中。FTP採用「客戶機/伺服器」方式,用戶端要在自己的本地計算機上安裝FTP客戶程序。FTP客戶程序有字元界面和圖形界面兩種。字元界面的FTP的命令複雜、繁多。圖形界面的FTP客戶程序,操作上要簡潔方便的多。
一般來說,用戶聯網的首要目的就是實現信息共享,文件傳輸是信息共享非常重要的一個內容之一。Internet上早期實現傳輸文件,並不是一件容易的事,我們知道Internet是一個非常複雜的計算機環境,有PC,有工作站,有MAC,有大型機,據統計連接在Internet上的計算機已有上千萬台,而這些計算機可能運行不同的操作系統,有運行Unix的伺服器,也有運行Dos、Windows的PC機和運行MacOS的蘋果機等等,而各種操作系統之間的文件交流問題,需要建立一個統一的文件傳輸協議,這就是所謂的FTP。基於不同的操作系統有不同的FTP應用程序,而所有這些應用程序都遵守同一種協議,這樣用戶就可以把自己的文件傳送給別人,或者從其它的用戶環境中獲得文件。

與大多數Internet服務一樣,FTP也是一個客戶機/伺服器系統。用戶通過一個支持FTP協議的客戶機程序,連接到在遠程主機上的FTP伺服器程序。用戶通過客戶機程序向伺服器程序發出命令,伺服器程序執行用戶所發出的命令,並將執行的結果返回到客戶機。比如說,用戶發出一條命令,要求伺服器向用戶傳送某一個文件的一份拷貝,伺服器會響應這條命令,將指定文件送至用戶的機器上。客戶機程序代表用戶接收到這個文件,將其存放在用戶目錄中。
在FTP的使用當中,用戶經常遇到兩個概念:"下載"(Download)和"上載"(Upload)。"下載"文件就是從遠程主機拷貝文件至自己的計算機上;"上載"文件就是將文件從自己的計算機中拷貝至遠程主機上。用Internet語言來說,用戶可通過客戶機程序向(從)遠程主機上載(下載)文件。
使用FTP時必須首先登錄,在遠程主機上獲得相應的許可權以後,方可上載或下載文件。也就是說,要想同哪一台計算機傳送文件,就必須具有哪一台計算機的適當授權。換言之,除非有用戶ID和口令,否則便無法傳送文件。這種情況違背了Internet的開放性,Internet上的FTP主機何止千萬,不可能要求每個用戶在每一台主機上都擁有帳號。匿名FTP就是為解決這個問題而產生的。
匿名FTP是這樣一種機制,用戶可通過它連接到遠程主機上,並從其下載文件,而無需成為其註冊用戶。系統管理員建立了一個特殊的用戶ID,名為anonymous,Internet上的任何人在任何地方都可使用該用戶ID。
通過FTP程序連接匿名FTP主機的方式同連接普通FTP主機的方式差不多,只是在要求提供用戶標識ID時必須輸入anonymous,該用戶ID的口令可以是任意的字元串。習慣上,用自己的E-mail地址作為口令,使系統維護程序能夠記錄下來誰在存取這些文件。
值得注意的是,匿名FTP不適用於所有Internet主機,它只適用於那些提供了這項服務的主機。
當遠程主機提供匿名FTP服務時,會指定某些目錄向公眾開放,允許匿名存取。系統中的其餘目錄則處於隱匿狀態。作為一種安全措施,大多數匿名FTP主機都允許用戶從其下載文件,而不允許用戶向其上載文件,也就是說,用戶可將匿名FTP主機上的所有文件全部拷貝到自己的機器上,但不能將自己機器上的任何一個文件拷貝至匿名FTP主機上。即使有些匿名FTP主機確實允許用戶上載文件,用戶也只能將文件上載至某一指定上載目錄中。隨後,系統管理員會去檢查這些文件,他會將這些文件移至另一個公共下載目錄中,供其他用戶下載,利用這種方式,遠程主機的用戶得到了保護,避免了有人上載有問題的文件,如帶病毒的文件。
作為一個Internet用戶,可通過FTP在任何兩台Internet主機之間拷貝文件。但是,實際上大多數人只有一個Internet帳戶,FTP主要用於下載公共文件,例如共享軟體、各公司技術支持文件等。Internet上有成千上萬台匿名FTP主機,這些主機上存放著數不清的文件,供用戶免費拷貝。實際上,幾乎所有類型的信息,所有類型的計算機程序都可以在Internet上找到。這是Internet吸引我們的重要原因之一。
匿名FTP使用戶有機會存取到世界上最大的信息庫,這個信息庫是日積月累起來的,並且還在不斷增長,永不關閉,涉及到幾乎所有主題。而且,這一切是免費的。
匿名FTP是Internet網上發布軟體的常用方法。Internet之所以能延續到今天,是因為人們使用通過標準協議提供標準服務的程序。像這樣的程序,有許多就是通過匿名FTP發布的,任何人都可以存取它們。
Internet中的有數目巨大的匿名FTP主機以及更多的文件,那麼到底怎樣才能知道某一特定文件位於哪個匿名FTP主機上的那個目錄中呢?這正是ARCHIE伺服器所要完成的工作。Archie將自動在FTP主機中進行搜索,構造一個包含全部文件目錄信息的資料庫,使你可以直接找到所需文件的位置信息。

 

3 FTP協議 -FTP是怎樣工作原理

(圖)淺析ftp工作原理淺析ftp工作原理

  FTP文件傳輸應用在客戶/服務環境。請求機器啟動一個FTP客戶端軟體。這就給目標文件伺服器發出了一個請求。典型地,這個要求被送到埠21。一個連接建立起來后,目標文件伺服器必須運行一個FTP服務軟體。FTPD是標準的FTP服務daemon。它的功能很簡單:回復inetd收到的連接請求,並滿足這些要傳輸文件的請求。這個daemon在許多發行版的UNIX中是個標準。FTPD等待一個連接請求。當這樣的一個請求到達時,FTPD請求用戶登錄。用戶提供它的合法的登錄名和口令或匿名登錄。一旦登錄成功,用戶可以下載文件了。在某些情況下,如果伺服器的安全允許,用戶可以上載文件。需要進行遠程文件傳輸的計算機必須安裝和運行ftp客戶程序。在windows操作系統的安裝過程中,通常都安裝Tcp/Ip協議軟體,其中就包含了ftp客戶程序。但是該程序是字元界面而不是圖形界面,這就必須以命令提示符的方式進行操作,很不方便。
啟動ftp客戶程序工作的另一途徑是使用IE瀏覽器,用戶只需要在ie地址欄中輸入如下格式的URL地址:ftp://[用戶名:口令@]ftp伺服器域名[:埠號]。(在Windows條件下CMD命令行下也可以用上述方法連接,通過put命令和get命令達到上傳和下載的目的,通過ls命令列出目錄,除了上述方法外還可以在cmd下輸入ftp回車,然後輸入openIP來建立一個連接,此方法還適用於linux下連接ftp伺服器)
通過IE瀏覽器啟動ftp的方法儘管可以使用,但是速度較慢,還回將密碼暴露在IE瀏覽器中而不安全。因此一般都安裝並運行專門的ftp客戶程序。
  1.在本地電腦上登陸到國際互聯網.
  2.搜索有文件共享主機或者個人電腦(一般有專門的FTP伺服器網站上公布的,上面有進入該主機或個人電腦的名稱,口令和路徑).
  3.當與遠程主機或者對方的個人電腦建立連接后,用對方提供的用戶名和口令登陸到該主機或對方的個人電腦.
  4.在遠程主機或對方的個人電腦登陸成功后,就可以上傳你想跟別人分享的東東或者下載別人授權共享的東東(這裡的東東是指能放到電腦里去又能在顯示屏上看到的東東).
  5.完成工作后關閉FTP下載軟體,切斷連接.
為了實現文件傳輸,用戶還要運行專門的文件傳輸程序,比如網際快車就有這方面的功能,其它還有很多專門的FTP傳輸軟體,FlashFxp為其中的傑出軟體。有興趣的網友可以試試其他的軟體,如LeapFTP總歸各有各的特色.

4 FTP協議 -FTP的傳輸模式


  FTP協議的任務是從一台計算機將文件傳送到另一台計算機,它與這兩台計算機所處的位置、聯接的方式、甚至是是否使用相同的操作系統無關。假設兩台計算機通過ftp協議對話,並且能訪問Internet,
  你可以用ftp命令來傳輸文件。每種操作系統使用上有某一些細微差別,但是每種協議基本的命令結構是相同的。
  FTP的傳輸有兩種方式:ASCII傳輸模式和二進位數據傳輸模式。
1.ASCII傳輸方式
  假定用戶正在拷貝的文件包含的簡單ASCII碼文本,如果在遠程機器上運行的不是UNIX,當文件傳輸時ftp通常會自動地調整文件的內容以便於把文件解釋成另外那台計算機存儲文本文件的格式。但是常常有這樣的情況,用戶正在傳輸的文件包含的不是文本文件,它們可能是程序,資料庫,字處理文件或者壓縮文件(儘管字處理文件包含的大部分是文本,其中也包含有指示頁尺寸,字型檔等信息的非列印字元)。
  在拷貝任何非文本文件之前,用binary 命令告訴ftp逐字拷貝,不要對這些文件進行處理,這也是下面要講的二進位傳輸。
2.二進位傳輸模式
  在二進位傳輸中,保存文件的位序,以便原始和拷貝的是逐位一一對應的。即使目的地機器上包含位序列的文件是沒意義的。例如,macintosh以二進位方式傳送可執行文件到Windows系統,在對方系統上,此文件不能執行。
  如果你在ASCII方式下傳輸二進位文件,即使不需要也仍會轉譯。這會使傳輸稍微變慢 ,也會損壞數據,使文件變得不能用。(在大多數計算機上,ASCII方式一般假設每一字元的第一有效位無意義,因為ASCII字元組合不使用它。如果你傳輸二進位文件,所有的位都是重要的。)如果你知道這兩台機器是同樣的,則二進位方式對文本文件和數據文件都是有效的。

上一篇[NBA最佳防守陣容]    下一篇 [傾心露膽]

相關評論

同義詞:暫無同義詞