NAT と IP Masquerade の背景

IPv4 (Internet Protocol ver.4) では、各ホストが世界中でただ一つのユ ニークな 32 ビットの IPv4 アドレスを持つことで、どんなホストでも世界中 のホストと直接通信することを可能としている。IPv4 が設計された当時はコ ンピュータは非常に高価なものであり、一台のコンピュータに何人もが端末を 接続して同時に使用するのが常識だった。また、ネットワークの速度も低速で、 特に長距離になるとコンピュータ間通信にはとても耐えられないような低速の ものしか利用できなかった。そのため、32 ビットの IPv4 アドレス、すなわ ち 40 億台ものコンピュータが相互に接続される状況など想像もつかず、これ で十分だと考えられていた。インターネットも高価なコンピュータを高価なネッ トワークで接続することで、少しずつゆっくりと広まっていった。

しかし、技術革新とマーケットの変貌は人々の想像をはるかに超えており、 IPv4 設計当時から見ると世界は全く変わってしまった。コンピュータは小型 化と高性能化が車の両輪のように進み続け、予算を確保し上司の判子をもらっ ておそるおそる使うものから、スーパーマーケットでひょいと買物籠に放り込 むものになってしまった。広域ネットワークは最低でも 28.8kbit/s、苦労も コストもかけずにフルディジタルの 64kbit/s が手に入るようになった。 もっと低速低品質の回線でも動作するよう設計されている IPv4 にとっては、 フルディジタル 64kbit/s は十分すぎる。

必然的に、インターネットに接続されるホストの数は急増した。いや、今 でも急増している。未だ、40 億台には達していないが、それ以前に限界がやっ てくることが明らかになってきた。根本的な解決は 128 ビットのアドレス空 間を持つ IPv6 を待たねばならないが、IPv4 の枠組の中でもインターネット が崩壊するのを防ぐためのいろいろな手段が考えられている。

IPv4 が最初に設計された時には、IP アドレス 32 ビット中の上位数 ビットにより、アドレスをクラス A、B、C に分類し、それぞれネットワ ーク部を 8、16、24 ビットとすることになった。ネットワーク部は NIC という割当機関によって申請のあった組織に割り当てられ、残されたホ スト部の割り当てはその組織に一任された。

まず、最初にクラス B のネットワークが足りなくなってきた(クラス A は 滅多なことでは割り当てられない)。IPv4 アドレスを申請しようとする企業は みな急成長する計画を持っていたため、たとえ現状はクラス C で十分だとし ても、6 万 5536 個のアドレスが利用できるクラス B を使いたいと申請した。 その申請を安易に受理していくうちに、クラス B の残りがあっという間にな くなってきた。NIC はクラス B の割り当てを事実上中止し、 CIDR (RFC1519) の技術を用い、クラス C を複数個割り当てる方式に切り替えた。

CIDR により クラス C を割り当てられた組織の中には、好運にも計画通り 急成長するものが現れてきた。また、クラス B の申請に出遅れた、本当の大 企業もあった。彼らは NIC から割り当てられたアドレスでは足りないか、全 く割り当てを持っていなかった。そこで、自らの組織内をインターネットとは 別のものとし、NIC から割り当てられるアドレスとは別の独自のアドレス体系 を構築し始めた。

真の混乱はこれら独自体系のアドレス空間がインターネットに再接続され る時に発生する。ルールを守らず勝手に使用されたアドレスは NIC が別組織 に割り当てたものと衝突するだろう。そのため、IETF では貴重なアドレス空 間の中からこのような独自使用が可能である空間を確保した(RFC1597)。これ をプライベートアドレス空間と呼ぶ。それに対し、NIC が管理する、インター ネットで使われるアドレス空間をグローバルアドレス空間と呼ぶ。プライベー トアドレス空間の使用は完全に組織の自由である。ただし、インターネットに 接続してはいけない。

インターネットに接続できない IP ネットワークは籠の中の鳥のようなも のである。その姿、鳴き声は相変わらず美しいが、空を飛ぶという、鳥本来の 特性は発揮できない。そのため、プライベートアドレス空間をグローバルアド レス空間に接続する方法が考案された。それが NAT (RFC1631)であり、 IP Masqueradeである。