Showing results for 
Search instead for 
Did you mean: 

LDP timers misunderstanding

Hi. I have question concerning LDP timers. From Cisco press LDP has hello and holddown timers for discovery and the same timers for session maintenance. Using debug, I saw that LDP neighbors exchange two types of messages constantly:

- helloes each hello discovery time

- keepalives each keepalive time

As I undestood first timer is used for discovery maintenance, second for session maintenance. But it is a little bit confusing for me why we need two maintenance messages? What will be with LDP session if holddown timers for discovery exceeds?Please clarify why we need two "helloes"?

Peter Paluch
Hall of Fame Cisco Employee

Hello Volodymyr,

RFC 5056 says in Section 3.5.4:

   An LSR sends KeepAlive messages as part of a mechanism that monitors
   the integrity of the LDP session transport connection.

As LDP establishes TCP-based sessions between LSRs, the goal of these Keepalive messages is to specifically verify the usability and liveliness of these TCP-based sessions. Hello messages are multicasted and encapsulated into UDP, and there is no guarantee that receiving a Hello message from a neighbor warranties that the TCP session with that neighbor works as well (think ACLs, for example).

While a separate Keepalive mechanism is a little paranoid, I admit, the TCP as a transport mechanism for LDP messages is sufficiently distinct from UDP-based Hellos and sufficiently complex as to deserve a separate keepalive verification.

This is how I understand it. I hope other friends here will share their wisdom!

Best regards,


And what if discovery helloes fail?

Hi Volodymyr,

And what if discovery helloes fail?

In that case, the LDP session will be brought down as well. For LDP neighbors to maintain adjacency, both Hello and Keepalive messages must continuously be received. If any of them fails to arrive in due hold time, the adjacency will be torn down.

Best regards,