目录

简介

背景信息

问题摘要

问题分析

简介

本文档介绍由于ASR9000路由器内存不足引起的标签分发协议(LDP)邻居问题。

背景信息

LDP是一种标签分发协议，可帮助生成和共享IGP路由的标签信息。但在交换标签之前，路由器首先形成LDP邻居关系。 如您所知，LDP适用于UDP和TCP协议。对于邻居发现，LDP使用UDP协议，并使用TCP协议创建邻居关系。

路由器必须具有足够的内存和CPU才能建立TCP连接。

问题摘要

显而易见，您可以ping和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

Type escape sequence to abort.

Tracing the route to 192.168.12.6

1 192.168.99.220 [MPLS：标签26664/75671 Exp 0] 3毫秒2毫秒2毫秒

2 192.168.96.8 [MPLS：标签75671扩展0] 1毫秒1毫秒1毫秒

3 192.168.62.151 [MPLS：标签24201扩展0] 2毫秒2毫秒2毫秒

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. 使用sh shmem summary loc 0/RSP0/CPU0确认缩放因子16已应用于RSP0。

收集日志：

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

注意：检查具有相同配置的另一台路由器的内存使用情况。