#IPv6の表記ルール(圧縮表記(::)、16進数…)をパパっと理解!

IPv6

はじめに

トニーくん
トニーくん

ITの勉強において、やっぱり全範囲を網羅的に勉強しようと思ってもなかなか、先輩・上司に追いつき追い抜くことって時間がかかるものです。そのせいでモチベーション下がったり……

哲学者トニーくん
哲学者トニーくん

だったら、1つのことに1点集中して『これに関しては同レベルor自分の方が上だ!』と思える領域を少しずつ作っていきましょう!それを続けていけば、どんどんどんどん勝てる領域が多くなり、気づいたら自分が行きたい未来に辿りつきます!

トニーくん
トニーくん

じゃあ今日は、「IPv6の表記ルール」について教えてください。全然イメージできなくてショックを受けました。みんなはこれを説明できる??

なので、今日はこれを教えてください!

基本知識

basic 土台

IPv6アドレス128ビット(16バイト)で構成されており、これを16進数で表記します。IPv4アドレス(32ビット=4バイト)と比べて非常に長いアドレスです。

トニーくん
トニーくん

IPv4とIPv6が混乱します…

哲学者トニーくん
哲学者トニーくん

では、ここで軽くおさらいしておこう!

項目IPv4IPv6
アドレスの長さ
オクテッド=バイト
32ビット(4オクテット)128ビット(16オクテット)
アドレスの数約43億(2^32)実質無限大(2^128)
表記形式10進数で区切った4つの8ビット値16進数で区切った8つの16ビット値
192.168.0.12001:0db8:85a3:0000:0000:8a2e:0370:7334
アドレスの枯渇問題アドレス枯渇が深刻アドレス枯渇問題は実質解消
アドレス割り当て方法手動、DHCP、NAT自動設定(Stateless Address Autoconfiguration, SLAAC)、DHCPv6、NAT不要
ブロードキャストブロードキャストアドレスを使用ブロードキャストは廃止。マルチキャストとユニキャストが使用
マルチキャストオプションで対応標準で対応
ヘッダの複雑さヘッダのフィールド数が多い(12フィールド)簡素化されたヘッダ(8フィールド)
フラグメンテーション送信元、ルーターがフラグメント可能送信元のみがフラグメント可能
セキュリティIPsecがオプションIPsecが標準でサポート
NAT(Network Address Translation)NATが広く使われるアドレスが十分に多いためNATは不要
モビリティと自動設定IPv4には特別な設定が必要モバイルデバイス向けに最適化された自動設定対応
対応の進展世界中で広く使われているが、枯渇の影響ありIPv4からの移行が進行中、IPv6への完全移行を推進
ヘッダのチェックサム含まれているヘッダチェックサムは廃止されている
ルーティングの効率化比較的ルーティングテーブルが大きいアドレス空間が大きく、効率的なルーティングが可能
IPv4とIPv6の比較
トニーくん
トニーくん

要するに、
IPv4は32ビット・4ブロック構成
IPv6は128ビット・16ブロック構成

ってことですね!

哲学者トニーくん
哲学者トニーくん

そういうことじゃ!その知識さえあれば今回学ぶ圧縮表記は簡単じゃ!では、実際にやっていくぞよ

圧縮表記

basic 土台
哲学者トニーくん
哲学者トニーくん

IPv6アドレスはとても長くなってしまうので、表記を簡潔にする必要があるのじゃ!そのために使うのが圧縮表記!では、やり方を見ていこう!

圧縮ルール 1: 前のゼロの省略

basic 土台

ブロック先頭のゼロは省略することができます。

例:

Markdown
2001:0db8:0000:0000:0000:0000:1428:57ab

このアドレスは各ブロック先頭のゼロを省略すると次のようになります:

Markdown
2001:db8:0:0:0:0:1428:57ab

圧縮ルール 2: 連続するゼロブロックの省略

basic 土台

連続して現れる0000ブロックは、1回だけ「::」でまとめて省略することができます。ただし、アドレス内で2か所以上で使うことはできません。

例:

Markdown
2001:0db8:0000:0000:0000:0000:1428:57ab

このアドレスは、連続するゼロブロックを省略すると次のようになります:

Markdown
2001:db8::1428:57ab

注意点として、複数の連続するゼロがある場合、最も長い部分優先して省略します。例えば、以下のようなアドレスがあった場合:

Markdown
2001:0db8:0000:0000:0000:abcd:0000:1234

最も長いゼロの部分を省略して:

Markdown
2001:db8::abcd:0:1234

とします。

IPv6アドレスのルールまとめ

basic 土台
  1. IPv6は128ビットで、8ブロックで、1ブロック16ビットで構成される。
  2. 各ブロックは16進数で表記し、コロン(:)で区切る。
  3. 各ブロック先頭ゼロ省略可能。
  4. 連続するゼロのブロックは「::一度だけ省略可能。
哲学者トニーくん
哲学者トニーくん

講釈を垂れるのはここまでじゃ!ここからは実際に練習問題を解いていこう!

トニーくん
トニーくん

はーい!

練習問題

クエスチョン question

次に、IPv6アドレスの圧縮表記に関する練習問題を解いてみましょう。

問題 1:

次のIPv6アドレスを圧縮表記してください。

Markdown
2001:0db8:0000:0000:0000:ff00:0042:8329

答えはこちら

問題 2:

次の圧縮されたIPv6アドレスを通常の表記に戻してください。

Markdown
2001:db8::ff00:42:8329

答えはこちら

問題 3:

次のIPv6アドレスをできるだけ短く表記してください。

Markdown
fe80:0000:0000:0000:0202:b3ff:fe1e:8329

答えはこちら

練習問題の解答

Answer

解答 1:

Markdown
問題  2001:0db8:0000:0000:0000:ff00:0042:8329

    ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ 

答え  2001:db8::ff00:42:8329
  • 先頭のゼロを省略し、連続するゼロブロックを::でまとめています。

問題1に戻る

解答 2:

Markdown
問題  2001:0db8:0000:0000:0000:ff00:0042:8329

    ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ 

答え  2001:db8::ff00:42:8329
  • ::の部分を0000に置き換えます。

問題2に戻る

解答 3:

Markdown
問題  fe80:0000:0000:0000:0202:b3ff:fe1e:8329

    ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ 

答え  fe80::202:b3ff:fe1e:8329
  • 先頭のゼロと連続するゼロブロックを省略しています。

問題3に戻る

哲学者トニーくん
哲学者トニーくん

どうじゃ?できたかい?

トニーくん
トニーくん

まぁまぁですね!「完璧!」とは言えないかもしれないけど、慣れてはきました!

まとめ

ポート番号 summary

要するに…

IPv6アドレスは、128ビットの長さで構成され、8つのブロックで1つのブロックは16ビットで構成されています。それぞれのブロックは16進数で表記され、コロン(:)で区切られています。各ブロックは4桁の16進数で構成されており、例えばアドレス「2001:0db8:0000:0000:0000:ff00:0042:8329」のような形式になります。IPv4とは異なり、IPv6はアドレスの枯渇問題を解消するために設計されており、膨大な数のアドレスを提供できるようにしています。

IPv6アドレスの表記にはいくつかのルールがあります。まず、各ブロック内において、先頭のゼロは省略可能です。たとえば、ブロック「0db8」は「db8」と表記できます。このように、先頭のゼロがある場合にはそれを省略して簡略化することができます。さらに、連続してゼロが並ぶブロック一度だけ「::」と表記して省略することができます。これにより、アドレス全体がより短く、読みやすくなります。たとえば、アドレス「2001:0db8:0000:0000:0000:ff00:0042:8329」は、「2001:db8::ff00:42:8329」と省略して表記することができます。ただし、「::」はアドレス内で1回だけ使用できるという制約があります。

IPv6アドレスは8つのブロックに分けられているため、各ブロックは16ビットを表し、それを16進数で表現します。この点を理解することで、IPv6アドレスの長さや構造、そしてアドレス表記のルールが把握できます。さらに、IPv6アドレスは、IPv4アドレスのようにブロードキャストが存在せず、代わりにユニキャストやマルチキャストを利用して通信を行います。また、NATを使わずに直接アドレスを割り当てる設計が可能で、アドレス空間が非常に広大なため、アドレスの不足を心配することなく利用できるようになっています。

IPv6の表記ルールは、効率的でシンプルなアドレス表記を可能にするために作られており、ゼロの省略や「::」による連続ゼロのまとめが重要なポイントです。これらのルールを正しく理解することで、IPv6の扱いが容易になり、ネットワークの設計やトラブルシューティングにおいても効果的に対応できるようになります。

おわりに

goal
トニーくん
トニーくん

本日は『IPv6の表記ルール』について知見を深まりました!

哲学者トニーくん
哲学者トニーくん

やはり、知識をつけることは大切じゃからのぉ。知識があれば大抵のことはできる。逆に知識がなければ、できるもんもできない。これが世の理じゃよ。

でも焦らず、1つずつ・1っ歩ずつ進んでいくことが大切じゃ!これからも一緒に頑張っていこう!

DJキョメコチャン
DJキョメコチャン

今日のSeeYouソングは「Play Pretend ー Alex Sampson」です。では、どうぞ!

Play Pretend ー Alex Sampson

タイトルとURLをコピーしました