Dit document onderzoekt welke QoS-functies (Quality of Service) op tunnelinterfaces kunnen worden geconfigureerd met behulp van generieke routinginsluiting (GRE). tunnels met IP security (IPsec) buiten het bereik van dit document vallen.
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.
Alvorens over QoS over GRE-tunnels te leren, moet u eerst het formaat van een getunneld pakket begrijpen.
Een tunnelinterface is een virtuele of logische interface op een router die Cisco IOS®-software uitvoert. Er wordt een virtuele point-to-point link gemaakt tussen twee Cisco-routers op externe punten via een IP-internetwerk.
GRE is een insluitingsprotocol dat door IOS wordt ondersteund en in RFC 1702 is gedefinieerd . Tunneling van protocollen inkapselt pakketten in een transportprotocol.
Een tunnelinterface ondersteunt een header voor elk van deze soorten:
Een passagiersprotocol of een opgenomen protocol, zoals IP, AppleTalk, DECnet of IPX.
Een dragerprotocol (GRE in dit geval).
Een transportprotocol (alleen IP in dit geval).
Het formaat van een tunnelpakket wordt hier weergegeven:
Raadpleeg Logische interfaces configureren voor meer informatie over het configureren van GRE-tunnels.
Een tunnelinterface ondersteunt veel van dezelfde QoS-functies als een fysieke interface. In deze secties worden de ondersteunde QoS-functies beschreven.
Cisco IOS-softwarerelease 12.0(7)T biedt ondersteuning voor het direct toepassen van generieke traffic shaping (GTS) op de tunnelinterface. De volgende voorbeeldconfiguratie vormt de tunnelinterface naar een totale uitvoersnelheid van 500 kbps. Zie Generic Traffic Shaping configureren voor meer informatie.
interface Tunnel0 ip address 130.1.2.1 255.255.255.0 traffic-shape rate 500000 125000 125000 1000 tunnel source 10.1.1.1 tunnel destination 10.2.2.2
Cisco IOS-softwarerelease 12.1(2)T toegevoegde ondersteuning voor op klasse gebaseerde shaping met behulp van de modulaire QoS-opdrachtregel-interface (MQC). De volgende voorbeeldconfiguratie toont hoe hetzelfde vormingsbeleid op de tunnelinterface met de MQC-opdrachten moet worden toegepast. Raadpleeg Class-Based Shaping configureren voor meer informatie.
policy-map tunnel class class-default shape average 500000 125000 125000 interface Tunnel0 ip address 130.1.2.1 255.255.255.0 service-policy output tunnel tunnel source 130.1.35.1 tunnel destination 130.1.35.2
Wanneer een interface verstopt wordt en de pakketten om in de rij te beginnen, kunt u een wachtende methode op pakketten toepassen die wachten om worden verzonden. Cisco IOS logische interfaces ondersteunen inherent geen staat van congestie en ondersteunen geen directe toepassing van een servicebeleid dat een wachtmethode toepast. In plaats daarvan moet u als volgt een hiërarchisch beleid voeren:
Maak een "kind" of beleid op lager niveau dat een wachtend mechanisme vormt, zoals een lage wachtrijen met de prioriteitsopdracht en op klasse gebaseerde gewogen wachtrij (CBWFQ) met de bandbreedteopdracht. Raadpleeg Congestiebeheer voor meer informatie.
policy-map child class voice priority 512
Maak een "ouder" of beleid op hoog niveau dat op klasse gebaseerde vormgeving toepast. Pas het kinderbeleid toe als commando onder het ouderbeleid, aangezien de toelatingscontrole voor de kinderklasse gebaseerd is op de vormingssnelheid voor de ouderklasse.
policy-map tunnel class class-default shape average 2000000 service-policy child
Pas het ouderbeleid op de tunnelinterface toe.
interface tunnel0 service-policy tunnel
De router drukt dit logbericht af wanneer een tunnelinterface wordt ingesteld met een servicebeleid dat een wachtrij zonder vorm toepast.
router(config)# interface tunnel1 router(config-if)# service-policy output child Class Based Weighted Fair Queueing not supported on this interface
Tunnelinterfaces ondersteunen ook op klasse gebaseerde politietaken, maar ondersteunen geen geëngageerd toegangstarief (CAR).
Opmerking: Het servicebeleid wordt niet ondersteund op tunnelinterfaces op 7500.
Cisco IOS-softwarerelease 11.3T introduceerde GRE-tunnelmarkering en DSCP of IP-prioriteitswaarden, waarmee de router wordt ingesteld om de IP-prioriteitsbits waarden van de ToS-byte naar de tunnel te kopiëren of de GRE IP-header die het binnenpakket omvat. Eerder werden die bits op nul gezet. Intermediate routers tussen de tunnelendpoints kunnen de IP-prioriteitswaarden gebruiken om de pakketten voor QoS-functies zoals routing, WFQ en gewogen willekeurige vroege detectie (WRED) in te delen.
Wanneer pakketten zijn ingekapseld door tunnel of encryptie headers, kunnen QoS eigenschappen niet de oorspronkelijke pakketheders onderzoeken en de pakketten correct classificeren. Pakketten die over dezelfde tunnel reizen hebben dezelfde tunnelkoppen, dus worden de pakketten op identieke wijze behandeld als de fysieke interface wordt geblokkeerd. Dankzij de introductie van de Quality of Service for Virtual Private Networks (VPN’s) kunnen pakketten nu worden geclassificeerd voordat een tunneling en een encryptie worden uitgevoerd.
In dit voorbeeld is tunnel0 de tunnelnaam. De qos pre-classify opdracht stelt QoS in voor VPN's die op tunnel0 staan:
Router(config)# interface tunnel0 Router(config-if)# qos pre-classify
Opmerking: De QoS-opdracht kan worden gebruikt om verkeer te classificeren op basis van waarden anders dan IP-voorrang of DSCP. U kunt bijvoorbeeld pakketten classificeren op basis van IP-flow of Layer 3 informatie, zoals bron- en doeladres waarvoor deze opdracht kan worden gebruikt. De QoS-opdracht is alleen vereist als u verkeer op IP, protocol of poort classificeert. Als classificatie is gebaseerd op DSCP-code, is qos pre-classify niet vereist.
Bij het configureren van een servicebeleid moet u eerst het verkeer dat de tunnel doorkruist mogelijk karakteriseren. Cisco IOS ondersteunt NetFlow en IP Express Forwarding (CEF) accounting op logische interfaces zoals tunnels. Raadpleeg de NetFlow Services Solutions Guide voor meer informatie.
U kunt een servicebeleid toepassen op de tunnelinterface of op de onderliggende fysieke interface. Het besluit waar het beleid moet worden toegepast, hangt af van de QoS-doelstellingen. Het hangt ook af van welke header je moet gebruiken voor classificatie.
Pas het beleid op de tunnelinterface toe zonder qos-PRQoClassify wanneer u pakketten wilt classificeren gebaseerd op de pre-tunnel header.
Pas het beleid op de fysieke interface toe zonder qos-PRQo toe wanneer u pakketten wilt classificeren gebaseerd op de post-tunnel header. Daarnaast moet het beleid worden toegepast op de fysieke interface als je al het verkeer dat deel uitmaakt van een tunnel wil vormgeven of controleren, en de fysieke interface ondersteunt verschillende tunnels.
Pas het beleid op een fysieke interface toe en laat qos-PRClassify op een tunnelinterface toe wanneer u pakketten wilt classificeren gebaseerd op de pre-tunnel header.
CBWFQ binnen class-Based Shing wordt niet ondersteund op een multipoint interface. Cisco bug ID CSCds87191 vormt de router om een foutbericht af te drukken wanneer u het beleid afwijst.
In zeldzame omstandigheden leidt het toepassen van een servicebeleid dat met de vormopdracht is ingesteld tot fouten in een hoog CPU-gebruik en uitlijning. De CPU-lading wordt veroorzaakt door het registreren van de uitlijning fouten, die op hun beurt worden veroorzaakt door CEF die de uitvoerinterface onjuist instelt en informatie over nabijheid herschrijven. Dit probleem heeft alleen betrekking op niet-RSP-platforms (low-end) en platforms die gebruik maken van op deeltjes gebaseerde CEF-switching, en wordt via Cisco bug IDs CSCdu45504 en CSCuk30302 opgelost. U kunt ook deze werkronden in overweging nemen:
Vervang GRE-insluiting met ingang van tunnelmodus.
Vervang de vormopdracht door de politie.
Configuratie van vorm op de fysieke interface die de tunnel steunt.