IPアドレスのことで教えてください

お世話になります。
『完全理解TCP/IP』で勉強中です。
仕事の中でIPアドレスをこれまで何気なく設定をして来ましたがふと
次のようなことに疑問を感じております。
①IPアドレスはなぜ32ビット表記なのか?(IPv4では)
  考えられたとき、32ビットがなぜ選ばれたのか?
②32ビットを4つに分けて、それぞれが8ビットになっていますが、
  なぜ、4つに分けなければならなかったのでしょうか?
  当初は、クラスAだけしか使われていなかったと仮定して考えると、
  ネットワークアドレス部とホストアドレス部の二つが必要なので
  2つでもできたのではないかと思いました。
  また、それぞれは8ビットなんですがこれも8ビットになった経緯を
  教えていただけませんでしょうか。
よろしくお願いします。 

名前: 
岩下勇次
日時: 
04/03/23 10:24

コメント

岩下勇次さん,こんにちわ。
面白い質問ですね。

>①IPアドレスはなぜ32ビット表記なのか?(IPv4では)
>  考えられたとき、32ビットがなぜ選ばれたのか?

私も歴史的な経緯に詳しくありませんが,
下記のドキュメントを見るとある程度事情がわかります。
IEN 111 : INTERNET PROTOCOL (1979)
http://www.networksorcery.com/enp/ien/ien111.txt
IEN 115 : ADDRESS MAPPINGS (1979)
http://www.networksorcery.com/enp/ien/ien115.txt
RFC 760 : INTERNET PROTOCOL (1980)
http://www.rfc-editor.org/rfc/rfc760.txt
RFC 791 : INTERNET PROTOCOL (1981)
http://www.rfc-editor.org/rfc/rfc791.txt

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ビットになった,
ということのようです。

>②32ビットを4つに分けて、それぞれが8ビットになっていますが、
>  なぜ、4つに分けなければならなかったのでしょうか?

この理由はよくわかりませんね。
でも,8ビットずつ四つに分けて表記する方法は,
RFC791によってクラスの考え方が出てきた頃のような雰囲気です。
RFC790にASSIGNED NUMBERSの一覧がありますが,
そこでは四つに分けた表記なんですが,一つ前のRFC776では違う表記です。
クラスの導入によって,8ビットずつ分けるのが便利だったということじゃないかしら。

上の二つは,RFCやIENをざっと眺めて書いているだけなので,
もしかしたら間違っているかもしれません。
知っている方いたらフォローお願いします。 > 皆様

さっそくご説明をいただきましてありがとうございます。
RFCの英文を日本語に直せなくて情けないのですが、経緯が分かりました。
少しほっとしました。
>ARPANET,SATNET,PRNET,LCSNET,EDN,DCNs
>といったインターネットを構成するネットワークがあり,
>そこで使っていたアドレスをホスト番号にマッピングするためには24ビット必要だった,
32ビットになった経緯も分かりました。
なぜ、4つに分けたのかははっきりしないということなんですね。
クラスを4つに分けるためには、この方法が必要だったということなら
自然な感じがします。
どうもありがとうございました。