The fifth post in this serie about CCIE EI. CCIE+Enterprise+Infrastructure+(v1.0+RevA)+Exam+Topics.pdf (cisco.com)

Mostly of the time features are being developed in order to solve a problem. This is also the case for UDLD.

What happens if in a triangle topology with three switches interconnected by a fiber cable one of the forwarding ports stop sending BPDUs to its neighbor? Well, the answer is pretty simple the switch that stop receiving information will eventually goes from blocking to forwarding causing an inintentionally loop.

Unidirectional Link Detection (or UDLD) is a layer-2 protocol that help us to prevent undesired unidirectional communication over a link. The way this protocol works is simple, it sends probes to a wellknown MAC-Address (01:00:0C:CC:CC:CC), for discovery purposes, across Tx link, containing it own device information and port-id, and waits for an echo on the Rx link. Is this the case, then the switch suspect that something is wrong with this link. A prequisite for this feature is that both end of the media shared supports UDLD functionallity.

Two modes

Normal mode

If an unidirectional condition is being detected while running UDLD in normal mode the port will be marked as „undertermined“ but it is not being shut down. This action does not prevent a loop free network, however once a STP detect such a condition, we can check the console for further information.

Aggressive mode

Once the switch loose the connection to the opposite site it will send every second eight times trying to get an answer from the other switch. If the opposite switch does not answer after eight seconds the port goes inmediatly into errdisabled state.

There are two ways how the port can be reenabled. The first is by manually shutting and unshutting it and the second is by using the errdisable recovery feature mentioned in a few post before.

Configure UDLD

Normal mode
Switch(config)#interface GigabitEthernet 0/3
Switch(config-if)#udld port

Aggressive mode
Switch(config)#int GigabitEthernet 0/3
Switch(config-if)#udld port aggressive 

Verification

In order to verify UDLD functionallity just issue ’show udld‘ in the CLI to see where is it activated and where not and what is the current state of the link.

Switch#show udld

Interface Et0/0
---
Port enable administrative configuration setting: Disabled
Port enable operational state: Disabled
Current bidirectional state: Unknown

Interface Et0/1
---
Port enable administrative configuration setting: Enabled / in aggressive mode
Port enable operational state: Enabled / in aggressive mode
Current bidirectional state: Unknown
Current operational state: Link up
Message interval: 7000 ms
Time out interval: 5000 ms

Design considerations

Since UDLD is a great feature to reinforce STP functionality and stability we have to take in consideration STP timers to avoid that UDLD is slower than STP.

The formula is the following

UDLD timeout < STP MaxAge + 2 times ForwardDelay

Conclusion

Having a closer look at the actions taken by UDLD we can compare it with BPDU- or Loopguard. Anyway they are some differences besides that UDLD works also on physical layer, which STP Features do not.

So therefore all this features need to work together in oder to improved STP functionallity.

Regarding the mode, I would personally recommend working with aggressive mode.

Hinterlasse einen Kommentar

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden..