Wednesday, October 26, 2022

Principles of Communications Week 4 L6/7 25&27 Oct, 2022 - BGP Abstraction + Multicast

 This week, we finished up looking at BGP by covering:

  1. the stable paths abstraction - what does path vector+policy do, algorithmically?
  2. real world dynamics and engineering for stability - the latter performance challenges show that the information hiding goals of inter-domain routing have not really been achieved very thoroughly! So intra-domain dynamics get exported to the world, because of hot potato and MEDs.
As well as this, BGP requires a lot of external machinery for specifying policy, and for guarding against misinformation (by definition, harder to do with a system which has a goal of information hiding).


Then we looked at Internet Multicast - this also has some interesting challenges, that have prevented wide spread adoption:

  1. potential use for leveraging DDoS attacks
  2. lack of a policy/interdomain/business model (who causes down stream traffic?)
In addition, multicast created headaches for high speed switch/router hardware designers

General lesson here is that global scale systems entail complex, multi-factor considerations, and don't believe everything out there running the world is actually based on completely sound design. Nevertheless, it has application in special cases/limited domains, such as backbones for TV distribution, and more especially, data center networks.

----admin:

Aside: just to support this, the university information service video recording system failed to capture audio&slides for the 20.10.22 lecture but luckily, last year's recordings are still available, and roughly from same dates (2021 recordings) e.g. 2021-10-19 2021-10-21 2021-10-26 

Apologies for that!

Thursday, October 20, 2022

Principles of Communications Week 3 L4/5 18&20 Oct, 2022 - Interdomain routing and BGP.

We started looking at the requirements for Interdomain routing - it has to provide connectivity between Autonomous Routing Domains which may be optimising paths for irreconcilable metrics/goals, so it can, at best, find paths that fit policies - it also respects business relationships - again, injected through policy/configuration somewhere (vendor/product specific tools!). Mistakes can be made. These are mapped into the various hacks to allow BGP to do some traffic engineering, like backup paths, load balancing and so on.

BGP is a path vector protocol, which has a plus point of hiding information, by default. And also has the minus point of hiding information by default:-) Being path vector (rather than just distance vector) BGP is at least loop free. However, it is still a diffusing computation, rather than a fixed epoch cycle, so news can travel slowly (or not at all). 

Remember, what you announced is what other people look at to see how to get to things, in, or via, your network/AS

It is a classic political-technical space, where simple algorithmic solutions present themselves, but are dismissed because they don't include the competitive/incentive sides.

There have also been proposed alternative approaches to information hiding (advertise everything, but encrypt it and only give keys to people allowed to use this particular AS on a path) - that wouldn't scale.

Useful further reading/notes from this MIT BGP book.

BGP has been around 20 years, and when it was introduced, was probably the world's first planetary scale programmable system. This is not necessarily a good thing, when the language is obscure, and the runtime is compromised.

Friday, October 14, 2022

Principles of Communications 2022. some high level questions

 someone kindly reminded me i did have some high level problem/questions you could tackle when looking at lecture material - Questions to ask yourself about the materials in Princ of Comm

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!

Thursday, October 06, 2022

Principles of Communications Week 1 L1@LT2 11am, 6 Oct, 2022 - Introduction and Start on Routing

 Introduction to the course/outline of what will be covered.

Introduction to routing - up to basic idea of routing in general - not just networks, and not just packets and circits, but also cars, spaceships. Not just for shortest path, but also policy and energy.

Next week will cover features of current Internet Routing, and Centralised Routing, and start on Policy Routing.

This might be a good time to quickly revise IB Networking material (at least on shortest path/Dijkstra, and link state/distance vector!).