Tuesday, October 11, 2022

Principles of Communications Week 2 L2 L3@LT2 11am, 11&13 Oct, 2022 - Central Routing and MPLS&Segment Routing

 Recommend revisiting notes from IB networks course 2021-2022 where you can find link-state and distance vector from page 25 onwards!

So underlying distance vector (and path vector, see later when we discuss BGP and Inter-domain routing) is the notion of diffusing computations! Link-state is much simpler given in each epoch, we flood map data, and then everyone does a synchronised computation of shortest paths from themselves to all other nodes/destinations - fibbing relies on this, although the offline/centralised computation that produces additional virtual nodes can be anything - and this is also true of the paths computed for MPLS and segment routing and then distributed via CR-LDP or RSVP or other control protocols. One reference approach is in the paper linked from the course materials web page on DeFo...but there are many, once you open the network up to being re-programmed!

The key difference between Fibbing and classical SDN is that Software Defined Network controllers use OpenFlow (effectively an RPC like protocol) to add/modify FIBs in specific routers, whereas Fibbing simply joins in the Link State flooding protocol that all the routers use to update each other with the map (put into the RIB, then used to compute FIB entries, e.g. via Dijkstra Shortest Path algorithm). Hence the virtual nodes/and edges that the Fibbing controller adds behave just like real ones - appearing and disappearing as they are added or fail/remove, or the controller(s) adding them become unreachable (or reachable again after repair/reboot) - this is where the resilience comes from....that, and replicating the controllers.

Note for this course: Hierarchy is good for scaling, but doesn't always work when a network wants diversity - so we could have geographic, topological or organisational hierarchy, but we might want redundancy without common mode failures, so would connect to multiple providers "upstream", which undermines any notion of address aggregation in the forwarding tables! Adding in widespread use of NATs (network address translators) and the world is a lot more complex than we'd like!

No comments: