19 octobre 2017
Reaping the Benefits of IPv6 Segment Routing
Segment Routing (SR) is a source routing paradigm. It enables traffic sources to
arbitrarily specify the path of their packets within a network. This contrasts
with classical IP routing where packets are forwarded, hop-by-hop, along a
shortest path. Segment Routing allows to deviate from that shortest path by
attaching a list of instructions to each packet. These instructions are called
segments. Each segment can steer packets through a network node, link, or
virtual function. For each packet, the full list of segments is imposed at the
ingress edge of the network. All core routers do not need to maintain this
additional state. As such, the SR architecture enables scalable and fine-grained
traffic engineering, and more efficient network management and troubleshooting.
In this thesis, we focus on SRv6, the IPv6 version of Segment Routing.
First, we implement SRv6 into the Linux kernel. We describe the main components
of our implementation, the data plane, control plane, and security extensions.
We describe our custom-made testing environment and discuss its limits. We
evaluate the performance of our implementation on real hardware and show that
it yields little overhead and scales linearly with the available CPU cores. Our
implementation is available in the mainline Linux kernel since version 4.10,
ensuring its widespread availability.
Second, we explore the benefits of SRv6 in two aspects. The first aspect is the
support of low-latency real-time services. We show that by duplicating traffic
across disjoint paths, SRv6 is able to absorb the adverse effects of unexpected
packet loss or jitter. The second aspect is network monitoring. Using SR, we
send probes over cycles, from a single vantage point. This monitoring technique,
SCMon, is able to quickly and efficiently detect single-link failures.
Finally, we design and implement the Software Resolved Network (SRN)
architecture. SRN is an SDN-like architecture for IPv6 enterprise networks.
Using a central controller, applications can reserve network resources through
DNS extensions. The controller, called SDN Resolver, translates the reservations
into network paths, that are implemented with SRv6. We describe all the
components runnning in an SRN and implement a full prototype of the controller.
We evaluate the performance of our implementation through benchmarks and
simulations. We show that our solution meets the performance expectations of
large enterprise networks.
Members of the jury :
Prof. Olivier Bonaventure (UCL), supervisor
Prof. Charles Pecheur (UCL), chair
Prof. Ramin Sadre (UCL), secretary
Prof. Stefano Salsano (Universita di Roma, Italy)
Prof. Thomas Clausen (Ecole Polytechnique, France)