■IPv6の特徴
2013/6現在、IPv4アドレスは枯渇しており、新たに取得することは困難な状態となっています。既に30年以上、世界中で利用され利用者の爆発的な増加により約43億あったIPv4アドレスはついに底をつきました。IPv4の後継プロトコルとして開発されたのがIPv6です。IPv6ではIPv4の定評ある機能をそのまま継承し無駄や不要な機能は撤廃されています。また最大の特徴は膨大なアドレスを利用することが可能であり、その数は事実上の無制限となっています。
数多くあるIPv6の特徴ですがその中でも重要なものを以下に記載致します。
○膨大なアドレス数
340澗という数のアドレスを利用可能です。これは世界中の一人あたり一万個づつアドレスを割り振っても枯渇することはないという計算になります。
○パケット転送の高速化
IPv6では以下のように変更が加えられました。
①ヘッダ部が固定長となった
②パケットのフラグメントおよび再構築を行わない
③チェックサムが削除されTCPなどの上位プロトコルで計算されることになった
これらの変更によりIPv6を処理する機器の負担が軽減されるもので処理を高速化させることが可能です。
○強化されたセキュリティ
プロトコル自体にIPSecを使用することが可能です。これによりセキュリティを格段に向上させることが可能です。
○プラグアンドプレイによる端末の自動設定
IPv6環境ではDHCPを用意しなくてもIPv6が動作するルータから端末がIPアドレスを割り当ててもらう仕組みが提供されます。これによりIPの知識を持たない一般コンシューマが使う製品でも無線有線を問わずルータに接続するだけで上位ネットワークとネットワーク構成のネゴシエーションが始まりネットワークに自動接続されることが可能となります。
○ブロードキャストの廃止
IPv6環境ではブロードキャストが廃止されました。代替えとしてマルチキャストが利用されます。その結果、単純な一斉同報だけでなく用途に応じて配信先を選択するなど効率的な配信が可能となります。
■IPv6のアドレス数
IPv4とIPv6が提供できるIPアドレスの数を具体的な数値で表すと以下のようになります。
・IPv4 ( 32bit ) : 4,294,967,296個 ( 約43億個 )
・IPv6 ( 128bit ) : 340,282,366,920,938,463,463,374,607,431,768,211,456個 ( 約340澗個 )
日常生活ではまず使うことのない桁数の多い数字がIPv6では利用可能です。上記の数字によりIPv6では事実上の無制限にIPアドレスが利用可能となります。IPv4では1台の端末に1つのIPアドレスを割り当てて利用しますが、IPv6では/64といったサブネット単位を個人に割り当てられ一人ひとりが膨大なIPアドレスを保有できるようになります。
■IPv6のアドレス表記
IPv6では扱えるアドレスがIPv4の32bitから128bitに大幅に増えたため表記方法がv4から大きく変更されています。まずアドレスの表記が10進数から16進数に変更されたことにより数字だけの表現から英数字に変更となります。
・IPv4 10.1.1.1 ( 数字のみ10進数 )
・IPv6 2001:0db8 ( 英数字の16進数 )
またアドレスの表記が長くなったのに伴い、省略ルールが策定されました。このルールについて以下にまとめます。
基本形態 | ||||||||||||||
128bitを16bitごとに16進数で表記し8個のブロックに分けて:で区切る | ||||||||||||||
2001 | : | 0db8 | : | 0000 | : | 0000 | : | 1234 | : | 0000 | : | 0000 | : | 0abc |
① | ② | ③ | ④ | ⑤ | ⑥ | ⑦ | ⑧ | |||||||
16bit | 16bit | 16bit | 16bit | 16bit | 16bit | 16bit | 16bit |
省略ルール1 | ||||||||||||||
各ブロックの先頭の0は省略しても良い ( 同一アドレス中、何回でも適用可能 ) | ||||||||||||||
2001 | : | 0db8 | : | 0000 | : | 0000 | : | 1234 | : | 0000 | : | 0000 | : | 0abc |
↓ | ↓ | |||||||||||||
2001 | : | db8 | : | 0000 | : | 0000 | : | 1234 | : | 0000 | : | 0000 | : | abc |
省略ルール2 | ||||||||||||||
0000は0と表現できる ( 同一アドレス中、何回でも適用可能 ) | ||||||||||||||
2001 | : | 0db8 | : | 0000 | : | 0000 | : | 1234 | : | 0000 | : | 0000 | : | 0abc |
↓ | ↓ | ↓ | ↓ | |||||||||||
2001 | : | 0db8 | : | 0 | : | 0 | : | 1234 | : | 0 | : | 0 | : | 0abc |
省略ルール3 | ||||||||||||||
0000:0000は::と表現できる ( 同一アドレス中、1回だけ適用可能 ) | ||||||||||||||
2001 | : | 0db8 | : | 0000 | : | 0000 | : | 1234 | : | 0000 | : | 0000 | : | 0abc |
↓ | ↓ | |||||||||||||
2001 | : | 0db8 | : | : | 1234 | : | 0000 | : | 0000 | : | 0abc |
こういったルールが存在するためIPv6のアドレス表記には複数の記述方法があるということに注意が必要です。例えば以下に上げるアドレスは記述の仕方が異なるだけで同一のアドレスということになります。
2001:0db8:0000:0000:1234:0000:0000:0abc 2001:db8:0000:0000:1234:0000:0000:abc 2001:db8::1234:0000:0000:abc 2001:db8::1234:0000:0000:ABC |
■IPv6のネットワークアドレス表記
IPv4でお馴染みの「255.255.255.0」、いわゆるサブネットマスクによる指定はIPv6では行いません。CIDRやBGP等を利用していた人には馴染みのあるプレフィックスという表記方法が採用されています。その表記方法は下記のようになります。
ipv6-address / prefix-length
上記のうちipv6-addressの部分にはIPv6アドレスが入ります。prefix-lengthの部分は左端から連続ビット部を示します。例えば下記の場合
2001:0db8:0000:0000:1234:0000:0000:0abc/64
左端から2進数に変換して64bit分がネットワークアドレスとなります。しかしプレフィックスの長さは状況によって32だったり48だったりします ( ISPから割り当てられるアドレスは48bitとなります )。prefixの値が16の倍数であればprefix÷16計算し、左から数えてそのブロック分がネットワークアドレスとなります。しかしながらIPv6アドレスの基本形は以下のようになります。
IPv6ではIPv4のホストIDに該当する部分の名称が「インターフェイスID」に変更されました。IPv4では「1ノードにつき1つのIPアドレス」というのが基本的な考え方でしたがIPv6では「1ノードにつき複数のIPアドレス」を設定することが規格上認められています。例えば1ノードの中でアプリケーションプロセス単位に別々のIPアドレスを付与することが可能です。名称は変わりましたがネットワークID部分とホストID部分という役割分担はIPv4のときと同じです。ここで注意すべき点は以下です。
・IPv6では複数のアドレスを設定することが可能
・IPv4ではホストIDに0または255は使用不可だったがIPv6では全て0または全てFのアドレスも使用可能
■IPv6アドレスタイプ
アドレスタイプというとあまり馴染みのない用語に聞こえますがユニキャストやマルチキャストといったように通信パターンの異なるトラフィックの種別のことを指しています。
アドレスタイプ | IPv4 | IPv6 |
ユニキャスト ( 1対1の通信 ) |
○ | ○ |
マルチキャスト ( 1対多の通信 ) |
○ | ○ |
ブロードキャスト ( 1対多の通信 ) |
○ | × ( 廃止。マルチキャストが代わりに使用される ) |
エニーキャスト ( 1対最も近いノードと通信を行う ) |
△ ( 標準実装ではない ) |
○ ( 標準実装 ) |
ユニキャストやマルチキャスト、ブロードキャストはIPv4ではお馴染みなのですが、あまり聞きなれない言葉でエニーキャストというのがIPv6では標準実装されています。IPv4ではオプション扱いでした。
エニーキャストアドレスは最も近いノードと通信するという新しいタイプの通信方式を可能にします。このアドレスを利用するのに特別なアドレス体系は必要としません。後述するグローバルユニキャストアドレスのレンジからエニーキャストとして使用したい部分を自由に選ぶことができます。
■IPv6ユニキャスト
(1) 2000::/3 グローバルユニキャストアドレス
IPv4のグローバルアドレスに相当するインターネット上でユニークなアドレスになります。IPv4と同様、ISPから割り当てられるかレジストリから取得します。これは用途別に以下のように分類できます。
○2001::/16 ⇒ IPv6用グローバルアドレス
○2002::/16 ⇒ 6to4用アドレス
○2003::/16 ⇒ 未割り当て
アドレス体系の詳細は以下となります。
(2) FE80::/10 リンクローカルアドレス
隣接機器との通信用などの特殊な用途に使用され通常のユーザデータの通信用ではありません。またインターネットに接続することもできません。アドレス体系の詳細は以下のとおりです。