前回(「あらためてIPv6基本のキ」)に続いてのIPv6の話。IPv6アドレスは、128bitという「広大な空間」になっているため、ビットパターンからアドレスの種類を判別できるようになっている。簡単に言えば、前半部分となる「プリフィックス」を見れば、アドレスの用途がわかる。
IPv6のアドレス表記方法
128bitもあるIPv6のアドレスは、基本的には「プリフィックス」と呼ばれる上位部分と、「インターフェースID」と呼ばれる下位部分に分かれる。
まずIPv6では、この128bitを16bitごとに分ける。これを小文字を使う16進数(0~9abcdef)で表現する。8つの16進数が作られるが、それをコロン「:」でつないでいく。これが基本である。
さらに16進数表現の上位部分にゼロがあれば省略する。たとえば、16進数で「00ff」となるなら「ff」と表記する。このルールを使うと「0000」は「0」になる。
もし0となる部分が32bit以上あれば、「::」として省略する。つまり、上記の例でいえば「~:0:0:~」となるなら「~::~」と表記できる。省略可能なのは1ヵ所のみで、複数箇所で省略が可能な場合には、「なるべく多くのビットを省略できる」「省略可能なビット数が同じ場合は上位にあるもの」という条件を使う。
ちょっと面倒な話ではあるのだが、人間がこうした表記を作る必要はなく、基本的にはコンピュータがIPv6アドレスの表記にこのルールを使う。そのため、以下の2つだけ覚えればよい。
・「::」の部分はゼロが省略されているが1ヵ所のみ
・全体が128bitなので省略されているビット数は計算でわかる
もう1つ覚えるべきなのは、プリフィクス部の表記方法である。プリフィック部は、確定しているプリフィック部分を前記のIPv6アドレス表記して、後ろにスラッシュをつけてプリフィックス部のビット数を表現する。
たとえば「f800::/64」というプリフィックス表記は、
f800:0000:0000:0000
という64bitのビットパターンを表わし、
f800:0:0:0:xxxx:xxxx:xxxx:xxxx
というIPv6アドレスに対応する。後半の「xxxx:xxxx:xxxx:xxxx」がインターフェースID部である。
プリフィックス部は、IPv4でいうネットワークアドレスに対応し、インターフェースID部は、ネットワーク内のホスト部に相当する。
IPv4でも、個々のホストの話では32bitすべてを使ったホストアドレスを使うが、LAN(サブネット)全体の話では、ネットワークアドレスを使う。
同じようにIPv6ではプリフィックス部を使ってLAN/サブネットを表示し、インターフェースIDを含めた128 bitのIPv6アドレスで個々のホストが対象となる。IPv4では、このときネットマスクや、CIDR(Classless Inter-Domain Routing)によるスラッシュで区切ったビット数表示が使われたが、IPv6では、プリフィックス表記を使うのだ。
この連載の記事
-
第459回
PC
WSL 2.4.4ではtar形式でのディストリビューションが配布でき、企業での利用が容易になってきた -
第458回
PC
Windows上でhostsファイルを活用する -
第456回
PC
あらためてIPv6基本のキ -
第455回
PC
Windowsで現在どのネットワークアダプタがインターネット接続に使われているかを調べる方法 -
第454回
PC
Windows 11 24H2では「デバイスの暗号化」の条件が変わり、より多くのPCでドライブが暗号化される -
第453回
PC
Windows 11 24H2の配布開始後もすぐにはやってこない Windows UpdateとSafeguard Holds -
第452回
PC
Windows 11 Ver.24H2が登場 Copilot+ PCとそうでないPCで実質Windowsが2つに分かれる -
第451回
PC
新しいWindowsサンドボックスではコマンドラインからの制御が可能に -
第450回
PC
ユニコードで文字数を数える方法 -
第449回
PC
WSLはプレビュー版でGUIでの設定が加わった! リリース2.3.xの新機能を見る - この連載の一覧へ