With this thesis work we are going to provide initially an overview about Software Defined- Wide are network technology, relying on vendors products and the MEF standard. Next we will implement a new Open Source SD-WAN solution, exploiting the new concepts of Network Slicing and Overlays. In our SD-WAN the different types of service are segmented through virtual independent Overlay networks, that abstract the underlying network. In so doing we want to facilitate the use of multiple WAN connections and the assignment of different QoS and security for different services. We start form an SDN solution that was extended to an SD-WAN which implements multiple Overlays to create End-to-End Slices among multiple sites. The work has focused on design the high-level open source SD-WAN architecture, design and implement the vCPE (Edge router) able to support ZTP (Zero Touch Provisioning), design and implement the SD-WAN Controller/Orchestrator that is able to control and program the vCPEs and deploy services. The services are based on L3 tunnels that interconnects multiple customer sites transporting traffic of a specific applications. The Controller was developed based on SDN and NFV principles and made it capable to automate and orchestrate e2e services giving to the users to control their sites. The SD-WAN solution is based completely on Linux platform and in the implementation we assume that there is an IaaS that provides the computing workloads. The final part of the work consists in implement an emulated geographical network (in Mininet) in which deploy and test the solution and related network service.
Table of Contents
- Chapter 1: Introduction
- Chapter 2: SD-WAN
- 2.1 General SD-WAN Architecture and Components
- 2.2 Benefits of using SD-WAN
- 2.3 SD-WAN Architecture Types
- 2.4 SD-WAN Deployment Models
- Chapter 3: Used Technologies
- 3.1 gRPC
- 3.2 VXLAN
- 3.3 VRF-lite
- 3.4 STUN
- 3.5 Etherws
- Chapter 4: EveryWAN
- 4.1 EveryWAN Architecture
- 4.2 EveryWAN Services
- 4.3 EveryEdge
- 4.4 EveryController
- 4.5 EveryGUI
- 4.6 Authentication and Registration Procedure
- 4.7 Tenant Management
- 4.8 EveryEdge Management
- 4.9 Overlay Management
- Chapter 5: Southbound
- 5.1 VXLAN Implementation in Linux
- 5.2 VRF Implementation in Linux
- 5.3 Southbound API
- 5.4 NAT traversal with VXLAN
- 5.5 Management Tunnels
- Chapter 6: Northbound
- 6.1 Northbound API
- 6.2 Create Overlay Algorithm
- 6.3 Remove Overlay Algorithm
- 6.4 Generic Resource Manager
- Chapter 7: Persistence with MongoDB
- 7.1 Tenants
- 7.2 Devices
- 7.3 Overlays
- 7.4 Configuration
- Chapter 8: Emulation Environment and Demo
- 8.1 Emulation Environment
- 8.2 Emulated Network Topology
- 8.3 Demo
Objectives and Key Themes
This thesis aims to explore the implementation of Software Defined-Wide Area Network (SD-WAN) services on an open-source Linux-based platform. It details the design, architecture, and implementation of a fully functional SD-WAN solution, focusing on practical aspects and real-world applicability.
- SD-WAN architecture and its components
- Implementation of SD-WAN on an open-source platform
- Utilizing technologies like gRPC, VXLAN, and VRF-lite
- Development of a robust and scalable SD-WAN solution
- Testing and demonstration of the implemented SD-WAN system
Chapter Summaries
Chapter 2: SD-WAN: This chapter provides a comprehensive overview of Software Defined Wide Area Networks (SD-WANs). It details the general architecture and key components, including the SD-WAN edge, controller, and service orchestrator. The chapter thoroughly examines the numerous benefits of SD-WAN, such as overlay networks, hybrid WAN capabilities, dynamic path selection, zero-touch provisioning, enhanced cloud access, and improved security. Different SD-WAN architecture types (on-prem-only, cloud-enabled, and cloud-enabled plus backbone) and deployment models are also discussed, offering a complete picture of SD-WAN technology and its practical applications. The detailed explanation of benefits and various architecture types provides a solid foundation for understanding the technology's potential.
Chapter 3: Used Technologies: This chapter delves into the specific technologies employed in the implementation of the SD-WAN solution. It provides detailed explanations of gRPC (a high-performance, open-source universal RPC framework), VXLAN (a network virtualization technology that extends Layer 2 connectivity over Layer 3 networks), and VRF-lite (a routing technology that allows multiple virtual routing and forwarding instances to coexist on a single physical device). Additionally, the chapter briefly covers STUN (a protocol for NAT traversal) and Etherws (a protocol for network communication). The inclusion of these technologies highlights the intricate technical aspects involved in building a robust and scalable SD-WAN architecture.
Chapter 4: EveryWAN: This chapter introduces EveryWAN, the specific open-source SD-WAN platform used in this thesis. It describes its architecture in detail, breaking down the components such as EveryEdge (edge device), EveryController (central control plane), and EveryGUI (graphical user interface). The chapter explains the authentication and registration procedures, tenant management, EveryEdge management, and overlay management, giving a complete overview of the platform’s functionality and management capabilities. The detailed explanations highlight the platform's unique features and potential for flexible SD-WAN deployments.
Chapter 5: Southbound: This chapter focuses on the southbound interface of the EveryWAN platform. This section details the implementation of VXLAN and VRF in Linux, forming the core of the underlay network. It describes the Southbound API, which enables communication between the control plane and the edge devices. Specific attention is given to the Device API and Configuration API, which handle device management and configuration updates respectively. The chapter also addresses NAT traversal using VXLAN and discusses the implementation of management tunnels for secure and reliable communication between the controller and the edge devices. The chapter underscores the crucial role of the southbound interface in effectively managing and controlling the network infrastructure.
Chapter 6: Northbound: This chapter details the northbound API of the EveryWAN platform, which facilitates interaction between the control plane and external systems or users. It explores the Edge API, Overlay API, and Tenant API, each allowing for different types of management and interaction. The chapter also dives into the algorithms for creating and removing overlays, fundamental operations in dynamic network management. Finally, the chapter discusses the Generic Resource Manager, which helps to manage the overall resources of the platform. This detailed description of the northbound interface provides a comprehensive understanding of how the EveryWAN platform can be integrated with and managed by external systems.
Chapter 7: Persistence with MongoDB: This chapter explains how MongoDB is used for persistent storage of crucial data within the EveryWAN platform. It details how tenant information, device details, overlay configurations, and general system configurations are managed and stored in the database, ensuring data persistence and system resilience. This illustrates a key aspect of the platform's robustness and ability to handle long-term operations. The chapter highlights the role of a database in supporting the functionalities of the overall SD-WAN system.
Chapter 8: Emulation Environment and Demo: This chapter describes the emulation environment used for testing and demonstrating the EveryWAN platform. It details the setup, focusing on aspects like open and NATed access, and presents the emulated network topology used for the demonstration. The chapter concludes with a description of the demo itself, highlighting the successful implementation and functionality of the SD-WAN solution. The focus on the emulation environment and its capabilities demonstrates a practical approach to testing and validation of the implemented system.
Keywords
SD-WAN, Software Defined Networking, Open Source, Linux, VXLAN, VRF-lite, gRPC, EveryWAN, Network Virtualization, Overlay Networks, Network Management, API, Emulation, Zero Touch Provisioning, Hybrid WAN.
Frequently Asked Questions: Comprehensive Language Preview of an Open-Source SD-WAN Implementation
What is the subject of this document?
This document is a comprehensive language preview of a thesis exploring the implementation of a Software Defined Wide Area Network (SD-WAN) service on an open-source Linux-based platform. It covers the design, architecture, implementation, and testing of a fully functional SD-WAN solution.
What topics are covered in the document?
The document covers a range of topics, including SD-WAN architecture and components, the benefits of SD-WAN, different SD-WAN architecture types and deployment models, specific technologies used (gRPC, VXLAN, VRF-lite, STUN, Etherws), a detailed explanation of the EveryWAN platform (including its architecture, services, and management aspects), the implementation of the southbound and northbound interfaces, the use of MongoDB for persistent data storage, and finally, the emulation environment and demonstration of the implemented SD-WAN solution.
What are the key technologies discussed?
The key technologies discussed include gRPC (a high-performance RPC framework), VXLAN (for extending Layer 2 connectivity), VRF-lite (for multiple virtual routing instances), STUN (for NAT traversal), and Etherws (for network communication). The document focuses heavily on the integration and implementation of these technologies within the EveryWAN SD-WAN platform.
What is EveryWAN?
EveryWAN is the open-source SD-WAN platform used in the thesis. The document details its architecture, including EveryEdge (edge device), EveryController (central control plane), and EveryGUI (graphical user interface). It also explains the authentication, registration, tenant management, and overlay management aspects of the platform.
How is data persistence handled?
The EveryWAN platform uses MongoDB for persistent storage of crucial data, including tenant information, device details, overlay configurations, and general system configurations. This ensures data persistence and system resilience.
What is the purpose of the emulation environment?
An emulation environment was used for testing and demonstrating the EveryWAN platform. The document describes the setup and the emulated network topology used for a demonstration of the functional SD-WAN solution.
What are the key objectives and themes?
The key objectives are to explore SD-WAN implementation on an open-source platform, detail the design and architecture of a functional SD-WAN solution, utilize specific technologies (gRPC, VXLAN, VRF-lite), develop a robust and scalable solution, and test and demonstrate the implemented system. Key themes include SD-WAN architecture, open-source implementation, specific technology integration, and practical applicability.
What are the chapter summaries?
The document provides summaries for each chapter, detailing the specific content and focus of each section. These summaries offer a concise overview of the entire thesis structure and content. The chapters cover introductory concepts, SD-WAN fundamentals, utilized technologies, EveryWAN platform specifics, southbound and northbound interface implementations, data persistence using MongoDB, and finally, the emulation environment and demonstration.
What are the keywords associated with this document?
Keywords associated with this document include SD-WAN, Software Defined Networking, Open Source, Linux, VXLAN, VRF-lite, gRPC, EveryWAN, Network Virtualization, Overlay Networks, Network Management, API, Emulation, Zero Touch Provisioning, and Hybrid WAN.
- Quote paper
- Bogdan Iatco (Author), 2020, Software Definded - Wide Area Network (SD-WAN) Services and their Implementation on an Open Source Linux Based Platform, Munich, GRIN Verlag, https://www.grin.com/document/595705