Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3422604.3425952acmconferencesArticle/Chapter ViewAbstractPublication PagescommConference Proceedingsconference-collections
research-article

xBGP: When You Can't Wait for the IETF and Vendors

Published: 04 November 2020 Publication History

Abstract

Thanks to the standardization of routing protocols such as BGP, OSPF or IS-IS, Internet Service Providers (ISP) and enterprise networks can deploy routers from various vendors. This prevents them from vendor-lockin problems. Unfortunately, this also slows innovation since any new feature must be standardized and implemented by all vendors before being deployed.
We propose a paradigm shift that enables network operators to program the routing protocols used in their networks. We demonstrate the feasibility of this approach with xBGP. xBGP is a vendor neutral API that exposes the key data structures and functions of any BGP implementation. Each xBGP compliant implementation includes an eBPF virtual machine that executes the operator supplied programs. We extend FRRouting and BIRD to support this new paradigm and demonstrate the flexibility of xBGP with four different use cases. Finally, we discuss how xBGP could affect future research on future routing protocols.

References

[1]
D. Awduche, A. Chiu, A. Elwalid, I. Widjaja, and X. Xiao. 2002. Overview and Principles of Internet Traffic Engineering. RFC 3272 (Informational). https://doi.org/10.17487/RFC3272
[2]
Alexander Azimov, Eugene Bogomazov, Randy Bush, Keyur Patel, and Job Snijders. 2020. Verification of AS_PATH Using the Resource Certificate Public Key Infrastructure and Autonomous System Provider Authorization. Internet-Draft draft-ietf-sidrops-aspa-verification-04. Internet Engineering Task Force. https://datatracker.ietf.org/doc/html/draft-ietf-sidrops-aspa-verification-04 Work in Progress.
[3]
T. Bates and R. Chandra. 1996. BGP Route Reflection An alternative to full mesh IBGP. RFC 1966 (Experimental). https://doi.org/10.17487/RFC1966
[4]
Ryan Beckett, Ratul Mahajan, Todd Millstein, Jitendra Padhye, and David Walker. 2017. Network configuration synthesis with abstract topologies. In Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation. 437--451.
[5]
Pat Bosshart, Dan Daly, Glen Gibb, Martin Izzard, Nick McKeown, Jennifer Rexford, Cole Schlesinger, Dan Talayco, Amin Vahdat, George Varghese, et almbox. 2014. P4: Programming protocol-independent packet processors. ACM SIGCOMM Computer Communication Review, Vol. 44, 3 (2014), 87--95.
[6]
R. Bush and R. Austein. 2013. The Resource Public Key Infrastructure (RPKI) to Router Protocol. RFC 6810 (Proposed Standard). https://doi.org/10.17487/RFC6810
[7]
Enke Chen, Naiming Shen, and Robert Raszuk. 2016. Carrying Geo Coordinates in BGP. Internet-Draft draft-chen-idr-geo-coordinates-02. Internet Engineering Task Force. https://datatracker.ietf.org/doc/html/draft-chen-idr-geo-coordinates-02 Work in Progress.
[8]
Taejoong Chung, Emile Aben, Tim Bruijnzeels, Balakrishnan Chandrasekaran, David Choffnes, Dave Levin, Bruce M Maggs, Alan Mislove, Roland van Rijswijk-Deij, John Rula, et almbox. 2019. RPKI is Coming of Age: A Longitudinal Study of RPKI Deployment and Invalid Route Origins. In Proceedings of the Internet Measurement Conference. 406--419.
[9]
Guy Davies. 2004. Designing and Developing Scalable IP Networks. John Wiley & Sons.
[10]
Quentin De Coninck, Francc ois Michel, Maxime Piraux, Florentin Rochet, Thomas Given-Wilson, Axel Legay, Olivier Pereira, and Olivier Bonaventure. 2019. Pluginizing quic. In Proceedings of the ACM Special Interest Group on Data Communication. 59--74.
[11]
Benoit Donnet and Olivier Bonaventure. 2008. On BGP communities. ACM SIGCOMM Computer Communication Review, Vol. 38, 2 (2008), 55--59.
[12]
Nick Feamster, Jennifer Rexford, and Ellen Zegura. 2014. The road to SDN: an intellectual history of programmable networks. ACM SIGCOMM Computer Communication Review, Vol. 44, 2 (2014), 87--98.
[13]
Ondřej Filip, Martin Mare?, Ondřej Zajíček, and Jan Matčjka. 2019. The BIRD Internet Routing Daemon. https://bird.network.cz/.
[14]
A. Ford, C. Raiciu, M. Handley, and O. Bonaventure. 2013. TCP Extensions for Multipath Operation with Multiple Addresses. RFC 6824 (Experimental). https://doi.org/10.17487/RFC6824 Obsoleted by RFC 8684.
[15]
Tomonori Fujita et almbox. [n.d.] a. GoBGP. ([n.,d.]). https://github.com/osrg/gobgp.
[16]
Tomonori Fujita et almbox. [n.d.] b. RustyBGP: BGP implementation in Rust. ([n.,d.]). https://github.com/osrg/rustybgp.
[17]
Brendan Gregg. 2019. BPF Performance Tools. Addison-Wesley Professional.
[18]
Andreas Haas, Andreas Rossberg, Derek L Schuff, Ben L Titzer, Michael Holman, Dan Gohman, Luke Wagner, Alon Zakai, and JF Bastien. 2017. Bringing the web up to speed with WebAssembly. In Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation. 185--200.
[19]
Mark Handley, Eddie Kohler, Atanu Ghosh, Orion Hodson, and Pavlin Radoslavov. 2005. Designing extensible IP router software. In Proceedings of the 2nd conference on Symposium on Networked Systems Design & Implementation-Volume 2. 189--202.
[20]
Per Brinch Hansen. 1970. The nucleus of a Multiprogramming System. Commun. ACM, Vol. 13, 4 (1970), 238--241. https://doi.org/10.1145/362258.362278
[21]
Nicholas Hart, Charalampos Rotsos, Vasileios Giotsas, Nicholas Race, and David Hutchison. 2019. λBGP: Rethinking BGP programmability. In IEEE/IFIP Network Operations and Management Symposium.
[22]
G. Huston and G. Michaelson. 2012. Validation of Route Origination Using the Resource Certificate Public Key Infrastructure (PKI) and Route Origin Authorizations (ROAs). RFC 6483 (Informational). https://doi.org/10.17487/RFC6483
[23]
Jana Iyengar and Martin Thomson. 2020. QUIC: A UDP-Based Multiplexed and Secure Transport. Internet-Draft draft-ietf-quic-transport-31. IETF Secretariat. http://www.ietf.org/internet-drafts/draft-ietf-quic-transport-31.txt http://www.ietf.org/internet-drafts/draft-ietf-quic-transport-31.txt.
[24]
Diego Kreutz, Fernando MV Ramos, Paulo Esteves Verissimo, Christian Esteve Rothenberg, Siamak Azodolmolky, and Steve Uhlig. 2014. Software-defined networking: A comprehensive survey. Proc. IEEE, Vol. 103, 1 (2014), 14--76.
[25]
Adam Langley, Janardhan Iyengar, Jeff Bailey, Jeremy Dorfman, Jim Roskind, Joanna Kulik, Patrik Westin, Raman Tenneti, Robbie Shade, Ryan Hamilton, Victor Vasiliev, Alistair Riddoch, Wan-Teh Chang, Zhongyi Shi, Alyssa Wilk, Antonio Vicente, Charles Krasic, Dan Zhang, Fan Yang, Fedor Kouranov, and Ian Swett. 2017. The QUIC Transport Protocol: Design and Internet-Scale Deployment. In Proceedings of the Conference of the ACM Special Interest Group on Data Communication - SIGCOMM '17. ACM Press, Los Angeles, CA, USA, 183--196. https://doi.org/10.1145/3098822.3098842
[26]
P. Lapukhov, A. Premji, and J. Mitchell (Ed.). 2016. Use of BGP for Routing in Large-Scale Data Centers. RFC 7938 (Informational). https://doi.org/10.17487/RFC7938
[27]
M. Lepinski and S. Kent. 2012. An Infrastructure to Support Secure Internet Routing. RFC 6480 (Informational). https://doi.org/10.17487/RFC6480
[28]
M. Lepinski (Ed.) and K. Sriram (Ed.). 2017. BGPsec Protocol Specification. RFC 8205 (Proposed Standard). https://doi.org/10.17487/RFC8205
[29]
Charles Lynn. 1999. X.509 Extensions for Authorization of IP Addresses, AS Numbers, and Routers within an AS. Internet-Draft draft-clynn-bgp-x509-auth-00. Internet Engineering Task Force. https://psg.com/draft-clynn-bgp-x509-auth-00.txt Work in Progress.
[30]
Nick McKeown, Tom Anderson, Hari Balakrishnan, Guru Parulkar, Larry Peterson, Jennifer Rexford, Scott Shenker, and Jonathan Turner. 2008. OpenFlow: enabling innovation in campus networks. ACM SIGCOMM Computer Communication Review, Vol. 38, 2 (2008), 69--74.
[31]
Parveen Patel, Andrew Whitaker, David Wetherall, Jay Lepreau, and Tim Stack. 2003. Upgrading Transport Protocols using Untrusted Mobile Code. ACM SIGOPS Operating Systems Review, Vol. 37, 5 (2003), 1--14.
[32]
Y. Rekhter (Ed.), T. Li (Ed.), and S. Hares (Ed.). 2006. A Border Gateway Protocol 4 (BGP-4). RFC 4271 (Draft Standard). https://doi.org/10.17487/RFC4271
[33]
Andreas Reuter, Randy Bush, Italo Cunha, Ethan Katz-Bassett, Thomas C Schmidt, and Matthias Wählisch. 2018. Towards a rigorous methodology for measuring adoption of RPKI route validation and filtering. ACM SIGCOMM Computer Communication Review, Vol. 48, 1 (2018), 19--27.
[34]
Jared M Smith and Max Schuchard. 2018. Routing around congestion: Defeating DDoS attacks and adverse network conditions via reactive BGP routing. In 2018 IEEE Symposium on Security and Privacy (SP). IEEE, 599--617.
[35]
The Linux Foundation. 2017. FRRouting. https://frrouting.org/.
[36]
Jean-Philippe Vasseur, Mario Pickavet, and Piet Demeester. 2004. Network recovery: Protection and Restoration of Optical, SONET-SDH, IP, and MPLS. Elsevier.
[37]
Stefano Vissicchio, Luca Cittadini, and Giuseppe Di Battista. 2014. On iBGP routing policies. IEEE/ACM Transactions on Networking, Vol. 23, 1 (2014), 227--240.
[38]
Matthias Wählisch, Fabian Holler, Thomas C Schmidt, and Jochen H Schiller. 2013. RTRlib: An Open-Source Library in C for RPKI-based Prefix Origin Validation. In Presented as part of the 6th Workshop on Cyber Security Experimentation and Test.
[39]
Jordan Whited. 2019. CoreBGP. https://github.com/jwhited/corebgp.
[40]
Thomas Wirtgen, Cyril Dénos, Quentin De Coninck, Mathieu Jadin, and Olivier Bonaventure. 2019. The Case for Pluginized Routing Protocols. In 27th International Conference on Network Protocols (ICNP). IEEE, 1--12.
[41]
Jonathan Woodruff, Robert NM Watson, David Chisnall, Simon W Moore, Jonathan Anderson, Brooks Davis, Ben Laurie, Peter G Neumann, Robert Norton, and Michael Roe. 2014. The CHERI capability model: Revisiting RISC in an age of risk. In 2014 ACM/IEEE 41st International Symposium on Computer Architecture (ISCA). IEEE, 457--468.

Cited By

View all
  • (2022)Design and Implementation of a Strong Representation System for Network Policies2022 International Conference on Computer Communications and Networks (ICCCN)10.1109/ICCCN54977.2022.9868871(1-10)Online publication date: Jul-2022
  • (2021)Implementing the plugin distribution systemProceedings of the SIGCOMM '21 Poster and Demo Sessions10.1145/3472716.3472860(39-41)Online publication date: 23-Aug-2021
  • (2021)SarasateProceedings of the SIGCOMM '21 Poster and Demo Sessions10.1145/3472716.3472848(62-64)Online publication date: 23-Aug-2021

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
HotNets '20: Proceedings of the 19th ACM Workshop on Hot Topics in Networks
November 2020
228 pages
ISBN:9781450381451
DOI:10.1145/3422604
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 04 November 2020

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. bgp
  2. ebpf
  3. network architecture
  4. routing

Qualifiers

  • Research-article

Conference

HotNets '20
Sponsor:

Acceptance Rates

Overall Acceptance Rate 110 of 460 submissions, 24%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)54
  • Downloads (Last 6 weeks)2
Reflects downloads up to 13 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Design and Implementation of a Strong Representation System for Network Policies2022 International Conference on Computer Communications and Networks (ICCCN)10.1109/ICCCN54977.2022.9868871(1-10)Online publication date: Jul-2022
  • (2021)Implementing the plugin distribution systemProceedings of the SIGCOMM '21 Poster and Demo Sessions10.1145/3472716.3472860(39-41)Online publication date: 23-Aug-2021
  • (2021)SarasateProceedings of the SIGCOMM '21 Poster and Demo Sessions10.1145/3472716.3472848(62-64)Online publication date: 23-Aug-2021

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media