0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IPアドレスはなぜ32ビットなのかをなるべく暗記せず理解する

Last updated at Posted at 2025-05-05

インターネット以前

インターネット以前の時代、ネットワークは個々に存在していました。例えばARPANETは、UCLA、スタンフォード大学などの特定の研究機関を接続する実験的なネットワークでだった。これとは別に、IBM、Appleなどの各コンピューターメーカーも独自の通信規格を開発し、自社製品間でのみ通信可能なネットワークを構築していました。

これらのネットワークはそれぞれ独自の通信方式を持っており、異なるシステム間での通信は不可能でした。

この分断状態を解消するため、異なるネットワーク同士を接続する共通言語(プロトコル)の開発が進められました。その成果として誕生したのがTCP(Transmission Control Protocol)です。TCPは、異なるネットワーク間でも確実にデータをやり取りするための仕組みを提供しました。

IPアドレスの32ビット構造の起源

当時のネットワークでは、各コンピューターを識別するために通常16〜24ビットのアドレス空間が使用されていました。異なるネットワークを統合するにあたり、各ネットワークを識別するための「ネットワーク部」と、そのネットワーク内の各コンピューターを識別する「ホスト部」の両方が必要になりました。

こうした要件から、ホスト識別用に24ビット、ネットワーク識別用に8ビットを割り当て、合計32ビットのアドレス体系が設計されました。この構造が、現在のIPv4アドレスの基礎となっています。

ARPANETには「10」というネットワーク番号が割り当てられ、これが現在のクラスAプライベートアドレス(10.0.0.0/8)の起源となりました。

RFC 791っていうのが,今のIPプロトコルの元になっている仕様です。
ここで32ビット,A/B/CクラスというIPアドレスの考え方が記載されています。
しかし,IPプロトコルは何もないところから突然登場したわけではなく,
いくつかの改良を加えられながら発展してきたものでした。
その一つ前のバージョンであるRFC760では,
A/B/Cというクラスの考え方はなく,
ネットワーク番号が8ビット,ホスト番号が24ビットで固定されています。
クラスという考え方はありませんが,このときすでに32ビットだったんですね。
では,なぜ32ビットになったかというと,
その辺の理由はIEN 115を見るとわかります。
ARPANET,SATNET,PRNET,LCSNET,EDN,DCNs
といったインターネットを構成するネットワークがあり,
そこで使っていたアドレスをホスト番号にマッピングするためには24ビット必要だった,
そして,そこにネットワーク番号を8ビット付加すると32ビットになった,
ということのようです。

参考文献

http://tonetsutomu.com/tone/node/198
https://www.sri.com/ja/press/story/sri%E3%81%AE75%E5%B9%B4%E9%96%93%E3%81%AE%E3%82%A4%E3%83%8E%E3%83%99%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%EF%BC%9A%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%8D/
https://www.rfc-editor.org/rfc/rfc796.html

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?