It is the top of the page

Link for moving within the page
To text (c)

このウェブサイトではサイトの利便性の向上のためにクッキーを利用します。サイトの閲覧を続行されるには、クッキーの使用にご同意いただきますようお願いします。
お客様のブラウザの設定によりクッキーの機能を無効にすることもできます。詳細はこちら

The main part starts here.

  1. ナレッジセンター
  2. 匠コラム

Segment Routingの美味しい使い方②

匠コラム
自動化
ネットワーク
データセンター

ビジネス開発本部
第1応用技術部 ネットワークチーム
平河内 竜樹


本記事では、昨今取り上げられることが多いSegment Routingを対象に、新たな選択肢の特徴的な機能とその具体的な活用場面を紹介します。(第2回)

連載インデックス

また、「おわりに」の項にて全体のまとめを記載しております。
先に概要を把握された方はこちらからご覧いただければと思います。
本ページには、主に下記の情報が含まれています。
mokuji

【補足情報】

Segment Routingの位置付けと特徴

SRv6の位置付けと特徴

(正常に表示するため、ページのリロードやフレームの再読み込みが必要になることがあります。)

更新履歴

[2022/01/19] 記事公開
[2022/01/24] 誤字修正(情報の追加・削除はありません)

L_1

はじめに:TE (Traffic Engineering) のシンプル化

今回取り上げるSegment Routing(以下「SR」)の用途は、ユーザやサービス単位での伝送路選択の要求を、よりシンプルな形で実現する手段として適用するというものです。
これは、SR Policyで想定されるTE LSPの自動生成機構とトラフィックステアリング機構の利用により、「TE LSP及びサービスマッピングの個別設定を省略したTEを実現可能」という特徴に基づいた用途となります。
また前回でも触れた通り、TI-LFAの併用によって、「IGPコスト非依存で導出されたTE pathに対しローカルリペアを提供可能」となる点も特徴として挙げられます。

さらに動的なパス計算の方法としてFlex-Algorithm(以下「Flex-Algo」)を利用することで、SR特有の課題に対処し、計算されるパスに対してより厳格に意図を反映させることが可能となります。

TEの実現も、MPLSが利用されるモチベーションの一つとなりますが、その要求度合いは様々です。
同じ事業セグメントのお客さまであっても、管理ドメインの端から端までの伝送路管理を検討することもあれば、広域ネットワークであっても到達性が確保されれば伝送路は特段問題視しないというケースもあります。これは、TEの要求度合いが環境によって異なることの示唆と言えます。
可用性の観点では、トポロジによってはマルチパスなどでカバー可能となり、またバックアップパスの保持が困難であっても規模や条件の面からFRRの適用は過剰品質となることもあります。このような場合は、TEを導入しない方がシンプルに構成することができます。

一方、「IGPコストに依存せず伝送路を選択する」「障害の影響範囲を分散し且つ予測可能とする」「伝送路によって経由サービスを選択する」などの要求がある場合、可用性に関わらずTEが重要な役割を果たします。
また、トラフィックアカウンティングなどの理由で、「伝送路の制御は必要ないがTE LSPは確立したい」といったケースも想定されます。
FRRの実現に限らず、このような要件が存在する場合は、TEの導入を検討することになります。

目次に戻る

SR-TE

TEの出発点として『Link-State IGPIP転送の範囲でやれることは限られている』ということがあり、前提を問わなければ、TEの実現手段はMPLS以外にも存在します。
例えば、「経路単位で重みづけが可能なプロトコルを使う」「CLI/API経由でホストやフロー単位の経路を設定する」「リンクレイヤでサーキットを形成する」といった方法が挙げられます。
運用やサービスレベルを度外視すれば、エンドシステムが、ソースルーティングのオプションによって伝送路を指示する形式もあります。
またIGPにおいても、マルチトポロジ()やマルチインスタンス()といった拡張が行われています。

一方、各技術は常に利用可能な選択肢というわけではなく、例えば以下の条件に適用可能であるかは技術によって異なります。

  • パスの形状としてアーム構成に対応できるか
  • サービス追加の際に伝送路全体で対応が必要とならないか
  • パス追加の際に伝送路全体で対応が必要とならないか
  • 中継網上で障害が発生した際に隣接点で迂回できるか
  • MPLS VPNのトランスポートに適用できるか
  • 広く実装され成熟が進んでいるか

RSVP-TE LSPはパスのシグナリング機構を持つため、ヘッドエンドでERO(Explicit Route Object)が導出されれば、必要なパスのセットアップは自動で行われます。
またTE pathに対するプロテクションを提供することができ、可用性の点でも優位です。
なお上記項目のうち最後の二点は、パス形成とは別の観点ですが、こちらも無視できない要因となっています。
ネットワークに一定規模のテナント分離要件があれば、VPNの実現方式としてMPLSは有力な選択肢となります。そこにTEの要件が加わると、自ずとトランスポートの技術にはMPLS TEが選ばれることになります。

この場合、パスの形成方法として、RSVP-TEに課題が無いわけではありません。
典型的には、「とりわけFRR用に導入する技術としては複雑さが大きいこと」「多くのLSPが利用される環境ではコアのLSP数がボトルネックになる可能性があること」が挙げられます(図1)。
前回挙げていた内容は主に前者の課題に対応するもので、またSRでは、後者のスケーラビリティに関しても対処することができます(図2)。

1LSPスケーラビリティの課題(IETF87 Status BOF資料より抜粋)

2LSPスケーラビリティの向上に寄与する仕組み(【補足情報】より抜粋)

SRは機能性にも優れ、先に挙げた条件はいずれも対応することができます。
Admission Controlが実現できないなど、LSPの状態情報を持たないことがマイナスに作用する要素も存在していますが、要件として対応可能であればSRの方が適合する場面は多くあります。
SRは、主要な仕様に関しては標準化も完了しており()、オープンでシンプル・スケーラブルなTE技術として活用することができます。

なおSR固有の留意点としては、既存環境との接続の他に、SRGB(Segment Routing Global Block)の管理やSID段数の制約などが挙げられます。
SR-TEではExplicit PathだけでなくDynamic Pathもサポートされていますが、どちらにしても伝送路を指定する情報がヘッダに反映されます。とりわけ大規模環境ではSIDの段数は留意事項となります。

目次に戻る

Flex-Algo:従来技術との比較

先に挙げた課題のうち、SIDの段数に関係する事項として、SRにはFlex-Algoという仕組みが存在しています。
ここで挙がるアルゴリズムとは、どのリンクを勘定するかの制約情報や、IGP metricTE metricdelay metricといったmetric-typeの中でどれを用いるかなどを規定するものです()。
管理者は、これらの要素を選択する形で、任意のアルゴリズムを定義することが可能です。

図3: FAD sub-TLVIS-ISの場合。draft-ietf-lsr-flex-algo-17より抜粋)

関連して、SRIGP-Prefix Segmentはアルゴリズムを変えることにより同一のPrefixに複数のSIDを割り当てることが可能であり()、各Prefix-SIDは対応するアルゴリズムIDが付与されて広報される形式となっています(図4)。

図4: Prefix-SID sub-TLVIS-ISの場合。RFC8667より抜粋)

アルゴリズムID0には通常のSPF計算が割り当てられており()、アルゴリズムのFieldFlex-Algoの有無を問わず常に含まれます。
Flex-Algoを利用すると、対応するPrefix-SIDもしくはLocatorの広報時に、管理者が定義した128-255を範囲とするアルゴリズムIDが格納されます。
SRノードではアルゴリズム単位で、定義されたmetric-type・calculation-type・constraintsに基づき、それぞれパス計算が行われます。

Segment RoutingのアルゴリズムIDは、SR-MPLSではPrefix-SIDと、SRv6ではSRv6 Locatorと、それぞれ関連付きます(図5・図6)。
SR-MPLSではTransport Labelが、SRv6ではIPv6 Prefix及びそれに属する各種SRv6 SIDが、アルゴリズムの数に応じて各SRノードで追加され、コントロールプレーンを経由してSRドメインで共有されます。

図5:SR-MPLSFlex-Algodraft-ietf-lsr-flex-algo-17より抜粋)

図6:SRv6Flex-Algodraft-ietf-lsr-flex-algo-17より抜粋)

転送時に付与されるSIDは、ヘッドエンドにおけるSegment Listの構成及び選択に依存します。
具体的には、定義したアルゴリズムIDSR Policyで指定することによって、利用されるSIDが対応するFlex-Algoのものになります。
また、Explicit Pathとして、Flex-Algoが関連付いたSIDSegment Listに直接指定することも可能です。
いずれにおいても、各SRノードが保持する転送テーブルのサイズはパス数の影響を受けない、というSRの特徴はFlex-Algoを用いた際にも維持されます。

Flex-Algoでは、宛先単位で固有のSIDを使う側面から、一段のSIDによるConstraint-based Pathが実現可能となります。
これより、Global SIDの利用スペースが増大する側面はあるものの、SRドメインにおいて転送時に付与されるSIDの段数増加を抑制する効果があります。
対してSegment Routingの構成において従来のCSPF(Constraint-based Shortest Path First)を利用する場合、TED(Traffic Engineering Database)を利用する点は同様ですが、規模やメトリックに応じて形成されるSegment ListSID段数は積み上がる可能性があります。

また、Flex-Algoを用いた場合、迂回路を含めて制約条件を遵守することが可能となります。
7は、通常のCSPFを用いた場合およびFlex-Algoを用いた場合それぞれのTE pathの通信に対し、TI-LFAによってローカルリペアが行われる例を図式化したものです。

図7:リンクカラーを考慮したパス計算で、通常のCSPFを用いた場合(左)と、Flex-Algoを利用した場合(右)

対象となるTE pathは、赤色のリンクを経由し、青色のリンクは使わないという制約を反映するものとします。
制約の中で累積メトリックが最も小さいR30を経由するパスが利用され、R30を経由するパスに障害が発生した場合は、R25経由のパスを利用する動作が期待されます。
通常時はCSPFの計算によって構成されたSegment Listによって、期待通りに動作します。
しかしこの環境では、障害発生直後にTI-LFAによって迂回されている間は、制約条件として通過してはならない青色のリンクを通過する結果となります。
これは、PLRで利用されるバックアップパスが、Segment Listを構成する各SIDに対して算出されるもので、制約条件を考慮したものではないことに起因しています。
ローカルリペアの動作が行われている間、この制約に違反した状態は継続します。
その後、時間経過によってヘッドエンドで制約を考慮したSegment Listが再度構成され、そちらに移行することによって通信はR25経由となり期待された状態へ推移します。

対して上記の制約をFlex-Algoを用いて実現した場合、前提として、対象のTE pathで使われるSIDR15で転送可能な状態となりません。
アルゴリズムが異なるSIDはバックアップパスも個別に算出されるため()、同様の障害が発生した場合、ローカルリペアの動作が行われている間もR25を経由することが保証されます。
また、Segment Listの再構成も発生せず、トランスポートネットワークの収束によってトポロジ変化後のパス最適化が完了します。
このため、ローカルリペアの動作が行われている時間も極めて短いものとなります。

このような動作は、伝送路が主系副系の二系統に限られるなど、迂回路に選択肢がないケースではあまり必要とされないかもしれません。
これに対して迂回路が複数存在し、収束が完了するまでの間も含めて制約を遵守する必要がある場合には、Flex-Algoの特性が効果を発揮します。
関連してdelay metricに関しては、広報するためのIGP拡張()としては用途を制約するものではありませんが、品質やSLAの保証といった側面を踏まえるとFlex-Algoでの利用に適していると言えます。

なおオフトピックとなりますが、Flex-AlgoSegment Routingに関連する技術として登場しているものの、Prefix単位で個別のアルゴリズムを勘定するというアプローチは特定のEncapsulation方式に起因した内容ではありません。関連する仕様として、Segment Routingを伴わない環境に適用する提案も具体化されています()。
なおこの場合、プロテクションはEncapsulationを伴わないLFAによってカバーすることが基本となります()。
他方Segment Routingの環境で利用した際は、対象となるPrefixの保護にTI-LFAを活用できるため、TEFRRの双方が十分に備わった状態をシンプルに実現することが可能です。

目次に戻る

Flex-Algo:設計・設定上の留意点

Flex-Algoを適用する差異の留意事項として、対応するPrefix-SIDLocatorが別途必要となることが挙げられます。
必要となるSIDスペースが増加する点から、Flex-Algoの利用は、SRGBの設計に影響があります。
特にSRv6の場合「Locatorの割り当てはPrefix単位となる」「LocatorにはGUAが利用される可能性がある」「個別のLocator uSIDの利用などでも必要となる」といった側面があります。
なおSR-TEでは、従来のCSPFを適用する方法でも、Administrative group(color)TE metricに基づいたConstrained-base Pathを形成することが可能です。
この場合、TE pathは標準アルゴリズムのSIDスタックによって実現され、利用するSIDスペースが増加することはありません。

また、各SIDがどのアルゴリズムに属するかの指定は、関連する各SRノード上で行います。
このため、導入後にアルゴリズムの追加といったような、アルゴリズムに対する編集が発生した場合はトランジットノードに対する設定変更が必要となります。
この側面がどの程度許容されるかは環境によって異なります。もしこのような設定変更の可能性を排する優先度が高ければ、例えばコントローラを用いたExplicit Pathの一元管理が、TEを実現する上で適した方式として挙げられます。

目次に戻る

Per-Destination Steeringとdynamic SR Policy:従来技術との比較

TE LSPを利用する上では、形成したTE pathをどのサービスが利用するかの関連付けが必要となります。
これまでのサービスマッピングは、API経由で外部から編集されることはあっても、各ヘッドエンドでのローカルポリシーとして実現されることが基本でした。

Segment Routingでは、SR Policyの概念が設けられ(図8)、サービスマッピングの機構としてPer-Destination Steeringを利用することができます。

図8:SR Policyの概要(【補足情報】より抜粋)

Per-Destination Steering(*1)は、経路の Next HopColor Extended Communityを基に、endpointcolorで識別されるSR Policyとの自動マッピングを実現するものです()。
ヘッドエンドでは受信したサービス経路の情報と照合してSR Policyを特定し、関連するTE pathを、個別にマッピングルールを定義することなく利用できます。
既に複数の製品で実装されており、標準で定められたサービスとTE path間の自動マッピング機構として、積極的に活用することができます。
適用可能なコントロールプレーンにはLISP(Locator/ID Separation Protocol)なども想定されていますが、実際には多くのVPNシグナリング用いられているBGPで利用されることになると言えます。
BGP経路の編集はヘッドエンド以外でも可能であることから、SR Policyでは、BGPを通じてサービスマッピングを外部から操作することが可能となります。

(*1)Per-Destination Steering

文言としては制御の単位を表現していますが、仕組みとしてステアリングの自動化機構を内包しています。
ステアリングの自動化を表現するという意趣で、Automated Steering)という呼称の方が通り良いかもしれません。
Per-Destination Automated Steeringと呼ばれることもあります。
制御単位の異なる方式としてPer-Flow Steering)があり、こちらはPer-Flow Automated Steering)と表現されることがあります。

なお前述の通り、SR Policyを利用する場合、colorに加えてendpointの情報が必要になります。
前回の内容では、PE単位および迂回路単位で必要となるTE LSPに対し、TI-LFAの利用によって全てのLSP設定を省略することができていました。
SR Policyを用いてTE/FRRを実現する場合、TI-LFAの利用によって、プロテクションのためのLSP設定は発生しません。
しかしヘッドエンドでは、RSVP-TEと同様に、Egress PE単位でendpointを特定する必要があります。

この点に関してSR Policyでは、BGP経路の情報を基にSR Policy pathを確立できることが想定されています()。
例えばCiscoが実装しているon-demand SR Policy(*2)は、endpoint単位のSR Policyが無い状態から、BGP経路の受信と連動してBGP Next HopendpointとするSR Policyを動的に形成するものです。
TE LSPの自動確立機構はRSVP-TEでも拡張的な機能として各社の製品で存在していましたが、SR-TEでは標準で想定された内容として利用することができます。
EANTC MPLS SDN Interoperability Test 2021では、「Dynamic Instantiation of SR Policies」という項目名でInteroperability Testも行われています()。

(*2)on-demand SR Policy

SR PolicyTE全般に関わる仕様として具体化されるより前の時期に、SR-TE LSPを自動確立する機能としてODN (On-Demand Next-hop)という名称で登場していました()。
現在のIOS-XRバージョンではSR Policyを通じてSR-TEを利用することになりますが、ODNという呼び名は引き続き各所で使われています()。

なおSR Policyの動的生成は、PCEPと併用した構成例がある一方で、コントローラの無い構成でも実現可能です。
また、動的なパス計算を行う際にコントローラを利用すると「ヘッドエンドが直接参照できない情報を基にパス計算を行う」ケースにも対応できるようになります。
具体的には、パスが複数のドメインを横断する場合や、複数のヘッドエンド間でDisjoint Association Groupを形成する場合などが挙げられます。

当該機能はSRv6でも利用可能となり()、SRv6商用実装のOSPFv3対応も見え始めてきています()。
IPv6展開済みの環境にTE/FRRを導入する場合は、こういった要素を取り入れることで、より少ないギャップで実現できることが期待されます。

またon-demand SR Policyは、データ採取などの用途でTE LSPを確立するケースでも活用できます。
表1は、Cisco Systems社のIOS-XRv 9000を用いて3サイト間でMPLS VPNの疎通性が取れている構成に対し、ODNを適用した結果です。

表1:追加した設定(上)と出力の変化(下)

SR-MPLS + L3VPN環境のPE
extcommunity-set opaque COLOR-01
  1
end-set
route-policy SET-COLOR-01
  set extcommunity color COLOR-01
end-policy
router isis 1
 distribute link-state
 address-family ipv4 unicast
  router-id Loopback0
router bgp 65001
 neighbor 10.0.0.10
  address-family vpnv4 unicast
   route-policy SET-COLOR-01 in
segment-routing
 traffic-eng
  on-demand color 1
   dynamic
    metric
     type igp
RP/0/RP0/CPU0:R30#show mpls forwarding tunnels
RP/0/RP0/CPU0:R30#
RP/0/RP0/CPU0:R30#show segment-routing traffic-eng policy
RP/0/RP0/CPU0:R30#
RP/0/RP0/CPU0:R30#show segment-routing traffic-eng forwarding policy
RP/0/RP0/CPU0:R30#
!##_add-ODN
RP/0/RP0/CPU0:R30#show mpls forwarding tunnels
Tunnel                     Outgoing    Outgoing     Next Hop        Bytes
Name                       Label       Interface                    Switched
-------------------------- ----------- ------------ --------------- ------------
sr-srte_c_1_ep_10.0.0.(SR) Pop         Gi0/0/0/0.1  10.10.30.10     0
                  16010       Gi0/0/0/1.1  10.15.30.15     0            (!)
sr-srte_c_1_ep_10.0.0.(SR) 16020       Gi0/0/0/0.1  10.10.30.10     0
                  16020       Gi0/0/0/1.1  10.15.30.15     0            (!)
RP/0/RP0/CPU0:R30#
RP/0/RP0/CPU0:R30#ping vrf VRF1 10.68.0.10 source 10.68.0.30 repeat 1
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 10.68.0.10, timeout is 2 seconds:
!
Success rate is 100 percent (1/1), round-trip min/avg/max = 13/13/13 ms
RP/0/RP0/CPU0:R30#
RP/0/RP0/CPU0:R30#
RP/0/RP0/CPU0:R30#ping vrf VRF1 10.68.0.20 source 10.68.0.30 repeat 2
Type escape sequence to abort.
Sending 2, 100-byte ICMP Echos to 10.68.0.20, timeout is 2 seconds:
!!
Success rate is 100 percent (2/2), round-trip min/avg/max = 8/12/16 ms
RP/0/RP0/CPU0:R30#
RP/0/RP0/CPU0:R30#show mpls forwarding tunnels
Tunnel                     Outgoing    Outgoing     Next Hop        Bytes
Name                       Label       Interface                    Switched
-------------------------- ----------- ------------ --------------- ------------
sr-srte_c_1_ep_10.0.0.(SR) Pop         Gi0/0/0/0.1  10.10.30.10     104
                  16010       Gi0/0/0/1.1  10.15.30.15     0            (!)
sr-srte_c_1_ep_10.0.0.(SR) 16020       Gi0/0/0/0.1  10.10.30.10     208
                  16020       Gi0/0/0/1.1  10.15.30.15     0            (!)
RP/0/RP0/CPU0:R30#
RP/0/RP0/CPU0:R30#show segment-routing traffic-eng forwarding policy | in "Color|Policy"
SR-TE Policy Forwarding database
Color: 1, End-point: 10.0.0.10
  Policy Packets/Bytes Switched: 1/104
Color: 1, End-point: 10.0.0.20
  Policy Packets/Bytes Switched: 2/208
RP/0/RP0/CPU0:R30#

SRドメイン内の各ノードでTEに関する設定は無い状態において、サイト3PEに当該コマンドを追加しました。
この時、対象となるPE以外のノードには設定を加えていません。
この操作の結果、伝送路はIGP最短パスから変わらず、Egress PE単位で通信量が参照可能となることを確認できました。

目次に戻る

Per-Destination Steeringとdynamic SR Policy:設計・設定上の留意点

Flex-Algoを利用してConstraint-based Pathを形成する場合、前述のSR Policy自動生成機構と併用する、もしくはSR Policyを介さずにサービスとアルゴリズムの関連付けを行うことで、SR Policyに関する設定をPE数非依存とすることができます。

後者に関しては、例えばCiscoJuniperSRv6-L3VPNでは、各VRFの単位で関連付けるLocatorを指定することができます()。
この設定では、サービスに対して直接Locatorを関連付けるため、colorendpointの情報を指定する必要はありません。
Locatorには異なるアルゴリズムIDを割り当てることができるため、Locatorの指定を通じてVRF単位で利用するSIDを選択することが可能となります。

またSRv6の場合、Service SIDLocatorに属し、アルゴリズムはLocatorに対して割り当たる点に留意が必要です。
あるサービスに対して関連付けるアルゴリズムを変更する場合、SRv6では、アルゴリズムを変更するとLocatorが変わることになります。
このため、トランスポートレイヤの変更に対し、Service SIDもその影響を受けることになります。

一方SR-MPLSでは、アルゴリズムはPrefix SIDに対して割り当たるため、VPNラベルを維持したままトランスポートラベルを変更することが可能です。
このため、VPN経路に付与されたColor Extended Communityの値を操作すれば、それだけで伝送路の変更指示が完了します。
これを利用し、PE間に介在させたBGPスピーカ上で作業を行うことによって、専用のコントローラを用意することなくサービスマッピングの一元管理を実現することができます。

現状のSRv6実装を見ると、各サービスに対して割り当て可能なLocator/SIDは、一つへ限定される傾向にあります。
この場合もサービス単位でLocatorを選択することは可能な一方、関連付けの変更が必要となった際には、その操作が各PEそれぞれで発生することになります。
SRv6の構成においても、「単一のサービスに異なるLocatorSIDを複数割り当て、利用するSIDの選択に介在する」「サービスに対するSIDは維持し、さらにトランスポート用のSIDを積む」などの対応により、同様の中央集権制御を実現できる可能性は残されています。
ただSR-MPLSと比較すると、さらに発展を待つ必要がありそうです。

なおJuniperFlex-Algo実装では、IGPによって、Color Extended Communityが付与された経路を解決する際に参照されるテーブルのエントリが生成されます。
この時、デフォルトでは、colorの値にはアルゴリズムのID値が使われます()。
この場合、SR Policycolorを定義するステップが無く、IGPの面を識別する情報をBGPが直接参照する形になります。
この方式について試験で挙動を観察した限りでは、Egress PE単位で統計情報などを参照することができず、BSIDの割り当ても確認することができませんでした。
SR Policyのパラメータを有するSR-TE LSPが生成される方式と比較すると、機能性の面で差はあるかもしれませんが、「endpointの指定を省略したアルゴリズムとの関連付け」「Color Extended Communityに基づいたステアリングの自動化」は達成できています。
このような実装も、IGPによるConstraint-based Pathの形成とBGPによるサービスマッピングを実現する手段として、活用することができます。

目次に戻る

試験の環境と結果

以降より、これまでの内容に関する検証データを紹介します。
今回は試験環境にJuniper Networks社のvMXを用いています。
図9は構成図、表2・表3は各ノードにおける設定の抜粋となります。PE間を接続する伝送路上では、各リンクでそれぞれパケットキャプチャを実行しています。
なお今回の環境では、機能とその組み合わせに関して正式にサポートされるかは考慮せず、また試験の都合上トランスポートのインタフェースに対しVLAN及びMACアドレスの設定を別途行っています(図10)。

今回の構成では、以下の要素を含んでいます。

  • SR-MPLS with IPv4 Control Plane
  • Flex-Algo
  • TI-LFA
  • BGP VPN (L3/L2)
  • Per-Destination Steering
  • BGP RR
  • RRにおけるExtended Communityの操作

表2:設定の抜粋(トランスポート)

R10
set interfaces ge-0/0/0 unit 0 family inet address 10.10.15.10/24
set interfaces ge-0/0/0 unit 0 family iso
set interfaces ge-0/0/0 unit 0 family mpls
set interfaces ge-0/0/1 unit 0 family inet address 10.10.20.10/24
set interfaces ge-0/0/1 unit 0 family iso
set interfaces ge-0/0/1 unit 0 family mpls
set interfaces ge-0/0/2 unit 0 family inet address 10.10.30.10/24
set interfaces ge-0/0/2 unit 0 family iso
set interfaces ge-0/0/2 unit 0 family mpls
set interfaces lo0 unit 0 family inet address 10.0.0.10/32
set interfaces lo0 unit 0 family iso address 49.0001.0000.0000.0010.00
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK from route-filter 10.0.0.10/32 exact
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK then prefix-segment algorithm 128 index 11
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK then prefix-segment algorithm 128 node-segment
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK then prefix-segment index 10
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK then prefix-segment node-segment
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK then accept
set routing-options flex-algorithm 128 definition metric-type te-metric
set routing-options flex-algorithm 128 definition spf
set routing-options flex-algorithm 128 definition priority 255
set routing-options router-id 10.0.0.10
set protocols isis interface ge-0/0/0.0 level 2 te-metric 1
set protocols isis interface ge-0/0/0.0 level 2 post-convergence-lfa node-protection
set protocols isis interface ge-0/0/0.0 level 2 metric 1
set protocols isis interface ge-0/0/0.0 point-to-point
set protocols isis interface all level 2 te-metric 100
set protocols isis interface all level 2 post-convergence-lfa node-protection
set protocols isis interface all level 2 metric 10
set protocols isis interface all point-to-point
set protocols isis interface lo0.0 passive
set protocols isis source-packet-routing node-segment ipv4-index 10
set protocols isis source-packet-routing flex-algorithm 128
set protocols isis level 2 wide-metrics-only
set protocols isis level 1 disable
set protocols isis backup-spf-options use-post-convergence-lfa maximum-labels 5
set protocols isis traffic-engineering advertisement always
set protocols isis export ISIS-EXPORT
set protocols mpls interface all
R15
set interfaces ge-0/0/0 unit 0 family inet address 10.10.15.15/24
set interfaces ge-0/0/0 unit 0 family iso
set interfaces ge-0/0/0 unit 0 family mpls
set interfaces ge-0/0/1 unit 0 family inet address 10.15.25.15/24
set interfaces ge-0/0/1 unit 0 family iso
set interfaces ge-0/0/1 unit 0 family mpls
set interfaces ge-0/0/2 unit 0 family inet address 10.15.30.15/24
set interfaces ge-0/0/2 unit 0 family iso
set interfaces ge-0/0/2 unit 0 family mpls
set interfaces lo0 unit 0 family inet address 10.0.0.15/32
set interfaces lo0 unit 0 family iso address 49.0001.0000.0000.0015.00
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK from route-filter 10.0.0.15/32 exact
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK then prefix-segment algorithm 128 index 16
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK then prefix-segment algorithm 128 node-segment
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK then prefix-segment index 15
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK then prefix-segment node-segment
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK then accept
set routing-options flex-algorithm 128 definition metric-type te-metric
set routing-options flex-algorithm 128 definition spf
set routing-options flex-algorithm 128 definition priority 254
set routing-options router-id 10.0.0.15
set protocols isis interface ge-0/0/0.0 level 2 te-metric 1
set protocols isis interface ge-0/0/0.0 level 2 post-convergence-lfa node-protection
set protocols isis interface ge-0/0/0.0 level 2 metric 1 set protocols isis interface ge-0/0/0.0 point-to-point set protocols isis interface all level 2 te-metric 10 set protocols isis interface all level 2 post-convergence-lfa node-protection set protocols isis interface all level 2 metric 100 set protocols isis interface all point-to-point set protocols isis interface lo0.0 passive set protocols isis source-packet-routing node-segment ipv4-index 15 set protocols isis source-packet-routing flex-algorithm 128 set protocols isis level 2 wide-metrics-only set protocols isis level 1 disable set protocols isis backup-spf-options use-post-convergence-lfa maximum-labels 5 set protocols isis traffic-engineering advertisement always set protocols isis export ISIS-EXPORT set protocols mpls interface all
R20
set interfaces ge-0/0/0 unit 0 family inet address 10.20.25.20/24
set interfaces ge-0/0/0 unit 0 family iso
set interfaces ge-0/0/0 unit 0 family mpls
set interfaces ge-0/0/1 unit 0 family inet address 10.10.20.20/24
set interfaces ge-0/0/1 unit 0 family iso
set interfaces ge-0/0/1 unit 0 family mpls
set interfaces lo0 unit 0 family inet address 10.0.0.20/32
set interfaces lo0 unit 0 family iso address 49.0001.0000.0000.0020.00
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK from route-filter 10.0.0.20/32 exact
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK then prefix-segment algorithm 128 index 21
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK then prefix-segment algorithm 128 node-segment
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK then prefix-segment index 20
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK then prefix-segment node-segment
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK then accept
set routing-options router-id 10.0.0.20
set protocols isis interface ge-0/0/0.0 level 2 te-metric 1
set protocols isis interface ge-0/0/0.0 level 2 post-convergence-lfa node-protection
set protocols isis interface ge-0/0/0.0 level 2 metric 1
set protocols isis interface ge-0/0/0.0 point-to-point
set protocols isis interface ge-0/0/1.0 level 2 te-metric 100
set protocols isis interface ge-0/0/1.0 level 2 post-convergence-lfa node-protection
set protocols isis interface ge-0/0/1.0 level 2 metric 10
set protocols isis interface ge-0/0/1.0 point-to-point
set protocols isis interface lo0.0 passive
set protocols isis source-packet-routing node-segment ipv4-index 20
set protocols isis source-packet-routing flex-algorithm 128
set protocols isis level 2 wide-metrics-only
set protocols isis level 1 disable
set protocols isis backup-spf-options use-post-convergence-lfa maximum-labels 5
set protocols isis traffic-engineering advertisement always
set protocols isis export ISIS-EXPORT
set protocols mpls interface all
R25
set interfaces ge-0/0/0 unit 0 family inet address 10.20.25.25/24
set interfaces ge-0/0/0 unit 0 family iso
set interfaces ge-0/0/0 unit 0 family mpls
set interfaces ge-0/0/1 unit 0 family inet address 10.15.25.25/24
set interfaces ge-0/0/1 unit 0 family iso
set interfaces ge-0/0/1 unit 0 family mpls
set interfaces lo0 unit 0 family inet address 10.0.0.25/32
set interfaces lo0 unit 0 family iso address 49.0001.0000.0000.0025.00
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK from route-filter 10.0.0.25/32 exact
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK then prefix-segment algorithm 128 index 26
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK then prefix-segment algorithm 128 node-segment
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK then prefix-segment index 25
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK then prefix-segment node-segment
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK then accept
set routing-options router-id 10.0.0.25
set protocols isis interface ge-0/0/0.0 level 2 te-metric 1
set protocols isis interface ge-0/0/0.0 level 2 post-convergence-lfa node-protection
set protocols isis interface ge-0/0/0.0 level 2 metric 1
set protocols isis interface ge-0/0/0.0 point-to-point
set protocols isis interface ge-0/0/1.0 level 2 te-metric 10
set protocols isis interface ge-0/0/1.0 level 2 post-convergence-lfa node-protection
set protocols isis interface ge-0/0/1.0 level 2 metric 100
set protocols isis interface ge-0/0/1.0 point-to-point
set protocols isis interface lo0.0 passive
set protocols isis source-packet-routing node-segment ipv4-index 25
set protocols isis source-packet-routing flex-algorithm 128
set protocols isis level 2 wide-metrics-only
set protocols isis level 1 disable
set protocols isis backup-spf-options use-post-convergence-lfa maximum-labels 5
set protocols isis traffic-engineering advertisement always
set protocols isis export ISIS-EXPORT
set protocols mpls interface all
R30
set interfaces ge-0/0/0 unit 0 family inet address 10.10.30.30/24
set interfaces ge-0/0/0 unit 0 family iso
set interfaces ge-0/0/0 unit 0 family mpls
set interfaces ge-0/0/1 unit 0 family inet address 10.15.30.30/24
set interfaces ge-0/0/1 unit 0 family iso
set interfaces ge-0/0/1 unit 0 family mpls
set interfaces lo0 unit 0 family inet address 10.0.0.30/32
set interfaces lo0 unit 0 family iso address 49.0001.0000.0000.0030.00
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK from route-filter 10.0.0.30/32 exact
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK then prefix-segment algorithm 128 index 31
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK then prefix-segment algorithm 128 node-segment
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK then prefix-segment index 30
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK then prefix-segment node-segment
set policy-options policy-statement ISIS-EXPORT term LOCAL-LOOPBACK then accept
set routing-options router-id 10.0.0.30
set protocols isis interface ge-0/0/0.0 level 2 te-metric 100
set protocols isis interface ge-0/0/0.0 level 2 post-convergence-lfa node-protection
set protocols isis interface ge-0/0/0.0 level 2 metric 10
set protocols isis interface ge-0/0/0.0 point-to-point
set protocols isis interface ge-0/0/1.0 level 2 te-metric 10
set protocols isis interface ge-0/0/1.0 level 2 post-convergence-lfa node-protection
set protocols isis interface ge-0/0/1.0 level 2 metric 100
set protocols isis interface ge-0/0/1.0 point-to-point
set protocols isis interface lo0.0 passive
set protocols isis source-packet-routing node-segment ipv4-index 30
set protocols isis source-packet-routing flex-algorithm 128
set protocols isis level 2 wide-metrics-only
set protocols isis level 1 disable
set protocols isis backup-spf-options use-post-convergence-lfa maximum-labels 5
set protocols isis traffic-engineering advertisement always
set protocols isis export ISIS-EXPORT
set protocols mpls interface all

表3:設定の抜粋(サービス)

R10
set interfaces ae0 unit 2 encapsulation vlan-bridge
set interfaces ae0 unit 2 vlan-id 2
set interfaces ae0 unit 3 encapsulation vlan-bridge
set interfaces ae0 unit 3 vlan-id 3
set interfaces ae0 unit 101 vlan-id 102
set interfaces ae0 unit 101 family inet address 10.68.102.1/24
set interfaces ae0 unit 102 vlan-id 106
set interfaces ae0 unit 102 family inet address 10.68.106.1/24
set policy-options policy-statement VPN-EXPORT-0002 term 1 then community add RT-0002
set policy-options policy-statement VPN-EXPORT-0002 term 1 then accept
set policy-options policy-statement VPN-EXPORT-0003 term 1 then community add RT-0003
set policy-options policy-statement VPN-EXPORT-0003 term 1 then accept
set policy-options policy-statement VPN-EXPORT-0101 term 1 then community add RT-0101
set policy-options policy-statement VPN-EXPORT-0101 term 1 then accept
set policy-options policy-statement VPN-EXPORT-0102 term 1 then community add RT-0102
set policy-options policy-statement VPN-EXPORT-0102 term 1 then accept
set policy-options policy-statement VPN-IMPORT-0002 term 1 from protocol bgp
set policy-options policy-statement VPN-IMPORT-0002 term 1 from community RT-0002
set policy-options policy-statement VPN-IMPORT-0002 term 1 then accept
set policy-options policy-statement VPN-IMPORT-0002 term 1 then resolution-map MAP-A
set policy-options policy-statement VPN-IMPORT-0003 term 1 from protocol bgp
set policy-options policy-statement VPN-IMPORT-0003 term 1 from community RT-0003
set policy-options policy-statement VPN-IMPORT-0003 term 1 then accept
set policy-options policy-statement VPN-IMPORT-0003 term 1 then resolution-map MAP-A
set policy-options policy-statement VPN-IMPORT-0101 term 1 from protocol bgp
set policy-options policy-statement VPN-IMPORT-0101 term 1 from community RT-0101
set policy-options policy-statement VPN-IMPORT-0101 term 1 then accept
set policy-options policy-statement VPN-IMPORT-0101 term 1 then resolution-map MAP-A
set policy-options policy-statement VPN-IMPORT-0102 term 1 from protocol bgp
set policy-options policy-statement VPN-IMPORT-0102 term 1 from community RT-0102
set policy-options policy-statement VPN-IMPORT-0102 term 1 then accept
set policy-options policy-statement VPN-IMPORT-0102 term 1 then resolution-map MAP-A
set policy-options community RT-0002 members target:65001:2
set policy-options community RT-0003 members target:65001:3
set policy-options community RT-0101 members target:65001:101
set policy-options community RT-0102 members target:65001:102
set policy-options resolution-map MAP-A mode ip-color
set routing-instances IP-VRF-0101 instance-type vrf
set routing-instances IP-VRF-0101 interface ae0.101
set routing-instances IP-VRF-0101 vrf-import VPN-IMPORT-0101
set routing-instances IP-VRF-0101 vrf-export VPN-EXPORT-0101
set routing-instances IP-VRF-0101 vrf-table-label
set routing-instances IP-VRF-0102 instance-type vrf
set routing-instances IP-VRF-0102 interface ae0.102
set routing-instances IP-VRF-0102 vrf-import VPN-IMPORT-0102
set routing-instances IP-VRF-0102 vrf-export VPN-EXPORT-0102
set routing-instances IP-VRF-0102 vrf-table-label
set routing-instances MAC-VRF-0002 instance-type evpn
set routing-instances MAC-VRF-0002 protocols evpn
set routing-instances MAC-VRF-0002 vlan-id none
set routing-instances MAC-VRF-0002 interface ae0.2
set routing-instances MAC-VRF-0002 vrf-import VPN-IMPORT-0002
set routing-instances MAC-VRF-0002 vrf-export VPN-EXPORT-0002
set routing-instances MAC-VRF-0003 instance-type evpn
set routing-instances MAC-VRF-0003 protocols evpn
set routing-instances MAC-VRF-0003 vlan-id none
set routing-instances MAC-VRF-0003 interface ae0.3
set routing-instances MAC-VRF-0003 vrf-import VPN-IMPORT-0003
set routing-instances MAC-VRF-0003 vrf-export VPN-EXPORT-0003
set routing-options route-distinguisher-id 10.0.0.10
set routing-options autonomous-system 65001
set protocols bgp group IBGP type internal
set protocols bgp group IBGP local-address 10.0.0.10
set protocols bgp group IBGP family inet-vpn unicast
set protocols bgp group IBGP family evpn signaling
set protocols bgp group IBGP cluster 10.0.10.15
set protocols bgp group IBGP allow 0.0.0.0/0
R20
set interfaces ae0 unit 2 encapsulation vlan-bridge
set interfaces ae0 unit 2 vlan-id 2
set interfaces ae0 unit 3 encapsulation vlan-bridge
set interfaces ae0 unit 3 vlan-id 3
set interfaces ae0 unit 101 vlan-id 103
set interfaces ae0 unit 101 family inet address 10.68.103.1/24
set interfaces ae0 unit 102 vlan-id 107
set interfaces ae0 unit 102 family inet address 10.68.107.1/24
set policy-options policy-statement BGP-IMPORT term 1 then accept
set policy-options policy-statement BGP-IMPORT term 1 then resolution-map MAP-A
set policy-options resolution-map MAP-A mode ip-color
set routing-instances IP-VRF-0101 instance-type vrf
set routing-instances IP-VRF-0101 interface ae0.101
set routing-instances IP-VRF-0101 vrf-target target:65001:101
set routing-instances IP-VRF-0101 vrf-table-label
set routing-instances IP-VRF-0102 instance-type vrf
set routing-instances IP-VRF-0102 interface ae0.102
set routing-instances IP-VRF-0102 vrf-target target:65001:102
set routing-instances IP-VRF-0102 vrf-table-label
set routing-instances MAC-VRF-0002 instance-type evpn
set routing-instances MAC-VRF-0002 protocols evpn
set routing-instances MAC-VRF-0002 vlan-id none
set routing-instances MAC-VRF-0002 interface ae0.2
set routing-instances MAC-VRF-0002 vrf-target target:65001:2
set routing-instances MAC-VRF-0003 instance-type evpn
set routing-instances MAC-VRF-0003 protocols evpn
set routing-instances MAC-VRF-0003 vlan-id none
set routing-instances MAC-VRF-0003 interface ae0.3
set routing-instances MAC-VRF-0003 vrf-target target:65001:3
set routing-options route-distinguisher-id 10.0.0.20
set routing-options autonomous-system 65001
set protocols bgp group IBGP type internal
set protocols bgp group IBGP local-address 10.0.0.20
set protocols bgp group IBGP import BGP-IMPORT
set protocols bgp group IBGP family inet-vpn unicast
set protocols bgp group IBGP family evpn signaling
set protocols bgp group IBGP neighbor 10.0.0.10
R30
set interfaces ae0 unit 2 encapsulation vlan-bridge
set interfaces ae0 unit 2 vlan-id 2
set interfaces ae0 unit 3 encapsulation vlan-bridge
set interfaces ae0 unit 3 vlan-id 3
set interfaces ae0 unit 101 vlan-id 104
set interfaces ae0 unit 101 family inet address 10.68.104.1/24
set interfaces ae0 unit 102 vlan-id 108
set interfaces ae0 unit 102 family inet address 10.68.108.1/24
set policy-options policy-statement BGP-IMPORT term 1 then accept
set policy-options policy-statement BGP-IMPORT term 1 then resolution-map MAP-A
set policy-options resolution-map MAP-A mode ip-color
set routing-instances IP-VRF-0101 instance-type vrf
set routing-instances IP-VRF-0101 interface ae0.101
set routing-instances IP-VRF-0101 vrf-target target:65001:101
set routing-instances IP-VRF-0101 vrf-table-label
set routing-instances IP-VRF-0102 instance-type vrf
set routing-instances IP-VRF-0102 interface ae0.102
set routing-instances IP-VRF-0102 vrf-target target:65001:102
set routing-instances IP-VRF-0102 vrf-table-label
set routing-instances MAC-VRF-0002 instance-type evpn
set routing-instances MAC-VRF-0002 protocols evpn
set routing-instances MAC-VRF-0002 vlan-id none
set routing-instances MAC-VRF-0002 interface ae0.2
set routing-instances MAC-VRF-0002 vrf-target target:65001:2
set routing-instances MAC-VRF-0003 instance-type evpn
set routing-instances MAC-VRF-0003 protocols evpn
set routing-instances MAC-VRF-0003 vlan-id none
set routing-instances MAC-VRF-0003 interface ae0.3
set routing-instances MAC-VRF-0003 vrf-target target:65001:3
set routing-options route-distinguisher-id 10.0.0.30
set routing-options autonomous-system 65001
set protocols bgp group IBGP type internal
set protocols bgp group IBGP local-address 10.0.0.30
set protocols bgp group IBGP import BGP-IMPORT
set protocols bgp group IBGP family inet-vpn unicast
set protocols bgp group IBGP family evpn signaling
set protocols bgp group IBGP neighbor 10.0.0.10

図9:試験の構成図

図10:本環境のMAC/VLAN情報(パケットキャプチャ結果と照合する際に参照)

本環境では、二面の伝送路に対しIGP metricTE metricが逆の関係となるように値を設け、metric-typeTE metricとなるFlex-Algoを設定しています。
まず、初期状態では全ての通信はIGP最短パスの伝送路が選択されることを確認しました。
具体的には表4で示される条件で、各パターンの1回ずつpingを続けて実行しました。
これらはいずれもサブネット間の通信で、その時のキャプチャ結果が図11となります。

表4:印加する通信

pingの実行場所

pingのターゲット場所

#1

サイト1VLAN102

サイト2VLAN103

#2

サイト1VLAN102

サイト2VLAN104

#3

サイト2VLAN103

サイト3VLAN104

#4

サイト1VLAN106

サイト2VLAN107

#5

サイト1VLAN106

サイト2VLAN108

#6

サイト2VLAN107

サイト3VLAN108

図11:各通信の伝送路(TEに関する制御の実行前)

その後、表5の方針で伝送路を変更するための作業を行いました。
表6はその時に追加された設定です。
この状態で、設定追加前と同じ通信を印加しました。
その時のキャプチャ結果が図12となります。

表5:伝送路制御の方針

対象の通信

経由して欲しい伝送路

各サイトのVRF-0101間の通信

構成図中の紺色枠リンク

(紫色は経由しない)

各サイトのVRF-0102間の通信

構成図中の紫色枠リンク

(紺色は経由しない)

表6:設定の抜粋(TE制御のための追加設定)

R10

set policy-options policy-statement BGP-EXPORT term 1 from protocol bgp
set policy-options policy-statement BGP-EXPORT term 1 from community RT-0102
set policy-options policy-statement BGP-EXPORT term 1 from community RT-0003
set policy-options policy-statement BGP-EXPORT term 1 then community add TE
set policy-options policy-statement BGP-EXPORT term 1 then accept
set policy-options policy-statement VPN-EXPORT-0003 term 1 then community add TE
set policy-options policy-statement VPN-IMPORT-0003 term 1 then community add TE
set policy-options policy-statement VPN-EXPORT-0102 term 1 then community add TE
set policy-options policy-statement VPN-IMPORT-0102 term 1 then community add TE
set policy-options community TE members color:0:128
set protocols bgp group IBGP export BGP-EXPORT

12:各通信の伝送路(TEに関する制御の実行後)

12の結果より、表5の方針に基づいて対象となる通信だけが、最短パスではないTEパスの伝送路を経由するようになることを確認しました。

試験の過程では、サイト1とサイト2の疎通性を確認した後に、サイト3を収容するR30を追加しています。
この時R20及びR25には設定の変更が発生しませんでした。
また追加時にR10及びR15で必要となった設定は、隣接関係を構築するためのもので、Egress PEを特定するための情報は含まれていませんでした。
TE pathを利用する環境においても、PEの数依存でヘッドエンドの設定量は増加しない状態となっていることが窺えます(【TE LSP単位の設定省略】)。

補足として、利用する一連の機能に対しunnumberedインタフェースやIPv6 link-localアドレスが適用可能であれば、リンク固有の情報割り当ては不要となります。
ただその際もサイト追加時には、例えば無効にしていたポートを有効化するといった作業は発生することが想定され、完全なゼロタッチは実現されないかもしれません。
一方で適用されれば、既存のノードで発生する追加の設定から固有性を含むものは排除されるため、簡素化された作業でサイトの追加を完了できることが期待されます。

加えて表6より、伝送路の変更で必要となる作業は、RRにて変更対象となるサービスにColor Extended Communityを付与することで完結している様子が窺えます。
結果と合わせると、RRから見て「上り方向」「下り方向」双方の通信に対して制御が及び、またRRクライアント間の通信に対しても該当することが確認できました(【サービスマッピングの一元管理】)。
なお今回の試験過程でEBGP構成においても同様の制御が可能であることを確認しています。

あわせてTransportラベルの段数は、IGPの最短パス・TE pathの双方を通じて、一段のSIDが利用されていました(【SR環境におけるヘッダのオーバーヘッド抑制】)。
これはFlex-Algoの特徴が表れた結果と言えます。

また、各SRノードでは、Flex-Algoで使用されるものも含め、全てのPrefix-SIDに対するバックアップパスが保持されていることを試験の過程で確認しています。
この時、R20R25R30で保持されるバックアップ用のSegment Listは、R10及びR15のノード障害を想定したものとなっていました。
TI-LFAの併用によって、SRドメイン内の各障害に対し、通信の保護が可能となっていることが窺えます。

なお、サブネット内通信に対しても同じ方針で試験を行っており、各通信で使用されるトランスポートSIDは同様となることを確認しています。
これまでの内容は、レイヤ3接続だけでなく、レイヤ2接続においても該当することが改めて確認できました。

今回の設定では、伝送路選択は所謂テナントごとに行われる形式となっています。これはIP-VRFやMAC-VRFを単位としてColor Extended Communityを付与することで実現されています。
より細かい単位での制御を実現する方式として、指定されたPrefixやホストの経路に限定し、Color Extended Communityを操作することが想定されます。
また、制御の単位は維持し、複数のVRFを作成しサービス収容を分散して行うことでも、柔軟な伝送路選択が可能となります。

目次に戻る

おわりに:TE (Traffic Engineering) のシンプル化

Segment Routingの活用により、TEの要件に対し、LSPのスケーラビリティ向上に加えて以下の要素を提供することができます。

  • TE LSPに関する設定の簡素化
    TE LSP自動生成機構の利用)
  • サービスマッピングに関する設定の簡素化
    (トラフィックステアリング機構の利用)

またFlex-Algoを利用した場合、主に以下が利点となります。

  • ヘッダに対するオーバーヘッドの抑制
  • 制約が常に遵守されたTE pathの算出

上記はいずれもコントローラ非依存の内容となり、また標準の仕様に沿って実現されるものとなっています。

Segment Routingでは、とりわけTE LSPの状態情報をネットワーク上に保持しない点において、コントローラの果たす役割がより重要になったと言えるかもしれません。
しかし必ずしもコントローラが前提となる技術というわけではなく、要件に応じ、シンプル且つ標準に則った実現方式としてSegment Routingを活用することができます。

目次に戻る

    執筆者プロフィール

    平河内 竜樹
    ネットワンシステムズ株式会社 ビジネス開発本部
    第1応用技術部 ネットワークチーム 所属

    ルータ分野を核とした新旧技術の調査・検証と共に、エンタープライズ・パブリック・サービスプロバイダのネットワーク提案および導入を支援する業務に、10年以上にわたり従事

    • CCIE RS
    • CCIE SP

    Webからのお問い合わせはこちらから

    ピックアップ

    ナレッジセンターを検索する

    カテゴリーで検索

    タグで検索