1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

IPv6(IP version6)

Last updated at Posted at 2024-01-21

IPv6特徴

  • 膨大なアドレス
    128ビットで約340澗個利用できる

  • IPアドレスの自動設定
    IPv6ではIPアドレスを次の方法で設定することができる。

  • 手動による設定
  • DHCPサーバによる自動設定
  • オートコンフィギレーションによる自動設定(SLAAC
    ルータがLAN上のホストに対してネットワークアドレスを送信し、ホスト側で受診したネットワークアドレスとホストのMacアドレスから一意のIPv6アドレスを生成する。

起動するだけでネットワークに接続するために必要な情報を自動で設定する機能をプラグアンドプレイという。

  • ブロードキャストアドレスの廃止
    IPv6ではブロードキャストアドレスではなく、マルチキャストアドレスを使用してネットワーク全体へと通信を送信するようになっている。

パケットヘッダの簡素化

IPv4のパケットヘッダに比べてサイズは大きくなっているが、内部のフィールド数は少なくなっている。そのため、ルータにおけるパケットの処理効率が向上している。

IPv6header

項目 ビット数 説明
バージョン 4 IPのバージョン番号。6が入る
トラフィッククラス 8 パケットの優先度をつける
フローラベル 20 アプリケーションフローの識別
ペイロード長 16 IPv6ヘッダを除くパケットのデータ部の長さ
ネクストヘッダ 8 IPv6ヘッダの次に来るヘッダのタイプを示す
ポップリミット 8 通過できるルータの数(IPv4のTTLと同じ)
送信元アドレス 128 送信元のIPv6アドレス
宛先アドレス 128 宛先のIPv6アドレス

階層化されたアドレス

グローバルアドレスの管理はIANAが行っており、各地域ごとに割り振られる。

キャプチャ14.PNG

モビリティとセキュリティの強化

移動式の端末を利用して業務などを行うことをモビリティという。端末が移動しても割り当てたアドレスを変更せずに通信ができるようにするためのmobile IPの機能が強化されている。
パケットの認証や暗号化を行うことができるIPsecの実装が標準で可能。

アドレスの表記と構造

以下で構成されていて、どちらも64ビットになっている。

  • サブネットプレフィックス:IPv4のネットワーク部に相当する部分
  • インタフェース識別子(Interface-ID):ホスト部に相当する部分
    インターフェイスIDは手動で設定することもEUI‐64形式で自動生成することも出来る。

6ビットずつ8つのブロックに区切られた16進数で表す。表示する際のルールが以下存在する

  • 各ブロックの先頭の0は省略できる
  • 1か所だけ、0が連続するブロックは省略して「::」と表記できる
  • IPアドレス部分は括弧で囲み、末尾にポート番号と分かるように区別している

IPv6アドレスの種類

ユニキャストアドレス

IPv4と同様に、個々のネットワークインターフェースに割り当てるアドレスで、1対1の通信で使用する。ユニキャストアドレス宛てのパケットは、そのアドレスをもつインターフェイスに転送される。

通信可能範囲によって更に3種類に分類される。

ループバックアドレスもユニキャストアドレス

グローバルユニキャストアドレス

グローバルアドレスとも呼ばれ、IPv4でのグローバルアドレスと同じ扱いで、全世界で一意となりインターネット状で通信が可能。最初の3ビットが「001」から始まり2000::/3と表記される。

16進数では2または3から始まるアドレスが該当する

アドレス範囲 用途
2001::/16 インターネット用
2002::/16 6to4用のアドレス
2003::/16~3FFD::/16 未割当

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

キャプチャ15.PNG

リンクローカルユニキャストアドレス

リンクローカルアドレスとも呼ばれ、同じサブネット内でのみ通信可能なアドレス。IPv6が有効なネットワークインターフェースに必ず1つ設定することになっている。ネイバーの探索などでも使用される。
最初の10ビットが「1111111010」で始まり、fe80::/10と表記される。

  • ホスト間で一意になる
  • 手動で設定しない場合、自動生成されたリンクローカルアドレスが設定される
  • IPv6を扱うインターフェース全てに設定される
  • ルーティングの宛先になれない

キャプチャ16.PNG

ユニークローカルユニキャストアドレス

企業や家庭内でのみ使用されるアドレス。閉じられたネットワークでのみ使用されるため、セキュリティが確保される。ローカルではあるものの、できるだけ世界で一意のアドレスとなるように設定することが推奨されている。
最初の7ビットが「1111110」で始まり、fc00::/7またfd00::/8と表記される。

キャプチャ17.PNG

マルチキャストアドレス

特定のグループ(インターフェイスの集合)に対する通信の宛先となるアドレスで、1対多の通信で使用する。IPv6では1対全の通信にも使用される。
最初の8ビットが「11111111」で始まり、ff00::/8と表記される。

キャプチャ18.PNG

マルチキャストアドレスの一部はあらかじめIANAによって予約されている。

アドレス 説明
FF02::1 全てのノード
FF02::2 全てのルータ
FF02::5 全てのOFPSが動作しているルータ
FF02::6 全てのOSPF DR
FF02::9 全てのRIPルータ
FF02::a 全てのEIGRPルータ
  • フラグ
    マルチキャストアドレスのタイプを表す。
内容
0000 IANAによって割り当てられた永続的なマルチキャストアドレス
0001 一時的に割り当てられたマルチキャストアドレス
  • スコープ
    マルチキャストアドレスの有効範囲を表す。

kk41076.jpg

16進数 第一フィールド 説明
0001 1 FF01 インターフェイスローカルの有効範囲
0010 2 FF02 リンクローカルの有効範囲
0101 5 FF05 サイトローカルの有効範囲
1000 8 FF08 組織ローカルの有効範囲
1110 E FF0E グローバルの有効範囲

要請ノードマルチキャストアドレス

IPv6アドレスとMACアドレスの解決に使用する。先頭104ビットが「FF02::1::FF」と固定され、後続の24ビットにユニキャストアドレスの下位24ビットを付加して生成する。

エニーキャストアドレス

複数のノードに同じユニキャストアドレスを割り当てておき、ルーティング上「最も近いノード」だけにパケット転送するときに使われるアドレスの割り当て方法。同じユニキャストアドレスを複数の機器に割り当て、ネットワーク的に最も近い機器と通信させるためのアドレスで、DNSルートサーバでは、耐障害性を高めたり、応答を速める目的で使用されている。

64027.jpg

特殊なアドレス

プレフィックス 用途
::/128 未指定アドレス
::1/128 ループバックアドレス
2002::/16 6to4トンネリング

SLAAC(StateLess Address Auto Configuration)

IPv6に標準で搭載されたアドレス自動設定機能のこと。ICMPv6のNDPを利用して自動設定を行う。

アドレス設定の流れ

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

NDP(Neighbor Discovery Protocol)

ステートレスアドレス自動設定の際に使用するプロトコル。IPv6アドレスの自動設定以外にもデータリンク層のアドレスの解決、アドレスの重複チェックなどが出来るようになる。

ステートレス設定では、クライアント端末はまず自身のリンクローカルユニキャストアドレスを決定する。このとき、NSメッセージやNAメッセージを使用してアドレスが重複していないかどうかを確認する。

種類 ICMPv6 説明
NS(Neighbor Solicitation) 135 特定のノードのMACアドレスを解決するための要求を表し、IPv4のARP要求と同じように動作する
NA(Neighbor Advertisement) 136 NSに対する応答を表す。IPv4のARP応答と同じように動作する
RS(Router Solicitation) 133 端末からネットワーク上のルータに向けて、プレフィックス、デフォルトゲートウェイなどの情報を取得したい場合に要求として送信される
RA(Router Advertisement) 134 RSへの応答を表し、プレフィックス、デフォルトゲートウェイなどの情報が含まれる。ルータから定期的に送信されているが、RSを受信した際は即座にRAを応答する

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

DAD(Duplicate Address Detection)

自身のIPv6アドレスが他の端末と重複していないかどうかを確認する際にNSメッセージを使用する仕組み

移行技術

IPv6に一斉に切り替えるのではなく、IPv6に徐々に移行していく必要があり一時的に併用する手段が用いられる。

デュアルスタック

IPv4アドレスとIPv6アドレスを1つのノードで共存させる仕組み。PCやルータにIPv4アドレスとIPv6アドレスの両方を設定しておき、通信時に使い分ける。

トンネリング

IPv4ネットワークを経由して、IPv6で通信するための技術。通信に使用するプロトコルを更に別のプロトコルでカプセル化して異なるネットワーク内を通過させることが目的。

キャプチャ25.PNG

種類 説明
手動トンネル ルータ間でIPv4の送信元アドレスと宛先アドレスを相互に指定してトンネルを確立する
自動トンネル(6to4トンネル) ルータ間でトンネルを生成するが、宛先アドレスを指定せず、受信したIPv6の宛先アドレスから自動的に宛先IPv4を指定する。2002::/16のアドレスフォーマットを使用する必要がある
ISATAP(Intra-Site Automatic Tunnel Addressing Protocol)トンネル IPv4ネットワーク上のIPv4対応ホストがIPv6ネットワークに接続できるようにするためのトンネルで、ホスト自信がIPv6アドレスを生成することで接続可能になる
Teredoトンネル インターネット上にあるTeredoサーバと連携してトンネルを自動生成する
GREトンネル IPv6だけではなく、様々なネットワーク層のパケットを熱のネットワーク層のパケットにカプセル化し転送できる

トランスレータ

IPv6パケットをIPv4パケットに変換、またはその逆の変換を行うことで、IPv6とIPv4の機器間で通信できるようにするために技術。

技術 説明
NAT-PT ルータがIPv6パケットをIPv4パケットに変換する。ドメイン名の変換が必要な場合はDNS-ALGと連携する。推奨はNAT64
NAT64 IPv4とIPv6の変換を1対多で紐づけるステートフルNAT64と、1対1でIPv4とIPv6を紐づけるステートレスNAT64がある。ドメイン名の変換が必要な場合はDNS64と連携する

IPv6の設定

リンクローカルユニキャストアドレスやグローバルユニキャストアドレスなどの種類があるが、IPv6は1つのインターフェイスに複数の種類のアドレスを設定することが可能。

Cisco製のルータにIPv6アドレスを設定すると、そのインターフェイスは以下の表に示すマルチキャストグループに参加する

アドレス 説明
FE02::1 リンクローカル内の全ノード宛のマルチキャストグループ
FE02::2 リンクローカル内の全ルータ宛のマルチキャストグループ
FE02::1:FFxx:xxxx 要請ノードマルチキャストアドレスのマルチキャストグループ。xx:xxxxはインターフェイスのIPv6アドレスの下から24ビットが入る

ipv6 unicast-routingコマンド

ルータでIPv6ルーティングを有効にするコマンド。グローバルコンフィギュレーションモードで行う必要がある。

CiscoルータではIPv4ルーティングはデフォルトで有効になっているが、IPv6ルーティングは有効になっていないので注意

リンクローカルユニキャストアドレスの設定

ipv6 enableコマンド

インターフェイスでIPv6を有効にしてリンクローカルユニキャストアドレスを自動で設定するコマンド。インターフェイスコンフィギュレーションモードで行う必要がある。MACアドレスを基にしたEUI-64形式のアドレスが自動生成される。

ipv6 addressコマンド

書式:ipv6 address [アドレス] link-local
任意のリンクローカルユニキャストアドレスを手動で設定するコマンド。インターフェイスコンフィギュレーションモードで行う必要がある。有効なFE80で始まるアドレスを指定する。

グローバルユニキャストアドレスの設定

ipv6 addressコマンド

書式:ipv6 address [アドレス] / [プレフィックス長] [eui-64]
グローバルユニキャストアドレスを手動で設定するコマンド。インターフェイスコンフィギュレーションモードで行う必要がある。プレフィックス長の指定が必要になる。[eui-64]を指定することで、インターフェースIDの部分をMACアドレスを基に自動で生成する。

ステートレスアドレス自動設定(SLAAC)による設定

ipv6 address autoconfigコマンド

ルータのインターフェイスのIPv6アドレスをSLAACによって割り当てるコマンド。インターフェイスコンフィギュレーションモードで行う必要がある。接続したネットワークのプレフィックスとゲートウェイアドレスを取得し、インターフェイスIDをEUI-64で自動設定させる。

ルータの設定の確認

show ipv6 interfaceコマンド

書式:show ipv6 interface [インターフェイス]
インターフェイスのIPv6アドレスを確認するコマンド。特権EXECモードで行う必要がある。

show ipv6 interfaceコマンド
R0#show ipv6 interface GigabitEthernet 0/0
GigabitEthernet0/0 is up, line protocol is down
  IPv6 is tentative, link-local address is FE80::1 [TEN]
  No Virtual link-local address(es):
  Global unicast address(es):
    2001:1::1, subnet is 2001:1::/64 [TEN]
  Joined group address(es):
    FF02::1
  MTU is 1500 bytes
  ICMP error messages limited to one every 100 milliseconds
  ICMP redirects are enabled
  ICMP unreachables are sent
  ND DAD is enabled, number of DAD attempts: 1
  ND reachable time is 30000 milliseconds
  ND advertised reachable time is 0 (unspecified)
  ND advertised retransmit interval is 0 (unspecified)
  ND router advertisements are sent every 200 seconds
  ND router advertisements live for 1800 seconds
  ND advertised default router preference is Medium
  Hosts use stateless autoconfig for addresses.

show ipv6 interface briefコマンド

インターフェースの情報を要約して表示し、インターフェースに設定されたIPv6アドレスを確認することできるコマンド。特権EXECモードで行う必要がある。

k61726.jpg

ping ipv6コマンド

IPv6で疎通の確認を行うコマンド。特権EXECモードで行う必要がある。グローバルユニキャストアドレスやユニキャストローカルアドレスの場合は、出力インターフェースを指定する必要はないが、リンクローカルアドレス宛てに疎通確認を行う場合は自身の出力インターフェイスを指定する必要がある。

宛先IPv6アドレスの指定が正しければ、pingの後のipv6部分は省略することができる。

IPv6の設定例

IPv6の設定例

以下の構成図をもとにそれぞれのルータの疎通ができるように設定を行っていく。IPv6を設定する際、グローバルユニキャストアドレス、リンクローカルユニキャストアドレスの両方を付けることができるため、それぞれ設定していく。

キャプチャ4.PNG

R0の設定
Router>ena
Router#conf t
Router(config)#hostname R0
R0(config)#ipv6 unicast-routing 
R0(config)#interface GigabitEthernet 0/0
R0(config-if)#ipv6 address FE80::1 link-local 
R0(config-if)#ipv6 address 2001:1::1/64
R0(config-if)#no shutdown 
R0(config-if)#end
R1の設定
Router>ena
Router#conf t
Router(config)#hostname R1
R1(config)#ipv6 unicast-routing 
R1(config)#interface GigabitEthernet 0/0
R1(config-if)#ipv6 address FE80::2 link-local 
R1(config-if)#ipv6 address 2001:1::2/64
R1(config-if)#no shutdown 
R1(config-if)#exit
R1(config)#interface GigabitEthernet 0/1
R1(config-if)#ipv6 address FE80::1 link-local 
R1(config-if)#ipv6 address 2001:2::1/64
R1(config-if)#no shutdown 
R2の設定
Router>enable 
Router#conf t
Router(config)#hostname R2
R2(config)#ipv6 unicast-routing 
R2(config)#interface GigabitEthernet 0/0
R2(config-if)#ipv6 address FE80::2 link-local 
R2(config-if)#ipv6 address 2001:2::2/64
R2(config-if)#no shutdown 
R2(config-if)#end     

次に、それぞれのセグメントへ疎通できるようにスタティックルートの設定をしていく。

R0のスタティックルートの設定
R0#conf t
R0(config)#ipv6 route 2001:2::/64 2001:1::2
R0(config)#end
R0#show ipv6 route
IPv6 Routing Table - 4 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
       U - Per-user Static route, M - MIPv6
       I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
       ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - Redirect
       O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
       D - EIGRP, EX - EIGRP external
C   2001:1::/64 [0/0]
     via GigabitEthernet0/0, directly connected
L   2001:1::1/128 [0/0]
     via GigabitEthernet0/0, receive
S   2001:2::/64 [1/0]
     via 2001:1::2
L   FF00::/8 [0/0]
     via Null0, receive 
R2のスタティックルートの設定
R2#conf t
R2(config)#ipv6 route 2001:1::/64 2001:2::1
R2(config)#end
R2#show ipv6 route
IPv6 Routing Table - 4 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
       U - Per-user Static route, M - MIPv6
       I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
       ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - Redirect
       O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
       D - EIGRP, EX - EIGRP external
S   2001:1::/64 [1/0]
     via 2001:2::1
C   2001:2::/64 [0/0]
     via GigabitEthernet0/0, directly connected
L   2001:2::2/128 [0/0]
     via GigabitEthernet0/0, receive
L   FF00::/8 [0/0]
     via Null0, receive

ここですべてのルータから疎通確認を行うとつながるようになる。

IPv6のルーティング

異なるネットワークの端末とIPv6で通信するには、ルータにIPv6用のルーティングテーブルを作成する必要がある。

ipv6 routeコマンド

書式:ipv6 route [宛先] [転送先] [アドミニストレーティブディスタンス値]
スタティックルートを設定するコマンド。グローバルコンフィギュレーションモードで行う必要がある。転送先に宛先ネットワークに向かう時のネクストホップまたは自身の出力インターフェイスを指定する。

宛先 説明
ホストルート そのアドレスの持つホストへの経路。プレフィックスに/128を使用する。
ネットワークルート そのネットワークへの経路。プレフィックスに/64を使用する。
デフォルトルート 未知のネットワークにパケットを転送する際に使用する経路。宛先アドレスに::を指定し、プレフィックスに/0を使用する。
転送先 説明
直接接続スタティックルート 出力インターフェイスのみを指定する方法。宛先ネットワークに到達するための出口となるインターフェイスが1つしかないポイントツーポイントのような場合に使用する。
再起スタティックルート ネクストホップアドレスのみを指定する方法。ネクストホップ向けの出力インターフェイスはルーティングテーブルをもとに解決する。
完全指定スタティックルート 出力インターフェイスとネクストホップアドレスの両方を指定する方法。出力インターフェイスがEthernetのようなマルチアクセスで、ネクストホップを明示的に指定する必要がある場合に使用する。

リンクローカルアドレスをネクストホップとして使用する場合、自身の出力インターフェースの指定も必要となる(完全指定スタティックルート)

ルーティングテーブルの確認

show ipv6 routeコマンド

ルーティングテーブルを確認するコマンド。特権EXECモードで行う必要がある。

show ipv6 routeコマンド
R2#show ipv6 route
IPv6 Routing Table - 4 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
       U - Per-user Static route, M - MIPv6
       I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
       ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - Redirect
       O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
       D - EIGRP, EX - EIGRP external
S   2001:1::/64 [1/0]
     via 2001:2::1
C   2001:2::/64 [0/0]
     via GigabitEthernet0/0, directly connected
L   2001:2::2/128 [0/0]
     via GigabitEthernet0/0, receive
L   FF00::/8 [0/0]
     via Null0, receive
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?