随時更新していく。
IPアドレスの特徴
IPアドレス (Internet Protocol Address) とは、ネットワーク上の機器に割り当てられる「住所」のようなもの。データを正しい機器に届けるために必要な識別番号。
IPアドレスは「 形式(IPv4 / IPv6) 」と「用途(プライベート / パブリック)」の2つの軸で分類され、それぞれ異なる役割を持っている。
二つの形式
IPv4(アイピー・ブイ・フォー)
古くから使われている形式で、それぞれ0から255までの値をとる4つの数字(オクテット)をドットで区切った形式で表現され、全体で32bitの長さを持っている。
例 192.168.0.1
オクテット番号 | 値(10進数) | bit数(2進数) |
---|---|---|
第1オクテット | 192 | 11000000 |
第2オクテット | 168 | 10101000 |
第3オクテット | 0 | 00000000 |
第4オクテット | 1 | 11000001 |
現在の主流はIPv4ですが、割り当てられる番号が枯渇してきたからIPv6が生まれた。
IPv6(アイピー・ブイ・シックス)
各セグメントが16進数4桁で表されるブロックを8つ、コロンで区切った形式で構成され、全体で128bitの長さを持つ。
例 2001:0db8:0000:0000:0000:ff00:0042:8329
セグメント番号 | 値(16進数) | bit数(2進数) |
---|---|---|
第1セグメント | 2001 | 0010000000000001 |
第2セグメント | 0db8 | 0000110110111000 |
... | ... | ... |
第8セグメント | 8329 | 1000001100101001 |
ふたつの用途
IPアドレスには大きくわけて2種類がある。
プライベートIPアドレス
- LAN(家庭内・社内ネットワーク)でのみ使えるアドレス
- インターネットには直接アクセスできない
- NAT機能によりルーターがパブリックIPアドレスに変換して通信
パブリックIPアドレス(グローバルIPアドレス)
- インターネット上で使用される一意なIPアドレス
- 世界で重複しないように管理されている
- グローバルIPアドレスとは用語が違うだけで意味は同じ(文脈によって使い分ける)
クラス制はなぜ生まれたのか
1980年代初期、インターネットはまだ始まったばかりの時代。
複数の機関や大学、企業がネットワークを使いたい!って状況になった。
でも当時はIPアドレスの総数 = 約43億個(IPv4)「どうやって効率的に配る?」が問題だった。
IPアドレスのまとまり(ブロック)を配る
インターネットに接続するには、機器ごとにIPアドレスが必要
でも、1台ずつちまちま配るのは非効率だから、
組織ごとに「アドレスの範囲(ブロック)」をまとめて割り当てる
というクラス制がとらえた。
解決策 クラス制(Classful Addressing)
昔の方式で、IPアドレスはA~Eクラスに固定分割されていた。
クラス | ネットワーク部 | ホスト部 |
---|---|---|
A | 8bit | 24bit |
B | 16bit | 16bit |
C | 24bit | 8bit |
組織の規模に合わせて、決められたサイズのIPブロックを自動的に渡す仕組み
-
Aクラス:ネットワーク部 8bit + ホスト部 24bit
→ 超巨大組織向け(1個で約1,600万台!) -
Bクラス:ネットワーク部 16bit + ホスト部 16bit
→ 中規模(約6.5万台) -
Cクラス:ネットワーク部 24bit + ホスト部 8bit
→ 小規模(約254台)
しかし問題が...
-
小さな会社がCクラス(254台)を超えると、もう1個もらう必要がある
→ 無駄が出る -
大企業がAクラスをもらっても使い切れない
→ 大量のIPがムダに保持される -
結果、IPアドレスがどんどん足りなくなる!
CIDR(サイダー)記法
解決したのが、CIDR = クラスレスアドレス方式
「もうクラスに縛られるのやめよう」
→ 必要な分だけ、ビット数で指定して配れるようにしよう!
IPアドレスの後ろに「スラッシュ記法(/◯)」でネットワーク部のビット数を指定する。
例 192.168.0.1/24
IPv4は全体で32bit、/24は上位24bitがネットワーク部
11000000101010000000000000000001
太字がネットワーク部となる。
つまり、192.168.0がネットワーク部となる。
クラス制、CIDRの他に、ネットワーク部とホスト部の
区切りを示す別の方法にサブネットマスクがある。
サブネットマスクとは
役割と意味
- IPアドレスのどこまでがネットワーク部かを示すマスク
- ビット単位でネットワークとホストの境界を決める
サブネットマスクとCIDRの対応関係
CIDR記法 | サブネットマスク |
---|---|
/8 | 255.0.0.0 |
/16 | 255.255.0.0 |
/24 | 255.255.255.0 |
/30 | 255.255.255.255 |
IPv6にはサブネットマスクの概念は存在せず、CIDR表記のみを使う
なぜIPv6にサブネットマスクがないのか
- IPv6アドレスは 128bitの16進数
- IPv4みたいに「255.255.255.0」とかで書いても人間が読めない・扱いにくい
- そもそもIPv6では、IPクラスのような枠もなくなってるので、CIDRだけで十分
IPv6は「/64」がデフォルトな理由
IPv6では、基本的に、
- 上位64bit → ネットワーク部
- 下位64bit → インターフェースID(MACアドレスベースの識別子など)
という構成が推奨されてる。
そのため、CIDR表記で「/64」を使うのが標準となった。
サブネットマスクは使われていないのか
現在は、CIDR表記が主流の書き方になったけど、サブネットマスク自体は今もバリバリ使われてる!
なぜCIDRが主流になったのか?
CIDRの目的
- クラス制(A/B/C)によるIPアドレスの無駄遣いを減らすため
- ネットワークをもっと柔軟に分割できるようにするため
- インターネットのルーティング情報を少なくして処理を軽くするため
CIDRの強み
- /24 といった表記は短くて明確
- IPアドレスのまとめ(集約:サマリールート)にも便利
でも、サブネットマスクは今も使う
- ルーターやスイッチの設定画面
→ 255.255.255.0 のように、サブネットマスク形式で入力することが多い - WindowsやMacのネットワーク設定画面
→ 「サブネットマスク」の項目はあるし、CIDRでは入力できない
CIDRは表記法として主流になっただけで、サブネットマスクという考え方や値は今も現役!