マルチプリフィックス
読み:マルチプリフィックス
外語:multi prefix

 IPv6において、一つのノードが複数のIPアドレス(IPv6アドレス)を持つことができること。
目次

概要
 IPv6では、IPアドレスのサブネット部分はプリフィックスと呼び、これを「プリフィックス/プリフィックス長」の形式で表記する。
 例えば、リンクローカルユニキャストアドレスでサブネットIDを0とした場合、プリフィックスは「fe80::/64」となる。
 このプリフィックスが、一つのノードに複数割り当てられることを、マルチプリフィックスという。

特徴

複数の例
 IPv6の仕様においては、各ノードは最低でも一つのリンクローカルユニキャストアドレス(以下、リンクローカルアドレス)が必要である。
 更に、ルーターを介して接続リンク外のノードと通信をする場合は、集約可能グローバルユニキャストアドレス(以下、グローバルアドレス)も必要である。
 この時点で複数のプリフィックスを持っているため、広義のマルチプリフィックス状態であるといえる。
 IPv6ではこれに止まらず、単一のノードに対し、複数の異なるプリフィックスのグローバルアドレスを割り当てることさえも可能である。このように、異なるプリフィックスのグローバルアドレスを複数割り当てることを狭義のマルチプリフィックスといい、通常IPv6の「マルチプリフィックス」といった場合は、狭義のマルチプリフィックスをいう。

利点
 グローバルアドレスを複数持つ利点は、単一のノードが同時に複数のネットワークサービスを利用できる点にある。
 通常、ネットワークサービスを利用する場合はISPに接続する。このとき、接続ノード(ユーザー)にはISPの持っているIPアドレスの中から空いている一つのプリフィックスが払い出され、これによって通信機器にグローバルアドレスを付与する。
 もし同時に複数のネットワークサービスを利用する場合、それぞれのISPから、それぞれのプリフィックスが払い出されるため、一つのノードに同時に複数のグローバルアドレスが付与されることになる。
 IPv6は「エンドツーエンド」と呼ばれ、途中の経路でパケット内が変化しないことを特徴とする。このため、複数のネットワークサービスを利用可能にするにあたり、一つのIPアドレスを巧妙に加工するようなアドホックな対応ではなく、最初からマルチプリフィックスに対応するように設計されたのである。

シームレスな接続
 各ノードは、それぞれのネットワークサービスを利用するのに、それぞれのネットワークサービスから払い出されたグローバルアドレスを使用する。
 これによって、特殊な方法を用いることなく、各ノードはそれぞれのネットワークサービスをシームレスに利用することが出来る。
 具体的な利用例としては、閉域ネットワークとインターネットの併用(フレッツ 光ネクストなど)や、インターネットマルチホームなどがある。

技術的課題

アドレス選択
 ノードが複数のグローバルアドレスを持てることはメリットであるが、難しい課題もある。これは、複数の経路があるなかで、どの経路を使えばよいのか、という問題である。
 閉域ネットワークとインターネットに繋がっているとすると、経路選択を誤れば通信は到達できないことになるため、この課題を克服しないことにはマルチプリフィックスは実用化できないことになる。
 そこでマルチプリフィックスでのアドレス選択方法として、RFC 3484「Default Address Selection for Internet Protocol version 6 (IPv6)」がStandards Track(標準化過程)で発行された。

RFC 3484
 RFC 3484は、複数の経路候補がある場合、どのように経路選択をするかについて、デフォルトの規則(ルール)を決めている。
 第五項「送信元アドレス選択」では、次の8つの規則がある。二つの送信元アドレスをSA、SB、送信先アドレス(宛先アドレス)をDとする。
  1. 同じアドレスを優先 SAとDが同じならSAを、SBとDが同じならSBを
  2. 適切なスコープを優先 スコープ(SA)<スコープ(SB)の場合、スコープ(SA)<スコープ(D)ならSBを、さもなくばSAを
     スコープ(SA)>スコープ(SB)の場合、スコープ(SB)<スコープ(D)ならSAを、さもなくばSBを
  3. 抑制されたアドレスを避ける アドレスSAとSBに同じスコープがある場合で、うち一つが適切、もう一つが抑制(RFC 2462の意味における)であるなら、適切なアドレスを優先
  4. ホームアドレスを優先 SAがホームアドレスかつ気付アドレス(CoA)であり、SBがCoAでないなら、SAを優先
     SBがホームアドレスかつ気付アドレス(CoA)であり、SAがCoAでないなら、SBを優先
  5. 出力インターフェイスを優先 SAがDへの送信用インターフェイスに割り当てられ、SBが異なったインターフェイスに割り当てられるなら、SAを優先
     SBがDへの送信用インターフェイスに割り当てられ、SAが異なったインターフェイスに割り当てられるなら、SBを優先
  6. ラベルが同じものを優先 ラベル(SA)がラベル(D)と等しく、ラベル(SB)がラベル(D)と等しくないなら、SAを優先
     ラベル(SB)がラベル(D)と等しく、ラベル(SA)がラベル(D)と等しくないなら、SBを優先
  7. パブリックアドレスを優先 SAがパブリックアドレスであり、SBがテンポラリアドレスであるなら、SAを優先
     SBがパブリックアドレスであり、SAがテンポラリアドレスであるなら、SBを優先
  8. 最長一致プリフィックスを優先 CommonPrefixLen(SA, D)>CommonPrefixLen(SB, D)なら、SAを優先
     CommonPrefixLen(SB, D)>CommonPrefixLen(SA, D)なら、SBを優先
 但し、ネットワークの構成によっては、この規則でも到達可能なアドレスが得られないことがある。

ポリシーテーブルによる解決
 デフォルトの規則では正しく動作できない場合がある。
 例えば、閉域ネットワークのアドレス空間が「2001:X::/32」、インターネット接続に使うISPのアドレス空間が「2001:Y::/32」とする。
 ここからインターネットに接続された先にある、自身にアドレスを払い出したアドレスブロックとは異なるアドレスブロックのネットワーク「2001:Z::1234」に接続したい場合を想定する。
 この場合、送信先アドレスと送信元アドレスが同じアドレスブロックに存在していないため、最長一致プリフィックスを優先する規則を適用しても、期待される選択を行なうことができない。
 この解決の方法の一つとして、RFC 3484では規則6「ラベルが同じものを優先」という方法を利用し、ポリシーテーブルを書き換えることで規則を変更できる。

インターネットマルチホーム
 インターネットマルチホームの場合、経路(ISP)が二つあった場合でも、ルーティング的にはどちらもインターネットに到達できる。
 しかし、ISP自身が払い出したアドレスでないアドレスを送信元に設定していた場合、接続するISPは「Ingress Filter」(侵入フィルター)としてその通信を遮断し、結果として通信不到達が発生する。

課題解決への動向
 現在は、課題解決のため、さまざまな動きがある。RFC 3484に書かれているポリシーテーブルは、この時点では手動で書き換える以外の方法はない。そこで現在、ポリシーテーブルの自動設定機能について議論が進められている。
 また、北米のARINやアジア太平洋地域のAPNICでは、本来エンドユーザー用では無いPIアドレスを、インターネットマルチホームの利用者限定で配布している。

再検索