スポンサーリンク
スポンサーリンク

CoPP Control Plane Policingとは? 何の設定なのか

show runの最後の方にある 「Control-Plane」の用途を説明します。

はじめに、「xxx-Plane」について簡単に記載します。

Cisco IOS, IOS XE, and IOS XRには「Data-Plane」「Control-Plane」「Management-Plane」
の3つがあります。

1.「Data-Plane」
ルータを経由してスイッチングされるパケットを担う機構です。(ユーザのパケット)

2.「Control-Plane」
ルーティング制御パケット(OSPF,BGP)やARP,BFD,ICMPなどの制御パケットをやり取りを担う機構です。これらは目的別にでCPUが処理されます。

3.「Management-Plane」
主にデバイスマネジメントパケットであるNMP,SSH,FTP等の転送を担う機構になります。

  • Control-Plane設定では、ルータ自身が受信するパケットが制御対象になります。・ルーティングプロトコルの制御パケット(BGP/OSPF/EIGRP等)

    ・マネジメントパケット ICMP/ARP/Telnet/SSH/HTTP/SNMP等
     (上記のControl-PlaneとManagement-Plane)
  • Control Plane Policing の主な利点
    DOS攻撃などからルータを保護できる(インターネット境界にいる機器)
    特定のインターフェイスにACLを設定する必要がない
  • Control Plane Policing 利用用途
    多くの場合、インターネット境界にいるルータに対するDOS攻撃の保護の為に設定される事が多い
  • Control Plane 補足
    CoPP単体でブロードキャスト制御はできない

  ControlPPlaneのイメージ

※機器によりアーキテクチャは違います。

データパケットは(下の青矢印)左から入ってきて、右から出ていきます。

一方、BGP Hello やSNMPパケット等は上部のControl planeに入ってくるイメージです。

CoPP_Control-Plane-Policing1

  検証構成 (Cisco Modeling Labs利用)

ルータのloopbackアドレスにPingをすることで、Control planeを通るようにして

CoPPの効果を検証する事にします。

CoPP_Control-Plane-Policing2

  設定内容

ip access-list extended CoPP_ACL
permit icmp host 10.1.1.100 host 5.5.5.5
class-map match-all CoPP_CLASS
match access-group name CoPP_ACL
policy-map CoPP
class CoPP_CLASS
police 8000 conform-action transmit exceed-action drop
control-plane
service-policy input CoPP

  control-planeカウンタクリア

QoS設定時のpolicy-mapのカウンタは「show policy-map interface」ですが、control-planeカウンタを見る場合は、「show policy-map control-plane」になります。

「clear control-plane *」 で最初にカウンターをクリアします。

  show ログ

show policy-map control-plane カウンターはALLゼロ状態になりました。

Router#show policy-map control-plane
Control Plane

Service-policy input: CoPP

Class-map: CoPP_CLASS (match-all)
0 packets, 0 bytes
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: access-group name CoPP_ACL
police:
cir 8000 bps, bc 1500 bytes
conformed 0 packets, 0 bytes; actions:
transmit
exceeded 0 packets, 0 bytes; actions:
drop
conformed 0000 bps, exceeded 0000 bps

Class-map: class-default (match-any)
0 packets, 0 bytes
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: any

  ACL 「deny icmp host 10.1.1.100 host 5.5.5.5」

Pingパケットは「class-default」classに入り、Policing対象外と判断され
ルータはPingパケットに対しreplyを返します。結果ping応答アリになります。

Router#show policy-map control-plane
Control Plane

Service-policy input: CoPP

Class-map: CoPP_CLASS (match-all)
0 packets, 0 bytes
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: access-group name CoPP_ACL
police:
cir 8000 bps, bc 1500 bytes
conformed 0 packets, 0 bytes; actions:
transmit
exceeded 0 packets, 0 bytes; actions:
drop
conformed 0000 bps, exceeded 0000 bps

Class-map: class-default (match-any)
321 packets, 252220 bytes
5 minute offered rate 5000 bps, drop rate 0000 bps
Match: any

  ACL 「permit icmp host 10.1.1.100 host 5.5.5.5」で検証

Pingパケットは「CoPP_CLASS」classに入り、Policing対象と判断され
ルータがPingパケットを破棄します。結果ping応答ナシになります。

Router#show policy-map control-plane
Control Plane

Service-policy input: CoPP

Class-map: CoPP_CLASS (match-all)
56 packets, 44128 bytes
5 minute offered rate 1000 bps, drop rate 0000 bps
Match: access-group name CoPP_ACL
police:
cir 8000 bps, bc 1500 bytes
conformed 28 packets, 1736 bytes; actions:
transmit
exceeded 28 packets, 42392 bytes; actions:
drop
conformed 0000 bps, exceeded 1000 bps

Class-map: class-default (match-any)
0 packets, 0 bytes
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: any

まとめ

・CoPPはルータ自身へのパケット対し、制御し主にCPUを守る役目をします。

・ACLの設定上、通常のACLとは逆になるのが特徴と思われます。
「deny」でPing応答あり  ※CoPPに該当しないから
「permit」でPing応答なし ※CoPPに該当するから

・CoPP利用することにより、ポートACLやVLAN ACLと同じ効果をもたらすことができます。
・service-policy inputだけでなく、IOSによってはservice-policy output可能です。

CoPPALL
スポンサーリンク
スポンサーリンク