さまざまな管理情報ベース(MIB)変数はアクセスできなくなります。つまり、そのような MIB 変数は値を返しません。MIB 変数の ccsFlapMacAddr は、この変数を walk しても値を返しません。「変数を walk」するとは、MIB ブラウザを使用して MIB の値を取得することを意味します。
このドキュメントでは、ccsFlapUpstreamIfIndex MIB変数をccsFlapMacAddr MIB変数の回避策として使用し、フラップするケーブルモデムのMACアドレスをポーリングする方法について説明します。ケーブルモデムが断続的にオンラインになっているときに、ケーブルモデムがフラップすると言われます。そのため、ケーブルモデムの背後にあるPCはインターネット接続を失います。
このドキュメントでは、ccsFlapMacAddr MIB変数が値を返さないという問題を解決しています。
このドキュメントに関しては個別の要件はありません。
このドキュメントは、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
本書の情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。稼働中のネットワークで作業を行う場合、コマンドの影響について十分に理解したうえで作業してください。
ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。
ccsFlapMacAddrをポーリングすると、このMIB変数は値を返しません。定義上、このMIB変数は、フラップするケーブルモデムのMACアドレスを識別します。このMIB変数のオブジェクト識別子(OID)は.1.3.6.1.4.1.9.9.114.1.1.5.1.1であることに注意してください。この出力は、この変数が返す内容を示しています。
skyshark# snmpwalk 172.16.30.20 .1.3.6.1.4.1.9.9.114.1.1.5.1.1 no MIB objects contained under subtree.
ケーブルモデムのケーブルインターフェイスのMACアドレスが予想されます。このアドレスは、フラッピングしているケーブルモデムのフラップリストのエントリを示します。
フラッピングしているケーブルモデムのMACアドレスをポーリングすることはできません。これは、このMIB変数へのACCESSがnot-accessibleに設定されているためです。その結果、コードは内部でのみ値を使用し、ポーリング時に変数が何もレポートできません。
このMIB変数の完全な定義は次のとおりです。
.1.3.6.1.4.1.9.9.114.1.1.5.1.1 ccsFlapMacAddr OBJECT-TYPE -- FROM CISCO-CABLE-SPECTRUM-MIB -- TEXTUAL CONVENTION MacAddress SYNTAX OCTET STRING (6) DISPLAY-HINT "1x:" MAX-ACCESS not-accessible !--- MAX-ACCESS is set to not-accessible. !--- As a result, the variable does not return any value. STATUS Current DESCRIPTION "MAC address of the Cable Modem's Cable interface. Identifies a flap-list entry for a flapping Cable Modem." ::= { iso(1) org(3) dod(6) internet(1) private(4) enterprises(1) cisco(9) ciscoMgmt(9) ciscoCableSpectrumMIB(114) ciscoCableSpectrumMIBObjects(1) ccsFlapObjects(1) ccsFlapTable(5) ccsFlapEntry(1) 1 }
これを確認するには、OIDが。1.3.6.1.4.1.9.9.114であるCiscoCableSpectrumMIB全体をウォークします。このMIB変数にはccsFlapMacAddrの定義が含まれています。
skyshark#snmpwalk 172.16.30.20 .1.3.6.1.4.1.9.9.114 9.9.114.1.1.1.0 : INTEGER: 100 9.9.114.1.1.2.0 : Unsigned32: 4 9.9.114.1.1.3.0 : INTEGER: 10080 9.9.114.1.1.4.0 : INTEGER: 180 9.9.114.1.1.5.1.2.0.1.100.255.228.181 : INTEGER: 14 !--- Evidently, the variable jumps from 9.9.114.1.1.4.0 to !--- 9.9.114.1.1.5.1.2, and skips 9.9.114.1.1.5.1.1. 9.9.114.1.1.5.1.2.0.48.150.249.101.241 : INTEGER: 14
この出力は、OID 1.3.6.1.4.1.9.9.114.1.1.5.1.1を示していません。したがって、MIBの定義を調べて、値が取得されない理由を確認してください。
注:この出力では、Cisco IOS®ソフトウェアリリース12.1(5)EC1が稼働するCisco uBR7114ケーブルモデムが使用されています。
状況によっては、MIB変数のMAX-ACCESSがnon-accessibleに設定されているが、MIB変数をポーリングすると値が返されます。このような状況では、コードはそのMIB変数の仕様に準拠していません。このような場合、MIB定義に準拠するようにコードを変更する必要があります。
この制限を回避するには、ccsFlapEntry MIB変数で定義されている他のエントリを使用できます。定義されているエントリの一部は、ccsFlapUpstreamIfIndex、ccsFlapDownstreamIfIndex、およびccsFlapPowerAdjustmentsです。
これらのMIB変数には、フラッピングしているケーブルモデムのMACアドレスが値のレポートに含まれます。
たとえば、ccsFlapUpstreamIfIndexを使用します。これは、フラッピングケーブルモデムが使用するアップストリームを識別します。このMIB変数のOIDは1.3.6.1.4.1.9.9.114.1.1.5.1.2です。このMIB変数を歩くと、次のような結果になります。
skyshark#snmpwalk 172.16.30.40 public .1.3.6.1.4.1.9.9.114.1.1.5.1.2 enterprises.9.9.114.1.1.5.1.2.0.1.100.255.228.181 = 4 enterprises.9.9.114.1.1.5.1.2.0.48.150.249.101.241 = 4
これらの番号は、ccsFlapMacAddrではなく、MIB変数ccsFlapUpstreamIfIndexを介してすべてのフラッピングされているケーブルモデムのMACアドレスを示します。フラップするケーブルモデムのMACアドレスを特定するには、OIDの最後の6つの番号を調べます。これらの数値は、MACアドレスを10進数で表したものです。たとえば、0.1.100.255.228.181では、次の表に示すように、各数値は16進数値に対応しています。
10 進数 | 16 進数 |
---|---|
0 | 00 |
1 | 01 |
100 | 64 |
255 | FF |
228 | E4 |
181 | B5 |
この変換テーブルから、0.1.100.255.228.181は、0001.64ff.e4b5のMACアドレスに対応していると推測できます。同じ方法で0.48.150.249.1 01.241は0030.96f9.65f1に相当します。
これは、CMTSで複数のshowコマンドで確認できます。フラップするケーブルモデムのMACアドレスを見つけるには、show cable flap-listコマンドを発行します。
uBR7114#show cable flap-list MAC Address Upstream Ins Hit Miss CRC P-Adj Flap Time 0001.64ff.e4b5 Cable1/0/U0 3696 39969 61741 0 *48336 52844 Jan 25 12:17:57 0030.96f9.65f1 Cable1/0/U0 4447 8456 11967 0 *3369 7830 Jan 25 12:19:23