内容

概要

このドキュメントでは、Cisco 12000 シリーズ インターネット ルータ上の show interface コマンドの出力に表示される入力ドロップ数の増加をトラブルシューティングする方法について説明します。

前提条件

要件

このドキュメントの読者は次のトピックについての専門知識を有している必要があります。

使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。

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

表記法

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

症状

最も一般的な症状は、入力ドロップ数の増加です。Cisco 12000シリーズインターネットルータのshow interfacesコマンドの出力に、入力廃棄の数が表示されます。show interfacesコマンドの出力例を次に示します。

Router#show interface Gig2/0
GigabitEthernet2/0 is up, line protocol is up
  Hardware is GigMac 3 Port GigabitEthernet, address is 0003.fd1a.9040
(bia 0003.fd1a.9040)
  Internet address is 203.177.3.21/24
  MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec, rely 255/255, load 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  Full-duplex mode, link type is force-up, media type is SX
  output flow-control is unsupported, input flow-control is off
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:00, output 00:00:00, output hang never
  Last clearing of "show interface" counters 00:55:39
  Queueing strategy: fifo
  Output queue 0/40, 0 drops; input queue 27/75, 954 drops  
  
!--- Here are the input drops.

  5 minute input rate 3000 bits/sec, 5 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     7167 packets input, 601879 bytes, 0 no buffer
     Received 2877 broadcasts, 0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 watchdog, 3638 multicast, 0 pause input
     992 packets output, 104698 bytes, 0 underruns
     0 output errors, 0 collisions, 1 interface resets
     0 babbles, 0 late collision, 0 deferred
     1 lost carrier, 21992 no carrier, 0 pause output
     0 output buffer failures, 0 output buffers swapped out

10秒ごとにshow interfacesコマンドを実行して、入力キューのドロップカウンタが増加するかどうかを確認します。

パケットがルータに入ると、ルータは割り込みレベルでパケットの転送を試みます。ルータが適切なキャッシュテーブルで一致を見つけられない場合、ルータは着信インターフェイスの入力キューにパケットをキューイングし、後でパケットを処理します。ルータは常にいくつかのパケットを処理します。ただし、処理されたパケットのレートは、適切な設定で安定したネットワークの入力キューを輻輳させることはありません。入力キューがいっぱいになると、ルータはパケットをドロップします。

出力例では、ルータがドロップするパケットを正確に特定することはできません。入力キューのドロップをトラブルシューティングするには、入力キューに入っているパケットを見つける必要があります。この出力例は、インターフェイスGigabitEthernet2/0の入力キューで27個のパケットが待機していることを示しています。キューの深さは75個のパケットで、インターフェイスカウンタを最後にクリアした後に954個の廃棄が発生しています。

トラブルシュート

大量のルートをクリアするネットワークでは、入力キューのドロップによって次のことが発生する可能性があります。

特に大規模なサービスプロバイダーネットワークでは、多数のインターフェイスまたはルートをサポートするシステムでは、デフォルト値は不十分です。ボーダーゲートウェイプロトコル(BGP)を1回クリアすると、同じインターフェイス上で数千もの入力キューが廃棄されることがあります。入力ドロップが大きくなると、コンバージェンス時間が著しく低下する可能性があります。

このような状況を回避するには、次の手順を実行します。

  1. spd headroom 1000グローバコマンドを使用して、Selective Packet Discard(SPD)ヘッドルームを増やします。

    SPDヘッドルームのデフォルト値は100です。spd headroomコマンドは、通常の入力保留キュー制限を超えてキューイングできる高優先順位パケットの数を指定します。優先順位の高いパケットには、ルーティングプロトコルのアップデートや、レイヤ2キープアライブやIS-IS helloなどの重要な制御トラフィックが含まれます。この値を指定すると、着信する高優先順位パケットの余地が確保されます。Cisco IOSソフトウェアリリース12.0(22)S以降では、Cisco 12000シリーズインターネットルータのSPDヘッドルームのデフォルト値は1000です。show ip spdコマンドを使用して値を確認します。

  2. 各インターフェイスにhold-queue 1500を使用して、インターフェイスのホールドキュー値を増やします。デフォルト値は 75 です。

このドキュメントで前述したように、ルータ宛てのパケットだけが入力キューに到達します。ギガビットルートプロセッサ(GRP)は、パケットの処理方法を決定する必要があります。すべてのパケットがプロセススイッチングされます。したがって、パケットは低速パスを使用します。通常、Cisco 12000ルータスイッチがラインカード経由でDistributed Cisco Express Forwarding(dCEF)を使用するすべてのパケット。このプラットフォームは、スイッチング方式としてdCEFのみをサポートします。

ルータに多数のピアがある場合、ボーダーゲートウェイプロトコル(BGP)コンバージェンス中にドロップが発生することがあります。ただし、GRPが一部のパケットを調べる必要がある理由は数多くあります。理由の一部を次に示します。

show interfaces statコマンドを使用して、プロセス交換パケットがあるかどうかを確認します。

Cisco 12000ルータがまだ稼働中でない場合は、一部のdebugコマンドを有効にできます。debugコマンドを使用すると、GRPが受信するパケットの種類に関する詳細情報をキャプチャできます。debug ip packetの出力は非常に便利です。ただし、このコマンドはハング、クラッシュ、または同様の問題によってルータの動作に影響を与える可能性があるため、このコマンドには十分に注意してください。コンソールログを無効にして、コンソールポートへのメッセージのバーストを回避します。ログバッファを有効にして、debugコマンドの出力を後で確認できるバッファにリダイレクトします。バッファを表示するには、show loggingコマンドを使用します。デバッグ出力を絞り込むために、アクセスリストを指定することもできます。アクセスリストを指定するには、次の設定を使用します。

no logging console
logging buffer 128000
debug ip packet <ACL #> 

!--- Warning: !--- Be aware that this configuration on a production router can damage the box.

undebug all (after 5-10 seconds)

このdebugコマンドを使用すると、GRPが受信するすべてのプロセス交換パケットを確認できます。または、show buffers input-interface [interface type] [interface number] headerコマンドを使用して、入力キューがいっぱいになるパケットのタイプを識別できます。

注:このコマンドは、入力キューに大量のパケットが含まれている場合にのみ便利です。

      Router#show buffers input-interface serial 0/0
       Buffer information for Small buffer at 0x612EAF3C
         data_area 0x7896E84, refcount 1, next 0x0, flags 0x0
         linktype 7 (IP), enctype 0 (None), encsize 46, rxtype 0
         if_input 0x6159D340 (FastEthernet3/2), if_output 0x0 (None)
         inputtime 0x0, outputtime 0x0, oqnumber 65535
         datagramstart 0x7896ED8, datagramsize 728, maximum size 65436
         mac_start 0x7896ED8, addr_start 0x7896ED8, info_start 0x0
         network_start 0x7896ED8, transport_start 0x0
         source: 212.176.72.138, destination: 212.111.64.174, id: 0xAAB8, 
         ttl: 118, prot: 1
       Buffer information for Small buffer at 0x612EB1D8
         data_area 0x78A6E64, refcount 1, next 0x0, flags 0x0
         linktype 7 (IP), enctype 0 (None), encsize 46, rxtype 0
         if_input 0x6159D340 (FastEthernet3/2), if_output 0x0 (None)
         inputtime 0x0, outputtime 0x0, oqnumber 65535
         datagramstart 0x78A6EB8, datagramsize 728, maximum size 65436
         mac_start 0x78A6EB8, addr_start 0x78A6EB8, info_start 0x0
         network_start 0x78A6EB8, transport_start 0x0
         source: 212.176.72.138, destination: 212.111.64.174, id: 0xA5B8, 
         ttl: 118, prot: 1

多くの場合、同じタイプのパケットが大量に存在します。たとえば、サンプル出力は、多数のICMPパケット(IPプロトコル1)を示しています。

注:debugコマンドまたはshow buffers input-interfaceコマンドの出力にパターンが表示されない場合は、ルータの設定が正しくない可能性が高いと考えられます。

注:詳細は、「入力キュードロップと出力キュードロップのトラブルシューティング」を参照してください

debug ip packet detailコマンドの出力、または「Troubleshooting Input Queue Drops and Output Queue Drops」で説明されているように、適切なアクションを実行します。詳細な例については、「ケーススタディ」セクションを参照してください。

ケース スタディ

Cisco 12000ルータのインターフェイスをチェックすると、インターフェイスが着信パケットをドロップしていることがわかります。その結果、入力ドロップカウンタの値が定期的に増加します。たとえば、次の出力例を考えてみます。

Router#show interface Gig2/0
GigabitEthernet2/0 is up, line protocol is up 
Hardware is GigMac 3 Port GigabitEthernet, address is 0003.fd1a.9040
(bia 0003.fd1a.9040)
  Internet address is 203.177.3.21/24
  MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec, rely 255/255, load 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  Full-duplex mode, link type is force-up, media type is SX
  output flow-control is unsupported, input flow-control is off
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:00, output 00:00:00, output hang never
  Last clearing of "show interface" counters 00:55:39
  Queueing strategy: fifo
  Output queue 0/40, 0 drops; input queue 27/75, 954 drops  

 !--- This is the input drops counter value.

  5 minute input rate 3000 bits/sec, 5 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     7167 packets input, 601879 bytes, 0 no buffer
     Received 2877 broadcasts, 0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 watchdog, 3638 multicast, 0 pause input
     992 packets output, 104698 bytes, 0 underruns
     0 output errors, 0 collisions, 1 interface resets
     0 babbles, 0 late collision, 0 deferred
     1 lost carrier, 21992 no carrier, 0 pause output
     0 output buffer failures, 0 output buffers swapped out

show interfacesコマンドの出力に、一部の入力ドロップが表示されます。このコマンドを10秒ごとに発行すると、入力キューのドロップカウンタが増加するかどうかを確認できます。

show interface statコマンドを使用して、プロセス交換パケットが存在するかどうかを確認します。

Router#show interfaces stat
.....
GIG2/0
          Switching path    Pkts In   Chars In   Pkts Out  Chars Out           
               Processor      45354    1088496          0          0
           !--- Here are the packets that are process-switched (sent to the GRP)
             Route cache          0          0          0          0
         Distributed cef          0          0       8575     207958
                   Total      45354    1088496       8575     207958
....

Cisco 12000ルータがまだ実稼動中でない場合は、debugコマンドを有効にして、GRPが受信するパケットのタイプに関する詳細情報をキャプチャできます。debug ip packetコマンドの出力は興味深いです。このdebugコマンドを使用すると、GRPが受信するすべてのプロセス交換パケットを確認できます。しばらくしてshow loggingコマンドを発行します。

Router#show log
 Syslog logging: enabled (0 messages dropped, 0 flushes, 0 overruns)
 Console logging: disabled
 Monitor logging: level debugging, 1110 messages logged
 Logging to: vty2(572) vty3(538)
 Buffer logging: level debugging, 107 messages logged
 Trap logging: level informational, 162 message lines logged
 Log Buffer (10000 bytes):
 *Jan 13 08:03:51.550: %SYS-5-CONFIG_I: Configured from console by vty2 (144.254.2.215)
 1w5d: IP: s=203.177.3.21 (local), d=144.254.2.215 (GigabitEthernet2/0), len 79,
 sending
 1w5d: IP: s=203.177.3.62 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable
 1w5d: IP: s=0.0.0.0 (GigabitEthernet2/0), d=255.255.255.255, len 328, rcvd 2
 1w5d: IP: s=203.177.3.15 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable
 1w5d: IP: s=144.254.2.215 (GigabitEthernet2/0), d=203.177.3.21 (GigabitEthernet2/0), 
  len 40, rcvd 3
 1w5d: IP: s=203.177.3.1 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable
 1w5d: IP: s=203.177.3.2 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable
 1w5d: IP: s=203.177.3.10 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable
 1w5d: IP: s=203.177.3.6 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable
 1w5d: IP: s=203.177.3.8 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable
 1w5d: IP: s=203.177.3.62 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable
 1w5d: IP: s=203.177.3.1 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable
 1w5d: IP: s=203.177.3.15 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable
 1w5d: IP: s=203.177.3.8 (GigabitEthernet2/0), d=224.0.0.10, len 69, unroutable
 1w5d: IP: s=203.177.3.2 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable
 1w5d: IP: s=203.177.3.10 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable
 1w5d: IP: s=203.177.3.8 (GigabitEthernet2/0), d=224.0.0.10, len 89, unroutable
 1w5d: IP: s=203.177.3.6 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable
 1w5d: IP: s=203.177.3.8 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable
 1w5d: IP: s=203.177.3.62 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable
 1w5d: IP: s=203.177.3.15 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable
 1w5d: IP: s=203.177.3.1 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable
 1w5d: IP: s=144.254.2.215 (GigabitEthernet2/0), d=203.177.3.21 (GigabitEthernet2/0), 
  len 41, rcvd 3
 1w5d: IP: s=203.177.3.21 (local), d=144.254.2.215 (GigabitEthernet2/0), len 41,
 sending
 1w5d: IP: s=203.177.3.2 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable
 1w5d: IP: s=203.177.3.10 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable
 1w5d: IP: s=144.254.2.215 (GigabitEthernet2/0), d=203.177.3.21 (GigabitEthernet2/0), 
  len 41, rcvd 3
 1w5d: IP: s=203.177.3.21 (local), d=144.254.2.215 (GigabitEthernet2/0), len 41,
 sending
 1w5d: IP: s=203.177.3.8 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable
 1w5d: IP: s=203.177.3.6 (GigabitEthernet2/0), d=224.0.0.10, len 60, unroutable
 1w5d: IP: s=144.254.2.215 (GigabitEthernet2/0), d=203.177.3.21 (GigabitEthernet2/0), 
  len 43, rcvd 3
 1w5d: IP: s=203.177.3.21 (local), d=144.254.2.215 (GigabitEthernet2/0), len 41,
 sending
 1w5d: IP: s=203.177.3.21 (local), d=144.254.2.215 (GigabitEthernet2/0), len 41,
 sending

この例では、GigabitEthernet2/0インターフェイスが多数のEnhanced Interior Gateway Routing Protocol(EIGRP)パケットを受信します。EIGRPはマルチキャストアドレス224.0.0.10を使用しますが、このようなパケットを処理するようにルータを設定していません。したがって、ルータはこれらのパケットをGRPに送信します。GRPではパケットの処理が十分に速いため、GRPではパケットの廃棄が決定されます。

GRPがこれらのEIGRPパケットを受信しないようにするため、次のいずれかの操作を実行できます。

Cisco IOS ソフトウェアの不具合

Cisco IOSソフトウェアの不具合により、入力ドロップ数が増加することがあります。たとえば、Cisco IOSソフトウェアリリース12.0(11)Sでは、Cisco 12000シリーズインターネットルータは、アカウンティングの問題のために入力ドロップカウンタを誤って増加させます。輻輳中に廃棄されたパケットの数が出力に正しく反映されません。すべてのインターフェイスでこの問題が示されている可能性がありますが、この問題はインターフェイスのサービスや機能には影響しません。既知の回避策はありません。

修正されたバグを排除するために、最新の利用可能なCisco IOSソフトウェアリリースを確実にトレインで実行してください。その後もドロップが発生する場合は、からサービスリクエストを開きます。

関連情報