Service provider

MPLS: a bit of this, a bit of that

Do you feel confident about your knowledge of MPLS? It might happen that there are still a few peculiar things about this topic, especially when combined with OSPF. If you love raw pointers in C++ and/or broadcasting with Numpy feels very natural, go straight ahead – geek stuff inside!

Loose uRPF – why?

Although the two modes of unicast Reverse Path Forwarding (uRPF) are common knowledge, there is rarely a written reasoning why the two modes exist in the first place. In this article I’ll try to connect the dots between loose uRPF and its primary use case.

OSPFv2: extra routing loops

Why RFC 2328 appeared the first place? Especially since it’s completely incompatible with pre-existing RFC 1583? Simple – previous version was vulnerable to routing loops.

OSPFv2: there and back again

Can a link-state protocol be fooled into a loop? Yes, as soon as it’s converted to distance-vector IGP. That’s exactly the reason for RFC2328 to replace RFC1583. If you ever wondered why those incompatible changes were introduced in the first place, you came to the right place.

BGP best path selection in L3VPN: hidden pitfall

If you have ever configured MPLS L3VPN, it should raise no doubt that BGP is the tool the whole setup revolves around. As a protocol with a strong sense of dignity (after all, Internet is built with it), it has a fairly long list of decision-making points called best path selection algorithm. Despite the horrifying length of the list, most of the items are mere tie-breakers rather than knobs used for traffic engineering. Sometimes, however, the most ubiquitous attributes are not the right ones for the job.

BGP Synchronization with OSPF

BGP synchronization, once being one of many “gotchas” for CCIE candidates, is now in “just for fun” section of networking knowledge; that’s exactly where we are headed today.