Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

ネットワーク (Network)

FTPのアクティブモードとパッシブモードの違いについて

投稿日:2021年2月21日 更新日:

<目次>

(1) FTPのアクティブモードとパッシブモードの違いについて
 (1-1) アクティブモード
 (1-2) パッシブモード
 (1-3) 両者の違い

(1) FTPのアクティブモードとパッシブモードの違いについて

「アクティブモード」と「パッシブモード」は共にFTPの用語で、FTPの接続モードを表す単語です。この記事では、それぞれの特徴や違いについて簡単にご紹介します。

(1-1) アクティブモード

アクティブモードでは、大きく分けて2つのステップでFTP接続を行います。

STEP1:サーバへの接続(コマンドチャネル)
クライアントはランダムなポートを使って、FTPサーバ(接続される側)の21番ポートに接続します(図の①の線)。その際に「PORT」コマンドを送信し、クライアント側の「どのポートに接続すべきか?」をサーバに知らせます。このポートは後にデータチャネルが使うポートで、コマンドチャネルが使っているポートとは別のを指定します。

STEP2:サーバからの接続(データチャネル)
サーバは20番ポートから、クライアントに接続します(図の②の線)。接続先のポートは先程クライアントから通知された専用のポート番号を使用します。この接続が確立されると、両者のポートからファイルの送受信を開始する事ができます。
(図111)

目次にもどる

(1-2) パッシブモード

こちらも同じく、大きく2つのステップで接続しますが、アクティブモードと異なるのは「PORT」コマンドの代わりに「PASV」コマンドを送信します。「PASV」ではポートの指定はしておらず、単にサーバに対してデータ送受信のための接続を要求するのみです。

STEP1:サーバへの接続(コマンドチャネル)
クライアントはランダムなポートを使って、FTPサーバ(接続される側)の21番ポートに接続します。その際に「PASV」コマンドを送信し、サーバ側はランダムに送受信ポートを開けて、そのポートの情報をFTPクライアントに連携します。

STEP2:サーバへの接続(データチャネル)
クライアントはランダムなポートを使用して、サーバより指定されたランダムポートにアクセスします。この接続が確立されると、両者のポートからファイルの送受信を開始する事ができます。

(図121)

目次にもどる

(1-3) 両者の違い

FTPクライアントとFTPサーバ間の「データチャネル」の接続方向(向き)が大きな違いとなります。

図の通り、アクティブモードでは「サーバ⇒クライアント」で、パッシブモードでは「クライアント⇒サーバ」となっています。

この方向が異なると「接続が成功する確率」も大きく変わってきます。クライアント側は基本的にファイアウォールの背後に配置されており、接続できるポートも限られています。

そのため「アクティブモード」でクライアント側のランダムなポートに接続しに行っても、高い確立で接続不可のポートに当たってしまい、接続に失敗します。

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-ネットワーク (Network)

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

SOAP通信の仕組みやHTTPプロトコルとの違いなど

  <目次> (1) SOAP通信の仕組みやHTTPプロトコルとの違いなど  (1-1) SOAPとは?  (1-2) SOAPを構成する要素  (1-3) SOAPの通信の仕組み&HTTP …

HTTPレスポンスの構造や各ヘッダーの概要について

<目次> (1) HTTPレスポンスの構造や各ヘッダーの概要について  (1-1) HTTPレスポンスの構造  (1-2) HTTPレスポンス行について  (1-3) HTTPレスポンスの各部分の概要 …

HTTPリクエストの構造や各ヘッダーの概要について

<目次> (1) HTTPリクエストの構造や各ヘッダーの概要について  (1-1) HTTPリクエストの構造  (1-2) HTTPリクエスト行について  (1-3) HTTPリクエストの各部分の概要 …

パブリックIPとプライベートIPの違いとは?

  <目次> (1) パブリックIPとプライベートIPの違いとは?  (1-1) パブリックIPアドレスとは?  (1-2) プライベートIPアドレスとは?  (1-3) 比較表 (1) パ …

パソコン2台を有線LANで接続する方法

  <目次> (1) パソコン2台を有線LANで接続する方法  (1-1) 概要  (1-2) 手順 (1) パソコン2台を有線LANで接続する方法 本記事では2台のパソコンをLANケーブル …

  • English (United States)
  • 日本語
Top