|
| 1 | +--- |
| 2 | +title: "Bootstrapping evolvability for inter-domain routing with D-BGP" |
| 3 | +layout: post |
| 4 | +--- |
| 5 | + |
| 6 | +[Paper Link](https://dl.acm.org/doi/pdf/10.1145/3098822.3098857) |
| 7 | + |
| 8 | +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? |
| 9 | + |
| 10 | +_(Meta-Question: What lessons can be learned by taking this paper as an exemplar of a well-stated intro/background/motivation?)_ |
| 11 | + |
| 12 | +Key Contributions: |
| 13 | + |
| 14 | +- Provide a well-motivated and reasoned statement of the requirements on _any_ possible solution to the problem of inter-domain routing evolvability |
| 15 | +- Distill these requirements into a minimal feature set |
| 16 | +- Present Darwin's BGP (D-BGP), a protocol that builds on BGP and embodies these features |
| 17 | +- Evaluation of D-BGP: |
| 18 | + - cheapness of implementation |
| 19 | + - simulation showing better adoption rate for D-BGP |
| 20 | + |
| 21 | +This paper states the following problems with BGP (reasons why you'd want to evolve): |
| 22 | + |
| 23 | +- Domains have no strong mechanism to limit their traffic load |
| 24 | +- Single best-effort path selection is mandated, leaving performance on the table (alternates might be preferred by some domaisn) |
| 25 | +- Easy to attack: |
| 26 | + - Prefix hijacking |
| 27 | + - Traffic interception (black-holing, interdiction) |
| 28 | +- "Architectural Rigidity" |
| 29 | + - Neighbors are required to use the same protocol, which precludes the possibility of some defecting by choosing a different/better protocol |
| 30 | + - (Bug or Feature?) "\[BGP\] has depressed ISP's ability to sell value-added services, such as differentiated QoS or alternate paths, to combat their ever-increasing commoditization." _Commentary: Isn't this just net-neutrality? Whic is a "good thing?" Is commoditization (i.e., competition-driven downward price pressure) good for consumers, if not producers?_ |
| 31 | + |
| 32 | +**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!_ |
| 33 | + |
| 34 | +Motivtion (2) structure: |
| 35 | + |
| 36 | +1. Narrative describing the structure of the present/future state |
| 37 | + - Introduces terminology: Islands, Gulfs, Mulit-Network-Protocol-Headers, Baseline Protocol, Routing Compliance (gets its own section?) |
| 38 | + - States the basis for generalization: |
| 39 | + - 14 (!) recently-proposed protocol improvements designed to mitigate specific problems |
| 40 | + - These will be sorted into "evolvability scenarios" |
| 41 | + - Each evolvability scenario produces a few requirements |
| 42 | + - The requirements are further affinitized into features |
| 43 | + - _"use cases" -> generalized scenarios -> requirements -> features_ |
| 44 | + - _specificity -> generality -> specificity -> generality_ |
| 45 | +2. The scenarios: |
| 46 | + 1. baseline -> baseline w./critical fix |
| 47 | + Requires: |
| 48 | + - (CF-R1) Disseminate critical fixes' control information across gulfs |
| 49 | + - (CF-R2) Disseminate critical fixes' control information in-band of baseline's advertisements |
| 50 | + 2. baseline -> baseline (in parallel with) custom protocol |
| 51 | + Requires: |
| 52 | + - (CP-R3) Facilitate across-gulf discovery of islands running custom protocols and how to negotiate use of their services |
| 53 | + 3. baseline -> replacement protocol |
| 54 | + Requires: |
| 55 | + - (G-R4) Inform islands and gulf ASes of what protocols are used on routing paths |
| 56 | + - (G-R5) Avoid loops across all protocols used on routing paths |
| 57 | +3. The features: |
| 58 | + - Pass-through support: (CF-R1) |
| 59 | + - Multi-protocol data structure: (G-R4, CP-R3, CF-R2, G-R5) |
| 60 | + |
| 61 | +Questions for Discussion: |
| 62 | + |
| 63 | +- How might the addition of new use cases (14+n) change the scenarios, requirements, and features? |
| 64 | +- How universal is the 4-step progression followed in this paper's motivation? How might it apply to a problem you're working on? |
| 65 | + |
| 66 | +Presenter: Tony Astolfi |
| 67 | + |
| 68 | + |
0 commit comments