次世代IX研究会の相互接続実験に参加する場合、 各参加組織はMPLSをサポートするルータを用いて 相互接続実験網(以下、distix)に接続を行う必要があります。
以下では、distixに接続する各組織のMPLSルータを Edge LSR(Label Switching Router)と呼びます。 また、distixを構成する研究会側のルータをCore LSRと呼びます。 実験に参加する各組織がdistixに接続する際には、 各組織のEdge LSRを隣接のCore LSRに接続するところから始まります。
以下に、実験参加組織がdistix上で実験を行うための手順を紹介します。
ここでは例として、以下の構成における設定について説明します。
接続が承認された後、 distixに接続するインターフェース用のアドレスを研究会から割り当てます。 割り当てられたアドレスを、接続インターフェースに設定してください。 なお、研究会では、原則として/30のアドレスをインターフェースに 割り当てます。
通信確認はpingコマンド(もしくはそれに相当するコマンド)で行います。 まずは、隣接Core LSRまで通信ができることを確認してください。
設定例:原則として次世代IX研究会ではループバックは利用しませんが、 一部インターフェースアドレスを用いることで問題が発生する機器もあります。 このような場合を想定して、 各組織にはループバックアドレスをひとつ割り当てます。 ループバックアドレスを利用する場合、 接続組織側のルータ上でループバックインターフェースを定義し、 研究会から割り当てられたループバックアドレスを設定してください。
設定例:現在、distixでは 192.41.184.0/22のアドレス空間を利用しています。 distixに接続する各ルータは上記アドレスをstatic routeによって、 隣接Core LSRに向けてください。
設定を行ったのち、次世代IX研究会側の管理ホスト192.41.186.209 に対してpingをすることで通信確認を行ってください。 上記の設定を行い、192.41.186.209に対してpingの通信確認ができれば、 distix向けの経路設定は問題ないものと思われます。
なお、次世代IX研究会では、linkのup/downおよび通信確認をするために、 定期的に管理ホスト192.41.186.209からpingによるkeepaliveを行います。 インターフェースアドレスの設定、およびdistix向けの静的経路設定が でき次第、 運用チーム <distix-ops@distix.net> までご連絡ください。
設定例:ユーザのEdge LSRにおいて、 distixと接続しているインターフェースではMPLS によるラベル付きのパケットがやりとりされます。 このためEdge LSRでは、 distixと接続しているインターフェースに対して MPLSを有効にするよう設定を行ってください。
また、distixで利用するLSPにはTTL処理をさせないように 設定を行ってください。一般にno-propagate-ttl もしくはそれに類する指定が可能です。
設定例:次に相互接続実験網distixにおいてMPLSによる 相互接続を行う手順を紹介します。 現在distixではLDP、およびRSVP-TEによる 相互接続が可能です。 LDP、RSVP-TEのいずれの場合も各ユーザのEdge LSR間に 仮想的なパスであるLSP(Label Switched Path)を確立します。 BGP4による経路情報の交換、およびトラフィック交換はLSP上で行います。
以下にLDP、およびRSVP-TEによる相互接続の設定方法について 紹介します。
LDPを用いる場合、相互接続を行う対向Edge LSRに対する FEC(Forwarding Equivalent Class)、および、そのFECに対応する LSPを設定することにより相互接続を行います。
LDPを用いる場合、自組織のEdge LSRに関するFEC(Forwarding Equivalent Class)と呼ばれる経路情報(のようなもの...)と、 それに対応するラベル情報を生成する必要があります。 一般には、 LDPに関するrouter-idを指定することで FECとそれに対応するラベル情報が生成されます。 ここで、router-idにはEdge LSRの インターフェースアドレスを指定してください。
設定例:次に、対向のEdge LSRのインターフェースアドレス に対する/32の静的経路情報を設定します。 LDPではFECと、それに対応する、 同じprefixに対する経路情報が存在して初めてLSPが利用可能になります。 そのため、対向Edge LSRのインターフェースアドレスに対する/32の 静的経路情報を設定します。 next-hopは隣接Core LSRのアドレス、 preferenceは低く設定します。
設定例:RSVP-TEによる相互接続では、ユーザのEdge LSR間に LSP Tunnelを確立することにより相互接続を可能にします。 LSP Tunnelの確立は、以下の手順で行ってください。
相互接続を行うユーザのEdge LSR間にはLSP Tunnelを確立します。 LSP Tunnelの送信元(source)アドレスは ユーザのEdge LSRのインターフェースアドレスを、 また、LSP Tunnelの宛先(destination)アドレスは、 対向Edge LSRのインターフェースアドレスを指定してください。 LSP Tunnelは片方向(unidirectional)ですので、 両方のEdge LSRでLSP Tunnelを設定する必要があります。
なお、distixではLooseなLSP Tunnelの確立が必要です。 これは、Edge LSRがトポロジ情報を持っていないためです。 LooseなLSP Tunnelの設定にあたっては、 LSPのnext-hopを隣接Core LSRに設定する必要がある場合もあります。 詳細は、各実装の設定例を参考にしてください。
設定例:実装によっては、相互接続を行う対向Edge LSRに対して静的な 経路制御を必要とする場合があります。 対向Edge LSRのアドレスに対するパケットが、上記で設定した LSP Tunnelを通るよう設定します。
Ciscoなどではこのような設定が必要です。
設定例:
以上の設定を両方のEdge LSRで行ったのち、LSP Tunnelの確認を 行います。各実装ではLSP Tunnelに関する情報を表示するコマンドが 用意されていますので、このコマンドを用いて、 LSP Tunnelが両方向に確立されていることを確認してください。
また、LSP Tunnelの確立を確認後、対向Edge LSRへの通信確認を 行ってください。対向Edge LSRへの通信確認にはpingコマンド、 およびtracerouteコマンドを利用します。 いずれのコマンドも、通信確認に利用する送信元(source) アドレスを、自組織のEdge LSR側のインタフェースアドレスに 指定してコマンドを実行してください。
BGP4の設定は基本的に通常の相互接続の場合と同様です。 ただし、次の二つの点に注意が必要です。
multihopの指定は、 直接的に物理接続されているインターフェース以外で BGP4の設定を行う場合に必要です。 LSP Tunnelは仮想的な接続とみなされますので、 一般的にmultihopの指定が必要です。 なお、通常multihopの設定時には TTLの指定が可能ですが、 TTLは1になるよう指定を行ってください。 (ただし、現在CiscoではTTLは2以上の指定しかできません。)
また、 BGP4セッションの確立時に送信元(source)アドレス、および相手側の アドレスをLSPの両端のアドレスになるように指定するように設定を 行ってください。 これは、BGP4のセッションがLSP Tunnel上で確立させることと、 BGP4で交換された経路情報をLSP Tunnelに関連付けるために必須です。
設定例:以上を設定したのち、 BGP4のセッションが確立できていることを確認します。 BGP4のセッションが確立され、経路情報が交換されれば いよいよデータトラフィックの交換になります。