TFTP
読み:ティーエフティーピー
外語:TFTP: Trivial File Transfer Protocol
簡単なファイル転送プロトコル。高速かつシンプルだが、セキュリティには欠ける。
FTP
と名前は似ているが、全く異なるプロトコルである。TFTPは、
UDP
を使い、単純にファイルの送信機能のみを有している。
目次
概要
用途
セキュリティ
特徴
プロトコル
手順
概要
RFC 1350
(
STD 33
)及び
RFC 2347
で定義される
サーバー側の
ポート番号
は69/udpを用いる。96/tcpも予約はされているが、実際には使われていない。
用途
プロトコルが簡単でブートストラップのROMなどにも実装でき、ディスクレスの装置の起動などに使われる。具体的にはサーバーが
BOOTP
や
DHCP
でクライアントの
IPアドレス
を振るとともにTFTPによるデータの転送元を指定し、クライアントはそれに従いファイルを取得する、といった用途がある。
セキュリティ
但し、UDPは偽造が簡単であり、TFTP自体もセキュリティが考慮されていないため、利用には注意が必要である。
ファイアウォール
では、入出力TFTPパケットは安全のために全て遮断すべきである。
特徴
プロトコル
パケットは、リード要求(RRQ)・ライト要求(WRQ)・データ・ACK・エラー通知の5種類がある。それぞれ書式は違うが、最初の2オクテットは全て共通でopcodeで、ここでパケットの種類を表わす。
RRQ/WRQはopcodeに続き、
ファイル名
、1オクテットの0、モード文字列、1オクテットの0、である。
データはopcodeに続き、2オクテットのブロック番号、そしてnバイトのデータである。データ長nはUDPパケットの長さいっぱいである。データ長は最大で512バイトである。データ長0でデータパケットを送信すれば、それは送信終了の合図となる。
ACKはopcodeに続き、2オクテットのブロック番号である。
エラーはopcodeに続き、2オクテットのエラーコード、そしてエラー文字列、1オクテットの0、である。
手順
具体的には、例えばライトしたい場合はまずライト要求のパケットを送信し、
ACK
を待つ。ACKが来なければ来るまで要求を投げる。
後はひたすら、ACKを受信しながらデータのパケットを送るだけである。
ブロック番号は最初のデータは1から始め、順次
インクリメント
する。
再検索