ルータ : Cisco 12000 シリーズ ルータ

Cisco 12000 シリーズ インターネット ルータでのアクセス リストの実装

2003 年 6 月 24 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2007 年 2 月 19 日) | フィードバック

目次

概要
はじめに
     表記法
     前提条件
     使用するコンポーネント
Cisco 12000 シリーズ インターネット ルータにおける ACL サポートの概要
     ASIC ベースの ACL と CPU ベースの ACL
制御および管理プレーン フィルタリング
     IP 受信パス ACL の設定
ラインカード タイプごとの IPv4 ACL サポート
     Engine 0 - ACL 処理
     Engine 1 - ACL 処理
     Engine 2 - ACL 処理
     IP Services Engine(ISE; IP サービス エンジン)Engine 3 - ACL 処理
     Engine 4(POS)- ACL 処理
     Engine 4+(POS および DPT)- ACL 処理
     Engine 4+(イーサネット)- ACL 処理
ACL ロギング
IPv4 出力 ACL - ラインカード相互運用マトリックス
IPv6 ACL サポート
Cisco 12000 ACL コマンド リファレンス
用語集
関連するシスコ サポート コミュニティ ディスカッション
関連情報

概要

この文書では、Cisco 12000 シリーズ インターネット ルータでの Access Control List(ACL; アクセス コントロール リスト)のサポートについて説明しています。

はじめに

表記法

文書表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

前提条件

この文書は、シスコ ルータにおける ACL の機能に関する基本的な知識のある読者を対象としています。

ACL とそのアプリケーションに関する一般情報については、次の文書を参照してください。

使用するコンポーネント

この文書の情報は、次のハードウェアのバージョンに基づいています。

  • Cisco 12000 シリーズ インターネット ルータ

この文書で紹介する情報は、特定のラボ環境にあるデバイスを使用して作成されました。この文書で使用するすべてのデバイスは、クリアな状態(デフォルト)から設定作業を始めています。実稼動中のネットワークで作業する場合は、コマンドの実行によって生じる影響について、事前に理解しておいてください。

Cisco 12000 シリーズ インターネット ルータにおける ACL サポートの概要

Cisco 12000 シリーズ インターネット ルータでは、ACL はハードウェア(Application-Specific Integrated Circuit - ASIC; 特定用途向け集積回路)またはソフトウェア(ラインカードの CPU)で処理したり、ハードウェアの支援を伴ってソフトウェアで処理すること(ハイブリッド機能)が可能です。 ACL がハードウェアまたはソフトウェアのどちらで処理されるかは、ACL アプリケーション、ラインカード エンジンのタイプ、および他のラインカードにおける ACL からのインタラクションによって異なります。

Cisco 12000 シリーズのラインカード エンジンには、さまざまな ACL 機能が用意されています。 特定のラインカード エンジンの ACL サポート情報については、この文書の該当セクションを参照してください。

注:IP マルチキャスト ACL は、Cisco IOS(R) ソフトウェア リリース 12.0S ではサポートされていません。  IP マルチキャスト境界機能は、マルチキャスト フィルタリングが必要な場合に使用できます。 詳細については、『Cisco IOS ソフトウェア リリース 12.0S マルチキャストの設定に関する文書』を参照してください。

ASIC ベースの ACL と CPU ベースの ACL

Cisco 12000 では、あらゆる世代の ACL 処理がサポートされています。 これらの処理モードのそれぞれがどのように機能し、対話し、互いをサポートするかについてのしくみを理解することは、Cisco 12000 で ACL を効果的に使用するためには重要なことです。

初期世代の ACL 処理では、プログラマブル CPU を使用して ACL を処理していました。 やがて、パケット/秒(PPS)処理の要件が、新しい CPU の能力を超えるようになりました。 このため ASIC が開発され、ルータの転送と機能の能力でさらに高い PPS レートが達成されるようになりました。 Line Card(LC; ラインカード)の CPU で処理されていた ACL は、LC ASIC で処理されるようになりました。 ASIC は、より高い PPS レートを処理するために進化し続けました。 このような第 2 世代 ASIC は、元の世代の先駆的な研究に基づいて構築されており、さらに多くの ASIC 機能が提供されています。 Cisco 12000 は分散ルーティング プラットフォームなので、さまざまな世代の ACL 処理間のインタラクションによって運用上の混乱が生じる可能性があります。

acl_12000a.gif

ASIC ベースの ACL、CPU ベースの ACL、高速パス、低速パス、ASIC パントなどの用語は、この文書全般で、ACL 処理では何が行われているかを説明するために使用されています。 次に、これらの用語について説明します。

  • ASIC ベースの ACL(高速パス)- ACL は ASIC ハードウェアにロードされて処理されます。 ASIC のパフォーマンス エンベロープにより、ACL の深さ、パフォーマンス、およびケイパビリティが決まります。 高速パスという用語は、ASIC ベースの処理と LC をサポートする CPU で行われた処理との間の相違を示すために、パスで使用されています。 この文書では、より一般的な用語である「ASIC ベース」を使用しています。

  • CPU ベースの ACL(低速パス)- ACL はラインカードの CPU でソフトウェア処理されます。 初期世代のカード(Engine 0 および場合によっては Engine 1)では、すべての処理が LC の CPU で行われます。 ASIC ベースの LC では、ASIC からパントされたパケットで ACL 処理が実行されます。 低速パスという用語は、以前は、LC の CPU へのパントが ASIC よりもどれだけ低速であるかを示すために使用されていました。 この文書では、より一般的な用語である「CPU ベース」を使用しています。

  • ASIC パント - ASIC には厳密な設計エンベロープがあります。 パケットが設計エンベロープを超えた場合、そのパケットは LC をサポートする CPU で処理されるように ASIC からパントされるか、または Route Processor(RP; ルート プロセッサ)に送信されます。 ASIC ベースの ACL は、ASIC の設計にあてはまらないパケットをパントします。 例として、log または log-input キーワードを使用する ACE が備わった ACL があります。 パケットをログするために必要な情報は ASIC の外部で処理する必要があるため、このパケットは ASIC から LC の CPU に自動的にパントされ、通常の CPU ベースの ACL と同様に処理されます。

制御および管理プレーン フィルタリング

ルータ プロセッサは、Cisco 12000 シリーズの分散アーキテクチャで制御および管理プレーン サービスを提供します。 受信パス ACL には、ルート プロセッサが宛先になっている制御と管理トラフィックに対する単純な分散フィルタリング機能が備わっています。 これは、分散アーキテクチャの長所を利用する新しいセキュリティ層として論理的に表示できます。

IP 受信パス ACL の設定

受信パス ACL(rACL)は、Cisco IOS ソフトウェア リリース 12.0(21)S2 で特別なメンテナンス版として導入されました。 これは正式には Cisco IOS ソフトウェア リリース 12.0(22)S でサポートされています。 詳細については、『IP 受信 ACL』を参照してください。

ルータ プロセッサは、Cisco 12000 シリーズの分散アーキテクチャで制御プレーン サービスを提供します。 受信 ACL は、ルーティング アップデート、Simple Network Management Protocol(SNMP; 簡易ネットワーク管理プロトコル)クエリーなどの、ルート プロセッサが宛先になっている制御トラフィックに対して、フィルタリング機能を提供します。

受信パス ACL は、プレーン トラフィックの制御と管理に新しい保護を追加するためのマルチフェーズ エフォートのフェーズ 1 とみなされます。 新しいレート制限拡張機能は、ソフトウェア アップデートにより追加されます。

ラインカード タイプごとの IPv4 ACL サポート

12000 シリーズのラインカードでは、エンジンのタイプごとに異なる ACL 機能を提供しています。 このセクションでは、各種ラインカード エンジンの ACL 機能について説明します。 特定のラインカード エンジンの ACL サポート情報については、この文書の該当セクションを参照してください。

すべての ACL(ASIC ベースおよび CPU ベース)に関して一般的な特性が、いくつかあります。

  • インターフェイスに適用できる ACL は、各方向に対して 1 つだけです。 たとえば、インターフェイス POS 0/0 が備えられるのは、入力 ACL 1 つと出力 ACL 1 つだけです。

  • ACL に対するパケットのテストは、一致が見つかると停止します。 300 エントリの長さがある ACL がアクセスリスト エントリ(ACE)#45 でパケットに一致した場合、そのパケットは処理され、ACL 処理は停止します。

  • すべての ACL の最後には暗黙的な deny all エントリが存在します。 その結果、ACL に一致がない場合、そのパケットは廃棄されます。 Cisco ACL は、明示的な許可の ACL アーキテクチャで作成されています。つまり、パケットの処理と転送を行うには、そのパケットに一致する ACE が存在することが必要です。

  • 新たに追加された ACE は、常に ACL の末尾に追加されます。 ACL をアップデートする必要があるたびに、ACL を削除して(no access-list コマンドを使用)、新しい ACL を追加し直すことをお勧めします。

  • 先頭以外の IP フラグメントの IP ヘッダーにはレイヤ 4 のプロトコル情報が含まれていないので、先頭以外のフラグメントでは標準の一致基準だけがサポートされています。 Cisco ACL が IP フラグメント フィルタリングにどのように準拠しているかの詳細については、『アクセス コントロール リストと IP 断片化』を参照してください。

  • 番号付き ACL は、Command Line Interface(CLI; コマンドライン インターフェイス)を介して入力されるとすぐに、処理と適用が行われます。 大きな ACL の場合、ルート プロセッサまたは LC の CPU で CPU 使用率が瞬間的に急上昇することがあります。

Engine 0 - ACL 処理

Engine 0 は、Cisco 12000 用に提供された最初のラインカードです。 ここでは完全に CPU ベースでの処理と転送が行われています。 したがって、Engine 0 ラインカードでは、ACL が LC の CPU で処理されます。

Engine 0 ベースのラインカードには、次のものがあります。

ラインカードのタイプ

インターフェイスのタイプ

接続

12 x DS3

同軸

SMB

12 x DS3

同軸

SMB

12 x E3

同軸

SMB

1xCHOC12->DS3

IR

1xCHOC12/STM4->OC3/STM1

POS

IR

4xOC3c/STM1c

POS

SR

4xOC3c/STM1c

POS

LR

4xOC3c/STM1c

POS

MM

1xOC12c/STM4c

POS

IR

1xOC12c/STM4c

POS

MM

6xCT3->DS1

SMB

2xCHOC3/STM1->DS1/E1

IR

4xOC3c/STM1c

ATM

IR

4xOC3c/STM1c

ATM

MM

1xOC12c/STM4c

ATM

IR

1xOC12c/STM4c

ATM

MM

サポートされている一致基準

すべての Cisco IOS ソフトウェア リリース 12.0S の標準、拡張 ACL、およびターボ ACL が、Engine 0 でサポートされています。

サポートされている ACE の数

ACL のサイズを制限するものは、パフォーマンス要件と使用可能なメモリ リソースだけです。

出力 ACL 処理

出力 ACL は、システム内の他のラインカードの入力機能パスで処理されます。 出力 ACL を他の LC の入力側にプッシュすると、廃棄される転送パケットからバックプレーンが保護されます。 これは、Cisco 7500 の分散アーキテクチャから継承されている機能です。 詳細な説明、理由、および操作に関するガイドラインについては、「出力 ACL - ラインカード相互運用マトリックス」のセクションを参照してください。

ラインカード固有のコマンド

なし

操作に関するガイドラインとラインカード インタラクション

  • Engine 0 ラインカードで NetFlow が設定されており、出力 ACL が出力エンジン 3 または 4+ ラインカードで設定されている場合、出力 ACL は入力ラインカードおよび出力ラインカードの両方で処理されるので、NetFlow は転送パケットの他に ACL で拒否されたパケットもカウントできるようになります。

推奨事項

シスコでは、大きな ACL には Engine 0 でターボ ACL を使用することをお勧めします。 ターボ ACL では追加のメモリが必要となるため、小さな ACL には小さなリニア ACL を使用する方が効率的です。

Engine 1 - ACL 処理

概要

Engine 1 ラインカードは、Engine 0 における CPU ベースの処理と Engine 2 における第一世代の転送/機能 ASIC との間のブリッジとなるものです。 デフォルトでは、Engine 1 ラインカードはソフトウェアで ACL を処理します。 Cisco IOS ソフトウェア リリース 12.0(10)S 以降では、Engine 1 は、Salsa ASIC のバージョン 4 または 5 が装備されたカードに対してハードウェア ACL を提供するようになりました(特定のカードにどのバージョンの Salsa が装備されているかについては、次のラインカード コマンド リファレンスを参照してください)。

Engine 1 ベースのラインカードには、次のものがあります。

ラインカードのタイプ

インターフェイスのタイプ

接続

8xFE

(RJ45)

100BaseT

8xFE

(MM)

100BaseF

8xFE

(RJ45)

100BaseT

8xFE

(MM)

100BaseF

1xGE

SX,

GBIC:

1xGE

SX,

GBIC:

2xOC12c/STM4c

DPT

IR

2xOC12c/STM4c

DPT

LR

2xOC12c/STM4 c

DPT

XLR

2xOC12c/STM4c

DPT

MM

2xOC12c/STM4c

DPT

IR

2xOC12c/STM4c

DPT

LR

2cOC12c/STM4c

DPT

XLR

2xOC12c/STM4c

DPT

MM

サポートされている一致基準

すべての Cisco IOS ソフトウェア リリース 12.0S でサポートされる標準、拡張、およびターボ ACL が、LC の CPU(低速パス)でサポートされています。 さらに、Engine 1 は入力 ACL を Salsa ASIC で処理できます。 SALSA ASIC では、ルート ルックアップとともに入力 ACL 処理が行われるため、従来のリニア ACL 処理またはターボ ACL 処理と比較した場合、パフォーマンスが向上することになります。 SALSA ASIC では、出力 ACL またはサブインターフェイス ACL の処理はできません。

サポートされている ACE の数

ACL のサイズを制限するものは、パフォーマンス要件と使用可能なメモリ リソースだけです。

出力 ACL 処理

出力 ACL は、システム内の他のラインカードの入力機能パスで処理されます。 詳細については、「出力 ACL - ラインカード相互運用マトリックス」を参照してください。

ラインカード固有のコマンド

  • access-list hardware salsa

  • show controller l3 | include ASIC

操作に関するガイドラインとラインカード インタラクション

  • Salsa ASIC と PSA ASIC を同時に稼動させることはできません。 access-list hardware コマンドは、PSA(Engine 2)または Salsa(Engine 1)のいずれかを受け入れますが、両方は受け入れません。

  • Engine 1 ラインカードで NetFlow が設定されており、出力 ACL が出力エンジン 3 または 4+ ラインカードで設定されている場合、出力 ACL は入力ラインカードおよび出力ラインカードの両方で処理されるので、NetFlow は転送パケットの他に ACL で拒否されたパケットもカウントできるようになります。

推奨事項

ハードウェア ACL をサポートしていないバージョンの Engine 1 ラインカードについては、シスコでは、大きな ACL にはターボ ACL を使用することをお勧めします。 小さな ACL(20 行未満)は、メモリを節約するために、リニア ACL として実装できます。

Engine 2 - ACL 処理

概要

Engine 2 は、転送/機能 ASIC が備わった最初のラインカードでした。 Cisco IOS ソフトウェア リリース 12.0(10)S 以降、Engine 2 ラインカードは、高性能 Packet Switching ASIC(PSA; パケット交換 ASIC)でハードウェア ACL 機能を提供するようになりました。 すべての転送/機能 ASIC と同様に、ASIC の機能の境界は厳密なパフォーマンス エンベロープにより定められます。 Engine 2 ACL のキー パフォーマンス エンベロープは、PSA ASIC のメモリ制限によるものです。

照合深度に依存しない ACL 処理パフォーマンスを提供するために、Engine 2 ACL はハードウェア転送テーブルに統合されます。 これがプレフィックスのスケーラビリティに与える影響については、次の説明を参照してください。

Engine 2 ベースのラインカードには、次のものがあります。

ラインカードのタイプ

インターフェイスのタイプ

接続

1xOC48c/STM16c

POS

SR

1xOC48c/STM16c

POS

LR

1xOC48c/STM16c

POS

SR

1xOC48c/STM16c

POS

LR

1xOC192c/STM64c

イネーブラ

SR

16xOC3c/STM1c

POS

IR

16xOC3c/STM1c

POS

MM

4xOC12c/STM4c

POS

IR

4xOC12c/STM4c

POS

MM

4xOC12c/STM4c

POS

IR

4xOC12c/STM4c

POS

MM

4xOC12c/STM4c

ATM

IR

4xOC12c/STM4c

ATM

MM

8xOC3cSTM1c

ATM/TS

IR

8xOC3c/STM1c

ATM/TS

MM

3xGE

SX

GBIC:

3xGE

CWDM

GBIC:

1xOC48c/STM16c

DPT

SR

1xOC48c/STM16c

DPT

LR

1xOC48c/STM16c

DPT

SR

1xOC48c/STM16c

DPT

LR

サポートされている一致基準

すべての Cisco IOS ソフトウェア リリース 12.0S でサポートされる標準および拡張 ACL の一致基準(レイヤ 4 の送信元ポートを除く)。 非連続マスク、IP 優先順位フィールド、および L4 の送信元ポートは、PSA ASIC からパントされ、LC の CPU で処理されます。

サポートされている ACE の数

PSA で最大 5 個の 448 行の入力 ACL。 ポートごとに 1 個の ACL を設定できます。 追加の ACL はラインカードの CPU によって実行されます。 出力 ACL の制限については、後述の「制限」に関するセクションを参照してください。

出力 ACL 処理

このラインカードで設定された出力 ACL は、システム内の他のラインカードの入力機能パスで実行されます。 詳細については、「出力 ACL - ラインカード相互運用マトリックス」を参照してください。

ラインカード固有のコマンド

  • access-list hardware psa limit 128

  • no access-list hardware psa

  • psa bypass

  • show access-list psa detail

  • show access-list psa summary

  • show controller psa feature

操作に関するガイドラインとラインカード インタラクション

  • 高速パス ACL 処理では、次の条件が満たされる必要があります。

    • 適用される ACL は、128 または 448 ACE の制限内である。

      • access-list hardware psa limit 128 が設定されている場合、長さは 128 ACE 分未満である必要がある。

      • 448 行の ACL マイクロコード バンドルが必要な場合、長さは 448 ACE 分未満である必要がある。

    • 入力 ACL と出力 ACL が同じカードで同時に設定されていない。

    • ルータ上で出力 ACL を最大で 5 つ設定できる。

  • 8 ポートおよび 16 ポートの OC-3/STM-1 POS ラインカードでサポートされているのは、128 行の ACL だけです。 448 行の ACL は、4 ポートの OC-12/STM-4 POS、1 ポートの OC-48/STM-16 POS、および 3 ポートのギガビット イーサネットの各ラインカードでサポートされています。

  • 入力 ACL と出力 ACL が同じカードで同時に設定されている場合、高速パスでは出力 ACL より入力 ACL が優先されます(この場合、出力 ACL は低速パスで処理されます)。

  • 出力 ACL が Engine 2 カードで設定されており、入力ラインカードが Engine 0/1/2/4 である場合、出力 ACL は入力カードで処理されます。 その他のエンジン タイプについては、出力 ACL は Engine 2 の出力低速パスで処理されます。

  • 出力 ACL は、IP-to-MPLS トラフィックではサポートされていません(最初の MPLS ラベルが IP パケットに「プッシュ」されます)。

  • ACL 処理情報はハードウェア FIB に統合されており、プレフィックス スケーラビリティに影響を与える可能性があります。 プレフィックス メモリの枯渇は、付随するログ メッセージに「exmem=1」というシグニチャがあるメモリ割り当てエラーで報告されます。

推奨事項

  • ACL 処理情報は CEF 転送テーブルに統合されており、プレフィックス スケーラビリティが低下します。 ACL を使用しないアプリケーションは CEF テーブルで ACL サポートをディセーブルにできるので、no access-list hardware psa コマンドを発行することで使用可能なプレフィックス メモリが増加します。

  • no access-list hardware psa を設定すると、ACL に対する PSA サポートがディセーブルになり、さらに Engine 2 カードによる ACL 処理もすべてディセーブルになります。 これにより ACL のソフトウェアでの実行が強制されわけではありません。 出力ラインカードで出力 ACL が設定されている場合にも、この条件があてはまります。

  • access-list hardware psa の後に access-list compiled を設定すると、PSA のキャパシティを超える ACE は、ターボ ACL の処理に変更されます。 これにより、448 ACE を超える長さの ACL で最適な ACL パフォーマンスが得られます。

    • デフォルトの ACL マイクロコードは 128 です(Cisco IOS ソフトウェア リリース 12.0(14)S/ST 以降)。 より小さい ACL が使用されており、448 行の能力は必要ない場合、access-list hardware psa limit 128 を設定すると転送(TLU)メモリが節約され、プレフィックス スケーラビリティが向上します。

    • 129 行より長い ACL については、access-list hardware psa limit 128 とともに access-list compiled でターボ ACL をイネーブルにする必要があります。 この組み合せにより、最初の 128 行が PSA ASIC で処理され、残りの行はターボ ACL で処理されるので、転送メモリの節約を行いながらパフォーマンスを最適化できます。

  • 4 ポートの OC12 ATM ラインカードでは入力 ACL はサポートされていませんが、マイクロコードで出力 ACL が検出されるので、出力 ACL 処理を低速パスで行うことが可能です。

  • Cisco IOS ソフトウェア リリース 12.0(23)S 以降では、8xOC3 ATM ラインカードにより、VC 単位の 128 行の ACL がサポートされています。 個別の入力 ACL を最大 16、高速パスで設定できます。 448 入力 ACL は、低速パスだけで VC 単位でサポートされています。 出力 ACL はサポートされていません。

IP Services Engine(ISE; IP サービス エンジン)Engine 3 - ACL 処理

概要

Engine 3 は、最初のデュアル ステージ転送ラインカードです。 Engine 3 では、入力と出力パスに転送/機能 ASIC が備わっています。 これにより、入力パスと出力パスの両方で ASIC に ACL を配置できます。 また、Engine 3 の ASIC の構造は、ハイブリッド パイプライン/パラレル アレイです。 ASIC 構造は、パラレル高速 Ternary Content Addressable Memory(TCAM)で ACL 処理を実装し、入力で最大 20K ACE、出力で最大 20K ACE のラインレート処理を実現します。

Engine 3 ベースのラインカードには、次のものがあります。

ラインカードのタイプ

インターフェイスのタイプ

接続

4xOC12c/STM4c

POS

IR

4xOC12c/STM4c

POS

MM

4xCHOC12/STM4->OC3/STM1->DS3/E3

POS

IR

16xOC3c/STM1c

POS

IR

16xOC3c/STM1c

POS

MM

8xOC3/STM1c

POS

IR

8xOC3c/STM1c

POS

MM

4xOC3c/STM1c

POS

IR

4xOC3c/STM1c

POS

MM

4xOC3c/STM1c

POS

LR

1xOC48c/STM16c

POS

SR

1xOC48c/STM16c

POS

LR

1xCHOC48/STM16->STM4->OC3/STM1->DS3/E3

POS

SR

4xOC12c/STM4c

ATM/IP

IR

4xOC12c/STM4c

ATM/IP

MM

4xGE

GE

4xOC12c/STM4c

DPT

IR

4xOC12c/STM4c

DPT

XLR

サポートされている一致基準

すべての Cisco IOS ソフトウェア リリース 12.0S の標準および拡張の一致基準は、高速パスでサポートされています(ただし例外として、ログ ACE はラインカードの CPU で処理されます)。

サポートされている ACE の数

  • ポート、VLAN、フレームリレー サブインターフェイス、および ATM サブインターフェイスごとの入出力両方向でのライン レート処理。 各方向および各カードにつき最大 20,000 の拡張 ACE がサポートされています。

  • TCP/UDP 送信元/宛先ポートの「range」、「lt」、および「gt」の一致基準はすべて、「L4 operator」リソースを使用してハードウェアで処理されます。

  • 個別の L4 オペランドの数は、ラインカード全体で 32 に制限されています。 送信元ポートのオペレータは、最大 6 に制限されています。

出力 ACL 処理

送信パス パケット処理 ASIC での、ラインレートの出力 ACL 処理のためのネイティブ高速パス サポート。 詳細については、「出力 ACL - ラインカード相互運用マトリックス」を参照してください。

ラインカード固有のコマンド

  • hw-module <slot #> tcam compile no-merge !---12.0(21)S3

  • show-access-list hardware interface <interface name>

  • show cef int pos[x/y] | inc if_number

操作に関するガイドラインとラインカード インタラクション

  • ロギング ACE に照合するパケットは、低速パスで処理されます。

  • 拒否 ACE に照合するパケット(システムが中断しないように制限されています)は、低速パスで処理されます。

  • ACL に特定範囲のアドレスが含まれている場合、ACE を最大で 3 必要とする、「Range ACE」と呼ばれる特殊な ACE がハードウェアで使用されます。

  • ACL をマージすると、個々の ACL 間で共通の ACE を共有することで、TCAM リソースが節約されます。 ACL がマージされているかどうかを判別するには、show-access-list hardware interface コマンドを使用します。

  • ACL カウンタは、マージされた ACL についてはサポートされていません。 Cisco IOS ソフトウェア リリース 12.0(21)S3 以降では、hw-module <slot #> tcam compile no-merge コマンドで ACL のマージをディセーブルにできます。 ACL がマージされているかどうかを判別するには、show-access-list hardware interface コマンドを使用します。

  • Engine 0/1 ラインカードで NetFlow が設定されており、出力 ACL が出力エンジン 3 または 4+ ラインカードで設定されている場合、出力 ACL は入力ラインカードおよび出力ラインカードの両方で処理されるので、NetFlow は転送パケットの他に ACL で拒否されたパケットもカウントできるようになります。

ACL カウンタのサポート

            Per-ACE          Per-ACE               Aggregate     
                               (hardware counters)
  21S3/ST3                     X
  22S                          X                     X
  23S         X                X                     X    

定義:

(1)ACE 単位: 通常の Cisco IOS ソフトウェア サポートでは、RP/LC 上での show access-list <number> により、各 ACE に関連付けられている ACL とカウンタが表示されます。 これは、ACL を設定する前に merge がディセーブルになっている場合にだけ使用可能です。 これは次の設定コマンドを使用して行えます。

Router(config)#hw-module slot <number> tcam compile acl no-merge
  

このオプションをイネーブルにすると、TCAM マージ最適化の一部がオフになり、スケーラビリティに影響があります。 実際の影響は、個々の ACL によって異なります。

ポリシーベースのルーティングがインターフェイスに適用されている場合には、カウンタは正確ではないことにも注意してください。 その場合は、集約カウンタを使用する必要があります。

(2)ACE 単位(TCAM): 各 TCAM エントリに関連付けられているハードウェア カウンタ。 設定は不要で、パフォーマンス/スケーラビリティへの影響はありません。 次の CLI を使用するラインカードだけで使用可能です。 これらのカウンタは、ソフトウェアではクリアできません。

LC-Slot4#show contr tofab alpha acl <if-number> vmr2ace
  

このコマンドの新しい汎用 CLI は、Cisco IOS ソフトウェア リリース 22S で使用可能になる予定です。

LC-Slot4#show access-list hardware interface p0:1 in
  

ACE 単位のカウンタと同様に、PBR が ACL とのインターフェイスで使用されていない場合にだけ TCAM カウンタが有効です。

(3)集約: 各 ACL に、permit/deny の要約カウンタが表示されます。 これは、個々の ACE カウンタすべての合計です。 設定は不要で、パフォーマンスやスケーラビリティへの影響はありません。

推奨事項

現時点ではありません。

Engine 4(POS)- ACL 処理

概要

Engine 4 では、Cisco IOS ソフトウェア リリース 12.0(18)S 以降で、次の ACL サポートが提供されています。

  • Engine 4 ラインカードが入力カードである場合、出力 ACL は E0/1/2 ラインカードでサポートされています。 この構成では、出力 ACL は、出力ラインカードの CPU で処理されます。

Engine 4 ベースのラインカードには、次のものがあります。

ラインカードのタイプ

インターフェイスのタイプ

エンジンのタイプ

接続

4xOC48c/STM16c

POS

E4

4xOC48c/STM16c

POS

E4

LR

1xOC192c/STM64c

POS

E4

IR

1xOC192c/STM64c

POS

E4

SR

1xOC192c/STM64c

POS

E4

VSR-1

10xGE

SFP

E4

 

Engine 4+(POS および DPT)- ACL 処理

概要

Engine 4+ では、ACL 機能が Cisco 12000 シリーズ 10 ギガビット ポートフォリオに導入されています。

入出力それぞれのパスで、ACE が最大 1024 サポートされています。 入出力両方の ACL が、最大 96 の ACE に対してライン レートで処理されます。 さらに長い一致でのパフォーマンスは、照合深度によって異なります。

Engine 4+ ベースの POS ラインカードには、次のものがあります。

ラインカードのタイプ

インターフェイスのタイプ

接続

4xOC48c/STM16c

POS

SR

4xOC48c/STM16c

POS

LR

1xOC192c/STM64c

POS

IR

1xOC192c/STM64c

POS

SR

1xOC192c/STM64c

POS

VSR-1

1xOC192/STM64c

POS

LR

4xOC48c/STM16c

DPT

SFP:

1xOC192c/STM64c

DPT

IR

1xOC192c/STM64c

DPT

SR

1xOC192c/STM64c

DPT

VSR-1

1xOC192c/STM64c

DPT

LR

サポートされている一致基準

すべての Cisco IOS ソフトウェア リリース 12.0S でサポートされる標準および拡張 ACL の基準が、高速パスでサポートされています(だたし、ログ ACE またはフラグメント ACE を除きます)。

サポートされている ACE の数

最大 1024 の ACE(1 方向あたり)が、高速パスでサポートされています。

注:1021 の ACE が設定可能です。  ACE の暗黙的な permit ip any anydeny ip any any、および send to CPU 用に、3 つのエントリが予約されています。

サポートされる ACE の数に上限はありません。 1021 個の制限を超える ACE はすべて、ラインカードの低速パスで実行されます。

出力 ACL 処理

出力 ACL は、送信側の高速パスで処理されます。 詳細については、「出力 ACL - ラインカード相互運用マトリックス」を参照してください。

ラインカード固有のコマンド

  • show tcam appl [acl-in | acl-out] tcam <label-no>

  • show tcam appl [acl-in | acl-out] memory <port> <number of entries>

操作に関するガイドラインとラインカード インタラクション

  • サブインターフェイス ACL はサポートされていません。

  • パフォーマンスは、照合深度によって異なります。

  • 範囲エントリでは、2 つの ACL ルール(2 個のエントリが境界をまたがる場合は 3 つの ACL ルール)が使用されます。

  • 物理インターフェイスごとに ACL が 1 つサポートされています。

  • 最大 1024 の ACE(1 方向あたり)が、高速パスでサポートされています。

  • 1024 個の高速パス ACE のいずれでも、ポート間での共有ができます。

  • フラグメント キーワードを使用する ACE は、低速パスでフィルタリングされます。

  • 拒否されたパケットは、低速パスで処理される ACE ではカウントされません。

  • Engine 0 ラインカードで NetFlow が設定されており、出力 ACL が出力エンジン 3 または 4+ ラインカードで設定されている場合、出力 ACL は入力ラインカードおよび出力ラインカードの両方で処理されるので、NetFlow は転送パケットの他に ACL で拒否されたパケットもカウントできるようになります。

推奨事項

現時点ではありません。

Engine 4+(イーサネット)- ACL 処理

概要

Engine 4+ イーサネット ラインカードでは、ハードウェアでの VLAN 単位の入力 ACL 機能が Cisco 12000 10 ギガビット イーサネット ポートフォリオに導入されています。 次のような特性があります。

  • 入力 ACL と出力 ACL は、パフォーマンスに影響を与えることなく単一ポートに同時に適用できます。

  • ACL は、VLAN 単位またはポート単位で適用できます。

  • 最大 15K ACE の入力 ACL パフォーマンスは、照合深度によって劣化することはありません。

  • 出力 ACL は、最大 96 の ACE に対してライン レートで処理されます。 さらに長い一致でのパフォーマンスは、照合深度によって異なります。

Engine 4+ ベースのイーサネット ラインカードには、次のものがあります。

ラインカードのタイプ

インターフェイスのタイプ

エンジンのタイプ

10xGE Rev B ("X-B")

SFP:

E4+

モジュラ

SFP:

E4+

1x10GE

10G

E4+

1x10GE

10G

E4+

サポートされている一致基準

すべての Cisco IOS ソフトウェア リリース 12.0S でサポートされる標準および拡張 ACL の基準が、高速パスでサポートされています(だたし、ログ ACE またはフラグメント ACE を除きます)。

サポートされている ACE の数

  • ポート単位または VLAN 単位で設定可能な最大 15,000 の入力 ACL。

  • ポート単位で適用可能なカードあたり 1024 の出力 ACE。

    注:1021 の ACE が設定可能です。  ACE の暗黙的な permit ip any anydeny ip any any、および send to CPU 用に、3 つのエントリが予約されています。

出力 ACL 処理

出力 ACL は、送信側の高速パスでネイティブに処理されます。 詳細については、「出力 ACL - ラインカード相互運用マトリックス」を参照してください。

ラインカード固有のコマンド

  • hw-module slot <number> ip acl merge

操作に関するガイドラインとラインカード インタラクション

  • フラグメント キーワードを含む ACE は、低速パスで処理されます。

  • ACL カウンタは、他の機能と組み合された ACL についてはサポートされていません。

  • ACL カウンタは、マージされた ACL についてはサポートされていません。 マージされた ACL は、hw-module slot <slot number> ip acl merge コマンドで設定可能です。

  • ラインカードあたり最大 168 の L4 操作がサポートされています。 この数を超えた場合、ACL は低速パスで実行されます。

  • Engine 1 ラインカードでサンプリングされた NetFlow がイネーブルになっており、出力 ACL が出力 Engine 3 または 4+ ラインカードでイネーブルになっている場合、出力 ACL は入出力両ラインカードで処理されるので、NetFlow は転送パケットの他に ACL で拒否されたパケットもカウントできるようになります。

推奨事項

現時点ではありません。

ACL ロギング

Cisco IOS ソフトウェア リリース 12.0(21)S より前では、ACL ロギング情報は Maintenance Bus(MBUS; メンテナンス バス)だけを介してルート プロセッサに送信されていました。 このため、高度な ACL ロギング アクティビティでは、MBUS のキャパシティを超える可能性がありました。 Cisco IOS ソフトウェア リリース 12.0(21)S では、このシナリオを回避する最適化がいくつか導入されています。

MBUS の過負荷状態は、Cisco IOS ソフトウェアで次のエラー メッセージによって報告されます。

LCLOG-3-INVSTATE
  MBUS_SYS-3-SEQUENCE  

Cisco IOS ソフトウェア リリース 12.0(21)S 以降では、高重大度(重大度 0 〜 4)のロギング メッセージは MBUS を介してルート プロセッサに配送され、低重大度(重大度 5 〜 7)のログ メッセージは高容量のスイッチング ファブリックを介してルート プロセッサに配送されます。 ACL ログ メッセージは高重大度であり、スイッチング ファブリックを介してルート プロセッサに配送されます。

この追加のロギング機能は、次のコマンドを使用して設定可能です。

  • logging method mbus [severity] - MBUS を使用してルート プロセッサに送信されるメッセージ(重大度別)を指定します。 これよりも重大度の高いメッセージはスイッチ ファブリックを介して送信されます。

  • show logging method - すべてのメッセージ重大度に対して現在のロギング方式を表示します。

  • logging sequence-nums - このコマンドを使用すると、送信ラインカードでログ メッセージへのシーケンス番号付けがイネーブルになるので、ルート プロセッサでメッセージを正しく並び替えることができます。 このコマンドを使用しない場合、ログ メッセージがシーケンス順にではなく、ルート プロセッサに配送される可能性があります。

IPv4 出力 ACL - ラインカード相互運用マトリックス

Engine 3 および Engine 4+ のリリースによって出力 ACL 処理が導入される前は、出力 ACL は入力ラインカードで処理されていました。 出力 ACL は、高性能な Engine 3 および Engine 4+ の出力 ACL 処理機能を利用できるようにアップデートされています。

次の表に、異なるラインカードの組み合せに対して、どこで出力 ACL が処理されるかを要約します。

出力ラインカード

入力ラインカード(メンバ インターフェイスに適用される出力 ACL)

E0

E1

E2

E3

E4

E4+

E0

入力

入力

入力

出力

N/A

出力

E1

入力

入力

入力

出力

N/A

出力

E2

入力

入力

入力

出力

N/A

出力

E3

出力

出力

出力

出力

N/A

出力

E4

出力

出力

出力

出力

N/A

出力

E4+

出力

出力

出力

出力

N/A

出力

IPv6 ACL サポート

IPv6 拡張 ACL は、Cisco IOS ソフトウェア リリース 12.0(23)S において E0、E1、E2、E3、および E4+ の低速パス(入力および出力)でサポートされています。

Cisco IOS ソフトウェア リリース 12.0(25)S では、Engine 3 で、IPv6 ACL 機能がハードウェアでサポートされています。 ACL は特定のインターフェイスに適用され、各アクセス リストの最後には暗黙的な deny 文があります。 IPv6 ACL は、グローバル設定モードで deny と permit のキーワードとともに ipv6 access-list コマンドを使用して設定されます。 Engine 3 ベースのカードでは、トラフィックベースの IPv6 オプション ヘッダー、フロー ラベル、およびオプションで上位層プロトコル タイプ情報のフィルタリングがサポートされています。

Cisco 12000 ACL コマンド リファレンス

Engine 1 コマンド

  • access-list hardware salsa

  • show controller l3 | include ASIC

Engine 2 コマンド

  • access-list hardware psa limit 128

  • no access-list hardware psa

  • psa bypass

  • show access-list psa detail

  • show access-list psa summary

  • show controller psa feature

Engine 3 コマンド

  • hw-module <slot #> tcam compile no-merge!--- Cisco IOS ソフトウェア リリース 12.0(21)S3 現在

  • show-access-list hardware interface <interface name>

  • show contr [tofab|frfab] alpha acl <int> vmr2ace

Engine 4+ コマンド

  • show access-list gen7 label

  • show tcam appl [acl-in | acl-out] tcam <label-no>

  • show tcam appl [acl-in | acl-out] memory <port> <number of entries>

Engine 4+ イーサネット コマンド

  • hw-module slot <number> ip acl merge

用語集

このセクションでは、関連用語の標準的な定義を示します。

  • 処理プレーン - 論理的に 3 つの処理プレーンに分割できるネットワーク デバイス。

    • データ プレーン - ネットワーク デバイス上を流れるパケットの処理。

    • コントロール プレーン - ネットワーク デバイスを結合するために使用されるパケットでの処理。 これには、回線プロトコル(Point-to-Point Protocol - PPP、High-Level Data Link Control - HDLC など)、ルーティング プロトコル(Border Gateway Protocol - BGP、Routing Information Protocol version 2 - RIPv2、Open Shortest Path First - OSPF など)、およびタイミング プロトコル(Network Time Protocol - NTP)が含まれます。

    • 管理プレーン - ネットワーク デバイスを管理するために使用されるパケットでの処理。 これには、Telnet、Secure Shell(SSH; セキュア シェル)、File Transfer Protocol(FTP; ファイル転送プロトコル)、Trivial File Transfer Protocol(TFTP; トリビアル ファイル転送プロトコル)、Simple Network Management Protocol(SNMP; 簡易ネットワーク管理プロトコル)、および他の管理プロトコルが含まれます。

  • 標準 ACL - レイヤ 3 専用の標準 ACL フィルタ。

  • 拡張 ACL - 拡張 IP アクセス リストでは、照合処理に送信元アドレスと宛先アドレスを使用し、より細かい制御を行うためにオプションのプロトコル タイプ情報を使用します。

  • リニア処理 ACL - ソフトウェアで直線的に処理されます。 パフォーマンスは、照合深度(一致が決定される前にチェックする必要があるエントリの数)によって異なります。

  • ターボ ACL(コンパイル済み) - ターボ ACL は、ソフトウェア処理を加速する、高度に最適化された一連のルックアップ テーブルに ACL をコンパイルすることにより、ソフトウェア ACL 処理を最適化します。 ターボ ACL のパフォーマンスは、照合深度には左右されません。

  • 入力 ACL - 適用先のポートに入るトラフィックに適用される ACL。

  • 出力 ACL - 適用先のポートから出るトラフィックに適用される ACL。 出力 ACL は入力ラインカードで処理されます(ただし、例外はあります)。

  • 受信パス ACL - 受信パス ACL は、ルータ自身が宛先になっている制御トラフィック(ルーティング アップデート、SNMP クエリーなど)に対して、フィルタリングを提供します。

  • デュアル ステージ転送ラインカード - 入力パスと出力パスの両方に転送/機能 ASIC が備わっているラインカード。 これにより、ラインカードは、パケットを LC の CPU にパントすることなく、入力パケット フローと出力パケット フローの両方で機能を実行できます。 また、Cisco 12000 で使用されるデュアル ステージ転送アルゴリズムの新しい潮流にも対応できます。 デュアル ステージ転送ラインカードの例としては、Engine 3 ラインカードがあります。

  • シングル ステージ転送ラインカード - 入力パスだけに転送/機能 ASIC が備わっているラインカード。 これらのラインカードは、入力パスを流れるパケットだけについて ASIC ベースの処理を実行します。 出力トラフィックは、処理されない(転送だけ)か、他の LC の入力 ASIC で処理されるか、LC の CPU で管理されるかのいずれかです。 シングル ステージ転送ラインカードの例としては、Engine 2、Engine 4、および Engine 4+ があります。


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

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


関連情報


Document ID: 40742