DOCC Lab Reading Group

Bootstrapping evolvability for inter-domain routing with D-BGP

Paper Link

Research Question: What are the challenges to “evolving” (incrementally deploying improvements to) internet routing protocol(s) like BGP, and how can those challenges be overcome?

(Meta-Question: What lessons can be learned by taking this paper as an exemplar of a well-stated intro/background/motivation?)

Key Contributions:

This paper states the following problems with BGP (reasons why you’d want to evolve):

Key Insight: Solving any or even all of these problems with a new protocol, without addressing the root causes of lack-of-evolvability, will simply result in a new protocol that frustrates future efforts to evolve/improve. I.e., Evolvability is actually the meta-feature to improve!

Motivtion (2) structure:

  1. Narrative describing the structure of the present/future state
    • Introduces terminology: Islands, Gulfs, Mulit-Network-Protocol-Headers, Baseline Protocol, Routing Compliance (gets its own section?)
    • States the basis for generalization:
      • 14 (!) recently-proposed protocol improvements designed to mitigate specific problems
      • These will be sorted into “evolvability scenarios”
      • Each evolvability scenario produces a few requirements
      • The requirements are further affinitized into features
      • “use cases” -> generalized scenarios -> requirements -> features
        • specificity -> generality -> specificity -> generality
  2. The scenarios:
  3. baseline -> baseline w./critical fix Requires:
    • (CF-R1) Disseminate critical fixes’ control information across gulfs
    • (CF-R2) Disseminate critical fixes’ control information in-band of baseline’s advertisements
  4. baseline -> baseline (in parallel with) custom protocol Requires:
    • (CP-R3) Facilitate across-gulf discovery of islands running custom protocols and how to negotiate use of their services
  5. baseline -> replacement protocol Requires:
    • (G-R4) Inform islands and gulf ASes of what protocols are used on routing paths
    • (G-R5) Avoid loops across all protocols used on routing paths
  6. The features:
    • Pass-through support: (CF-R1)
    • Multi-protocol data structure: (G-R4, CP-R3, CF-R2, G-R5)

Questions for Discussion:

Presenter: Tony Astolfi