1つのPCで複数のブラウザで正しく表示される理由

今年からIT系試験問題作成の手伝いを始めた。
他の人の問題でプロキシでのアドレス変換の問題があり、何故プロキシでは戻ってきたブラウザの要求を元のPCへ返せるのかの疑問が出てきて、調べることになった。

何故PCで複数ブラウザに正しいページが表示出来るのか疑問だったので、調査を引き受けた。

疑問は何かというと、
社内のプロキシではIPアドレスを1つのアドレスに変換してWebサーバに要求を出すが、戻ってきたHTMLはプロキシのIPアドレスに戻ってくるから、プロキシで何かの変換テーブルがないと元の要求もとのPCへ戻せない。この変換テーブルとは何かな?というのが疑問です。

結果は、IPアドレスとポート番号で変換して関連付けしているそうです。

でも調査は大変でした。すんなりと出てこない。Googleでアドレス変換などとやっても、出てくるのはトンチンカンなページばかり。NAT(ネットワークアドレス変換)ではないらしい。アドレス変換にも幾つかあるようで、明確に書いていない。インターネットの沢山の技術がからんでいて、内容を良く理解していないので、読んでも判らなかったのかと思いますが。

本も探したがピッタリなのはない。とりあえず簡単そうなネットワークの本を買って読み始める。

あちこちの情報を寄せ集めてやっと判ったと思った時に、良く解説してあるサイトを発見。
MM-LABO.COMのIPマスカレード(IP Masquerade)
http://www.mm-labo.com/computer/tcpip/ipaddress/IPMasquerade.html

ネットワークのおべんきょしませんか?のルータ(アドレス変換 IPマスカレード)
http://www.n-study.com/network/ipmasq.htm


NATではIPアドレス変換しかしてくれなくて、PCとかサーバのプログラムと関連付けるのは各PC、サーバで振るポート番号でした。これをIPマスカレードと言うそうです。

a0000893_13135252.jpg



自分で図まで書いてしまいましたが、
ブラウザでURLを指定し、サーバのポートはデフォルトの80にして要求を出すが、要求元である自分のPCのIPアドレスとポート番号も発信するそうです。このポート番号とプログラム(この場合はブラウザ)が結び付いて、戻ってきたHTMLをPCが該当のブラウザに処理を渡すそうです。ポート番号は1023までは予約されたウェルノウンと言うそうですが、65535番までは自由に使えるそうです。要求を出す時に自分の空いているポート番号を要求に付けて出します。これが戻りのHTMLについてきます。
プロキシ(この図ではアドレス変換器)でも同じ事が起こり、要求元のIPアドレス+ポート番号をIPアドレスは決まったアドレスに変換(普通は自分のIPアドレス)し、ポー番号は自分で空いている番号を振って、Webサーバに要求を送る。
Webサーバからプロキシへの返事には、変換されたIPアドレス(プロキシのIPアドレス)とプロキシが振ったポート番号に戻ってくる。プロキシでは要求した時のIPアドレスとポート番号(本当はポート番号だけで良いと思いますが)と要求元のPCのIPアドレスとポート番号を判っているので、元のPCの要求に戻して、PCへ返事する。
PCではポート番号で要求元のプログラムが判るので、そのプログラムへ処理を渡す、と言う流れのようです。

言葉で書くと何となく難しく読めますが、ポート番号を主体に処理していると言うことのようです。IPアドレスはターゲットとするマシンへ行き着くだけです。行き着いたマシン内ではポート番号で内部のプログラムと関連付けられています。


易しいと思って買った本は非常に面白い本でした。少々読むと簡単なのですが結構難しい。自分のPCからLANカード、ADSL、ケーブル、プロバイダと通って、サーバに行き着いてと、インターネット内での流れに沿って書かれているので、代表例で書かれていますが、インターネット技術の全体の流れを説明していて、非常にためになりますが、技術が広く、多岐に渡り、難しくもありました。
自分の疑問も本の後半にやっと出てきて、自分で作った図の裏付になりました。

ネットワークはなぜつながるのか ― 知っておきたいTCP/IP、LAN、ADSLの基礎知識 日経BP

良い勉強になりました。システムの仕掛けを調べるのは面白いものです。

今の技術には強くないので非常に大変でした。あちこちに詳細な話は出ているのですが、これを昔の技術しか知らないおっさんらに教える為に大まかにまとめるのが大変でした。

未だ沢山の間違えがあるかと思います。お気づきの方はご指摘ください。


この書籍のシリーズには
Windowsはなぜ動くのか

もあります。これも読んでみようかと思っています。
”パソコンはなぜ動くか”もあったように思うのですが。
[PR]
by maida01 | 2004-10-05 13:31 | IT系
<< SNSについてと、Blogとの... 文字コード、文字セットとエンコ... >>