TFTP はファイル転送プロトコルで、その名前から FTP プロトコル (File Transfer Protocol) に近いものだと思われますが、これはある程度正しいです(笑)。 TFTP はあまり人気がありませんが、それは、次に説明する制限のため、インターネットではあまり使用されていないからです。
プロトコル
TFTP の FTP との主な違いは、使用する転送プロトコルと認証メカニズムがないことです。 FTP が堅牢な TCP プロトコルを使用して接続を確立し、ファイル転送を完了するのに対し、TFTP は安全でない UDP プロトコルを使用し、エラー チェックを行いません (ファイル転送に使用するプログラムに何らかのエラー チェックを実装している場合は除きます)。
TFTP の主な制限は、認証とディレクトリの可視性、つまり、TFTP サーバーで利用できるファイルやディレクトリを見ることができないことです。
前述のように、TFTP はトランスポートとして UDP を使用し、FTP が使用する TCP とは対照的に、ポート 69 で動作します。
さて、もう少しわかりやすくするために、私の小さなネットワークで設定したTFTPサーバーにワークステーションからTftpするスクリーンショットを掲載します。
私のワークステーション (192.168.0.100) が TFTP サーバー (192.168.0.1) にポート 69 (宛先ポート) で接続しているのが見えます。 この最初のパケットでは、私のワークステーションはサーバーに接続して、サーバーに接続する前に入力したファイルを要求しています。
ファイルとディレクトリのリストが表示されないので、どのファイルをダウンロードしたいのか知っている必要があります ! 私が受け取った応答 (2 番目のパケット) では、サーバーは真っ先に業務に取り掛かり、ファイルの送信を開始しました。
注意: ワークステーションは通常、確認応答を返さないが (転送プロトコルである UDP は本来、確認応答を送信しないため)、ソフトウェア開発者は、ワークステーションに送信した前のデータパケットの確認応答として、TFTP サーバが受け取ることができる小さなパケットを強制的に送信することでこの機能を組み入れることが可能である。
私が提供する例では、私のワークステーションが、サーバーから 1 つのパケットを受信した後、小さなパケットをサーバーに送信しているのがわかります。
以下は、サーバーへの TFTP (TFTP Client) に使用したプログラムのスクリーン ショットです。
ダウンロードするファイル (server.exe) を入力し、ファイルをローカル コンピュータに保存する名前 (Local File) を選択したことに注意してください。 リモート ファイル名を指定しなかった場合、サーバー側でそのようなファイルは存在しないというエラーがポップアップ表示されるだけです。 TFTP はダウンロードのためだけでなく、ファイルを送信することもできます:)
では、TFTP はどこで使用されるのでしょうか?
TFTP は主に Cisco やその IOS イメージなどのルーター設定ファイルをバックアップするために使用されますが、ネットワークカードの ROM からワークステーションが起動した後、TFTP は中央サーバーからプログラムをロードして実行するために使用するディスクレス起動 PC 用でもあります。
以下に、TFTP セッションで行われることを示す図を示します。
この図では、両端 (クライアントとサーバー) で実行するソフトウェアにエラー チェック機能が組み込まれていないと仮定しています。
TFTP プロトコルについては、これでほぼすべてです。
Back to Network Protocols Section