SearcharxivSearch

arXiv subjects

Clarence Filsfils

Publications and source records attributed to Clarence Filsfils.

10 recordsLinked to original sources

Extending Kubernetes Networking to make use of Segment Routing over IPv6 (SRv6)

Kubernetes is the leading platform for orchestrating containerized applications. In this paper, we extend Kubernetes networking to make use of SRv6, a feature-rich overlay networking mechanism. Integration with SRv6 can be very beneficial when Kubernetes is used in large-scale and distributed multi-datacenter scenarios. We have focused on the Calico CNI plugin, one of the most used Kubernetes networking plugins. In particular, we consider Calico-VPP, a version of the Calico plugin based on the VPP (Vector Packet Processing) data plane, which provides support for SRv6 operations with very high performance. The proposed SRv6 overlay networking solution for Kubernetes offers several advantages compared to a traditional overlay (e.g. IP in IP), in particular the possibility to use Traffic Engineering for the overlay tunnels. In the paper, we provide the architecture and the detailed design of the SRv6 based overlay and describe our open source implementation. We consider the research and technological question on how to extend Kubernetes networking to support large-scale and distributed multi-datacenter scenarios, which is an important goal for Cloud and Network providers. In this respect, we compare two different solutions for the control plane architecture of the SRv6 capable Kubernetes networking plugin, one based on the BGP routing protocol and another one based on extending the Kubernetes control plane. Finally, we report a performance evaluation of the data plane of the proposed SRv6 overlay networking, showing that it has comparable performance to existing overlay solutions (e.g. IP in IP), while offering a richer set of features.

cs.NI

High Performance Delay Monitoring for SRv6 Based SD-WANs

Software-Defined Wide Area Networks (SD-WANs) are used to provide services to enterprises with geographically dispersed locations in a flexible and efficient way. We focus on SD-WAN services based on the Segment Routing over IPv6 (SRv6) technology. Performance Monitoring solutions are needed in SD-WANs to detect performance degradation and outages, and optimize network operations. In this paper, we describe a high performance solution for end-to-end delay monitoring for SRv6 based SD-WAN services. The proposed solution leverages the Simple Two-way Active Measurement Protocol (STAMP) to monitor the delay of an SRv6 path between two nodes called STAMP Session-Sender and Session-Reflector. We describe three implementations of the STAMP Session-Sender and Session-Reflector for a Linux software router and compare their performance. In particular, two implementations are based on user space processing and one is based on eBPF. The results show that the eBPF-based implementation outperforms the user space implementations and has a negligible impact on the forwarding capacity of the Linux software router.

cs.NI

Micro SIDs: a solution for Efficient Representation of Segment IDs in SRv6 Networks

The Segment Routing (SR) architecture is based on loose source routing. A list of instructions, called segments can be added to the packet headers, to influence the forwarding and the processing of the packets in an SR enabled network. In SRv6 (Segment Routing over IPv6 data plane) the segments are represented with IPv6 addresses, which are 16 bytes long. There are some SRv6 service scenarios that may require to carry a large number of segments in the IPv6 packet headers. This can be inefficient due to the overheads of the segment list, or can even cause processing issues in the crossed nodes due to the very large header to be processed. In this paper we present the Micro SID solution for the efficient representation of segment identifiers. With this solution, the length of the segment list can be drastically reduced.

cs.NI

SRv6-PM: Performance Monitoring of SRv6 Networks with a Cloud-Native Architecture

Segment Routing over IPv6 (SRv6 in short) is a networking solution for IP backbones and datacenters. The SRv6 standardization, implementation and research are actively progressing and SRv6 has already been adopted in a number of large scale network deployments. Effective Performance Monitoring (PM) solutions for SRv6 networks are strongly needed. The design, implementation and deployment of such PM solutions span the different planes of a networking architecture: Performance Measurements data (packet loss and delay) needs to be measured (in the Data Plane), the monitored nodes needs to be controlled (in the Control Plane), the measured data needs to be collected (in the Control/Management Planes), then the Data must be processed and stored, using Big-Data processing solutions. We focus on Loss Monitoring, by considering a solution capable of tracking single packet loss events in near-real time (e.g. with a delay in the order of 20 seconds). We describe SRv6-PM, a solution for Performance Monitoring of SRv6 networks. SRv6-PM features a cloud-native architecture for the SDN-based control of Linux routers and for ingestion, processing, storage and visualization of PM data. In the Data Plane, SRv6-PM includes efficient building blocks for packet loss evaluation (e.g. the packet counting components) in a Linux router. SRv6-PM is released as open source. Not only we provide a reproducible environment for PM experiments, but we also offer a re-usable and extensible cloud-native platform that can be automatically deployed in different environments, from a single host to multiple servers on private/public clouds.

cs.NI

Segment Routing: a Comprehensive Survey of Research Activities, Standardization Efforts and Implementation Results

Fixed and mobile telecom operators, enterprise network operators and cloud providers strive to face the challenging demands coming from the evolution of IP networks (e.g. huge bandwidth requirements, integration of billions of devices and millions of services in the cloud). Proposed in the early 2010s, Segment Routing (SR) architecture helps face these challenging demands, and it is currently being adopted and deployed. SR architecture is based on the concept of source routing and has interesting scalability properties, as it dramatically reduces the amount of state information to be configured in the core nodes to support complex services. SR architecture was first implemented with the MPLS dataplane and then, quite recently, with the IPv6 dataplane (SRv6). IPv6 SR architecture (SRv6) has been extended from the simple steering of packets across nodes to a general network programming approach, making it very suitable for use cases such as Service Function Chaining and Network Function Virtualization. In this paper we present a tutorial and a comprehensive survey on SR technology, analyzing standardization efforts, patents, research activities and implementation results. We start with an introduction on the motivations for Segment Routing and an overview of its evolution and standardization. Then, we provide a tutorial on Segment Routing technology, with a focus on the novel SRv6 solution. We discuss the standardization efforts and the patents providing details on the most important documents and mentioning other ongoing activities. We then thoroughly analyze research activities according to a taxonomy. We have identified 8 main categories during our analysis of the current state of play: Monitoring, Traffic Engineering, Failure Recovery, Centrally Controlled Architectures, Path Encoding, Network Programming, Performance Evaluation and Miscellaneous...

cs.NI

Implementation of Accurate Per-Flow Packet Loss Monitoring in Segment Routing over IPv6 Networks

Segment Routing over IPv6 (SRv6 in short) is a networking solution for IP backbones and datacenters, which has been recently adopted in several of large scale network deployments. The SRv6 research, standardization and implementation activities are going on at a remarkable pace. In particular, a number of Internet Drafts have been submitted related to the Performance Monitoring (PM) of flows in an SRv6 network. In this paper we discuss the proposed PM approaches, considering both data plane and control plane aspects and focusing on loss monitoring. Then we describe the implementation of a per-flow packet loss measurement (PF-PLM) solution based on the "alternate marking" method. Our implementation is based on Linux kernel networking and it is open source. We describe a platform that can be used to validate the standardization proposals from a functional perspective and the implemented solution from the performance point of view. We analyze two different design choices for the implementation of PF-PLM and evaluate their impact on the maximum forwarding throughput of a software based (Linux) router.

cs.NI

SRPerf: a Performance Evaluation Framework for IPv6 Segment Routing

Segment Routing is a form of loose source routing. It provides the ability to include a list of instructions (called segments), in the packet headers. The Segment Routing architecture has been first implemented with the MPLS dataplane and then, quite recently, with the IPv6 dataplane (SRv6). IPv6 Segment Routing (SRv6) is a promising solution to support advanced services such as Traffic Engineering, Service Function Chaining, Virtual Private Networks, and Load Balancing. The SRv6 data-plane is supported in many different software forwarding engines including the Linux kernel and VPP software router, as well as in hardware devices. In this paper, we present SRPerf, a performance evaluation framework for software and hardware implementations of SRv6. SRPerf is able to perform different benchmarking tests such as throughput and latency. For throughput tests, we use the Partial Drop Rate (PDR) to characterize a system under test. The architecture of SRPerf can be easily extended to support new benchmarking methodologies as well as different SRv6 implementations. We have used SRPerf to evaluate the performance of the SRv6 implementation in the Linux kernel and in VPP. SRPerf is a valuable tool in the context of software forwarding engines where new features can be added at fast pace, as it helps experimenters to validate their work. In particular, we describe how we have leveraged SRPerf to validate the implementation of some SRv6 behaviors that were missing or wrongly implemented in the Linux kernel mainline.

cs.NI

An Efficient Linux Kernel Implementation of Service Function Chaining for legacy VNFs based on IPv6 Segment Routing

We consider the IPv6 Segment Routing (SRv6) technology for Service Function Chaining of Virtual Network Functions (VNFs). Most of the VNFs are legacy VNFs (not aware of the SRv6 technology) and expect to process traditional IP packets. An SR proxy is needed to support them. We have extended the implementation of SRv6 in the Linux kernel, realizing an SR-proxy, referred to as SRNK (SR-Proxy Native Kernel). The performance of the proposed solution (SRNKv1) has been evaluated, identifying a poor scalability with respect to the number of VNFs to be supported in a node. Therefore we provided a second design (SRNKv2), enhancing the Linux Policy Routing framework. The performance of SRNKv2 is independent from the number of supported VNFs in a node. We compared the performance of SRNKv2 with a reference scenario not performing the encapsulation and decapsulation operation and demonstrated that the overhead of SRNKv2 is very small, on the order of 3.5%.

cs.NI

SDN Architecture and Southbound APIs for IPv6 Segment Routing Enabled Wide Area Networks

The SRv6 architecture (Segment Routing based on IPv6 data plane) is a promising solution to support services like Traffic Engineering, Service Function Chaining and Virtual Private Networks in IPv6 backbones and datacenters. The SRv6 architecture has interesting scalability properties as it reduces the amount of state information that needs to be configured in the nodes to support the network services. In this paper, we describe the advantages of complementing the SRv6 technology with an SDN based approach in backbone networks. We discuss the architecture of a SRv6 enabled network based on Linux nodes. In addition, we present the design and implementation of the Southbound API between the SDN controller and the SRv6 device. We have defined a data-model and four different implementations of the API, respectively based on gRPC, REST, NETCONF and remote Command Line Interface (CLI). Since it is important to support both the development and testing aspects we have realized an Intent based emulation system to build realistic and reproducible experiments. This collection of tools automate most of the configuration aspects relieving the experimenter from a significant effort. Finally, we have realized an evaluation of some performance aspects of our architecture and of the different variants of the Southbound APIs and we have analyzed the effects of the configuration updates in the SRv6 enabled nodes.

cs.NI

Implementation of Virtual Network Function Chaining through Segment Routing in a Linux-based NFV Infrastructure

In this paper, we first introduce the NFV architecture and the use of IPv6 Segment Routing (SRv6) network programming model to support Service Function Chaining in a NFV scenario. We describe the concepts of SR-aware and SR-unaware Virtual Network Functions (VNFs). The detailed design of a network domain supporting VNF chaining through the SRv6 network programming model is provided. The operations to support SR-aware and SR-unaware VNFs are described at an architectural level and in particular we propose a solution for SR-unaware VNFs hosted in a NFV node. The proposed solution has been implemented for a Linux based NFV host and the software is available as Open Source. Finally, a methodology for performance analysis of the implementation of the proposed mechanisms is illustrated and preliminary performance results are given.

cs.NI