IPv6まとめ

アドレスの割り当て状況

IPv6アドレス空間のうち、80%以上が見割り当てとなっているので変わる可能性あり。

  • 未割り当て 0000 0000 (::0/8)
  • 予約済み 0000 001
  • グローバルユニキャスト 001 (2000::/3)
  • リンクローカルアドレス 1111 1110 10 (FE80::/10)
  • 予約済み 1111 1110 11 (FEC0::/10)(もともとはサイトローカルユニキャストに割り当てられてたもの)
  • ローカルIPv6アドレス 1111 110 (FC00::/7)
  • プライベートな管理用 1111 1101 (FD00::/8)
  • マルチキャスト 1111 1111 (FF00::/8)

アドレスの種類

IPv6アドレスは以下の3つに分類される。

ユニキャスト
  • IPv4と同じユニキャスト。このアドレスに送信されたデータは、そのアドレスを持つインタフェースに届けられる。
マルチキャスト
  • IPv4と同じマルチキャスト。このアドレスグループに所属するメンバーすべてに届けられる。
エニーキャスト
  • 複数のインタフェースに設定されているアドレスで、このアドレス宛に送信されたデータは、複数のインタフェースの中で送信元から一番近いインタフェースに届けられる。
  • 110番に電話したときに、近くの警察へつながるようなもの

ユニキャストアドレス

IPv6のユニキャストアドレスは、そのアドレスの有効範囲で以下の3種類に分けることができる。この有効な範囲をscopeと言う。

グローバルアドレス
  • 全インターネットで一意なアドレス
  • 001(2進数)で始まる。16進数表記では2000::/3
リンクローカルアドレス
  • その名の通り、リンク間でのみ有効なアドレス。
  • 1111 1110 10(2進数)で始まる。16進数表記ではFE80::/16
  • ルータのない(一時的なネットワークを作るときなど)に使用する。例えば、クロスケーブルでPC同士をつないでファイルをコピーするときなどにリンクローカルアドレスを使用する。
  • ホストでIPv6を有効にすると、自動で設定される。Windowsの例だと、MACアドレスが00-06-52-f9-d8の機器の場合、fe80::260:8ff:fe52:f9d8(ffe80::0260:08ff:fe52:f9d8)が自動で設定される。(fe80::060:8ff:fe52:f9d8でないので注意)
  • IPv4でも同じ概念があり、169.254.0.0/16である。詳しくはRFC3927を参照すべし。
サイトローカルアドレス
  • グローバルでユニークであるが、サイト内や特定のネットワーク内でのにアドバタイズするために使用される。
  • 1111 1110 11で始まる。16進数表記でfec0::/10
  • 実は、サイトローカルアドレスは2004年9月施行のRFC3879で廃止。でも、プライベートアドレスみたいなローカルアドレスは必要だろう、と言うことで下記の変更された。
    • サイトローカルアドレスは、RFC4193で「ユニークローカルIPv6ユニキャストアドレス」(ULA)に置き換えられた。長いので「ローカルIPv6アドレス」と呼ばれ、1111 110で始まる。16進数表記ではFC00::/7
    • 先頭8ビット目は、ローカルで管理されているアドレス(1)か、集中管理されている(0)を示すフィールドとなっている。今のところ、ローカル管理の方だけ標準化されることが決定されている。その場合、FD00::/8となる。ローカル管理のときは、FD00::/8のあとにユニークになるようにランダムに生成される40ビットのグローバルID、16ビットのサブネットID、そんでもって64ビットのグローバルIDが書き込まれる。ローカル管理で当面は運用するが、ランダムに生成したアドレスがバッティングするなど問題が発生する場合は、サイトローカルアドレスはFC00::/8の集中管理(セントラルアサイン)で、割り当てをするかもしれないとなっている。

ヘッダ

IPv4との違い
トラフィッククラス
  • IPv4ToSフィールドと同じ
  • トラフィッククラスをDSフィールドとして使用し、先頭6ビットをDSCP、残り2ビット明示的輻輳通知(ECN)としてして使用される。
    • ECN:00 ECNを使用しないパケット
    • ECN:01/10 送受信者ともにECNがオン
    • ECN:11 ルータが輻輳を通知
フローラベル
ペイロードの長さ
ネクストホップ
ホップリミット

プロトコル

ステートフル
ステートレス
DNS
IPsec
  • IPsecは、IPv6を実装しているOSにはMUST
  • しかし、現状は怪しい。特に組み込み系のOSだと、IPsecは重いので実装されていないものも多い。
  • IPv4IPsecは、サイトツーサイトがメインだったが、IPv6はホスト間のIPsecがメインと想定。ようするに、トンネルモードからトランスポートモードへ。
  • ホスト間のIPsecがメインとなると、サイト管理者的には困る。
  • フォーマットがIPv4IPv6では異なり、IPv6では拡張ヘッダにAHやESPが格納される。
モバイルIP

Pv4からIPv6への以降

デュアルスタック
  • クライアントもIPv4,IPv6を実装。ルータもIPv4,IPv6の両方のネットワークに接続してる。
6to4トンネル

-

NAT-PT

Windowsの動作・設定

詳しくは下記を参照
http://www.microsoft.com/japan/technet/prodtechnol/winxppro/plan/FAQIPV6.mspx

インタフェースに設定されるIP
  • RAを受信すると、EUI-64で生成されるアドレスと、テンポラリーアドレスの2つが割り振られる。
  • EUI-64だとMACアドレスがばれたり問題があるので、テンポラリーアドレスがある。
    • テンポラリーアドレスは、匿名アドレスとか言われたりする。
    • Privacy Extensions for Address Configuration in IPv6と言う名で、RFC3041で記載されている。
    • テンポラリーアドレスは推奨は24時間(最大有効期限は7日)で、延長不可能。
    • EUI-64は、推奨は7日間(最大有効期限は30日)で、延長可能。
    • RAで受信したプレフィックス(64bit)と電源起動時の乱数(64bit)を並べて128bitにし、MD5でハッシュを出す。で、先頭64bitをホスト部に使用。残りの64bitは次回のホスト部に使用するためストックする。ホスト部に使用するとき、G/Lビットは0にする。
送信元のIP
  • IPv6のアドレスが割り当てられると、グローバルユニキャストアドレスが2つ生成される。
    • 1つな、EUI-64形式のアドレス
    • もう1つは、テンポラリーアドレス。
  • で、普通に通信するときにはテンポラリーアドレスを送信元で通信する。
  • でも、EUI-64形式の方にping等をしても通信できる。
インタフェースの確認
ipv6 if (インタフェースの番号)
C:\>ipv6 if 5
Interface 5: Ethernet: ローカル エリア接続
  Guid {6A57F719-6600-408C-B639-4DCF6766EAB6}
  zones: link 5 site 2
  uses Neighbor Discovery
  uses Router Discovery
  link-layer address: 00-03-ff-30-13-a3
    preferred link-local fe80::203:ffff:fe30:13a3, life infinite
    multicast interface-local ff01::1, 1 refs, not reportable
    multicast link-local ff02::1, 1 refs, not reportable
    multicast link-local ff02::1:ff30:13a3, 1 refs, last reporter
  link MTU 1500 (true link MTU 1500)
  current hop limit 64
  reachable time 29000ms (base 30000ms)
  retransmission interval 1000ms
  DAD transmits 1
  default site prefix length 48
リンクローカルアドレスping
  • 自分のどのインタフェースからパケットを送信するか教えるために、自分のインタフェース番号を入力する。
C:\>ping6 fe80::21b:54ff:fea9:5ed8%5
(%5が自分のインタフェース番号)
IPv6アドレスにtelnet
  • 特になにもなし。単にtelnetのあとに相手のIPv6アドレスを入れるだけ。
C:\>telnet 相手のIPv6アドレス
各種コマンド
  • v6のアドレス等の確認

Ciscoの動作・設定

IPv6を有効にする。
(config)# ipv6 unicast-routing

インタフェースにIPv6アドレスを設定せずに有効にする。

(config-if)# ipv6 enable
確認
sh ipv6 int fa0/0
FastEthernet0/0 is up, line protocol is up
  IPv6 is enabled, link-local address is FE80::21B:54FF:FEA9:5ED8
  No global unicast address is configured
  Joined group address(es):
    FF02::1
    FF02::2
    FF02::1:FFA9:5ED8
  MTU is 1500 bytes
  ICMP error messages limited to one every 100 milliseconds
  ICMP redirects are enabled
  ND DAD is enabled, nunmber of DAD attempts: 1
  ND reachable time is 30000 milliseconds
  ND advertised reachable time is 0 milliseconds
  ND advertised retransmit interval is 0 milliseconds
  ND router advertisements are sent every 200 seconds
  ND router advertisements live for 1800 seconds
  Hosts use stateless autoconfig for addresses.