【ネットワーク】FTPで通信エラーが起きるNATユニークな理由2019-10-14【ネットワーク】FTPで通信エラーが起きるNATユニークな理由NetworkはてなブックマークTwitterスポンサーリンク疑問FTPとNATは相性が悪いと言われるその心は?回答NATはメッセージ部分のIPアドレスを変換しないから以下、補足です。補足NATとFTPで通信問題が起きる理由の補足を記しておきます。FTP通信の特徴として「制御コネクション」と「データコネクション」の二つの接続を用いてデータ転送を行う点があります。FTPには二つの方式があり、アクティブモードとパッシブモードに分かれます。制御コネクションはどちらもクライアント側から要求しますが、データコネクションをFTPサーバから開始する場合がアクティブモード、データコネクションもクライアントから要求するのがパッシブモードです。アクティブモードにおいて「回答」に記載した問題が起きます。いうのも制御コネクションを確立する際、クライアント側はサーバ側に対して以下の情報を送付します。ポート番号ここでクライアント側のIPアドレスはNAT前のプライベートアドレスのため、ネットワーク機器によって送信元IPアドレスと送信元ポートが書き換えられ、通信に成功します。ところが、データ転送フェーズに入るとFTPサーバーは先ほどのFTPメッセージの中に書いてあったIPアドレス目掛けて通信を行う仕様になっています。このIPアドレスが記載されるのがデータ部分なので一般的には通信機器によるNAT対象外のエリア。Xよってデータ転送に失敗します。ちなみに最近はクライアント側からサーバ側へデータコネクションが確立する方式が利用されるため同事象はあまり起きませんが、古いサーバ等が理由でアクティブモードでしか対応していない場合には起こりえます。よってFTP伝送を採用している場合、この動きは頭の片隅に入れておくことをお勧めします。Page引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。