소개
이 문서에서는 ASR9000 라우터의 메모리 부족으로 인한 LDP(Label Distribution Protocol) 네이버 문제에 대해 설명합니다.
배경 정보
LDP는 IGP 경로에 대한 레이블 정보를 생성하고 공유하는 데 도움이 되는 레이블 배포 프로토콜입니다. 그러나 레이블을 교환하기 전에 라우터가 먼저 LDP 네이버를 형성합니다. 아시다시피 LDP는 UDP 및 TCP 프로토콜에서 작동합니다. 네이버 검색의 경우 LDP는 UDP 프로토콜을 사용하며 네이버는 TCP 프로토콜을 사용합니다.
TCP 연결을 만들려면 라우터에 충분한 양의 메모리와 CPU가 있어야 합니다.
문제 요약
명백히, 당신은 핑 및 트레이스라우트를 할 수 있습니다.
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
중단할 이스케이프 시퀀스를 입력합니다.
192.168.12.6에 대한 경로 추적
1 192.168.99.220 [MPLS: Labels 26664/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] 2msec 2msec 2msec
4 192.168.12.6 2밀리초 2밀리초 2밀리초
모든 ping 및 traceroute가 작동하지만 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
TCP 실패 이유를 확인할 수 있습니다.
문제 분석
명령Show mpls ldp trace error reverse | in 192.168.12.6 을 선택하면 메모리가 부족하여 LDP 인접 디바이스가 없는 것을 알 수 있습니다.
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'
또한, RSP0 상에는 마이너 메모리가 존재하나, RSP1은 정상인 것을 알 수 있다.
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
이 문제는 메모리와 관련이 있으므로 다른 RSP 및 장치와 비교하더라도 시스템의 여러 구성 요소의 메모리 사용량을 확인하고 가장 높은 메모리를 사용하여 추적할 수 있습니다. RSP0은 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)
또한 Ltrace가 많은 양의 메모리를 사용하고 있다는 것도 확인할 수 있습니다.
해결 방법:
1. 대기 RP를 다시 로드합니다.
2. 동기화될 때까지 기다립니다. 현재 프로파일sh shmem summary loc 0/RSP1/CPU0, 에 배율 16이 있는지 확인합니다.
3. 전환
4. 메모리가 정상인지 확인합니다. LDP가 백업되었는지 확인합니다.
5. RSP0에 배율 16이 적용되는지 sh shmem summary loc 0/RSP0/CPU0 확인합니다.
로그 수집:
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
참고: 동일한 컨피그레이션을 사용하는 다른 라우터의 메모리 사용량을 확인합니다.