IPv6 ことはじめ

第1回 IPv6 の正しい理解

IIJ技術研究所
山本和彦
iij.news (July 1999 Vol.18)

IPv4 の問題点

Internet Procotol version 4 (IPv4)のアドレスが枯渇すると予測され、 次世代 IP の模索が始まったのが 1992 年。 複数の次世代 IP の候補から Simple IP が選択されたのが 1994 年。 そして、Simple IP が IPv6 に名を変え、 基本仕様が策定されたのが 1995 年ですから、 もう 7 年も次世代 IP に関する努力が続けられてきたことになります。 努力のかいあってか、 ようやく今年IPv6 のアドレス割当が正式に始まろうとしています。

長きに渡って仕様が策定され、技術が開発されて来たにもかかわらず、 IPv6 は世の中に必ずしも正しく理解されてはいないのではないかという危惧を抱いています。 たとえば、技術的に根拠のない多大な期待や、 偏った視点からの不要論などが聞こえてきます。 「IPv6 ことはじめ」と題したこの連載の最初を飾るにあたり、 まずは IPv6 を技術的あるいは工学的に正しく理解して頂こうと思います。

最初に、1992 年ごろの IPv4 の問題点にたち返りましょう。 第 1 の問題点は、世間でよく騒がれているアドレスの枯渇です。 IPv4 アドレスは 32 ビットしかありません。 これは、10 進数に直すと約 43 億ですから、世界人口よりも少ないことになります。 つまり、インターネットが真の世界的な通信基盤になるには、 アドレスの絶対量が不足しています。

では、IPv4 アドレスすべてが割り当てられる日はいつになるのでしょうか? インターネットで利用されるプロトコルの仕様を決める団体に Internet Engineering TaskForce(IETF) があります。 1994 年に IETF から出された見積りによれば、 それは 2008 ± 3 年ごろだと予想されています。

この見積りには、アドレスの枯渇を緩和する Network Address Translator(NAT)が考慮されていませんし、 インターネットの成長曲線も1994年と現在ではかなり違うと思いますので、 1 つの目安だと考えて下さい。

見落とされがちな第 2 の問題点は、経路情報の急増です。 おおざっぱにいえば、 インターネットに接続する組織が増えると、 その組織に到達するための経路情報が増えます。 これは、パケットの転送を担うルータに、 メモリーの増加や経路情報の検索速度の低下といった重荷を課すことになります。 実際、現在バックボーンにあるルータは、性能限界に近いところで運用されています。


IPv6 不要論

アドレスの枯渇問題を緩和する技術に、前述の NAT があります。 「NAT のおかげで IPv6 を開発する時間に余裕ができた」という指摘はあながち間違いではないでしょう。 しかし、最近よく聞く「NAT があれば IPv6 は不要である」という台詞は、 かなり偏っています。

元々 IPv4 アドレスは、 インターネット上で一意であると定義されていました。 これに対し、 組織内で使うアドレスは他の組織内のアドレスと同じであってもよいという拡張がなされました。 これがプライベート・アドレスです。 組織内のコンピュータには、プライベート・アドレスを使い、 インターネットへの出口でグローバル・アドレスに変更することで、 組織内とインターネット間での通信を実現します。 このようなアドレス変換装置が NAT です。

工学者の常識から言えば、すべてがうまくいく技術はなかなか存在しません。 一般的に、何かを得れば、他の何を失うものです。 NAT は IPv4 の寿命を延ばしましたが、 逆に多くの矛盾をインターネットに持ち込みました。

インターネットの基本理念は

です。

「end-to-end 通信」とは末端のコンピュータ同士が主役となって通信し、 途中のルータはほとんど通信の内容に関与しないことです。 NAT では、脇役であるはずのルータが通信の内容を書き換えてしまいます。 このためNAT ルータは通信状況を管理します。 通信状況を複数のルータ間で共有するのは困難なので、 組織の出口ルータは 1 つに制約されてしまいます。

また、通信内容中に IPv4 アドレスが格納されているプロトコルでは、 NATルータが通信内容を監視して書換える必要があります。 すべてのプロトコルが仕様を公開している訳ではないので、 NAT を設置すると利用できないプロトコルが出てきます。

さらに、IPv4 パケットを書き換えるということは、 そのパケットを改竄することに他なりません。 これは、IP レベルのセキュリティである IPsec と NAT は相性が悪いことを意味しています。

「双方向性」とは、どちらのコンピュータからも通信を開始できる機能です。 NAT は、組織内部のプライベート・アドレスに対し、 グローバル・アドレスを動的に割り当てます。 対応関係が動的に変わるので、 組織の外から組織の内部のコンピュータを静的に指定できません。 一般的に、 NAT を設置すると、 組織内から外向きに通信を開始可能ですが、内向きには通信を確立できません。

このように NAT は、インターネットに一方向性を持ち込みました。 これはセキュリティにうるさい会社にとっては都合のよいことかもしれません。 しかし、現在では家庭でも NAT を利用せざるを得ない状況です。 将来自分がホームネットワークを持ったときに、 会社からアクセスできないとしたら悲しいですね。

将来、携帯電話や自動車がインターネットに接続する時代がくるでしょう。 これらの装置には本質的にグローバル・アドレスが必要です。 グローバル・アドレスの数を増やす技術ではないNAT では、 結局この問題は解決できません。

このようなことを考慮すれば、 IPv4 よりもアドレス空間の広い IPv6 を普及させ、 end-to-end 通信や双方向性といったインターネット本来の姿を取り戻す必要があるとお分かり頂けると思います。


IPv6 の妄想

IPv6 不要論が存在する一方で、IPv6 への過剰な期待もあります。 たとえば、セキュリティ、マルチキャスト、モバイル、 そしてQuality-of-Service がIPv6 では解決されて、 使いやすい形で提供されるといった妄想です。

これらの技術は IPv4 と IPv6 で本質的な違いはありません。 マルチキャストの経路制御やモバイル・コンピューティング、 Quality-of-Service は本質的に難しい問題です。 IPv6 の時代になっても簡単に解決できる訳ではありません。 また、IPv6 では IPsec が必須になっていますが、 IPsec は IPv4 でも利用可能です。

付け加えですが、IPv6 の黎明期で盛んに強調された、 ヘッダの簡略化や数珠つなぎヘッダなどは、 現在ではあまり重要なことであるとは思えません。


IPv6 の真の姿

それでは、IPv6 は何が嬉しいのでしょうか? IPv6 には以下の 2 つの意味があります。

この 2 つの事項から派生する長所のみが、 IPv6 が IPv4 に対して優れている点だといえます。

まず、「アドレスの拡張」について考えましょう。 32 ビットだった IPv4 アドレスが、 IPv6 では 128 ビットに拡張されました。 128 ビットとは、約 3.4 × 10^38 (340澗)という気の遠くなる程大きな数字です。

現在提案されている経路集約型アドレスでは、 16バイト (128 ビット)を、半分に分けます。 前半の 8 バイトがネットワーク部、 後半の 8 バイトがホスト部になります。

aggregatable address

あるコンピュータが(Ethernet などの)ある通信メディアに、 ネットワーク・インターフェイス(以下 IF)でつながっているとしましょう。 通常通信メディアの MAC アドレスは 6 〜 8 バイトです。 よって、そのコンピュータは自分の IF から MAC アドレスを得て、 IPv6 アドレスの後半 8 バイトを生成できます。 この IPv6 アドレスは、 少なくともそのメディアが属するリンク内では一意であると期待できます。

このように IPv6 では、アドレスの長さに余裕があるために、 Dynamic Host Configuration Protocol(DHCP)など利用しなくても、 IPv6 アドレスを自動的に生成できます。 この時点で、リンク内での通信が可能になります。 また、上位 8 バイトはルータが通知してくれますので、 下位 8 バイトと併せてグローバルなIPv6 アドレスを生成できます。

このように、IPv6 では自動設定の機能があらかじめ備わっています。 これは、組織内のコンピュータすべてに対し、 アドレスを付け換える問題を、 ルータのアドレス付け換えに集約できることを意味しています。 現在IPv6 では、ルータのアドレス付け換えプロトコルが提案されています。 IPv4 ではアドレスの付け換えが困難だったために、 組織とプロバイダの間に強い束縛がありました。 しかし、IPv6 では、このようなプロバイダの束縛から解放されることが期待できます。

上位 8 バイトの内、下位 2 バイトは組織内で使ってよい、 いわゆるサブネット番号です。 ほとんど無限にコンピュータを接続できるサブネットを 2^16 個持てる訳です。 このように、IPv6 では1 組織あたり、 IPv4 のクラス A よりも大きな空間を割り当てることが保証されています。

運用上の問題としては、サブネットの長さ決めに悩む必要がなくなります。 経路集約型アドレスでは、 サブネットの長さは 64 ビットに固定されているからです。

次に、「やり直し」について説明します。 IPv6 はこれから普及するのですから、 いろいろな技術を必須にできます。 たとえば、IPsec などがその例です。 また、1 からアドレス割当をやり直せるので、 できる限り経路情報が少なくなるようにアドレスを割り当てていくことが可能です。 経路集約型アドレスでは、 ルータが保持すべき経路情報を理想的には 8,192 に制約できます。 このため、IPv4 の第 2 の問題を本質的に解決できると期待できます。


おわりに

今回はここまでです。 次回は IPv6 のアドレスをもう少し堀下げて解説します。
Email: kazu@iijlab.net
URL: http://www.mew.org/~kazu/