Home > 6 月 26th, 2008

2008.06.26

ネットワークの基本 IPアドレス

現在のコンピューター同士の通信は主にTCP/IPが使われます。
このTCP/IPの基本となる仕組みがIPアドレスです。今回はこのIPアドレスの基本のおさらいです。

色々探したのですが、RFCとwikipediaが一番良い解説をしていたので詳細はそちらを参照してください。

RFC791(ちゃんと知るにはRFCが一番!)

IPアドレス(WikiPedia)
IPアドレスには現状ではv4とv6がありますが、ここでは主流のIPv4について記述します。

IPアドレスは4つのセグメントからなり、それぞれ0~255まで値が割り当てられています。

このセグメントの値によって、ホストもネットワークも表現する事が可能です。

例:

  • ホスト  192.168.0.1 ←最後が1~254だとホスト
  • ネットワーク 192.168.0.0 ←0はネットワークアドレス

このアドレスに関しても無意味に決められているわけでなく、IANAという団体が管理しています。また、それぞれの範囲にクラスが設定されていて、クラス毎に使用できる用途や範囲が決まっています。

アドレスクラス

クラス アドレス範囲 用途
クラスA 0.0.0.0~127.255.255.255 ネットワークアドレス長は8ビット、ホストアドレス長は24ビット
クラスB 128.0.0.0~191.255.255.255 ネットワークアドレス長は16ビット、ホストアドレス長も16ビット
クラスC 192.0.0.0~223.255.255.255 ネットワークアドレス長は24ビット、ホストアドレス長は8ビット
クラスD 224.0.0.0~239.255.255.255 IPマルチキャスト専用
クラスE 240.0.0.0~255.255.255.255 特に割り当ては決まっていない

また、アドレスの範囲によって、グローバルアドレスとローカルアドレスが決まっている。

予約アドレス一覧

アドレス 種別 規約
0.0.0.0/8 Current network (only valid as source address) RFC 1700
10.0.0.0/8 プライベートアドレス RFC 1918
14.0.0.0/8 Public data network RFC 1700
39.0.0.0/8 予約 RFC 1797
127.0.0.0/8 ローカルホストアドレス RFC 1700
128.0.0.0/16 予約
169.254.0.0/16 LINKLOCALアドレス(APIPA用) RFC 3927
172.16.0.0/12 プライベートアドレス RFC 1918
191.255.0.0/16
192.0.0.0/24
192.0.2.0/24 テストネットワーク RFC 3330
192.88.99.0/24 IPv6からIPv4への変換 RFC 3068
192.168.0.0/16 プライベートアドレス RFC 1918
198.18.0.0/15 ネットワーク性能試験 RFC 2544
223.255.255.0/24 予約 RFC 3330
224.0.0.0/4 マルチキャスト(クラスD) RFC 3171
240.0.0.0/4 予約(クラスE) RFC 1700
255.255.255.255 ブロードキャスト

特殊用途のIPアドレス

下記のアドレスは特殊な用途に使われるため、機器に割り振ることはできない。

  • ホスト部の2進数表現が全て1 (例:192.168.170.255/24)
    ネットワークに対するブロードキャストアドレスとして用いられる。
  • ホスト部の2進数表現が全て0 (例:192.168.170.0/24)
    ネットワーク自体を指すアドレスとして用いられる。本来これはネットワーク構成図やサーバソフトウェアの設定などにおける表記上の約束事にすぎ ず、実際には必ずしも使えないわけではないが、動作が保証されないので避けたほうがよい。また過去においては、ブロードキャストアドレスとしてこの形式を 用いるOSも存在した。
  • 127.0.0.0/8 (よく使われるのは127.0.0.1)
    その機器自身を表すローカルループバックアドレスとして用いられる。
    ループバックとは?
    その機器の内部での再帰的な通信(あて先が無いと通信出来ないため)。なので通常のNICが1枚のPCはループバックアドレスと通常のIPアドレスの2つのアドレスを持つ

※ブロードキャストストームとは?

ルールとして、グローバルIPは同時間では世界中にひとつ、ローカルアドレスはローカル内であればいくらでも割り当てられます。

次回はこのネットワークアドレスをセグメント内でさらに分ける(マスク)に関して書きます。

参考リンク:社内LANの組み方

JavaScriptのライブラリ、使ってますか?

今日は javascript の代表格(?)、jQueryのご紹介

実演をメインにする予定なので、ネット上にはさわり部分のみになりますが…

(more…)