第 5 章 IPv6

IPv6は、現在インターネットなどで広く利用されているIPv4の問題を解決するために開発された新しいインターネットです。

 

5.1 IPv6 の特徴 IPv6ではアドレス空間が拡張されただけでなく、いくつかの機能が改良されています。 また、IPv4から IPv6への移行を簡単に行うための手段も用意されています。IPv6には次のような特徴があります。

 

5.1.1 膨大なアドレス数 IPV6 は 128 ビットのアドレスで、約 340 潤のアドレスを使用できます。この数は、グローバル IP アドレ スを全世界の人口全員に 100 兆個ずつ割り振っても、まだ余るほどの影大な数です。コンピュータだけでな く、IP Phone、FAX 機、携帯電話やテレビのほか、家庭にあるさまさざまな端末にアドレスを割り当てた としても枯渇することはありません。あらゆるデバイスに一意な IPV6 アドレスを割り当てることによって、 NAT 不要エンドツーエンド通信を実現します。

 

5.1.2 効率的な経路集約 IPV6 アドレスの表記方法は、RFC4291 によって標準化されました。IPV6 ではアドレスに階層構造を持た せ、アドレスの配布を当初から階層を意識して行うことで、経路情報の集約を効率よく行っています。その結 果、ルータがルーティングテーブルに保持しなくてはならない経路情報の数は大幅に減少し、ルーティングに かかわる負荷を削減できます。

 

5.1.3 ヘッダの簡素化 IPv4 で不要だったフィールド削除してヘッダサイズを固定長にし、チェックサム計算を不要にするなど、 いくつかの改善を施しています。これによって、ルータなどの中機器が IPV6 パケットをルーティングする際 の負荷を軽減し、処理の高速化を実現します。

 

5.1.4 自動設定 IPv6 環境には、DHCP サーバを用意しなくても、ルータからホストの端末に IP7 ドを割り当てできる自動 設定(ステートレスアドレス自動設定)機能が備わっています。この機能を利用することにより、IP の知識 を持たないホストの端末をプラグアンドプレイで簡単にネットワークに接続することができます。

 

5.1.5 ブロードキャストの廃止 IPv6 ではプロードキャストを廃止しています。これによって、プロードキャストトラフィックによる帯域 の圧迫や、プロードキャストが引き起こすネットワーク障害回避してます。従来のブロードキャストはマルチ キャストで代用することにより、より効率的なネットワークの利用が可能になりました。

 

5.1.6 IP モバリティの向上 IP 通信行っている端末が異なるネットワークに移動した場合、別の IP アドレス割り当てられるため、移動 前の接続(セッション)を継続することはできません。このように異なるネットワークに移動したとしても、 現在のアプリケーションセッション切断することなく通信を継続するための技術を、IP モビリティといいま す。その体的なプロトコルに、Mobile IP があります。IPv6 は Mobile IP の機能を標準搭載し、IPv4 よりも 効率的にモビリティを提供できるよう改善れているため、モバイル機器を使用するユーザはネットワーク接続 を維持したまま自由に移動できています。

 

5.1.7 セキュリティ機能の向上 IPv4 ではオプションとして IPsec # 6 の実装が可能でした。IPv6IPsec を標準サポートしています。こ れによって、特別な機器やソフトウェアを用意しなくても、ネットワーク層でセキュリティ機能(暗号化およ び認証)を実施します

 

5.1.8 相互運用と移行技術 大規模ネットワークほど IPV6 環境への移行は困難なため、現行の IPV4 ネットワーク環境から IPV6 中心 の環境へと段階的に移行する必要があります。IPV4IPV6 の混在環境を実現するために、デュアルスタッ ク、トンネリング、トランスレータといった移行技術が用意されています。

 

5.2 【IPv6 アドレスの種類】

f:id:alsavaudo:20200813001728p:plain

 

5.3 【主なユニキャスト】

f:id:alsavaudo:20200813001821p:plain

 

5.4 【ステートレスアドレス自動設定(StateLess Address Auto Configuration: SLAAC)について】

ローカルリンク上のルータが 64 ビットプレフィックス(ネットワークアドレス)を含めたネットワーク情 報を、RA(Router Advertisement)メッセージとしてそのローカルリンク上に送信します。

RA メッセージを受信したホストは、受信した 64 ビットプレフィックスに、MAC アドレスを基に生成し たインターフェース ID を組み合わせて IPv6 アドレスとして使用します。

 

5.5 【SLAAC で生成される IPv6 アドレス】

f:id:alsavaudo:20200813002009j:plain

 

5.6 【主な IPv6 アドレス】

IPv6 のアドレス範囲は IANA(Internet Assigned Numbers Authority)によって、以下のように役割ご とにアドレス範囲が決められています。

f:id:alsavaudo:20200813002115j:plain

なお、現時点では以下の範囲が割り当て済みとなっています。
・グローバルユニキャストアドレス
2000::/3 のみ。その他の範囲は将来のために予約されている
・ユニークローカルアドレス
fd00::/8 のみ。fc00::/8 は将来のために予約されている。

 

5.7 【グローバルユニキャストアドレスのフィールド】

グローバルユニキャストアドレスは IPv4 でのグローバルアドレスと同じ扱いで、全世界で一意となるアド レスです。アドレスのフィールドは以下の 3 つに分けられます。

f:id:alsavaudo:20200813002218j:plain

IPv4 でのホストアドレスに当たるインターフェース ID は、アドレス自動設定機能を活用するために 64 ビットにするのが一般的です。そのため、前半 64 ビットのうちプロバイダから割り当てられたプレフィッ クス分を除いた部分がサブネット用のビットになります。割り当てられたプレフィックス(グローバルプレ フィックス)とサブネットまでの部分とプレフィックス長を合わせてサブネット ID と呼びます。

例えばグローバルプレフィックスとして「2001:db8:1234::/48」がプロバイダから割り当てられてお り、後半 64 ビットをインターフェース ID として使用する場合、先頭から 1 番目のサブネット ID は 「2001:db8:1234::/64」、2 番目のサブネット ID は「2001:db8:1234:1::/64」となります。

 

5.8 【リンクローカルアドレスのフィールド】

リンクローカルアドレスは、そのリンク上でのみ使われるユニキャストアドレスです。アドレスのフィール ドは以下の 2 つにわけられます

f:id:alsavaudo:20200813002338j:plain

IOS ではインターフェース ID は EUI-64 形式で自動生成されます。手動で設定することもできますが、ア ドレス重複を避けるためにも自動生成されたアドレスを使用するのが一般的です。

なお、リンクローカルアドレスのみを使用したいインターフェースでは、「ipv6 enable」コマンドだけを設 定します。

 

5.9 【ユニークローカルアドレスのフィールド】

ユニークローカルアドレス(Unique Local Address:ULA)は IPv4 でのプライベートアドレスと同じ目 的で使われます。アドレスのフィールドは以下の 4 つにわけられます。

f:id:alsavaudo:20200813002446j:plain

ユニークローカルアドレス
・先頭が「fd」
・続く 40 ビットのグローバル ID をランダムに生成して割り当て
・サブネットとして 16 ビットを割り当て
としてサブネット ID が決まります。
グローバル ID 部の 40 ビットはどんな値でも問題はありませんが、RFC 4193 にあるようにランダムな値を生成するロジックを使用して値を決定することが推奨されています。

 

5.10 【エニーキャスト】

ユニキャストアドレスの中には「エニーキャストアドレス」というものが含まれます。特殊なアドレスでは なく、同じユニキャストアドレスを複数の機器に割り当て、ネットワーク的に最も近い機器と通信させるため のアドレスです。例えば DNS のルートサーバでは、耐障害性を高めたり、応答を速める目的でエニーキャス トを使用しています。

 

5.11 【マルチキャスト

マルチキャストアドレスは特定のグループを指すアドレスです。IPv6 ではブロードキャストアドレスがな くなった代わりに、用途ごとに決められたマルチキャストアドレスを使用します。

主なマルチキャストスコープ(マルチキャストを送信する範囲)は以下の通りです。

f:id:alsavaudo:20200813002751p:plain

f:id:alsavaudo:20200813002825j:plain

主なマルチキャストアドレスは以下の通りです。

f:id:alsavaudo:20200813002943p:plain

また、上記のグループに属さない、要請ノードマルチキャストアドレスというものがあります。要請ノード マルチキャストアドレスのフィールドは以下の 2 つにわけられます。

ff02::1:ff ユニキャストアドレスの最後の 6 桁

要請ノードマルチキャストアドレスは、自身にあてた問い合わせを受け取るための自動生成アドレスです。 IPv4 では ARP をブロードキャストすることで通信したい IP アドレスを持つ機器の MAC アドレスを得るこ とができましたが、IPv6 ではブロードキャストが存在しないため、ARP を使うことは出来ません。要請ノー ドマルチキャストアドレスは割り当てられた IPv6 アドレスから自動で生成されるマルチキャストアドレスで すので、MAC アドレスを得たい機器から、宛先 IPv6 アドレスを基に生成した要請ノードマルチキャストア ドレスに Neighbor Solicitation(近隣要請:NS)という ICMPv6 パケットを送信します。NS を受信した機 器が Neighbor Advertisement(近隣広告:NA)パケットによって応答を返すことで、ARP のように MAC アドレスの解決を行うようになっています。

 

5.12 【特殊なアドレス】

その他の特殊なアドレスには、以下のものがあります。

f:id:alsavaudo:20200813003238j:plain

5.13 【ICMPv6】

(Internet Control Message Protocol for IPv6) ICMPv6 は、IPv6 用の ICMP です。

ICMPv6 では、IPv4 で使われていた ICMP のエラー通知などの機能に加えて、ARP に相当するアドレス 解決の機能もあわせ持つようになりました。

ICMPv6 の主な機能は以下の通りです。

・エラー通知:パケットが破棄された理由を送信元に通知する機能

・近隣探索:同一セグメント上のデバイスのアドレスを調べる機能(ND や NDP とも呼ばれる)

 

5.14 【NDP の主なポイント】(Neighbor Discovery Protocol:近隣探索プ ロトコル)

NDP は同一セグメント上のデバイスMAC アドレスを調べるために以下の ICMPv6 パケットを使用し ます。

・NS(Neighbor Solicitation:近隣要請):MAC アドレスを問い合わせるパケット

・NA(Neighbor Advertisement:近隣広告):NS への応答パケット

NDP は同一セグメント上のデバイスIPv6 アドレスを調べるために以下の ICMPv6 パケットを使用し ます。

・RS(Router Solicitation:ルータ要請):RA を要請するパケット

・RA(Router Advertisement:ルータ広告):セグメントのプレフィックスなどを伝えるパケット

NDP によって以下の機能が実現されます。

MAC アドレスの解決(IPv4ARP に相当)

・SLAAC(StateLess Address Auto Configuration:アドレスの自動設定)

・DAD(Duplicate Address Detection:重複アドレスの検出)

 

5.15 【IPv6 アドレスの割り当て方法】
IPv6 アドレスの割り当てには複数の方法があります。

 

f:id:alsavaudo:20200813003543j:plain

 

5.16 【SLAAC】(StateLess Address Auto Configuration)
SLAAC は IPv6 に標準で搭載されたアドレス自動設定機能です。SLAAC は ICMPv6 の NDP を利用して自動設定を行います。SLAAC は以下の流れでアドレス設定を行います。

f:id:alsavaudo:20200813003637j:plain

1. IPv6 ルーティングが有効なルータが定期的に RA によって、そのセグメントのプレフィックスを広告する
2. ネットワークに追加されたホストは RS を送信し、ルータが RA を即時に送信するよう要求する
3. ホストは、受信した RA からプレフィックスを、EUI-64 によってインターフェース ID を取得し、IPv6アドレスを自動設定する。また、RA を送信したルータの IPv6 アドレスをデフォルトゲートウェイとして設定する
4.アドレス設定が完了し、通信が可能になる

 

5.17 【EUI-64】
EUI-64 は、MAC アドレス(48 ビット)に「fffe」という 16 ビットをプラスし 64 ビットにするフォーマットです。リンクローカルユニキャストアドレスのインターフェース ID を自動的に生成する際に利用されます。
例えば「11-22-33-44-55-66」という MAC アドレスを持つインターフェースの場合、以下のように「1322:33ff:fe44:5566」というインターフェース ID になります。

f:id:alsavaudo:20200813004710j:plain

EUI-64 で生成されるインターフェース ID は 64 ビットですので、プレフィックス長は必然的に 64 ビット(/64)となります。言い換えれば、自動アドレス割り当てを利用する場合はプレフィックス長が 64 ビットとなるように設計する必要があります。

 

5.18 【コマンド構文:インターフェースの IPv6 情報を表示】
#show ipv6 interface
上記コマンドにより、インターフェースに設定している IPv6 アドレスを確認することができます。

 

f:id:alsavaudo:20200813004839j:plain

 

5.19 【コマンド構文:IPv6 のルーティングの有効化】
(config)#ipv6 unicast-routing