【IPv6について】
このHPはIPv6についてまとめたものです。
1-1 IPv6
IPv6のIPアドレスは,IPv4の32ビットに対して4倍の128ビットに拡張している。
これは、実質的に無制限といえるIPアドレス数を提供することになる。
IPv6ではIPアドレスが128ビットにもなり、IPv4のように10進数で表記すると非常に長くなってしまう。
従ってIPv6アドレスは、16進数を使用し16ビット「:」で区切って表記する。
1-3 IPv6ヘッダ
IPv6のヘッダ構造はIPv4に比べて大幅に簡素化されている。IPv4ヘッダはオプションの指定などにより長さが変わる「可変長」だったが、IPv6のヘッダは40バイトの「固定長」とすることで、ハードウェアベースの効果的なルーティング処理を実現する。
【IPv6ヘッダの各フィールドの役割】
●バージョン(4ビット)
プロトコルのバージョンを示す。IPv6では「6」が入る。
●トラフィッククラス(8ビット)
IPv4において、ToSの機能を引き継ぐのがこのフィールド。 このフィールドを使用してパケットの優先度付けを行うことができる。
●フローラベル(20ビット)
IPv6から新たに追加されたフィールド。ルータに特別な扱いを要求するパケットのラベル付けを行うために利用される。
●ペイロード長(16ビット)
ヘッダを除いたパケットサイズを表す。
●ネクストヘッダ(8ビット)
IPv6ヘッダの直後に続くヘッダのタイプを表し、IPv4で「プロトコルフィールド」だったもの。拡張ヘッダが存在する場合は拡張ヘッダのタイプが入る。ネクストヘッダで指定できるプロトコルは、次の2つのタイプのどちらか。
★上位レイヤのプロトコルデータユニット(PDU)
★IPv6拡張ヘッダ
●ホップリミット(8ビット)
1-4 IPv6アドレスのタイプ
IPv6では、より効率的にアドレスを管理できるようにするため、アドレスの種類やスコープもIPv4とは異なるものが用いられている。
●3種類のアドレスタイプ
IPv6アドレスでは次の3つのタイプのアドレスがある。
【ユニキャスアドレス】
通常の1 対 1の通信に使われ、特定のインターフェイスに割り当てられるアドレス。
【エニーキャストアドレス】
IPv6からの新しいアドレスタイプ。IPv4マルチキャストアドレスと同じで、あるグループを表すアドレス。但し、エニーキャストは、利用しているルーティングプロトコルの基準に応じて最も近いインターフェイスに送られる。 エニーキャストアドレスは、異なるインタフェースに同じアドレスを割る振ることができる。
【マルチキャストアドレス】
同じアドレスを持つインターフェイスが複数存在し、マルチキャストアドレスあてに送信すると、そのすべてのインタフェースが受信する。IPv4のマルチキャストと同じ。
IPv6では、ブロードキャストアドレスがなく、マルチキャストの一部で代替されている。
●3種類のアドレススコープ
今までのIPv6アドレスタイプには、アドレス有効範囲を表す「スコープ」がある。IPv6アドレスのスコープの主なものには、次の3つがある。
【リンクローカルスコープ】
あるリンク(ブロードキャストドメイン)でのみ有効なアドレス。このスコープあてのパケットはルータを越えて配送されることはない。
【グローバルスコープ】
全IPv6で一意なアドレス。
【サイトローカルスコープ】
単一のサイトでのみ有効なアドレス。現在は利用停止
1-5 ユニキャストアドレスについて
IPv6では、ネットワーク部分をネットワークプレフィクスといい、ホスト部分をインターフェースIDと呼ぶ。
IPv4と同様、プレフィックス長によって1つのネットワークに属するホスト数も変動する。
IPv6では、アドレスの有効範囲(スコープ)によって以下の3つに
分類される。
●グローバルユニキャストアドレス【2003::/3】
IPv4のグローバルIPアドレスに相当する、グローバルで有効なユニキャストアドレス。
また、グローバルユニキャストアドレスは、次の3つのフィールドで構成される。
★グロバールルーティングプレフィクス(48ビット)
★サブネットID(16ビット)
★インターフェイスID(64ビット)
●サイトローカルユニキャストアドレス【FEC0::/10】
同一サイト内で有効なユニキャストアドレス。ただし、現在は利用停止。
先頭10ビットが『1111
1110 11(FEC0::/10)』で定義されている。
●リンクローカルユニキャストアドレス【FE80::/10】
リンクローカルユニキャストアドレスは、同一セグメント上での通信に使用するアドレス。
同一セグメント上の他のホストとのアドレス解決や近隣ノードとの通信に利用する。アドレス宛てのパケットはルータを超えられない。
リンクローカルアドレスは、「1111
1110 10」というビットパターンで始まり、16進表記では『FE80::/10』。リンクローカルアドレスの構造は以下の図になる。
■ EUI-64とインターフェースIDについて
IPv6ユニキャストアドレスは、64ビットの 【ネットワークプレフィクス】 と、64ビットの 【インターフェースID】によって構成される。
インターフェースIDは、<手動で設定する方法>と<自動的に一意なインタフェースIDを生成する方法>がある。
自動で生成する場合、【EUI-64】と呼ばれるフォーマットを使用して自動生成する。EUI-64は、ホストのMACアドレスをベースにしてインタフェースIDを生成し、MACアドレスの中央に16ビットの『FFFE』を挿入して64ビットに拡張する。
さらにMACアドレスの上位7ビット目を『1』に設定する。このMACアドレスの上位7ビット目をU/L(Universal/Local)ビットといい、グローバルに管理するときは「1」に、ローカルに管理されるときは『0』に設定される。