IPv6

ff02::1:3 or fe80:: …? (Event ID 5156, 5157…)

 

イベントログ見てると、Xmlドキュメントで以下のわからない文字と遭遇します。

SourceAddress_IPv6

 

IPv6 のアドレス

IPv6 のアドレス構造

IPv4とIPv6の最も大きな違いは、そのネットワークアドレスの長さにある。従来までのIPv4が32ビットであったのに対し、IPv6は128ビットである。

IPv6のアドレスは、前半部(プレフィックス,ネットワークID)と後半部(インタフェースID)に分けられて管理される。インタフェースIDは一意性を得るためにMACアドレス等から生成されるEUI-64フォーマットが使用されることが多いが、必ずこの形式を使わなければならないということではない(特に、サーバでは手動で静的に設定されることが多い)。

アドレスの一意性は最終的にはDuplicate Address Detection (DAD) という仕組みで保証される。

IPv6 のアドレス表記

従来のIPv4では、アドレスの値を8ビット単位でドット(.)で区切り、十進法で表記する。

[例] 192.0.2.1

IPv6では、128ビットを表記する際、IPv4と同様の表記では冗長になりすぎるため、アドレスの値を16ビット単位でコロン(:)で区切り、十六進法で表記する。

[例] 2001:0db8:bd05:01d2:288a:1fc0:0001:10ee

この方法でも、まだ冗長であるため、以下のルールが適用される場合がある。

  • あるセクションが “0” で始まる場合、当該先行する “0” を省略することができる。
[例] 2001:0db8:0020:0003:1000:0100:0020:0003 = 2001:db8:20:3:1000:100:20:3
  • 16ビット単位の記述で “0” が連続するところは “::” で省略することができる。ただし、”::” は可変長なので、1箇所だけ使用できる。
[例1] 2001:0db8:0000:0000:1234:0000:0000:9abc = 2001:db8::1234:0:0:9abc
[例2] 2001:0db8:0000:0000:0000:0000:0000:9abc = 2001:db8::9abc

上記のルール ([RFC 4291]) では同じIPv6アドレスに複数の表記が許容されることになる。

アドレスの表記を唯一に統一し単純化するためのルール ([RFC 5952]) も存在し、同RFCの§4に従うと、以下のようになる。

  • あるセクションが “0” で始まる場合、当該先行する “0” は必ず省略する。
  • 16ビット単位の記述で “0” が2回以上連続するところは、連続する “0” がいちばん長いフィールドを必ず “::” で省略する。
    • 連続する “0” の長さが同じ箇所が複数個ある場合は、最初(上位側)を省略する。
    • 連続しない1回だけの “0” は省略してはならない([RFC 3041]では許容されていなかったため)。
  • 英字部分は必ず小文字を使用する。

その他、アドレスの種類によっては、以下のような特殊な表記が用いられることがある。

  • IPv4互換アドレスやIPv4射影アドレスでは、下位32ビットにIPv4アドレスが埋め込まれる。そのため、その部分だけIPv4の表記にすることが多い。
    • [例] ::ffff:192.0.2.1
  • リンクローカルアドレスは一つのリンク(サブネット)内でしか一意でない。そのため、ホストから見た場合、何らかの方法でネットワークインターフェースを指定してリンクを特定しなければならない。アドレス末尾に % 記号を介してインターフェースの番号や名称を付加するのが一般的である。
    • [例] fe80::0123:4567:89ab:cdef%4, fe80::0123:4567:89ab:cdef%fxp0

また、サブネットマスクは2001:0db8:9abc::/48のように表記される。この場合、先頭から48ビット (2001:0db8:9abc) がネットワークアドレス部である。ただし、IPv4と異なり、グローバルアドレスのエンドユーザーへの割り当て単位が通常は /48 か /64 であることから、通常目にするサブネットマスクは /48 か /64 であり、あまり意識することはない。これより大きい単位(/32 や /16 など)のサブネットマスクは、IPv6のアドレス体系、ルーティング及びISPに対する割り振り等の議論の際に登場する。

IPv6アドレスの種類

IPv6には、以下のような3種類のアドレスがある。

ユニキャストアドレス
一つのインタフェースに付与されているIPアドレス。 一つのインタフェースを認識する。一つのコンピュータに多くのインタフェース(LANボード等)が実装されている場合は、インタフェースの数だけユニキャストアドレスを持つことになる。
マルチキャストアドレス
複数のノードに割り当てられるアドレス。このアドレスあてに送信されたパケットは、複製されてこのアドレスに参加しているノードに配送される。ffxx:: で始まるアドレス。返信にはユニキャストアドレスが指定される。送信元がマルチキャストアドレスのパケットをルータは中継してはならない。
なお、IPv6にはブロードキャストアドレスというものは存在しないが、必要な場合は、オールノードマルチキャストアドレス (ff02::1) を使う。
エニーキャストアドレス
一つのアドレスが複数のノードに割り当てられているという点ではマルチキャストと似ているが、エニーキャストの場合は「そこに属しているノードの中で、ネットワーク上で一番近いノードのどれか一つのみに配送される」という点が異なる。返信にはユニキャストアドレスが指定される。送信元がエニーキャストアドレスのパケットをルータは中継してはならない。

さらに、パケットの到達範囲(スコープ)によって、上記のアドレスそれぞれに対しリンクローカルスコープとグローバルスコープのアドレスが存在する。

リンクローカルスコープ
あるリンクでのみ一意なアドレス。このスコープあてのパケットはルータを越えて配送されることはない。
グローバルスコープ
全IPv6で一意なアドレス。

以前はサイトローカルスコープというものもあったが、ほとんど使われないまま廃止された。

特殊なアドレス

0:0:0:0:0:0:0:0
未指定アドレス (Unspecified Address) として定義されている。0 を省略して 0::0:: とも表記される。このアドレスはノードにまだアドレスが割り当てられていないことを意味し、ノードに割り当てられることはない。ノードの初期化段階において、アドレスの重複をチェックする場合などに送信元アドレスとして使用される。
0:0:0:0:0:0:0:1
ループバックアドレスとして定義されている。0 を省略して 0::1::1 とも表記される。IPv4では 127.0.0.0/8 の範囲の任意のアドレスをループバックアドレスとして使用できるが、IPv6 ではこのアドレスに限られる。ループバックアドレスであるため、このアドレスをインターフェイスに割り当てることはできない。

使用されているアドレス

IPv6を利用していて通常目にするアドレスは、グローバルユニキャストアドレスリンクローカルユニキャストアドレスである。IPv6のアドレス空間については、#IPv6アドレス空間参照。

グローバルユニキャストアドレス
ルータを超えて、インターネット上で通信可能なアドレスで、グローバルアドレスとも呼ばれる。IPv4におけるグローバルIPアドレスに相当する。IANAが割り振りを管理しており、RIR単位での割り振りは、IPv6 Global Unicast Address Assignmentsで公開されている。現在は、RFC 3587により、アドレスの先頭3bitが001であるアドレスのみIANAが割り振りを行っている。
128ビットの内訳
長さ 説明
nビット グローバルID(グローバル・ルーティング・プリフィックス)
64-nビット サブネットID
64ビット インターフェイスID
(グローバル・ルーティング・プリフィックスは、IANA、RIRおよびNIRからISPなどのLIRに割り振られたものの中から、ISPなどのLIRがエンドユーザに割り当てられたものを使用する。)
このうち、特定の用途に使用されているものとしては、以下のものがある。
アドレス 説明
2001::/32 Teredo (RFC 4380)
2001:2::/48 BMWG (RFC 5180) ※ルータでは中継されない
2001:10::/28 ORCHID (RFC 4843) ※ルータでは中継されない
2002::/16 6to4 (RFC 3056)
2001:db8::/32 文書作成用アドレス空間 (RFC 3849) ※ルータでは中継されない。マニュアルなどの文書中のみで利用するIPアドレス例示用で、実存のアドレスではない事が保証されている。なお、このアドレスを含むネットブロック2001:c00::/23はAPNICに割り当てられている。
リンクローカルユニキャストアドレス (RFC 1884)
各ネットワークインターフェース毎に、初期化時に自動生成し、LANの同一セグメント内でのみ有効なアドレス。IPv6のルータでは中継されないため、インターネット上では使用できない。プレフィックスは常に fe80::/64となる。
128ビットの内訳
長さ 説明
10ビット プリフィックス (1111111010)
54ビット 0固定
64ビット インターフェイスID
ユニークローカルユニキャストアドレス (RFC 4193)
IPv4におけるプライベートIPアドレスと同様に、ローカルでの使用向けに使われるアドレス。
fd00::/8 アドレスの一部をランダムに生成して使用する。完全な一意性は保証されないものの、異なる組織でアドレスが重複する可能性は低い。
128ビットの内訳
長さ 説明
7ビット プリフィックス (1111110)
1ビット L(1=局所的な割り当て、0は現在未定義)
40ビット グローバルID(乱数)
16ビット サブネットID
64ビット インターフェイスID
(グローバルIDは、各ネットワーク単位で乱数を用いて決定することになっている。国際機関で一意に管理されている値ではないため、ユニークローカルユニキャストアドレスはローカルアドレスであってグローバルアドレスとしては運用できない。)
IPv6 アドレス割当のまとめ
アドレス 割り当て IPv4 での割り当て
:: (アドレス未定義を示す) 0.0.0.0
::1 ループバック 127.0.0.0/8
::/96 (IPv4互換アドレス)  
::ffff:0:0/96 (IPv4射影アドレス)  
0200::/7 CLNS の NSAP アドレス用に予約  
0400::/7 IPX 用に予約  
2000::/3 グローバルユニキャストアドレス グローバルアドレス
  2001::/32 Teredo  
2001:2::/48 BMWG  
2001:10::/28 ORCHID  
2001:db8::/32 (文書記述用アドレスプレフィックス)  
2002::/16 6to4  
3ffe::/16 6bone – IPv6 の実装実験用  
fc00::/7 ユニークローカルユニキャストアドレス  
  fc00::/8 集中管理  
fd00::/8 ローカル管理  
fe80::/10 リンクローカルユニキャストアドレス 169.254.0.0/16 (APIPA)
fec0::/10 サイトローカルユニキャストアドレス ※廃止 プライベートアドレス
ff00::/8 マルチキャストアドレス 224.0.0.0/4
  ff01::/16 ノードローカル  
  ff01::1 全ノード  
ff01::2 全ルーター  
ff02::/16 リンクローカル  
  ff02::1 全ノード  
ff02::2 全ルーター  
ff02::4 DVMRPルーター  
ff02::5 OSPFIGP  
ff02::6 OSPFIGP指定ルーター  
ff02::7 STルーター  
ff02::8 STホスト  
ff02::9 RIPルーター 224.0.0.9 (RIPv2)
ff02::a EIGRPルーター  
ff02::b 移動エージェント  
ff02::c SSDP  
ff02::d PIMルーター  
ff02::e RSVPカプセル化  
ff02::1:1 リンク名  
ff02::1:2 全DHCPエージェント  
ff02::1:3 LLMNR 224.0.0.252
ff05::/16 サイトローカル  
  ff05::2 全ルーター  
ff05::1:3 全DHCPサーバー  
ff05::1:4 全DHCPリレー  
ff05::1:c SSDP 239.255.255.250
ff0e::/16 グローバル  
  ff0e::c SSDP  

 

 

Wikipedia Japanhttp://jp.wikipedia.org/wiki/IPv6

Windows Serverhttps://technet.microsoft.com/ko-kr/library/cc755011(v=ws.10).aspx

By | 2018-01-22T18:03:08+00:00 October 11th, 2015|Categories: テック|Tags: |Comments Off on IPv6