Cisco インターフェイスとモジュール : ???????/????????

トラブルシューティング:イーサネット コリジョン(衝突)

2008 年 9 月 23 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2006 年 8 月 1 日) | フィードバック

目次

概要
前提条件
      要件
      使用するコンポーネント
      表記法
コリジョンとは
deferred カウンタ
collisions カウンタ
レイト コリジョン
過度のコリジョン
関連するシスコ サポート コミュニティ ディスカッション
関連情報

概要

このドキュメントでは、イーサネット コリジョンに関連するさまざまなカウンタの概要を示し、次の(プラットフォームに基づいた)エラー メッセージによってレポートされる、イーサネット コリジョンに関する障害のトラブルシューティング方法について説明しています。

  • %AMDP2_FE-5-COLL

  • %DEC21140-5-COLL

  • %ILACC-5-COLL

  • %LANCE-5-COLL

  • %PQUICC-5-COLL

  • %PQUICC_ETHER-5-COLL

  • %PQUICC_FE-5-COLL

  • %QUICC_ETHER-5-COLL

  • %AMDP2_FE-5-LATECOLL

  • %DEC21140-5-LATECOLL

  • %ILACC-5-LATECOLL

  • %LANCE-5-LATECOLL

  • %PQUICC-5-LATECOLL

  • %PQUICC_ETHER-5-LATECOLL

  • %PQUICC_FE-5-LATECOLL

  • %QUICC_ETHER-5-LATECOLL

  • %SIBYTE-4-SB_EXCESS_COLL

注:このドキュメントの情報が適用されるのは、半二重のイーサネットだけです。全二重イーサネットでは、コリジョン検出はディセーブルになっています。

前提条件

要件

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

使用するコンポーネント

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

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。対象のネットワークが実稼働中である場合には、どのような作業についても、その潜在的な影響について確実に理解しておく必要があります。

表記法

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

コリジョンとは

コリジョンとは、共有されたメディア上で同時にフレームを送信している端末の間で、アクセスを制御し、共有帯域幅を割り当てるために、イーサネットで使用されるメカニズムです。メディアが共有されているため、2 台の端末が同時にフレームを送信していることを検出できるメカニズムが必要となります。このメカニズムがコリジョン検出です。

イーサネットでは、コリジョン検出方式として、Carrier Sense Multiple Access/Collision Detect(CSMA/CD; キャリア検知多重アクセス/コリジョン検出)が使用されます。次に、イーサネットの動作の簡略化した例を示します。

eth_collisions.gif

  1. 端末 A がフレームを送信しようとしています。端末 A は最初に、メディアが使用可能であるかをチェックします(キャリア検知)。メディアが使用可能でない場合、端末 A は、現在メディアを使用している端末の送信が完了するまで待機します。

  2. 端末 A が、メディアが使用可能であると判断し、フレームを送信したと仮定します。メディアは共有されているため(多重アクセス)、他の端末が同時に送信する可能性があります。ここで、端末 B が端末 A と同時にフレームを送信したとします。

  3. 端末 A と端末 B はすぐに、他の端末がフレームを送信していることを認識します(コリジョン検出)。各端末は、再送信を実行する前に、待機状態になります。待機状態になる期間はランダムに決定されます。コリジョン後の時間がタイムスロットに分割され、端末 A と端末 B はそれぞれランダムなスロットを選択して再送を試みます。

  4. 端末 A と端末 B が同じスロットで再送を試みた場合、両端末はスロットの数を拡張します。続いて各端末は新しいスロットを選択するため、同じスロットで再送される確率が下がります。

つまりコリジョンとは、共有メディアへのアクセスを調停することにより、トラフィック負荷を徐々に分散する方法のことです。コリジョンは障害ではなく、イーサネットが適切に動作するために必要不可欠なものです。

有用な情報:

  • タイムスロットの最大数は 1024 に制限されています。

  • コリジョン メカニズムでは、同一フレームの最大再送信回数は 16 になっています。16 回連続して失敗すると、excessive collision(過度のコリジョン)としてカウントされます。

deferred カウンタ

show interface コマンドの出力例を次に示します。

router#show interface ethernet 0
Ethernet0 is up, line protocol is up 
  Hardware is Lance, address is 0010.7b36.1be8 (bia 0010.7b36.1be8)
  Internet address is 10.200.40.74/22
  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec, 
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:00, output 00:00:06, output hang never
  Last clearing of "show interface" counters never
  Input queue: 1/75/1/0 (size/max/drops/flushes); Total output drops: 0
  Queueing strategy: random early detection(RED)
  Output queue :0/40 (size/max)
  5 minute input rate 1000 bits/sec, 2 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     2058015 packets input, 233768993 bytes, 1 no buffer
     Received 1880947 broadcasts, 0 runts, 0 giants, 1 throttles
     3 input errors, 0 CRC, 0 frame, 0 overrun, 3 ignored
     0 input packets with dribble condition detected
     298036 packets output, 32280269 bytes, 0 underruns
     0 output errors, 10 collisions, 0 interface resets
     0 babbles, 0 late collision, 143 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out

deferred カウンタでは、インターフェイスがフレームを送信しようとしたものの、最初の試行時にキャリア ビジーが検出された(キャリア検知)回数がカウントされます。これによって障害が生じることはありません。これはイーサネットの正常な動作の一部です。

collisions カウンタ

show interface コマンドの別の出力例を次に示します。

router#show interface ethernet 0
Ethernet0 is up, line protocol is up 
  Hardware is Lance, address is 0010.7b36.1be8 (bia 0010.7b36.1be8)
  Internet address is 10.200.40.74/22
  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec, 
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:00, output 00:00:06, output hang never
  Last clearing of "show interface" counters never
  Input queue: 1/75/1/0 (size/max/drops/flushes); Total output drops: 0
  Queueing strategy: random early detection(RED)
  Output queue :0/40 (size/max)
  5 minute input rate 1000 bits/sec, 2 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     2058015 packets input, 233768993 bytes, 1 no buffer
     Received 1880947 broadcasts, 0 runts, 0 giants, 1 throttles
     3 input errors, 0 CRC, 0 frame, 0 overrun, 3 ignored
     0 input packets with dribble condition detected
     298036 packets output, 32280269 bytes, 0 underruns
     0 output errors, 10 collisions, 0 interface resets
     0 babbles, 0 late collision, 143 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out

前述したように、コリジョンによって障害が生じることはありません。collisions カウンタは、フレームの送信時に 1 回以上のコリジョンが発生したフレームの数をカウントします。

collisions カウンタは、次の show controller コマンドの出力に示されるように、single collisions(単一コリジョン)と multiple collisions(複数コリジョン)に分割可能です。

8 single collisions, 2 multiple collisions

つまり、(10 フレームの内の)8 フレームが 1 回のコリジョンで送信に成功し、残りの 2 フレームは、メディアへのアクセスを調停するため、複数のコリジョンが必要だったことになります。

コリジョン率(パケット出力数をコリジョン数で割った値)の増加は、障害の発生を意味しません。この値は、単にネットワークに高い負荷がかかったことを意味するだけです。たとえば、ネットワークに端末を追加したためにコリジョン率が上昇する場合があります。

「コリジョンは何回発生したら障害といえるか」という問いや、最大のコリジョン率に対して、決められた制限はありません。

つまり、collisions カウンタは、ネットワークのパフォーマンスや障害の分析に役立つ統計情報を提供するものではありません。

レイト コリジョン

コリジョン検出が正常に機能するために、コリジョン検出対象の時間は 512 ビットを処理する時間に制限されています。これは、イーサネットでは 51.2us(マイクロ秒)で、ファースト イーサネットでは 5.12us です。イーサネット端末の場合、コリジョンは送信開始後、最大 51.2 マイクロ秒、つまりフレームの 512 番目のビットまで検出できます。

フレームの 512 番目のビットを送信した後で端末がコリジョンを検出すると、レイト コリジョンとしてカウントされます。

レイト コリジョンは、次のようなエラー メッセージによってレポートされます。

%AMDP2_FE-5-LATECOLL: AMDP2/FE 0/0/[dec], Late collision 
%DEC21140-5-LATECOLL: [chars] transmit error 
%ILACC-5-LATECOLL: Unit [DEC], late collision error 
%LANCE-5-LATECOLL: Unit [DEC], late collision error 
%PQUICC-5-LATECOLL: Unit [DEC], late collision error 
%PQUICC_ETHER-5-LATECOLL: Unit [DEC], late collision error 
%PQUICC_FE-5-LATECOLL: PQUICC/FE([DEC]/[DEC]), Late collision    
%QUICC_ETHER-5-LATECOLL: Unit [DEC], late collision error

正確なエラー メッセージはプラットフォームによって異なります。レイト コリジョンの回数は、show interface ethernet [interface number] コマンドの出力でチェックできます。

router#show interface ethernet 0
Ethernet0 is up, line protocol is up 
  Hardware is Lance, address is 0010.7b36.1be8 (bia 0010.7b36.1be8)
  Internet address is 10.200.40.74/22
  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec, 
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:00, output 00:00:06, output hang never
  Last clearing of "show interface" counters never
  Input queue: 1/75/1/0 (size/max/drops/flushes); Total output drops: 0
  Queueing strategy: random early detection(RED)
  Output queue :0/40 (size/max)
  5 minute input rate 1000 bits/sec, 2 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     2058015 packets input, 233768993 bytes, 1 no buffer
     Received 1880947 broadcasts, 0 runts, 0 giants, 1 throttles
     3 input errors, 0 CRC, 0 frame, 0 overrun, 3 ignored
     0 input packets with dribble condition detected
     298036 packets output, 32280269 bytes, 0 underruns
     0 output errors, 10 collisions, 0 interface resets
     0 babbles, 0 late collision, 143 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out

注:レイト コリジョンをレポートしている端末は単に障害を指摘しているに過ぎず、多くの場合、障害の原因ではありません。一般に考えられる原因は、不適切なケーブル接続や、ネットワーク内にあるハブの数が規格を超えていることです。Network Interface Card(NIC; ネットワーク インターフェイス カード)の不良によってレイト コリジョンが起きる場合もあります。

過度のコリジョン

前述のように、バックオフ アルゴリズムではリトライの最大回数は 16 に設定されています。つまり、新たなコリジョンがなくて、インターフェイスがフレームを送信できるスロットの割り当てを 16 回連続で失敗した場合、その割り当てはキャンセルされるということです。そのフレームは送信されないだけでなく、excessive collision としてマークされます。

過度のコリジョンは、次のようなエラー メッセージによってレポートされます。

%AMDP2_FE-5-COLL: AMDP2/FE 0/0/[DEC], Excessive collisions, TDR=[DEC], TRC=[DEC]    
%DEC21140-5-COLL: [chars] excessive collisions 
%ILACC-5-COLL: Unit [DEC], excessive collisions. TDR=[DEC] 
%LANCE-5-COLL: Unit [DEC], excessive collisions. TDR=[DEC]    
%PQUICC-5-COLL: Unit [DEC], excessive collisions. Retry limit [DEC] exceeded    
%PQUICC_ETHER-5-COLL: Unit [DEC], excessive collisions. Retry limit [DEC] exceeded    
%PQUICC_FE-5-COLL: PQUICC/FE([DEC]/[DEC]), Excessive collisions, TDR=[DEC], TRC=[DEC]
%QUICC_ETHER-5-COLL: Unit [DEC], excessive collisions. Retry limit  [DEC] exceeded
%SIBYTE-4-SB_EXCESS_COLL : Excessive collisions on mac [dec] (count: [dec])

正確なエラー メッセージはプラットフォームによって異なります。

注:Transmit Retry Count(TRC; 送信リトライ回数)カウンタは、4 ビットのフィールドで、対象パケットの送信リトライ回数を示します。最大値は 15 です。ただし、リトライ エラーが発生した場合、この回数は 0 に戻ります。この場合だけ、TRC 値 0 は 16 を意味すると解釈する必要があります。TRC は、コントローラによってフレームの最後の送信記述子に書き込まれるか、またはエラーによってフレームの送信が終了したときに書き込まれます。

注:Time Delay reflectometer(TDR)カウンタは、送信開始からコリジョン発生までの時間(100 ナノセコンド(ns)単位)をカウントする内部カウンタです。送信されたフレームは 1 チックごとに約 35 フィート進むため、この値はケーブルの不良箇所までのおおよその距離を求める際に役立ちます。

過度のコリジョンの回数は、show controller ethernet [interface number] コマンドの出力でチェックできます。

router#show controller ethernet 0
LANCE unit 0, idb 0xFA6C4, ds 0xFC218, regaddr = 0x2130000, reset_mask 0x2
IB at 0x606E64: mode=0x0000, mcfilter 0000/0000/0100/0000
station address 0010.7b36.1be8  default station address 0010.7b36.1be8
buffer size 1524
RX ring with 16 entries at 0x606EA8
Rxhead = 0x606EC8 (4), Rxp = 0xFC244 (4)
00 pak=0x0FCBF4 Ds=0x60849E status=0x80 max_size=1524 pak_size=66
01 pak=0x10087C Ds=0x6133B6 status=0x80 max_size=1524 pak_size=66
02 pak=0x0FDE94 Ds=0x60BA7E status=0x80 max_size=1524 pak_size=203
03 pak=0x100180 Ds=0x611F82 status=0x80 max_size=1524 pak_size=66
04 pak=0x0FD09C Ds=0x609216 status=0x80 max_size=1524 pak_size=66
05 pak=0x0FE590 Ds=0x60CEB2 status=0x80 max_size=1524 pak_size=66
06 pak=0x100AD0 Ds=0x613A72 status=0x80 max_size=1524 pak_size=66
07 pak=0x0FD9EC Ds=0x60AD06 status=0x80 max_size=1524 pak_size=66
08 pak=0x0FF830 Ds=0x610492 status=0x80 max_size=1524 pak_size=348
09 pak=0x1003D4 Ds=0x61263E status=0x80 max_size=1524 pak_size=343
10 pak=0x0FEA38 Ds=0x60DC2A status=0x80 max_size=1524 pak_size=66
11 pak=0x100D24 Ds=0x61412E status=0x80 max_size=1524 pak_size=64
12 pak=0x0FC74C Ds=0x607726 status=0x80 max_size=1524 pak_size=64
13 pak=0x0FD798 Ds=0x60A64A status=0x80 max_size=1524 pak_size=66
14 pak=0x0FE7E4 Ds=0x60D56E status=0x80 max_size=1524 pak_size=64
15 pak=0x0FD2F0 Ds=0x6098D2 status=0x80 max_size=1524 pak_size=66
TX ring with 4 entries at 0x606F68, tx_count = 0
TX_head = 0x606F80 (3), head_txp = 0xFC294 (3)
TX_tail = 0x606F80 (3), tail_txp = 0xFC294 (3)
00 pak=0x000000 Ds=0x63491E status=0x03 status2=0x0000 pak_size=332
01 pak=0x000000 Ds=0x634FDA status=0x03 status2=0x0000 pak_size=327
02 pak=0x000000 Ds=0x630A9E status=0x03 status2=0x0000 pak_size=60
03 pak=0x000000 Ds=0x630A9E status=0x03 status2=0x0000 pak_size=60
3 missed datagrams, 0 overruns
0 transmitter underruns, 0 excessive collisions
8 single collisions, 2 multiple collisions
0 dma memory errors, 0 CRC errors
 
0 alignment errors, 0 runts, 0 giants
0 tdr, 0 spurious initialization done interrupts
0 no enp status, 0 buffer errors, 0 overflow errors
0 TX_buff, 1 throttled, 1 enabled
Lance csr0 = 0x73

過度のコリジョンは、何らかの障害を示しています。一般的な原因としては、共有イーサネットにデバイスが全二重で接続されている、NIC で障害が発生している、単に共有メディア上の端末数が多すぎる、などがあります。過度のコリジョンは、速度とデュプレックスのハードコーディングで解決できます。

サービス内部モードがオンの場合、Cisco Catalys スイッチでは過度のコリジョンが発生するたびに %SIBYTE-4-SB_EXCESS_COLL システム メッセージが表示されます。サービス内部モードがオフの場合、過度のコリジョンが特定の固定しきい値に到達した場合にだけ、このメッセージが表示されます。この場合のこのメッセージの表示が、実際のコリジョンの状況を示していると考えられます。サービス内部モードがオンの場合、過度のコリジョンのインスタンスが 1 つ発生するたびにこのメッセージが表示されます。これはハードウェア ノイズが原因である可能性があります。サービス内部モードがオンの場合に発生することがあるこのメッセージの表示は、正常な動作です。このロギングをオフにして、エラー ログにどのような影響があるのかを確認するには、no service internal コマンドを発行することができます。


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

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


関連情報


Document ID: 12768