TFTPとは • トリビアル・ファイル転送プロトコル • ディスクレスシステム起動時に使用 – ディスクレスシステム(シンクライアント)
必要なシステムや記憶装置を全てサーバに 依存しているシステム
• FTP は TCP • TFTP は UDP • シンプルで軽いプロトコル – ROMに載せられる
TFTP 読出/書込要求メッセージ
• モードには “netascii” か “octet” か “mail” が ASCII コードで入る
– netascii : FTP でいう ASCII モード 受信側が文字コードを変換する – octet : FTP でいう Binary モード 送信元のフォーマットで転送される – mail : ファイル名にメール受信者名を使用 書込要求で転送開始
OPCODE 1 = RRQ 2 = WRQ
ファイル名 0 モード 0
(2バイト) (可変長) (1バイト) (可変長) (1バイト)
TFTP データ転送メッセージ
• TFTP で転送されるデータは512バイトごとの ブロックに分割される
• 分割されたブロックはブロック番号と共に 転送される
OPCODE 3 = データ ブロック番号 データ
(2バイト) (2バイト) (0-‐512バイト)
TFTP 確認応答メッセージ
• 受信側は受信したデータのブロック番号を返す • 1つ送られてきたら1つ返す – ウィンドウ制御は行わない
OPCODE 4 = ACK ブロック番号
(2バイト) (2バイト)
例 bsdi % ftfp svr4 tftp> get test1.c Received 962 bytes int 0.3 seconds tftp> quit bsdi % ls –l test1.c -rw-r—r– 1 rstevens staff 914 Mar 20 11:41 test1.c bsdi % wc –l test1.c 48 test1.c