Reading the following bit in the book MPLS Fundamentals, I was a little surprised to see that despite a label binding becoming stale, it is still advertised by LSRs. For example, if a connected interface on an LSR goes down, the LSR withdraws the imp-null label that it was advertising to its LDP peers and replaces it with a new label that it assigns to the prefix and advertises it to its peers! Why does it do this? Wouldn't the logical course of action be to NOT advertise a label for this now-obsolete route? If the neighboring LDP peers then forward traffic to this router, wouldn't this traffic be black-holed because the prefix doesn't exist anymore? Maybe I'm missing something or further reading will clear this up but I want to clear this up before moving on! Would appreciate some clarification on this!
When an LDP peer advertises a label binding, the receiving LDP peers keep it until the LDP session goes down or until the label is withdrawn. The label might be withdrawn if the local label changes. The local label might change if, for example, the interface with a certain prefix on it goes down, but another LSR still advertises the prefix. Therefore, the local label for that prefix changes from implicit NULL to a non-reserved label. If this happens, the implicit NULL label is immediately withdrawn by sending a Label Withdraw message to the LDP peers. The new label is advertised in a Label Mapping message.