IPv6アドレスは先頭を見ればどんな種類かわかる
ASCII.jp / 2024年11月10日 10時0分
前回(「あらためて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では、プリフィックス表記を使うのだ。
覚えておきたいIPv6アドレスの種類や用途
IPv6は128bitあるため、そのうちの一部のビットを使って、アドレスの種類や用途を表すことができる。こうしたビットは、IPv6アドレスの先頭部分にある。以下の表は、主なIPv6アドレスの種類とパターンを示したものだ。
IPv6には、大きく3種類のアドレスがある。特定のホストを指す「ユニキャスト」アドレス、データの受信を希望する複数のホストへの宛先となる「マルチキャスト」アドレス、そして、「最も近い」ホスト1台に到達する「エニーキャスト」アドレスである。このうち、ユニキャストアドレスとエニーキャストアドレスは、アドレスのビットパターン上の区別がない。
IPv4では、マルチキャストアドレスは、「224.0.0.0」~「239.255.255.255」が使われたが、IPv6のマルチキャストアドレスは先頭プリフィックスが「ff00::/8」になっている。先頭が「ff」となっていたらマルチキャストアドレスである。
基本的には、ユニキャストアドレスのパターンだけを理解し、先頭がffなのはマルチキャストアドレスだと思えばよい。その中で、まず覚えておくべきなのは、先頭が「2」から始まるグローバルアドレスだ。プロバイダとの接続でIPoEなどを選択したとき、プロバイダが割り当てる「プリフィックス」の先頭が2になっているなら、インターネットからアクセス可能なグローバルアドレスである。
ただし、実際にアクセスが可能なのかどうかはルーター設定などに依存し、通常はルーターで外部からのアクセスをフィルター機能などで禁止している。
IPv4では、プライベートアドレスや特殊アドレス以外はグローバルアドレスだったので、IPv4アドレスをパッと見て、グローバルアドレスかどうかを判定できるなら、少なくとも素人レベルは脱している。しかしIPv6では、先頭アドレスさえ見れば、グローバルかどうかが簡単にわかる。
もう1つ覚えておくならリンクローカルアドレスで、こちらは「fe80」から始まる。MACアドレスを持つネットワークインターフェースには必ず定義されるので、IPv6アドレスを表示したときに必ず含まれる。
リンクローカルアドレスは、LAN内の通信には使えてもLAN外の通信には使えない。また、リンクローカルアドレスは、ネットワーク・インターフェースのMACアドレスをベースにしてインターフェースIDが決まるため、ネットワーク・インターフェースごとに定義される。
このため、リンクローカルアドレスには、対象となるネットワーク・インターフェースを区別するための「ゾーンインデックス」と呼ばれる情報をIPv6アドレスの後ろに「%」で区切っておく。ただし、ゾーンインデックスの表記方法はシステム側に任されており、Windowsの場合には、ネットワークアダプタが持つ「インターフェース・インデックス」(整数)を使う。Linuxなどではデバイス名(eth0など)を使う。
あとは、ループバックアドレスの「::1/128」がある。これは、IPv4でいう「127.0.0.1」に相当し、自分自身を表す。また、ルーティングなどで使うデフォルトルートは、IPv4では「0.0.0.0」を使うが、IPv6では「::/0」と表記する(プレフィックス長がゼロであることに注意)。
また、表記としてIPv4アドレスをIPv6形式で表現する「::ffff:0:0/96」ぐらいは記憶しておいた方がいいだろう。Windowsで自身のIPアドレスのうちどれを優先して使うのかは、「プリフィックスポリシー」で定められており、Windowsでは、レジストリまたはnetshコマンドで管理できる。現在のポリシーを見るだけなら、「netsh interface ipv6 show prefixpolicies」を実行すればよい。
このコマンドの出力では3番目の「::ffff:0:0/96」がIPv4アドレスを示す。これよりもIPv6アドレス(::1/128と::/0)の優先順位が高くなっているため、特に指定しないとIPv6アドレスを優先する。たとえば、pingコマンドも相手がIPv6アドレスを持っているなら、IPv6アドレスを宛先にする。
IPv4では、32bitのアドレス空間にさまざまな機能を詰め込んだため、アドレスが何を意味するのかを知るには、多数のルールを理解する必要があった。しかしIPv6では、「先頭部分でアドレスの種類や用途」を判別という簡単なルールのみでアドレスを理解できる。特殊アドレスの数は多いものの、すべてを理解する必要はなく、本文で解説した数個のアドレスパターンのみわかっていれば十分である。
この記事に関連するニュース
-
Windows上でhostsファイルを活用する
ASCII.jp / 2024年11月17日 10時0分
-
高速・低遅延・スッキリ設置!理想のホームネットワークをシームレスに構築。AXE5400 トライバンド マルチギガビット Wi-Fi 6Eルーター「Archer AXE5400V」11月27日(水)発売
PR TIMES / 2024年11月14日 12時45分
-
あらためてIPv6基本のキ
ASCII.jp / 2024年11月3日 10時0分
-
Excelをノーコードで自動化しよう! パワークエリの教科書 第25回 データの途中に文字を挿入する方法
マイナビニュース / 2024年10月28日 11時0分
-
Windowsで現在どのネットワークアダプタがインターネット接続に使われているかを調べる方法
ASCII.jp / 2024年10月27日 10時0分
ランキング
-
1「怒らないから名乗り出なさい」 軟膏と一緒にしまわれていたのは…… “一歩間違えれば大惨事”のミスに背筋が凍る 「これはヤバい」
ねとらぼ / 2024年11月16日 20時0分
-
2Bluesky、1日で100万人以上増加、エンゲージメントはXの10倍以上という調査報告も
マイナビニュース / 2024年11月15日 15時46分
-
3吉野家の出前、ロボットで配送 出前館・パナと実証実験
ITmedia NEWS / 2024年11月15日 17時15分
-
4サ終でプレイ不能の『The Crew』ユーザーがユービーアイソフトを集団訴訟へ/「非電源お絵描きおもちゃ」で『DOOM』を再現する猛者現る/『ロマサガ2 リベンジオブザセブン』ロマンシングな美少女キャラ5選【週刊スパラン11/8~】
Game*Spark / 2024年11月17日 10時0分
-
5不具合続いた『Wizardry Variants Daphne』実装予定機能を時期未定に―開発・運用体制の大幅増強を宣言
Game*Spark / 2024年11月16日 14時57分
記事ミッション中・・・
記事にリアクションする
記事ミッション中・・・
記事にリアクションする
エラーが発生しました
ページを再読み込みして
ください