λBGP:Rethinking BGP programmability

2019 
BGP has long been the de-facto control plane protocol for inter-network connectivity. Although initially designed to provide best-effort routing between ASes, the evolution of Internet services has created a demand for more complex control functionalities using the protocol. At the heart of this challenge lies the static nature of current BGP policy specification and enforcement, and the limited programmability of production BGP policy frameworks. Meanwhile, in other contexts, the SDN model has demonstrated that open and generic network control APIs can greatly improve network functionality and seamlessly enable greater flexibility in network management. In this paper, we argue that BGP speaking systems should provide an open control API, and a richer policy language, to address modern era network control requirements. Towards this goal, we present λBGP, a modular and extensible BGP stack written in Haskell. The framework offers an extensible integration model for reactive BGP control that remain backwards compatible with existing BGP standards, and allows network implementers to use a high-level language to dene policy and inject dynamic information sources into path selection logic. Using kakapo, a high performance BGP traffic generator, we demonstrate that λBGP offers performance comparable to production BGP speakers while enabling complex AS route processing mechanisms in just a few lines of code.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    31
    References
    0
    Citations
    NaN
    KQI
    []