日本におけるインターネット資源管理の歴史

~ドメイン名とIPアドレスを中心とした日本のインターネットの歩み~

メインコンテンツへジャンプする

セクションメニューを開く
セクションメニューを閉じる

インターネット歴史年表 わからない単語は、 用語集をご覧ください。
英語ページ

第5章 本格的インターネット時代のIPアドレスポリシー

図:タイムライン

1990年代以降の爆発的なインターネットの広がりは、 IPアドレスの利用や経路制御技術にも大きな変革を迫り、 これによってIPアドレスの管理方針が大きく変わっていきました。

商用インターネット以前のIPアドレス管理

1980年代のインターネットは、米国を中心とした研究ネットワークで、 現在のインターネットの規模に比べるとはるかに小さく、 スーパーコンピュータの共同利用と、 研究者間の情報共有や情報交換のために利用されるのみでした。

当初、 インターネットプロトコル(IP)に関するプロトコルパラメータの管理は、 南カリフォルニア大学のJon Postel氏が個人的に管理していました。 徐々にインターネットの利用者が増えていくに従ってPostel氏が同僚とともに管理を担うようになっていき、 IANAと呼ばれるようになりますが、 この当時は、 「プロトコルパラメータが必要になった場合にはPostel氏に連絡すること」[93]などという、 簡単なルールがあるのみでした。

当時IPv4アドレスは、 先頭4ビットの値によってクラスA、B、Cという三つの種別に分けられ、 それぞれ24ビット(約1,700万ホスト収容可)、 16ビット(約66,000ホスト収容可)、 8ビット(254ホスト収容可)空間という、 異なる大きさの「ネットワークアドレス」が接続組織に割り当てられていました[94]。 これを「クラスフルアドレス」と呼び、 先頭4ビットの値で経路制御の単位を自動識別する仕組みになっていました。

接続されるコンピュータが少数に留まり、 増える見通しがなかったことから、 IPアドレスが分配されていく初期には、Postel氏は、 大企業や大学などには約1,700万ホスト収容可能という広大なアドレス空間を持つクラスAアドレスを割り当てるなど、 非常に大ざっぱな分配が行われていました。

コラム:経路制御

インターネットだけでなく、 あらゆるネットワークの基本的な機能は、 そのネットワークに接続されるユーザや機器のデータを、 他のユーザや機器に転送することです。 この機能を実現するために、 ネットワークに接続されるすべての機器は、 ある相手にデータを転送しようとする時に、 その機器が接続されているどの回線、 あるいはどの隣接機器にデータを送信するか知っている必要があります。 このように、転送先と次の隣接機器の対応を取り、 正しい送信先を判断することを、 「経路制御(ルーティング)」と呼びます。

インターネットにおいては、データはパケットの形で処理され、 転送先の情報をIPアドレスとしてすべてのパケットに格納しています。 TCP/IPを処理する機器においては、 転送先として指定されるIPアドレスに対する次の送信先の対応を「経路表(ルーティングテーブル)」として管理しています。

図:経路制御概念
経路制御概念図

図の例では、 ルーター五つの間に四つのネットワークが挟まれるという簡単な構成で、 これによって、4つの経路表のエントリーが存在しています。 一つネットワークが追加されると、すべてのルーターにおいて、 経路表のエントリーが一つ増えることになります。 このように規模が小さく単純なネットワークの場合には、 各ルーターに、 予め存在しているすべてのネットワークに対する次の送信先を設定することで、 問題なく機能するケースも多いです。 このようにすべてのルーターに、 すべてのネットワークに対する次の送信先を設定することで、 経路制御を行うことを、 静的経路制御(スタティックルーティング、static routing)と呼びます。

しかし、経路制御を行う対象のネットワークが非常に大きくなると、 新たなネットワークの追加などの度に設定変更を行うことが事実上困難になっていきます。 従って、多くの場合には、 ルーターに経路制御プロトコルを起動して、隣接ルーター同士で、 経路制御のための情報(経路情報と呼びます)のやり取りを自動的に行わせることで、 経路制御を行うようになります。 これを、 動的経路制御(ダイナミックルーティング、dynamic routing)と呼びます。 また、経路制御プロトコルによって、 隣接ルーターに経路情報を発信することを、 経路広告(route advertisement)、 あるいは単純に広告(advertisement)と呼びます。

インターネットは無数のネットワークが相互接続されているため、 経路表が肥大化していく傾向を常に持っています。 CIDR以降のインターネットは、 概ねISP一つに対応する自律システム(Autonomous System、AS)を単位として、 AS間経路制御とAS内経路制御を分離する、 階層的経路制御を行っていますが、 AS間経路制御を行うすべてのASで共有される経路表エントリーの数は、 執筆時点でおよそ50万経路。 2001年の10万経路から5倍、 2008年の25万経路から2倍となっています[95]。 経路表のエントリー数の増大は、ルーターのメモリ容量だけでなく、 それぞれの経路の情報変更を演算するためのCPUパワーの増強を余儀なくします。 経路制御の規模対応(スケーラビリティ)は、 黎明期から絶え間ない課題です。

参考:JPNICインターネット10分講座:経路制御
https://www.nic.ad.jp/ja/newsletter/No38/0800.html

商用インターネットに二つの懸念

1990年ごろ米国で商用のインターネットプロバイダーが出現し[96]、 一般利用者でも料金を支払うことでインターネットを利用できるようになりました。 これによって、 インターネットはスーパーコンピュータの共同利用のためだけではなく、 広く一般の人々が使うものとなり、ネットワーク規模、 利用者とともに、インターネットの爆発的な拡大が始まります。

この商用プロバイダー出現からすぐに、世界中の関係者の中で、 次の二つの懸念が持たれるようになりました[97]

  • IPv4アドレスの有限性 − 近い将来に在庫枯渇が起こるのではないか
  • 経路制御機構の限界 − 経路の総数がインターネット全体で扱える数を超えることで、経路制御機構が破綻するのではないか

これらに対して、IETFは1991年にRouting and Addressing (ROAD)グループを設立[98]し、 対策に着手しました。

次世代インターネットプロトコルIPv6

IPv4アドレスの有限性に対するアプローチは、抜本的な対策として、 IPv4アドレス空間の在庫枯渇を見越した次世代IP(インターネットプロトコル)の開発でした。 ROADグループではいくつかのプロトコルを次世代IPの候補として検討していましたが、 IABは、1992年6月に、ISOが定めたCLNP (Connection-Less Network Protocol)をベースとしたプロトコルを、 IPバージョン7として次世代IPに採用する提案[99][100]を行いました。 しかし、 そのことに納得できないIETFがこれを拒絶するという事件が起こりました。 それを契機としてIETFではIPng (Internet Protocol Next Generation)ワーキンググループを設立し、 次世代IPの検討を本格化させました。 さらにプロトコル候補が提案されるとともに、 複数の候補が統合されるなど、活発に議論された結果、 1994年にSIPP (Simple IP Plus)と呼ばれていたプロトコルが、 次世代IPに採用されました。 その後、細部の詰めが行われ、このSIPPをベースとした、 IPバージョン6 (IPv6)の基本仕様が、 RFC 1883[101]として公開されたのは、 1995年12月のことでした[102]

また、 IPv4アドレス空間の在庫枯渇がいつ起こるかに関する予測も行われました。 IETFのAddress Lifetime Expectation (ALE) Working Group[103]の結論として、 1995年7月に発表した予測在庫枯渇時期は、 「2013年±8年」というものでした。 執筆時点既に発生した、 IANA中央在庫(2011年2月)[104]、 それに引き続くAPNIC(2011年4月)[105]、 RIPE NCC(2012年9月)[106]、 LACNIC(2014年6月)[107]の枯渇は、 このALEの予測が当たっていたことになります[108]

CIDR時代の到来

IPv4アドレスの有限性に関する中期的な対策としては、IPv4において、 アドレス分配の要領を改めることが、 経路制御機構への対策とともに進められました。

インターネットに接続されるネットワークの大きさは千差万別で、 本章冒頭で述べたクラスフルアドレスの利用を前提とする場合、 小さい組織はクラスCアドレスの8ビット空間(254ホスト収容可)でも大きすぎ、 クラスAアドレスの24ビット空間(約1,700万ホスト収容可)を必要とする接続組織はほぼ皆無であるなど、 空間利用の非効率さが目立ち始めました。 また、 新規にインターネットに接続される組織が急増することで経路数が急増し、 経路制御機構の負担が増し、 経路制御機構の破綻も現実的に心配されるようになりました。 経路数増大を避けるために、 数個のクラスCアドレスが必要な組織に対しては、 アドレス空間の有効利用よりも経路数の抑制を優先し、 クラスBアドレスを割り当てることも行われました。

これらの問題に対処するために編み出されたのが、 「クラスレス技術」です。 クラスレス技術は、経路制御プロトコルにおいて、 経路情報としてIPアドレスとともに経路制御単位の大きさ(プリフィクス長)も併せて取り扱えるようにするものです。

コラム:クラスレス技術におけるIPアドレスの表記

本文でも述べた通り、クラスレス技術が出現する前には、 経路制御の単位はクラスA、B、 Cに分類されるネットワークアドレスが基本でした。 ネットワークアドレスの中を細分化する時にはサブネッティングという考え方がありましたが、 これは、ルータやホストのインターフェースを設定する際に、 そのインターフェースに設定したネットワークマスクによって決められ、 ネットワークアドレスの中の他のサブネットも、 すべてそのサブネットマスクで分割されているという前提で、 経路制御が行われていました。

クラスレス技術の場合には、 経路制御プロトコルで任意の大きさの経路制御単位を定めることができるため、 規格化された時期から、 IPアドレスとともに経路制御単位を示す以下のような書法が利用されています。

[IPアドレス]/[プリフィクス長]
(/は「スラッシュ」と発音)

プリフィクス(prefix)は、 語学用語で「接頭辞」「敬称」と言った意味で使われる言葉ですが、 ここでは「IPアドレスの前のほうの部分」という意味で、 個別の経路制御単位を識別する、 いわばクラスレス版「ネットワークアドレス」に当たります。 プリフィクス長とは、 このプリフィクスの長さをビット数で示したものです。 例えば、 クラスCアドレスでは先頭から24ビットが「ネットワークアドレス」となりますので、 JPNICの公開サーバが収容されているクラスCアドレス、 202.12.30.0—202.12.30.255というアドレスブロックは、 202.12.30.0/24 と表記されます。 また、しばしば右端の連続した「.0」は省略され、 この例の場合には202.12.30/24、クラスAアドレスの場合には、 10/8 (この場合、 10.0.0.0—10.255.255.255の領域を示す)のように短く表記されます。

また、特定の経路制御単位を示さず、 IPアドレスブロックの大きさを示す場合には、 IPアドレスを示さず、 /24 (スラッシュ24:クラスC相当の大きさ) /22 (クラスC4つ分相当の大きさ) という形で用いられます。

この書法には、CIDRを規定した最新RFCであるRFC4632において、 「プリフィクス書法(Prefix Notation)」という名前が付けられています[109]

クラスレス技術は、接続組織単位の経路情報をISP単位で集積し、 ひと固まりとして他のISPに広告する(集成する)ことを可能としました。 例えば、 あるISPが192.168.0.0から192.168.255.255までのアドレスブロックを持っている場合、 クラスフルで集成なしに広告する場合、 クラスCアドレス256個を広告することになりますが、 クラスレスの場合、256個の/24ブロックをひと固まりにして、 192.168.0.0/16という、単一の経路情報で広告することになります。 これによって、 ISP間の経路制御において広告される経路情報の数を大幅に低減することができ、 インターネット全体の経路制御の負担を軽減することが出来ます。 このように、クラスレス技術でISP単位の経路制御を行うことを、 Classless Inter-Domain Routing (CIDR、サイダー)と言います。 CIDRは1993年9月にRFC 1518[110]として発行されました。

CIDRでは、ISPでの集成を可能にするために、 連続したIPアドレスをISPに分配することが必要です。 JPNICではこれにいち早く対応し、RFC 1518が発行されて間もなく、 1993年11月に配下の接続組織に再分配(割り当て)するため、 JPNIC会員に連続するIPアドレスを分配(割り振り)するようにしました[111]。 実際に、 日本のISPでCIDRを活用した経路情報の集成が始まったのは、 1995年9月のことです[112]。 以下に示すグラフは、 日本のISPでCIDRによる経路集成を始める前後の、 日本国内で流通されていた経路情報の数をグラフにしたもので、 集成が経路情報数の低減に大きく貢献していることが分かります。

グラフ:CIDR導入時期の経路情報数
図5-1 1995年9月に国内ネットワークで一斉に行われた経路集成による国内の経路情報数の変化(IP Meeting 95における加藤朗氏の発表より)

CIDRによって、 インターネットには新たに階層的経路制御という概念が持ち込まれました。 CIDR以前のインターネットは、 IPアドレスは他のネットワークとの接続構成とは無関係に割り当てられ、 ネットワーク同士は自由に接続相手を選択することができました。 しかしCIDR以後は、IPアドレスは、 接続性を提供するISPのブロックから割り当てられることが基本で、 ISPを変える場合にはIPアドレスを変える必要があります。 この構造化によって、 インターネットは若干の自由度を失うことと引き換えに、 スケーラビリティを手に入れたことになります。

クラスレス技術で無駄ないIPv4アドレス利用

クラスレス技術は、 クラスCアドレスよりも小さい単位での割り当ても可能にしました。 JPNICではこのクラスCより小さなアドレス空間の割り当てに、 1995年9月に対応しています[113]。 その結果、 非常に小さい組織からクラスCアドレス一つでは足らない大きな組織まで、 適切なサイズのアドレス空間を無駄なく割り当てることができるようになりました。

このように、 IPv4アドレスの無駄ない利用のために今や不可欠となったCIDR技術ですが、 ISPによる経路集成とレジストリにおけるブロック分配だけで利用可能になったわけではありません。

クラスCアドレスよりも小さい単位での割り当てにおいては、 逆引きネームサーバの設定が課題となりました。 クラスフルアドレッシングにおいては、 a.b.c.dというIPアドレスに対して、 d.c.b.a.in-addr.arpaが対応するという基本だけで、 PTRレコード(DNSで逆引きのために利用されるリソースレコード)の設定ができましたが、 クラスCアドレスより小さい単位での割り当てが発生することで、 c.b.a.in-addr.arpaゾーンを異なる複数の組織で分け合うことになります。 これに対しては、 JPNICからCNAMEレコード(DNSで別名を定義するためのリソースレコード)を使った応用的な逆引き名の設定方法の一例[114]を、 この割り当てを開始する際に提供しました。 この他に、古い実装のホストにおいて、サブネットマスクがすべて0、 すべて1のもの(all-0 subnet, all-1 subnet)が利用できないケースがあり、 このような利用を始める前には、 ネットワーク上のホストのソフトウェアを確認する必要がありました37

また、CIDRアドレッシングは、 複数クラスCアドレスの集成利用だけが目的ではなく、 クラスAアドレス領域を、クラスAアドレスをサブネットする形で、 クラスCアドレス領域同様の要領で分配することも視野に入れていました。 1995年4月に発行されたRFC 1797 “Class A Subnet Experiment”[115]では、 39/8というクラスAアドレスを利用し、 第2第3オクテットにAS番号の値を入れることで、すべてのASが、 39/8のアドレスブロック中から/24のアドレススペースを利用できるように定め、 実験用途に開放しました。 この実験で大きな問題がなかったことを確認した後、 1996年にIANAから各RIRに対してクラスA領域からの/8が割り振られ、 各RIRがパイロットプロジェクトとしてLIRへの割り振りを開始しました[116]

このようにインターネットの技術コミュニティは、 経路制御技術とIPアドレス分配の両輪で、 ISPやエンドユーザーの協力を得ながら、 急増するインターネット需要に応えていきました。

←第4章 Ver.1.0-2014年11月17日 第6章→

[93] “If you are developing a protocol or application that will require the use of a link, socket, port, protocol, or network number please contact Jon to receive a number assignment.”
J. Postel, J. Vernon, "ASSIGNED NUMBERS", RFC 820, January 1983
https://tools.ietf.org/html/rfc820

[94] IPv4アドレスにクラスの概念が導入されたのは、RFC 791が初めてであった。
“INTENRET PROTOCOL DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION”, RFC 719,  September 1981
https://tools.ietf.org/html/rfc791

[95] BGP Routing Table Analysis Reports
http://bgp.potaroo.net/

[96] FYI32, R. Zakon, "Hobbes' Internet Timeline", RFC 2235, November 1997, p9
http://tools.ietf.org/html/rfc2235

[97] Chiappa, N., "The IP Addressing Issue"
http://tools.ietf.org/html/draft-chiappa-ipaddressing-00

[98] P. Gross, P. Almquist, "IESG Deliberations on Routing and Addressing", RFC 1380, November 1992
http://tools.ietf.org/html/rfc1380

[99] Internet Architecture Board, Internet Draft “IP Version 7”, July 1992
http://wiki.tools.ietf.org/html/draft-iab-ipversion7-00

[100] Chapin, L., “A summary of the IAB's proposals in response to the work of the ROAD group” , July 1992
http://rms46.vlsm.org/3/0001.txt

[101] S. Deering, R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", RFC 1883, December 1995
http://tools.ietf.org/html/rfc1883

[102] Hinden, R. “IPv6 Past, Present, and Future”, 2012
http://go6.si/wp-content/uploads/2012/10/BobHinden_IPv6_Past_Present_Future-01.pptx.pdf

[103] Address Lifetime Expectations Working Group (ALE)
http://www.ietf.org/wg/concluded/ale.html

[104] IANAにおけるIPv4アドレス在庫枯渇、およびJPNICの今後のアドレス分配について
https://www.nic.ad.jp/ja/topics/2011/20110204-01.html

[105] APNICにおけるIPv4アドレス在庫枯渇のお知らせ、および枯渇後のJPNICにおけるアドレス管理ポリシーのご案内
https://www.nic.ad.jp/ja/topics/2011/20110415-01.html

[106] 【速報】ヨーロッパ地域レジストリにおけるIPv4アドレス在庫枯渇のお知らせ
https://www.nic.ad.jp/ja/topics/2012/20120918-01.html

[107] 南米地域レジストリにおけるIPv4アドレス在庫枯渇のお知らせ
https://www.nic.ad.jp/ja/topics/2014/20140612-01.html

[108] 加藤朗,アドレス及び経路制御の現状(1995年11月版), IP Meeting ‘95予稿集,1995年11月

[109] Li, T., Fuller, V., RFC4632”Classless Inter-domain Routing (CIDR):The Internet Address Assignment and Aggregation Plan”, August 2006
http://tools.ietf.org/html/rfc4632

[110] RFC1518 “An Architecture for IP Address Allocation with CIDR”
http://tools.ietf.org/html/rfc1518

[111] 浅羽登志也, IPアドレスの割当について, IP Meeting ‘95予稿集,1995年11月

[112] 加藤朗,アドレス及び経路制御の現状(1995年11月版), IP Meeting ‘95予稿集,1995年11月

[113] Class Cより小さなアドレス空間の割当(サブアロケーション)に関するパイロットプロジェクトについて
https://www.nic.ad.jp/doc/jpnic-00022.html

[114] /24より小さい割り当てに対する、ネームサーバーの逆引きの設定方法
https://www.nic.ad.jp/doc/jpnic-00880.html

[115] IANA, "Class A Subnet Experiment", RFC 1797, April 1995
http://tools.ietf.org/html/rfc1797

[116] 前村昌紀, 「旧クラスAアドレスの割り当ての動向」, IP Meeting 97予稿集, 1997年12月