簡單檔案傳輸協定
外觀
此條目沒有列出任何參考或來源。 (2017年12月6日) |
此條目可參照外語維基百科相應條目來擴充。 |
互聯網協定套組 |
---|
應用層 |
傳輸層 |
網絡層 |
連結層 |
簡單檔案傳輸協定也稱小型檔案傳輸協定(Trivial File Transfer Protocol, TFTP),是一種於1981年在RFC 783中定義的簡化的檔案傳輸協定(FTP)。
小型檔案傳輸協定非常簡單,透過少量記憶體就能輕鬆實現——這在當時是很重要的考慮因素。所以TFTP被用於引導電腦,例如沒有大容量記憶體的路由器。現在它仍然被用於在一個網絡上主機之間傳輸小檔案,例如從一台網絡主機或伺服器引導一個遠端X Window System終端或其他的瘦客戶端。
小型檔案傳輸協定部分基於更早期的檔案傳輸協定,檔案傳輸協定是通用分組協定(PUP Protocol)中的一部分。在TCP/IP協定組早期的工作中,TFTP往往是在一個新的主機類型上首先完成的協定——因為其非常的簡單。
最早的小型檔案傳輸協定版本是在RFC 1350之前,顯示出相當糟糕的協定缺陷,發現的時候被稱為魔術新手症候群。
技術資訊
[編輯]小型檔案傳輸協定的一些詳細資料:
- 使用UDP(埠69)作為其傳輸協定(不像FTP使用TCP埠21)。
- 不能列出目錄內容。
- 無驗證或加密機制。
- 被用於在遠端伺服器上讀取或寫入檔案。
- 支援三種不同的傳輸模式:"netascii","octet"和"mail",前兩種符合FTP協定中的"ASCII"和"image(binary)"模式;第三種從來很少使用,目前已經廢棄。
因為小型檔案傳輸協定使用UDP協定,就必須自己支援傳輸和對談的控制。每個通過TFTP傳輸的檔案構成了一個獨立的交換。此傳輸表現為步鎖,任何時間網絡上僅僅傳遞一個包(一個數據塊或一個首部確認)。由於缺少窗口切換技術,TFTP在有很多潛在連接的情況下僅提供較低的吞吐量。
由於小型檔案傳輸協定缺少安全性,在開放式互聯網上載輸非常危險,所以普遍僅僅用於私人本地網絡。目前TFTP常用於PXE無盤啟動,網絡裝置的設置等。
選項協商後來加到協定中(RFC 2347),已經被協定的選項能對協定的操作進行輕微的更改(特別是更大分塊尺寸的使用使得吞吐量略有提高),但協定大體上還是保持不變的。
小型檔案傳輸協定對談的詳細資料
[編輯]- 初始化主機A送一個讀請求(RRQ)或寫請求(WRQ)包給主機B,包含了檔名和傳輸模式。
- B向A發一個ACK包應答,同時也通知了A其餘送往B包應該傳送的埠號。
- 源主機向目的主機送編過號的封包,除了最後一個都應該包含一個全尺寸的數據塊。目的主機用編號的ACK包應答所有的封包。
- 最終的封包必須包含少於最大尺寸的數據塊以表明這是最後一個包。如果被傳輸檔案正好是尺寸塊的整數倍,源主機最後送的封包就是0位元組的。