Skip to content
mando edited this page Jan 11, 2016 · 17 revisions

Welcome to the iBGP2 repository

iBGP2 is a new scalable redistribution route mechanism designed for wide Autonomous System leading to stable and optimal routing.

iBGP2 has been imagined during at the end of the thesis of Marc-Olivier Buob at Orange Labs (2005-2008).

iBGP2 is presented in INFOCOM'2016 in the article "iBGP2: a scalable iBGP2 redistribution mechanism leading to optimal routing", written by Marc-Olivier Buob (Alcatel-Lucent), Anthony Lambert (Orange Labs), Steve Uhlig (Queen Mary University of London).

Marc-Olivier Buob has implemented the most of the code in C++ using ns3-dce in 2015. It is based on a first implementation realized by Alexandre Morignot during its internship in 2015 at Orange Labs.

Key idea

iBGP2 daemon is running on every router of the simulated AS. It manages the way a BGP router redistributes its BGP routes to its iBGP2 peers (which corresponds to its IGP peer). A router u redistributes to a router v the BGP routes related to a next-hop n iif u belongs to the shortest path from v to u (iBGP2 route redistribution rule). By doing so, each BGP router learns its best possible egress point(s) for any BGP prefix. Once BGP has converged, the routing is proved to be stable, optimal, and loop-free, since the network behaves as if it was using an iBGP full mesh.

The current implementation is based on Quagga and is designed for IPv4 networks using OSPF without area. The current implementation could be improved to support IPv6 networks, to support other IGP link state protocols such as IS-IS, and to support IGP areas.

Other contributions

This repository also provides:

  • a telnet wrapper, which allows to query quagga daemons running on nodes during the simulation.
  • a tcpdump wrapper, which allows to print packets content in a human readable way. It requires tcpdump to be installed.
  • a quagga wrapper, which significantly extends the original implementation provided in ns-3.

For further detail, please visit the Debugging wiki page.

Related documents

Article: (soon released)

Thesis (in french):

Patents: