De toezichtfunctie bepaalt of het verkeersniveau binnen het opgegeven profiel of contract valt en stelt u in staat om verkeer dat niet meer op het profiel lijkt uit te zetten of om het te markeren tot een andere DSCP-waarde (Differential Services Code Point). Hiervoor is een contractueel serviceniveau vereist.
DSCP is een maat voor het QoS-niveau (Quality of Service) van het pakket. Samen met DSCP worden IP-voorrang en serviceklasse (CoS) ook gebruikt om het QoS-niveau van het pakket te verzenden.
Toezicht moet niet worden verward met traffic shaping, hoewel beide ervoor zorgen dat het verkeer binnen het profiel of contract blijft.
Toezicht vormt geen buffer voor het verkeer, zodat het toezicht niet van invloed is op de transmissievertraging. In plaats van het als buffer optreden voor out-of-profile pakketten, laat het toezicht hen vallen of merkt hen met verschillende QoS niveaus (DSCP-markering).
Traffic shaping buffers out-of-profile verkeer en verzacht de verkeersbursts, maar beïnvloedt de variatie van vertraging en vertraging. Shaping kan alleen worden toegepast op de uitgaande interface, terwijl toezicht kan worden uitgeoefend op zowel de inkomende als de uitgaande interface.
Catalyst 3550 ondersteunt toezicht voor zowel inkomende als uitgaande richtingen. Traffic shaping wordt niet ondersteund.
Het markeren verandert het pakket QoS niveau volgens een beleid.
Er zijn geen specifieke vereisten van toepassing op dit document.
Dit document is niet beperkt tot specifieke software- en hardware-versies.
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 de potentiële impact van elke opdracht begrijpen.
Toezicht en markering op de Catalyst 3550 worden ondersteund bij alle softwareversies. De nieuwste configuratiehandleiding wordt hier weergegeven. Raadpleeg deze documentatie voor alle ondersteunde functies.
Om toezicht op te zetten moet u de QoS-beleidskaarten definiëren en deze op poorten toepassen. Dit wordt ook wel poortgebaseerde QoS genoemd.
Opmerking: Op VLAN gebaseerde QoS wordt momenteel niet ondersteund door Catalyst 3550.
De policer wordt gedefinieerd door tarief- en barstparameters, evenals actie voor verkeer dat niet op het profiel is ingesteld.
Deze twee soorten beleidsmakers worden ondersteund:
Samenvoegen
individueel
De samengevoegde politieagent handelt op het verkeer in alle gevallen waar het wordt toegepast. De individuele policer handelt afzonderlijk op verkeer in elke instantie waar het wordt toegepast.
N.B.: Op Catalyst 3550 kan de totale policer alleen worden toegepast op verschillende klassen van hetzelfde beleid. Toezicht aggregeren over meerdere interfaces of beleidsregels wordt niet ondersteund.
Pas bijvoorbeeld de samengestelde policer toe om het verkeer van class customer1 en class customer2 in dezelfde policy-map te beperken tot 1 Mbps. Zo'n policer maakt 1 Mbps verkeer mogelijk in de klassen customer1 en customer2 samen. Als u de individuele policer toepast, beperkt de policer het verkeer voor klasse customer1 tot 1 Mbps en voor klasse customer2 tot 1 Mbps. Daarom is elke instantie van de politieagent afzonderlijk.
Deze tabel vat de QoS-actie op het pakket samen wanneer dit wordt behandeld door zowel het in- als het uitreisbeleid:
Opmerking: het is mogelijk om te markeren en markdown binnen dezelfde verkeersklasse van hetzelfde beleid. In een dergelijk geval wordt al het verkeer voor de betreffende klasse als eerste gemarkeerd. Toezicht en markering vindt plaats op reeds gemarkeerd verkeer.
QoS-toezicht in Catalyst 3550 voldoet aan dit concept van een lek emmer:
Het aantal tokens dat evenredig is met de pakketgrootte van het inkomende verkeer wordt in een symbolische emmer geplaatst; het aantal tokens is gelijk aan de grootte van het pakket. Met een regelmatig interval wordt een bepaald aantal tokens afgeleid van de ingestelde snelheid uit de emmer verwijderd. Als er geen plaats in de emmer is om een inkomend pakket aan te passen, wordt het pakket beschouwd als uit-van-profiel en volgens de gevormde het controleren actie gelaten vallen of gemerkt.
Dit concept wordt in dit voorbeeld getoond:
Opmerking: het verkeer is niet gebufferd in de emmer, aangezien het in dit voorbeeld kan verschijnen. het werkelijke verkeer stroomt helemaal niet door de emmer; de emmer wordt alleen gebruikt om te bepalen of het pakket in profiel of out-of-profile is.
Opmerking: de hardware-implementatie van het toezicht kan variëren, maar functioneel voldoet het nog steeds aan dit model.
Deze parameters bepalen de werking van de controle:
Snelheid-bepaalt hoeveel tokens met elk interval worden verwijderd. Dit stelt effectief de politiesnelheid vast. Al verkeer onder het tarief wordt overwogen in profiel. Ondersteunde snelheden variëren van 8 Kbps tot 2 Gbps, en verhogen met 8 Kbps.
Interval-bepaalt hoe vaak de penningen uit de emmer worden verwijderd. Het interval is vastgesteld op 0,125 milliseconden (of 8000 keer per seconde). Deze interval kan niet worden gewijzigd.
Burst—definieert de maximale hoeveelheid tokens die de emmer op elk moment kan vasthouden. De ondersteunde uitbarstingen variëren van 8000 bytes tot 2000000 bytes en de toename van 64 bytes.
Opmerking: hoewel de opdrachtregel help strings een groot bereik van waarden tonen, kan de rate-bps optie niet de ingestelde poortsnelheid overschrijden en kan de burst-byte optie niet 2000000 bytes overschrijden. Als u een grotere waarde invoert, wijst de switch de beleidskaart af wanneer u deze aan een interface koppelt.
Om de opgegeven verkeerssnelheid te handhaven, mag de breuk niet kleiner zijn dan de som van deze vergelijking:
Burstmin (bits) = Rate (bps) / 8000 (1/sec)
Bereken bijvoorbeeld de minimale barstwaarde om een snelheid van 1 Mbps te ondersteunen. De snelheid is gedefinieerd als 1000 Kbps, dus de minimaal vereiste barst is de som van deze vergelijking:
1000 (Kbps) / 8000 (1/sec) =125 (bits)
De minimaal ondersteunde burst grootte is 8000 bytes, wat meer is dan de minimaal berekende burst.
Opmerking: vanwege de granulariteit van het hardwaretoezicht worden de exacte snelheid en burst tot de dichtstbijzijnde ondersteunde waarde afgerond.
Wanneer u de barstsnelheid configureert, moet u er rekening mee houden dat sommige protocollen mechanismen implementeren die op het pakketverlies reageren. TCP (Transmission Control Protocol) vermindert bijvoorbeeld het venster voor elk verloren pakket met de helft. Dit veroorzaakt een "zaagtand"-effect in het TCP-verkeer wanneer TCP probeert te versnellen naar de lijnsnelheid en wordt gedraaid door de policer. Als het gemiddelde percentage van het zaagtandverkeer wordt berekend, is dit percentage veel lager dan het percentage dat door de politie wordt gecontroleerd. U kunt echter de burst verhogen om een beter gebruik te bereiken. Een goede start is om de burst gelijk te stellen aan tweemaal de hoeveelheid verkeer verzonden met het gewenste tarief tijdens Round-Trip Time (TCP RTT). Als RTT niet bekend is, kunt u de waarde van de burst parameter verdubbelen.
Om dezelfde reden is het niet aan te raden om de werking van de policer te benchmarken met verbindingsgeoriënteerd verkeer. Dit scenario laat over het algemeen lagere prestaties zien dan toegestaan door de politie.
Verbindingsloos verkeer kan ook op een andere manier op toezicht reageren. Network File System (NFS) gebruikt bijvoorbeeld blokken die kunnen bestaan uit meer dan één UDP-pakket (User Datagram Protocol). Eén gedropt pakket kan veel pakketten activeren, zelfs het hele blok, om opnieuw te worden verzonden.
Dit voorbeeld berekent de burst voor een TCP-sessie met een politiesnelheid van 64 Kbps en gegeven de TCP RTT is, 0,05 seconden:
<burst> = 2* * = 2 * 0.05 [sec] * 64000/8 [bytes/sec] = 800 [bytes]
In dit voorbeeld is <burst> één TCP-sessie. Schaal dit getal om het verwachte aantal sessies dat door de politieagent gaat te berekenen.
Opmerking: dit is slechts een voorbeeld, in elk geval moet u verkeer en toepassingsvereisten en gedrag ten opzichte van beschikbare bronnen evalueren om controleparameters te kiezen.
Het is mogelijk dat de politieactie het pakket laat vallen of de DSCP van het pakket wijzigt (markdown). Om het pakket te markdown, moet een gecontroleerde kaart DSCP worden gewijzigd. Een standaard gepoliceerde DSCP-kaart merkt het pakket op aan dezelfde DSCP. Daarom vindt geen afbakening plaats.
Pakketten kunnen uit-van-orde worden verzonden wanneer een uit-van-profiel pakket neer aan een DSCP wordt gemerkt die in een verschillende outputrij wordt in kaart gebracht dan originele DSCP. Als de volgorde van de pakketten belangrijk is, markeert u de pakketten die buiten het profiel om naar de DSCP-wachtrij zijn geconverteerd die is toegewezen aan dezelfde uitvoerwachtrij als de pakketten die in het profiel zijn opgeslagen.
Deze tabel bevat een samenvatting van de functies van toezicht en markering die door Catalyst 3550 worden ondersteund, uitgesplitst naar richting:
Eén match statement wordt ondersteund per class-map. Dit zijn geldige matchverklaringen voor het toegangsbeleid:
toegangsgroep voor overeenkomsten
overeenkomsten ip dscp
IP-voorrang voor overeenkomsten
Opmerking: op Catalyst 3550 wordt de opdracht Matchinterface niet ondersteund en in een klasse-map is slechts één matchopdracht toegestaan. Daarom is het lastig om al het verkeer dat binnenkomt via een interface te classificeren en al het verkeer te controleren met één enkele politieagent. Zie Hoe u al het interfaceverkeer kunt classificeren met één sectie van één policer in dit document.
Dit is de geldige match statement voor de egress policy:
overeenkomsten ip dscp
Dit zijn goede beleidsacties voor het toegangsbeleid:
politie
IP DSCP instellen (markering)
IP-voorrang instellen (markering)
trust-DSCP
vertrouwens-ip-voorrang
trustkosten
Deze tabel toont de ondersteunde inkomende QoS-beleidsmatrix:
Deze optie dekt ook de overeenkomende IP-voorrang.
Deze optie dekt het vertrouwen op CoS, IP-voorrang en DSCP.
Deze optie dekt ook het instellen van de IP-voorrang.
Dit is de juiste beleidsactie voor het uitreisbeleid:
politie
Deze tabel toont de ondersteunde uitgaande QoS-beleidsmatrix:
Met markering kunt u het QoS-niveau van het pakket wijzigen op basis van classificatie of toezicht. Classificatie verdeelt verkeer in verschillende klassen voor QoS-verwerking op basis van de gedefinieerde criteria.
QoS-verwerking is gebaseerd op de interne DSCP; de maatstaf van het QoS-niveau van het pakket. Interne DSCP wordt afgeleid volgens de vertrouwensconfiguratie. Het systeem ondersteunt vertrouwde CoS, DSCP, IP-voorrang en onbetrouwbare interfaces. Vertrouwen specificeert als volgt het veld waaruit de interne DSCP voor elk pakket wordt afgeleid:
Bij het vertrouwen op CoS wordt het QoS-niveau afgeleid van de Layer 2 (L2)-header van het Inter-Switch Link Protocol (ISL) of het 802.1Q ingesloten pakket.
Wanneer het vertrouwen op DSCP- of IP-voorrang, het systeem het QoS-niveau dienovereenkomstig uit het veld DSCP- of IP-voorrang van het pakket afleidt.
Trusting CoS is alleen zinvol bij trunkinginterfaces, en het vertrouwen op DSCP (of IP-voorrang) is alleen zinvol voor IP-pakketten.
Wanneer een interface niet wordt vertrouwd, wordt interne DSCP afgeleid uit het configureerbare standaardCoS voor de overeenkomstige interface. Dit is de standaardstatus wanneer QoS is ingeschakeld. Als geen standaard CoS is ingesteld, is de standaardwaarde nul.
Zodra de interne DSCP is bepaald, kan deze worden gewijzigd door markering en toezicht, of worden behouden.
Nadat het pakket de QoS-verwerking heeft ondergaan, worden de velden op QoS-niveau (binnen het veld IP/DSCP voor IP en binnen de eventuele ISL/802.1Q-header) bijgewerkt vanuit de interne DSCP. Er zijn deze speciale QoS-kaarten die relevant zijn voor het toezicht:
DSCP-to-Policed DSCP—wordt gebruikt om de gepoliceerde DSCP af te leiden wanneer u het pakket afprijst.
DSCP-to-CoS—gebruikt om het CoS-niveau af te leiden van de interne DSCP om de uitgaande ISL/802.1Q-header van het pakket bij te werken.
CoS-to-DSCP—gebruikt om de interne DSCP af te leiden van de inkomende CoS (ISL/802.1Q-header) wanneer de interface in de vertrouwde CoS-modus staat.
Dit zijn belangrijke uitvoeringsspecifieke overwegingen:
Het beleid voor toegangsservices kan niet aan de interface worden gekoppeld wanneer de interface is geconfigureerd om op een van de QoS-metriek, zoals CoS/DSCP- of IP-voorrang te vertrouwen. Om op DSCP/IP-voorrang en politie bij toegang aan te passen, moet u vertrouwen voor de bepaalde klasse binnen het beleid configureren, niet op de interface. Om te markeren op basis van DSCP/IP-voorrang moet geen vertrouwen worden geconfigureerd.
Alleen IPv4-verkeer zonder IP-opties en Ethernet II Advanced Research Projects Agency (ARPA)-insluiting wordt vanuit het oogpunt van hardware en QoS als IP-verkeer beschouwd. Al het andere verkeer wordt beschouwd als niet-IP, inclusief IP met opties, zoals Sub Network Access Protocol (SNAP) ingekapselde IP en IPv6.
Voor niet-IP-pakketten is "toegangsgroep overeenkomen" de enige methode voor classificatie omdat u geen DSCP kunt matchen voor niet-IP-verkeer. Daartoe wordt een toegangslijst (ACL) (Media Access Control) gebruikt; De pakketten kunnen worden aangepast gebaseerd op het adres bron van MAC, het adres van bestemmingsMAC, en EtherType. Het is niet mogelijk om het IP-verkeer aan te passen aan de MAC ACL, omdat de switch onderscheid maakt tussen IP- en niet-IP-verkeer.
Deze stappen zijn nodig om toezicht in Cisco IOS te configureren:
Definieer een policer (voor globale policers)
Criteria definiëren om verkeer te selecteren voor toezicht
Definieer een class-map om verkeer te selecteren met behulp van gedefinieerde criteria
Bepaal een service-policy met behulp van klasse en pas een policer op de opgegeven klasse toe
Een servicebeleid op een poort toepassen
Deze twee soorten beleidsmakers worden ondersteund:
Benoemd aggregaat
individueel
De benoemde aggregaat policer bewaakt het verkeer gecombineerd vanuit alle klassen binnen hetzelfde beleid naar waar het wordt toegepast. Het geaggregeerde toezicht op verschillende interfaces wordt niet ondersteund.
Opmerking: de totale policer kan niet op meer dan één beleidsterrein worden toegepast. Als dit zo is, wordt deze foutmelding weergegeven:
QoS: Cannot allocate policer for policy map <policy name>
Neem dit voorbeeld:
Er is een verkeersgenerator aangesloten op poort Gigabit Ethernet0/3 die ongeveer 17 Mbps UDP-verkeer verstuurt met de bestemmingshaven 11. Er is ook TCP-verkeer vanaf poort 20. U wilt dat deze twee verkeersstromen worden gecontroleerd tot 1 Mbps en dat buitensporig verkeer moet worden verbroken. Dit voorbeeld laat zien hoe dit wordt gedaan:
!--- Globally enables QoS. mls qos !--- Defines the QoS policer, sets the burst !--- to 16000 for better TCP performance. mls qos aggregate-policer pol_1mbps 1000000 16000 exceed-action drop !--- Defines the ACLs to select traffic. access-list 123 permit udp any any eq 111 access-list 145 permit tcp any eq 20 any !--- Defines the traffic classes to be policed. class-map match-all cl_udp111 match access-group 123 class-map match-all cl_tcp20 match access-group 145 !--- Defines the QoS policy, and attaches !--- the policer to the traffic classes. policy-map po_test class cl_udp111 police aggregate pol_1mbps class cl_tcp20 police aggregate pol_1mbps !--- Applies the QoS policy to an interface. interface GigabitEthernet0/3 switchport switchport access vlan 2 service-policy input po_test !
Het eerste voorbeeld gebruikte de genoemde aggregaatpolicer. De individuele policer, in tegenstelling tot de genoemde policer, controleert het verkeer afzonderlijk op elke klasse waar het wordt toegepast. De individuele policer wordt bepaald binnen de configuratie van de beleidskaart. In dit voorbeeld, worden twee klassen van verkeer gecontroleerd door twee individuele politieagenten; cl_udp11 wordt aan 1 Mbps per 8K burst gepoliceerd, en cl_tcp20 wordt aan 512 Kbps per 32K burst gepoliceerd:
!--- Globally enables QoS. mls qos !--- Defines the ACLs to select traffic. access-list 123 permit udp any any eq 111 access-list 145 permit tcp any eq 20 any !--- Defines the traffic classes to be policed. class-map match-all cl_udp111 match access-group 123 class-map match-all cl_tcp20 match access-group 145 !--- Defines QoS policy, and creates and attaches !--- the policers to the traffic classes. policy-map po_test2 class cl_udp111 police 1000000 8000 exceed-action drop class cl_tcp20 police 512000 32000 exceed-action drop !--- Applies the QoS policy to an interface. interface GigabitEthernet0/3 switchport switchport access vlan 2 service-policy input po_test2
Deze opdracht wordt gebruikt om de politiehandeling te bewaken:
cat3550#show mls qos interface g0/3 statistics GigabitEthernet0/3 Ingress dscp: incoming no_change classified policed dropped (in pkts) Others: 267718 0 267717 0 0 Egress dscp: incoming no_change classified policed dropped (in pkts) Others: 590877 n/a n/a 266303 0 WRED drop counts: qid thresh1 thresh2 FreeQ 1 : 0 0 1024 2 : 0 0 1024 3 : 0 0 8 4 : 0 0 1024
Opmerking: standaard zijn er geen per-DSCP statistieken. Catalyst 3550 ondersteunt een verzameling per interface, per richting statistieken voor maximaal acht verschillende DSCP-waarden. Dit wordt ingesteld wanneer u de opdracht mls qos monitor uitgeeft. Om de statistieken voor DSCP’s 8, 16, 24 en 32 te bewaken, moet u deze opdracht per interface uitgeven:
cat3550(config-if)#mls qos monitor dscp 8 16 24 32
Opmerking: De opdracht mls qos monitor dscp 8 16 24 32 wijzigt de uitvoer van de opdracht show mls qos int g0/3 statistics als volgt:
cat3550#show mls qos interface g0/3 statistics GigabitEthernet0/3 Ingress dscp: incoming no_change classified policed dropped (in pkts) 8 : 0 0 675053785 0 0 16: 1811748 0 0 0 0 ? per DSCP statistics 24: 1227820404 15241073 0 0 0 32: 0 0 539337294 0 0 Others: 1658208 0 1658208 0 0 Egress dscp: incoming no_change classified policed dropped (in pkts) 8 : 675425886 n/a n/a 0 0 16: 0 n/a n/a 0 0 ? per DSCP statistics 24: 15239542 n/a n/a 0 0 32: 539289117 n/a n/a 536486430 0 Others: 1983055 n/a n/a 1649446 0 WRED drop counts: qid thresh1 thresh2 FreeQ 1 : 0 0 1024 2 : 0 0 1024 3 : 0 0 6 4 : 0 0 1024
Dit is een beschrijving van de velden in het voorbeeld:
Inkomend—toont hoeveel pakketten er uit elke richting komen
NO_change—toont hoeveel pakketten werden vertrouwd (zoals het QoS-niveau niet gewijzigd)
Geclassificeerd—toont hoeveel pakketten na classificatie aan dit interne DSCP zijn toegewezen
Gecontroleerd—toont hoeveel pakketten door toezicht zijn gemerkt. DSCP getoond voor afwaardering.
Dropped—toont hoeveel pakketten er door de politie zijn gedropt
Let op deze implementatiespecifieke overwegingen:
Als acht DSCP waarden worden geconfigureerd wanneer u de mls qos monitor opdracht geeft, de anderen teller gezien wanneer u de show mls qos int statistieken opdracht geeft kon ontoereikende informatie tonen.
Er is geen specifieke opdracht om het aangeboden of uitgaande verkeerstarief per-policer te verifiëren.
Aangezien de tellers van de hardware opeenvolgend worden teruggewonnen, is het mogelijk dat de tellers niet correct optellen. Bijvoorbeeld, kan de hoeveelheid geclassificeerde, of gelaten vallen pakketten lichtjes verschillend zijn dan het aantal inkomende pakketten.
Deze stappen zijn nodig om markering te configureren:
Bepaal de criteria voor de classificatie van het verkeer
Verkeersklassen definiëren die moeten worden geclassificeerd volgens de eerder gedefinieerde criteria
Maak een beleidskaart die markeringsacties en controlerende acties aan de gedefinieerde klassen toevoegt
De corresponderende interface(s) configureren voor de vertrouwensmodus
De beleidskaart op een interface toepassen
In dit voorbeeld wilt u inkomend IP-verkeer als host 192.168.192.168 gemarkeerd met IP-voorrang 6 en verlaagd naar 1 Mbps; overtollig verkeer moet worden gemarkeerd tot IP-voorrang 2:
!--- Globally enables QoS. mls qos !--- Defines the ACLs to select traffic. access-list 167 permit ip any host 192.168.192.168 !--- Defines the traffic class. class-map match-all cl_2host match access-group 167 !--- Defines QoS policy, and creates and attaches !--- the policers to the traffic classes. policy-map po_test3 class cl_2host !--- Marks all the class traffic with the IP precedence 6. set ip precedence 6 !--- Polices down to 1 Mbps and marks down according to the QoS map. police 1000000 8000 exceed-action policed-dscp-transmit !--- Modifies the policed DSCP QoS map, so the !--- traffic is marked down from IP precedence 6 to 2. !--- In terms of DSCP, this is from 48 to 16 (DSCP=IPprec x8). mls qos map policed-dscp 48 to 16 !--- Applies the QoS policy to an interface. interface GigabitEthernet0/3 switchport switchport access vlan 2 service-policy input po_test3
Het zelfde toont mls qos interface statistieken bevel wordt uitgegeven om de markering te controleren. In de sectie van dit document worden voorbeelduitvoer en -implicaties gedocumenteerd.
Op Catalyst 3550 wordt de opdracht interface voor overeenkomsten niet ondersteund en mag slechts één opdracht voor overeenkomsten per klasse-kaart worden uitgevoerd. Bovendien staat Catalyst 3550 niet toe dat het IP-verkeer wordt aangepast door de MAC ACL’s. IP- en niet-IP-verkeer moeten dus worden geclassificeerd met twee afzonderlijke klassekaarten. Dit maakt het lastig om al het verkeer dat in een interface komt te classificeren en al verkeer te controleren met één enkele politieagent. De voorbeeldconfiguratie hier laat u dit bereiken. In deze configuratie worden IP- en niet-IP-verkeer gekoppeld aan twee verschillende klassekaarten. Echter, elk gebruikt een gemeenschappelijke policer voor zowel het verkeer.
access-list 100 permit ip any any class-map ip match access-group 100 !--- This class-map classifies all IP traffic. mac access-list extended non-ip-acl permit any any class-map non-ip match access-group name non-ip-acl !--- Class-map classifies all non-IP traffic only. mls qos aggregate-policer all-traffic 8000 8000 exceed-action drop !--- This command configures a common policer that is applied for both IP and non-IP traffic. policy-map police-all-traffic class non-ip police aggregate all-traffic class ip police aggregate all-traffic interface gigabitEthernet 0/7 service-policy input police-all-traffic !--- This command applies the policy map to the physical interface.
Revisie | Publicatiedatum | Opmerkingen |
---|---|---|
1.0 |
25-Jun-2002
|
Eerste vrijgave |