お久しぶりです先生、また質問をさせていただきます。
TCPコネクションについてですが、プロキシサーバを用いる際にはクライアントとプロキシサーバ間でコネクションが確立し、プロキシサーバと目的のサーバ間でコネクションが確立するとありますが、途中でNATなどのIP変換のときはどうなるのでしょうか?
もし上記に解答が、IP変換の場合にクライアントと目的のサーバ間でTCPコネクションが確立するとしたら、送信元のIPアドレスが公開されるのでしょうか?また送信元がプライベートだとしたら問題が起きないのでしょうか?
宜しくお願いします。
コメント
IPアドレスが変換されてもTCPの動作は同じ
斉藤さん,こんにちわ。
まず,TCPのコネクションの動作は,
TCPの制御情報を格納したパケットを通信相手とやり取りすることで実現する,
という点を再確認しておきましょう。
詳しいことは『ネットワークはなぜつながるのか』70ページ近辺に書いてありますから,
参考にしてください。
で,そのTCPのパケットはIPによって相手まで届けられます。
その際,IPアドレスの扱い方が気になっているようですが,
それは次のように考えてください。
TCPの制御情報(ヘッダに記載されている項目)を見てもらえばわかりますが,
そこにはIPアドレスはありません。
だから,パケットを運ぶ途中でNATでIPアドレスを書き換えても,
TCPは気にかけません。
というか,書き換えられたことに気づきません。
> プロキシサーバを用いる際にはクライアントとプロキシサーバ間でコネクションが確立し、プロキシサーバと目的のサーバ間でコネクションが確立するとありますが、途中でNATなどのIP変換のときはどうなるのでしょうか?
クライアントとプロキシサーバの間にNATがあっても,
それがない場合と同じように動きます。
> 送信元のIPアドレスが公開されるのでしょうか?
アドレス変換したパケットを受け取った相手に,
元の送信元アドレスの情報が伝わることはありません。
一部のアプリケーションに例外はありますけど。
こんな説明でわかるかしら?
わからなかったら,再度質問してください。
Re IPアドレスが変換されてもTCPの動作は同じ
返信ありがとうございました。
なるほど、確かにTCPの制御情報にはIPアドレスが書かれていませんでしたね。
従って、TCPのコネクションを確立する上では、送信元IPがNATにより書き換わったとしても、なんら問題がないんですね。
ありがとうございました。