policy-map
Catalystのpolicy-mapコマンドについて、構文や使い方を設定例交えて説明しています。
説明
policy-mapコマンドを使うと、「class-map」で分類した後の動作が設定出来ます。
例えば、class-mapで分類した通信に対し、DSCPを信頼する、DSCP:46を付与する等が出来ます。

構文
policy-mapの構文は以下の通りです。
policy-map ポリシーマップ名
上記コマンドの後、ポリシーマップコンフィギュレーションモードに移行します。ポリシーマップコンフィギュレーションモードで、classコマンドによりクラスを作成します。
設定例
VoIPというポリシーマップを作成し、クラスマップClass-VoIPを分類条件としてDSCP:46をセットする場合の設定例です。
Cisco(config)# policy-map VoIP Cisco(config-pmap)# class Class-VoIP Cisco(config-pmap-c)# set dscp 46 Cisco(config-pmap-c)# exit Cisco(config-pmap)# exit Cisco(config)
set dscp以外では、以下のような設定があります。
- ・trust [ cos | dscp | ip-precedence ]
- CoS、DSCP、IP Precedenceを信頼します。パラメタを省略した時のデフォルトは、DSCPです。
- ・police 平均bps バーストbyte [ exceed-action { drop | policed-dscp-transmit }]
- 平均bpsは、平均速度です。バーストbyteは、一時的な高負荷(バースト転送)をどの程度許容するかです。exceed-actionはオプションですが、dropを選択すると破棄、policed-dscp-transmitではDSCPの値を変更(優先度を低くする:マークダウン)します。例えば、police 10000000 200000 exceed-action dropと設定すると、平均100Mbps、バースト転送が200KBを超えると破棄されます。
Catalyst3850等のMQCベースのスイッチでは、以下のような送信時の設定も出来ます。
- ・priority level レベル
- レベルを1にすると、最も低遅延で送信可能になります。
- ・bandwidth { 速度 | percent パーセント | remaining ratio パーセント }
- 保障する速度をKbpsで設定するか、パーセントで設定します。remainingはpriorityコマンドが使用されている場合に使用します。
- ・shape average { 速度 | percent パーセント }
- シェーピング(制限する)速度をbpsで設定するか、パーセントで設定します。
クラスは複数作れます。
トークンバケットアルゴリズム
policeはポリサーの定義です。ポリサーは、トークンバケットアルゴリズムを用いたポリシング(受信時の帯域制御)を行います。
バケットは、バケツを意味します。バケツにトークンを追加していき、満杯になるとトークンは追加されなくなります。通信が発生する度にトークンは捨てられますが、トークンが残っている間は通信可能です。

トークンがなくなると、受信フレームは破棄されるかマークダウンします。バーストbyteは、バケツのサイズです。バケツが大きいとトークンを溜める量が多くなるため、多くのバースト転送が行えます。
平均bpsは、実際の通信量ではなく、policeコマンドで設定した平均bpsです。この設定値に従って、一定間隔でトークンが追加されます。追加されるトークンより捨てられるトークンの方が多いと、トークンがなくなって通信出来なくなります。
利用可能なモード
・グローバルコンフィギュレーションモード
削除
設定を削除するコマンド例は以下の通りです。
Cisco(config)# no policy-map ポリシーマップ名
上記により、ポリシーマップが削除されます。
クラスだけ削除する時の例は、以下の通りです。
Cisco(config-cmap)# no class クラスマップ名
set文、trust文、police文等も、それぞれnoを付けて削除可能です。