Dit document beschrijft de functionele verschillen tussen traffic shaping en traffic policing, die beide de uitvoersnelheid beperken.
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 zorgen dat u de potentiële impact van elke opdracht begrijpt.
Dit document verduidelijkt de functionele verschillen tussen verkeersvorming en politiewerk. Beide beperken functioneel de verkeersoutput. Beide mechanismen gebruiken een token-emmer als verkeersmeter om de pakketsnelheid te meten. Voor meer informatie over token buckets, zie Wat is een token bucket
De concepten in dit document blijven relevant voor het begrijpen van Cisco QoS-ontwerpen. Verkeersvorming en verkeerspolitie worden nog steeds gebruikt om maximale verkeerstarieven af te dwingen en congestie te beheren. Voor nieuwe implementaties raadt Cisco het gebruik van modulaire QoS Command-Line (MQC)-klassengebaseerde vormgeving en klassengebaseerde policing aan wanneer dit door het platform wordt ondersteund. Legacy-mechanismen, zoals Generic Traffic Shaping (GTS), Frame Relay Traffic Shaping (FRTS), Commitment Access Rate (CAR) en de opdracht rate-limit, zijn opgenomen voor historische context of om platformspecifieke discussies te ondersteunen.
Verkeerspolitie verspreidt uitbarstingen. Wanneer de verkeerssnelheid de geconfigureerde maximale snelheid bereikt, wordt overtollig verkeer weggelaten (of gemarkeerd). Het resultaat is een uitvoersnelheid die wordt weergegeven als een zaagtand met toppen en troggen. In tegenstelling tot politiewerk, behoudt verkeersvorming overtollige pakketten in een wachtrij en plant het overtollige voor latere transmissie in stappen van tijd. Het resultaat van verkeersvorming is een afgevlakte pakketuitvoersnelheid.
Het volgende diagram illustreert de belangrijkste verschillen tussen de twee verkeersopties.
Politie VS Shaping
Shaping impliceert het bestaan van een wachtrij en voldoende geheugen om vertraagde pakketten te bufferen, terwijl policing dat niet doet. Wachtrijen zijn een uitgaand concept; pakketten die een interface verlaten, worden in de wachtrij geplaatst en kunnen worden gevormd. Alleen politiewerk kan worden toegepast op inkomend verkeer op een interface. Zorg ervoor dat u voldoende geheugen hebt wanneer u vormgeving inschakelt. Bovendien vereist vormgeving een functie die planningen maakt voor latere verzending van vertraagde pakketten. Met deze planningsfunctionaliteit kunt u de vormgevingswachtrij in verschillende wachtrijen organiseren. Voorbeelden van deze functionaliteit zijn Class Based Weighted Fair Queuing (CBWFQ) en Low Latency Queuing (LLQ).
Opmerking: Verkeersvorming en verkeerspolitie dwingen beide een geconfigureerde verkeerssnelheid af. Vormgeven is een egress-wachtrijmechanisme. Politie kan worden toegepast inbound of outbound, afhankelijk van platform en functie ondersteuning.
De volgende tabel geeft de verschillen weer tussen vormgeving en politiewerk om u te helpen de juiste verkeersoplossing te kiezen.
| verkeersvorming | verkeerspolitie | |
|---|---|---|
| Primair gedrag | Buffer- en wachtrijovertollige pakketten boven de vastgelegde tarieven. | Druppelt (of opmerkingen) overtollige pakketten boven de vastgelegde tarieven. Het buffert niet.* |
| Token-vernieuwingssnelheid | Tokens worden periodiek aangevuld bij elk Tc-interval. Aan het begin van elk interval voegt de vormgever Bc-tokens toe, tot de geconfigureerde emmerlimiet. Tc wordt beperkt door platformspecifieke limieten. | Tokens worden aangevuld op basis van verstreken tijd tussen pakketaankomsten. De policer berekent het aantal tokens dat moet worden toegevoegd met: (t - t1) * policer_rate_bps) / 8, waarbij t - t1 de tijd is sinds het vorige pakket. |
| Tokenwaarden | Geconfigureerd in bits per seconde (bps). | In bytes geconfigureerd. |
| Configuratieopties |
|
|
| typische richting | uitgaand | Inbound of outbound, platformafhankelijk |
| barsten | Hiermee wordt de uitvoersnelheid gedurende ten minste acht tijdsintervallen geregeld en vloeiend gemaakt. Het maakt gebruik van token bucket metering en wachtrijen overtollige pakketten. De pakketten in de wachtrij worden na verloop van tijd vrijgegeven, waardoor een afvlakkingseffect ontstaat dat lijkt op een lekkende emmer. | Biedt ruimte voor bursts binnen de geconfigureerde burst-limieten. Het biedt geen bufferpakketten om de transmissiesnelheid glad te strijken. |
| Voordelen | Minder kans om overtollige pakketten te laten vallen, omdat overtollige pakketten worden gebufferd. (Buffers pakketten tot de lengte van de wachtrij. Drops kunnen optreden als overtollig verkeer wordt gehandhaafd bij hoge tarieven.) Vermijd doorgaans heruitzendingen als gevolg van gedropte pakketten. | Hiermee regelt u de uitvoersnelheid via pakketdruppels. Voorkomt vertragingen door queuingproblemen. |
| Nadelen | Kan vertraging introduceren vanwege queuingbijzonder diepe wachtrijen. |
Verlaagt overtollige pakketten (indien geconfigureerd), verkleint de grootte van de TCP-vensters en verlaagt de totale uitvoersnelheid van de getroffen verkeersstromen. Overmatig agressieve burst-groottes kunnen leiden tot overtollige pakketdruppels en de algehele uitvoersnelheid vertragen, vooral met op TCP gebaseerde stromen. |
| Optionele pakketmarkering | Nee | Ja, het kan optioneel pakketten verzenden, neerzetten of markeren, inclusief IP-voorrang of DSCP-acties, afhankelijk van de geconfigureerde MQC-politieacties en platformondersteuning. |
Opmerking: Hoewel politieing geen buffer toepast, is een geconfigureerd wachtrijmechanisme van toepassing op conforme pakketten die in de wachtrij moeten worden geplaatst terwijl ze wachten om te worden geserialiseerd op de fysieke interface.
Een belangrijk verschil tussen vormgeven en politiewerk is de snelheid waarmee tokens worden aangevuld. Zowel shaping als policing gebruiken de token bucket metafoor. Een token-emmer zelf heeft geen teruggooi- of prioriteitsbeleid.
Met token bucket functionaliteit:
Tokens worden in een bepaald tempo in de emmer gestopt.
Elk token geeft toestemming aan de bron om een bepaald aantal bits naar het netwerk te sturen.
Om een pakket te verzenden, moet de verkeersregelaar een aantal tokens kunnen verwijderen dat gelijk is aan de representatie van de pakketgrootte.
Als er niet genoeg tokens in de emmer zitten om een pakket te verzenden, wacht het pakket totdat de emmer voldoende tokens heeft (in het geval van een shaper), of het pakket wordt weggegooid of gemarkeerd (in het geval van een politieagent).
De emmer zelf heeft een gespecificeerde capaciteit. Als de emmer vult tot capaciteit, worden nieuwe tokens die aankomen weggegooid en zijn ze niet beschikbaar voor toekomstige pakketten. Dus op elk moment is de grootste uitbarsting die een bron in het netwerk kan sturen ongeveer evenredig met de grootte van de emmer. Een token-emmer staat burstiness toe, maar begrenst het.
Het vormgeven van stappen van de token bucket op getimede intervallen die een bits per seconde (bps) waarde gebruiken. Een shaper gebruikt de volgende formule:
Tc = Bc/CIR (in seconds)
In deze vergelijking:
BC: Toegewijde uitbarsting. De hoeveelheid verkeer die tijdens één tijdsinterval mag worden verzonden.
CIR: Percentage vastgelegde informatie. De gemiddelde verkeerssnelheid die de shaper of politieagent afdwingt.
TC: Toegewijde tijdsinterval. Het tijdsinterval dat door een shaper wordt gebruikt om de vastgelegde burst te verzenden terwijl de geconfigureerde CIR in seconden wordt behouden.
Het bereik voor Tc ligt tussen 10 ms en 125 ms. In sommige oudere platforms met Distributed Traffic Shaping (DTS) is de minimale Tc 4 ms. De router berekent deze waarde intern op basis van de CIR- en Bc-waarden. Als Bc/CIR minder dan 125 ms is, gebruikt het de Tc berekend uit die vergelijking. Als Bc/CIR meer dan of gelijk is aan 125 ms, wordt een interne Tc-waarde gebruikt als Cisco IOS bepaalt dat de verkeersstroom stabieler kan zijn met een kleiner interval. Gebruik de opdracht verkeersvorm weergeven om te bepalen of uw router een interne waarde voor Tc gebruikt of de waarde die u op de opdrachtregel hebt geconfigureerd.
Verkeersuitvoer weergeven
Wanneer de Excess Burst (Be) is geconfigureerd voor een andere waarde dan 0, staat de Shaper toe dat tokens worden opgeslagen in de emmer, tot Bc + Be. De grootste waarde die de token-emmer ooit kan bereiken, is Bc + Be en overflow-tokens worden weggelaten. De enige manier om meer dan Bc-tokens in de emmer te hebben, is om niet alle Bc-tokens te gebruiken tijdens één of meer Tc. Omdat de token-emmer elke Tc wordt aangevuld met Bc-tokens, kunt u ongebruikte tokens verzamelen voor later gebruik tot Bc + Be.
Daarentegen vullen class-based policing en rate-limiting tokens aan op basis van de verstreken tijd tussen pakketaankomsten. Wanneer een pakket arriveert, berekent de policer het aantal tokens dat moet worden toegevoegd vanaf het moment sinds het vorige pakket en de geconfigureerde policersnelheid. In het bijzonder wordt het token-aankomstpercentage als volgt berekend:
Tokens added = ((t - t1) * policer_rate_bps) / 8 bytes
Met andere woorden, als de vorige aankomst van het pakket op t1 was en de huidige tijd t is, wordt de emmer bijgewerkt met t-t1 waarde van bytes op basis van de token aankomst tarief.
Opmerking: Een verkeersregelaar gebruikt burstwaarden die in bytes zijn opgegeven en de vorige formule converteert van bits naar bytes.
Dit is een voorbeeld dat gebruikmaakt van een CIR (of policer rate) van 8000 bps en een normale burst van 1000 bytes:
Router(config)#policy-map police-setting Router(config-pmap)#class access-match Router(config-pmap-c)#police 8000 1000 conform-action transmit exceed-action drop
De token buckets beginnen vol bij 1000 bytes. Als een pakket van 450 bytes arriveert, wordt het pakket conform omdat er voldoende bytes beschikbaar zijn in de token-emmer. De conforme actie (verzenden) wordt uitgevoerd door het pakket en 450 bytes worden verwijderd uit de token-emmer (en laten 550 bytes achter). Als het volgende pakket 0,25 seconden later arriveert, worden 250 bytes toegevoegd aan de token-emmer volgens de volgende formule:
(0.25 * 8000)/8
Bucket start vol:
Eerste pakket komt binnen:
Berekening: 1000 - 450 = resterende 550 bytes
Het volgende pakket komt 0,25 seconden later:
(0,25 × 8000) / 8 = 250 bytes
Emmer na vernieuwen:
Berekening: 550 + 250 = 800 bytes
De berekening laat 800 bytes achter in de token-emmer (tokens blijven in de policer-emmer). Als het volgende pakket 900 bytes is, overschrijdt het pakket en wordt de actie (drop) overschreden. Er worden geen bytes uit de token bucket gehaald.
Cisco IOS® ondersteunt de volgende methoden voor verkeersvorming:
Alle verkeersvormingsmethoden zijn vergelijkbaar in de implementatie, hoewel hun opdrachtregelinterfaces (CLI's) enigszins verschillen en ze verschillende soorten wachtrijen gebruiken om verkeer dat wordt uitgesteld te bevatten en vorm te geven. Cisco raadt class-based shaping en distributed shaping aan, die zijn geconfigureerd met de modulaire QoS CLI.
Het volgende diagram illustreert hoe een QoS-beleid verkeer in klassen indeelt en pakketten in wachtrijen plaatst die de geconfigureerde vormgevingssnelheden overschrijden.

Cisco IOS ondersteunt de volgende methoden voor verkeerspolitie:
De twee mechanismen hebben belangrijke functionele verschillen, zoals uitgelegd in Hoe Class-Based Policing te configureren. Cisco raadt class-based policing en andere functies van de modulaire QoS CLI aan wanneer het QoS-beleid wordt toegepast.
Gebruik het commando van de politie om aan te geven dat een verkeersklasse een maximumtarief moet hebben opgelegd, en als dat tarief wordt overschreden, moet onmiddellijk actie worden ondernomen. Met andere woorden, met het commando van de politie is het geen optie om het pakket te bufferen en later uit te sturen, zoals het geval is voor de opdracht shape.
Bovendien bepaalt de token bucket met de politie of een pakket de toegepaste snelheid overschrijdt of ermee in overeenstemming is. In beide gevallen implementeert de politie een configureerbare actie, waaronder de IP-prioriteit of het Differentiated Services Code Point (DSCP).
Het volgende diagram illustreert een algemene toepassing van verkeerspolitie op een congestiepunt, waar QoS-functies over het algemeen van toepassing zijn.

De opdrachten shape en police beperken het verkeer tot een geconfigureerde maximumsnelheid. In MQC wordt de geconfigureerde snelheid voor vormgemiddelde en politie gespecificeerd in bps, tenzij de platformspecifieke syntaxis anders aangeeft. Belangrijk is dat geen van beide mechanismen een minimale bandbreedtegarantie biedt tijdens perioden van congestie. Gebruik de bandbreedte of prioriteit opdracht om dergelijke garanties te bieden.
Een hiërarchisch beleid maakt gebruik van twee servicebeleidsregels: een bovenliggend beleid om een QoS-mechanisme toe te passen op een verkeersaggregaat en een onderliggend beleid om een QoS-mechanisme toe te passen op een stroom of subset van het aggregaat. Logische interfaces, zoals subinterfaces en tunnelinterfaces, vereisen een hiërarchisch beleid met de verkeersfunctielimiting op bovenliggend niveau en wachtrijen op lagere niveaus. De verkeersfunctielimiting vermindert de uitvoersnelheid en zorgt (vermoedelijk) voor congestie, zoals te zien is bij queuing overtollige pakketten.
De volgende configuratie is suboptimaal en wordt getoond om het verschil tussen de politie versus de vorm opdracht te illustreren wanneer limiting een verkeersaggregaat, in dit geval klasse-standaard, tot een maximale snelheid. In deze configuratie verzendt de politie-opdracht pakketten van de onderliggende klassen op basis van de grootte van het pakket en het aantal bytes dat in de conforme en overschrijdende tokenemmers blijft. (Zie Verkeerspolitie.) Het resultaat is dat de tarieven die worden gegeven aan de klassen Voice over IP (VoIP) en Internet Protocol (IP) niet kunnen worden gegarandeerd, omdat de politiefunctie voorrang heeft op de garanties die worden gegeven door de prioriteitsfunctie.
Als de opdracht shape echter wordt gebruikt, is het resultaat een hiërarchisch wachtrijsysteem en worden alle garanties gegeven. Met andere woorden, wanneer de aangeboden belasting de vormsnelheid overschrijdt, zijn de VoIP- en IP-klassen gegarandeerd van hun tarief en neemt het standaardverkeer in de klasse (op het niveau van het kind) eventuele dalingen.
class-map match-all IP
match ip precedence 3
class-map match-all VoIP
match ip precedence 5
!
policy-map child
class VoIP
priority 128
class IP
priority 1000
!
policy-map parent
class class-default
police 3300000 103000 103000 conform-action transmit exceed-action drop
service-policy child
Om de vorige configuratie zinvol te maken, moet de politie worden vervangen door vormgeving. Voorbeeld:
policy-map parent
class class-default
shape average 3300000 103000 0
service-policy child
Gebruik interface voor beleidskaarten weergeven <interface> om geconfigureerde beleidsregels, klassentellers, aangeboden snelheid, valtellers, vormgevingssnelheid, wachtrijdiepte en tellers van de policer te controleren.
Router#show policy-map interface gigabitEthernet 0/0/2
GigabitEthernet0/0/2
Service-policy output: parent
Class-map: class-default (match-any)
0 packets, 0 bytes
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: any
Queueing
queue limit 64 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 0/0
shape (average) cir 3300000, bc 103000, be 0 target shape rate 3300000
Service-policy : child
queue stats for all priority classes:
Queueing
queue limit 512 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 0/0
Class-map: VoIP (match-all)
0 packets, 0 bytes
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: ip precedence 5
Priority: 128 kbps, burst bytes 3200, b/w exceed drops: 0
Class-map: IP (match-all)
0 packets, 0 bytes
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: ip precedence 3
Priority: 1000 kbps, burst bytes 25000, b/w exceed drops: 0
Class-map: class-default (match-any)
0 packets, 0 bytes
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: any
queue limit 64 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 0/0
Het vorige voorbeeld is opzettelijk suboptimaal en wordt alleen gegeven om het verschil tussen politiewerk en vormgeving in een hiërarchisch QoS-beleid te illustreren. In een aanbevolen QoS-ontwerp is de prioriteitsopdracht meestal gereserveerd voor realtime, latentiegevoelig verkeer zoals spraak. Niet-realtime klassen die een minimale bandbreedtegarantie vereisen, gebruiken gewoonlijk de opdracht bandbreedte met CBWFQ.
Deze aanpak sluit aan bij de Cisco QoS-ontwerprichtlijnen voor LLQ en CBWFQ. LLQ biedt een strikte prioriteitsbehandeling voor vertragingsgevoelig verkeer, terwijl CBWFQ bandbreedtegaranties biedt voor andere verkeersklassen tijdens congestie. Daarom is de IP-klasse in dit voorbeeld beter vertegenwoordigd met bandbreedte in plaats van prioriteit, tenzij die klasse verkeer vervoert dat expliciet een strikte prioriteitsbehandeling vereist.
policy-map child
class VoIP
priority 128
class IP
bandwidth 1000
| Revisie | Publicatiedatum | Opmerkingen |
|---|---|---|
6.0 |
21-Jul-2026
|
Hercertificering. |
4.0 |
07-Sep-2023
|
Bijgewerkte merkvereisten, SEO, grammatica en opmaak. |
3.0 |
26-Sep-2022
|
hercertificering |
1.0 |
15-Feb-2002
|
Eerste vrijgave |