本連載では、ネットワーク層の動作について紹介する中で「グローバルアドレス(※1)の利用には管理組織への申請が必要」と何度か紹介してきました。今回は、グローバルアドレスはどのように管理され、割り当てられるかについて紹介します。
(※1)「パブリックアドレス」という言葉も同じ意味で使われることがあります。
IPアドレスがインターネットで割り当てられる仕組み
前提として、私たちがインターネットを使って世界中のさまざまな相手と通信を行うためには、「全世界でユニークなIPアドレス」を使って送信元と宛先を特定する必要があります。
このような使い方をする「グローバルIPアドレス(グローバルアドレス)」はどのような手順で入手するのか、そのプロセスを日本国内の場合を例に説明します。
IANAからRIRへのアドレス分配
IPアドレスは、国際的な非営利組織ICANN(Internet Corporation for Assigned Names and Numbers)の一部であるIANA(Internet Assigned Numbers Authority)というグループによって番号体系が管理されています。
IANAは世界を5つの地域に分割し、それぞれの地域におけるアドレス分配を統括する5つの組織(ARIN、RIPE NCC、LACNIC、AFRINIC、APNIC)を定めています。これらRIR(Regional Internet Registry)と呼ばれる組織に対してグローバルアドレスの範囲を割り当てています。
日本は5つのRIRのうち、APNIC(Asia-Pacific Network Information Centre)の配下に属しています。
APNIC→JPNICへのアドレス分配
APNICは管轄の範囲をさらに7つの国(日本、韓国、中国、台湾、インド、インドネシア、ベトナム)に分割し、それぞれを管理するNIRs(National Internet Registries)に対してグローバルアドレスの範囲を割り当てています。
日本では担当のNIRとしてJPNIC(JaPan Network Information Center)が国内のアドレス分配について管理を行っています。
また、オーストラリア、ニュージーランドなど英語圏の国にはNIRを配置せず、直接APNICが割り当てを行っています。
JPNIC→ISPへのアドレス分配
そして、JPNICはアドレス在庫の中から、日本国内で登録されているISP(Internet Service Provider)へ必要となる数のアドレスを割り当てています。
ISPは、私たちのデータをインターネットへ受け渡しする中継点となってくれる事業者を指します。インターネットの接続には、ISP事業者との契約が必要です。
ISP→ユーザへのアドレス分配
最後の流れとして、各ISPが保有するアドレス在庫から私たちユーザへ向けた有償サービスとしてグローバルアドレスの割り当てを行っています。
さまざまな機関が連携することでグローバルIPアドレスの国際的な割り当てルールが維持されているという全体像を紹介しましたが、具体的にはどのように割り当てされているか、その状況を見てみましょう。
詳細を確認してみたい方はIANAサイトから「Number Resources」「IP Address Allocations」と表示を進めてみて下さい。IPv4ならびにIPv6アドレスの割り当て管理の現状が公開されています(IANAサイト内の項目名は2023年現在)。
IPv4グローバルアドレス割当ての実例
IPv4アドレスの割り当ては、第8回の記事で紹介した「クラス」の考え方による分類が土台になっています。5種類に分類されるクラスはそれぞれ用途に違いがありました。
・クラスA/B/C:特定の機器を示すユニキャストアドレスとして利用できる
・クラスD/E:別の用途を定めており、特定の機器を示すために利用しない
A、BおよびCの3つのクラスについては、下図のようにアドレスの分配が行われます。
(1) クラスの違いを示すためのビット
(2) IANAからRIRへ分配するアドレスの識別に使うビット(先頭から8ビット目まで)
IANAは3つのクラス(A/B/C)にわたって下表のように各RIRへ分配するアドレスの範囲を定義しています。
(3) RIRがNIRsやISPなどへ分配するアドレスの識別に使うビット
何ビット目までを使うか統一のルールは定められず、各組織が事情に合わせて利用できるよう任せられています。例えば、上表でAPNICに割当てられる範囲から202.0.0.0/8に着目すると、下表のようにJPNICが管理を任されているアドレス範囲が定められています。
(4) NIRsがISPへ分配するアドレスの識別に使うビット
(5) ISPが顧客ネットワークへ分配するアドレスの識別に使うビット
この2つの範囲も、利用するビット数は定められておらず、各組織の事情に合わせて利用できるよう任せられています。
IPv6グローバルアドレスの割当ての実例
IPv6のグローバルアドレスもIPv4のアドレスと同様、IANAを頂点とした各組織の連携によって割当てが決められています。先頭から64ビットの範囲を使い、上位にあたる組織が下位の組織に分配するアドレスを判別しています。
IPv4の場合と比較すると、どの組織においても利用するビット数が定められているという違いがあります。
(1) グローバルユニキャストアドレスであることを示す先頭3ビット(001)
(2) IANAからRIRへ分配するアドレスの識別に使う20ビット
(3) RIRがNIRsやISPなどへ分配するアドレスの識別に使う9ビット
(4) NIRsがISPへ分配するアドレスの識別に使う16ビット
(5) ISPが顧客ネットワークへ分配するアドレスの識別に使う16ビット
まとめ
・IANA→RIR→NIRs→ISPといった複数の機関が連携し、階層的な役割を果たしながらグローバルアドレスの定義を行っている
・IPv4アドレスもIPv6アドレスも、同じ組織がアドレス割り当ての役割を担っている
皆さんも、ご自身の機器に割当てられたグローバルアドレスがどういった割当てを踏まえて分配されたか、ぜひ調べてみてください。
ここまでTCP/IP技術の中核となる「ネットワーク層」の技術や仕組みについて6回に分けて紹介しました。次回は「トランスポート層」動作の仕組みや技術について解説します。
著者プロフィール
船橋 譲(ふなはし ゆずる)
ネットワンシステムズ株式会社
ビジネス開発本部イノベーション推進部ネットワークアカデミーチーム所属
2005年ネットワンシステムズ入社。保守サービスの品質向上のためのエンジニア育成に携わったのち、現在は顧客向けの技術インストラクターとして勤務。インストラクター歴12年。CCIE認定を取得し、[主にネットワーク技術全般およびセキュリティ関連技術の研修を担当している](https://www.netone.co.jp/service/lifecycle/academy/)。シスコシステムズ社認定インストラクターとしてCCSI Excellence Awardを2年連続受賞。