◆FTPの通信(パッシブモード)その2※ネットワークの学習は、TCP/IPを学ぶことから始めることをオススメします。TCP/IPは、今日のLANやインターネットを支えている重要な技術になっています。ここでは、これからネットワークを学ぼうとする方に必要なネットワークの用語やテクノロジーの紹介、そして、TCP/IPプロトコルの基礎知識を中心に説明してゆきます。◆FTPの通信(パッシブモード)その2ここでは、「FTPの通信(パッシブモード)その1」より、さらに詳しく、FTPのパッシブモードの動作について説明してゆきます。パッシブモードでは、ファイルのダウンロード、アップロードにかかわらず、下図のようにクライアント側からコネクションが確立されるようになっています。パッシブモードのデータ転送のクライアントとサーバのシーケンスは、下表のようになります。21クライアントは、PASVコマンドをサーバに送信して、パッシブモーとでデータを転送するように要求します。サーバは、この応答として、データ転送で使用するサーバ側のポート番号を送信します。この応答を受け取ったクライアントは、クライアントの任意のポートからサーバの指定ポートに向けて、コネクションを張ります。クライアントの待ち受けIPアドレスを指します。クライアントの待ち受けポート番号を指します。上図のポート番号が「3001」の場合、eeが「11」、ffが「185」となります。そのからくりは、このようになっています。10進数の3001を16進数に変換すると下記のようになります。(3001)10=(0BB9)1616進数の(0BB9)16をオクテットに分割し、その各々を10進数に変換します。(0B)16=(11)10(B9)16=(185)10◆パッシブモードとファイアウォール、NATとの相性パッシブモードでは、内部からのSYNを送信して、コネクションを確立するので、外部からのSYNを拒否するように設定されたファイアウォールのフィルタリングにブロックされることはありません。送信元IPアドレスと送信元ポート番号は、アクティブモードと同様に記述されますが、これはサーバ側から内部へのパケットであるため、送信元IPアドレスと送信元ポート番号を書き換える必要がありません。Masqueradeで問題が生じることがなくなります。パッシブモードで通信を行うと、ファイアウォールやNATとのトラブルがなくなりますが、注意するべき点があります。それは、パッシブモードでは、サーバの送信元ポート番号(1024以上)を通すようにファイアウォールを設定しておかなければならないことです。サーバの送信元ポート番号は、ランダムであるためかなり広い範囲を指定しておく必要があり、ファイアウォールの穴が大きくなってしまいます。静的フィルタリング型のファイアウォールでは、常に穴が開いた状態となるため、外部からの侵入経路となるため、危険にさらされることとなります。