■ ネット君の疑問
博士っ!!
さぁ、前回の謎を解いてください。
うむ。
(ドキドキ)
じっちゃんの名にかけてっっ!!
謎はすべて解けたっ!!
!
犯人は……。
犯人はこの中にいるっ!!
えええぇぇっ〜!!
考えてみれば、「この中」といっても、私とネット君しかいないわけだから。
お前が犯人だっっ!!
そうだったのかっ!!
僕が犯人だったのかっ!!
うむ。
謎が解けたところでまた次回。3分間ネットワーキングでした〜♪
- インター博士の今日のポイント
-
- 犯人はネット君。
…………、博士?
いや、悲惨な事件だった…。
まさかネット君の優しい顔の裏にあのような残虐性を秘めていようとは…。
は・か・せ。
ん? なんだねネット君。
誰が「残虐性を秘めている」んですって?
まったくもぅ、ちょっとノってあげたら調子にのって。
まぁまぁ、そう怒るなネット君。
ちゃんと今から説明するから。
お願いしますよ。
うむ。
この事件は、帝都を震撼させたあの「暗闇の切り裂き魔」の事件を模倣するという…。
そっちの説明かよっ!
博士、いい加減にしてくださいっ!!
なんだ、ノリが悪い奴だな。
しょうがない、ちゃんと説明してやろう。
ほんとにお願いしますよ。
さて、前回のnetstatの出力結果だが。
[Figure45-06:netstat画面 接続・切断]
ここで、例えば3行目を例にとると、プライベートIPアドレスである192.168.0.2とグロ−バルIPアドレスの61.193.0.66がコネクションを確立している。
そりゃちょっとおかしいよね、という疑問だったな。
そうです。第23回で教えていただいた時は、プライベートIPアドレスはインターネットと接続しない環境で使われるアドレスだと。
もちろんそうだ。その理解はまったく間違っていない。
でも、上のnetstat画面では、インターネットと接続してますよ?
うむ。
その謎を解明するポイントは、「ネットワークアドレス変換」だ。
ねっとわーくあどれす変換?
■ プライベートとグローバル
まず、復習からいこう。
プライベートIPアドレスとは、以下のアドレスのことだ。
第1オクテット | 第2オクテット | 第3オクテット | 第4オクテット |
10 | ホスト番号 | ||
172 | 16〜31 | ホスト番号 | |
192 | 168 | 0〜255 | ホスト番号 |
[Table23-01:プライベートアドレス]
これらのアドレスはICANNがプライベート専用に割り当てているアドレスだ。
クラスAで1つ。クラスBで16コ。クラスCで255コのプライベートネットワークを作成できるんですよね。
うむ。
そして、プライベートIPアドレスでは、インターネットに接続できない。
ですよね。
ルータがインターネットへ出さないんですよね。
そして一方、アドレスが欲しいとの要求に対して、ICANNのポリシーに従い各レジストラが割り当てるのがグロ−バルIPアドレスだ。
このアドレスはインターネット内でユニークだ。
日本だと、JPNICでしたっけ。 ▼ link
インターネット内でユニークってことは事実上、世界中でユニークってことですよね。
まぁそうなるな。
つまり、グロ−バルIPアドレスを持つホストと、グロ−バルIPアドレスを持つサーバがデータ転送を行うというのが、インターネットでのデータ転送だ。
お互い相手を見つけるためユニークなアドレスを持つ必要があるってことですね。
そうだ。
だが、実はこれには大きな問題がある。
問題?
そうだ。
インターネットに接続する台数があまりにも多すぎて、IPアドレスが不足している、という問題だ。
そうなんですか?
でも、IPアドレスって32ビットだから、2の32乗、4,294,967,296コあるんですよね。足りないんですか?
うむ、その42億9496万7296個でも足りないのだ。
特に、企業や学校が使うクラスBアドレスがもっとも不足している。クラスCの254個では足りないし、クラスAの16,777,214個では多すぎるからだ。
ははぁ。確かに1つの会社や学校で1000台ぐらいあってもおかしくないですからね。
1人に1台とか割り当てたらクラスCの254個では足りないですよね。
うむ。よって、対抗策として、IPv6や、クラスレスアドレッシングなどが一応あるのだが。 ▼ link
もっとも手軽かつ有効な手段として使用されているのが、ネットワークアドレス変換だ。
ねっとわーくあどれすを変換する?
■ ネットワークアドレス変換
頭文字をとって、
[Figure46-01:ネットワーク構成図]
さて、ネット君。
君がネットワーク管理者ならどうする?
どうすると言われましても。
インターネットに接続したいホストが500台あるんですから、500台分のグローバルIPアドレスが必要ですよね。
だが、先ほども話したようにIPアドレスは枯渇している。そうおいそれとクラスBアドレスは手に入らない。
よくて、クラスC。普通、プロバイダから割り当てられると16個ぐらいかな。
クラスCの254個でも全然足りないですよ。
それなのに、16個って…。
というわけで、NATの出番だ。
まず、内部ネットワークにはプライベートIPアドレスを割り振る。
プライベートじゃインターネットと接続できないじゃないですか。
まぁ、待て。焦るな。
プライベートIPアドレスを割り振る理由は、内部ネットワーク内でTCP/IPを使った通信をするためだ。例えインターネットにでなくてもどっちにしろ割り振る必要がある。
そうですね。
内部ネットワークだけでも通信する必要がありますよね。
それと、NATのために必要だ。
何故かは、下の実際の動きをみれば理解できるだろう。
[Figure46-02:ネットワークアドレス変換]
はわ〜。
まさしくアドレス変換なんですね。
うむ。
ホストから見れば、普通に送受信ができるというのがポイントだ。
あ〜、なるほど。ホストからみれば普通に送って、普通に返ってきてますね、コレ。
一方、サーバから見れば。
ルータとやりとりしてるように見える。内部のアドレスは全く関係ない。
ふむふむ、確かに。
近い例を上げるとするならば、そうだな、直接発信できないホテルの電話かな。
外へ電話をかけたい場合、フロントに電話するわけだ。「xxx-xxxxへつなげてください」と。
フロントがルータの役割ですか?
そうだ。それでフロントは、その電話を外に接続させる。
ホテル内専用の内線電話が、フロントという交換機によって外と接続できるようになったわけだ。
ははぁ。なんとなくわかります。
外から見れば、それはホテルの電話番号で電話を受けていることになるだろう?
一方、中からみれば普通に電話をしてる状態となんら変わりない。
そうか。フロントが、その内線番号の電話機に一時的にホテルの電話番号を貸し出している形になるわけですね。
フロントが、内線番号とホテルの電話番号を変換することによって。
そういうことだ。
なるほど〜。便利な機能ですねぇ。
■ NATの弱点
だが、このNATにも弱点がある。
弱点?
そうだ。以下のような場合だ。
[Figure46-03:NATの弱点]
保有するグローバルIPアドレス数以上のホストは、同時に接続できない。
あら〜。
それはちょっと不便ですね。どうせ変換するんだから、同じグローバルIPアドレスを割り振ってしまってはどうです?
ふむ。もし同じIPアドレスを割り振ったとする。
例えば以下のようにな。
[Figure46-04:NATで同じIPアドレスを割り振る]
さて、質問だ。
サーバから返ってきた200.1.2.1宛のパケットはどちらのホストだ?
え?
……、あぅ〜。
わかったようだな。
NATで変換されるアドレスはユニークである必要がある。
と言うことは、博士。
同時に接続したいホスト数分だけグローバルIPアドレスが必要ってことですか?
その通り。
じゃあ、500台のホストがインターネットへ接続したかったら500個のグローバルIPアドレスが必要ってことじゃないですか。
もちろん。
結局500個必要で、IPアドレスの枯渇問題にはなんの貢献もしてないってことになりませんか?
まぁ、そうなるな。
博士〜〜〜。
確かにその通りなのだが、例えば同時にインターネットへ接続するホストの台数があまり多くない時とかには十分これで役に立つのだよ。
そう言われればそうですけど。
なんか納得いきません。
そうだな。今時インターネットに接続できないと業務に差し障りがある所も多かろう。
自由にインターネットに接続し、さらにグローバルIPアドレスを消費しないようにするためには別の手立てが必要だ。
その方法があるんですね?
ある。
NATを発展させたNAPTだ。一般的にはIPマスカレードと呼ばれることが多い。
NAPT、IPますかれーど…。
それは次回としておこう。
今回はここまで。
はい。
3分間ネットワーキングでした〜♪
- ネットワークアドレス変換
- [Network Address Translation]
- IPv6
-
[Internet Protocol version 6]
現在のIP(version 4[IPv4])のアドレス長32ビットから、アドレス長128ビットに拡張。
他にもセキュリティ機能などが付加されている。現在はIPv6への移行段階にある。
- クラスレスアドレッシング
-
従来のクラスの概念をなくし、規模などを関係なしにIPアドレスを割り振る方式。CIDRなどが使われている。
CIDRについては参考リンクの30分間ネットワーキング第1回を参照のこと。
- 16個
-
プロバイダが自身の持つネットワークをサブネット化して割り当てる。
例えばプロバイダが200.100.10.0のクラスCを持っているとする。200.100.10.0 サブネットマスク255.255.255.240のサブネットワークをプロバイダから割り当てられた場合、16個のグローバルIPアドレスを持つことになる。
- NAPT
- [Network Address Port Translation]
- IPマスカレード
- [IP masquerade]
- ネット君の今日のポイント
-
- プライベートIPアドレスではインターネットに接続できない。
- グローバルIPアドレスは不足気味である。
- プライベートIPアドレスとグローバルIPアドレスを変換するのがNAT。
- 保有するグローバルIPアドレス以上のホストは同時接続できない。
- 参考リンク
-
- JPNIChttp://www.nic.ad.jp/▲
- 30分間ネットワーキング 第1回http://www5e.biglobe.ne.jp/~aji/30min/01.html▲