簡単なファイル転送プロトコル。高速かつシンプルだが、セキュリティには欠ける。
FTPと名前は似ているが、全く異なるプロトコルである。TFTPは、UDPを使い、単純にファイルの送信機能のみを有している。
但し、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から始め、順次インクリメントする。