Doctoral thesis (Dissertations and theses)
Network Programming with SRv6
Filsfils, Clarence
2020
 

Files


Full Text
network-programming-phd-final.pdf
Publisher postprint (2.1 MB)
Download

All documents in ORBi are protected by a user license.

Send to



Details



Keywords :
Segment Routing; SR; Network Programming; Source Routing; Routing; IP; IPv6; SRH
Abstract :
[en] This PhD thesis defines the Network Programming for IPv6 also known as Segment Routing (SR) with IPv6 data plane (SRv6). SRv6 leverages the source routing paradigm by allowing a source to engineer a flow across a network as a program: i.e. a combination of traffic engineering objectives, service chainings, and Virtual Private Network (VPN) instantiations. The network program is encoded in the Segment Routing (SR) extension Header (SRH) of a network packet as an ordered list of 128-bit segments. Each segment represents an instruction (topological, service, VPN). The first segment is placed in the destination address of the packet. The most significant bits of a segment are called “locator”. The locator acts as any routed subnet address and ensures that the packet destined for a segment is routed to the parent of that segment. Once at the parent the rest of the segment (called function) is mapped to a pseudocode enabling programmability, then the pseudocode is executed, the next segment in the SRH is placed in the destination address, and the packet is routed accordingly. A function can be associated with any behavior: traffic engineering (e.g., take the shortest path to this node, take the shortest path to this node and then take this specific interface), service (e.g., a firewall application in a container), or VPN (e.g., look the updated destination address in this virtual forwarding table). The network acts as a big computer. The packet goes from node to node and receives sequential processing according to ordered instructions selected by the source and encoded in the SRH. No intermediate node stores any a priori state for the flow. The only per-flow state is in the packet header. In this thesis, we explain how SRv6 deployed within a Service Provider (SP) domain delivers the following benefits: • Stateless-ness: Transit nodes must not store per-engineered flow state • Scalability: The solution must support multi-domain SP networks with 100 thousands of routers • Hardware-friendliness: Line rate performance without significant cost increase • Explicit Routing (intra- and inter-domain): Ability to take a path different than the best-effort shortest-path delivered by IGP/BGP routing protocols • Sub-50msec Prefix-Independent Protection against link/node/SRLG failure • MicroLoop Avoidance: Avoid transient loops during intra-domain routing protocol convergence • Overlay Virtualization: Ability to create Virtual Private Networks (VPN) • Service Chaining with Metadata: Ability to steer the engineered flow through a set of services (virtual or not) and pass meta-data between these services. The information may be used for monitoring, service chain modification etc. • Optimum Load-Balancing: The load-balancing within the domain must leverage all the available flow entropy • MTU Efficiency: The SR overhead must be minimized We end the thesis with a report of the rich SRv6 ecosystem built in record time. By November 2019, we count 18 hardware implementations, 9 open source applications and 7 significant commercial deployments.
Research center :
Research Unit in Networking
Disciplines :
Computer science
Author, co-author :
Filsfils, Clarence ;  Université de Liège - ULiège > Montefiore Institute
Language :
English
Title :
Network Programming with SRv6
Alternative titles :
[en] Belgium
Defense date :
2020
Number of pages :
192
Institution :
ULiège - Université de Liège
Degree :
Doctorat
Promotor :
Leduc, Guy ;  Université de Liège - ULiège > Département d'électricité, électronique et informatique (Institut Montefiore) > Exploitation des signaux et images
President :
Mathy, Laurent ;  Université de Liège - ULiège > Montefiore Institute of Electrical Engineering and Computer Science
Jury member :
Donnet, Benoît  ;  Université de Liège - ULiège > Montefiore Institute of Electrical Engineering and Computer Science
Fdida, Serge
Merindol, Pascal
Schmid, Stefan
Name of the research project :
Network Programming with SRv6
Available on ORBi :
since 24 February 2020

Statistics


Number of views
895 (21 by ULiège)
Number of downloads
3550 (18 by ULiège)

Bibliography


Similar publications



Contact ORBi