🤔

【IPアドレス入門】サブネットもCIDR(サイダー)も「後付け」だった?IPv4アドレス発展の歴史

に公開

【IPアドレス入門】サブネットもCIDR(サイダー)も「後付け」だった?IPv4アドレス発展の歴史

こんにちは! 株式会社HESの望月です。

最近ネットワークを改めて勉強中ですが、「なんとなく」の理解が実は間違いだった……と気づくことがよくあります。長年持っていた苦手意識は、こうした小さな勘違いの積み重ねが原因だったのかもしれません。

中でも、学生時代に特に疑問だらけだったのがIPアドレスです。

* よく見る `192.168.` という番号に意味はある?
* サブネットマスクと`/24`[CIDR(サイダー)表記]の関係は?
* IPアドレスは枯渇すると聞いたけれど、これまでどう乗り切ってきた?

そこで今回は、過去の私と同じ疑問を持つ方へ向けて、IPアドレスの基礎と、枯渇と戦ってきた技術の歴史を解説します。(※現代の枯渇対策については、また別の記事で詳しく解説します!)

ぜひ最後までご覧ください!

1. IPアドレスの基礎

まずは、IPアドレスの基礎知識をまとめます。

1.1 IPアドレスとは?

IPアドレスは、ネットワーク上の機器の「住所」です。
データの「宛先」や「差出人」を特定するために使われます。
バージョンはIPv4とIPv6がありますが、現在もメインで使われているのはIPv4です。

1.2 IPアドレスの表記

IPv4アドレスは、以下のルールで表記されます。

`192.168.1.1`
  -> 0~255の数字を4つ、「.」(ドット)で区切る

これをエンジニアっぽく言うと「8ビット×4つ=合計32ビットの番号」です。
この組み合わせは、計算すると全部で約43億個2^{32})になります。

1.3 「町名」と「番地」

現実世界の住所には、「市区町村名(エリア)」と「番地(個別の場所)」があります。
IPアドレスもこれと同じで、32ビットの番号を「エリア」と「個別の場所」に分けることができます。

  • ネットワーク部:どのグループかを示す部分。「市区町村名」にあたる。
  • ホスト部:その中の、どのコンピュータかを示す部分。「番地」にあたる。

1.4 約43億個はどう管理されている?

IPアドレスは世界中で重複しないよう、厳密に管理されています。
頂点の「IANA」から順に、地域、国、プロバイダへと管理範囲が割り振られ、最終的に私たちユーザーへ割り当てられます。

IANA (ICANN) :全世界を管理

 └─ APNIC (アジア太平洋地域)

     └─ JPNIC (日本国内)

         └─ ISP (プロバイダ) 

             └─ 個人や企業のルーター

私たちが普段ネットを使えるのは、契約しているプロバイダからIPアドレスを一時的に借りているからなのです。

2. いかに「無駄」をなくすか? IPアドレス節約の歴史

学習を進めると、以下のような用語で混乱することがあると思います。

* サブネットマスク
* CIDR(サイダー)
* グローバル / プライベートIPアドレス

これらはIPv4アドレスの誕生時点から存在したわけではありません。
インターネットが普及し、IPアドレスが足りなくなるにつれて「いかに無駄なく使うか」を考えた結果、後から追加された技術です。

複雑に見えるこれらの技術は、すべて 「枯渇との戦い」の中で生まれた延命策 です。そのため、歴史の流れ(課題と解決策)を追うと、それぞれの役割が自然と理解できます。

  1. クラスフル: 大雑把にクラス分けして配布
  2. サブネット化: 貰ったネットワークを小さく分割
  3. CIDR(サイダー): クラスを捨てて、ビット単位で区切る
  4. NAT: 1つのIPアドレスをみんなで共有
  5. IPv6: 桁数そのものを増やす

本章では、この進化の過程を順に解説します。

2.1 大雑把にクラス分けして配布 (クラスフルアドレッシング)

インターネット黎明期、IPアドレスは大学や企業へ「ブロック単位」でドンと配られていました。
当時は細かい調整ルールがなく、「クラス」という3つのサイズ(大・中・小)を、組織の規模に合わせて割り振る「クラスフルアドレッシング」という単純な方法を採用していました。

このように、管理機関から特定の組織へ直接割り当てられたIPアドレスを、現在では「歴史的PIアドレス」と呼ぶこともあります。

2.2 貰ったネットワークを小さく分割する (サブネット化)

しかし、「クラスB(約65,000個)」は1つの組織で使うには大きすぎて管理しにくい問題がありました。そこで、組織内でネットワークをさらに細かく分割する「サブネット化」が登場しました。

このようにマスクで区切り位置を変えることで、巨大なネットワークを部署単位などで扱いやすいサイズ(サブネット)に分割できるようになりました。

2.3 無駄な割り当てをなくす (CIDR)

1990年代、インターネットの爆発的な普及により、「このままではIPアドレスが枯渇する」という危機が訪れました。

特に問題だったのが、クラス分けによる「無駄な割り当て」です。
「クラスB(6.5万個)では多すぎるが、クラスC(254個)では足りない」という組織に対し、適切なサイズを配れなかったのです。

そこで、クラスの概念(S/M/L)を捨て、必要な分だけ切り取って割り当てるルール(クラスレスアドレッシング)が作られました。
これが CIDR(Classless Inter-Domain Routing / サイダー) です。

2.4 1つのIPアドレスをみんなで使う (プライベートIPとNAT)

CIDRの登場で無駄は減りましたが、インターネット普及のスピードには追いつけません。
そこで「すべての機器が、世界で唯一のIPアドレスを持つ必要はないのでは?」という発想の転換が行われました。

こうして生まれたのが「プライベートIPアドレス」です。

2.5 次世代への刷新 (IPv6)

CIDRやNATは、あくまで「限られたIPv4を延命するための節約術」に過ぎません。
そこで、枯渇問題を根本から解決するために作られた新バージョンが「IPv6」です。

最大の違いは「桁数」です。
32ビット(約43億個)だったIPv4に対し、IPv6は128ビットに拡張されました。

`2001:0db8:85a3:0000:0000:8a2e:0370:7334`
 -> 4桁の16進数を8つ、「:」(コロン)で区切る

これをエンジニアっぽく言うと「16ビット×8つ=合計128ビットの番号」です。
その数は約340澗(かん)個3.4 \times 10^{38})になります。事実上、枯渇の心配はありません。

3. まとめ

本記事では、IPアドレスの基礎と、その「節約の歴史」について解説しました。
限られた43億個のIPv4アドレスを使い続けるため、先人たちは「効率化」と「共有」で対抗してきました。

  • クラスフル: 最初の大雑把な割り当て
  • サブネット化: 組織内で小さく分割して管理
  • CIDR: クラスを捨て、必要な分だけ配る(効率化)
  • NAT: 組織内でIPを使い回す(共有)
  • IPv6: 桁数を増やして根本解決

ここまで読めば、「IPv6へ移行すれば枯渇問題は解決!」と思われるかもしれません。
しかし、現実はそう簡単ではありませんでした。

実は、IPv4アドレスの在庫は2011年に枯渇しています。 それにも関わらず、世界はまだIPv6へ完全移行せず、今もIPv4を使い続けています。

* 在庫がないのに、なぜ今もIPv4で通信できているのか?
* なぜ「無限」のIPv6へ移行しないのか?
* プロバイダが裏で行っている「延命策」とは?

この「新たな疑問」については、次回の記事で解説します。
本記事を最後までご覧いただき、ありがとうございました。 次回の記事もぜひ楽しみにお待ちください!

参考

記事作成にあたり、以下サイトの情報を参考にさせていただきました。

HESI :技術や日々のお仕事などを紹介します

Discussion