対象試験と出題頻度
FTP(File Transfer Protocol)は、ITパスポート・基本情報技術者・応用情報技術者のすべてで出題されるテーマです。
「ポート番号とプロトコルの対応」や「他のアプリケーション層プロトコルとの役割の違い」を正確に区別できるかが問われます。
詳細をクリックして確認
ITパスポート
基本情報技術者
応用情報技術者
★★★★☆
ランクA(重要)必ず覚えておくべき
用語の定義
情報処理試験を勉強していると、「FTPって何?HTTPと何が違うの?」と混乱しがちです。
FTP(File Transfer Protocol:ファイル転送プロトコル)とは、一言で言うと
「ネットワーク上でファイルをアップロード・ダウンロードするための通信プロトコル」
のことです。
イメージとしては、「宅配便の集荷・配達サービス」です。
宅配便では、荷物の受付窓口(制御用)と実際に荷物を運ぶトラック(データ転送用)が別々に機能しています。
FTPも同じように、指示を出す経路と実際にファイルを運ぶ経路を分けて通信する点が最大の特徴です。
📊 FTPの基本情報
| 項目 | 内容 |
|---|---|
| 正式名称 | File Transfer Protocol(ファイル・トランスファー・プロトコル) |
| ポート番号 | 21/TCP(制御用)・20/TCP(データ転送用) |
| 所属する層 | アプリケーション層(OSI参照モデル第7層) |
| 技術仕様 | RFC 959(IETF) |
解説
Webページの閲覧にはHTTP、メールの送信にはSMTPと、用途ごとに通信プロトコルが決まっています。ファイル転送に特化して設計されたのがFTPです。
インターネット初期の1971年(RFC 114)から存在する歴史の長いプロトコルで、Webサーバへのコンテンツのアップロードやソフトウェアの配布に広く使われてきました。
▶ 2つのコネクションを使う仕組み(クリックで展開)
FTPが他のプロトコルと決定的に異なるのは、制御用とデータ転送用の2本のコネクションを使い分ける点です。
制御用コネクション(ポート21番):クライアントがサーバに接続し、ログインの認証や「ファイルを取得せよ(GET)」「ファイルを送れ(PUT)」といったコマンドのやり取りを行う経路です。通信が続く間、このコネクションは維持されます。
データ転送用コネクション(ポート20番):実際のファイルデータを運ぶ経路です。ファイル転送やディレクトリ一覧の取得が発生するたびに新たに確立され、転送が完了すると切断されます。
制御とデータの経路を分離することで、大きなファイルを転送しながら別のコマンドを実行するといった並行処理が可能になっています。
▶ アクティブモードとパッシブモード(クリックで展開)
データ転送用コネクションの確立方法には、アクティブモードとパッシブモードの2つがあります。
アクティブモード:サーバ側からクライアントに向けてデータ用コネクションを確立します。クライアント側にファイアウォールがあると、外部からの接続がブロックされて通信できないことがあります。
パッシブモード:クライアント側からサーバに向けてデータ用コネクションを確立します。クライアント側のファイアウォールの影響を受けにくいため、現在はこちらが主流です。
FTPのセキュリティ上の弱点
FTPはユーザー名やパスワードを暗号化せずに平文で送信します。通信経路上でパケットを傍受(盗聴)されると認証情報が丸見えになるため、セキュリティ上の大きな弱点を抱えています。
この弱点を補う後継プロトコルとして、SSL/TLSで通信を暗号化するFTPS(FTP over SSL/TLS)と、SSHの安全な経路上でファイルを転送するSFTP(SSH File Transfer Protocol)が登場しました。
ここだけは確実に押さえてください。「FTP=暗号化なし」「FTPS/SFTP=暗号化あり」という対比は、試験で繰り返し使える知識です。
では、この用語が試験でどのように出題されるか見ていきましょう。
💡 FTPの核心を3行で
・ネットワーク上のファイル転送に特化した通信プロトコルで、制御用(21番)とデータ転送用(20番)の2つのポートを使う
・認証情報を平文で送るためセキュリティに弱く、暗号化にはFTPSやSFTPを使う
・HTTPはWebページの閲覧、SMTPはメール送信、FTPはファイル転送と役割で整理する
試験ではこう出る!
FTPは、プロトコルとポート番号の対応を問う問題や、アプリケーション層プロトコルの役割を区別させる問題で繰り返し出題されています。
出題パターンは大きく2つに分かれます。
📊 過去問での出題実績(クリックして表示)
| 試験回 | 出題内容 | 問われたポイント |
|---|---|---|
| IP R7 問60 |
TCP/IPネットワークで用いられるFTPの役割として適切なものを選ぶ問題。 | ・「ファイル転送」が正解 ・NTP(時刻取得)やDNS(名前解決)の説明がひっかけ |
| AP R4秋 午前 問32 |
データ転送用と制御用に異なるウェルノウンポート番号が割り当てられているプロトコルを選ぶ問題。 | ・FTP(20番と21番の2つ)が正解 ・POP3、SMTP、SNMPは単一ポート ・同一問題がAP R7春問33、FE H26秋問33でも出題 |
| FE H29春 午前 問42 |
社内ネットワークからインターネットへのFTP通信を許可するパケットフィルタリングの設定を問う問題。 | ・FTPが20番と21番の両方を使う前提知識が必要 ・ファイアウォールのルール設定と絡めた応用出題 |
📝 IPA試験での出題パターン
パターン1:「FTPの役割(または説明)を選べ」
HTTP・SMTP・NTP・DNSなど複数のプロトコルの説明が並び、FTPに該当するものを選ぶ形式。「ファイル転送」というキーワードを見つければ即答できる。IP・FEで定番。
パターン2:「2つのポートを使うプロトコルを選べ」
AP R4秋問32のように、制御用とデータ用で異なるウェルノウンポートが割り当てられているプロトコルを選ばせる形式。FTPだけが20番と21番の2つを使う点を知っていれば一択で正解できる。FE・APで複数回出題。
試験ではここまででOKです。アクティブモードとパッシブモードの違いや、RFC 959の詳細まで問われることはないので、深追いは不要です。
【確認テスト】理解度チェック
ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。
Q. FTP(File Transfer Protocol)の特徴として、最も適切なものはどれでしょうか?
- A. Webブラウザとサーバ間でHTML文書や画像データをやり取りするプロトコルであり、ポート番号80番を使用する。
- B. 電子メールをメールサーバに送信・転送するためのプロトコルであり、ポート番号25番を使用する。
- C. ネットワーク上でファイルを転送するためのプロトコルであり、制御用に21番、データ転送用に20番の2つのポートを使用する。
正解と解説を見る
正解:C
解説:
FTPはファイル転送に特化したアプリケーション層のプロトコルで、制御用コネクション(21/TCP)とデータ転送用コネクション(20/TCP)を分けて通信を行います。この「2つのポートを使う」という特徴が他のプロトコルとの最大の違いです。
選択肢AはHTTPの説明です。Webページの閲覧に使われるプロトコルであり、ファイル転送を主目的とはしません。選択肢BはSMTPの説明です。電子メールの送信・転送に使われるプロトコルであり、ファイル転送の機能はありません。
よくある質問(FAQ)
Q. FTPSとSFTPはどう違いますか?
どちらもFTPの暗号化不足を補うプロトコルですが、仕組みが異なります。FTPSはFTPの通信をSSL/TLSで暗号化したもので、FTPの拡張版にあたります。一方SFTPはSSH(Secure Shell)の仕組みを利用してファイルを転送するプロトコルで、FTPとは技術的に別物です。FTPSは制御用・データ用の2つのポートを使いますが、SFTPはSSHの22番ポート1つだけで完結します。
Q. Anonymous FTP(匿名FTP)とは何ですか?
通常のFTPはユーザー名とパスワードで認証を行いますが、Anonymous FTPはユーザー名に「anonymous」を指定することで、アカウントを持たない不特定多数の利用者がファイルをダウンロードできる仕組みです。フリーソフトの配布や公開データの提供に使われてきました。ITパスポートのH24春問60で出題実績があります。
Q. 現在の実務でもFTPは使われていますか?
暗号化なしのFTPは、セキュリティリスクが高いため実務では非推奨です。主要なWebブラウザ(Chrome、Firefoxなど)もFTPサポートを廃止しています。実務ではFTPSやSFTP、またはクラウドストレージのAPIによるファイル連携が主流です。ただし、社内の閉じたネットワーク内で旧システムとの連携に残っているケースはあります。
Q. HTTPでもファイルのダウンロードはできますが、FTPとは何が違うのですか?
HTTPはWebページの表示を主目的に設計されており、ファイルのダウンロードは副次的な機能です。FTPはファイル転送に特化しており、ディレクトリの一覧表示、アップロード、ファイルの削除・リネームなど、ファイル操作の機能を標準で備えています。また、前述の通りFTPは制御とデータの経路を分離することで、大容量ファイルの転送効率を高める設計になっています。