検索
特集/連載

ファイル転送に使う「FTP」と「TFTP」の違いとは? 仕組みから使用例までFTPだけじゃないファイル転送方法【前編】

TFTPはTCP/IPにおけるアプリケーション層で動作するファイル転送プロトコルだ。非常にシンプルな仕組みであり、FTPと使い分けることが望ましい。

Share
Tweet
LINE
Hatena

関連キーワード

Linux | Windows


 ネットワークの主要プロトコル群に「TCP/IP」がある。「TCP」は伝送制御プロトコル、「IP」はインターネットプロトコルを指し、さまざまなネットワークにおいて、世界各国で標準的に利用されている。

 実は、TCP/IPのアプリケーション層には、一般にあまり知られていない重要なプロトコルが幾つかある。その一つがファイル転送プロトコルの「TFTP」(Trivial File Transfer Protocol)だ。ファイル転送プロトコルにはFTPがあるが、TFTPとは何が違うのか。

「TFTP」と「FTP」は何が違うのか

 TFTPとFTPの違いを理解するには、TCP/IPにおける位置と役割を知ることが重要だ。両プロトコルはアプリケーション層で動作するものの、異なるトランスポート層プロトコルを使用する。

 FTPはTCPを使用する。TCPは信頼性が高く各パケット(伝送するデータを小分けにした単位)の送受信を確認する「ステートフル」なプロトコルだ。このため、管理の手間はかかるものの、送信データが正確に宛先に到達することを保証する。

 一方で、TFTPは迅速なファイル転送を目的として「UDP」(User Datagram Protocol)を使用する。UDPはステートレス(過去のトランザクションに関する情報や参照を保存しない仕組み)で、トランスポート層ではパケットの損失を確認しない。ただしアプリケーションによっては、別の層でパケットの損失を確認することもある。

 TFTPとFTPの違いの一つに、利用可能なコマンドの範囲がある。FTPはリモートサーバ上のファイルを操作する複数の機能があり、認証が必要だ。

 対照的にTFTPはファイルのアップロード(put)とダウンロード(get)の基本的な機能のみを提供し、ファイルの存在確認や管理機能はなく、煩わしい認証手続きも不要だ。

 TFTPは初期接続にUDP69番ポートを使用し、その後のデータ転送プロセスには他のポートを使用する。FTPはファイルの送受信にTCP20番ポートと、制御にTCP21番ポートを使用するのが一般的だ。

 TFTPの利点は、シンプルさと使いやすさにある。ネットワークデバイスのバックアップや、クライアントデバイスへのブートファイル(起動に関連するファイル)のダウンロードに適している。認証が不要なデバイスやアプリケーションで動作し、データ保存容量や処理能力が限られているデバイスにも適している。

 TFTPの典型的な使用例は以下の通り。

  • デバイスを遠隔から起動する「プリブート実行環境」(PXE)を使用したネットワークブート(遠隔からネットワークを経由して端末やOSを起動すること)
  • HDDやSSDといったストレージリソースを持たない「ディスクレスシステム」のネットワークブート
  • ネットワークデバイスの設定ファイルのバックアップ
  • ネットワークデバイスへの設定ファイルの転送
  • ファームウェアの転送
  • クライアントデバイスからネットワークサーバへのファイル転送

 ただし、セキュリティや認証機能を欠くため、TFTPは組織のセキュリティ要件を満たさないことがある。


 次回はTFTPを実際にインストールする手順やコマンドを解説する。

TechTarget発 世界のインサイト&ベストプラクティス

米国TechTargetの豊富な記事の中から、さまざまな業種や職種に関する動向やビジネスノウハウなどを厳選してお届けします。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る