【連載】
前回は、IPv6のアドレス表記ルールについて解説した。今回はIPv6に特有のルールである、アドレスの短縮表記に関するルールについて解説しよう。
IPv6アドレスを構成する個々のブロックは、先に述べたように0000~ffffの範囲をとる。そのため、先頭がゼロで始まるアドレスが発生する。このとき、IPv6の短縮表記ルールとしてゼロを省略できることになっている。
このルールを適用すると、以下に示した2つのIPv6アドレスは同じ意味になる。
f0f0:0100:0020:0003:1000:0100:0020:0003
f0f0:100:20:3:1000:100:20:3
最初のブロックは「f0~」なので、ゼロの省略は適用しない。しかし2番目以降のブロックはすべてゼロで始まっているので、それを省略している。ブロックごとにゼロの桁数が異なるので、「0100」→「100」、「0003」→「3」といった具合に、省略後の桁数もブロックごとに異なっている。
なお、ゼロを省略できるのはゼロで始まっている場合に限られるので、ゼロで終わっているアドレスは短縮の対象にならない。上の例でいうと、「1000」となっている5番目のブロックを「1」と短縮することはできない。「1001」といった具合に中間にゼロが入っている場合にも、短縮はできない。
もうひとつの短縮表記ルールが、すべて0になるブロックそのものの省略だ。この場合、省略した部分については区切り文字のコロンを連続させて「::」と表記する。そのため、以下に示した2つのIPv6アドレスは同じ意味になる。
1234:5678:0000:9abc:def0:1234:5678:9abc
1234:5678::9abc:def0:1234:5678:9abc
この例では3番目のブロックが「0000」なので、それを省略して「::」でつないでいる。
さらに、隣接する複数のブロックですべてゼロになる状態が続いた場合、それらをまとめて省略できる。そのため、以下に示した2つのIPv6アドレスは同じ意味になる。
1234:0000:0000:0000:5678:9abc:def0:1234
1234::5678:9abc:def0:1234
この例では、2~4番目のブロックがすべて「0000」なので、まとめて省略して「::」でつないでいる。ただし、この短縮表記を使えるのはひとつのIPv6アドレスの中で1カ所だけなので、以下のような短縮はできない。
1234:0000:0000:5678:9abc:0000:0000:def0
1234::5678:9abc::def0
この例では、2-3番目のブロックと6-7番目のブロックでそれぞれ「0000」が連続しているが、その両方は省略できない。省略できない分については前述した「ゼロの省略」ルールを適用して、以下のように表記することになる。
1234::5678:9abc:0:0:def0
このようにゼロの圧縮を行った場合、「:」で区切ったブロックの数が減ることになるので、単に「::」の部分を「:0000:」とするだけでは元のアドレスを復元できない。いくつのブロックが圧縮対象になったかを計算する必要がある。
そこで使用するのが、以下の計算式だ。
(8 - 圧縮後のIPv6アドレスのブロック数)×16
たとえば、IPv6アドレス「ff02::2」は、圧縮後の状態で2ブロック(「ff02」と「2」)となっている。これを上の計算式に当てはめると、結果は以下のようになる。
(8-2)×16 = 96
これは96ビット、つまり6ブロックの「0000」が存在するという意味だ(16×6=96)。そこで「0000」のブロック×6個を省略部分にはめ込み、さらに「0で始まるときの省略」も元に戻すと、元のIPv6アドレスは「ff02:0000:0000:0000:0000:0000:0000:0002」となる。
| トマトを食べれば痩せられる!? -京大ら、新発見の成分で肥満改善効果を実証 [21:00 2/10] |
| JAXA、液体シリコン中に残存する共有結合を観察 -大口径ウェハの実現に期待 [20:11 2/10] |
| NEDOなど、熱膨張が小さな樹脂複合材料ペレットの量産化に成功 [19:22 2/10] |
| 理研、一般顕微鏡を蛍光顕微鏡に強化できるアダプタを試作して性能を実証 [19:15 2/10] |
| 天の川のブラックホールが小惑星を飲み込んでいる - NASAが発表 [18:08 2/10] |
|
JRグループ、「周遊きっぷ」を見直し - 19の周遊ゾーンが3/31で販売終了に [07:30 2/11] ライフ |
|
「青春18きっぷ」春季用は2/20発売 - 夏季用・冬季用の発売は現時点で未定 [07:30 2/11] ライフ |
|
【ハウツー】炊飯器でつくるチャーシューが簡単すぎ、しかもおいしい! [07:00 2/11] ライフ |
|
【連載】出社前に。日常生活ですぐに使える! 英語クイズ 第118回 「どうぞお話しください、あなたが話す番です」ってなんて言う? [07:00 2/11] ライフ |
|
[観月ありさ]濃姫役で戦国時代劇初挑戦 信長役は城田優 SPドラマ「濃姫」 [05:00 2/11] エンタメ |