紘明さん,お久しぶりです。 試験は良い結果だといいですね。
さて,FTPの件ですが, Activeモードの場合, データの転送に使うクライアント側のアドレスとポート番号は, クライアントからサーバにコマンドを送るときに,コマンドと一緒に送ります。 FTPサーバはその情報に基づいてデータ転送のコネクションを張ってきます。 FTPサーバが勝手に決めるわけではありません。
それから,ルータでアドレス変換するときは,コマンドのやり取りに含まれる コネクションの情報を監視して,それをアドレス変換テーブルに登録します。 そうしないと,FTPサーバからクライアントに張ってきたコネクションのパケットを クライアントに届けることができません。
Passiveモードの場合は, サーバ側のアドレスとポート番号をサーバからクライアントに通知し, クライアントはその情報に基づいてFTPサーバにコネクションを張ります。
『新人SEのための基礎からわかるネットワーク入門』(戸根勤著,日経BP社)の 282ページ以後にその辺の解説があります。 参考になるかもしれません。
More information about text formats
アドレスとポート番号を相手に通知する仕組みがある
紘明さん,お久しぶりです。
試験は良い結果だといいですね。
さて,FTPの件ですが,
Activeモードの場合,
データの転送に使うクライアント側のアドレスとポート番号は,
クライアントからサーバにコマンドを送るときに,コマンドと一緒に送ります。
FTPサーバはその情報に基づいてデータ転送のコネクションを張ってきます。
FTPサーバが勝手に決めるわけではありません。
それから,ルータでアドレス変換するときは,コマンドのやり取りに含まれる
コネクションの情報を監視して,それをアドレス変換テーブルに登録します。
そうしないと,FTPサーバからクライアントに張ってきたコネクションのパケットを
クライアントに届けることができません。
Passiveモードの場合は,
サーバ側のアドレスとポート番号をサーバからクライアントに通知し,
クライアントはその情報に基づいてFTPサーバにコネクションを張ります。
『新人SEのための基礎からわかるネットワーク入門』(戸根勤著,日経BP社)の
282ページ以後にその辺の解説があります。
参考になるかもしれません。