IPアドレスについて
IPアドレスが割り当てられるもの
IPアドレスは、すべてのノード(ホスト/ルータ)に割り当てられます。 逆に、リンク層でパケットを中継する機器(ハブ/ブリッジ/リピータ)には割り当てられない。 より厳密に言えば、全てのインターネットインタフェースにIPアドレスが割り当てられます。
ホスト(エンド)
ホストとは、パソコンのことです。
ルータ
ルータとは、ネットワークを繋ぐ機器です。
MACアドレスとの違い
MACアドレスはリンク層におけるリンク内で機器を識別する。
IPv4
IPv4におけるIPアドレスの表し方
- IPv4のIPアドレスは32ビットで表されます。
101010101010101010101010
- 8ビットごとに
.
で区切ります。
10101010.10101010.10101010.10101010
- 区切ったところをそれぞれ10進数で表します。
170.170.170.170
これが通常用いられるv4のIPアドレスです。
IPアドレスの構造
IPアドレスは、実は以下の2つの部分に分けることができます。
ネットワーク部(network number bit field)
世界中には沢山のネットワーク(LAN)があります。そのうち、どのネットワーク(LAN)にあるのかを表します。
ホスト部(rest bit field)
一つのネットワーク(LAN)には、沢山のネットワーク(LAN)があります。そのうち、どのホスト(コンピュータ)なのかを表します。
IPアドレスは、最終的にデータを届けるホスト(コンピュータ)を表すIDです。それを2段階に分けて探すイメージを持ってください。
1回目はネットワーク部を用いて「世界中のネットワークから1つのネットワーク」
2回目はホスト部を用いて「あるネットワークから1つのホスト(コンピュータ)」
と言うように、です。
具体的に見てみる
- もう一度先ほどのIPアドレスを見てみましょう。
101010101010101010101010
- 次に、左から8ビット目の値と左から9ビット目の値の間で分けます。
10101010|1010101010101010
- このうち、左側のパートがネットワークアドレス部、右側がホストアドレス部です。つまり、
10101010
というネットワークの中の、1010101010101010
というホスト(コンピュータ)であると特定できます。
10101010(ネットワークアドレス部)/1010101010101010(ホストアドレス部)
- 今回は左から8ビット目の値と左から9ビット目の値の間で分けました。
しかしIPアドレスを区切る場所は他にもありえます。そして、この「どこで分けるか」を決める方法は以下の2つあります。
- クラスフルルーティング: 5つの「クラス」に基づいて、IPアドレスの区切る場所を決めます。
- CIDR: 「アドレスプレフィックス」に基づいて、IPアドレスの区切る場所を決めます。
Private/Global IP address
IPv6
43億個 全世界のインターネット接続人口を考えると枯渇することが予測される 10^36
IPv6におけるIPアドレスの表し方
- IPv6のIPアドレスは128ビットで表されます。
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
- 16ビットごとに
:
で区切ります。
1010101010101010:1010101010101010:1010101010101010:1010101010101010:1010101010101010:1010101010101010:1010101010101010:1010101010101010
- 分けた16ビットを更に4ビットずつ4つに分けたものが1つの文字に対応します。
1010/1010/1010/1010:1010/1010/1010/1010:1010/1010/1010/1010:1010/1010/1010/1010:1010/1010/1010/1010:1010/1010/1010/1010:1010/1010/1010/1010:1010/1010/1010/1010
AAAA:AAAA:AAAA:AAAA:AAAA:AAAA:AAAA:AAAA
2001:0db8:ffff:ffff:0000:0000:0000:abcd
-
区切ったところをそれぞれ16進数で表します。
-
0000
のフィールドは省略する
2001:0db8:ffff:ffff::::abcd
0000
が連続したフィールドも1つの::
で表す。
2001:0db8:ffff:ffff::abcd
- 先頭の
0
は省略
2001:db8:ffff:ffff::abcd
これが通常用いられるv6のIPアドレスです。