Skip to main content

4 posts tagged with "Routing Protocols"

Deep dives into network routing protocols like BGP, OSPF, and related technologies

View All Tags

Random by design: how AWS made expander-graph data centre fabrics work

· 5 min read
Simon Painter
Cloud Network Architect - Microsoft MVP

A like-minded colleague and I used to look at network topologies and ask one simple question. If there was a traffic-engineering choice to make, could we leave more of the hard work to the routing protocol and simplify everything else?

AWS is now running production data centre networks that are wired at random and still deliver strong performance. That sounds wrong at first, but the paper Expanding into Reality: Random Graphs for Datacenter Networks shows why it works.

The key idea is simple: move from rigid hierarchy to high-connectivity randomness, then design routing and operations around that choice.

Dijkstra in OSPF

· 9 min read
Simon Painter
Cloud Network Architect - Microsoft MVP

More than just an interview question

I've sat on both sides of countless technical interviews over my years in networking. There's this familiar dance that happens when discussing OSPF: the candidate confidently states "OSPF uses Dijkstra's algorithm for route calculation," and I'll nod approvingly. But here's the thing - in hundreds of these exchanges, I've never once asked a candidate to explain what that actually means, and no one's ever asked me to explain it either.

Python Route Summarisation

· One min read
Simon Painter
Cloud Network Architect - Microsoft MVP

There used to be a great little website for route summarisation and it did it far more intelligently than Cisco kit does it. It looks like the site has dropped off the internet which is a shame but there is a handy python library called netaddr with has the same capabilities.

I have written a little wrapper for it which will regex the prefixes out of a ‘show ip bgp’ and then list the summary routes. You pass the output of ‘show ip bgp’ as a text file, it’s the only argument the script expects.