[index] CentreCOM 8948XL コマンドリファレンス 2.9

スイッチング/クラシファイア


  - 概要
  - 基本設定
   - クラシファイアの作成
   - クラシファイアの使用
   - クラシファイアの変更・削除・確認
  - クラシファイアとルール領域消費量
   - ハードウェアパケットフィルターのみ使用時
   - ポリシーベースQoSのみ使用時
   - ハードウェアパケットフィルターとポリシーベースQoS併用時
   - IPv6ポリシーベースQoS使用時
   - IPv6ハードウェアパケットフィルター使用時


ヘッダー情報に基づいてパケットを分類するクラシファイア(汎用パケットフィルター)について説明します。クラシファイアは単体で使用するのではなく、ハードウェアパケットフィルターやポリシーベースQoSと組み合わせて使用します。

 

概要

クラシファイアは、パケットの分類条件を定義するためのメカニズムです。パケットのヘッダー情報(MACアドレスやIPアドレス、プロトコルタイプなど)に基づき、パケットを「フロー」に分類する仕組みを提供します。

クラシファイアは分類条件を定義するだけなので、単体では意味をなしません。下記の機能と組み合わせて初めて効果を発揮します。


各機能の処理順序は次のようになります。


Note - ハードウェアパケットフィルターにマッチしたパケットに対して、ポリシーベースQoSは適用されません(ここでの「マッチ」とは、破棄(Discard)だけでなく明示的な転送許可(Forward)も含みます)。ポリシーベースQoSを利用しながらパケットフィルタリングを行いたい場合は、ハードウェアパケットフィルターを併用するのではなく、QoSポリシーのフィルタリング機能(フローグループ、トラフィッククラスのアクション)を使ってください。

表 1:クラシファイアを使用する機能
番号
機能
適用対象
備考
1 ハードウェアパケットフィルター すべてのパケット -
2 IPv6ハードウェアパケットフィルター IPv6ルーティングパケット(1で破棄されたパケットを除く) IPv6アクセラレーターボードが必要
3a ポリシーベースQoS IPv6ルーティングパケット以外で、1にマッチしなかったすべてのパケット ここでの「マッチ」とは、破棄(Discard)、転送(Forward)の両方を指す
3b IPv6ポリシーベースQoS IPv6ルーティングパケット(2で破棄されたパケットを除く) IPv6アクセラレーターボードが必要


Note - IPv6アクセラレーターボードを装着していない場合、2、3bの処理は行われません。すべてのパケットが1→3aの流れで処理されます。

Note - トンネリングIPv6パケット(IPv6 over IPv4および6to4)は処理2(IPv6ハードウェアパケットフィルター)の対象になりません(フィルタリングできません)。

次に、使用できる条件パラメーターの一覧を示します。「機能別の使用可否」欄では、前述の機能(1、2、3a、3b)ごとに、どのパラメーターが使用可能であるかを示しています(○ = 使用可能、※ = 必須、× = 使用不可)。

より詳しくは次節「基本設定」をご覧ください。また、各機能の詳細については、それぞれ該当するセクションをご覧ください。

表 2:条件パラメーター
項目名
説明
機能別の使用可否
1
2
3a
3b
レイヤー2
ETHFORMAT (Ethernet)フレームフォーマット(エンキャプセレーション)
PROTOCOL (Ethernet)プロトコルタイプ
MACTYPE (Ethernet)レイヤー2アドレス種別。L2UCAST(ユニキャスト)、L2MCAST(マルチキャスト)、L2BCAST(ブロードキャスト)、ANY(すべて)のいずれか ×
MACSADDR (Ethernet)送信元MACアドレス ×
MACDADDR (Ethernet)宛先MACアドレス ×
VLAN 入力VLAN(ただし、IPv6ポリシーベースQoS(3b)では出力VLAN) ×
TPID (802.1Q)TPID(Tag Protocol Identifier) × ×
VLANPRIORITY (802.1Q)802.1pユーザープライオリティー × ×
INNERTPID (2つ目の802.1Q)TPID(Tag Protocol Identifier) × ×
INNERVLANPRIORITY (2つ目の802.1Q)802.1pユーザープライオリティー × ×
INNERVLANID (2つ目の802.1Q)VLAN ID × ×
レイヤー3
IPSADDR (IPv4ヘッダー)始点IPv4アドレス/マスク長 × ×
IPSADDR (IPv6ヘッダー)始点IPv6アドレス/プレフィックス長 × × ×
IPDADDR (IPv4ヘッダー)終点IPv4アドレス/マスク長 × ×
IPDADDR (IPv6ヘッダー)始点IPv6アドレス/プレフィックス長 × × ×
IPDSCP (IPv4/IPv6ヘッダー)DSCP(DiffServ Code Point)
IPTOS (IPv4ヘッダー)TOS優先度(precedence) × ×
IPPROTOCOL (IPv4/IPv6ヘッダー)プロトコルタイプ(レイヤー4プロトコルタイプ)
IPXDADDR (IPXヘッダー)終点ネットワーク番号 × ×
IPXSSOCKET (IPXヘッダー)始点ソケット(レイヤー4プロトコルタイプ) × ×
IPXDSOCKET (IPXヘッダー)終点ソケット(レイヤー4プロトコルタイプ) × ×
レイヤー4
TCPSPORT (TCPヘッダー)始点ポート ×
TCPDPORT (TCPヘッダー)終点ポート ×
TCPFLAGS (TCPヘッダー)制御フラグ(URG,ACK,RST,SYN,FIN) × ×
UDPSPORT (UDPヘッダー)始点ポート ×
UDPDPORT (UDPヘッダー)終点ポート ×
L4SMASK (TCP/UDPヘッダー)始点ポートに対するANDマスク × ×
L4DMASK (TCP/UDPヘッダー)終点ポートに対するANDマスク × ×
レイヤー5
L5BYTE01〜L5BYTE16 レイヤー5(セッション層)のデータパターン × ×


 

基本設定

クラシファイアの基本的な設定方法について解説します。

 

クラシファイアの作成

■ クラシファイアを作成するには、CREATE CLASSIFIERコマンドを使います。CLASSIFIERパラメーターに指定するのは、各クラシファイアを識別するための番号です。この番号は単なる識別子であり、値の大小は意味を持ちません。

指定できる条件パラメーターは、クラシファイアをどの機能で使うかによって異なります。詳しくは以下の説明をお読みください。


■ ハードウェアパケットフィルター
ハードウェアパケットフィルターは、すべての入力パケットを対象とするパケットフィルターです。マッチしたパケットに対しては、転送、破棄のいずれかの処理を実行できます。処理は、本体スイッチチップで行われます。

ハードウェアパケットフィルター用のクラシファイアは、CREATE CLASSIFIERコマンドの下記構文を使って作成してください。下記構文にないパラメーターを含んでいると、ADD SWITCH HWFILTERコマンド入力時にエラーが発生します。


■ IPv6ハードウェアパケットフィルター
IPv6ハードウェアパケットフィルターは、ルーティングされるIPv6パケットだけを対象とするパケットフィルターです。マッチしたパケットに対しては、転送、破棄、DSCP/802.1p書き換えのいずれかの処理を実行できます。処理は、IPv6アクセラレーターボードで行われます。

IPv6ハードウェアパケットフィルター用のクラシファイアは、CREATE CLASSIFIERコマンドの下記構文を使って作成してください。下記構文にないパラメーターを含んでいると、ADD SWITCH ACCELERATOR HWFILTERコマンド入力時にエラーが発生します。


Note - IPv6ハードウェアパケットフィルター用のクラシファイアでは、ETHFORMAT=ETHII-TAGGEDとPROTOCOL=IPV6の指定が必須です(IPv6ルーティングパケットは、VLANタグが付加された状態でIPv6アクセラレーターボードに送られます)。

■ ポリシーベースQoS
ポリシーベースQoSは、クラシファイアを用いてパケットを分類し、分類したそれぞれのトラフィックに異なるサービスレベル(帯域や優先度)を割り当てる機能です。

ポリシーベースQoSの処理は通常、本体スイッチチップで行われますが、ルーティングされるIPv6パケットに対するQoS処理は、IPv6アクセラレーターボードで行われます(IPv6ポリシーベースQoS。次項を参照)。両者の設定はほぼ同じですが、クラシファイアで使用できる条件パラメーターに違いがあります。

ポリシーベースQoS用のクラシファイアは、CREATE CLASSIFIERコマンドの下記構文を使って作成してください(ハードウェアパケットフィルターと同じ構文です)。下記構文にないパラメーターを含んでいると、SET QOS PORTコマンドでポートにQoSポリシーを割り当てるときにエラーが発生します。


■ IPv6ポリシーベースQoS
IPv6パケットに対するポリシーベースQoSの処理は、IPv6アクセラレーターボードで行われます。通常のポリシーベースQoSと設定はほぼ同じですが、クラシファイアで使用できる条件パラメーターに違いがあります。

IPv6ポリシーベースQoS用のクラシファイアは、CREATE CLASSIFIERコマンドの下記構文を使って作成してください。下記構文にないパラメーターを含んでいると、SET QOS ACCELERATOR POLICYコマンドでQoSポリシーを指定するときにエラーが発生します。


Note - IPv6ポリシーベースQoS用のクラシファイアでは、ETHFORMAT=ETHII-TAGGEDとPROTOCOL=IPV6の指定が必須です(IPv6ルーティングパケットは、VLANタグが付加された状態でIPv6アクセラレーターボードに送られます)。

Note - IPv6ポリシーベースQoS用のクラシファイアでは、DSCP値を除きL3以上のパラメーターを指定できません。L3、L4パラメーターによる分類をしたいときは、あらかじめIPv6ハードウェアパケットフィルターのMARKアクションを使ってDSCP値を書き換えておきます。

 

クラシファイアの使用

前述のとおり、クラシファイアはパケットを分類するメカニズムを提供するだけです。実際になんらかの処理を行うには、ハードウェアパケットフィルター、QoSポリシー、IPv6ハードウェアパケットフィルターと関連付ける必要があります。

Note - ハードウェアパケットフィルターにマッチしたパケットに対して、ポリシーベースQoSは適用されません(ここでの「マッチ」とは、破棄(Discard)だけでなく明示的な転送許可(Forward)も含みます)。ポリシーベースQoSを利用しながらパケットフィルタリングを行いたい場合は、ハードウェアパケットフィルターを併用するのではなく、QoSポリシーのフィルタリング機能(フローグループ、トラフィッククラスのアクション)を使ってください。

■ ハードウェアパケットフィルターでは、クラシファイアとマッチ時のアクションの2つ1組でフィルターエントリーを構成します。ハードウェアパケットフィルターにエントリーを追加するには、ADD SWITCH HWFILTERコマンドを使います。

次の例では、受信したパケットのうち、クラシファイア「12」にマッチするパケットを破棄します。


■ ポリシーベースQoSでは、パケットをフローグループに分類するためにクラシファイアを使います。フローグループにクラシファイアを関連付けるには、ADD QOS FLOWGROUPコマンドを使います。


Note - ポリシーベースQoSは、IPv6ルーティングパケットはIPv6アクセラレーターボードで、それ以外のパケットは本体スイッチチップで適用されますが、フローグループ、トラフィッククラス、QoSポリシーの設定は同じです。異なるのは、クラシファイアで使用できる条件パラメーターと、QoSポリシーの適用先だけです。

実際にはさらに、トラフィッククラスにフローグループを関連付け、QoSポリシーにトラフィッククラスを関連付け、QoSポリシーをスイッチポートかIPv6アクセラレーターボードに適用する必要があります。詳細は「スイッチング」/「QoS」をご覧ください。

■ IPv6ハードウェアパケットフィルターでは、クラシファイアとマッチ時のアクションの2つ1組でフィルターエントリーを構成します。IPv6ハードウェアパケットフィルターにエントリーを追加するには、ADD SWITCH ACCELERATOR HWFILTERコマンドを使います。

次の例では、受信したパケットのうち、クラシファイア「120」にマッチするパケットを破棄します。


IPv6ハードウェアパケットフィルターは、IPv6ルーティングパケットに対するポリシーベースQoSでも使用します。たとえば、次の例では、クラシファイア「220」にマッチするパケットのDSCP値を20に書き換えています。QoSポリシーでパケットを再分類するときには、このDSCP値を用いることができます。詳しくは「スイッチング」/「QoS」をご覧ください。


Note - IPv6ハードウェアパケットフィルターを使用するには、IPv6アクセラレーターボードが必要です。

Note - IPv6ハードウェアパケットフィルターは、ルーティングされるIPv6パケットにだけ適用されます。VLAN内でスイッチングされるIPv6パケットには適用されません。

ポリシーベースQoS、ハードウェアパケットフィルター、IPv6ハードウェアパケットフィルターの詳細については、それぞれ「スイッチング」/「QoS」、「ハードウェアパケットフィルター」、「IPv6ハードウェアパケットフィルター」をご覧ください。

 

クラシファイアの変更・削除・確認

■ 作成済みのクラシファイアを変更するには、SET CLASSIFIERコマンドを使います。


■ クラシファイアを削除するには、DESTROY CLASSIFIERコマンドを使います。ハードウェアパケットフィルターやQoSポリシー(厳密にはフローグループ)に関連付けられているクラシファイアは削除できません。先に関連付けを削除してからDESTROY CLASSIFIERコマンドを実行してください。

クラシファイア番号は、カンマ、ハイフンを使って複数指定が可能です。


■ クラシファイアの一覧はSHOW CLASSIFIERコマンドで確認できます。


■ クラシファイア番号を指定した場合は、該当クラシファイアのパラメーター一覧が表示されます。


 

クラシファイアとルール領域消費量

本製品では、ハードウェアによるフィルタリング機能を実現するために、システム内部の「ルールテーブル」を使用します。

クラシファイアはCREATE CLASSIFIERコマンドで9999個まで作成できますが、実際に使用できる数(フィルターやポリシーに関連付けられる数)はルールテーブル内にあるルール領域の空き容量に依存します。ルール領域の空きがなくなると、フィルター作成時やポリシーの適用時にエラーメッセージが表示され、それ以上フィルターやポリシーの追加ができなくなります。

ルールテーブルの使用状況は、SHOW SWITCHコマンドで確認できます。「Traffic Control Unit, hardware resource usage」以下をご覧ください。

まずは、ルール領域に関する基本原則を列挙します。


以下では、この原則をもとに、ハードウェアパケットフィルター、ポリシーベースQoS、MLD Snooping、IPv6ポリシーベースQoSの各機能がルール領域をどのように消費するかを解説します。

Note - 以下の図は説明のためのイメージ図であり、内部実装を正確に表したものではありません。

 

ハードウェアパケットフィルターのみ使用時

ここでは、ハードウェアパケットフィルター(とMLD Snooping)だけを使用する場合の本体インスタンスのルール領域使用量について説明します。

Note - IPv6ハードウェアパケットフィルターは、ルール領域を消費しません。ここで述べるのは、本体インスタンスのルール領域を使用する通常のハードウェアパケットフィルターです。

ハードウェアパケットフィルターは、1つのフィルター(1クラシファイア)あたり、各インスタンスのルール領域を1つ使用します。

ここでは、8個のクラシファイア(1〜8)を作成し、8個のハードウェアパケットフィルターを作成した場合のルール領域消費量について説明します。

■ MLD Snooping有効時(デフォルト有効)

MLD Snoopingが1個ルールを使用しているため、ハードウェアパケットフィルター8個とあわせて、合計ルール数は9個となります。ただし、ルール領域は8個単位で割り当てられるため、この状態でのルール領域消費量は16となります。


■ MLD Snooping無効時

MLD Snoopingが使用していた1個のルールがなくなるため、合計ルール数は8個となります。ルール領域は8個単位で割り当てられるため、この例ではちょうど1単位におさまります。すなわち、ルール領域の消費量は8となります。


 

ポリシーベースQoSのみ使用時

次に、ポリシーベースQoS(とMLD Snooping)だけを使用する場合の本体インスタンスのルール領域使用量について説明します。

Note - IPv6ポリシーベースQoSは、本体インスタンスのルール領域ではなくIPv6アクセラレーターボードのルール領域を消費します。ここで述べるのは、本体インスタンスのルール領域を使用する通常のポリシーベースQoSです。

ポリシーベースQoSでは、QoSポリシーを適用するスイッチポートごとに、ポートが所属するインスタンスのルール領域が8ルール単位で割り当てられ、ポートごとに1クラシファイアあたり1つのルールを使用します。また、デフォルトトラフィッククラスも1つのルールを使用します。

QoSポリシーを全ポートに割り当てた場合、それだけで各インスタンスのルール領域を「インスタンスの所属ポート数 × 8」消費してしまいます。QoSポリシーを適用するときは、なるべく必要なポートだけに限定するようにしてください。

ここでは、2個のクラシファイア(9〜10)を作成し、2個のQoSフローグループ、1個のQoSポリシーを作成し、2つのポート(1〜2)にQoSポリシーを適用した場合のルール領域消費量について説明します。

■ MLD Snooping有効時(デフォルト有効)

スイッチポートにQoSポリシーを適用すると、そのポート専用のルール領域が(ルール8個を1単位で)割り当てられます。

MLD Snoopingが使用する1個のルールは、ポート専用のルール領域ごとに割り当てられます。さらに、QoSポリシーを適用していないポート群のためのルール領域も割り当てられ、そこでもMLD Snooping用のルール1個が使われます。

結果的に、この例では、MLD Snooping用ルールが3個、QoSポリシー用のルールが6個(= 3×2)で、合計ルール数は9個となります。ただし、ルール領域が、ポート1用、ポート2用、その他のポート用の3つに分けて割り当てられるため、ルール領域消費量は24となります。


■ MLD Snooping無効時

MLD Snoopingが使用していた1個のルールがなくなるため、QoSポリシーを適用していないポート用の領域は解放されます。

結果的に、この例では、QoSポリシー用のルールが6個(= 3×2)で、合計ルール数は6個となります。ただし、ルール領域が、ポート1用、ポート2用の2つに分けて割り当てられるため、ルール領域消費量は16となります。


 

ハードウェアパケットフィルターとポリシーベースQoS併用時

次に、ハードウェアパケットフィルターとポリシーベースQoS(とMLD Snooping)を併用する場合の本体ルール領域使用量について説明します。

Note - ハードウェアパケットフィルターにマッチしたパケットに対して、ポリシーベースQoSは適用されません(ここでの「マッチ」とは、破棄(Discard)だけでなく明示的な転送許可(Forward)も含みます)。ポリシーベースQoSを利用しながらパケットフィルタリングを行いたい場合は、ハードウェアパケットフィルターを併用するのではなく、QoSポリシーのフィルタリング機能(フローグループ、トラフィッククラスのアクション)を使ってください。

この場合は、ポリシーベースQoSだけを使用するときと基本的に同じです。ハードウェアパケットフィルターを1つ追加するたびに、各ポート専用のルール領域に同じルールが1つずつ追加されます。

ここでは、4個のクラシファイア(1〜2、9〜10)を作成し、そのうち1〜2を2個のハードウェアパケットフィルターに割り当て、9〜10を2つのQoSフローグループに割り当てるものとします。さらに、2つのフローグループを(トラフィッククラスを介して)1個のQoSポリシーに割り当て、これを2つのポート(1〜2)に適用した場合のルール領域消費量について説明します。

■ MLD Snooping有効時(デフォルト有効)

スイッチポートにQoSポリシーを適用すると、そのポート専用のルール領域が(ルール8個を1単位で)割り当てられます。

MLD Snoopingが使用する1個のルールと、ハードウェアパケットフィルターが使用する2個のルールは、ポート専用のルール領域ごとに割り当てられます。さらに、QoSポリシーを適用していないポート群のためのルール領域も割り当てられ、そこでもMLD Snooping用のルール1個とハードウェアパケットフィルターのルール2個が使われます。

結果的に、この例では、MLD Snooping用ルールが3個、QoSポリシー用のルールが6個(= 3×2)、ハードウェアパケットフィルターのルールが6個(= 2×3)、合計ルール数は15個となります。ただし、ルール領域が、ポート1用、ポート2用、その他のポート用の3つに分けて割り当てられるため、ルール領域消費量は24となります。


■ MLD Snooping無効時

各ポート専用のルール領域から、MLD Snoopingが使用していた1個のルールがなくなるため、QoSポリシー用のルールが6個(= 3×2)、ハードウェアパケットフィルターのルールが6個(= 2×3)、合計ルール数は12個となります。ただし、ルール領域が、ポート1用、ポート2用、その他のポート用の3つに分けて割り当てられるため、ルール領域消費量は24となります。


 

IPv6ポリシーベースQoS使用時

次に、IPv6ポリシーベースQoSを使用する場合のルール領域使用量について説明します。

IPv6ポリシーベースQoSは、IPv6アクセラレーターボード用のルール領域1024個を単独で使用します。そのため、前節までに説明した他の機能、ハードウェアパケットフィルター、ポリシーベースQoS、MLD Snoopingの設定には影響されません。

IPv6ポリシーベースQoSでは、1クラシファイアあたり、IPv6アクセラレーターボード用のルール領域を1つ使用します。また、デフォルトトラフィッククラスも1つのルールを使用します。

ルール領域の割り当ては、本体インスタンスのルール領域と同様8個単位で行われます。

ここでは、2個のクラシファイア(109〜110)を作成し、2個のQoSフローグループ、1個のQoSポリシーを作成し、IPv6アクセラレーターボードにQoSポリシーを適用した場合のルール領域消費量について説明します。

この例では、デフォルトトラフィッククラス用のルール1個とクラシファイア用のルールが2個、合計3個がIPv6アクセラレーターボード用のルール領域から消費されます。ただし、ルール領域は8個単位で割り当てられるため、実際のルール領域消費量は8となります。


 

IPv6ハードウェアパケットフィルター使用時

IPv6ハードウェアパケットフィルターは、ルール領域を使用しません。ルール領域の空き容量とは関係なく、最大999個のフィルターを作成することができます。







(C) 2004 - 2014 アライドテレシスホールディングス株式会社

PN: J613-M0021-12 Rev.M