この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:3
更新日時:2026-06-10 17:35:41
タイトル: TFTP
TFTPの記事です。Trivial File Transfer Protocol の略で、UDPベースのシンプルなファイル転送プロトコル。FTPと違い認証機能を持たず、ネットワーク機器のファームウェア・設定ファイル転送やネットワークブート(PXEブート)で広く使われています。
TFTPの基本
| 項目 | 内容 |
| 役割 | シンプルなファイル転送 |
| RFC | RFC 1350(TFTPv2) |
| プロトコル | UDP |
| 標準ポート | 69 |
| 認証 | なし |
| 方向 | 双方向(GET / PUT) |
TFTPの主な用途
- ネットワーク機器: ルーター・スイッチ・APの設定/ファームウェア転送(Cisco IOS、ArubaOS等)
- PXEブート: ディスクレスPCが起動時にOSイメージをダウンロード
- 組み込み機器: ファームウェア更新
- IP電話: ファームウェアと設定の配信
- シンクライアント: 起動時の起動イメージ取得
FTPとの違い
| 項目 | FTP | TFTP |
| プロトコル | TCP(信頼性高) | UDP(軽量・低遅延) |
| ポート | 20/21 | 69 |
| 認証 | あり(ユーザー名/パスワード) | なし |
| ファイル一覧 | 取得可 | 不可 |
| ディレクトリ操作 | 可 | 不可 |
| 暗号化 | FTPS / SFTP で対応 | 標準では非対応 |
| 用途 | 汎用ファイル転送 | 機器のブート・ファーム転送 |
主要オペレーション
| オペコード | 意味 |
| RRQ (1) | Read Request — ファイル取得要求 |
| WRQ (2) | Write Request — ファイル送信要求 |
| DATA (3) | データブロック |
| ACK (4) | 受信確認 |
| ERROR (5) | エラー通知 |
| OACK (6) | オプション応答(RFC 2347) |
クライアント実行例(Linux)
|
# TFTPクライアントの起動
$ tftp tftpserver.example.com
tftp> binary # バイナリモード(ファームの場合)
tftp> get config.bin
tftp> put backup.bin
tftp> quit
# Cisco IOS:
Router# copy running-config tftp:
Address or name of remote host []? 192.168.0.10
Destination filename? router-config.txt
|
TFTPサーバーの代表的なソフト
| ソフト | 環境 |
| tftpd-hpa | Linux標準的 |
| atftpd | Linux軽量 |
| SolarWinds TFTP Server | Windows |
| tftpd64 | Windows(無料) |
| Cisco TFTP Server | Cisco製機器運用用 |
セキュリティ上の注意
- 認証なし・暗号化なしのため、本番ネットワークでむやみに開放しない
- 内部の管理用VLANでのみ動かす
- 機器ファームウェアの転送ではIPアドレスや一時的なルートに限定
- 近年は SCP / SFTP / HTTPS を使う方向に置き換わっている
関連