読者です 読者をやめる 読者になる 読者になる

befs_anneの日記

インフラエンジニアとして多少マシになっていく記録(予定)

【和訳】HP5120 Smart Link

概要

英語のドキュメントを読むのが面倒なので、日本語に訳しておく。

参照ドキュメント

https://h20565.www2.hpe.com/hpsc/doc/public/display?sp4ts.oid=4174705&docLocale=en_US&docId=emr_na-c03996810

概要

背景

シングルポイント障害の回避とネットワーク信頼性を保証するために、一般的にはアップリンクを2台の異なる機器に接続する。

2本のアップリンクで冗長性が実現できてはいるものの、ループの可能性をはらんでおり、多くの場合、STPかRRPPを利用することになる。しかし、前者は収束時間が長く、後者は構成や設定が複雑になりやすいし、そもそもリング型ネットワークに使われるものである。

Smart Linkは、STPの収束時間の遅さを改善した機能である。リンク冗長性と高速収束の両方を保ち、プライマリリンクに障害が発生した時は高速でバックアップリンクに切り替わる。Smart Linkには以下のような機能がある:

  • 二重化リンクの提供
  • 1秒以下での収束
  • 容易な設定

用語

Smart Linkグループ

Smart Linkグループは、マスターポートとスレーブポートから構成される。片方はトラフィック転送を行い、もう片方はスタンバイポートとしてトラフィック転送はブロックされている。ポートのシャットダウンや単方向リンクの検出などによってアクティブポート障害が発生した時、スタンバイポートがアクティブ状態になり、元々のアクティブポートはブロック状態に切り替わる。

マスター/スレーブポート

マスターポートとスレーブポートは、Smart Link内のポートの役割である。2つのポートがSmart Linkグループ内でupである時、マスターポートは優先的にパケットを転送し、スレーブポートはスタンバイ状態になる。マスターポート障害が発生した時、スレーブポートはトラフィック転送を代わりに行う。

マスター/スレーブリンク

マスターポートに接続されているリンクがマスターリンクで、スレーブポートに接続されているリンクがスレーブリンクである。

フラッシュメッセージ

フラッシュメッセージは、Smart Linkグループ内でリンクの切り替わりが発生した時に、他の機器に対してMACアドレス転送エントリとARP/NDエントリ(註: IPv6でのMACアドレス解決メカニズム)をリフレッシュするよう通知するために使われる。フラッシュメッセージは一般的なマルチキャストデータパケットであり、ブロック状態の受信ポートにはブロックされる。

プロテクテッドVLAN

Smart Linkグループは、いくつかのデータVLAN(プロテクテッドVLAN)の転送状態を操作する。Smart Linkグループ毎に異なるプロテクテッドVLANを持つ。プロテクテッドVLANにおけるポート状態はSmart Linkグループ内のポート状態に左右される。

(註: Switchover対象のVLAN。プロテクテッドVLANとして指定したVLANのみがSmart Linkグループ内のAct/Sby状態の影響を受けると思われる。)

送信コントロールVLAN

送信コントロールVLANは、フラッシュメッセージを送信するために使われる。リンクの切り替わりが発生した時、下位機器(downstream device)は、送信コントロールVLAN内でフラッシュメッセージをブロードキャストする。

受信コントロールVLAN

受信コントロールVLANは、フラッシュメッセージを受信および処理するために使われる。リンクの切り替わりが発生した時、(アップリンクに位置する)機器は、受信コントロールVLAN内でフラッシュメッセージを受信および処理し、MACアドレス転送エントリとARP/NDエントリをリフレッシュする。

(註: フラッシュメッセージをやり取りするVLAN。前者はSmart Linkグループ設定ビュー、後者はインタフェース設定ビューで設定する。)

Smart Linkの動作

リンク保護の仕組み

図22の場合、デバイスCのポート1のリンクはマスターリンク、ポート2のリンクはスレーブリンクとなる。ポート1がフォワーディング状態、ポート2はスタンバイ状態になる。マスターリンクに障害が発生した時、ポート2は転送処理を代わりに行い、ポート1はブロックされスタンバイ状態へ移行する。

NOTE: ポートがフォワーディング状態に切り替わった時、ポート状態が変わったことがログとして通知される。

トポロジチェンジの仕組み

リンクの切り替わりによって、全てのデバイスが持つMACアドレス学習とARP/NDエントリはタイムリーなものでなくなってしまうため、正しいトラフィック転送のために、これらフォワーディングエントリを更新する仕組みが必要になる。以下2つの仕組みが提供されている。

  • アップリンクからのトラフィックによるMACアドレス学習

    • この仕組みは、他ベンダ機器を含むSmart Linkをサポートしていない機器が存在する環境でも有効である。
  • フラッシュアップデート

    • Smart Linkが有効な機器がフラッシュメッセージをバックアップリンクの先にある機器に送信する。この仕組みは、アップリンクの機器がSmart Linkのフラッシュメッセージを処理できる必要がある。

ロールプリエンプションの仕組み

図22の場合、デバイスCのポート1のリンクはマスターリンク、ポート2のリンクはスレーブリンクとなる。ポート1がフォワーディング状態、ポート2はスタンバイ状態になる。マスターリンクに障害が発生した時、ポート1は自動的にブロックされ、スタンバイ状態になり、ポート2はトラフィック転送を代わりに行う。マスターリンクが復旧した時、以下のうちどちらかが起きる:

  • Smart Linkグループにロールプリエンプションを設定していない場合、安定したトラフィック転送を維持するため、トラフィック転送をブロックされたままのポート1は、すぐにトラフィックの転送をすることはなく、次のリンクの切り替わりまでブロック状態を維持する。
  • Smart Linkグループにロールプリエンプションを設定している場合、ポート1はリンクが復旧した後すぐにトラフィックの転送を(ポート2の)代わりに始める。ポート2は自動的にブロックされ、スタンバイ状態へ移行する。

負荷分散の仕組み

リングネットワークでは、複数VLANのトラフィックを転送しうる。Smart Linkは負荷分散を実装することで、複数Smart Linkグループ内において複数VLANのトラフィックを転送することができる。

(註: 使わなそうだからペンディング。)

(20160826)

Smart Linkの連携の仕組み

Smart LinkとMonitor Linkの連携

Smart Linkは、上位機器のアップリンクの故障およびその回復を検知することができない。上位機器のアップリンク状態を監視するため、Monitor Link機能を(上位機器に)設定することができる。Monitor Linkはアップリンクポートのup/down状態をダウンリンクポートのup/down状態と同調させ、下位機器のSmart Linkによるリンク切り替えの契機となる。

Smart LinkとCFD(Conectivity Fault Detection)のCC(Continuity Check)機能の連携

Smart Linkは中間機器やネットワーク経路における障害(片方向リンク、誤接続ファイバ、パケットロスなど)およびその回復を検知することができない。リンク状態を監視するため、Smart Linkはlink detection protocol(LDP)を使わなければならない。障害(もしくはその回復)を検知した時、link detection protocolはSmart Linkに対してリンク切り替えを発生させるために通知を送信する。

(註: よく分からないのでペンディング。)

Smart Link設定タスクリスト

Smart Linkデバイスは、Smart Linkをサポートしており、かつSmart Linkグループとフラッシュメッセージを送信するためにコントロールVLANが設定されている機器を指す。

アソシエイテッドデバイスは、Smart Linkをサポートしており、特定のコントロールVLANからフラッシュメッセージを受信する機器を指す。

  • タスク
    • Smart Linkデバイスの設定
      • プロテクテッドVLANをSmart Linkグループに設定
      • メンバーポートをSmart Linkグループに設定
      • ロールプリエンプションをSmart Linkグループに設定(任意)
      • フラッシュメッセージの送信を有効化(任意)
      • Smart LinkとCCの連携を設定(任意)
    • アソシエイテッドデバイスの設定
      • フラッシュメッセージの受信を有効化

Smart Linkデバイスの設定

設定条件

  • ポートをSmart Linkグループのメンバーとして設定する前に、ループを防ぐためポートをシャットダウンしておく。Smart Linkグループの設定が全て終わってから、ポートをupにする。
  • スパニングツリーとRRPPを無効にし、それらのポートはどのアグリゲーショングループにも参加させない。

(註: Smar LinkのメンバポートとしてLAGが使えないわけではなく、LAGのメンバポートのみをSmart Linkグループに所属させてはいけないということ?)

NOTE: スパニングツリーを無効化にしている間ループが発生するかもしれないが、Smart Linkはその影響を受けない。

プロテクテッドVLANをSmart Linkグループに設定

MSTIを参照するかたちでプロテクテッドVLANをSmart Linkグループに設定する。プロテクテッドVLANを設定する前に、MSTIとプロテクテッドVLANとなるVLANをマッピングする(PVSTモードの場合、システムが自動的にVLANとMSTIマッピングする)。

(註: MST関連の設定をしなくて済むPVSTがベターだと思ったが、xSTPを有効にしていなくてもMSTI 0は存在する模様。全VLANをプロテクテッドVLANにするのであれば、これを指定すればよい。)

# システム設定ビューへ移行
system-view

# MSTリージョン設定ビューへ移行
stp region-configuration

# VLAN-MSTIマッピングテーブルを設定

## アプローチ1: VLANをひとつずつMSTIにマッピング
instance {instance-id} vlan {vlan-list}

## アプローチ2: マッピングルールを作成してそれに従ってマッピング
vlan-mapping modulo {modulo}

# MSTリージョン設定を有効化
active region-configuration

# 現在のMSTリージョン設定を確認
display stp region-configuration

# システム設定ビューへ移行
quit

# Smart Linkグループを作成し、Smart Link設定ビューへ移行
smart-link group {group-id}

# プロテクテッドVLANをSmart Linkグループに作成
protected-vlan reference-instance {instance-id-list}

メンバポートを設定

Smart Linkグループ設定ビューとインタフェース設定ビューのどちらでも設定することができる。

(註: どちらで設定しても機能には影響がないが、どちらで設定してもdisplay current-configurationではインタフェース配下に表示される。Smart Linkグループの設定から続けてやってしまいたい場合は前者、display thisで確認しながら設定していく場合は後者を推奨する。)

Smart Linkグループ設定ビューの場合

以下の通り:

# システム設定ビューへ移行
system-view

# Smart Linkグループを作成し、Smart Linkグループ設定ビューへ移行
smart-link group {group-id}

# メンバポートをSmart Linkグループに設定
port {interface-type} {interface-number} {master | slave}

インタフェース設定ビューの場合

以下の通り:

# システム設定ビューへ移行
system-view

# L2イーサネットインタフェース設定ビュー、もしくはL2アグリゲートインタフェース設定ビューへ移行
interface {interface-type} {interface-number}

# メンバポートをSmart Linkグループに設定
port smart-link group {group-id} {master | slave}

ロールプリエンプションをSmart Linkグループに設定(任意)

# システム設定ビューへ移行
system-view

# Smart Linkグループ設定ビューへ移行
smart-link group {group-id}

# ロールプリエンプションを有効化(デフォルト: 無効)
preemption mode role

# プリエンプションディレイを設定(デフォルト: 1秒)
preemption delay {delay-time}

NOTE: プリエンプションディレイはロールプリエンプションを有効にした後のみ影響する。

フラッシュメッセージの送信を有効化(任意)

Smart Linkグループに設定されたコントロールVLANは、他のSmart Linkグループに設定されたものであってはならない。設定したコントロールVLANは既に定義されているものかつプロテクテッドVLANとして設定されていること。Smart Linkグループに所属しているコントロールVLANは、同じSmart LinkグループのプロテクテッドVLANでなければならない。コントロールVLANを削除しないこと。さもなければ、フラッシュメッセージが正しく送信されない。

system-view

smart-link group {group-id}

# フラッシュアップデートを有効にし、コントロールVLANを指定(デフォルト: 有効、コントロールVLANはVLAN1)
flush enable [control-vlan {vlan-id}]

(20160827)