跳至內容

檔案傳輸協定

出自Taiwan Tongues 台語維基
這是此頁批准,以及是最近的修訂。

檔案傳輸協定(英語:FileTransferProtocol,縮寫FTP)是佇咧電腦網路的使用者捀和侍服器間傳輸檔案的應用層協定。傳送檔案(file transfer)佮存取檔案(file access)之間的區別在於:前者由 FTP 提供,後者由 NFS 等應用系統提供。由 RFC 九百五十九規範。

FTP 是八位元的客戶捀-侍服器協定,會當操作任何類型的檔案無需要紲後處理,就親像 MIME 抑是 Unicode 仝款,猶毋過 FTP 有足懸的延時,意味對開始請求到第一改接收資料間的時間非常長;並且著愛不時來執行一寡傷長的登入行程。

歷史

Abhay Bhushan 編寫原始的規範,並且一九七一年四月十六成做 RFC 一百十四發布。一直到一九八O年,FTP 才佇咧 TCP / IP 較早是身 NCP 執行。該協定先予人 TCP / IP 版本,RFC 七仔六十五(一九八空年六月)取代,後來閣予人 RFC 九百五十九(一九八五年十月)所取代,這嘛是當前規範。RFC 九百五十九提出了如果干標準修改,比如講 RFC 一千五百七十九(一九九四年二月)使 FTP 會當迵過 NAT 佮防火牆(被動模式), RFC 兩千兩百二十八(一九九七年六月)提出安全擴充,RFC 兩千四百二十八(一九九八年九月)增加矣著 IPv 六的支援,並定義一種新型的被動模式。

概述

FTP 服務一般執行佇二十佮二十一兩个埠頭。埠頭二十用佇咧客戶捀和侍服器之間傳輸資料流,埠頭二十一用佇傳輸控制流,並且是命令通向 ftp 侍服器的進口。做資料通過資料流傳輸時,控制流佇空閒的狀態。毋過控制流空閒誠久時間了後,客戶捀的防火牆會將其對談置做萬時間,按呢當大量資料通過防火牆的時陣,會產生一寡問題。現此時,雖然檔案會當成功的傳輸,毋過因為控制對談,會去予防火牆斷開;傳輸會產生一寡錯誤。

FTP 雖然講會當予終端使用者直接使用,猶毋過伊是設計做予人 FTP 客戶捀程式所控制。

執行 FTP 服務的真濟站點攏開放掩名服務,佇這種設定下,使用者無需要數號就會當登入侍服器,預設的情況下,匿名使用者的使用者名稱是:「 anonymous」。 這个數號毋免密碼,雖然通常要求輸入使用者的郵件位址作為認證密碼,但是這干焦是一寡細節抑是郵件位址根本毋予確定,是依賴佇咧 FTP 侍服器的組態狀況。

FTP 實現的目標

一 . 促進檔案的共享(電腦的程式抑是資料) 二 . 鼓勵間接或者是隱式的使用遠端電腦三 . 向使用者封鎖無仝主機中各種檔案儲存系統(File system)的鋩角角四 . 會當靠佮高效的傳輸資料

主動佮被動模式

FTP 有兩種使用模式:主動佮被動。主動模式要求客戶捀和侍服器捀同時拍開並且監聽一个埠頭以建立連接。佇這个情形下,客戶捀因為安裝著防火牆會產生一寡問題。所以乎,創立被動模式。被動模式只要求侍服器捀產生監聽相應埠頭的行程,按呢就會當踅過客戶捀安裝防火牆的問題。

一个主動模式的 FTP 連接建立愛遵循以下步:

一 . 客戶捀拍開一个隨機的埠頭(埠號大於一千空二十四,佇遮,咱共號做 x), 同時一个 FTP 行程連接著侍服器的二十一號命令埠。現此時,該 tcp 連接的來源地埠做客戶捀指定的隨機埠頭 x,目的地碼(遠端埠頭)為著侍服器上的二十一號埠。 二 . 客戶捀開始監聽埠頭(x + 一), 同時向侍服器傳送一个埠命令(通過侍服器的二十一號命令埠), 這命令共𪜶講侍服器客戶捀當佇咧監聽的埠號並且已經準備好勢對這爿埠頭接收的資料。這個碼就是我們所知的資料碼。 三 . 侍服器拍開二十號源埠頭而且建立佮客戶捀資料埠頭的連接。現此時,來源地的埠為二十,遠端資料 ( 目的地 ) 埠為(x + 一)。 四 . 客戶捀通過原生的資料埠建立一个佮侍服器二十號碼的連接,然後向侍服器傳送一个應答,共奉服器講伊已經建立好矣一个連接。

軟體支援

瀏覽器

大部份定定看著的網頁瀏覽器攏會使檢索 FTP 侍服器上代管的檔案,就算𪜶並無支援擴充協定,如 FTPS。做瀏覽器的存取 FTP 格式的 URL 時,將以 Web 檔案 kha-tá-lok-guh 顯示遠端侍服器上的可存取內容。使用類似 FireFTP 客戶捀會當得著 FTP 擴充協定的完整支援。

Chrome 和 Firefox 等主流瀏覽器攏共計畫棄用著 FTP 的支援,二空一九年推出的 Chrome 八十二已經停止著 FTP 支援,佇二空二空年因為 COVID 被十九疫情增加的遠距辦公需求嘛短暫恢復 FTP,但是二空二一年十月推出的 Chrome 九十五完全徙掉 FTP 相關程式碼。而且 Firefox 原預定佇版本七十七中停止支援 FTP,終其尾二空二一年七月發行的九十版正式停止支援 FTP 協定。微軟乎 Edge 瀏覽器嘛佇二空二空年開始停止支援 FTP,Internet Explorer 十一猶保留 FTP 使用者捀,一直到二空二二年六月十五號終止支援。

語法

FTP URL 格式已經佇咧 RFC  一千七百三十八指定,格式為:` ftp : / / [user [ : password] @ ] host [: port] / url-path `(方括號內為可選參數)。

有關係使用者名稱佮密碼的閣較濟詳細資訊,會當佇瀏覽器的文件揣著(比如講 Firefox 和 Internet Explorer)。 預設的情況下,大多數啦 Web 瀏覽器使用被動(PASV)模式,這間模式閣較會遍歷尾端防火牆。

下載管理器

大部份定定看著的下載管理器攏會當收 FTP 侍服器上代管的檔案,其中一寡閣提供介面來檢索 FTP 侍服器上代管的檔案。DownloadStudio 和 Internet Download Accelerator 既能對 FTP 侍服器之下載檔案,閣會當巡 FTP 侍服器上的檔案。

其他

LibreOffice 支援拍開 FTP 侍服器上的檔案,毋過對七堵四版本起,這一功能去予標記做過的時陣,開發者按算欲佇將來的版本內底共徙掉。

安全性

FTP 毋是一項安全的協定,而且有真濟安全漏洞。一九九九年五月發布的 RFC  兩千五百七十七中列出了以下幾个主要的空縫:

  • 暴力破解
  • FTP 反彈攻擊
  • 封包揣一个
  • 埠頭提(猜測下一个開放埠頭並且奪合法連接)
  • 欺騙攻擊
  • 使用者名稱列舉通過 FTP 傳輸的量袂予人加密,所有傳輸通過明文進行的。任何會通佇網路上執行封包揣(鼻探)的人攏會當讀使用者名稱、密碼、命令內容佮資料。這个問題佇加密機制(如 TLS 抑是 SSL)產生進前的真濟 Internet 協定規範(如 SMTP、Telnet、POP 和 IMAP)中比較普遍。

這个問題是捷看解決方案包括:

一 . 使用協定的安全版本,比如講 FTPS 毋是 FTP,TelnetS 毋是 Telnet。 二 . 使用會當處理作業的無仝款的,閣較安全的協定,比如講 SSH 檔案傳輸協定抑是安全複製協定。 三 . 使用安全磅空(如 Secure Shell 抑是虛擬私人網路)。

FTP 命令

會當送甲傳送 FTP 侍服器的FTP 命令列表,包括講由 IETF 佇咧 RFC 九百五十九中標準化的所有的命令。需要注意的是,大多數的命令列 FTP 使用者捀都予使用者提供了加額的命令集。比如講,GET 是一个捷看著的用來下載檔案的使用者命令,用來代替原始的 RETR 命令。

FTP 侍服器倒轉去

包括講由 IETF 佇咧 RFC 九百五十九中標準化的喔所有侍服器倒轉來。回覆代碼是一个三位數值,第一个數字用表示三種可能的結果之一———— 成功、失敗、表示錯誤抑是無完整的回覆。

衍生品

FTPS

FTPS是 FTP 標準的擴充,濫著安全通訊協定(SSL)佮其繼任者傳輸層的安全性協定(TLS)的支援。

SSH 檔案傳輸協定

SSH 檔案傳輸協定(縮寫:SFTP)通用佇傳輸檔案並有類似的使用者命令集,毋過使用 Secure Shell 協定(SSH)傳輸檔案。佮 FTP 無仝,伊對這个命令佮資料進行加密,防止密碼佮敏感資訊通過網路公開傳輸。伊無法度佮 FTP 相容。

小型檔案傳輸協定

小型檔案傳輸協定(Trivial File Transfer Protocol , TFTP), 是一種佇一九八一年佇 RFC 七百八十三中定義的簡化的檔案傳輸協定(FTP)。

簡單檔案傳輸協定

簡單檔案傳輸協定(Simple File Transfer Protocol)由 RFC  九百十三定義,所以複雜程度介於著 TFTP 和 FTP 之間。伊毋捌佇網際網路頂被廣泛接受。伊通過埠頭一百十五執行,支援三種類型的資料傳輸:ASCII、二進位佮連紲。該協定閣支援使用使用者名稱佮密碼登入、資料篋仔和檔案管理(包括講 _ 重號名 _、_ 刪除 _、_ 傳上傳 _、_ 下載 _)。

參考文獻

參照

來源

參見

  • 小檔案傳輸協定(TFTP)
  • SSH 檔案傳輸協定(SSH file transfer protocol)
  • 安全 FTP(Secure FTP)
  • FTPS
  • 簡單檔案傳輸協定(Simple File Transfer Protocol)
  • WS FTP(FTP 工具)
  • FTP 客戶捀較
  • FTP 侍服器列表

外部連結