LAN スイッチング : EtherChannel

EtherChannel の不一致検出について

2015 年 11 月 26 日 - 機械翻訳について
その他のバージョン: PDFpdf | ライター翻訳版 (2014 年 4 月 2 日) | 英語版 (2015 年 10 月 7 日) | フィードバック


目次


概要

この文書では、EtherChannel の不一致について、および Catalyst スイッチでのその検出方法について説明します。

EtherChannel の動作原理、および設定方法については詳しく述べません。 EtherChannel の解説と設定方法、およびさまざまな Catalyst スイッチ間の設定例の詳細については、『LAN テクノロジーに関するテクニカル サポート: EtherChannel』を参照してください。

前提条件

要件

このドキュメントに関する特別な要件はありません。

使用するコンポーネント

このドキュメントは、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。

表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

背景説明

EtherChannel は、複数の物理ポートを単一の論理ポートとしてみなした物です。 EtherChannel の目的は、単一のポートに比べて、より大きな帯域幅とアベイラビリティを提供することです。

Spanning-Tree Protocol(STP; スパンニング ツリー プロトコル)からは、EtherChannel は単一のポートとして見られます。 このことは、チャネルの両端でチャネリング ポートに一貫性がない場合に、フォワーディング ループが発生する危険性を提起します。

次の図に例を示します。

127-a.gif

スイッチ A に、チャネルに参加していない 2 つの独立した物理リンクがあり、スイッチ B はこれらをチャネルを形成する同じリンクであると見なしている場合、スイッチ B はブロードキャスト パケットまたは未知のユニキャスト パケットをスイッチ A に送信します。 スイッチ A ではこれらのリンクはチャネルとしてバンドルされていないため、図に示したとおり、そのパケットはスイッチ B にフォワーディングして戻されます。 その結果、パケットの重複が発生し、スイッチ B のフォワーディング テーブルが誤った方向を示すように変更されます。

Cisco Port Aggregation Protocol(PAgP; ポート集約プロトコル)または Institute of Electrical and Electronics Engineers Link Aggregation Control Protocol(IEEE LACP; IEEE リンク集約制御プロトコル)などの特殊なプロトコルは、チャネリング近隣スイッチ間で一貫性が保たれるように設計されています。 ただし、どちらかのシステムでこのようなプロトコルがいずれもサポートされていないか、何らかの理由で無効になっている場合があります。 シスコは、チャネルの不一致を検出および解消し、パケットの重複、ループ、およびその他の EtherChannel 間の不一致による問題を防止するための、特殊なメカニズムを開発しました。 この機能は Catalyst 4500/4000、5500/6000、および 6500/6000 スイッチでサポートされ、チャネル モードの設定が desirable、active、auto、passive または on のいずれであるかにかかわらず、デフォルトで有効になっています。

不一致検出の動作原理

「バックグラウンド」の項で述べたとおり、EtherChannel は STP からは単一のポートとして見られます。 チャネル内のすべてのポートは同じ STP 状態になり、各 VLAN ごとに 1 つの STP Bridge Protocol Data Unit(BPDU; ブリッジ プロトコル データ ユニット)だけを、HELLO 間隔で送受信することができます。

ただしこのことは、あるスイッチが複数のリンクを 1 つのチャネルと見なし、近隣スイッチがこれらのリンクを別個のものと見なす場合、すなわち不一致が発生している場合にはあてはまりません。 次の例を検討します。

127-b.gif

この図で、スイッチ A はチャネルを構成していませんが、スイッチ B はチャネルを構成しています。 そのチャネルの STP 指定ポートはスイッチ B の側にあるとします。 そのため、スイッチ B は BPDU の送信をサポートします。 チャネルが単一の STP ポートと見なされている限り、そのチャネルでは各 VLAN ごとに 1 つの BPDU のみが送信されます。 この BPDU は物理的にはチャネル内のリンクの 1 つによって送信されます。 そのため、これを受信できるのはスイッチ A の 1 つのポートのみです。 図中では黒い矢印です。

スイッチ A が BPDU を受信した後、スイッチ A の他のポートは STP 指定ポートになります。 これはそのポートが、BPDU を受信したポートとチャネルとしてバンドルされておらず、スイッチ B からの BPDU を直接受信しないためです。 スイッチA の STP Designated Port として、それはスイッチA からスイッチ B.スイッチ B に戻って今ダイアグラムの赤い矢印によって表される BPDU を受け取ります BPDU を送信し、不整合は検出する。

EtherChannel 不一致検出メカニズムは、各 VLAN でチャネルの 1 つの指定ポートのみが BPDU を送信または受信するという点に基づいています。 Catalyst スイッチの各ポートの MAC アドレスはそれぞれ固有であり、BPDU の送信時にそれが使用されます。

Catalyst OS(CatOS)では、この MAC アドレスは show port mac-address mod/port コマンド(バージョン 7.1(1) 以降の場合)、または show module mod コマンドを発行することで確認できます。 次に出力例を示します。

Cat6k> (enable) show port mac-address 2/7

Port  Mac address
----- -----------------
 2/7  00-02-fc-90-19-2c

Cat6k> (enable) show module 2 bold
Mod Slot Ports Module-Type               Model               Sub Status
--- ---- ----- ------------------------- ------------------- --- --------
2   2    16    10/100/1000BaseT Ethernet WS-X6516-GE-TX      no  ok

Mod Module-Name          Serial-Num
--- -------------------- -----------
2                        SAD05170009

Mod MAC-Address(es)                        Hw     Fw         Sw
--- -------------------------------------- ------ ---------- -----------------
2   00-02-fc-90-19-26 to 00-02-fc-90-19-35 0.231  6.1(3)     7.1(1)


Cisco IOS に関してはか。 この出力例に示すように show interface type mod/port コマンドを発行する場合 Catalyst スイッチのソフトウェア、MAC アドレスを表示できます:

Cat6k-CiscoIOS# show interface fastEthernet 4/1
FastEthernet4/1 is up, line protocol is down (monitoring)
  Hardware is C6k 100Mb 802.3, address is 0005.7461.c838 (bia 0005.7461.c838)
  Description: I,NSP49,10.101.5.96,OCCRBC7505BN1A HSSI 1/0/0
  MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Full-duplex, 100Mb/s
  input flow-control is off, output flow-control is off
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input never, output never, output hang never
  Last clearing of "show interface" counters never
  Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 262140
  Queueing strategy: fifo
  Output queue :0/40 (size/max)
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     119374 packets input, 8353326 bytes, 0 no buffer
     Received 118782 broadcasts, 299 runts, 0 giants, 0 throttles
     748 input errors, 14 CRC, 0 frame, 0 overrun, 0 ignored
     0 input packets with dribble condition detected
     9225693 packets output, 591962436 bytes, 0 underruns
     0 output errors, 0 collisions, 1 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out
Cat6k-CiscoIOS#?

受信または送信 BPDU の発信元 MAC アドレスが 1 つのチャネル ポート上で常に変化している場合、複数の STP ポートが BPDU を送信していることになります。 STPの観点ではチャネルは単一のポートであるため、これは明らかに不一致を示す兆候です。

注: BPDU が異なる MAC アドレスから届く可能性があるため、このメカニズムにはある程度の許容範囲があることに注意してください。 たとえば、STP がコンバージしている場合、STP 指定ポートがチャネルの異なる側に切り替わることがあります。 ただし、このプロセスは短時間で処理される必要があります。

送信および受信 BPDU の両方が検出メカニズムによってチェックされます。 数字的には、チャネルで 30 秒未満の間に異なる MAC アドレスから 75 を超える BPDU が「見られた」場合、そのチャネルは不一致と判断されます。 ただし、同じ MAC アドレスから 5 つの BPDU が連続して見られた場合は、検出カウンタがリセットされます。 将来のソフトウェア リリースでは、これらの数字が変更される場合があります。

注: このメカニズムの一般的な性質から、チャネルの設定が一致していても、このメカニズムがトリガされる可能性があることにも注意してください。

たとえば、ネットワーク内のスイッチのハードウェアまたはソフトウェアの問題が原因で、チャネルで接続された 2 台のスイッチがどちら側を STP 指定ポートにするかについて合意できず、両者が BPDU を送信したとします。 このような症状がある EtherChannel は、不一致検出メカニズムによって無効にすることができます。 この変更によって分割ネットワークをコンバージすることが可能になるため、有害な副作用と考えるべきではありません。

STP が無効になっていても、ハードウェアによって BPDU が大量発生することはありません。 STP は、BPDU の発信元 MAC アドレスを送信ポートの MAC アドレスに書き換えるなど、BPDU に対してある程度の処理を行う必要があります。 そのため、STP が無効になっていても、不一致検出はそのチャネルに対して動作します。

チャネル不一致検出の機能は無効にできますが、お勧めしません。

デフォルトでは、CatOS と Cisco IOS ソフトウェアの両方で検出が有効になっています。

この機能の動作を監視することもできます。 そのためには、CatOS で show spantree statistics mod/port [vlan] コマンドを発行します。 次の例を検討します。

Cat6k> (enable) show spantree statistics 2/5 199
Port  2/5   VLAN 199
  

!--- Output suppressed.


channel_src_mac                      00-d0-5a-eb-67-5a
channel src count                    73
channel OK count                     1

Cat6k> (enable) show spantree statistics 2/5 199
Port  2/5   VLAN 199


!--- Output suppressed.


channel_src_mac                      00-50-14-bb-63-a9
channel src count                    76
channel OK count                     1

次のリストは、サンプル出力の show spantree statistics mod/port [vlan] パラメータの説明です。

  • channel_src_mac:そのチャネルで送信または受信した最後の BPDU の発信元 MAC アドレスが示されます。

  • channel src count:異なる発信元 MAC アドレスで送信または受信された BPDU のカウント数です。

  • channel OK count:同じ MAC アドレスで連続して送信された BPDU のカウント数です。

注: channel src count パラメータが増加しています。 この値が 75 を超えると、そのチャネルのすべてのリンクが error-disabled 状態になり、Syslog メッセージが発行されます。 2 つの出力例で示された MAC アドレスが異なっていることにも注目してください。

EtherChannel の誤設定の問題がある場合、次のエラー メッセージが CatOS の Syslog 出力にも表示されます。

%SPANTREE-2-CHNMISCFG: STP loop - channel 2/5-12 is disabled in vlan/instance 199

このメッセージは、EtherChannel タイプの設定(auto/desirable/on)が誤っている可能性があることを示しています。 誤った設定のチャネルが形成されると、スパニング ツリー ループが発生します。 メッセージの各部分は次のとおりです。

  • [dec] はモジュール番号

  • [chars] はポート番号

  • vlan [dec] は VLAN 番号

CatOS リリース 8.1 以降では、「%SPANTREE-2-CHNMISCFG2: BPDU」がエラー メッセージに付加されます。 MAC アドレスが Syslog に記録されるようになり、トラブルシューティングの際に簡単に確認できるため、このメッセージはトラブルシューティングに役に立ちます。

%SPANTREE-2-CHNMISCFG2: BPDU source mac addresses: [chars], [chars]

このメッセージは、SPANTREE-2-CHNMISCFG メッセージが表示された後に表示されます。 このメッセージには、チャネルが無効になるエラーを発生させた STP BPDU の送信元 MAC アドレスが含まれています。 このメッセージでは、[chars], [chars] が BPDU の送信元 MAC アドレスです。

Cisco IOS ソフトウェアでは、標準の STP トラブルシューティング手順を使用して、EtherChannel の不一致を検出する必要があります。 Syslog 出力にこのエラー メッセージが含まれている場合は、EtherChannel の誤設定の問題の可能性があります。

SPANTREE-2-CHNL_MISCFG: Detected loop due to etherchannel misconfiguration of [chars] 
 [chars]

このメッセージは、チャネル グループの誤設定が検出されたことを示しています。 たとえば、EtherChannel の片側のポートがチャネルに含まれるように設定されていない状態、つまりバンドルできなかったにもかかわらず、反対側のポートは正常にバンドルされている場合などです。 このメッセージで、[chars] はチャネル グループ ID です。

show interfaces status err-disabled コマンドを使用して、誤設定のローカル ポートを特定します。 リモート デバイスで show etherchannel summary コマンドを使用して、リモート デバイス上の EtherChannel 設定を確認します。 設定を修正したら、関連するポートチャネル インターフェイスで shutdown コマンド、続いて no shutdown コマンドを発行します。

STP の debug コマンド、およびトラブルシューティング方法の詳細は、『Cisco IOS システム ソフトウェアが稼働する Catalyst スイッチでの STP に関するトラブルシューティング』を参照してください。

関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 20625