FTPのパッシブモードとアクティブモードの違い!接続方向と通信ポートの関係を解説!
当記事ではFTP(File Transfer Protocol)の用途や基礎、パッシブモードとアクティブモードの違いを紹介しています。FTPでアクティブモードだけでなくパッシブモードが必要となる理由についても紹介しています。
目次
FTPの基礎とパッシブモード・アクティブモードの違いについて
「FTP」とは、File Transfer Protocol(ファイル・トランスファー・プロトコル)の略称であり、日本語に訳した場合、「ファイル転送プロトコル」となります。簡単に説明すると、自分の持つPCでなどの機械から遠く離れた場所にある機会にファイルを送り込んだり、逆に受け取るための仕組みです。
一般的にインターネットを利用しているユーザーが、FTPを意識するのは自分のホームページを制作しようと考えた場合などです。当記事では、FTPの基礎的な部分やパッシブモードとアクティブモードの違い、接続方向と通信ポートの関係などを紹介していきます。
FTPはサーバーにファイルをアップロードするためにある
FTP(File Transfer Protocol)を訳すとファイル転送プロトコルであると紹介しましたが、FTPはその名称の通りファイルをサーバーに転送することが出来ます。この機能を利用することでサーバーに画像やテキストなどのファイルをアップロードすることが出来ます。
FTPで使用するポート番号について
FTPで接続を行う場合、「20番ポート」と「21番ポート」という番号の異なる2種類のポートが使い分けられます。また、FTPでの「ポート」とはデータが通る通路のことを指します。FTPの20番ポートと21番ポートのそれぞれの役割として、20番ポートが「データコネクション」、21番ポートが「制御コネクション」として分担しています。
モードの違いはデータ転送の接続方向が異なる点にある
FTPには2種類のモードがあり、「アクティブモード」と「パッシブモード」とがあります。このFTPにおける2つのモードの違いはデータ転送の接続方向が異なる点にあります。アクティブモードはサーバーからクライアントに接続し、パッシブモードではサーバーにクライアントから接続します。
FTPのパッシブモード・アクティブモードの具体的な動作手順
データコネクションを張る主体が変わるのが特徴
この項ではFTPのアクティブモードとパッシブモードの具体的な動作の違いについて説明します。まず、FTPのアクティブモードはクライアントからサーバーへデータコネクションの要求を行い、サーバーからクライアントのランダムなポートへとアクセスし、データコネクションを張る、という手順となります。
つまり、FTPにおけるアクティブモードとは、外部のサーバーが能動的(アクティブ)に内部のクライアントにコネクションを張りにくる状態のことを指します。
次にFTPのパッシブモードでは、クライアントからサーバーへデータコネクションを要求し、サーバーからクライアントへアクセス先のポート番号を通知します。クライアントは通知されたサーバーのポートにデータコネクションを張る、という手順になります。
FTPにおけるパッシブモードとは、外部サーバーが受動的(パッシブ)に内部のクライアントからデータコネクションを張られる状態のことを指します。
FTPのパッシブモードは必要なのか?
FTPのアクティブモードとパッシブモードについて説明しましたが、パッシブモードは必要なのか?と思われる方もいるかもしれません。この項では、なぜFTPではアクティブモードだけでなくパッシブモードが必要なのかを紹介していきます。
アクティブモードはファイアウォールにブロックされてしまう
アクティブモードでFTP通信を行うと、ファイアウォールによって阻まれてしまい、FTP通信が繋がりません。ファイアウォールは基本的に一方通行で、サーバーからクライアントへ接続するのを防ぎ、アクセスを遮断します。ファイアウォールがアクセスを遮断してしまうことから、パッシブモードでなければならない場合が多くなります。
FTPのパッシブモード・アクティブモードは状況に合わせて使い分けよう
当記事ではFTPの意味や用途、使用するポート番号、そしてFTPにおけるアクティブモードとパッシブモードの違いについて紹介しました。ホームページ制作などでFTPを利用される方は、アクティブモードとパッシブモードの接続方向の違いを意識して、状況に応じて使い分けるようにしてみてください。