[index] CentreCOM 9924T/4SP・9924SP コマンドリファレンス 2.9

CREATE CLASSIFIER

カテゴリー:スイッチング / クラシファイア


■ ハードウェアパケットフィルター・QoSポリシー用の構文

CREATE CLASSIFIER=rule-id [ETHFORMAT={ETHII-TAGGED|ETHII-UNTAGGED|ANY}] [PROTOCOL={protocoltype|IP|ANY}] [MACTYPE={L2UCAST|L2MCAST|L2BCAST|ANY}] [MACSADDR={macadd|DHCPSNOOPING|ANY}] [MACDADDR={macadd|ANY}] [VLAN={vlanname|1..4094|ANY}] [TPID={tpid|ANY}] [VLANPRIORITY={0..7|ANY}] [INNERTPID={tpid|ANY}] [INNERVLANPRIORITY={0..7|ANY}] [INNERVLANID={1..4094|ANY}] [IPSADDR={ipadd[/masklen]|DHCPSNOOPING|ANY}] [IPDADDR={ipadd[/masklen]|ANY}] [IPDSCP={dscp-list|ANY}] [IPTOS={0..7|ANY}] [IPPROTOCOL={TCP|UDP|ICMP|IGMP|protocol|ANY}] [TCPSPORT={port|port-range|ANY}] [TCPDPORT={port|port-range|ANY}] [TCPFLAGS={{URG|ACK|RST|SYN|FIN}[,...]|ANY}] [UDPSPORT={port|port-range|ANY}] [UDPDPORT={port|port-range|ANY}] [L4SMASK={bitmask|ANY}] [L4DMASK={bitmask|ANY}] [L5BYTE01=byteoffset,bytevalue[,bytemask]] [L5BYTE02=byteoffset,bytevalue[,bytemask]] [L5BYTE03=byteoffset,bytevalue[,bytemask]] [L5BYTE04=byteoffset,bytevalue[,bytemask]] [L5BYTE05=byteoffset,bytevalue[,bytemask]] [L5BYTE06=byteoffset,bytevalue[,bytemask]] [L5BYTE07=byteoffset,bytevalue[,bytemask]] [L5BYTE08=byteoffset,bytevalue[,bytemask]] [L5BYTE09=byteoffset,bytevalue[,bytemask]] [L5BYTE10=byteoffset,bytevalue[,bytemask]] [L5BYTE11=byteoffset,bytevalue[,bytemask]] [L5BYTE12=byteoffset,bytevalue[,bytemask]] [L5BYTE13=byteoffset,bytevalue[,bytemask]] [L5BYTE14=byteoffset,bytevalue[,bytemask]] [L5BYTE15=byteoffset,bytevalue[,bytemask]] [L5BYTE16=byteoffset,bytevalue[,bytemask]]

■ IPv6ハードウェアパケットフィルター用の構文(IPv6ルーティングパケット)

CREATE CLASSIFIER=rule-id ETHFORMAT=ETHII-TAGGED PROTOCOL=IPV6 [IPSADDR={ip6add/plen|ANY}] [IPDADDR={ip6add/plen|ANY}] [IPDSCP={0..63|ANY}] [IPPROTOCOL={TCP|UDP|ICMP|IGMP|protocol|ANY}] [TCPSPORT={port|port-range|ANY}] [TCPDPORT={port|port-range|ANY}] [UDPSPORT={port|port-range|ANY}] [UDPDPORT={port|port-range|ANY}]

■ IPv6 QoSポリシー用の構文(IPv6ルーティングパケット)

CREATE CLASSIFIER=rule-id ETHFORMAT=ETHII-TAGGED PROTOCOL=IPV6 [MACTYPE={L2UCAST|L2MCAST|L2BCAST|ANY}] [MACSADDR={macadd|ANY}] [MACDADDR={macadd|ANY}] [VLAN={vlanname|1..4094|ANY}] [IPDSCP={0..63|ANY}] [IPPROTOCOL={TCP|UDP|ICMP|IGMP|protocol|ANY}]

rule-id: クラシファイア番号(1〜9999)
macadd: MACアドレス(xx-xx-xx-xx-xx-xxの形式)
protocoltype: L3プロトコル(Ethertype)番号(16進数)
vlanname: VLAN名(1〜32文字。英数字とアンダースコア(_)、ハイフンを使用可能。大文字小文字は区別しない)
tpid: TPID(16ビット長。16進数最大4文字)
ipadd: IPアドレス
masklen: マスク長(0〜32)
dscp-list: DSCP値(0〜63。ハイフン、カンマを使った複数指定も可能)
protocol: IPプロトコル番号(1〜255)
port: TCP/UDPポート番号(0〜65535)
port-range: TCP/UDPポート番号範囲(「1-99」のように2つの番号をハイフンで区切って指定する。有効範囲は0〜65535)
bitmask: マスク値(16ビット長。16進数最大4文字)
ip6add: IPv6アドレス
plen: プレフィックス長(0〜128ビット)
byteoffset: データ部の先頭バイト(TCP・UDPヘッダーの直後のバイト)を0として数えたオフセット(10進数。0〜37)
bytevalue: byteoffsetで指定したバイトの内容(16進数。00〜ff)
bytemask: bytevalueに対するANDマスク(16進数。省略時はff)


クラシファイア(汎用パケットフィルター)を作成する。

クラシファイアはパケットを分類(Classify = クラス分け)するための条件を定義するもの。ハードウェアパケットフィルター、IPv6ハードウェアパケットフィルター、ポリシーベースQoSで共通に用いられる(ただし、使用できるパラメーターや構文に違いがあるので注意)。

クラシファイアを作成しただけでは何も行われないことに注意。クラシファイアは、ハードウェアパケットフィルター、IPv6ハードウェアパケットフィルター、または、QoSポリシーのフローグループに割り当てて初めて効果を発揮する。



パラメーター

CLASSIFIER: クラシファイア番号。この番号は単なる識別子であり、番号の大小は意味を持たない。番号は固定なので、他のクラシファイアを削除しても変更されることはない。また、番号に空きがあってもよい

ETHFORMAT: Ethernetのフレームフォーマット(エンキャプセレーション)。ETHII-UNTAGGED(Ethernet Version 2。タグなし)、ETHII-TAGGED(Ethernet Version 2。タグ付き)、ANY(すべて)から選択する。ETHII-UNTAGGED、ETHII-TAGGEDを指定した場合は、必ずPROTOCOLパラメーターもあわせて指定すること。また、PROTOCOLにIPV6を指定するときは、本パラメーターにETHII-TAGGEDかETHII-UNTAGGEDを指定する必要がある。省略時はANY。

PROTOCOL: レイヤー3プロトコルタイプ(Ethertype)フィールド値。特殊なプロトコル名(IP、ANY)か、定義済みのプロトコル名(別表を参照)、または、16進表記のEthertypeプロトコル番号で指定する。ETHFORMATにETHII-UNTAGGEDかETHII-TAGGEDを指定した場合は、必ず本パラメーターもあわせて指定すること(ANYは不可)。省略時はANY。

MACTYPE: レイヤー2アドレス種別。L2UCAST(ユニキャスト)、L2MCAST(マルチキャスト)、L2BCAST(ブロードキャスト)、ANY(すべて)から選択する。省略時はANY。

MACSADDR: 送信元MACアドレス。「DHCPSNOOPING」は、DHCP Snoopingの設定時にQoSポリシーとクラシファイアを組み合わせて使用するための特殊なキーワードで、「送信元MACアドレスがDHCP Snoopingテーブル(バインディングデータベース)に登録されている」という条件を示す。省略時はANY。

MACDADDR: 宛先MACアドレス。省略時はANY。

VLAN: 入力VLAN。パケットの入力元が指定したVLANのときだけマッチする。ただし、IPv6 QoSポリシー用のクラシファイアでは出力VLANの意味になる。省略時はANY。

TPID: 802.1Q VLANタグヘッダーのTPID(Tag Protocol Identifier)値。2バイトの16進数で指定する。省略時はANY。

VLANPRIORITY: 802.1pユーザープライオリティー(0〜7)値。省略時はANY。

INNERTPID: ダブルタグパケットにおける内側802.1Q VLANタグヘッダーのTPID(Tag Protocol Identifier)値。2バイトの16進数で指定する。省略時はANY。

INNERVLANPRIORITY: ダブルタグパケットにおける内側802.1Q VLANタグヘッダーの802.1pユーザープライオリティー(0〜7)値。省略時はANY。

INNERVLANID: ダブルタグパケットにおける内側802.1Q VLANタグヘッダーのVLAN ID。省略時はANY。

IPSADDR: 始点IPv4/IPv6アドレス。IPアドレス/マスク長(IPv4)またはIPアドレス/プレフィックス長(IPv6)の形式で指定する。マスク長、プレフィックス長を省略した場合は、それぞれ32ビットマスク/128ビットプレフィックス(ホストアドレス)と見なされる。「DHCPSNOOPING」は、DHCP Snoopingの設定時にQoSポリシーとクラシファイアを組み合わせて使用するための特殊なキーワードで、「始点IPアドレスがDHCP Snoopingテーブル(バインディングデータベース)に登録されている」という条件を示す。省略時はANY

IPDADDR: 終点IPv4/IPv6アドレス。IPアドレス/マスク長(IPv4)またはIPアドレス/プレフィックス長(IPv6)の形式で指定する。マスク長、プレフィックス長を省略した場合は、それぞれ32ビットマスク/128ビットプレフィックス(ホストアドレス)と見なされる。省略時はANY

IPDSCP: IPv4/IPv6ヘッダーのDSCP(DiffServ Code Point)フィールド値。有効範囲は0〜63。IPv4の場合は、ハイフン、カンマを使った複数指定も可能。IPTOSとは同時に指定できない。省略時はANY

IPTOS: IPv4ヘッダーのTOS優先度(precedence)フィールド値。有効範囲は0〜7。IPDSCPとは同時に指定できない。省略時はANY。

IPPROTOCOL: IPv4/IPv6ヘッダーのプロトコルタイプ(IPv4)/次ヘッダー(IPv6)フィールド値。定義済みのプロトコル名(TCP、UDP、ICMP、IGMP)か10進表記のプロトコル番号(1〜255。0も指定できるが、ハードウェアパケットフィルターやQoSポリシーに割り当てた時点でエラーになるため使用不可)で指定する。なお、TCPSPORT、TCPDPORTパラメーターを使っている場合は、本パラメーターにTCPを指定したものと見なされる(他の値は指定できない)。また、UDPSPORT、UDPDPORTパラメーターを使っている場合は、本パラメーターにUDPを指定したものと見なされる(他の値は指定できない)。省略時はANY

TCPSPORT: TCP始点ポート。単一のポート番号かポート番号の範囲を指定する。範囲を指定した場合、L4SMASKパラメーターは無効。省略時はANY

TCPDPORT: TCP終点ポート。単一のポート番号かポート番号の範囲を指定する。範囲を指定した場合、L4DMASKパラメーターは無効。省略時はANY

TCPFLAGS: TCP制御フラグ。カンマ区切りで複数指定が可能。本パラメーターでは、指定したフラグだけがチェック対象となる(指定しなかったフラグの状態には関知しない)。指定したフラグがすべてが立っていればマッチ、それ以外の場合は非マッチと判定される。省略時はANY

UDPSPORT: UDP始点ポート。単一のポート番号かポート番号の範囲を指定する。範囲を指定した場合、L4SMASKパラメーターは無効。省略時はANY

UDPDPORT: UDP終点ポート。単一のポート番号かポート番号の範囲を指定する。範囲を指定した場合、L4DMASKパラメーターは無効。省略時はANY

L4SMASK: TCP/UDP始点ポートに対するANDマスク。「f800」のような16ビットの16進数で指定する。本パラメーターは、必ずTCPSPORT、UDPSPORTのどちらかと組で指定すること。またこのとき、TCPSPORT、UDPSPORTには単一のポート番号を指定すること。

L4DMASK: TCP/UDP終点ポートに対するANDマスク。「f800」のような16ビットの16進数で指定する。本パラメーターは、必ずTCPDPORT、UDPDPORTのどちらかと組で指定すること。またこのとき、TCPDPORT、UDPDPORTには単一のポート番号を指定すること。

L5BYTE01〜L5BYTE16: TCP/UDPパケットのデータ部の値。1バイトごとに、byteoffset(位置)、bytevalue(値)、bytemask(マスク)を指定する(bytemaskは省略可)。本パラメーターは、必ずL5BYTE01、L5BYTE02..の順に使用しなければならない。またこのとき、byteoffsetの値がしだいに大きくなるように設定しなくてはならない。本パラメーターは、IPv4上の有効なTCP・UDPパケットに対してのみ機能するが、これは自動的に行われるので、L5BYTExxパラメーターを指定するときに、PROTOCOL、IPPROTOCOLパラメーターを指定する必要はない。



表 1:定義済みのプロトコル名一覧
IP ETHII 0800(Ethernet Version 2)
X.75 Internet 0801(Ethernet Version 2)
NBS Internet 0802(Ethernet Version 2)
ECMA Internet 0803(Ethernet Version 2)
Chaosnet 0804(Ethernet Version 2)
X.25 Level 3 0805(Ethernet Version 2)
ARP 0806(Ethernet Version 2)
XNS Compat 0807(Ethernet Version 2)
Banyan Systems 0BAD(Ethernet Version 2)
BBN Simnet 5208(Ethernet Version 2)
DEC MOP Dump/Ld 6001(Ethernet Version 2)
DEC MOP Rem Cons 6002(Ethernet Version 2)
DEC DECNET 6003(Ethernet Version 2)
DEC LAT 6004(Ethernet Version 2)
DEC Diagnostic 6005(Ethernet Version 2)
DEC Customer 6006(Ethernet Version 2)
DEC LAVC 6007(Ethernet Version 2)
RARP 8035(Ethernet Version 2)
DEC LANBridge 8038(Ethernet Version 2)
DEC Encryption 803D(Ethernet Version 2)
Appletalk 809B(Ethernet Version 2)
IBM SNA 80D5(Ethernet Version 2)
AppleTalk AARP 80F3(Ethernet Version 2)
IPX EthII 8137(Ethernet Version 2)
SNMP 814C(Ethernet Version 2)
IPv6 86DD(Ethernet Version 2)

表 2:L4SMASK/L4DMASK設定早見表
マスク
対象ポート数
対象ポート範囲
ポート範囲の具体例
FFFF 1 指定したポートだけが対象 0、1、2 ... 65535
FFFE 2 2n 〜 2(n+1) - 1 0〜1、2〜3 ... 65534〜65535
FFFC 4 4n 〜 4(n+1) - 1 0〜3、4〜7 ... 65532〜65535
FFF8 8 8n 〜 8(n+1) - 1 0〜7、8〜15 ... 65528〜65535
FFF0 16 16n 〜 16(n+1) - 1 0〜15、16〜31 ... 65520〜65535
FFE0 32 32n 〜 32(n+1) - 1 0〜31、32〜63 ... 65504〜65535
FFC0 64 64n 〜 64(n+1) - 1 0〜63、64〜127 ... 65472〜65535
FF80 128 128n 〜 128(n+1) - 1 0〜127、128〜255 ... 65408〜65535
FF00 256 256n 〜 256(n+1) - 1 0〜255、256〜511 ... 65280〜65535
FE00 512 512n 〜 512(n+1) - 1 0〜511、512〜1023 ... 65024〜65535
FC00 1024 1024n 〜 1024(n+1) - 1 0〜1023、1024〜2047 ... 64512〜65535
F800 2048 2048n 〜 2048(n+1) - 1 0〜2047、2048〜4095 ... 63488〜65535
F000 4096 4096n 〜 4096(n+1) - 1 0〜4095、4096〜8191 ... 61440〜65535
E000 8192 8192n 〜 8192(n+1) - 1 0〜8191、8192〜16383 ... 57344〜65535
C000 16384 16384n 〜 16384(n+1) - 1 0〜16383、16384〜32767、32768〜49151、49152〜65535
8000 32768 32768n 〜 32768(n+1) - 1 0〜32767、32768〜65535
0000 65536 すべてのポートが対象 0〜65535



SSHサーバー宛てのパケットにマッチするクラシファイア「100」を作成する。
CREATE CLASSIFIER=100 TCPDPORT=22

IPv6パケットにマッチするクラシファイア「201」を作成する。
CREATE CLASSIFIER=201 ETHFORMAT=ETHII-UNTAGGED PROTOCOL=IPV6

サブネット172.16.10.128/28からのUDPパケットにマッチするクラシファイア「10」を作成する。
CREATE CLASSIFIER=10 IPSADDR=172.16.10.128/28 IPPROTOCOL=UDP

サブネット3ffe:b80:3c:10::/64のWebクライアントが送信するIPv6ルーティングパケットにマッチするクラシファイア「110」を作成する。
CREATE CLASSIFIER=110 ETHFORMAT=ETHII-TAGGED PROTOCOL=IPV6 IPSADDR=3ffe:b80:3c:10::/64 IPPROTOCOL=TCP TCPDPORT=80

すべてのパケットにマッチするクラシファイア「9999」を作成する。
CREATE CLASSIFIER=9999



備考・注意事項

IGMPを有効にしている場合は、IGMPモジュールの処理が優先されるため、IPPROTOCOL=IGMPを指定してもIGMPパケットをフィルタリングできない。

L5BYTEXXパラメーターは、必ずL5BYTE01、L5BYTE02..の順に使用しなければならない。たとえば、L5BYTE02だけを指定したり、L5BYTE01とL5BYTE03だけを設定したりすることはできない。またこのとき、byteoffsetの値がしだいに大きくなるように設定しなくてはならない。すなわち、L5BYTE01のbyteoffsetが2なら、L5BYTE02のbyteoffsetは3以上でなくてはならない。

L5BYTExxパラメーターでマッチングできるのは、IPパケットの先頭から80Byte以内だけであることに注意。IPパケットやTCPパケットにオプションがついている場合など、L5BYTExxパラメーターで指定したバイトがIPパケットの先頭から80Byteより後ろに来た場合は、該当パケットの値がbytevalue、bytemaskの指定と一致していても、クラシファイアはマッチしない。

L5BYTExxパラメーターは、IPv4上の有効なTCP・UDPパケットに対してのみ機能する。これは自動的に行われるので、L5BYTExxパラメーターを指定するときに、PROTOCOL、IPPROTOCOLパラメーターを指定する必要はない。



関連コマンド

ADD QOS FLOWGROUP
ADD SWITCH ACCELERATOR HWFILTER
ADD SWITCH HWFILTER
DELETE QOS FLOWGROUP
DELETE SWITCH ACCELERATOR HWFILTER
DELETE SWITCH HWFILTER
DESTROY CLASSIFIER
SET CLASSIFIER
SHOW CLASSIFIER




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

PN: J613-M0581-02 Rev.J