MPLS網にSegment Routingを適用してみよう ① 基本設定とFRR

ビジネス推進本部 応用技術部
コアネットワークチーム
高田 聡士

Segment Routing(以下、SR)も登場からそこそこ年月が経過し、その概要や利点もかなり広まってきています。特にMPLS環境に関しては仕様/定義が出揃い、機器への実装も進んでいるため、使用に対してReadyな状態となっています。実際、国内においてもSegment Routingを使用した商用Network構成に関するニュースリリースも見受けられる様になりました。しかしながらSRの概要は知っていても実際にどの様に適用していくのかについては曖昧な方も多いかと思います。本コラムではその様な方を対象に、MPLS環境にSRを適用する手法について3回に渡って出来るだけ具体的に伝えて行きたいと考えています。

連載インデックス

さっそくMPLS網にSRを適用する際の検討事項やポイントを順番に見ていきます。連載1回目の今回はSRの基本設定からFRRの適用までです。

[SR適用の流れ]

合わせてコア系Networkで良く使用されるCisco ASR9000、Juniper MX、Nokia7750 SRでの設定についても簡単に紹介します。

ⅰ.IGPの選択

LDP/RSVP-TEの様な専用プロトコルを使用せずにIGPだけでラベル情報のやり取りまで行えるのがSRの利点の1つです。使用できるIGPにはOSPFとIS-ISの2種類がありますが、まずこのうちのどちらを使用するかを決めなければなりません。既存のMPLS網へSRを適用する場合、元々使用されているIGPを利用するのが一般的です。そのためOSPFを選択することがほとんどになるかと思われます。一方、新規のMPLS網へSRを適用する場合ですが、こちらもOSPFが選択されることが多いかと思います。理由としては殆どの方にとってIS-ISよりもOSPFの方が馴染み深く、運用ノウハウの蓄積量もOSPFの方が遙かに多いためです。ではIS-ISを選択するメリットは無いのでしょうか。Dynamic Routing Protocolとしての特性の違いという観点からも色々考えられますが、SRという観点でのメリットとしては“新機能の実装が早い”というものがあげられます。例外はありますがどのメーカのどのOSにおいても機能実装の順番は概ね IS-IS ⇒ OSPFとなっています。そのため、SRの新機能をより早く使用したいという要求を満たすためにIS-ISを使用するという選択も十分にあり得ると考えます。

■SRの有効化コマンド
(例:IS-ISの場合)

Cisco ASR9000
router isis 1
 segment-routing mpls

 

Juniper MX
protocols {
 isis {
  source-packet-routing {

 

Nokia 7750SR
isis 0
 segment-routing
  prefix-sid-range global

 

ⅱ.SRGBの設定

使用するIGPが決まったら次はSRGB(Segment Routing Global Block)の設定を行いましょう。SRGBはルータ内でPrefix-sid / Node-sid 等のGlobal SID付与に使用されるラベル番号の範囲です。SRGBは同一SR Domain内のルータでは統一することが推奨されています。論理的にはSRGBが異なっていてもパケットの転送は行われそうですが、各ルータのSR実装の違いから実際には通信に失敗する場合があります。そのため、特にマルチベンダでSR Domainを構成される際にはSRGBを統一することをお勧めします。同一ベンダのルータであれば基本的にデフォルトのSRGBは同じなのであまり気にする必要はありません。

■SRGB設定コマンド
(例:SRGBを19000 ~ 23999 の範囲に設定)

Cisco ASR9000
router isis 1
 segment-routing global-block 19000 23999

 

Juniper MX
protocols {
 isis {
  source-packet-routing {
   srgb start-label 19000 index-range 5000;

 

Nokia 7750SR
mpls-labels
 sr-labels start 19000 end 23999

 

ⅲ.Node-sidの割当

各ルータのSRGBが統一されたら次はNode-sidの割当を行いましょう。Node-sidはルータ自身を示すSIDであり同一SR Domain内でユニーク(一意)である必要があります。Node-sidの設定はほとんどの場合indexを使用して行われます。index値を指定するとそのルータのNode-sidは「SRGBの最初の値 + index値」となります。例えばルータのSRGBが19000から始まっていてindex値に1を指定した場合、そのルータのNode-sidは19001となります。
なお、今のところindex値の設定は手動で行う必要があります。Node-sidが同一SR Domain内でユニークでなければならない事と合わせて考えると、ルータが大量に存在するネットワークではNode-sidの管理・運用方法について検討する必要が出てくることも考えられます。

■Node-sid割当イメージ

 

 

■Node-sid設定コマンド

Cisco ASR9000
router isis 1
 interface Loopback0
  address-family ipv4 unicast
   prefix-sid index 1

 

Juniper MX
protocols {
 isis {
  source-packet-routing {
   node-segment ipv4-index 3;

 

Nokia 7750SR
isis 0
 interface “system”
  ipv4-node-sid index 5

 

ⅳ.状態の確認

SR Domain内の全てのルータへのNode-sid設定が完了すると、SRの基本的な設定は完了です。これだけでSRはLDPと同様のIGPの計算結果に従った通信を行うことが出来ます。(もちろんIGPやMPLSを正しく設定済みであることが前提です)。状態確認のためにMPLS labelの割当状況を確認してみましょう。自分以外の各ルータのNode-sidと自身が持つ全てのlinkに対するlabel が割り当てられていれば正常な状態です。Linkに対するlabelはAdjacency-sid(以下、Adj-sid)です。Adj-sidはLocal SIDであるため他のルータを意識することなく値を付与することができ、SRGBも関係がありません。そのためAdj-sidはユーザが設定する必要は無く自動的に付与されます。

■Adj-sid付与イメージ

 

 

■MPLS label 割当状況 確認例

<Cisco ASR9000>

<Juniper MX>

<Nokia 7750SR>

ⅴ.TI-LFAの設定

続いてはSR環境でFRR(Fast ReRoute : 高速迂回)を実現するための機能であるTI-LFA(Topology Independent Loop Free Alternate)の設定を行います。TI-LFAを使用するとルータは最適pathとは異なる迂回用のpathをprefix毎に計算し、それを保持します。最適pathの障害時には保持している迂回用pathに通信を切り替えることで高速迂回を実現します。
※TI-LFAの動作内容につきましては弊社 匠コラム『大規模ネットワークにおけるLFAを用いた高速切り替え手法の概要、特徴の解説』 をご参照ください。
SRのTI-LFAはRSVP-TEでのFRRとは異なりTraffic Engineeringを有効にする必要はありません。また迂回用pathはルータで自動的に計算されるため、RSVP-TEの様に手動で迂回用pathを設定する必要もありません。この様にSRのTI-LFAは手軽に設定することができて特にデメリットも発生しないため、SR適用時には必ず設定した方が良いと考えます。

■TI-LFA設定コマンド

Cisco ASR9000
router isis 1
 interface GigabitEthernet0/0/0/4
  address-family ipv4 unicast
   fast-reroute per-prefix
   fast-reroute per-prefix ti-lfa

 

Juniper MX
protocols {
 isis {
  backup-spf options {
  use-post-convergence-lfa;
  }
  interface ge-1/0/0.0 {
  level 1 post-convergence-lfa;
  }

 

Nokia 7750SR
router Base
 ip-fast-reroute
 isis 0
  loopfree-alternate ti-lfa

 

MPLS網へのSR適用について最初の検討事項であるIGPの選択からTI-LFAの設定までを紹介しました。ここまで行うだけでLDP環境と同様なIGPの経路選択に従った通信環境に加えTI-LFAによるFRR環境まで構築することが出来てしまいます。またProtocolとしてIGPしか使用しないため、設定内容もシンプルで理解し易いかと思います。

まとめ

連載2回目の次回はサブタイトル「② TE環境の実現」を予定しています。
SRでRSVP-TE環境と同様なTraffic Engineeringを実現するための設定や検討事項に加え、ネットワークの自動化にも繋がる外部コントローラによるPath制御についても紹介する予定ですのでご期待ください。

関連記事

draft-ietf-spring-segment-routing-central-epe-06
Segment Routing Centralized BGP Egress Peer Engineering
https://datatracker.ietf.org/doc/draft-ietf-spring-segment-routing-central-epe/?include_text=1

draft-ietf-spring-segment-routing-ldp-interop-08
Segment Routing interworking with LDP
https://datatracker.ietf.org/doc/draft-ietf-spring-segment-routing-ldp-interop/?include_text=1

draft-filsfils-spring-srv6-network-programming-01
SRv6 Network Programming
https://datatracker.ietf.org/doc/draft-filsfils-spring-srv6-network-programming/?include_text=1

執筆者プロフィール

高田 聡士
ネットワンシステムズ株式会社 ビジネス推進本部 応用技術部 コアネットワークチーム
SP事業会社のコアネットワークにNIerとして7年弱携わる
当時の主な担当製品はCisco社のCRSシリーズ
6年ほど前に現部署に異動し、Cisco社含めたハイエンドルータ製品を担当
現在はSP-SDN分野に注力中
・情報処理「ネットワークスペシャリスト」
・CCIE RS #50857

イベント/レポート

pagetop