Dit document legt het SPD-mechanisme (Selective Packet Discard) uit en vertelt hoe het kan worden gevolgd en aangepast.
Opmerking: Dit document legt niet uit hoe u een toenemend aantal invoerdruppels in de uitvoer van showinterfaces op een Cisco 12000 Series Internet-router kunt oplossen. Raadpleeg voor meer informatie over dit probleem de druppels voor probleemoplossing in de Cisco 12000 Series Internet Router.
Raadpleeg Cisco Technical Tips Convention voor informatie over documentconventies.
Er zijn geen specifieke voorwaarden van toepassing op dit document.
De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:
Cisco 7200 Series router
Cisco 7500 Series router
Cisco 12000 Series internet-router
Alle versies van Cisco IOS®-software
De informatie in dit document is gebaseerd op apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als u in een levend netwerk werkt, zorg er dan voor dat u de potentiële impact van om het even welke opdracht begrijpt alvorens het te gebruiken.
Selective Packet Discard (SPD) is een mechanisme om de ingangsrijen op procesniveau op de routeprocessor (RP) te beheren. Het doel van SPD is voorrang te geven aan het routeren van protocolpakketten en andere belangrijke verkeerControl Layer 2 keepalives tijdens perioden van congestie in de wachtrij van het procesniveau.
Historisch gezien, op platforms zoals de Cisco 7x00 en het niet-Cisco Express Forwarding (CEF) 7500 systemen, werden de aanzienlijke aantallen transitpakketten door de Routeprocessor verzonden om de snelle schakelcache te bevolken. Daarom was SPD in dit geval vereist om voorrang te geven aan de routingprotocolpakketten boven de doorvoerpakketten die dezelfde wachtrij delen.
Op dit moment, op Cisco 12000 Series Internet Router en op de 7500 lopende CEF, wordt alleen verkeer dat bestemd is voor de router zelf naar procesniveau verzonden. In dit geval wordt SPD gebruikt om prioriteit te geven aan het verzenden van protocol-pakketten wanneer beheerverkeer zoals Simple Network Management Protocol (SNMP) aanwezig is of wanneer een Denial of Service (DoS)-aanval het verzenden van verkeer naar de RP plaatsvindt.
Op Cisco 12000 Series, wanneer een lijnkaart bepaalt dat een inkomend pakket aan de RP voor verwerking moet worden gestraft, reist het pakket over het weefsel van de switch als Cisco Cells en wordt uiteindelijk ontvangen door de Cisco Cell Segmentation and Reassemblation (CSAR) Veldprogrammeerbare Array (FPGA).
Het doel is om het verkeer tussen de switch en de RP CPU aan te pakken, en dit is waar de SPD-controles worden uitgevoerd. Dit is van toepassing op IP-pakketten, Connectionless Network Service (CLNS) pakketten, Layer 2 keepalives en soortgelijke pakketten die aan de RP zijn gepunteerd. SPD voert twee controles uit en kan een pakket in één van deze twee staten laten vallen:
Statuscontrole SPD
Controle van invoerwachtrij
De IP-proceswachtrij op RP is in twee delen verdeeld: een algemene pakketrij en een prioriteitswachtrij. Packets die in de algemene pakketrij worden gezet, zijn onderhevig aan de SPD-staatscontrole en pakketten die in de prioriteitswachtrij worden geplaatst, zijn niet beschikbaar. Packets die in aanmerking komen voor de prioriteitspakketrij, zijn pakketten met hoge prioriteit zoals die van IP voorrang 6 of 7 en moeten nooit worden gedropt. De niet-qualizers kunnen echter, afhankelijk van de lengte van de algemene pakketrij, worden gelaten afhankelijk van de SPD-status. De algemene pakketrij kan in drie staten zijn en als zodanig kunnen de pakketten met lage prioriteit op verschillende wijze worden onderhouden:
NORMAAL: wachtrijgrootte <= min
RANDOM DROP: min <= wachtrijgrootte <= max.
VOLLEDIGE DROP: max. <= grootte van een wachtrij
In de NORMAL-staat zetten we nooit goed gevormde en misvormde pakketten neer.
In de RANDOM DROP-status zetten we willekeurig goed gevormde pakketten neer. Als de agressieve modus is ingesteld, zetten we alle misvormde pakketten neer. anders behandelen we ze als goed gevormde pakketten.
Opmerking: deze willekeurige druppels worden SPD-flushes genoemd. Als de interface overbelast wordt, komen er opvliegers voor. Buffer mist veroorzaakt toename van de spoelteller.
In de VOLLEDIGE DROP-staat zetten we alle goed gevormde en misvormde pakketten neer. Deze minimum (standaard 73) en maximum (standaard 74) waarden worden afgeleid van de kleinste wachtrij op het chassis, maar kunnen worden overschreven met de wereldwijde opdrachten ip min-drempelwaarde voor wachtrij en ip spd-wachtrijmax-drempel.
SPD kan voor twee verschillende modi worden ingesteld: Normaal (standaard) en agressief. Het enige verschil tussen deze twee is hoe de router ongeldige IP-pakketten administratief verwerkt (ongeldige checksum, onjuiste versie, onjuiste header, onjuiste pakketlengte). Moord IP-pakketten worden door SPD laten vallen wanneer we in belastende modus zijn en in de grootte van de Aanduiding staan. De agressieve modus kan worden ingesteld met de agressieve opdracht van de ip spd-modus.
Opmerking: De agressieve modus wordt niet geïmplementeerd op de Cisco 12000 Series Internet Router omdat misvormde IP-pakketten direct door de ingangslijnkaart worden gedropt en deze pakketten niet worden gestraft op de Gigabit Route Processor (GRP). Als resultaat hiervan is agressieve modus niet nodig op dit specifieke platform.
De invoerwachtrij wordt per hardwareinterface onderhouden, gedeeld onder alle subinterfaces. Zonder SPD worden alle pakketten laten vallen als de ingangswachtrij vol is wanneer het pakket wordt ontvangen. De standaardgrootte van de ingangswachtrij is 75 en is Configureerbaar per interface met behulp van de wachtrij [grootte] in de opdracht voor interfacemodules. Het aantal pakketten in de ingangswachtrij kan in het veld "ingangswachtrij" in de opdracht toont interfaces.
router#show interfaces pos 3/0 POS3/0 is up, line protocol is up Hardware is Packet over SONET Internet address is 137.40.55.2/24 MTU 4470 bytes, BW 2488000 Kbit, DLY 100 usec, rely 255/255, load 1/255 Encapsulation PPP, crc 32, loopback not set Keepalive not set Scramble disabled LCP Open Open: IPCP, CDPCP, OSICP, TAGCP Last input 00:00:01, output 00:00:00, output hang never Last clearing of "show interface" counters 2w3d Queueing strategy: fifo Output queue 0/40, 0 drops; input queue 0/75, 0 drops 30 second input rate 9000 bits/sec, 0 packets/sec 30 second output rate 0 bits/sec, 0 packets/sec 456292 packets input, 917329913 bytes, 0 no buffer Received 0 broadcasts, 0 runts, 0 giants, 0 throttles 0 parity 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort 112046977 packets output, 32078928095 bytes, 0 underruns 0 output errors, 0 applique, 3 interface resets 0 output buffer failures, 0 output buffers swapped out 1 carrier transitions
Opmerking: het verminderen van de invoerwachtrijgrootte op één interface kan een groot aantal invoerdruppels op alle andere interfaces veroorzaken. Verzeker u ervan dat u een minimale wachtrij voor een invoergreep van minimaal 75 hebt.
Zelfs met SPD wordt het gedrag van normale IP-pakketten niet gewijzigd. echter, krijgen de routingprotocolpakketten een hogere prioriteit omdat SPD het verzenden van protocol pakketten door het IP prioriteitsveld herkent. Als het IP-voorrang op 6 is ingesteld, krijgt het pakket prioriteit.
SPD geeft voorrang aan deze pakketten door de software in staat te stellen om ze in de wachtrij voor input op procesniveau boven de normale maximale invoerwachtrij te plaatsen. Het aantal pakketten dat de normale limiet overschrijdt wordt de spd-headroom genoemd, omdat de standaardinstelling 100 is. Dit betekent dat een pakket met een hoge prioriteit niet wordt gedropt als de grootte van de wachtrij voor een invoergreep lager is dan 175 (standaardgrootte voor ingangswachtrij + oudergrootte van spd).
Vanaf Cisco IOS-softwarerelease 12.0(22)S is de standaard van de spd-headroom 1000 voor Cisco 12000 Series Internet-router om grotere SP-netwerken op te slaan. Dit is te wijten aan het feit dat bGP-peering (Border Gateway Protocol) met een steeds groter aantal buren wordt gebruikt om een steeds groter aantal routes via steeds snellere interfaces te adverteren. Een enkele clearing van BGP kan vaak leiden tot duizenden druppels in de rij op één interface, wat de convergentietijden ernstig kan belemmeren.
SPD-hoofdruimte is configureerbaar met de opdracht spd-hoofdruimte. Het huidige niveau kan worden gezien in de uitvoer van de show spd of ip spd opdracht tonen.
Router#show spd Headroom: 1000, Extended Headroom: 10 Router#show ip spd Current mode: normal Queue min/max thresholds: 73/74, Headroom: 1000, Extended Headroom: 10 IP normal queue: 0, priority queue: 0. SPD special drop mode: none
Opmerking: De grootte van de IP normale wachtrij kan ook worden gevolgd door de opdracht tonen ip spd.
Non-IP-pakketten, zoals Connectionless Network Service Intermediate System-to-Intermediate System (CLNS ISIS)-pakketten, Point-to-Point Protocol (PPP)-pakketten en High-Level Data Link Control (HDLC)-keepalives werden tot voor kort behandeld als normale prioriteit omdat ze Layer 2 in plaats van Layer 3 waren. Daarnaast zijn Interior Gateway Protocols (IGP’s) actief op Layer 3 of hoger kregen voorrang boven normale IP-pakketten, maar kregen dezelfde prioriteit als BGP-pakketten. Dus tijdens BGP-convergentie of tijdens tijden van zeer hoge BGP-activiteit, werden vaak IGP-hellos en keepalives ingetrokken, waardoor IGP-nabijheid naar beneden ging.
Aangezien IGP- en link-stabiliteit hardnekkiger en cruciaal zijn dan BGP-stabiliteit, krijgen dergelijke pakketten nu de hoogste prioriteit en krijgen ze uitgebreide SPD-hoofdkamer met een standaard van 10 pakketten. Dit betekent dat deze pakketten niet worden gedropt als de grootte van de wachtrij van de invoeropening kleiner is dan 185 (standaardgrootte van de invoerwachtrij + grootte van de spd + spd uitgebreide hoofdruimte).
Uitgebreide SPD-hoofdruimte is configureerbaar met de grootte-opdracht [grootte] en het huidige niveau kan worden gezien vanaf de uitvoer van de show-spd- of ip-opdracht tonen.
Router#show ip spd Current mode: normal Queue min/max thresholds: 73/74, Headroom: 100, Extended Headroom: 10 IP normal queue: 0, priority queue: 0. SPD special drop mode: none
Opmerking: Op de Cisco 12000 Series Internet Router, HDLC en PPP behouden, samen met CLNS ISIS-routingpakketten die als hoge prioriteit worden behandeld en in de uitgebreide SPD-hoofdruimte kunnen worden nagezocht sinds Cisco IOS-softwarerelease 12.0(12)S1. Sinds Cisco IOS-softwarerelease 12.0(18)S, is het mogelijk dat alle IGP navraag doen in de uitgebreide SPD-headroom.
De standaardwaarden, voorafgaand aan Cisco IOS-softwarerelease 12.0(22)S, zijn:
Invoerrijgrootte = 75
SPD-hoofdkamergrootte = 100
Uitgebreide hoofdkamergrootte = 10
De standaardwaarden, na Cisco IOS-softwarerelease 12.0(22)S, zijn:
Invoerrijgrootte = 75
SPD-hoofdkamergrootte = 1000
Uitgebreide hoofdkamergrootte = 10
In het eerste geval geeft dit aan:
IP-pakketten met een normale voorrang mogen zich tot de standaardrijlimiet (75) aanmelden
IP-pakketten met hoge prioriteit mogen zich aanmelden om de standaard wachtrijlimiet + spd_headroom (175 of 1075 op basis van de Cisco IOS-softwarerelease) in te vullen
CLNS-, IGP- en LC-hulppakketten zijn toegestaan om zich in te stellen tot de standaardwachtrijlimiet + spd_headroom + spd_ext_headroom (185 of 1085 gebaseerd op de Cisco IOS-softwarerelease).
Hier volgen een aantal aanvullende tips/informatie over SPD:
Standaard is de SPD ingeschakeld. U kunt deze functie in- of uitschakelen met behulp van de spd om een wereldwijd commando mogelijk te maken.
Eerst was SPD alleen beschikbaar op Packet over SONET (PoS) interfaces.
Vóór Cisco IOS-softwarerelease 12.0(21)S, heeft SPD niet gewerkt op Gigabit Ethernet-lijnkaarten (Engine 1 en Engine 2) en Fast Ethernet-lijnkaarten die in een Cisco 12000 Series Internet-router zijn geïnstalleerd. De wachtrij voor het invoerslot moest worden verhoogd om de overtollige pakketten op te slaan.
Op de Cisco 7200/7500 Series router kan de SPD-flushes (druppels) teller worden gezien in de uitvoer van de opdracht show interfaces sinds Cisco IOS-softwarereleases 12.1(1)T, en 12.0(9)ST voor non-FIFO (First In First Out) in wachtrij en sinds 1 2.2(7), 12.2(7)T, en 12.1(7)E voor FIFO-wachtrij. Op andere releases en op Cisco 12000 Series Internet-router wordt deze teller alleen gezien door de opdracht interface-switching te typen. Bijvoorbeeld, de show interface pos 0/1 switchingopdracht kan worden gebruikt om SPD flushes, agressieve druppels, en prioriteit te zien.
Hierna volgt een voorbeeld:
7500_Router#show interfaces FastEthernet0/0/0 is up, line protocol is up Hardware is cyBus FastEthernet Interface, address is 0090.9282.7000 (bia 0090) MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec, rely 255/255, load 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Full-duplex, 100Mb/s, 100BaseTX/FX ARP type: ARPA, ARP Timeout 04:00:00 Last input 00:00:01, output 00:00:01, output hang never Last clearing of "show interface" counters never Queueing strategy: fifo Output queue 0/40, 0 drops; input queue 0/75, 0 drops, 0 flushes 30 second input rate 4000 bits/sec, 9 packets/sec 30 second output rate 0 bits/sec, 0 packets/sec 2628397 packets input, 546327119 bytes, 0 no buffer Received 0 broadcasts, 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored 0 watchdog, 0 multicast 0 input packets with dribble condition detected 264792 packets output, 225434458 bytes, 0 underruns 0 output errors, 0 collisions, 20 interface resets 0 babbles, 0 late collision, 0 deferred 22 lost carrier, 0 no carrier 0 output buffer failures, 0 output buffers swapped out