Trivial File Transfer Protocol

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動

Trivial File Transfer Protocol(トリビアル ファイル トランスファー プロトコル、TFTP)は、UDPを用いてコンピュータ間でファイルを転送するためのプロトコルである。FTPに比べて軽量・単純なプロトコルである。認証機能が無いためにユーザ名やパスワードを必要としない。ポート番号69をデフォルトとして使用する。

Remote Installation ServicesPXEなどのネットワーク・ブート環境において、ディスクレスマシンがブートする際、BOOTPDHCPで構成情報を取得した後に、実際のOSコードをサーバから取得する際に利用される。また、ルータなどの設定の読み取りや書き込みなどにも用いられる。

TFTPは1981年に初めて標準化され[1]、最新のプロトコルの仕様はRFC 1350で確認できる。

概要[編集]

TFTPはシンプルな設計であるため、小さなメモリー・フットプリントのコードで簡単に実装できる。そのため、BOOTPPXEBSDP英語版などのネットワークブートの最初のステージのプロトコルとして採用されている。リソースが潤沢なコンピュータから、 シングルボードコンピュータ(Single-board computers; SBC)やSystem on a Chip(SoC)などのリソースが非常に制限されたコンピュータに至るまで、幅広い対象で使われている。また、ファームウェアイメージの転送や、ルーターファイアウォールIP電話などのネットワーク機器に設定ファイルを転送するためにも使用される。今日では、事実上、インターネット上のデータ転送の用途には使用されていない。

TFTPの設計は、それ以前からある、PUP英語版プロトコル・スイートの一部であるEFTP英語版プロトコルに影響を受けている。TFTPは1980年にIEN英語版 133によって定義された[2]。1981年6月、TFTPプロトコル(Revision 2)がRFC783として公開され、その後、1992年7月に公開されたRFC1350でアップデートされ、特に、魔術師の見習い症候群英語版が修正された。1995年3月、TFTP Option Extension RFC 1782が1998年5月にRFC 2347によってアップデートされ、TFTPの元の仕様と一致する、オプションのネゴシエーションメカニズムを定義した。このメカニズムを使用することで、転送に先立って、ネゴシエーションされるべきファイル転送オプションのためのフレームワークを確立することができる。

TFTPは、well-knownポート英語版番号69を使用してUDP/IPプロトコル上に実装された、ファイル転送用のシンプルなプロトコルである。TFTPは、小型で実装が容易なように設計されているため、その他のより堅牢なファイル転送プロトコルで提供される高度な機能のほとんどが存在しない。TFTPはリモートサーバ間で個々のファイルの読み書きのみを行うため、ファイルやディレクトリを一覧表示、削除、名前変更することはできない。また、ユーザー認証に関しても規定されていない。そのため、現在では、TFTPは通常、ローカルエリアネットワーク(LAN)でのみ使用される。

セキュリティ上の注意点[編集]

TFTPにはログインやアクセスのコントロールを行うメガニズムが実装されていない。TFTPでファイル転送する際に、認証、アクセスコントロール、秘密保持、完全性のチェックが必要な場合には、補助的な処理が必要になる。こうした機能は、TFTPが実行される上下のいずれかのレイヤーで実装することは可能ではあるが、TFTPは通常、パブリックな読み込みアクセスが可能なファイルのインストールにしか使われない。また、ファイルの一覧、削除、名前変更、書き込みは通常不可能である。プロトコル固有の制限が問題となる場合には、TFTPを使用したファイル転送は推奨されない[3]

IETF標準ドキュメント[編集]

RFC番号 タイトル 公開日 著者 廃止・更新情報
RFC 783 The TFTP Protocol (Revision 1) 1981年6月 K. Sollins RFC 1350 により廃止された
RFC 906 Bootstrap Loading using TFTP 1984年6月 Ross Finlayson -
RFC 951 Bootstrap Protocol 1985年9月 Bill Croft RFC 1395RFC 1497RFC 1532RFC 1542RFC 5494 により更新された
RFC 1350 The TFTP Protocol (Revision 2) 1992年7月 K. Sollins RFC 1782RFC 1783RFC 1784RFC 1785RFC 2347RFC 2348RFC 2349 により更新された
RFC 1782 TFTP Option Extension 1995年3月 G. Malkin RFC 2347 により廃止された
RFC 2131 Dynamic Host Configuration Protocol 1997年3月 R. Droms RFC 3396RFC 4361RFC 5494RFC 6842 により更新された
RFC 2347 TFTP Option Extension 1998年5月 G. Malkin -
RFC 2348 TFTP Blocksize Option 1998年5月 G. Malkin -
RFC 2349 TFTP Timeout Interval and Transfer Size Options 1998年5月 G. Malkin -
RFC 5505 Principles of Internet Host Configuration 2009年5月 B. Aboba -
RFC 7440 TFTP Windowsize Option 2015年1月 P. Masotta -

関連項目[編集]

RFCへのリンク[編集]

出典[編集]

  1. ^ RFC 783
  2. ^ Karen R. Sollins (1980-01-29). The TFTP Protocol. IETF. IEN 133. http://www.rfc-editor.org/ien/ien133.txt 2010年5月1日閲覧。. 
  3. ^ RFC 7440, page 7.