
Flexlink+(フレックスリンクプラス)とは? Flexlinkとの違い、REPとの関係、設定方法と実際の動作を解説
こんにちは。クレスコ・デジタルテクノロジーズの小松崎です。
2025年度に入社してから、約一年間金融系案件に携わっています。
先日担当したネットワーク案件でFlexlink+を使用する機会があり、調査してみるとFlexlinkとの違いやREPとの関係など意外と理解しづらいポイントがありました。
そこで今回は、Flexlink+の概要や設定方法について分かりやすく紹介します。
■あわせて読まれている資料:
対応事例やネットワークサービス一覧を掲載!
→ネットワークテクノロジーサービス
目次[非表示]
Flexlink+とは
Flexlink+は、Cisco Catalyst9000シリーズで提供されるL2リンク冗長化機能です。
STP(Spanning Tree Protocol)を使用せずにActive/Standby(Open/Alt)構成の冗長リンクを構築できるため、シンプルな冗長化を実現したい場合に有効です。
Layer3インターフェースでは使用することはできません。
基本的な動作はFlexlinkと同様で、2本のアップリンクのうち1本をActive、もう1本をStandbyとして動作させ、Activeリンクで障害が発生した場合はStandbyリンクへ切り替わります。
しかし、設定に用いるコマンドがrepコマンドであるなどFlexlink+とは異なる点もあります。
*本記事ではPrimary設定をしているポートを主系、Preferred設定をしているポートを副系と定義します。
また、Flexlink+はSTPの代替機能として利用できますが、ネットワーク全体でSTPを無効化する必要はありません。
実際のネットワークでは、アクセススイッチのアップリンクにFlexlink+を適用し、コアスイッチやディストリビューションスイッチ間ではSTPを利用することもあります。
この時、CiscoはFlexlink+接続先のアップリンクポートに対して、収束時間短縮のために以下の設定を推奨しています。
*以下はFlexlink+の設定している機器の接続先機器で設定します。
SwB(config)#interface TenGigabitEthernet1/0/1
SwB(config-if)#spanning-tree portfast trunkこの設定により、Flexlink+による経路切り替え後もSTPの状態遷移待ち時間を最小化できます。
Flexlinkとの違い
FlexlinkはCiscoスイッチの冗長化技術として長年利用されてきました。
しかし、Catalyst9000シリーズを中心とした新しいプラットフォームではFlexlinkは廃止され、Flexlink+が採用されるようになりました。
正常時は主系に設定したポートで通信を行い、主系ポートの障害時には副系ポートに切り替わり通信を行うという基本的な挙動に変化はありませんが、設定コマンドやAccess Portで使用できないなどの違いがあります。
また、従来のFlexlinkではpreemptionを設定することで、主系回線の復旧時に自動的に主系へ切り戻すことができました。
一方、Flexlink+では障害発生後に待機系ポートがOpen状態となると、主系ポートが復旧してもStandby(待機状態)となり、通信経路を主系ポートへ自動的に切り戻すことはできません。
そのため、復旧後に通信経路を主系ポートに戻すためには手動切り替えを行う必要があります。

REPとの関係
Flexlink+を調べると「REP(Resilient Ethernet Protocol)を利用している」と説明されることがよくあります。
しかし、Flexlink+とREPは同じものではありません。
REPは本来、リングネットワークなどでレイヤ2ループを防止しながら高速な障害切り替えを実現するためのCisco独自のプロトコルです。
REPセグメントに参加する機器同士で制御情報を交換し、ループが発生しないようにポートを制御します。
しかし、Flexlink+では、「rep segment xxx edge no-neighbor primary」のようにedge no-neighborで対向機器とのREP制御パケット交換を前提としない設定を行います。
そのためFlexlink+は、REPの持つポート状態管理や高速切り替えの仕組みを利用することで、1台のスイッチ上で2本のアップリンクをActive/Standby構成として制御していると考えると理解しやすいでしょう。
REPの本来の機能であるループ制御とは異なるのです。
つまり、Flexlink+はREPの技術をベースに実装されていますが、実際の用途や動作イメージは従来のFlexlinkに近いと言えます。
そのため、「REPを使ってFlexlinkを実現した後継機能」と捉えるのが分かりやすいと思います。
Flexlink+の設定例
Flexlink+の設定では前述の通りrepを用いて設定を行います。
rep本来の使用方法とは異なり、一台の機器設定で完結するため、今回はスイッチAに設定を行うと仮定します。
以下構成イメージ図とスイッチAへの設定例になります。
<設定例>
SwA(config)#interface TenGigabitEthernet1/0/1
SwA(config-if)# switchport mode trunk
SwA(config-if)# switchport trunk allowed vlan 10-20,30
SwA(config-if)# rep segment 1 edge no-neighbor primary
SwA(config)#interface TenGigabitEthernet2/0/1
SwA(config-if)# switchport mode trunk
SwA(config-if)# switchport trunk allowed vlan 10-20,30
SwA(config-if)# rep segment 1 edge no-neighbor preferred
この時以下の点に気を付ける必要があります。
- ポートはtrunk設定になっているか
- 主系にしたいポートにはprimaryが設定されているか
- 副系にしたいポートにはpreferredが設定されているか
- 対応するポート同士でREPセグメント番号は合っているか
(REPセグメント番号とはコマンドのrep segmentの後ろで指定する数字のことであり、同じ数字を割り当てたポートで冗長化を行います。)
今回の例では物理ポートにFlexlink+の設定を行っていますが、ポートチャネルにも設定可能です。
また、実機検証では、副系ポートにpreferredを設定しない場合でも待機系として動作することを確認できました。
しかし、Ciscoの公式ドキュメントではpreferredの設定を前提とした構成例が示されているため、明示的にpreferredを設定することを推奨します。
Flexlink+の確認コマンドと基本動作
Flexlink+の状態確認では、show rep topologyが最も有効です。
通常時・障害時・復旧時のポート状態を簡単に確認できるため、まずは本コマンドでPrimary(主系)ポートおよびSecondary(副系)ポートの状態を確認することが効果的です。
また、詳細情報を確認したい場合はshow rep interfaceやshow rep interface detailを利用できます。
ここではFlexlink+の挙動についてshowコマンドの出力を踏まえて解説していきます。
Flexlink+の状態は「show rep topology」コマンドを用いて以下のように確認することができます。
Switch# show rep topology
REP Segment 1
BridgeName PortName Edge Role
--------------- ----------- ---- ----
Switch Te1/0/1 Pri Open
Switch Te2/0/1 Sec Altこのように設定したセグメントごとにFlexlink+が設定されているポートの状態を確認することができます。
次に、Flexlink+の設定されているポートの状態を正常時、主系障害時、主系復旧時に分けて「show rep topology」コマンドを用いて確認していきます。
<正常時>
BridgeName PortName Edge Role
--------------- ----------- ---- ----
Switch Te1/0/1 Pri Open
Switch Te2/0/1 Sec Alt
このように、正常時はPrimaryを設定している主系ポートがOpen、Preferred設定をしている待機系ポートがAlt(待機状態)になっています。
この状態ではスイッチA→Bからの通信は正常に行われますが、スイッチA→Cの通信は行われません。
<主系障害時>
BridgeName PortName Edge Role
--------------- ----------- ---- ----
Switch Te1/0/1 Pri Fail
Switch Te2/0/1 Sec Open
このように、主系ポート障害時はPrimaryを設定している主系ポートがFail、Preferred設定をしている待機系ポートがOpenになっています。
スイッチA→Bからの通信は切断され、障害を検知したことでスイッチCに接続されているTe2/0/1ポートがOpen状態になり通信を行うようになります。
主系復旧時
BridgeName PortName Edge Role
--------------- ----------- ---- ----
Switch Te1/0/1 Pri Alt
Switch Te2/0/1 Sec Open
主系ポートの復旧時には主系ポートがAlt、副系ポートがOpenになります、主系の障害が復旧してもOpenは主系に切り替わらないことがわかります。
従来のFlexlinkではpreemptionを設定することで、主系回線の復旧時に自動的に主系へ切り戻すことができました。
しかし、Flexlink+では障害発生後に副系ポートがOpen状態となると、主系ポートが復旧してもStandby(待機状態)となり、主系ポートへ自動的に切り戻す機能はありません。
そのため、主系障害復旧時には待機系ポートのshutdownやリンク断(ケーブル抜去)などにより経路切り替えを実施する必要があります。
VLAN単位のロードバランシング
Flexlink+は通常のActive/Standby構成に加え、VLANロードバランシング機能によりVLANごとに異なる転送経路を利用させることができます。
以下の設定例では、トランクポートでVLAN 1~100を許可し、VLANロードバランシング機能を利用して、正常時はVLAN 1~50の通信を主系ポート、VLAN 51~100の通信を副系ポートへ振り分ける構成を紹介します。
*(以下文章であるセグメント番号とはコマンドのrep segmentの後ろで指定する数字のことであり、同じ数字を割り当てたポートで冗長化を行います。)
<設定例>
SwA(config)#interface TenGigabitEthernet1/0/1
SwA(config-if)# switchport mode trunk
SwA(config-if)# switchport trunk allowed vlan 1-100
SwA(config-if)# rep segment 1 edge no-neighbor primary
SwA(config-if)# rep block port 2 vlan 1-50
SwA(config-if)# rep preempt delay 30
SwA(config)#interface TenGigabitEthernet2/0/1
SwA(config-if)# switchport mode trunk
SwA(config-if)# switchport trunk allowed vlan 1-100
SwA(config-if)# rep segment 1 edge no-neighbor preferred
SwA#rep preempt segment <セグメント番号>
rep blockコマンドはprimaryを設定している側のポートで設定します。
「rep block port 2 vlan 1-50」の2は物理ポート番号ではなく、REPセグメント内で定義されるPort2(Preferred側)を意味します。
よって、VLAN1-50は副系側でブロックされ、それ以外のVLANは主系側でブロックされるため、結果としてVLAN単位のロードバランシングを行うことができます。
設定後、特権モードでrep preempt segment <セグメント番号>を入力しないとVLAN単位のロードバランスが反映されないので注意が必要です。
主系もしくは副系のポートのどちらかがダウンした場合はもう片方のポートにVLAN-100が集約します。
この時「rep preempt delay (時間)」をインターフェースに設定しておくことで復旧後指定した時間が経過すると設定した通りのVLANの通信経路に戻ります。
「rep preempt segment <セグメント番号>」コマンドによる手動切り戻しも可能です。
なお、これはVLANロードバランシング機能における経路最適化の動作であり、従来のFlexLinkのpreemption機能のように「常に主系ポートへ自動フェイルバックする」動作とは異なります。
Flexlink+のActive/Standby構成では、主系ポート復旧後も副系ポートが転送を継続し、主系ポートはStandby状態となります。
まとめ
Flexlink+は、Catalyst9000シリーズ向けのFlexlink後継機能です。
使用するメリットとしては、STPが使えない環境で使用できること、障害時に自装置の状態遷移のみで経路切替えが行われるため断時間を短くできることが挙げられます。
まだFlexlinkほど認知度は高くないかもしれませんが、Catalyst9000シリーズの導入が進む中で、今後触れる機会は増えていくことが考えられます。
本記事がFlexlink+について理解を深めるきっかけとなれば幸いです。
最後までご覧いただき、ありがとうございました。
■サービス資料一覧はこちら↓
引用元
https://community.cisco.com/t5/switching/flexlink-on-c9400/td-p/4047625






