ELAM Example: Sup720

ドキュメント

2013/12/03 - 22:17
11月 7th, 2013
User Badges:
  • sup720_example.png


    この例では、Catalyst 6500 は router on a stick で動作しており、 VLAN 10 と VLAN 20 上のホスト間のトラフィックをルーティングしています。このドキュメントでは ELAM を使用して、ホスト 10.1.1.100 からの ICMP リクエストが G5/3 VLAN 10 を正常に通過し、G5/3 VLAN 20 上のホスト 20.1.1.100 に転送されることの検証を行います。


    Sup720 では、各 ELAM コマンドは次の構文で始まります: show platform capture elam ...


    入力フォワーディング エンジンの決定


    トラフィックがスイッチの G5/3 のポートから入ってくると見込んでシステムのモジュールをチェックします。そこで module 5 がアクティブなスーパバイザであることを確認し、 module 5 で ELAM の設定を行います。

    Sup720#show module 5

    Mod Ports Card Type                              Model              Serial No.

    --- ----- -------------------------------------- ------------------ -----------

      5    5  Supervisor Engine 720 10GE (Active)    VS-S720-10G        SAL1429N5ST


    Sup720 では、 Superman という内部コードネームを持つ、レイヤ2のフォワーディング エンジン(FE)で ELAM を実行します。レイヤ2 FE のデータ バス(DBUS)には、レイヤ 2 およびレイヤ 3 ルックアップされる前のオリジナルのヘッダ情報が含まれており、リザルト バス(RBUS)には、レイヤ 3 およびレイヤ 2 ルックアップされた後の情報が含まれていることに注意してください。

    Sup720(config)#service internal

    Sup720#show platform capture elam asic superman slot 5


    Sup720 上で ELAM を実行する場合 service internal コマンドが必要になります。このコマンドを使用することによって通常の運用では必要のない隠しコマンドにアクセスできます。


    トリガーの設定


    Superman ASIC は IPv4 や IPv6 などの ELAM トリガーをサポートしています。 ELAM トリガーは、フレーム タイプと同じ並びである必要があります。フレームが IPv4 フレームである場合、トリガーも IPv4 とする必要があり、 IPv4 以外のトリガーではキャプチャされません。 IPv6 においても同様です。フレーム タイプをベースとしたもので、よく使用されるトリガーを以下に示します。


    IPv4IPv6All Frame Types
    • SMAC
    • DMAC
    • IP_SA
    • IP_DA
    • IP_TTL
    • IP_TOS
    • L3_PT (ICMP,IGMP,TCP,UDP)
      • TCP_SPORT, TCP_DPORT
      • UDP_DPORT, UDP_SPORT
      • ICMP_TYPE
    • SMAC
    • DMAC
    • IP6_SA
    • IP6_DA
    • IP6_TTL
    • IP6_CLASS
    • L3_PT (ICMP, IGMP, TCP, UDP)
      • IP6_L4DATA
    • VLAN
    • SRC_INDEX
    • DST_INDEX


    ほとんどのフィールドは、その名前から意味を推測できるようになっています。例えば、 SMAC と DMAC は、送信元 MAC アドレスと宛先 MAC アドレスを意味し、 IP_SA と IP_DA は、送信元 IPv4 アドレスおよび宛先 IPv4 アドレスを意味します。また、 L3_PT はレイヤ 3 プロトコル(ICMP、IGMP、TCP または UDP)を意味しています。


    IPv4 や IPv6 以外のトリガーは、ユーザ自身が該当するフレームの正確な 16 進数データおよび適切なマスクを設定する必要があり、その詳細についてはこのドキュメントの対象外としています。


    このドキュメントの例では、送信元と宛先の IPv4 アドレスに基づいてフレームをキャプチャしますが、 ELAM は必要に応じた特定のトリガーを設定することが可能であり、 TTL や TOS およびレイヤ 3 プロトコルなどのフィールドも指定することができます。パケットに対する Superman トリガーを次に示します。

    Sup720# show platform capture elam trigger dbus ipv4 if ip_sa=10.1.1.100 ip_da=20.1.1.100


    キャプチャの開始


    入力 FE の選択およびトリガーの設定を行った上で、キャプチャを開始します。

    Sup720#show platform capture elam start


    status コマンドで ELAM の詳細を確認できます。

    Sup720#show platform capture elam status

    Active ELAM info:

    Slot Cpu   Asic   Inst Ver PB Elam

    ---- --- -------- ---- --- -- ----

    5    0   ST_SUPER 0    2.2    Y

    DBUS trigger: FORMAT=IP L3_PROTOCOL=IPV4 IP_SA=10.1.1.100 IP_DA=20.1.1.100

    ELAM capture in progress


    トリガーに一致するフレームが FE によって受信されると、 completed と表示されます。

    Sup720#show platform capture elam status

    Active ELAM info:

    Slot Cpu   Asic   Inst Ver PB Elam

    ---- --- -------- ---- --- -- ----

    5    0   ST_SUPER 0    2.2    Y

    DBUS trigger: FORMAT=IP L3_PROTOCOL=IPV4 IP_SA=10.1.1.100 IP_DA=20.1.1.100

    ELAM capture completed


    結果の解釈


    data コマンドを使用することで、データの詳細を表示することができます。以下に示すのは、 ELAM の代表的なデータの一部です。

    Sup720#show platform capture elam data

    (some output omitted)

    DBUS data:

    VLAN ............................ [12] = 10

    SRC_INDEX ....................... [19] = 0x102

    L3_PROTOCOL ..................... [4] = 0 [IPV4]

    L3_PT ........................... [8] = 1 [ICMP]

    DMAC ............................ = 0014.f179.b640

    SMAC ............................ = 0021.5525.423f

    IP_TTL .......................... [8] = 255

    IP_SA ..........    ................. = 10.1.1.100

    IP_DA .......................    .... = 20.1.1.100


    RBUS data:

    FLOOD ........................... [1] = 1

    DEST_INDEX ...................... [19] = 0x14

    VLAN ............................ [12] = 20

    IP_TTL .......................... [8] = 254

    REWRITE_INFO

    i0  - replace bytes from ofs 0 to ofs 11 with seq '00 05 73 A9 55 41 00 14 F1 79 B6 40'.


    上記の DBUS data から、送信元 MAC がアドレスが 0021.5525.423f で、宛先 MAC がアドレスが 0014.f179.b640 のフレームが、 VLAN 10 で受信されたことが確認できます。また、送信元が 10.1.1.100 で、宛先が 20.1.1.100 の IPv4 フレームであることも確認できます。この出力では表示していませんが、他にも TOS 値や IP flags、パケット長、レイヤ 2 のフレーム長など、いくつかのフィールドがあります。


    SRC_INDEX(送信元 LTL)によって受信ポートを確認することができます。 Sup720 では、以下のコマンドを使用することで、 LTL とポートまたはポートのグループとの対応付けを確認することがきます。

    Sup720#remote command switch test mcast ltl-info index 102


    index 0x102 contain ports 5/3


    上記の出力は SRC_INDEX である 0x102 が、 G5/3 のポートに対応付けされていることが示されており、フレームが G5/3 で受信されたことが確認できます。


    RBUS data から、フレームが VLAN 20 にルーティングされ、 IP_TTL が 255 からデクリメントされ 254 となっていることが確認できます。 REWRITE_INFO は、 FE が MAC アドレスを表す 0 から 11 バイトの部分(先頭から 12 バイト分)を置き換え、宛先および送信元 MAC アドレスを書き換えたことを示しています。 DEST_INDEX(宛先 LTL)により、フレームがどこから送信されたのかを確認できます。


    RBUS において、 DEST_INDEX に Flood ビットがセットされ、 0x14 から 0x8014 へ変更されていることに注意してください。

    Sup720#remote command switch test mcast ltl-info index 8014


    index 0x8014 contain ports 5/3


    上記の出力は DEST_INDEX である 0x8014 も G5/3 のポートに対応付けされていることが示されており、フレームが G5/3 から送信されたことが確認できます。

    注 : 仮想スイッチング システム(VSS)


    VSS の場合、仮想スイッチのスロット マップ テーブルに基づいて物理ポートを関連付ける必要があります。以下の例で、どのポートが LTL 0xb42 にフレームを転送するか考えてみます。


    VSS#remote command switch test mcast ltl index b42

    index 0xB42 contain ports 20/1, 36/1


    仮想スイッチのスロット マップ テーブルにより、 LTL が仮想スロット番号 20 と 36 にマップされていることが確認できます。


    VSS#show switch virtual slot-map

    Virtual Slot to Remote Switch/Physical Slot Mapping Table:


    Virtual    Remote      Physical   Module

    Slot No    Switch No   Slot No    Uptime

    ---------+-----------+----------+----------

    <some output omitted>

      20        1              4        1d07h

      21        1              5        1d08h

      36        2              4        20:03:19

      37        2              5        20:05:44


    上記の出力で、 slot 20 は switch 1 の module 4 に、 slot 36 は switch 2 の module 4 にマップされていることが確認できます。従って、 LTL 0xb42 は、ポート 1/4/1 と 2/4/1 にマップされていることになります。これらのポートが、ポートチャネルのメンバーであった場合は、ロード バランシング方式に基づいて、ひとつのポートにだけ転送されることに注意してください。



    英語版: https://supportforums.cisco.com/docs/DOC-36220

Loading.

アクション

このドキュメントについて

Related Content