Ethernet OAM

【図解】CFM(L2ping/L2traceroute)の概要とフレームフォーマット

CFM (CFD)の種類と範囲

CFM とは、Connectivity Fault Management の略で、L2ping (Ethernet ping)L2traceroute (Ethernet traceroute) といったツールの元になっている、Ethernet OAM 規格です。

CFD (Connectivity Fault Detection) とも言います。

EFM OAM が直結した L2 スイッチの状態を監視するのに対し、CFM では複数の連結した L2 スイッチの疎通状態を確認、監視することができます

規格としては IEEE802.1agITU-T Y.1731の 2 種類があります。

IEEE802.1agとITU-T Y.1731の比較

IEEE802.1ag定常監視 (CC = Continuity Check) と L2ping (LB = LoopBack) と L2traceroute (LT=LinkTrace) の 3 つの機能に絞っています。

その分、メンテナンスドメインという概念を導入し、L2 回線サービスを提供する業者が管理・監視しやすいよう、複数保守業者を抱えるシナリオを想定しています。

一方、ITU-T Y.1731 はドメインの概念はないものの、機能としては IEEE802.1ag が使えるものを網羅し、かつ、重複したアラーム発報を抑制するなどのアラームや試験に関する細かい機能や、フレームロスやフレーム遅延等の性能評価を行う機能が実装されています。

機能IEEE802.1agITU-T Y.1731
定常監視(CC)
L2ping(LB)
L2traceroute(LT)
下位レベルと上位レベルのアラーム重複抑制(AIS)×
同レベルMEPへの自ノード障害通知(RDI)×
試験期間のアラーム抑制(LCK)×
ビット反転の検知試験(TST)×
高速な障害切替の制御(APS)×
保守に関する情報交換(MCC)※具体的な規定無し×
実験用(EXP)※具体的な規定無し×
ベンダ拡張用(VSP)※具体的な規定無し×
フレームロス測定(LM)×
伝送遅延測定(DM)×

これら 2 つの規格は互換性はありません (厳密には一部互換性あり)。

cisco では、IEEE802.1ag 規格を採用しつつ、性能評価については Y.1731 を一部サポート、性能評価のコマンドとしてはもともと cisco が持っている IP SLA 機能を拡張して実現しています。

CFM (IEEE802.1ag)の設計

L2ping や L2traceroute は、L3 の ping や traceroute とは違い、設定も無しに使えるものではありません

まずスイッチに CFM 機能を有効化し、インタフェースには、L2ping や L2traceroute に反応する『MEP (Maintenance Association End Point)』や『MIP (MaintenanceDomain Intermediate Point)』の設定を入れる必要があります。

MEP は疎通を確認したい特定 VLAN の区間の末端に設定します。

図では一次元で書いてあるため末端は 2 つになっていますが、実際には Ethernet はスター型なので、3 つ以上の複数の MEP が存在し得ます。

MIP は MEP 間の経路で、L2ping や L2traceroute に応答させたいインタフェースに設定します。

MEP や MIP にはレベルを設定しますが、そのレベルが同一である MEP/MIP の集合を『MA (Maintenance Association)』と呼びます。

必然的に MA は VLAN に紐付きます (MEP/MIP が VLAN に紐付くため)。

レベルは 0-7 で設定できます。

レベル 1,3,5 の MA (MEP/MIP) を作ったときの例を以下に示します。

定常監視 (CC) の設定や L2ping (LB)、L2traceroute (LT) の実行の際にはレベルをセットする必要がありますが、MEP や MIP は、(CC/LB/LT) メッセージのレベルが同一のものに反応し、応答します。

レベルの高いメッセージは反応せず、通過させます。レベルの低いメッセージは (下位レベルの MEP/MIP が無ければ)設定によりドロップさせることができます。

MEPの種類

MEP には以下の2種類あります。

Outward-facing MEP (DOWN MEP)

他の MEP に続くインタフェース側に設定された MEP を指します。

Outward-facing MEP の設定をしたインタフェースは、そのポートからメッセージフレームを送信します。

先程の構成の例ですと、Level 1 と 3 の MEP がともに Outward-facing MEP です。

Inward-facing MEP (UP MEP)

他の MEP に続くインタフェースではない側に設定された MEP を指します。

Inward-facing MEP の設定をしたインタフェースは、そのポートからはメッセージフレームは出さず、スイッチング機能へフレームを渡し、FDB (MAC アドレステーブル) や CCM DB、はたまた UP MEP 以外の全ポートからフラッディングでフレームを送出します。

先程の構成の例ですと、Level 5 の MEP がともに Inward-facing MEP です。

メンテナンスドメイン(MD)

MD は、管理領域を表します。通常の運用設計では、MD 1 つにつき、1 つのドメイン管理組織が割り当たります。

例えば全体のサービスを提供する事業者が、地域によって構築・保守業者を分ける運用の場合に、この考え方が便利です。

各ドメイン管理者は自身の MD Level 以下の MEP/MIP を作成 (つまり MA を作成) し、管理を行うことができます。

区分を明確化する、という観点で、下位レベルの MA は上位レベルの MA に包含されてなければなりません。ドメインが重なるのは NG です。

LinkTrace(L2traceroute)の仕組み

LinkTrace Messageの送信元 MAC アドレス (Origin MAC) は必ず MEP ですが、宛先 MAC アドレス (Target MAC) は MIP でも MEP でも構いません。

LinkTrace Message を経路途中の MIP が受信した場合、以下の 2 つの動作を同時に行います。

  1. Message の中にある TTL 値を1減らし、(HW only flag が 1 の場合は) MAC アドレステーブルに従って NextHop へ転送、もしくは (HW only flag が 0 の場合は) 入力インタフェース以外のポートから L2 マルチキャスト
  2. Message の中にある TTL 値を1減らした値を LinkTrace Reply message の TTL 値にセットし、送信元へ返信

宛先の MIP/MEP が受信した場合は上記の『2』だけを実行します。

LinkTrace Reply message の中にある TTL は、送信元に届くまで不変です。

また、MIP も MEP も設定されていないインタフェースは単純に LinkTrace Message を転送するのみです。

TTL も減らさなければ、LinkTrace Reply message での返信もしません。

CFM のフレームフォーマット

IEEE802.1ag の CFM のメッセージは以下の 5 種類です。

  1. CCM: Continuity Check Message (OpCodes = 1)
  2. LBM: LoopBack Message (OpCodes = 3)
  3. LBR: LoopBack Reply message (OpCodes = 2)
  4. LTM: LinkTrace Message (OpCodes = 5)
  5. LTR: LinkTrace Reply message (OpCodes = 4)

それぞれについてフレームフォーマットを示します。

Continuity Check Message (OpCodes = 1)

対向へのHeart Beatになり、自身が生きていることを対向に伝えます。返信は無いのが前提です。複数の対向 MEP へ一度へ通知するため、マルチキャストになっています。

Flag は下記の通りです。

RDI は Y.1731 でサポートしている機能です。この Flag を 1 にすることで自 MEP の障害を対向 MEP に向かって通知します。

IEEE802.1ag では未サポートのため常に 0 です。

Period は CCM が定期交換される周期です。以下のように決まっています。

Period周期
000Invalid
0013.33 msec
01010 msec
011100 msec
1001 sec
10110 sec
1101 min
11110 min

TLV オフセットは、この Field 以降から、TLV が始まるまでに何バイトあるかを示しています。

TLV が始まるまでは、CCM メッセージの TLV 以外の必須情報が入ります。(このメッセージでは TLV の終わりを示す TLV Type=0 が来るので、実質 TLV データが無いことを意味しています。)

MEP ID は、MEP の設定時に 1-8191 の値を設定します。

MA ID は "Short MA Name" と "MD Name" を連結させた文字列で、MD を設定する際に設定します。

Short MA Name は文字列を指定しない場合は VLAN ID や VPN-ID (EVC) がそのまま Short MA Name になります。

TxFCf/RxFCb/TxFCb は Y.1731 の性能評価で利用する領域です。IEEE802.1ag では未サポートのため、常に 0 になります。

LoopBack Message (OpCodes = 3)

対向が活きているかを確認します。Ping の ICMP Echo に相当する機能です。応答として OpCodes=2 の LBR (ICMP Echo Reply 相当) が返ってくることを想定します。

Transaction ID は任意の値がセットされます。

Data TLVは以下の通りです。

Data Pattern は任意のビット列で、長さ (Length) も任意です。

LoopBack Reply message (OpCodes = 2)

LoopBack Message の応答メッセージです。

LinkTrace Message (OpCodes = 5)

対向への L2 経路情報を確認します。L3 での Traceroute に相当する機能です。応答として OpCodes=4 の LTR が返ってくることを想定します。

Flag のフォーマットは以下の通りです。

HW only は 1 の場合、Target MAC Address を FDB (MAC アドレステーブル) で調べ、そのポートからのみ L2 マルチキャストフレームを送出します。0 の場合は全ポートから L2 マルチキャストフレームを送出します。

Transaction IDは任意の値がセットされます。

TTLは機器の実装にもよりますが、大きめの値 (Max255) がセットされます。

LTM Egress identifier TLV のフォーマットは以下の通りです。

Egress identifier は先頭 16 bit が 0 で、残りは最初の LTM であれば自身の MAC アドレス、中継された LTM であれば中継した MIP の MAC アドレスが入ります。

LinkTrace Reply message (OpCodes = 4)

LinkTrace Message の応答メッセージです。

Flag のフォーマットは以下の通りです。

HW only は LTR からコピーされてきます。

Fwd Yes が 1 の場合は、中継する (まだ終端ではない) ことを示します。0 の場合は、終端であるか、何かしらの理由で中継しないことを示します。

Terminal MEP は、LTM の宛先が MEP の場合、これを 1 にセットされます。

Transaction ID は、LTM からコピーされます。

TTL は受信した LTM から 1 引いたものがセットされます。

Relay Action は Linktrace Message の転送処理方法を示します。具体的には以下の通りです。

  • 1 = RlyHit:宛先 MAC (Target MAC) に到着したため Linktrace Message を転送していないことを意味します
  • 2 = RlyFdb:MAC アドレステーブルを使用して Linktrace Message を転送したことを意味します。
  • 3 = RlyMpdb:MIP CCM データベースを使用して Linktrace Message を転送したことを意味します。

MIP CCM データベースとは、CCM から MEP の情報を学習した結果を記録する、MIP が保持するデータベースのことです。

この DB には CCM を送信した MEP の MAC アドレスと受信した VLAN とポートが入っています。

LinkTrace の宛先が MEP の場合、この DB を活用できます。

TLVs には [Reply Ingress TLV] , [Reply Egress TLV] , [LTR Egress identifier TLV] のいずれか 1 つ以上が入ります。

それぞれの TLV フォーマットは以下の通りです。

コメント

タイトルとURLをコピーしました