De documentatie van dit product is waar mogelijk geschreven met inclusief taalgebruik. Inclusief taalgebruik wordt in deze documentatie gedefinieerd als taal die geen discriminatie op basis van leeftijd, handicap, gender, etniciteit, seksuele oriëntatie, sociaaleconomische status of combinaties hiervan weerspiegelt. In deze documentatie kunnen uitzonderingen voorkomen vanwege bewoordingen die in de gebruikersinterfaces van de productsoftware zijn gecodeerd, die op het taalgebruik in de RFP-documentatie zijn gebaseerd of die worden gebruikt in een product van een externe partij waarnaar wordt verwezen. Lees meer over hoe Cisco gebruikmaakt van inclusief taalgebruik.
Cisco heeft dit document vertaald via een combinatie van machine- en menselijke technologie om onze gebruikers wereldwijd ondersteuningscontent te bieden in hun eigen taal. Houd er rekening mee dat zelfs de beste machinevertaling niet net zo nauwkeurig is als die van een professionele vertaler. Cisco Systems, Inc. is niet aansprakelijk voor de nauwkeurigheid van deze vertalingen en raadt aan altijd het oorspronkelijke Engelstalige document (link) te raadplegen.
In dit document worden details beschreven over Control Plane Policing (CoPP) op Cisco Nexus-switches en de gevolgen daarvan voor klasseoverschrijdingen die niet standaard zijn.
Cisco raadt u aan om basisinformatie te begrijpen met betrekking tot Control Plane Policing (CoPP), de richtlijnen en beperkingen ervan en de algemene configuratie, evenals de Quality-of-Service (QoS)-politiefunctionaliteit (CIR). Voor meer informatie over deze functie, raadpleegt u de toepasselijke documenten:
Er zijn geen specifieke vereisten van toepassing op dit document.
Dit document is niet beperkt tot specifieke software- en hardwarevereisten.
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
Controle vliegtuig verkeer wordt omgeleid naar de supervisor module door omleiding toegangscontrolelijsten (ACL's) geprogrammeerd om het gematchte verkeer dat door twee lagen van bescherming, de hardware rate-limiters en CoPP passeert punter. Eventuele storingen of aanvallen op de supervisor module, indien niet aangevinkt, kan leiden tot ernstige netwerkuitval; dus CoPP is er om te dienen als een beschermingsmechanisme. Als er instabiliteit is op het niveau van het controlevliegtuig, is het belangrijk om CoPP te controleren, omdat abnormale verkeerspatronen die zijn ontstaan door lussen of overstromingen, of malafide apparaten kunnen belasten en voorkomen dat de toezichthouder legitiem verkeer verwerkt. Dergelijke aanvallen, die onbedoeld kunnen worden gepleegd door malafide apparaten of kwaadwillig door aanvallers, hebben meestal betrekking op hoge verkeerscijfers die bestemd zijn voor de supervisor-module of de CPU.
Control Plan Policing (CoPP) is een functie die alle pakketten classificeert en controleert die worden ontvangen via de in-band (voorpaneel) poorten die zijn bestemd voor het routeradres of die enige betrokkenheid van de supervisor vereisen. Met deze functie kunt u een beleidskaart toepassen op het besturingsvlak. Deze beleidskaart ziet eruit als een normaal QoS-beleid (Quality of Service) en wordt toegepast op al het verkeer dat de switch binnenkomt vanuit een niet-beheerpoort. Door de supervisormodule te beschermen door politietoezicht kan de switch verkeersstromen beperken die verder gaan dan de vastgelegde invoersnelheid (CIR) voor elke klasse door het weggooien van pakketten om te voorkomen dat de switch wordt overweldigd en dus een impact heeft op de prestaties.
Het is belangrijk om de CoPP-tellers voortdurend te controleren en te rechtvaardigen, wat het doel van dit document is. CoPP-overtredingen kunnen, indien niet aangevinkt, voorkomen dat het controlevliegtuig het proces van echt verkeer op de bijbehorende getroffen klasse verstoort. CoPP-configuratie is een vloeiend en continu proces dat moet inspelen op de netwerk- en infrastructuurvereisten. Er zijn drie standaardsysteembeleidsregels voor CoPP. Cisco raadt standaard het gebruik van het standaardbeleid aan strict
als het beginpunt en wordt gebruikt als basis voor dit document.
CoPP is alleen van toepassing op in-band verkeer dat wordt ontvangen via de poorten op het voorpaneel. De out-of-band-beheerpoort (mgmt0) is niet onderworpen aan CoPP. De hardware van het Cisco NX-OS-apparaat voert CoPP uit per forwarding-engine. Kies daarom tarieven, zodat het geaggregeerde verkeer de supervisor-module niet overweldigt. Dit is vooral belangrijk voor end-of-row/modulaire switches, omdat de CIR van toepassing is op het totale verkeer van alle CPU-gebonden modules.
Het onderdeel dat in dit document wordt behandeld, is van toepassing op alle Cisco Nexus-switches voor datacenters.
De focus van dit document is om de meest voorkomende en kritische niet-standaard klasseovertredingen op Nexus-switches aan te pakken.
Om te begrijpen hoe CoPP moet worden geïnterpreteerd, moet de eerste verificatie zijn om ervoor te zorgen dat een profiel wordt toegepast en om te begrijpen of een standaardprofiel of aangepast profiel op de switch wordt toegepast.
Opmerking: Als best practice moeten alle Nexus-switches CoPP ingeschakeld hebben. Als deze functie niet is ingeschakeld, kan dit leiden tot instabiliteit voor alle besturingsvliegtuigverkeer, omdat verschillende platforms het Supervisor (SUP)-gebonden verkeer kunnen beperken. Als CoPP bijvoorbeeld niet is ingeschakeld op een Nexus 9000, is het verkeer dat bestemd is voor de SUP-snelheid beperkt tot 50 pps, waardoor de switch bijna onbruikbaar wordt gemaakt. CoPP wordt beschouwd als een vereiste voor Nexus 3000- en Nexus 9000-platforms.
Als CoPP niet is ingeschakeld, kan het opnieuw worden ingeschakeld of geconfigureerd op de switch door het gebruik van de setup
opdracht of door de toepassing van een van de standaardstandaardbeleidsregels onder de configuratieoptie: copp profile [dense|lenient|moderate|strict]
.
Een onbeschermd apparaat classificeert en scheidt het verkeer niet goed in klassen en dus is elk denial of service-gedrag voor een specifieke functie of protocol niet beperkt tot dat bereik en kan het het hele besturingsvlak beïnvloeden.
Opmerking: CoPP-beleid wordt geïmplementeerd door Ternary Content-Addressable Memory (TCAM) classificatieomleidingen en kan direct onder show system internal access-list input statistics module X | b CoPP
of show hardware access-list input entries detail
onder worden gezien.
N9K1# show copp status
Last Config Operation: None
Last Config Operation Timestamp: None
Last Config Operation Status: None
Policy-map attached to the control-plane: copp-system-p-policy-strict
copp-system-p-policy-strict is one of the system default profiles, in particular the strict profile.
N9K1# show running-config copp
!Command: show running-config copp
!Running configuration last done at: Tue Apr 26 16:34:10 2022
!Time: Sun May 1 16:30:57 2022
version 10.2(1) Bios:version 05.45
copp profile strict
CoPP classificeert verkeer op basis van de overeenkomsten die overeenkomen met de IP- of MAC-ACL's, dus het is belangrijk om te begrijpen welk verkeer onder welke klasse is geclassificeerd.
De klassen, die afhankelijk zijn van het platform, kunnen variëren. Het is dus belangrijk om te begrijpen hoe de klassen te verifiëren.
Bijvoorbeeld op de Nexus 9000 top-of-rack (TOR):
N9K1# show policy-map interface control-plane
Control Plane
Service-policy input: copp-system-p-policy-strict
...
class-map copp-system-p-class-critical (match-any)
match access-group name copp-system-p-acl-bgp
match access-group name copp-system-p-acl-rip
match access-group name copp-system-p-acl-vpc
match access-group name copp-system-p-acl-bgp6
match access-group name copp-system-p-acl-ospf
match access-group name copp-system-p-acl-rip6
match access-group name copp-system-p-acl-eigrp
match access-group name copp-system-p-acl-ospf6
match access-group name copp-system-p-acl-eigrp6
match access-group name copp-system-p-acl-auto-rp
match access-group name copp-system-p-acl-mac-l3-isis
set cos 7
police cir 36000 kbps , bc 1280000 bytes
module 1 :
transmitted 177446058 bytes;
5-minute offered rate 3 bytes/sec
conformed 27 peak-rate bytes/sec
at Sat Apr 23 04:25:27 2022
dropped 0 bytes;
5-min violate rate 0 byte/sec
violated 0 peak-rate byte/sec
...
In dit voorbeeld omvat de klassentoewijzing copp-system-p-class-critical
verkeer met betrekking tot routeringsprotocollen, zoals Border Gateway Protocol (BGP), Open Shortest Path First (OSPF), Enhanced Interior Gateway Router Protocol (EIGRP) en andere protocollen, zoals vPC.
De IP- of MAC ACL-naamconventie is meestal voor zichzelf sprekend voor het protocol of de functie die erbij betrokken is, met het copp-system-p-acl-[protocol|feature]
voorvoegsel.
Als u een specifieke klasse wilt bekijken, kunt u deze rechtstreeks opgeven terwijl de opdracht show wordt uitgevoerd. Voorbeeld:
N9K-4# show policy-map interface control-plane class copp-system-p-class-management
Control Plane
Service-policy input: copp-system-p-policy-strict
class-map copp-system-p-class-management (match-any)
match access-group name copp-system-p-acl-ftp
match access-group name copp-system-p-acl-ntp
match access-group name copp-system-p-acl-ssh
match access-group name copp-system-p-acl-http
match access-group name copp-system-p-acl-ntp6
match access-group name copp-system-p-acl-sftp
match access-group name copp-system-p-acl-snmp
match access-group name copp-system-p-acl-ssh6
match access-group name copp-system-p-acl-tftp
match access-group name copp-system-p-acl-https
match access-group name copp-system-p-acl-snmp6
match access-group name copp-system-p-acl-tftp6
match access-group name copp-system-p-acl-radius
match access-group name copp-system-p-acl-tacacs
match access-group name copp-system-p-acl-telnet
match access-group name copp-system-p-acl-radius6
match access-group name copp-system-p-acl-tacacs6
match access-group name copp-system-p-acl-telnet6
set cos 2
police cir 36000 kbps , bc 512000 bytes
module 1 :
transmitted 0 bytes;
5-minute offered rate 0 bytes/sec
conformed 0 peak-rate bytes/sec
dropped 0 bytes;
5-min violate rate 0 byte/sec
violated 0 peak-rate byte/sec
Terwijl de standaardprofielen van CoPP normaal gesproken verborgen zijn als onderdeel van de standaardconfiguratie, kunt u de configuratie zien met show running-conf copp all
:
N9K1# show running-config copp all
!Command: show running-config copp all
!Running configuration last done at: Tue Apr 26 16:34:10 2022
!Time: Sun May 1 16:41:55 2022
version 10.2(1) Bios:version 05.45
control-plane
scale-factor 1.00 module 1
class-map type control-plane match-any copp-system-p-class-critical
match access-group name copp-system-p-acl-bgp
match access-group name copp-system-p-acl-rip
match access-group name copp-system-p-acl-vpc
match access-group name copp-system-p-acl-bgp6
match access-group name copp-system-p-acl-ospf
match access-group name copp-system-p-acl-rip6
match access-group name copp-system-p-acl-eigrp
match access-group name copp-system-p-acl-ospf6
match access-group name copp-system-p-acl-eigrp6
match access-group name copp-system-p-acl-auto-rp
match access-group name copp-system-p-acl-mac-l3-isis
(snip)
...
De klasse-map, copp-system-p-class-critical
eerder gezien, verwijst naar meerdere match statements die een beroep doen op het systeem ACLs, die standaard zijn verborgen, en verwijzen naar de classificatie die is afgestemd op. Bijvoorbeeld voor BGP:
N9K1# show running-config aclmgr all | b copp-system-p-acl-bgp
ip access-list copp-system-p-acl-bgp
10 permit tcp any gt 1023 any eq bgp
20 permit tcp any eq bgp any gt 1023
(snip)
Dit betekent dat elk BGP-verkeer overeenkomt met deze klasse en is geclassificeerd onder copp-system-p-class-critical
, samen met alle andere protocollen op dezelfde klasse.
De Nexus 7000 maakt gebruik van een zeer vergelijkbare CoPP-functiestructuur als de Nexus 9000:
N77-A-Admin# show policy-map interface control-plane
Control Plane
service-policy input copp-system-p-policy-strict
class-map copp-system-p-class-critical (match-any)
match access-group name copp-system-p-acl-bgp
match access-group name copp-system-p-acl-rip
match access-group name copp-system-p-acl-vpc
match access-group name copp-system-p-acl-bgp6
match access-group name copp-system-p-acl-lisp
match access-group name copp-system-p-acl-ospf
match access-group name copp-system-p-acl-rip6
match access-group name copp-system-p-acl-rise
match access-group name copp-system-p-acl-eigrp
match access-group name copp-system-p-acl-lisp6
match access-group name copp-system-p-acl-ospf6
match access-group name copp-system-p-acl-rise6
match access-group name copp-system-p-acl-eigrp6
match access-group name copp-system-p-acl-otv-as
match access-group name copp-system-p-acl-mac-l2pt
match access-group name copp-system-p-acl-mpls-ldp
match access-group name copp-system-p-acl-mpls-rsvp
match access-group name copp-system-p-acl-mac-l3-isis
match access-group name copp-system-p-acl-mac-otv-isis
match access-group name copp-system-p-acl-mac-fabricpath-isis
match protocol mpls router-alert
set cos 7
police cir 36000 kbps bc 250 ms
conform action: transmit
violate action: drop
module 1:
conformed 300763871 bytes,
5-min offered rate 132 bytes/sec
peak rate 125 bytes/sec at Sun May 01 09:50:51 2022
violated 0 bytes,
5-min violate rate 0 bytes/sec
peak rate 0 bytes/sec
module 2:
conformed 4516900216 bytes,
5-min offered rate 1981 bytes/sec
peak rate 1421 bytes/sec at Fri Apr 29 15:40:40 2022
violated 0 bytes,
5-min violate rate 0 bytes/sec
peak rate 0 bytes/sec
module 6:
conformed 0 bytes,
5-min offered rate 0 bytes/sec
peak rate 0 bytes/sec
violated 0 bytes,
5-min violate rate 0 bytes/sec
peak rate 0 bytes/sec
Het is belangrijk op te merken dat op een Nexus 7000, omdat dit modulaire switches zijn, u de klasse per module ziet; de CIR is echter van toepassing op het aggregaat van alle modules en CoPP is van toepassing op het hele chassis. De CoPP-verificatie en -uitgangen kunnen alleen worden gezien vanuit de standaard- of beheerderscontext voor virtuele apparaten (VDC).
Het is vooral belangrijk om CoPP op een Nexus 7000 te verifiëren als er problemen met het controlevlak worden gezien, omdat instabiliteit op een VDC met overmatig CPU-gebonden verkeer dat CoPP-schendingen veroorzaakt, de stabiliteit van andere VDC's kan beïnvloeden.
Op een Nexus 5600 zijn de klassen verschillend. Voor BGP is het dus zijn eigen aparte klasse:
N5K# show policy-map interface control-plane
Control Plane
(snip)
class-map copp-system-class-bgp (match-any)
match protocol bgp
police cir 9600 kbps , bc 4800000 bytes
conformed 1510660 bytes; action: transmit
violated 0 bytes;
(snip)
Op een Nexus 3100 zijn er 3 routeringsprotocolklassen, dus om te controleren tot welke klasse BGP behoort, verwijzen we naar de 4 CoPP ACL waarnaar wordt verwezen:
EIGRP wordt behandeld door zijn eigen klasse op de Nexus 3100.
N3K-C3172# show policy-map interface control-plane
Control Plane
service-policy input: copp-system-policy
class-map copp-s-routingProto2 (match-any)
match access-group name copp-system-acl-routingproto2
police pps 1300
OutPackets 0
DropPackets 0
class-map copp-s-v6routingProto2 (match-any)
match access-group name copp-system-acl-v6routingProto2
police pps 1300
OutPackets 0
DropPackets 0
class-map copp-s-eigrp (match-any)
match access-group name copp-system-acl-eigrp
match access-group name copp-system-acl-eigrp6
police pps 200
OutPackets 0
DropPackets 0
class-map copp-s-routingProto1 (match-any)
match access-group name copp-system-acl-routingproto1
match access-group name copp-system-acl-v6routingproto1
police pps 1000
OutPackets 0
DropPackets 0
N3K-C3172# show running-config aclmgr
!Command: show running-config aclmgr
!No configuration change since last restart
!Time: Sun May 1 18:14:16 2022
version 9.3(9) Bios:version 5.3.1
ip access-list copp-system-acl-eigrp
10 permit eigrp any 224.0.0.10/32
ipv6 access-list copp-system-acl-eigrp6
10 permit eigrp any ff02::a/128
ip access-list copp-system-acl-routingproto1
10 permit tcp any gt 1024 any eq bgp
20 permit tcp any eq bgp any gt 1024
30 permit udp any 224.0.0.0/24 eq rip
40 permit tcp any gt 1024 any eq 639
50 permit tcp any eq 639 any gt 1024
70 permit ospf any any
80 permit ospf any 224.0.0.5/32
90 permit ospf any 224.0.0.6/32
ip access-list copp-system-acl-routingproto2
10 permit udp any 224.0.0.0/24 eq 1985
20 permit 112 any 224.0.0.0/24
ipv6 access-list copp-system-acl-v6routingProto2
10 permit udp any ff02::66/128 eq 2029
20 permit udp any ff02::fb/128 eq 5353
30 permit 112 any ff02::12/128
ipv6 access-list copp-system-acl-v6routingproto1
10 permit 89 any ff02::5/128
20 permit 89 any ff02::6/128
30 permit udp any ff02::9/128 eq 521
In dit geval wordt BGP geëvenaard door de ACL copp-system-acl-routingproto1
en dus valt de CoPP-klasse BGP in copp-s-routingProto1
IS.
CoPP ondersteunt QoS-statistieken om de geaggregeerde tellers van verkeer te volgen die de vastgelegde invoersnelheid (CIR) voor een bepaalde klasse bevestigen of schenden, voor elke module.
Elke klasse-map classificeert CPU-gebonden verkeer, op basis van de klasse waarin het overeenkomt en koppelt een CIR voor alle pakketten die onder die classificatie vallen. Als voorbeeld wordt de klasse die betrekking heeft op BGP-verkeer gebruikt als referentie:
Op een Nexus 9000 top-of-rack (TOR) voor copp-system-p-class-critical
:
class-map copp-system-p-class-critical (match-any)
match access-group name copp-system-p-acl-bgp
match access-group name copp-system-p-acl-rip
match access-group name copp-system-p-acl-vpc
match access-group name copp-system-p-acl-bgp6
match access-group name copp-system-p-acl-ospf
match access-group name copp-system-p-acl-rip6
match access-group name copp-system-p-acl-eigrp
match access-group name copp-system-p-acl-ospf6
match access-group name copp-system-p-acl-eigrp6
match access-group name copp-system-p-acl-auto-rp
match access-group name copp-system-p-acl-mac-l3-isis
set cos 7
police cir 36000 kbps , bc 1280000 bytes
module 1 :
transmitted 177446058 bytes;
5-minute offered rate 3 bytes/sec
conformed 27 peak-rate bytes/sec
at Sat Apr 23 04:25:27 2022
dropped 0 bytes;
5-min violate rate 0 byte/sec
violated 0 peak-rate byte/sec
In het gedeelte van de klassenkaart, na de instructies voor de overeenkomst, ziet u de acties die betrekking hebben op al het verkeer binnen de klasse. Al het verkeer dat binnen copp-system-p-class-critical
is geclassificeerd, is ingesteld met een Class of Service (CoS) van 7, wat het verkeer met de hoogste prioriteit is, en deze klasse wordt bewaakt met een CIR van 36000 kbps en een vastgelegde burst-rate van 1280000 bytes.
Verkeer dat voldoet aan dit beleid wordt doorgestuurd naar de SUP om te worden verwerkt en eventuele overtredingen worden verwijderd.
set cos 7
police cir 36000 kbps , bc 1280000 bytes
Het volgende deel bevat de statistische gegevens die betrekking hebben op de module, voor top-of-rack (TOR) switches, met een enkele module verwijst module 1 naar de switch.
module 1 :
transmitted 177446058 bytes;
5-minute offered rate 3 bytes/sec
conformed 27 peak-rate bytes/sec
at Sat Apr 23 04:25:27 2022
dropped 0 bytes;
5-min violate rate 0 byte/sec
violated 0 peak-rate byte/sec
De statistieken op de uitvoer zijn historisch, dus dit biedt een momentopname van de huidige statistieken op het moment dat het commando wordt uitgevoerd.
Er zijn twee secties om hier te interpreteren: de verzonden en de gevallen secties:
De verzonden datapunt volgt alle verzonden pakketten die voldoen aan het beleid. Dit onderdeel is belangrijk omdat het inzicht geeft in het soort verkeer dat de toezichthouder verwerkt.
De 5-minuten geboden rentewaarde geeft inzicht in het huidige tarief.
De conforme pieksnelheid en -datum, biedt een snap van de hoogste pieksnelheid per seconde die nog steeds in overeenstemming is met het beleid en de tijd dat het plaatsvond.
Als een nieuwe piek wordt gezien, vervangt deze deze waarde en datum.
Het belangrijkste onderdeel van de statistieken is het laten vallen van het datapunt. Net als de verzonden statistieken, volgt het gedropte gedeelte de cumulatieve bytes die zijn gedaald als gevolg van schendingen van het politietarief. Het geeft ook de overtredingspercentage voor de laatste 5 minuten, de geschonden piek en als er een piek is, het tijdstempel van die piekovertreding. En nogmaals, als een nieuwe piek wordt gezien, dan vervangt het deze waarde en datum. Op andere platforms variëren de uitgangen, maar de logica is zeer vergelijkbaar.
Nexus 7000 maakt gebruik van een identieke structuur en de verificatie is hetzelfde, hoewel sommige klassen enigszins variëren op de ACL's waarnaar wordt verwezen:
class-map copp-system-p-class-critical (match-any)
match access-group name copp-system-p-acl-bgp
match access-group name copp-system-p-acl-rip
match access-group name copp-system-p-acl-vpc
match access-group name copp-system-p-acl-bgp6
match access-group name copp-system-p-acl-lisp
match access-group name copp-system-p-acl-ospf
match access-group name copp-system-p-acl-rip6
match access-group name copp-system-p-acl-rise
match access-group name copp-system-p-acl-eigrp
match access-group name copp-system-p-acl-lisp6
match access-group name copp-system-p-acl-ospf6
match access-group name copp-system-p-acl-rise6
match access-group name copp-system-p-acl-eigrp6
match access-group name copp-system-p-acl-otv-as
match access-group name copp-system-p-acl-mac-l2pt
match access-group name copp-system-p-acl-mpls-ldp
match access-group name copp-system-p-acl-mpls-rsvp
match access-group name copp-system-p-acl-mac-l3-isis
match access-group name copp-system-p-acl-mac-otv-isis
match access-group name copp-system-p-acl-mac-fabricpath-isis
match protocol mpls router-alert
set cos 7
police cir 36000 kbps bc 250 ms
conform action: transmit
violate action: drop
module 1:
conformed 300763871 bytes,
5-min offered rate 132 bytes/sec
peak rate 125 bytes/sec at Sun May 01 09:50:51 2022
violated 0 bytes,
5-min violate rate 0 bytes/sec
peak rate 0 bytes/sec
module 2:
conformed 4516900216 bytes,
5-min offered rate 1981 bytes/sec
peak rate 1421 bytes/sec at Fri Apr 29 15:40:40 2022
violated 0 bytes,
5-min violate rate 0 bytes/sec
peak rate 0 bytes/sec
module 6:
conformed 0 bytes,
5-min offered rate 0 bytes/sec
peak rate 0 bytes/sec
violated 0 bytes,
5-min violate rate 0 bytes/sec
peak rate 0 bytes/sec
Op een Nexus 5600:
class-map copp-system-class-bgp (match-any)
match protocol bgp
police cir 9600 kbps , bc 4800000 bytes
conformed 1510660 bytes; action: transmit
violated 0 bytes;
Hoewel het geen informatie geeft over de snelheid of pieken, biedt het nog steeds de geaggregeerde bytes die zijn bevestigd en geschonden.
Op een Nexus 3100, de controle vliegtuig uitgang toont, OutPackets en DropPackets.
class-map copp-s-routingProto1 (match-any)
match access-group name copp-system-acl-routingproto1
match access-group name copp-system-acl-v6routingproto1
police pps 1000
OutPackets 8732060
DropPackets 0
OutPackets verwijzen naar conforme pakketten, terwijl DropPackets verwijzen naar schendingen van de CIR. In dit scenario zie je geen druppels op de bijbehorende klasse.
Op een Nexus 3500 toont de uitvoer HW- en SW Matched Packets:
class-map copp-s-routingProto1 (match-any)
match access-group name copp-system-acl-routingproto1
police pps 900
HW Matched Packets 471425
SW Matched Packets 471425
De HW Matched Packets verwijzen naar de pakketten die door de ACL in HW worden gematcht. De pakketten met SW-overeenkomsten zijn de pakketten die voldoen aan het beleid. Eventuele verschillen tussen de overeenkomende pakketten voor hardware en software betekenen een overtreding.
In dit geval zijn er geen druppels te zien op routing protocol-1 klasse pakketten (die BGP omvat), als de waarden overeenkomen.
Gezien het feit dat de controlevliegtuig politiestatistieken historisch zijn, is het belangrijk om te bepalen of actieve schendingen toenemen. De standaardmanier om deze taak uit te voeren is om twee volledige uitgangen te vergelijken en eventuele verschillen te verifiëren.
Deze taak kan handmatig worden uitgevoerd, of de Nexus-switches bieden de diff-tool die kan helpen om de uitgangen te vergelijken.
Hoewel de volledige output kan worden vergeleken, is deze niet vereist omdat de focus alleen op de weggevallen statistieken ligt. De CoPP-uitvoer kan dus worden gefilterd om alleen op de overtredingen te focussen.
Het commando is: show policy-map interface control-plane | egrep class|module|violated|dropped | diff -y
Opmerking: De opdracht moet twee keer worden uitgevoerd om de diff in staat zijn om de huidige met de vorige uitvoer te vergelijken.
Met de vorige opdracht kunt u de delta tussen twee klassen zien en overtredingen vinden.
Opmerking: Aangezien de CoPP-statistieken historisch zijn, is een andere aanbeveling om de statistieken te wissen nadat de opdracht is uitgevoerd, om te controleren of er actieve toenamen zijn. Om de CoPP-statistieken te wissen, voert u het commando: clear copp statistics
.
CoPP is een eenvoudige politiestructuur, omdat elk CPU-gebonden verkeer dat de CIR schendt, wordt weggelaten. De implicaties variëren echter aanzienlijk, afhankelijk van het type druppels.
Hoewel de logica hetzelfde is, is het niet hetzelfde om verkeer te laten vallen dat bestemd is voor copp-system-p-class-critical.
class-map copp-system-p-class-critical (match-any)
match access-group name copp-system-p-acl-bgp
match access-group name copp-system-p-acl-rip
match access-group name copp-system-p-acl-vpc
match access-group name copp-system-p-acl-bgp6
match access-group name copp-system-p-acl-ospf
match access-group name copp-system-p-acl-rip6
match access-group name copp-system-p-acl-eigrp
match access-group name copp-system-p-acl-ospf6
match access-group name copp-system-p-acl-eigrp6
match access-group name copp-system-p-acl-auto-rp
match access-group name copp-system-p-acl-mac-l3-isis
set cos 7
police cir 36000 kbps , bc 1280000 bytes
Vergeleken met drop-verkeer bestemd voor class-copp-system-p-class-monitoring
map.
class-map copp-system-p-class-monitoring (match-any)
match access-group name copp-system-p-acl-icmp
match access-group name copp-system-p-acl-icmp6
match access-group name copp-system-p-acl-traceroute
set cos 1
police cir 360 kbps , bc 128000 bytes
De eerste heeft voornamelijk betrekking op routeringsprotocollen, de tweede heeft betrekking op Internet Control Message Protocol (ICMP), dat een van de laagste prioriteiten en CIR heeft. Het verschil op CIR is honderdvoudig. Daarom is het belangrijk om de klassen, impact, gemeenschappelijke controles / verificaties en aanbevelingen te begrijpen.
Klassebewaking - copp-system-p-class-monitoring
Deze klasse omvat ICMP voor IPv4 en IPv6 en traceroute van verkeer dat naar de switch in kwestie wordt geleid.
class-map copp-system-p-class-monitoring (match-any)
match access-group name copp-system-p-acl-icmp
match access-group name copp-system-p-acl-icmp6
match access-group name copp-system-p-acl-traceroute
set cos 1
police cir 360 kbps , bc 128000 bytes
Impact
Een veel voorkomende misvatting wanneer pakketverlies of latentie wordt opgelost, is om de switch door de in-band poorten te pingen, die door CoPP worden beperkt. Omdat CoPP ICMP zwaar in de gaten houdt, zelfs bij weinig verkeer of congestie, kan pakketverlies worden gezien door rechtstreeks naar in-band interfaces te pingen als ze de CIR schenden.
Bijvoorbeeld, door een ping naar direct aangesloten interfaces op gerouteerde poorten, met een packet payload van 500, vallen periodiek te zien.
N9K-3# ping 192.168.1.1 count 1000 packet-size 500
...
--- 192.168.1.1 ping statistics ---
1000 packets transmitted, 995 packets received, 0.50% packet loss
round-trip min/avg/max = 0.597/0.693/2.056 ms
Op de Nexus, waar de ICMP-pakketten waren bestemd, zie je dat CoPP ze liet vallen toen de overtreding werd gedetecteerd en de CPU werd beveiligd:
N9K-4# show policy-map interface control-plane class copp-system-p-class-monitoring
Control Plane
Service-policy input: copp-system-p-policy-strict
class-map copp-system-p-class-monitoring (match-any)
match access-group name copp-system-p-acl-icmp
match access-group name copp-system-p-acl-icmp6
match access-group name copp-system-p-acl-traceroute
set cos 1
police cir 360 kbps , bc 128000 bytes
module 1 :
transmitted 750902 bytes;
5-minute offered rate 13606 bytes/sec
conformed 13606 peak-rate bytes/sec
at Sun May 01 22:49:24 2022
dropped 2950 bytes;
5-min violate rate 53 byte/sec
violated 53 peak-rate byte/sec at Sun May 01 22:49:24 2022
Om problemen met latentie of pakketverlies op te lossen, wordt aanbevolen om hosts te gebruiken die bereikbaar zijn via de switch via het gegevensvlak, niet bestemd voor de switch zelf, die het vliegverkeer zou regelen. Dataplanverkeer wordt doorgestuurd / gerouteerd op hardwareniveau zonder SUP-interventie en dus niet bewaakt door CoPP, en ervaart meestal geen druppels.
Aanbevelingen
Klassenbeheer - copp-system-p-class-management
Zoals hier te zien, omvat deze klasse verschillende beheerprotocollen die kunnen worden gebruikt voor communicatie (SSH, Telnet), overdrachten (SCP, FTP, HTTP, SFTP, TFTP), klok (NTP), AAA (Radius / TACACS) en monitoring (SNMP), voor IPv4- en IPv6-communicatie.
class-map copp-system-p-class-management (match-any)
match access-group name copp-system-p-acl-ftp
match access-group name copp-system-p-acl-ntp
match access-group name copp-system-p-acl-ssh
match access-group name copp-system-p-acl-http
match access-group name copp-system-p-acl-ntp6
match access-group name copp-system-p-acl-sftp
match access-group name copp-system-p-acl-snmp
match access-group name copp-system-p-acl-ssh6
match access-group name copp-system-p-acl-tftp
match access-group name copp-system-p-acl-https
match access-group name copp-system-p-acl-snmp6
match access-group name copp-system-p-acl-tftp6
match access-group name copp-system-p-acl-radius
match access-group name copp-system-p-acl-tacacs
match access-group name copp-system-p-acl-telnet
match access-group name copp-system-p-acl-radius6
match access-group name copp-system-p-acl-tacacs6
match access-group name copp-system-p-acl-telnet6
set cos 2
police cir 36000 kbps , bc 512000 bytes
Impact
De meest voorkomende gedragingen of druppels geassocieerd met deze klasse zijn:
Aanbevelingen
Klasse L3 Unicast-gegevens - copp-system-p-class-l3uc-data
Deze klasse heeft specifiek betrekking op Glean-pakketten. Dit type pakket wordt ook behandeld door de Hardware Rate Limiter (HWRL).
Als het Address Resolution Protocol (ARP)-verzoek voor de volgende hop niet wordt opgelost wanneer inkomende IP-pakketten worden doorgestuurd in een lijnkaart, stuurt de lijnkaart de pakketten door naar de supervisor-module.
De supervisor lost het MAC-adres op voor de volgende hop en programmeert de hardware.
class-map copp-system-p-class-l3uc-data (match-any)
match exception glean
set cos 1
Dit gebeurt meestal wanneer statische routes worden gebruikt en de volgende hop onbereikbaar of onopgelost is.
Wanneer een ARP-verzoek wordt verzonden, voegt de software een / 32-drop-nabijheid in de hardware toe om te voorkomen dat de pakketten naar hetzelfde next-hop IP-adres worden doorgestuurd naar de supervisor. Wanneer de ARP is opgelost, wordt de hardware-invoer bijgewerkt met het juiste MAC-adres. Als de ARP-vermelding niet is opgelost voor een time-outperiode, wordt de vermelding verwijderd uit de hardware.
Opmerking: CoPP en HWRL werken samen om ervoor te zorgen dat de CPU is beveiligd. Hoewel ze vergelijkbare functies lijken uit te voeren, treedt eerst HWRL op. De implementatie is gebaseerd op waar de specifieke functie is geïmplementeerd op de forwarding-engines op de ASIC. Deze seriële benadering maakt granulariteit en meerlaagse bescherming mogelijk die alle CPU-gebonden pakketten beoordelen.
De HWRL wordt uitgevoerd per instantie/forwarding engine op de module en kan worden bekeken met de show hardware rate-limiter
opdracht. HWRL valt buiten de reikwijdte van dit technische document.
show hardware rate-limiter
Units for Config: kilo bits per second
Allowed, Dropped & Total: aggregated bytes since last clear counters
Module: 1
R-L Class Config Allowed Dropped Total
+----------------+----------+--------------------+--------------------+--------------------+
L3 glean 100 0 0 0
L3 mcast loc-grp 3000 0 0 0
access-list-log 100 0 0 0
bfd 10000 0 0 0
fex 12000 0 0 0
span 50 0 0 0
sflow 40000 0 0 0
vxlan-oam 1000 0 0 0
100M-ethports 10000 0 0 0
span-egress disabled 0 0 0
dot1x 3000 0 0 0
mpls-oam 300 0 0 0
netflow 120000 0 0 0
ucs-mgmt 12000 0 0 0
Impact
Aanbevelingen
hardware ip glean throttle.
Op de Nexus 7000 8.4(2), introduceerde het ook bloemfilterondersteuning voor glean-aansluitingen voor M3- en F4-modules. Raadpleeg: Configuratiehandleiding voor de configuratie van de NX-OS Unicast-routering van de Cisco Nexus 7000-reeks
Bekijk alle statische routeconfiguraties die onbereikbare next-hop-adressen gebruiken of gebruik dynamische routeringsprotocollen die dergelijke routes dynamisch uit de RIB verwijderen.
Klasse kritiek - class-map copp-system-p-class-critical
Deze klasse verwijst naar de meest kritische controlevliegtuigprotocollen vanuit een L3-perspectief, waaronder routeringsprotocollen voor IPv4 en IPv6 (RIP, OSPF, EIGRP, BGP), auto-RP, virtueel poortkanaal (vPC) en l2pt en IS-IS.
class-map copp-system-p-class-critical (match-any)
match access-group name copp-system-p-acl-bgp
match access-group name copp-system-p-acl-rip
match access-group name copp-system-p-acl-vpc
match access-group name copp-system-p-acl-bgp6
match access-group name copp-system-p-acl-ospf
match access-group name copp-system-p-acl-rip6
match access-group name copp-system-p-acl-eigrp
match access-group name copp-system-p-acl-ospf6
match access-group name copp-system-p-acl-eigrp6
match access-group name copp-system-p-acl-auto-rp
match access-group name copp-system-p-acl-mac-l2pt
match access-group name copp-system-p-acl-mac-l3-isis
set cos 7
police cir 36000 kbps , bc 1280000 bytes
Impact
Druppels op copp-system-p-class-critical
overdrachtsinstabiliteit naar routeringsprotocollen, die kunnen bestaan uit gedropte of convergentiefouten, of update / NLRI-propagatie.
De meest voorkomende beleidsfouten in deze klasse kunnen betrekking hebben op malafide apparaten op het netwerk die abnormaal werken (als gevolg van een verkeerde configuratie of storing) of schaalbaarheid.
Aanbevelingen
Klasse belangrijk - copp-system-p-class-important
Deze klasse heeft betrekking op de first-hop redundancy protocollen (FHRP), die HSRP, VRRP en ook LLDP omvat
class-map copp-system-p-class-important (match-any)
match access-group name copp-system-p-acl-hsrp
match access-group name copp-system-p-acl-vrrp
match access-group name copp-system-p-acl-hsrp6
match access-group name copp-system-p-acl-vrrp6
match access-group name copp-system-p-acl-mac-lldp
set cos 6
police cir 2500 kbps , bc 1280000 bytes
Impact
Het meest voorkomende gedrag dat hier wordt gezien en dat leidt tot dalingen, zijn problemen met Layer 2-instabiliteit, wat leidt tot apparaten die overgaan naar actieve toestandsscenario's (gesplitste hersenen), agressieve timers, misconfiguraties of schaalbaarheid.
Aanbevelingen:
Class L2 Unpoliced - copp-system-p-class-l2-unpoliced
De klasse L2 unpoliced verwijst naar alle kritieke Layer 2-protocollen die de basis vormen voor alle protocollen van de bovenste laag en dus worden beschouwd als bijna ongecontroleerd met de hoogste CIR en prioriteit.
Deze klasse behandelt effectief Spanning-Tree Protocol (STP), Link Aggregation Control Protocol (LACP), Cisco Fabric Service over Ethernet (CFSoE)
class-map copp-system-p-class-l2-unpoliced (match-any)
match access-group name copp-system-p-acl-mac-stp
match access-group name copp-system-p-acl-mac-lacp
match access-group name copp-system-p-acl-mac-cfsoe
match access-group name copp-system-p-acl-mac-sdp-srp
match access-group name copp-system-p-acl-mac-l2-tunnel
match access-group name copp-system-p-acl-mac-cdp-udld-vtp
set cos 7
police cir 50 mbps , bc 8192000 bytes
Deze klasse heeft een politie CIR van 50 Mbps, de hoogste van alle klassen, samen met de hoogste burst rate absorptie.
Impact
Drops op deze klasse kunnen leiden tot wereldwijde instabiliteit, omdat alle bovenlaag protocollen en communicatie op data, controle en beheer vlakken vertrouwen op een onderliggende Layer 2 stabiliteit.
Problemen met STP-overtredingen kunnen leiden tot TCN's en STP-convergentieproblemen, waaronder STP-geschillen, MAC-spoelingen, bewegingen en gehandicapte leergedragingen, die bereikbaarheidsproblemen veroorzaken en verkeerslussen kunnen veroorzaken die het netwerk destabiliseren.
Deze klasse verwijst ook naar LACP en behandelt dus alle EtherType-pakketten die zijn gekoppeld aan 0x8809, waaronder alle LACPDU's die worden gebruikt om de status van de poortkanaalverbindingen te behouden. Instabiliteit in deze klasse kan ertoe leiden dat de poortkanalen tijdelijk worden uitgeschakeld als de LACPDU's worden weggelaten.
Cisco Fabric Service over Ethernet (CSFoE) valt binnen deze klasse en wordt gebruikt om kritische toestanden voor toepassingscontrole tussen Nexus-switches te communiceren en is daarom noodzakelijk voor de stabiliteit.
Hetzelfde geldt voor andere protocollen binnen deze klasse, waaronder CDP, UDLD en VTP.
Aanbevelingen
Klasse Multicast Router - class-map copp-system-p-class-multicast-router
Deze klasse heeft betrekking op PIM-pakketten (Control Plane Protocol Independent Multicast) die worden gebruikt voor het instellen en beheren van gerouteerde multicast-gedeelde bomen via alle PIM-apparaten in het gegevenspad, en omvat First-Hop Router (FHR), Last-Hop Router (LHR), Intermediate-Hop Routers (IHR) en Rendez-vous Points (RP's). Pakketten die in deze klasse zijn ingedeeld, omvatten PIM-registratie voor bronnen, PIM-verbindingen voor ontvangers voor zowel IPv4 als IPv6, in het algemeen alle verkeer dat is bestemd voor PIM (224.0.0.13) en Multicast Source Discovery Protocol (MSDP). Houd er rekening mee dat er verschillende extra klassen zijn, die betrekking hebben op zeer specifieke delen van multicast- of RP-functionaliteit die door verschillende klassen worden afgehandeld.
class-map copp-system-p-class-multicast-router (match-any)
match access-group name copp-system-p-acl-pim
match access-group name copp-system-p-acl-msdp
match access-group name copp-system-p-acl-pim6
match access-group name copp-system-p-acl-pim-reg
match access-group name copp-system-p-acl-pim6-reg
match access-group name copp-system-p-acl-pim-mdt-join
match exception mvpn
set cos 6
police cir 2600 kbps , bc 128000 bytes
Impact
De belangrijkste impact op druppels die betrekking hebben op deze klasse worden geassocieerd met problemen die communiceren met multicast bronnen door PIM registratie in de richting van de RPs of PIM voegt niet goed verwerkt, die de gedeelde of kortste pad bomen zou destabiliseren in de richting van de bronnen van de multicast stroom of naar de RPs. Gedrag kan bestaan uit een uitgaande interfacelijst (OIL) die niet correct is ingevuld vanwege ontbrekende verbindingen, of (S, G) of (*, G) die niet consistent in de omgeving wordt weergegeven. Er kunnen zich ook problemen voordoen tussen multicast-routeringsdomeinen die afhankelijk zijn van MSDP voor interconnectie.
Aanbevelingen
Class Multicast Host - copp-system-p-class-multicast-host
Deze klasse verwijst naar Multicast Listener Discovery (MLD), met name MLD-query's, -rapporten, -reducties en MLDv2-pakkettypen. MLD is een IPv6-protocol dat een host gebruikt om multicast-gegevens voor een bepaalde groep op te vragen. Met de informatie verkregen via MLD, de software onderhoudt een lijst van multicast groep of kanaal lidmaatschappen op een per interface basis. De apparaten die MLD-pakketten ontvangen, verzenden de multicast-gegevens die ze ontvangen voor aangevraagde groepen of kanalen uit het netwerksegment van de bekende ontvangers. MLDv1 is afgeleid van IGMPv2 en MLDv2 is afgeleid van IGMPv3. IGMP gebruikt IP Protocol 2-berichttypen, terwijl MLD IP Protocol 58-berichttypen gebruikt, een subset van de ICMPv6-berichten.
class-map copp-system-p-class-multicast-host (match-any)
match access-group name copp-system-p-acl-mld
set cos 1
police cir 1000 kbps , bc 128000 bytes
Impact
Drops in deze klasse vertalen naar problemen met link-lokale IPv6 multicast-communicatie, waardoor luisteraarrapporten van ontvangers of antwoorden op algemene vragen kunnen worden weggelaten, waardoor de detectie van multicast-groepen die de hosts willen ontvangen, wordt voorkomen. Dit kan van invloed zijn op het snuffelmechanisme en het verkeer niet goed doorsturen via verwachte interfaces die het verkeer hebben aangevraagd.
Aanbevelingen
Klasse Layer 3 Multicast-gegevens copp-system-p-class-l3mc-data
- en Klasse Layer 3 Multicast IPv6-gegevens - copp-system-p-class-l3mcv6-data
Deze klassen verwijzen naar verkeer dat overeenkomt met een multicast uitzondering omleiding naar de SUP. In dit geval zijn er twee voorwaarden die door deze klassen worden behandeld. De eerste is Reverse-Path Forwarding (RPF) en de tweede is Destination Miss. Destination Miss verwijst naar multicast-pakketten waarbij het opzoeken in hardware voor de Layer 3 multicast-forwardingtabel mislukt en het gegevenspakket dus naar de CPU wordt gepunteerd. Deze pakketten worden soms gebruikt om het multicast-besturingsvlak te activeren/installeren en de gegevens van de forwardingtabellen voor de hardware toe te voegen, op basis van het dataverkeer. Data plane multicast-pakketten die de RPF schenden, zouden ook overeenkomen met deze uitzondering en worden geclassificeerd als een overtreding.
class-map copp-system-p-class-l3mc-data (match-any)
match exception multicast rpf-failure
match exception multicast dest-miss
set cos 1
police cir 2400 kbps , bc 32000 bytes
class-map copp-system-p-class-l3mcv6-data (match-any)
match exception multicast ipv6-rpf-failure
match exception multicast ipv6-dest-miss
set cos 1
police cir 2400 kbps , bc 32000 bytes
Impact
RPF-fouten en bestemmingsfouten impliceren een ontwerp- of configuratieprobleem met betrekking tot de manier waarop verkeer door de multicast-router stroomt. Destination missers komen vaak voor bij state creation, druppels kunnen leiden tot het programmeren en creëren van (*, G), (S, G) mislukkingen.
Aanbevelingen
Klasse IGMP - copp-system-p-class-igmp
Deze klasse verwijst naar alle IGMP-berichten, voor alle versies die worden gebruikt om multicast-gegevens voor een bepaalde groep op te vragen en die worden gebruikt door de IGMP-snuffelfunctionaliteit om de groepen en de relevante uitgaande interfacelijst (OIL) te onderhouden die het verkeer doorstuurt naar de geïnteresseerde ontvangers op Layer 2. De IGMP-berichten zijn lokaal significant omdat ze niet over een Layer 3-grens gaan, omdat hun tijd om te leven (TTL) 1 moet zijn, zoals gedocumenteerd onder RFC2236 (Internet Group Management Protocol, versie 2). De IGMP-pakketten die door deze klasse worden afgehandeld, bevatten alle lidmaatschapsvragen (algemeen of bron- / groepspecifiek), samen met het lidmaatschap en de verlofrapporten van de ontvangers.
class-map copp-system-p-class-normal-igmp (match-any)
match access-group name copp-system-p-acl-igmp
set cos 3
police cir 3000 kbps , bc 64000 bytes
Impact
Drops in deze klasse zouden zich vertalen naar problemen op alle niveaus van een multicast-communicatie tussen bron en ontvanger, afhankelijk van het type IGMP-bericht dat als gevolg van de overtreding is gevallen. Als lidmaatschapsrapporten van ontvangers verloren gaan, is de router niet op de hoogte van apparaten die geïnteresseerd zijn in het verkeer en daarom neemt deze de interface/VLAN niet op in de relevante lijst met uitgaande interfaces. Als dit apparaat ook de querier of aangewezen router is, worden de relevante PIM-join-berichten naar de RP niet geactiveerd als de bron zich buiten het lokale Layer 2-domein bevindt, waardoor het nooit het gegevensvlak over de multicaststructuur tot aan de ontvanger of RP vaststelt. Als het verlofrapport verloren gaat, kan de ontvanger ongewenst verkeer blijven ontvangen. Dit kan ook van invloed zijn op alle relevante IGMP-query's die worden geactiveerd door de querier en de communicatie tussen de multicast-routers in een domein.
Aanbevelingen
Klasse Normaal - copp-system-p-class-normalcopp-system-p-class-normal
Deze klasse verwijst naar verkeer dat overeenkomt met standaard ARP-verkeer en omvat ook verkeer dat is gekoppeld aan 802.1X, dat wordt gebruikt voor toegangscontrole via een poort. Dit is een van de meest voorkomende klassen die overtredingen tegenkomt als ARP-verzoeken, Gratuitous ARP, Reverse ARP-pakketten worden uitgezonden en door het hele Layer 2-domein worden verspreid. Het is belangrijk om te onthouden dat ARP-pakketten geen IP-pakketten zijn, deze pakketten bevatten geen L3-header en dus wordt de beslissing puur genomen op basis van de reikwijdte van de L2-headers. Als een router is geconfigureerd met een IP-interface die is gekoppeld aan dat subnet, zoals een Switch Virtual Interface (SVI), wijst de router de ARP-pakketten naar de SUP die moet worden verwerkt, omdat ze bestemd zijn voor het hardwarematige broadcast-adres. Elke broadcast storm, Layer 2 loop (als gevolg van STP of flaps), of een rouge apparaat in het netwerk kan leiden tot een ARP storm die schendingen veroorzaakt aanzienlijk toenemen.
class-map copp-system-p-class-normal (match-any)
match access-group name copp-system-p-acl-mac-dot1x
match protocol arp
set cos 1
police cir 1400 kbps , bc 32000 bytes
Impact
De impact van overtredingen in deze klasse hangt sterk af van de tijdsduur van de evenementen en de rol van de switch op het milieu. Drops in deze klasse impliceren dat ARP-pakketten momenteel worden weggegooid en dus niet worden verwerkt door de SUP-engine, wat kan leiden tot twee hoofdgedragingen die worden veroorzaakt door onvolledige ARP-resoluties.
Vanuit het oogpunt van de eindhost kunnen apparaten in het netwerk de adresresolutie niet oplossen of voltooien met de switch. Als dit apparaat fungeert als de standaardgateway voor het segment, kan dit ertoe leiden dat apparaten hun gateway niet kunnen oplossen en dus niet buiten hun L2 Ethernet-segment (VLAN) kunnen routeren. Apparaten kunnen nog steeds communiceren in het lokale segment als ze de ARP-resolutie voor andere eindhosts in het lokale segment kunnen voltooien.
Vanuit het oogpunt van de switch, als de storm en overtredingen heersen, kan het ook leiden tot de switch niet in staat om het proces voor ARP-verzoek dat het gegenereerd te voltooien. Deze verzoeken worden normaal gesproken gegenereerd voor next-hop of direct aangesloten subnetresoluties. Hoewel de ARP-antwoorden unicast van aard zijn, omdat ze zijn gericht aan de MAC die eigendom is van de switch, worden ze geclassificeerd onder dezelfde klasse, omdat ze nog steeds ARP-pakketten zijn. Dit vertaalt zich in bereikbaarheidsproblemen omdat de switch het verkeer niet goed kan verwerken als de volgende hop niet is opgelost, en kan leiden tot problemen met Layer 2 header herschrijven, als de beheerder van de nabijheid geen vermelding voor de host heeft.
De impact hangt ook af van de omvang van het fundamentele probleem dat de ARP-schending heeft veroorzaakt. Bijvoorbeeld, in een broadcast storm, hosts en de switch blijven ARP om te proberen om de nabijheid, die kan leiden tot extra broadcast verkeer op het netwerk op te lossen, en als ARP-pakketten zijn Layer 2, is er geen Layer 3 tijd om te leven (TTL) om een L2 lus te breken en dus blijven ze lopen, en exponentieel groeien door het netwerk totdat de lus is verbroken.
Aanbevelingen
Class NDP - copp-system-p-acl-ndp
Deze klasse verwijst naar verkeer dat is gekoppeld aan IPv6-buurtdetectie / -advertentie en routerverzoeken en advertentiepakketten die ICMP-berichten gebruiken om lokale Link-layer-adressen van buren te bepalen, en het wordt gebruikt voor bereikbaarheid en bijhouden van buurapparaten.
class-map copp-system-p-class-ndp (match-any)
match access-group name copp-system-p-acl-ndp
set cos 6
police cir 1400 kbps , bc 32000 bytes
Impact
Overtredingen in deze klasse kunnen de IPv6-communicatie tussen apparaten van buren belemmeren, omdat deze pakketten worden gebruikt om de dynamische ontdekking of Link-layer / lokale informatie tussen hosts en routers op de lokale link te vergemakkelijken. Een onderbreking van deze communicatie kan ook problemen veroorzaken met bereikbaarheid buiten of via de bijbehorende lokale link. Als er communicatieproblemen zijn tussen IPv6-buren, zorg er dan voor dat er geen druppels op deze klasse vallen.
Aanbevelingen
Klasse Normal DHCP - copp-system-p-class-normal-dhcp
Deze klasse verwijst naar verkeer dat is gekoppeld aan het Bootstrap-protocol (BOOTP-client/server), algemeen bekend als DHCP-pakketten (Dynamic Host Control Protocol) op hetzelfde lokale Ethernet-segment voor zowel IPv4 als IPv6. Dit heeft specifiek betrekking op de verkeerscommunicatie die afkomstig is van een bootp-client of bestemd is voor een BOOTP-server, via de volledige detectie, aanbieding, aanvraag en erkenning (DORA) pakketuitwisseling, en omvat ook DHCPv6 client / server transactie via UDP-poorten 546/547.
class-map copp-system-p-class-normal-dhcp (match-any)
match access-group name copp-system-p-acl-dhcp
match access-group name copp-system-p-acl-dhcp6
set cos 1
police cir 1300 kbps , bc 32000 bytes
Impact
Overtredingen in deze klasse kunnen ertoe leiden dat eindhosts geen IP van de DHCP-server kunnen verkrijgen en dus terugvallen op hun APIPA-bereik (Automatic Private IP Address), 169.254.0.0/16. Dergelijke overtredingen kunnen optreden in omgevingen waar apparaten tegelijkertijd proberen op te starten en dus verder gaan dan de CIR die aan de klasse is gekoppeld.
Aanbevelingen
show ip dhcp global statistics
en omleidingen: show system internal access-list sup-redirect-stats module 1 | grep -i dhcp
.Klasse Normal DHCP Relay Response - copp-system-p-class-normal-dhcp-relay-response
Deze klasse verwijst naar het verkeer dat is gekoppeld aan de DHCP-relayfunctionaliteit voor zowel IPv4 als IPv6, dat wordt gericht naar de geconfigureerde DHCP-servers die onder het relay zijn geconfigureerd. Dit heeft specifiek alleen betrekking op de verkeerscommunicatie die afkomstig is van een BOOTP-server of bestemd is voor BOOTP-clients via de volledige DORA-pakketuitwisseling, en omvat ook DHCPv6-client / servertransactie via UDP-poorten 546 / 547.
class-map copp-system-p-class-normal-dhcp-relay-response (match-any)
match access-group name copp-system-p-acl-dhcp-relay-response
match access-group name copp-system-p-acl-dhcp6-relay-response
set cos 1
police cir 1500 kbps , bc 64000 bytes
Impact
Overtredingen voor deze klasse hebben dezelfde impact als de overtredingen voor de klasse copp-system-p-class-normal-dhcp, omdat ze beide deel uitmaken van dezelfde transactie. Deze klasse richt zich voornamelijk op responscommunicatie van de relay agent-servers. De Nexus fungeert niet als de DHCP-server, het is alleen ontworpen om op te treden als een relay-agent.
Aanbevelingen
show ip dhcp relay
en show ip dhcp relay statistics
.Klasse NAT Flow - copp-system-p-class-nat-flow
Deze klasse verwijst naar software-switch NAT-stroomverkeer. Wanneer een nieuwe dynamische vertaling wordt gemaakt, wordt de software doorgestuurd totdat de vertaling in de hardware is geprogrammeerd en vervolgens wordt het door CoPP gecontroleerd om het verkeer te beperken dat naar de supervisor wordt gestuurd terwijl de invoer in de hardware wordt geïnstalleerd.
class-map copp-system-p-class-nat-flow (match-any)
match exception nat-flow
set cos 7
police cir 800 kbps , bc 64000 bytes
Impact
Drops in deze klasse treden meestal op wanneer er veel nieuwe dynamische vertalingen en stromen in de hardware worden geïnstalleerd. De impact heeft betrekking op softwareschakelde pakketten die worden weggegooid en niet aan de eindhost worden geleverd, wat kan leiden tot verlies en hertransmissies. Zodra de vermelding in de hardware is geïnstalleerd, wordt er geen verder verkeer naar de supervisor gestuurd.
Aanbevelingen
Uitzondering klasse - copp-system-p-class-exception
Deze klasse verwijst naar uitzonderingspakketten die zijn gekoppeld aan IP-opties en IP ICMP-onbereikbare pakketten. Als een bestemmingsadres niet aanwezig is op de forwarding information base (FIB) en dit resulteert in een misser, stuurt de SUP een ICMP onbereikbaar pakket terug naar de afzender. Pakketten waarvoor IP-opties zijn ingeschakeld, vallen ook onder deze klasse. Raadpleeg het IANA-document voor meer informatie over IP-opties: IP-optienummers
class-map copp-system-p-class-exception (match-any)
match exception ip option
match exception ip icmp unreachable
match exception ipv6 option
match exception ipv6 icmp unreachable
set cos 1
police cir 150 kbps , bc 32000 bytes
Impact
Deze klasse wordt zwaar bewaakt en druppels op deze klasse zijn geen indicatie van een storing, maar eerder van een beschermingsmechanisme om de reikwijdte van ICMP-onbereikbare en IP-optiepakketten te beperken.
Aanbevelingen
Klasse omleiden - copp-system-p-class-redirect
Deze klasse verwijst naar verkeer dat is gekoppeld aan het Precision Time Protocol (PTP), dat wordt gebruikt voor tijdsynchronisatie. Dit omvat multicastverkeer voor het gereserveerde bereik 224.0.1.129/32, unicastverkeer op UDP-poort 319/320 en Ethetype 0X88F7.
class-map copp-system-p-class-redirect (match-any)
match access-group name copp-system-p-acl-ptp
match access-group name copp-system-p-acl-ptp-l2
match access-group name copp-system-p-acl-ptp-uc
set cos 1
police cir 280 kbps , bc 32000 bytes
Impact
Drops in deze klasse kunnen leiden tot problemen op apparaten die niet correct zijn gesynchroniseerd of die niet de juiste hiërarchie hebben ingesteld.
Aanbevelingen
Klasse OpenFlow - copp-system-p-class-openflow
Deze klasse verwijst naar verkeer dat is gekoppeld aan OpenFlow-agentbewerkingen en de bijbehorende TCP-verbinding tussen de controller en de agent.
class-map copp-system-p-class-openflow (match-any)
match access-group name copp-system-p-acl-openflow
set cos 5
police cir 1000 kbps , bc 32000 bytes
Impact
Drops in deze klasse kunnen leiden tot problemen met agents die de instructies van de controller niet correct ontvangen en verwerken om het doorstuurvlak van het netwerk te beheren
Aanbevelingen
De eerste stappen om CoPP-overtredingen op te lossen, zijn het bepalen van:
Het vermelde gedrag is bijvoorbeeld gedetecteerd:
copp-system-p-class-normal
zijn.class-map copp-system-p-class-normal (match-any)
match access-group name copp-system-p-acl-mac-dot1x
match protocol arp
set cos 1
police cir 1400 kbps , bc 32000 bytes
module 1 :
transmitted 3292445628 bytes;
dropped 522023852 bytes;
Het is belangrijk om te benadrukken dat CoPP de impact op het verkeer in verband met de specifieke klasse isoleert, die in dit voorbeeld ARP en copp-systeem-p-klasse-normaal zijn. Verkeer gerelateerd aan andere klassen, zoals OSPF, BGP wordt niet door CoPP laten vallen, omdat ze volledig binnen een andere klasse vallen. Als dit niet is aangevinkt, kunnen ARP-problemen in andere problemen terechtkomen, wat van invloed kan zijn op protocollen die er in het begin op vertrouwen. Als een ARP-cache bijvoorbeeld uitvalt en niet wordt ververst vanwege overmatige overtredingen, kan een TCP-sessie zoals BGP worden beëindigd.
Omdat het door CoPP gevoerde verkeer alleen wordt geassocieerd met CPU-gebonden verkeer, is een van de belangrijkste tools de Ethanalyzer. Deze tool is een Nexus-implementatie van TShark en maakt het mogelijk dat verkeer dat door de supervisor wordt verzonden en ontvangen, wordt vastgelegd en gedecodeerd. Het kan ook filters gebruiken die zijn gebaseerd op verschillende criteria, zoals protocollen of header-informatie, waardoor het een waardevol hulpmiddel wordt om verkeer te bepalen dat door de CPU wordt verzonden en ontvangen.
De aanbeveling is om eerst het ARP-verkeer te onderzoeken dat door de toezichthouder wordt gezien wanneer de Ethanalyzer-tool rechtstreeks op de terminalsessie wordt uitgevoerd of naar een bestand wordt verzonden voor analyse. Filters en limieten kunnen worden gedefinieerd om de opname te concentreren op een specifiek patroon of gedrag. Voeg hiervoor flexibele weergavefilters toe.
Een veel voorkomende misvatting is dat de Ethanalyzer alle verkeer vastlegt dat door de switch loopt. Het dataverkeer tussen hosts wordt door de hardware-ASIC's geschakeld of gerouteerd tussen gegevenspoorten, vereist geen CPU-betrokkenheid en wordt dus normaal niet gezien door de Ethanalyzer-opname. Voor het vastleggen van dataverkeer worden andere hulpmiddelen, zoals ELAM of SPAN, geadviseerd. Als u bijvoorbeeld ARP wilt filteren, gebruikt u de opdracht:
ethanalyzer local interface inband display-filter arp limit-captured-frames 0 autostop duration 60 > arpcpu
Belangrijke configureerbare velden:
interface inband
- verwijst naar verkeer dat naar de SUP wordt geleiddisplay-filter arp
- verwijst naar het toegepaste haaienfilter, de meeste Wireshark-filters worden geaccepteerdlimit-captured-frames 0
- verwijst naar de limiet, 0 staat voor onbeperkt, totdat gestopt door een andere parameter of handmatig gestopt door Ctrl + Cautostop duration 60
- verwijst naar de Ethanalyzer stop na 60 seconden, dus het creëert een momentopname van 60 seconden van ARP-verkeer gezien op de CPUDe Ethanalyzer-uitvoer wordt omgeleid naar een bestand op de bootflash met > arpcpu, dat handmatig moet worden verwerkt. Na 60 seconden is de opname voltooid en eindigt de Ethanalyzer dynamisch en bevindt de bestands-arpcpu zich op de bootflash van de switch, die vervolgens kan worden verwerkt om de bovenste praters te extraheren. Voorbeeld:
show file bootflash:arpcpu | sort -k 3,5 | uniq -f 2 -c | sort -r -n | head lines 50
669 2022-05-10 10:29:50.901295 28:ac:9e:ad:5e:47 -> ff:ff:ff:ff:ff:ff ARP Who has 10.1.1.1? Tell 10.1.1.2
668 2022-05-10 10:29:50.901295 28:ac:9e:ad:5e:43 -> ff:ff:ff:ff:ff:ff ARP Who has 10.2.1.1? Tell 10.2.1.2
668 2022-05-10 10:29:50.901295 28:ac:9e:ad:5e:41 -> ff:ff:ff:ff:ff:ff ARP Who has 10.3.1.1? Tell 10.3.1.2
Dit filter wordt gesorteerd op basis van: de bron- en bestemmingskolommen, vervolgens de unieke gevonden overeenkomsten (maar negeert de datumkolom), telt de instanties en voegt het aantal toe dat wordt gezien, en sorteert uiteindelijk van boven naar beneden, op basis van telling, en geeft de eerste 50 resultaten weer.
In dit laboratoriumvoorbeeld werden in 60 seconden meer dan 600 ARP-pakketten ontvangen van drie apparaten, die zijn geïdentificeerd als de vermoedelijke overtreder-apparaten. In de eerste kolom van het filter wordt het aantal instanties voor deze gebeurtenis beschreven dat binnen de opgegeven duur in het vastleggingsbestand is weergegeven.
Het is belangrijk om te begrijpen dat de Ethanalyzer-tool werkt op de in-band driver, die in wezen de communicatie in de ASIC is. In theorie moet het pakket door de kernel en de pakketbeheerder gaan om te worden overgedragen aan het bijbehorende proces zelf. CoPP en HWRL handelen voordat het verkeer wordt gezien op de Ethanalyzer. Zelfs als de overtredingen actief toenemen, gaat er nog steeds wat verkeer door en wordt het in overeenstemming gebracht met het politietarief, wat inzicht geeft in de verkeersstromen die naar de CPU worden gepunteerd. Het is een belangrijk onderscheid, omdat het verkeer op de Ethanalyzer NIET het verkeer is dat het CIR heeft geschonden en is weggevallen.
De Ethanalyzer kan ook op een open manier worden gebruikt, zonder dat er een weergavefilter of opnamefilter is opgegeven om al het relevante SUP-verkeer te vangen. Dit kan worden gebruikt als een isolatiemaatregel als onderdeel van de aanpak om het probleem op te lossen.
Voor meer informatie en het gebruik van de Ethanalyzer, zie de TechNote:
Ethanalyzer op de Nexus 7000-handleiding voor probleemoplossing
Opmerking: Nexus 7000, voorafgaand aan 8.X code release, kan alleen uitvoeren Ethanalyzer opnamen via de admin VDC, die SUP-gebonden verkeer van alle VDC's omvatten. VDC-specifieke Ethanalyzer is aanwezig in 8.X-codes.
De in-band statistieken die zijn gekoppeld aan CPU-gebonden verkeer houden relevante statistieken bij van in-band TX/RX CPU-verkeer. Deze statistieken kunnen worden gecontroleerd met de opdracht:show hardware internal cpu-mac inband stats
, die inzicht geeft in de huidige tarief- en pieksnelheidsstatistieken.
show hardware internal cpu-mac inband stats`
================ Packet Statistics ======================
Packets received: 363598837
Bytes received: 74156192058
Packets sent: 389466025
Bytes sent: 42501379591
Rx packet rate (current/peak): 35095 / 47577 pps
Peak rx rate time: 2022-05-10 12:56:18
Tx packet rate (current/peak): 949 / 2106 pps
Peak tx rate time: 2022-05-10 12:57:00
Als beste praktijk wordt aanbevolen een basislijn te creëren en te volgen omdat de output van de projecten aanzienlijk varieert vanwege de rol van de switch en de show hardware internal cpu-mac inband stats
infrastructuurvoorzieningen. In deze laboratoriumomgeving zijn de gebruikelijke waarden en historische pieken meestal niet groter dan een paar honderd pps, en dus is dit abnormaal. Het commando show hardware internal cpu-mac inband events
is ook nuttig als historische referentie, omdat het gegevens bevat met betrekking tot het piekgebruik en de tijd dat het werd gedetecteerd.
De Nexus-switches zijn Linux-gebaseerde systemen, en het Nexus Operating System (NXOS) maakt gebruik van CPU-preëmptieve planner, multitasking en multithreading van de respectieve kernarchitectuur om eerlijke toegang tot alle processen te bieden, en dus zijn pieken niet altijd indicatief voor een probleem. Als echter aanhoudende verkeersovertredingen worden gezien, is het waarschijnlijk dat het bijbehorende proces ook zwaar wordt gebruikt en verschijnt als een topbron onder de CPU-uitgangen. Maak meerdere momentopnamen van de CPU-processen om het hoge gebruik van een bepaald proces te verifiëren door het gebruik van: show processes cpu sort | exclude 0.0 or show processes cpu sort | grep
.
Het proces CPU, in-band statistieken en Ethanalyzer verificaties geven inzicht in de processen en het verkeer momenteel verwerkt door de toezichthouder en helpen bij het isoleren van de voortdurende instabiliteit op controle vliegtuig verkeer dat kan cascade in data plane problemen. Het is belangrijk om te begrijpen dat CoPP een beschermingsmechanisme is. Het is reactionair omdat het alleen werkt op verkeer dat op de SUP is gericht. Het is bedoeld om de integriteit van de toezichthouder te waarborgen door de teruggooi van verkeerstarieven, die de verwachte marges overschrijden. Niet alle druppels wijzen op een probleem of vereisen interventie, omdat hun belang verband houdt met de specifieke CoPP-klasse en de geverifieerde impact, op basis van de infrastructuur en het netwerkontwerp. Drops als gevolg van sporadische burst-gebeurtenissen vertalen zich niet in impact, omdat protocollen ingebouwde mechanismen hebben, zoals keepalive en herhalingen die kunnen omgaan met voorbijgaande gebeurtenissen. Blijf gefocust op aanhoudende gebeurtenissen of abnormale gebeurtenissen die verder gaan dan de vastgestelde uitgangswaarden. Vergeet niet dat CoPP zich moet houden aan de protocollen en functies die specifiek zijn voor de omgeving en moet worden gecontroleerd en voortdurend worden herhaald om het te verfijnen, op basis van schaalbaarheidsbehoeften naarmate ze evolueren. Als er een daling optreedt, bepaal dan of CoPP het verkeer per ongeluk heeft laten vallen of als reactie op een storing of aanval. In beide gevallen moet de situatie worden geanalyseerd en moet worden beoordeeld of er moet worden ingegrepen door een analyse van de impact en de corrigerende maatregelen op het milieu, die buiten de reikwijdte van de switch zelf kunnen vallen.
Recente platforms / codes kunnen de mogelijkheid hebben om een SPAN-naar-CPU uit te voeren, door de spiegel van een poort en punt van het dataverkeer naar de CPU. Dit is normaal gesproken sterk snelheidsbegrensd door de hardwaregrenslimiet en CoPP. Zorgvuldig gebruik van de SPAN naar CPU wordt aanbevolen en valt buiten het toepassingsgebied van dit document.
Raadpleeg de vermelde technische notitie voor meer informatie over deze functie:
Revisie | Publicatiedatum | Opmerkingen |
---|---|---|
2.0 |
26-Mar-2024 |
Alt-tekst toegevoegd.
Bijgewerkte SEO, machinevertaling, stijlvereisten en opmaak. |
1.0 |
01-Jul-2022 |
Eerste vrijgave |