Dit document legt uit waarom uw router IPC-gerelateerde logberichten rapporteert en hoe u dit probleem kunt oplossen. Dit document bevat ook een herziening van de IPC-terminologie.
Lezers van dit document zouden kennis moeten hebben van deze onderwerpen:
Cisco-routerbeheer
IPC en de terminologie ervan
De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:
Alle Cisco IOS®-softwarereleases die de Cisco 12000, 1000, 7600 en 7500 Series routers ondersteunen.
Cisco 12000, 1000, 7600 en 7500 Series routers.
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.
Raadpleeg de Cisco Technical Tips Convention voor meer informatie over documentconventies.
De Cisco IOS-module voor Inter-Procescommunicatie (IPC) biedt een communicatie-infrastructuur waardoor processen in een gedistribueerd systeem met elkaar kunnen communiceren. Het zorgt ook voor transparante communicatie tussen backplane klokjes, netwerken en gedeeld geheugen.
IPC-diensten dienen als de middelen waarmee lijnkaarten (LC's) en de centrale routeprocessor (RP) in een gedistribueerd systeem met elkaar communiceren via een uitwisseling van IPC-berichten die vanuit de RP naar de LC's worden gestuurd, en ook tussen actieve en stand-by RP's. Deze berichten omvatten configuratieopdrachten en reacties op die opdrachten, en ook "gebeurtenissen" die door een LC aan de RP moeten worden gemeld.
Cisco 12000 Series, Cisco 10000 Series, Cisco 7600 Series, en Cisco 7500 Series gebruiken een gedistribueerde architectuur die op IPC-berichten is gebaseerd. Onder zeldzame omstandigheden kunnen deze routers deze IPC-gerelateerde logberichten melden:
Cisco 12000 Series - %IPC-3-NOBUFF: Het belangrijkste IPC bericht header cache is leeg
Cisco 7500 Series - %IPC_RSP_CBUS-3-NOBUF: Geen IPC-meme-buffers meer om IPC-bericht te verzenden
Opmerking: IPC wordt ook gebruikt voor Cisco 6400 Series en Cisco 7304 Series.
De meest voorkomende IPC-terminologie zijn:
IPC - communicatie tussen processen.
IPC-adres - A 32-bits woord dat bestaat uit een 16-bits shelf en een 16-bits poort-ID.
IPC-client - een softwaremodule die gebruik maakt van IPC-services.
IPC-poort - een communicatie-eindpunt binnen IPC, gebruikt als de bron en bestemming van alle communicatie.
IPC Seat - Een IPC stoel is een computationeel element, zoals een processor, dat kan worden gecommuniceerd met behulp van IPC. Een IPC-stoel is waar IPC-klanten en -poorten wonen.
IPC-sessie - Een IPC-sessie is een actief simplex communicatiekanaal tussen twee IPC-poorten.
Alle communicatie die IPC gebruikt gebeurt tussen IPC poorten. Een poort is een communicatie eindpunt in IPC. Elke IPC poort wordt geassocieerd met een logisch adres dat een IPC adres wordt genoemd. IPC gebruikt het IPC-adres van een IPC-poort als retouradres wanneer het IPC-berichten verstuurt, of een doeladres wanneer het IPC-berichten ontvangt.
IPC-adressen worden toegewezen aan IPC-poorten door de lokale IPC-stoelbeheerder. Een zetel is de processor waarop het IPC-protocol momenteel wordt uitgevoerd. Een stoelmanager is een proces dat een lijst van lokale IPC-poorten en een lokale naamdienst bijhoudt, en ook open IPC communicatiesessies onderhoudt.
Wanneer een IPC poort wordt gecreëerd, wijst de IPC client een havennaam aan de IPC poort toe. Andere IPC-clients kunnen dan een poortnaam gebruiken wanneer ze verwijzen naar de nieuwe IPC-poort. Een poortnaam is een reeks tekens die uit een stoelnaam en een poortfunctie of beschrijving bestaat.
Cisco IPC heeft drie verschillende betrouwbaarheidsniveaus bij levering aan een haven; dit wordt gedefinieerd wanneer de haven wordt geopend .
Betrouwbaar: Het verzenden van het bericht is gegarandeerd. Als het mislukt, zal de levering opnieuw worden beproefd.
Onbetrouwbaar Het leveren van deze hulp is een poging om de best mogelijke inspanning te leveren. Er zijn geen aanwijzingen dat de levering mislukt.
Onbetrouwbaar met melding: De bezorging van het bericht is niet gegarandeerd. De verzender ontvangt echter een kennisgeving van de verzuim.
De opdracht Laat IP-knooppunten zien in een zogenaamd IPC-gebied.
Router#show ipc nodes There are 3 nodes in this IPC realm. ID Type Name Last Last Sent Heard 10000 Local IPC Master 0 0 1030000 RSP-CY RSP IPC card slot 3 7 7 1000000 RSP-CY RSP IPC card slot 0 10 10
Wanneer een slaaf RP aanwezig is, maakt de opdracht showipc knooppunten een lijst van het slave RP-adres, zoals getoond in deze steekproefuitvoer van een Cisco 10000 Series router:
10k-2#show ipc nodes There are 5 nodes in this IPC realm. ID Type Name Last Last Sent Heard 10000 Local IPC Master 0 0 20000 UDP C10K Line Card slot 2/0 3 3 30000 UDP C10K Line Card slot 3/0 3 3 40000 UDP C10K Line Card slot 1/0 3 3 50000 Ethernet Slave 18 45
Nadat het een IPC poort creëert, kan een IPC client zijn havennaam dan registreren met de mondiale naamdienst gecontroleerd door de IPC Master.
Een verzameling IPC-stoelen, die met elkaar communiceren, wordt een zone genoemd. Voor elke IPC-zone wordt één enkele IPC-zetel aangewezen als IPC Zone Manager of Master, of IPC Master for Short. Logisch gezien zijn alle IPC-stoelverbindingen in het IPC-protocol point-to-point verbindingen. Alle IPC-stoelcommunicatie is doorgaans tussen de actieve RP en een lijnkaart, of stand-by RP. De lijnkaart naar lijnkaartcommunicatie is mogelijk.
Een apparaat moet lokale poorten maken en bestemmingspoorten lokaliseren voordat het een IPC-bericht uitwisselt. Hoewel een apparaat lokale poorten maakt, worden deze poorten niet als bronpoorten beschouwd, omdat de IPC-communicatie simplex is. Wanneer de RP met een LC wil communiceren, opent zij eerst een haven op de LC (de LC moet de haven hebben gecreëerd en het bij de IPC Master - RP hebben geregistreerd). Wanneer het openen slaagt, kan het normale IPC bericht verkeer beginnen.
In Cisco 12000 en 7500 Series, de routeprocessor, of een Gigabit routeprocessor (GRP) of een routeprocessor (RSP), en de intelligente lijnkaarten werken als IPC-endpoints. Een "IPC Master" controleert een groep processors. Als de router initialiseert, ontdekt de IPC Master de IPC endpoints die aanwezig zijn op lijnkaarten in het systeem. Om dit te doen, scant de IPC Master alle slots, identificeert het controletype en bepaalt of de controller IPC-functies heeft.
Gebruik de opdracht Show ipc poorten om deze poorten te bekijken. Op een IPC-slaaf, maakt deze opdracht een lijst van de poorten die op die specifieke IPC-stoel zijn gemaakt. Wanneer uitgegeven op de IPC Master, toont deze opdracht de poorten die gecreëerd zijn op de Master, en ook de poorten die geregistreerd zijn door de IPC-slaven (LC's). Daarnaast maakt de show ipc poorten open opdracht een lijst van de poorten die zijn geopend vanaf deze IPC-stoel. Hier wordt een voorbeeld uitgevoerd:
router#show ipc ports There are 87 ports defined. Port ID Type Name 10000.1 unicast IPC Master:Zone 10000.2 unicast IPC Master:Echo 10000.3 unicast IPC Master:Control 10000.4 unicast IPC Master:Init port_index = 0 seat_id = 0x1020000 last sent = 0 last heard = 1 port_index = 1 seat_id = 0x1010000 last sent = 0 last heard = 1 port_index = 2 seat_id = 0x1040000 last sent = 0 last heard = 1 port_index = 3 seat_id = 0x1050000 last sent = 0 last heard = 1 port_index = 4 seat_id = 0x1060000 last sent = 0 last heard = 1 port_index = 5 seat_id = 0x1070000 last sent = 0 last heard = 1 port_index = 6 seat_id = 0x1080000 last sent = 0 last heard = 1 port_index = 7 seat_id = 0x1090000 last sent = 0 last heard = 1 port_index = 8 seat_id = 0x10A0000 last sent = 0 last heard = 1 port_index = 9 seat_id = 0x10B0000 last sent = 0 last heard = 1 port_index = 10 seat_id = 0x1030000 last sent = 0 last heard = 1 10000.5 unicast Remote TTY Server Port port_index = 0 seat_id = 0x1070000 last sent = 0 last heard = 2 port_index = 1 seat_id = 0x1010000 last sent = 0 last heard = 2 port_index = 3 seat_id = 0x1040000 last sent = 0 last heard = 2 port_index = 4 seat_id = 0x1050000 last sent = 0 last heard = 2 Port ID Type Name port_index = 5 seat_id = 0x1060000 last sent = 0 last heard = 3 port_index = 6 seat_id = 0x1080000 last sent = 0 last heard = 2 port_index = 7 seat_id = 0x1090000 last sent = 0 last heard = 2 port_index = 8 seat_id = 0x10A0000 last sent = 0 last heard = 2 port_index = 9 seat_id = 0x10B0000 last sent = 0 last heard = 2 [output omitted]
Het veld Port_index is de sessie-ID die door de doelIPC wordt gebruikt wanneer er binnenkomende berichten worden verwerkt. Wanneer een slaaf RP aanwezig is, toont de show ipc port opdracht stand-by poortinformatie, zoals geïllustreerd in deze steekproefuitvoer:
10k-2#show ipc ports There are 16 ports defined. Port ID Type Name 10000.1 Unicast IPC Master:Zone 10000.2 Unicast IPC Master:Echo 10000.3 Unicast IPC Master:Control 10000.4 Unicast Microcode Server 10000.5 Unicast RFS Server Port 10000.6 Unicast Remote File System Server Port 10000.7 Unicast Master : TTY Server Port port_index = 0 seat_id = 0x50000 last sent = 0 last heard = 0 10000.8 Unicast C10K Line Card API port_index = 0 seat_id = 0x20000 last sent = 0 last heard = 58521 port_index = 1 seat_id = 0x30000 last sent = 0 last heard = 64235 port_index = 2 seat_id = 0x40000 last sent = 0 last heard = 13486 50000.3 Unicast Slave IPC:Control 50000.9 Unicast Secondary RFS Server Port 50000.A Unicast Secondary Old RFS Server Port 50000.8 Unicast Slave : TTY Client Port 50000.7 Unicast Secondary Services Port 50000.B Unicast IF-con server port 50000.C Unicast RF : Standby 50000.D Unicast CF : Standby
IPC-berichten zijn de basiseenheid voor communicatie tussen IPC-cliënten. Tijdens normaal gebruik, interageren de RP en de lijnkaarten vaak door IPC-berichten. Een bericht bevat een kop-, bron- en doeladresseringsinformatie en de berichtgegevens.
In de IPC-header definieert IPC verschillende berichtvlaggen die de verwerking van een IPC-bericht wijzigen. Van de gedefinieerde vlaggen zijn vier vlaggen gerelateerd aan het gebruikte communicatietype (onbetrouwbaar, onbetrouwbaar met kennisgeving, betrouwbaar), andere vier vlaggen gerelateerd aan RPC-berichten (Remote Procedure Call) of interne controle-verwerking, en twee worden helemaal niet gebruikt.
Hier zijn een paar IPC-klanten:
Opdrachten die door RP worden verzonden om lijnkaarten voor informatie zoals versie, geheugenbedragen, interfacestatistieken, veranderingen in interfacestatus, en configuratiegegevens te vragen.
Antwoorden op de opdrachten van de RP, die van de lijnkaart naar de RP worden verzonden. Voorbeelden van informatie in de IPC berichten omvatten getimed statistieken updates en vensters berichten die aangeven hoeveel meer IPC berichten de lijnkaart in de rij kan houden.
Evenementen of berichten die asynchroon worden gegenereerd. Voorbeelden zijn het rapporteren van fouten zoals invoerfouten, runts, en reuzen, zowel als het rapporteren van statistieken en andere boekhoudingsinformatie, zoals byte en pakkettellingen.
Berichten tussen een actieve en standby RP naar selectietechniek correct gebruik.
Sommige Cisco IOS-softwareprocessen moeten informatie uitwisselen tussen lijnkaarten en de routeprocessor. Deze processen worden beschouwd als IPC-toepassingen. Tot de voorbeelden behoren Cisco Express Forwarding (CEF) en externe bestandsystemen om afbeeldingen uit te wisselen tussen Cisco 12000 Series routeprocessors.
Tabel 1 toont de lagen van de IPC-protocolstack:
Tabel 1 - Lagen van de IPC-protocolstackIPC-protocolstack |
---|
IPC-toepassingen |
IPC-mechanisme zelf |
Switch Fabric (12000 Series) voor CBUS (7500 Series) datalaag |
Zowel de 7500 Series als de 12000 Series routers wijzen een speciale reeks buffers toe om IPC-berichten op te slaan die voor transmissie in de wachtrij staan en op bevestiging vanuit de bestemming IPC-poort wachten.
De 7500 Series gebruikt een speciale set buffers in het systeempakketgeheugen (MEMD). Zie Wat veroorzaakt een "%RSP-3-RESTART voor meer informatie over MEMD en de 7500 architectuur: buscomplex"? en begrip van VIP CPU die actief is bij 99% en RX-Side Buffering.
Op de 7500 Series staan de IPC-wachtrijen in het processorgeheugen. In sommige versies van Cisco IOS (zie de voorbeelduitvoer hieronder) kan de totale IPC bufferruimte in processorgeheugen worden aangepast door de opdracht ipc cache size. De MEMD heeft een aantal beperkte buffers die niet kunnen worden aangepast. Wanneer een IPC-bericht dat in het processorgeheugen wordt nagezocht, wordt verstuurd en wanneer er enige vrije ruimte in de MEMD is, worden de IPC-berichten "verplaatst" van het processorgeheugen naar de MEMD voordat ze naar de LC worden verzonden.
Gebruik de opdracht tonen ipc-wachtrij om de status van de IPC-wachtrijen te bekijken.
Router#show ipc queue There are 0 IPC messages waiting for acknowledgment in the transmit queue. There are 0 IPC messages waiting for a response. There are 0 IPC messages waiting for additional fragments. There are 0 IPC messages currently on the IPC inbound. There are 0 messages currently in use by the system.
Opmerking: deze wachtrijen zijn door IPC onderhouden softwarewachtrijen en moeten niet worden verward met de QA-ASIC hardwarewachtrijen van de 7500 Series.
Op de 12000 Series, stuurt GRP IPC-berichten over de switch. Bij het opstarten creëert het bufferalgoritme twee reeksen pools in het zogenoemde tofab (ontvangstkant) en frfab (verzendkant) geheugen. Zoals wordt getoond in de voorbeelduitvoer van de opdracht tofab lange wachtrijen van de controller (zie hieronder), zijn de twee reeksen niet-IPC vrije wachtrijen en IPC wachtrijen. Voor richtlijnen hoe te om de uitvoer te interpreteren, zie Cisco 12000 Series Internet Router: Veelgestelde vragen.
Op Cisco 12000 Series wijst GRP een bepaald aantal kopregels toe bij initialisatie. Er zijn verschillende wijzigingen aangebracht om de geheugentoewijzing voor deze kopregels te verbeteren.
Cisco IOS-softwarerelease 12.0(18)S/ST heeft het standaard aantal kopregels dat bij initialisatie is gemaakt, verhoogd van 1000 naar 5000 op zowel de GRP als de LCs (zie de uitvoer die volgt). Vanaf release 12.0(23)S en later mag de IPC-header cache dynamisch groeien. Het hoeft dus niet langer handmatig te worden ingesteld.
LC's behouden IPC-berichtkopregels in Dynamic RAM (DRAM). Daarnaast zetten de LC's 100 buffers in het tofab en uit het geheugen van de fab voor IPC-berichten op. Met elk verzonden IPC-bericht moet de LC een IPC-berichtkop van de cache vragen en vervolgens een verzoek naar de frfab Buffer Management ASIC (BMA) sturen voor een IPC-berichtbuffer die gebruikt moet worden om het bericht naar de GRP over de stof te verzenden.
LC-Slot1#show controllers tofab queues Carve information for ToFab buffers SDRAM size: 33554432 bytes, address: 30000000, carve base: 30029100 33386240 bytes carve size, 4 SDRAM bank(s), 8192 bytes SDRAM pagesize, 2 carve(s) max buffer data size 9248 bytes, min buffer data size 80 bytes 40606/40606 buffers specified/carved 33249088/33249088 bytes sum buffer sizes specified/carved Qnum Head Tail #Qelem LenThresh ---- ---- ---- ------ --------- 5 non-IPC free queues: 20254/20254 (buffers specified/carved), 49.87%, 80 byte data size 1 17297 17296 20254 65535 12152/12152 (buffers specified/carved), 29.92%, 608 byte data size 2 20548 20547 12152 65535 6076/6076 (buffers specified/carved), 14.96%, 1568 byte data size 3 32507 38582 6076 65535 1215/1215 (buffers specified/carved), 2.99%, 4544 byte data size 4 38583 39797 1215 65535 809/809 (buffers specified/carved), 1.99%, 9248 byte data size 5 39798 40606 809 65535 IPC Queue: 100/100 (buffers specified/carved), 0.24%, 4112 byte data size 30 72 71 100 65535 Raw Queue: 31 0 17302 0 65535 [output omitted]
Opmerking: Zie tabel 2 voor een lijst met IOS-versies met de verbeteringen die in deze sectie worden vermeld.
Onder zeldzame omstandigheden (bijvoorbeeld wanneer een grote hoeveelheid informatie tussen IPC-cliënten moet worden uitgewisseld) kan de IPC-buffercache worden uitgeput. Cisco IOS-software gebruikt deze logberichten om deze voorwaarde te melden:
Oct 7 03:36:49: %RSP-3-RESTART: interface Serial0/0/4:1, not transmitting Oct 7 03:39:51: %IPC_RSP_CBUS-3-NOBUF: No more IPC memd buffers to transmit IPC message Oct 7 03:40:09: %RSP-3-RESTART: interface Serial0/0/2:1, not transmitting Oct 7 03:40:19: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/1/0, changed state to down Oct 7 03:40:19: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/1/1, changed state to down Oct 7 03:40:19: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/1/2, changed state to down Oct 7 03:40:19: %LINEPROTO-5-UPDOWN: Line protocol on InterfaceSerial0/1/3, changed state to down Oct 7 03:40:21: %IPC_RSP_CBUS-3-NOBUF: No more IPC memd buffers to transmit IPC message Oct 7 03:40:26: %FIB-3-FIBDISABLE: Fatal error, slot 0: IPC failure Oct 7 03:40:26: %FIB-3-FIBDISABLE: Fatal error, slot 1: IPC failure Oct 7 03:40:26: %FIB-3-FIBDISABLE: Fatal error, slot 4: IPC failure Oct 7 03:40:26: %FIB-3-FIBDISABLE: Fatal error, slot 5: IPC failure Oct 7 03:40:29: %LINEPROTO-5-UPDOWN: Line protocol on Interface
Zoals de bovenstaande output aangeeft, schakelt het RP CEF op alle lijnkaarten in deze voorwaarde uit omdat het niet langer in staat zal zijn de CEF-tabellen op de lijnkaarten met de hulp van IPC bij te werken. Berichten die FIBDISABLE zijn, worden dus tegen alle lijnkaarten gemeld.
Om dit soort mislukkingen op te lossen, kan het IPC cache op RP en IPC geheugen op lijnkaarten moeten worden verhoogd. Voordat u dit doet, gebruik de opdracht Show ipc status om te onderzoeken of de RP of de LC of beide uitloop van IPC buffers. Neem deze uitvoer en onderzoek deze uit zowel de RP als de LC.
Oorspronkelijk was het standaardaantal buffers dat met de hulp van IPC voor alle systemen werd toegewezen 1000 gecached berichtkoppen, die werden gedeeld tussen inkomende en uitgaande berichten. Gebaseerd op de versie van de geïnstalleerde software van Cisco IOS, is het aantal IPC-cached berichtkoppen of statisch, dynamisch, of kan worden aangepast.
Hier is de uitvoer van het opdracht van de show ipc status van een router met de standaard 1000 berichtkoppen.
Opmerking: Cisco IOS-softwarerelease 12.2T en 12.2S brengen wijzigingen aan in de uitvoer van deze opdracht.
router#show ipc status IPC System Status: This processor is the IPC master server. 1000 IPC message headers in cache 4049362 messages in, 92615 out, 4048932 delivered to local port, 352 acknowledgments received, 386 sent, 0 NACKS received, 0 sent, 15326 messages dropped on input, 154 messages dropped on output 0 no local port, 110 destination unknown, 0 no transport 0 missing callback or queue, 34 duplicate ACKs, 0 retries, 0 message timeouts. 0 ipc_output failures, 0 mtu failures, 7707 msg alloc failed, 0 emer MSG alloc failed, 0 no origs for RPC replies 0 pak alloc failed, 0 memd alloc failed 0 no hwq, 0 failed opens, 0 hardware errors
De vereiste hoeveelheid toe te wijzen geheugen hangt af van het type kaart (RP of LC, RSP of VIP) op het platform en de activiteit van de toepassingen die IPC nodig hebben (gedistribueerde CEF, bijvoorbeeld).
Van Cisco IOS-softwarerelease 12.0(23)S, 12.2(18)S en de nieuwe IOS-treinen 12.3 en 12.3T wordt het IPC-bericht cache dynamisch in plaats van statische toewijzing van het IPC-cache beheerd. De voorgestelde oplossing voor het IPC bericht cache depletie probleem als gevolg van het barstse zware IPC-verkeer is om de berichtcache dynamisch te laten groeien en krimpen. Bij de initialisatie deelt het systeem een platform opgegeven standaardaantal berichten toe. Als het aantal gratis berichten lager is dan de "minimum" buffers, wordt het een waarschuwing voor het kritieke achtergrondproces om de cache te laten groeien. Dit stelt IPC in staat om het cache te laten groeien om te voldoen aan de behoeften van zijn klanten. Als de recent toegewezen buffers nooit door IPC voor een bepaald tijdframe worden gebruikt, begint dit proces te krimpen. De cache stopt om te krimpen als het de standaardgrootte bereikt. Deze prestatieverbetering werd geïntroduceerd in CSCdv57496. Met de implementatie van CSCdv57496 werkt de ipc cache <size>opdracht niet langer zoals automatisch. Dit is geldig voor alle IPC-platforms.
Belangrijke opmerking: Van Cisco IOS-softwarerelease 12.3(5.5)T is de mogelijkheid om het IPC-cache handmatig af te stemmen, verwijderd. Zie CSCec17505 (alleen geregistreerde klanten) voor meer informatie.
Wanneer u de uitvoer van de opdracht tonen ipc-wachtrij controleert, moet u dit zien:
c7500#show ipc queue Message waiting for acknowledgement in Tx queue : 0 Maximum acknowledgement msg usage in Tx queue : 0 Message waiting for additional Fragments : 0 Maximum message fragment usage : 0 There are 0 IPC messages waiting for a response. There are 0 IPC messages currently on the IPC inboundQ. Messages currently in use : 0 Message cache size : 1000 Maximum message cache usage : 1344 0 times message cache crossed 5000 [max] Emergency messages currently in use : 0 Inbound message queue depth 0 Zone inbound message queue depth 0
Als de router een Cisco IOS-softwareversie draait die geen dynamisch-beheerde IPC cache-buffers bevat, dat wil zeggen, beelden voorafgaand aan 12.0(23)S, 12.2(18)S, 12.3 en 12.3T, kan het IPC-cache op RP en het IPC-geheugen op lijnkaarten handmatig worden verhoogd. Voordat u dit doet, gebruik de opdracht Show ipc status om te onderzoeken of de RP, LC, of beide, geen IPC-buffers hebben. Neem deze uitvoer en onderzoek deze uit zowel de RP als de LC.
Indien nodig kunt u deze opdrachten gebruiken om de geheugen-instellingen aan te passen:
De ipc cache 5000 configuratie opdracht om het IPC header cache op de RP te verhogen.
Het ipc cache <size> [sleuf {sleuf_num | all] opdracht om het cachegeheugen op Cisco 12000 LC te verhogen.
Opmerking: wanneer u meer geheugen toewijst voor IPC-berichten, is minder geheugen beschikbaar voor andere processen. De grootte van één enkel IPC bericht varieert werkelijk met verschillende Cisco IOS softwaretakken. Gebruik de opdracht Show memory summary om te controleren of het processorgeheugen voldoende vrije geheugen bevat.
Opmerking: Zie tabel 2 voor een lijst met IOS-versies met de verbeteringen die in deze sectie worden vermeld.
In sommige situaties, zou u ook de IPC-doorvoersnelheid tussen RP en LC willen aanpassen. Dit is in het bijzonder het geval wanneer de RP een grote CEF-tabel aan de LC moet uploaden. Bijvoorbeeld, zou dit kunnen gebeuren terwijl de router begint, wanneer het een grote hoeveelheid het verzenden van informatie van een BGP peer ontvangt. U kunt extra IPC-buffering op de LC configureren met de opdracht ip cef linecard ipc geheugen xxx om de IPC-bandbreedte te vergroten. Deze opdracht is geïntroduceerd door CSCds89515 (alleen geregistreerde klanten). De waarde voor dit geheugen is ingesteld op een acceptabel standaard met CSCdu54205 (alleen geregistreerde klanten) en CSCuk27162 (alleen geregistreerde klanten).
Dit zijn de opdrachten die het resultaat aangeven wanneer u deze parameter wijzigt:
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#ip cef line ipc mem 20000 Router(config)#^Z Router#show cef state ... RP state: Expanded LC ipc memory: 20000 Kbytes ... or, alternatively: Router#show cef line Slot MsgSent XDRSent Window LowQ MedQ HighQ Flags 0 12515 21687 505 0 0 0 up 1 12515 21675 505 0 0 0 up 3 12515 21701 505 0 0 0 up 5 12515 21700 505 0 0 0 up 2 12518 22008 505 0 0 0 up Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#ip cef line ipc mem 20000 Router(config)#^Z Router#show cef line Slot MsgSent XDRSent Window LowQ MedQ HighQ Flags 0 12538 22097 4966 0 0 0 up 1 12538 22081 4966 0 0 0 up 3 12538 22115 4966 0 0 0 up 5 12538 22114 4966 0 0 0 up 2 12541 22418 4966 0 0 0 up
Tabel 2 biedt een overzicht van de verbeteringen die in Cisco IOS-software zijn geïmplementeerd om IPC-geheugen op verschillende platforms handmatig en dynamisch te instellen.
Tabel 2 - Verbeteringen in Cisco IOS-softwareCisco-id voor bugs | Vast | Verbetering |
---|---|---|
CSCdk75315 (alleen geregistreerde klanten) | 12.0(5)S 12.0(5) 12.0(5)T 11.3(10)AA | Inleiding over een IPC cache-grootte die kan worden ingesteld met behulp van de ipc cache <size>-opdracht. |
CSCds89515 (alleen geregistreerde klanten) | 12.2(4)B 12.1(9)E 12.1(8a)E 12.2(3)T 12.2(2)S 12.1(9)12.0(14)ST1 12.2(2)12.2(1)T 12.0(15)S3 12.2 (16)ST 12.0(16)S | Op een Cisco 12000 Series Internet Router, kan gedistribueerd Cisco Express Forwarding (dCEF) worden uitgeschakeld vanwege een geheugenaandoening tijdens een grote routingupdate (bijvoorbeeld tijdens het opstarten). Als een tijdelijke oplossing kunt u het maximale pad in Border Gateway Protocol (BGP) verlagen om de hoeveelheid informatie die CEF naar de lijnkaarten verspreidt, te verminderen. U kunt ook de TCP-venstergrootte beperken om de snelheid van inkomende BGP-updates te beperken. Zie Optimale routing bereiken en BGP-geheugenconsumptie verminderen. U kunt ook het IP cef linecard ipc geheugen 0-128000 interface configuratie opdracht invoeren. De hoeveelheid lijnkaartprocessor of hoofdgeheugen is beperkt tot 50 procent van het totale geheugen. Met deze opdracht kunt u een groter aantal lijnkaartprocessorgeheugen toewijzen aan de wachtrij voor CEF-routing om berichten bij te werken. Het stelt de RP in staat om CEF-updates sneller vrij te maken om geheugen te vrijmaken, en het voorkomt het voorkomen van een geheugenaandoening op de RP. Gebaseerd op het aantal veelzijdige interfaceprocessors (VIP's) heeft dCEF een grote hoeveelheid tijdelijk geheugen op de RSP nodig om IPC-berichten te bufferen die aan de VIP zijn gebonden, vooral in gevallen waarin grote BGP-peers omhoog komen of wanneer de Forwarding Information Base (FIB) naar de VIP wordt verspreid na een CBUS-complex of een VIP-crash (of wanneer de duidelijke cef-lijn opdracht is afgegeven). |
CSCdu21591 (alleen geregistreerde klanten) | 12.0(17)ST4 12.0(18)ST 12.0(18)S | Verhoogt de standaard IPC bericht cache grootte van 1000 tot 5000 op 12000 Series routers. Eerder accepteerde de parser elk getal tussen de hard-codeerde waarden van 1000 en 15000. Vandaag accepteert de parser alleen getallen tussen de platform-gedefinieerde minimum en maximum cache grootte. Daarnaast was het oorspronkelijk niet mogelijk om de ipc cache opdracht uit de configuratie te halen zelfs als u de geen ipc cache opdracht in de configuratie uitvoerde om een aangepaste IPC cache waarde te verwijderen. In plaats daarvan nam het een ipc cache x opdracht in, waarbij x de momenteel gedefinieerde standaard cache grootte is. Vandaag heeft de geen ipc cache opdracht het verwachte gedrag. Het verwijdert de ipc cache opdracht uit de configuratie. |
CSC du 12540 | 12.0(19)ST 12.0(19)S | Alleen van toepassing op Cisco 12000 Series: Oorspronkelijk werkte de ipc cache <size>opdracht alleen voor de RP IPC cache. De ipc cache opdracht kan op LCs als volgt worden gebruikt: ipc cache <size> [slot {slot_num | all}]De opties sleuf_num en alles sluiten elkaar niet uit. Deze opdrachten zijn bijvoorbeeld geldig: ipc cache 4000-sleuf alle ipc cache 3000-sleuven 5 Deze opdrachten vergroten de cachegrootte in sleuf 5 tot 3000 en tot 4000 voor alle andere "slots". Als u de all optie wilt gebruiken om vorige cachegrootteconfiguratieverklaringen voor LC's te overschrijven, zorg er dan voor dat u ook "NOPREFIX" gebruikt om de vorige opdrachten in Nonvlule RAM (NVRAM) te verwijderen en de juiste resultaten uitvoert. Gebruik in de nanofixmodus de geen ipc cache sleuf {sleuf_num | alle opdracht om de cachegrootte terug te stellen op zijn standaardwaarde. |
CSC du 54205 | 12.0(19)ST 12.0(19)S | Alleen van toepassing op Cisco 12000 Series: Deze verbetering veranderde de standaardwaarde voor de CEF-geheugentoewijzing voor lijnkaart in 512 berichten. Het is niet langer nodig de opdracht ip cef linecard ipc geheugen xxxxx te gebruiken, tenzij het probleem is waargenomen. |
CSCuk27162 (alleen geregistreerde klanten) | 12.2(9)T 12.2(9)S 12.2(9)S 12.0(21)ST 12.0(22)S | Deze softwareverbetering verandert het standaard aantal lijnkaartbuffers dat bij het opstarten is toegewezen. Het verhoogt ook het RSP per-platform standaard lijnkaart IPC geheugen van 25 tot 128 IPC berichten. Werken: Gebruik de opdracht voor het mondiaal configureren van het IP-lijnkaartsysteem xxxxx om het aantal buffers op de lijnkaarten te verhogen. |
CSCdv57496 | 12.0(23)S | Beheer IPC bericht cache dynamisch in plaats van statische toewijzing van het IPC cache. Dankzij de implementatie van CSCdv57496 is de opdracht ipc cache <size> niet langer geldig, omdat dit automatisch gebeurt. Dit is geldig voor alle IPC-platforms. |
CSCdz7490 | 12.2(19.7)S 12.0(26.2)S 12.3(1)B 12.3(1) | Dankzij de implementatie van CSCdz7490 wordt de opdrachtregelinterface ipc cache <size>van Cisco IOS-softwastreinen 12.3 en 12.3T verwijderd. In de Cisco IOS 12.3 trein is deze opdracht verborgen, maar indien geconfigureerd vanuit de terminal drukt deze een bericht naar de gebruiker af. In de volgende belangrijke release 12.4 wordt deze opdracht verwijderd. |
CSC17505 (alleen geregistreerde klanten) | TBD | Symptomen: De ipc cache size verandert niet wanneer u de ipc cache <size>CLI-opdracht gebruikt om de cachegrootte te wijzigen. Voorwaarden: Deze conditie is het gevolg van architectonische veranderingen met IPC. Werken: De IPC cache-functie wordt nu automatisch uitgevoerd en kan niet door de gebruiker op de CLI worden gewijzigd. Deze verbetering verwijdert het ipc cache <size>CLI-opdracht in de Cisco IOS-softwarereleases die de gebruiker niet langer in staat stellen het IPC cache handmatig te wijzigen. Er dienen geen problemen te zijn met de compatibiliteit met de computer omdat de CLI nog zal bestaan in versies waarin de gebruiker de IPC cache handmatig kan wijzigen met de opdracht ipc cache <size>CLI. |
Wanneer Catalyst OS wordt uitgevoerd, gebruikt Catalyst 6000/Cisco 7600 Series een Supervisor Engine met een optionele routerkaart die bekend is als de functiekaart voor meerlaagse Switch (MSFC). De CPU op de supervisor en de CPU op de MSFC communiceren via IPC-berichten over een Ethernet out-of-band beheerbus. Wanneer Cisco IOS-systeemsoftware wordt uitgevoerd, communiceren de RP en de switch Processor (SP) ook via IPC-berichten. Oorspronkelijk werden 3000 buffers gecreëerd voor IPC-berichten. In zeldzame gevallen loopt het systeem zonder IPC-buffers en rapporteert u deze foutmeldingen:
01:52:13: %ICC-2-NOMEM: No memory available for unregistering card Card2 02:42:08: %IPC-3-NOBUFF: The main IPC message header cache has emptied -Traceback= 4026779C 40268350 4025F930 40223D34 40221C40 40221EA4 401EAB10
Opmerking: ICC staat voor InterCard-communicatie.
Cisco IOS-softwarereleases 12.1(8a)E01 en 12.1(10)E, maakt Cisco 7600 Series nu standaard 6000 IPC-berichtbuffers aan. Bovendien helpen wijzigingen die zijn aangebracht in de versies 12.1(08a)E en 12.1(09)EC om uitputting van IPC-header te voorkomen die het gevolg is van een groot aantal VLAN-gerelateerde updates. Elk IC-bericht adverteert een groep VLAN link-state veranderingen, in plaats van één VLAN tegelijkertijd.
Draadloze lijnkaarten voor Cisco 7600 Series ondersteunen een gedistribueerde functiekaart (DFC) voor snelle pakketafhandelingssnelheden. De DFC-enabled lijnkaarten houden lokale Cisco Express Forwarding en nabijheid tabellen en communiceren met de supervisor met de IPC-berichten.
Sommige IPC-berichten zijn groter dan de maximale transmissie-unit (MTU) van de Catalyst 6000 switchbus (bijvoorbeeld IPC-berichten die worden gebruikt om SONET-interfacestatistieken in berichten groter dan 1500 bytes) te melden. Zulke boodschappen moeten versnipperd raken. Onder zeldzame omstandigheden is de IPC-fragmentheader cache uitgeput, en het systeem meldt deze foutmelding:
%IPC-DFC6-3-NOBUFF: The fragment IPC message header cache has emptied
Veranderingen in Cisco IOS-softwarereleases 12.1(08a)E en 12.1(09.05)EC verhogen het aantal bufferkoppen van IPC-fragment van 32 tot 128.
Dit bericht kan in de debug uitvoer verschijnen als de dubbele ontvangstbewijzen door de IPC-client worden ontvangen.
IPC: Kan origineel bericht voor ACK HDR niet vinden:
Dubbele kennisgevingen zijn meestal te wijten aan mediaproblemen die ervoor zorgen dat de ontvangstberichten verloren gaan. Om dit verlies van erkenning op te lossen, hervat of vervangt u de lijnkaart in de slots op correcte wijze om mediaproblemen te voorkomen.
Als u nog steeds assistentie nodig hebt nadat u de bovenstaande stappen voor het oplossen van problemen hebt gevolgd en u een serviceaanvraag wilt maken met de Cisco TAC, zorg er dan voor dat u de volgende informatie voor de probleemoplossing van IPC-3-NOBUFF-gerelateerde foutmeldingen wilt toevoegen: |
---|
Opmerking: Stel de router niet handmatig opnieuw in of op basis van het stroomprogramma voordat u de bovenstaande informatie verzamelt, tenzij dit nodig is om een IPC-3-NOBUFF-uitzondering op te lossen, omdat dit belangrijke informatie kan veroorzaken die nodig is om de oorzaak van het probleem te bepalen dat verloren gaat. |