セキュリティ : Cisco ASA 5500-X シリーズ次世代型ファイアウォール

適応型セキュリティ アプライアンスのインターフェイス オーバーラン カウンタ エラー

2015 年 11 月 26 日 - 機械翻訳について
その他のバージョン: PDFpdf | 英語版 (2015 年 8 月 22 日) | フィードバック


目次


概要

このドキュメントでは、「overrun」エラー カウンタ、およびネットワークのパフォーマンスの問題またはパケット損失の問題を調査する方法について説明します。 管理者は適応型セキュリティ アプライアンス(ASA)の show interface コマンドの出力に表示されるエラーに気付く場合があります。

注: Rama Darbha、Jay Johnston、および Andrew Ossipov、Cisco TAC エンジニア

前提条件

要件

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

使用するコンポーネント

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

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

表記法

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

問題の説明

ASA インターフェイスのエラー カウンタ「overrun」は、ネットワーク インターフェイスでパケットが受信されたにもかかわらず、インターフェイス FIFO キューにパケットを保存するために使用可能なスペースがなかった回数を追跡します。 そのため、パケットは破棄されます。 このカウンタの値は、show interface コマンドで確認できます。

問題を表示する出力例:

ASA# show interface GigabitEthernet0/1
Interface GigabitEthernet0/1 "inside", is up, line protocol is up
  Hardware is i82546GB rev03, BW 1000 Mbps, DLY 10 usec
        Full-Duplex(Full-duplex), 1000 Mbps(1000 Mbps)
        Input flow control is unsupported, output flow control is off
        MAC address 0026.0b31.0c59, MTU 1500
        IP address 10.0.0.113, subnet mask 255.255.0.0
        580757 packets input, 86470156 bytes, 0 no buffer
        Received 3713 broadcasts, 0 runts, 0 giants       
        2881 input errors, 0 CRC, 0 frame, 2881 overrun, 0 ignored, 0 abort
        0 pause input, 0 resume input
        0 L2 decode drops
        905828 packets output, 1131702216 bytes, 0 underruns
        0 pause output, 0 resume output
        0 output errors, 0 collisions, 0 interface resets
        0 late collisions, 0 deferred
        0 input reset drops, 0 output reset drops, 0 tx hangs
        input queue (blocks free curr/low): hardware (255/230)
        output queue (blocks free curr/low): hardware (255/202)

上記の例では、ASA の起動後またはカウンタを手動で削除するコマンド clear interface の入力後、2881 回のオーバーランがインターフェイスで確認されています。

インターフェイス オーバーランの原因

通常、インターフェイス オーバーランのエラーは、次の要因の組み合わせによって発生します。

  • ソフトウェア レベル:ASA ソフトウェアがインターフェイス FIFO キューのパケットを取り出す速度が遅すぎます。 これにより FIFO キューがいっぱいになり、新しいパケットが廃棄されてしまいます。

  • ハードウェア レベル:パケットがインターフェイスに到着する速度が速すぎるため、ASA ソフトウェアがパケットを引き出す前に FIFO キューがいっぱいになってしまいます。 通常、パケットのバーストは FIFO キューが短時間で最大容量までいっぱいになる原因となります。

インターフェイス オーバーランの原因をトラブルシューティングする手順

この問題のトラブルシューティングを行い、対処する手順は次のとおりです。

  1. ASA で CPU ホグが発生しているかどうか、また CPU ホグが問題の一因となっているかどうかを確認します。 長期的または頻繁な CPU ホグを緩和するように努めてください。

  2. インターフェイスのトラフィック レートを理解し、ASA がトラフィック プロファイルによってオーバーサブスクライブされたのかどうかを確認します。

  3. 断続的なトラフィック バーストが原因で問題が発生するかどうかを確認します。 その場合、ASA インターフェイスおよび隣接スイッチポートでフロー制御を実装します。

考えられる原因と解決方法

ASA の CPU が着信パケット(CPU Hog)を処理するために定期的に過度のビジー状態になる

ASA プラットフォームはソフトウェアのすべてのパケットを処理し、着信パケットを処理するためにすべてのシステム機能(syslog、Adaptive Security Device Manager 接続、アプリケーション検査など)を処理するメイン CPU コアを使用します。 ソフトウェアのプロセスによって CPU が必要以上に長く保持される場合、プロセスが CPU を「ホグ状態」にするため、ASA で CPU ホグ イベントとして記録されます。 CPU ホグのしきい値はミリ秒単位で設定されており、各ハードウェア アプライアンス モデルによって異なります。 しきい値は、ハードウェア プラットフォームの CPU 処理能力とデバイスが処理できる潜在的なトラフィック レートを考慮して、インターフェイス FIFO キューがいっぱいになるまでにどのくらいの時間がかかるかに基づいています。

CPU ホグは 5505、5510、5520、5540、および 5550 などのシングルコア ASA でのインターフェイス オーバーラン エラーの原因となる場合があります。 100 ミリ秒以上にわたる長いホグでは、比較的低いトラフィック レベルおよび非バースト トラフィック レートにおいて特にオーバーランが発生する可能性があります。 この問題は、いずれかの CPU コアがプロセスによってホグ状態になっても、その他のコアが Rx リングのパケットを引き出せるため、マルチコア システムでは大きく影響しません。

デバイスのしきい値を超えるホグは、次に示すように ID 711004 で syslog を生成します。

Feb 06 2013 14:40:42: %ASA-4-711004: Task ran for 60 msec, Process = ssh, 
   PC = 90b0155, Call stack = 
Feb 06 2013 14:40:42: %ASA-4-711004: Task ran for 60 msec, Process = ssh, 
   PC = 90b0155, Call stack = 0x090b0155 0x090bf3b6 0x090b3b84 0x090b3f6e 0x090b4459 
   0x090b44d6 0x08c46fcc 0x09860ca0 0x080fad6d 0x080efa5a 0x080f0a1c 0x0806922c

また、CPU ホグ イベントはシステムによって記録されます。 show proc cpu-hog コマンドの出力は、次のフィールドを表示します。

  • Process:CPU をホグ状態にしたプロセスの名前。

  • PROC_PC_TOTAL:このプロセスが CPU をホグ状態にした合計回数。

  • MAXHOG:そのプロセスにおいて、発生した最も長い CPU ホグのミリ秒単位の時間。

  • LASTHOG:最後のホグが CPU を保持したミリ秒単位の時間。

  • LASTHOG At:CPU ホグが最後に発生した時間。

  • PC:CPU ホグ発生時のプロセスのプログラム カウンタ値。 (Cisco Technical Assistance Center(TAC)向けの情報)

  • Call stack:CPU ホグ発生時のプロセスのコール スタック。 (Cisco TAC 向けの情報)

この例では、show proc cpu-hog コマンドの出力を示します。

ASA# show proc cpu-hog

Process:      ssh, PROC_PC_TOTAL: 1, MAXHOG: 119, LASTHOG: 119
LASTHOG At:   12:25:33 EST Jun 6 2012
PC:           0x08e7b225 (suspend)

Process:      ssh, NUMHOG: 1, MAXHOG: 119, LASTHOG: 119
LASTHOG At:   12:25:33 EST Jun 6 2012
PC:           0x08e7b225 (suspend)
Call stack:   0x08e7b225  0x08e8a106  0x08e7ebf4  0x08e7efde  0x08e7f4c9  0x08e7f546  
              0x08a7789c  0x095a3f60  0x080e7e3d  0x080dcfa2  0x080ddf5c  0x0806897c

CPU hog threshold (msec): 10.240
Last cleared: 12:25:28 EST Jun 6 2012
ASA# 

ASA SSH プロセスによって、2012 年 6 月 6 日の 12:25:33 EST に 119 ミリ秒の間 CPU が専有されました。

インターフェイスでオーバーラン エラーが継続的に増加する場合は、CPU ホグ イベントがインターフェイス オーバーラン カウンタの増加との相関関係があるかどうかを調べるために show proc cpu-hog コマンドの出力を確認します。 CPU ホグによってインターフェイス オーバーラン エラーが発生していることが判明した場合は、Bug Toolkit登録ユーザ専用)を使用してバグを探すか、または Cisco TAC でケースを提起するのが最適です。 show tech-support command コマンドの出力には、show proc cpu-hog コマンドの出力も含まれます。

処理されるトラフィック プロファイルが定期的に ASA をオーバーサブスクライブする

トラフィック プロファイルによっては、ASA を通過するトラフィックが処理するには多過ぎるため、オーバーランが発生する場合があります。

トラフィック プロファイルは、(その他の要素に加えて)次のもので構成されます。

  • パケット サイズ

  • パケット間のギャップ(パケット レート)

  • プロトコル:一部のパケットは ASA のアプリケーション検査の対象となり、他のパケットよりも多くの処理が必要です。

次の ASA 機能は、ASA のトラフィック プロファイルの識別に使用することができます。

  • NetFlow:ASA は NetFlow コレクタに NetFlow バージョン 9 レコードをエクスポートするように設定できます。 その後、トラフィック プロファイルの詳細を理解するために、このデータを分析できます。

  • SNMP:ASA インターフェイスのトラフィック レート、CPU、接続速度と変換レートを追跡するために、SNMP モニタリングを使用します。 その後、トラフィック パターンが時間の経過とともにどのように変化するかを理解するために、この情報を分析できます。 オーバーランの増加と相関関係のあるトラフィック レートの上昇があるかどうか、そのトラフィックの上昇の原因を調べてみてください。 TAC ではネットワークのデバイスが誤動作し(設定ミスやウイルス感染が原因で)、トラフィックのフラッディングが定期的に生成される問題が報告されています。

断続的なパケット バーストによる ASA インターフェイス FIFO キューのオーバーサブスクライブ

CPU が FIFO からパケットを引き出す前に、NIC に到着するパケットのバーストにより FIFO がいっぱいになる可能性があります。 通常、この問題を解決するためにできることは多くはありませんが、トラフィック バーストの均等化するネットワーク内の QoS の使用や ASA および隣接スイッチ ポートでのフロー制御により軽減できます。

フロー制御は、短い間トラフィックの送信を停止するように通知するために、ASA インターフェイスが隣接デバイス(たとえばスイッチポート)にメッセージを送信できるようにする機能です。 これは FIFO が特定の上限に達すると実行されます。 ある程度まで FIFO が解放されたら、ASA NIC は再開フレームを送信し、スイッチポートはトラフィックの送信を続行します。 通常、隣接するスイッチポートにはより多くのバッファ スペースがあり、受信方向側で ASA が処理するよりも送信時にパケットのバッファリングに優れているため、この方法が適切です。

トラフィックのマイクロバーストを検出するように、ASA のキャプチャをイネーブルにすることを試みることはできますが、ASA によって処理されてメモリのキャプチャに追加される前にパケットが廃棄されるため、通常は有効ではありません。 外部スニファでトラフィック バーストをキャプチャして識別することもできますが、外部スニファがバーストによって圧倒される場合もあります。

インターフェイス オーバーランを緩和するためにフロー制御をイネーブルにする

フロー制御機能は 10GE インターフェイスではバージョン 8.2(2) 以降、1GE インターフェイスではバージョン 8.2(5) 以降の ASA に追加されています。 オーバーランが発生する ASA インターフェイスでフロー制御をイネーブルにする機能は、パケット廃棄の発生を防ぐ有効な技術であることが証明されます。

詳細については、『Cisco ASA 5500 シリーズ コマンド リファレンス 8.2 のフロー制御機能』を参照してください。

http://www.cisco.com/c/dam/en/us/support/docs/security/asa-5500-x-series-next-generation-firewalls/115985-asa-overrun-product-tech-note-01.png

(図の引用元:Andrew Ossipov の Cisco Live プレゼンテーション BRKSEC-3021)

「output flow control is on」は、ASA によってフロー制御のポーズ フレームが ASA インターフェイスから隣接デバイス(スイッチ)に送信されることを意味することに注意してください。 「Input flow control is unsupported」は、ASA が隣接デバイスからのフロー制御フレームの受信をサポートしないことを意味します。

フロー制御の設定例:

interface GigabitEthernet0/2
 speed 1000
 duplex full
 flowcontrol send on
 nameif DMZ interface
 security-level 50
 ip address 10.1.3.2 255.255.255.0
!

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

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


関連情報


Document ID: 115985