Introduzione
In questo documento viene descritto il problema del router adiacente Label Distribution Protocol (LDP) causato da memoria insufficiente sui router ASR9000.
Premesse
LDP è un protocollo di distribuzione delle etichette che consente di generare e condividere le informazioni delle etichette per le route IGP. Ma prima di scambiare l'etichetta, il router forma il vicinato dell'LDP. Come sapete, LDP funziona sui protocolli UDP e TCP. Per il rilevamento dei router adiacenti, LDP utilizza il protocollo UDP e per creare il protocollo adiacente utilizza il protocollo TCP.
Il router deve avere una buona quantità di memoria e CPU per poter stabilire una connessione TCP.
Riepilogo
È possibile eseguire il ping e il traceroute.
RP/0/RSP0/CPU0:R1#ping 192.168.12.6 so l14
Thu Jun 27 07:01:31.192 UTC
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.12.6 timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/2/3 ms
RP/0/RSP0/CPU0:R1# traceroute 192.168.12.6 so l14 numeric
Thu Jun 27 07:01:56.748 UTC
Digitare la sequenza di escape da interrompere.
Tracciamento del percorso fino a 192.168.12.6
1 192.168.99.220 [MPLS: Etichette 2664/75671 Exp 0] 3 msec 2 msec 2 msec
2 192.168.96.8 [MPLS: Label 75671 Exp 0] 1 msec 1 msec 1 msec
3 192.168.62.151 [MPLS: Label 24201 Exp 0] 2 msec 2 msec 2 msec
4 192.168.12.6 2 msec 2 msec 2 msec
Tutte le funzionalità ping e traceroute sono attive, ma non vi è appartenenza al protocollo LDP.
RP/0/RSP0/CPU0:R1# show mpls ldp discovery 192.168.12.6 detail
Thu Jun 27 07:05:43.503 UTC
Local LDP Identifier: 192.168.248.84:0
Discovery Sources:
Targeted Hellos:
192.168.248.84 -> 192.168.12.6 (active), xmit/recv
Hello interval: 5 sec (due in 978 msec)
Quick-start: Enabled
LDP Id:192.168.248.84:0
Hold time: 45 sec (local:90 sec, peer:45 sec)
(expiring in 41.3 sec)
Established: Jun 26 12:02:16.216 (18:58:47 ago)
Session bringup fail reason:
waiting for tcp incall
È possibile visualizzare il motivo dell'errore TCP.
Analisi del problema
Quando si controlla il Show mpls ldp trace error reverse | in 192.168.12.6 comando, si rileva che non vi sono vicini LDP a causa di memoria insufficiente.
Jun 27 07:08:29.742 mpls/ldp/err 0/RSP0/CPU0 t1 [ERR][MISC]:8201: VRF(0x60000000):
ldp_nbr_ok_to_connect: Call from 192.168.12.6 rejected - state=2, reason=''MPLS_LDP'
detected the 'resource not available' condition 'A low memory condition prevents new
LDP sessions'
Inoltre, si noti che su RSP0 è presente una quantità minore di memoria, ma RSP1 è normale.
RP/0/RSP0/CPU0:R1#show watchdog memory-state
Thu Jun 27 06:16:13.033 UTC
Memory information:
Physical Memory: 6144 MB
Free Memory: 554.988 MB
Memory State: Minor
RP/0/RSP0/CPU0:R1#show watchdog memory-state location 0/RSP1/CPU0
Thu Jun 27 06:17:06.110 UTC
Memory information:
Physical Memory: 6144 MB
Free Memory: 1208.164 MB
Memory State: Normal
Poiché questo problema è relativo alla memoria, è possibile verificare il consumo di memoria di componenti diversi dei sistemi e tenere traccia della memoria che utilizza la quantità di memoria più elevata, anche se confrontata con altri RSP e dispositivi. RSP0 utilizza la quantità di memoria più elevata per ltrace.
RP/0/RSP0/CPU0:R1#show shmem summary location 0/rSP0/CPU0
Thu Jun 27 07:24:48.601 UTC
Total Shared memory: 2345M
ShmWin: 349M
Image: 71M
LTrace: 690M
AIPC: 73M
SLD: 3M
SubDB: 528K
CERRNO: 148K
GSP-CBP: 165M
EEM: 0
XOS: 15M
CHKPT: 10M
CDM: 9M
XIPC: 4M
DLL: 64K
SysLog: 10M
Miscellaneous: 940M
LTrace usage details:
Used: 690M, Max: 3366M
Current: default(dynamic)
Configured: dynamic with scale-factor: 16 (changes take effect after reload)
È inoltre possibile notare che Ltrace utilizza una quantità elevata di memoria.
Soluzione temporanea:
1. Ricaricare la RP in standby.
2. Attendere che venga sincronizzato. Confermare che sh shmem summary loc 0/RSP1/CPU0, il profilo corrente sia un fattore di scala 16.
3. Switchover
4. Verificare che la memoria sia normale. Verificare che LDP sia di backup.
5. Confermare che il fattore di scala 16 sia applicato a RSP0 con sh shmem summary loc 0/RSP0/CPU0.
Raccogli log:
show mpls ldp neighbor
show mpls ldp neighbor detail
show mpls ldp discovery 192.168.12.6 detail
show watchdog memory-state
show watchdog memory-state location 0/RSP1/CPU0
show shmem summ loc 0/RSP1/CPU0
show shmem summ loc 0/RSP0/CPU0
show redundancy
show tech-support mpls ldp
Nota: controllare l'utilizzo di memoria su un altro router con la stessa configurazione.