8 
 
Chapter 1:  Introduction 
Generally, enterprises use WAN connectivity to connect branch office to central 
office, or to connect datacentres separated by distance.  In the past, WAN connections 
often use technology that require special proprietary hardware for each different type of 
connections and providers. In this way we had a monolith CPE model, that contrasted 
innovations, introducing HW and SW incompatibilities when new functions arrive, and 
making also difficult the network management for companies with several branch offices. 
This new technology, called SD-WAN that stands for Software Defined – Wide Area 
Network, is come out to solve many problems that affect the traditional WAN. 
 
Figure 1 - Traditional WAN and SD-WAN [1] 
The SD-WAN technology is born from vendors, and nowadays is adopted by the major 
of them. The goal is to reduce the CAPEX and OPEX for the network company through 
the simplification of branch office setup, supporting centralized control and network 
service delivery and leveraging multiple connection types on the same router to improve 
application performance and reliability. SD-WAN is an architecture that leverages SDN 
principles, and was aiming at simplify the management and operation of the networks 
(with a particular focus on WAN scenarios) by decoupling the networking hardware from 
its control programs and using software and open APIs to abstract the infrastructure and 
manage the connectivity and the services. 
At the time of research and work began of this thesis, there was no complete open source 
SD-WAN solutions. The only open source solution present is the one proposed by 
FlexiWAN [2]. With the work of this thesis we want to implement a new open source 
SD-WAN called EveryWAN, exploiting the new concepts of Network Slicing and
9 
 
Overlays. In EveryWAN 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 SRv6 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 called EveryEdge able to support ZTP, 
design and implement the SD-WAN Controller/Orchestrator called EveryWAN that is 
able to control and program the EveryEdges and deploy services. The services are based 
on L3 tunnels that interconnects multiple customer sites transporting traffic of a specific 
applications. The EveryController 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. EveryWAN 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 which deploy and 
test the EveryWAN and related network service. 
1.1 Thesis structure 
In Chapter 2 is described the SD-WAN state-of-the-art, taking information from SD-
WAN vendors (like Cisco, Juniper and Oracle) form MEF standardization body and from 
technological portals like SDxCentral. In that chapter we are going to describe the general 
aspects of this technology, the benefits it brings, the architecture, the main components, 
and the deployment models. In Chapter 3 we are going to provide a brief view of the main 
Open Source technologies used to build our Open Source SD-WAN Solution. Following, 
in Chapter 4 a full description of EveryWAN Architecture is provided together with the 
management mechanisms supported. In Chapter 5 and Chapter 6 we are going more in 
deep in our Open Source SD-WAN to describe respectively the Southbound API and 
Northbound API exposed and the implemented algorithms. In Chapter 7 we will talk 
about the data persistence and how the collections ware organized in the Database to save 
SD-WAN network configuration and status. Chapter 8 will provide a description of the 
emulated environment and the network topology that was used to realize a demo of 
EveryWAN. Finally, in Chapter 9 we will discuss the obtained results compared to the 
state-of-the-art and the possible improvements and future works that can be done starting 
from our SD-WAN.
10 
 
Chapter 2:  SD-WAN 
The Software-Defined Wide Area Network (SD-WAN) is a specific application of 
the Software-Defined Networking (SDN) technology applied to the WAN networks such 
as MPLS, fixed line broadband XDSL/Fiber, mobile broadband 4G/5G and satellite link 
[3]. 
The SD-WAN technology helps organizations connect branch office and central office 
sites spread over vast geographic areas with remote data centers, and multiple cloud 
environments. By decoupling the hardware from the software using cloud-based 
technologies and specialized software to create an abstraction layer. In this way 
organizations have greater flexibility and control over how data transfers take place. In 
addition, SD-WANs help businesses boost agility, availability, and performance, while 
potentially lowering costs by optimizing the use of resources in a multisite configuration. 
This technology is becoming so interesting due to its ability to incorporate the best 
networking technology available for a specific location thus transforming the access 
networks in intelligent and dynamic platforms. SD-WAN also alleviates some of the 
challenges related to traditional WANs and Multiprotocol Label Switching (MPLS) lines, 
like: [4] 
 scalability 
 bandwidth demand increase  
 vendor lock-in  
 support applications running outside the enterprise environment 
 flexibility in the architecture    
2.1 General SD-WAN Architecture and Components 
In this section a generic SD-WAN architecture will be described briefly, based on the 
information provided by the MEF standardization body. The main components of SD-
WAN architecture are SD-WAN Edge, SD-WAN Controller, and Service Orchestrator. 
The SD-WAN Edge component is the perimeter device that provide access for customers 
to an already existing networks. SD-WAN Controller and Service Orchestrator together 
provide centralized control and management to the SD-WAN. An additional component 
is the Subscriber Web Portal, where authorized users can activate the scenario, 
communicate with the Controller/Orchestrator to set up services, security policies, QoS
11 
 
parameters and monitor the SD-WAN Edges and the traffic between them. All these 
configuration tasks are done using a GUI and no longer a CLI. In the following 
subsections are described the fundamental functionality of SD-WAN Edge, SD-WAN 
Controller and Service Orchestrator. 
 
Figure 2-  Generic SD-WAN architecture [5] 
2.1.1 SD-WAN Edge 
The SD-WAN Edges are the components deployed in the enterprise sites that you want 
to interconnect with the SD-WAN technology. SD-WAN Edge functionality can be 
provided by both physical CPE device and virtual-CPE (vCPE). SD-WAN brings the new 
concept of vCPE or uCPE, in this case the Edge functionality are implemented as a 
software-based VNF. vCPE can be run on general compute platform, therefore can be 
deployed both at the customer premises and in cloud environments. SD-WAN Edge 
creates and terminates secured tunnels over different wired or wireless underlay networks. 
SD-WAN Edge perform application routing over one or more WAN links, performance 
measurements, and WAN optimization functions such as compression, packet reordering, 
packet deduplication and forward error correction. SD-WAN Edge also performs security 
policy enforcement and application-based QoS [6].
12 
 
2.1.2 SD-WAN Controller   
SD-WAN Controller manages physical or virtual SD-WAN Edge devices that are 
associated with him. It is responsible for authentication and activation, IP address 
management, tunnels and policies settings onto SD-WAN Edge. SD-WAN Controller is 
always connected with SD-WAN Edge to monitor their status and that of the tunnels. The 
information about the QoS performance metrics of each tunnel are collected to be used 
by the Service Orchestrator. SD-WAN Controller use the northbound APIs to 
communicate with the Service Orchestrator, and the southbound APIs to control and 
configure the SD-WAN Edges [6].  
2.1.3 Service Orchestrator  
The Service Orchestrator manages the SD-WAN service lifecycle. It’s responsible for 
service fulfilment, control the entire SD-WAN environment, collect data and do analysis, 
guarantee performance and security. For example, the Service Orchestrator configure the 
end-to-end SD-WAN services between SD-WAN Edges over multiple WAN links, based 
on application-aware security and QoS. Service Orchestrator use the northbound APIs to 
communicate with the applications and the southbound to communicate with the SD-
WAN Controller [6]. In some SD-WAN implementations SD-WAN Controller and 
Service Orchestrator are combined together in the same entity, that can be instantiated 
on-premises of the enterprise or in the cloud (SaaS Orchestration).   
2.2 Benefits of using SD-WAN 
In this section will be shown and discussed all the advantages that can be obtained by the 
remote locations of an enterprise in using the SD-WAN technology. All the advantages 
listed below are general, and a specific solution of a vendor or open source can also 
implement only a part of them. 
2.2.1 Overlay Networks 
As described in the MEF standard, SD-WAN operate over Underlay Connectivity 
Services (UCS). Underlay Connectivity Services are network services offered by network 
providers in order to create connectivity between the subscriber sites. The access to the 
UCS can be through different networking technology, such as LTE, WiFi, Ethernet, and 
also the transport can be based on different technology like MPLS, IP Routing, and 
Ethernet switching.
13 
 
SD-WAN can be deployed over multiple and different UCS that can have different 
performance and cost characteristics that will be used to provide benefits in term of cost 
and resilience [5]. 
The UCS is provided through Underlay Networks that is the physical network and it is 
responsible to deliver the packets across networks. The Underlay Network consist of 
physical devices (Router and Switches) and physical connections, it has some limitation 
due to static topology, limited scalability and long time to deploy services and functions.  
Through the use of encapsulation such as GRE, IPsec, DMVPN, VXLAN, or a proprietary 
tunnelling technology. SD-WAN is able to create Overlay Networks on top of 
heterogeneous Underlay Network, also from different providers, keeping the addressing 
plane. 
 
Figure 3 – Overlay networks  
The Overlay Network created by SD-WAN allow to have a dynamic topology (full-
mash/hub-and-spoke) constituted by logical links and virtual devices. In this way is 
possible to have a more scalable network with the ability to deploy functions faster than 
in the Underlay Network. Although additional overhead is introduced due to packet 
encapsulation, Overlay Network will enable the new paradigms application-aware, 
policy-driven and orchestrated connectivity between SD-WAN users [5].
14 
 
2.2.2 Hybrid WAN  
Compared to other technologies an SD-WAN solution is able to support multiple WAN 
connection concurrently. The various WANs can have different performance and costs, 
as it is for example in the cases of Internet, MPLS, 4G/5G etc. The ability to use multiple 
WANs leads to the concept of transport independence [7], which overcome many 
constraints introduced in the use of classic WANs and bring flexibility at the application 
level. 
 
Figure 4 - Hybrid WAN [8] 
Such a system is Fault Tolerant: in the case a WAN link breaks, the SD-WAN Edge 
device is able to redirect the traffic to the other WANs dynamically without the user or 
application noticing. A specific link, for example a mobile broadband connection, can be 
dedicated as a backup link if there is a possibility that all WAN links break, thus 
guaranteeing continuous availability. 
2.2.3 Dynamic Path Selection and Increased Bandwidth 
An SD-WAN solution is able to move traffic form one path to another on the fly in order 
to guarantee a given QoS. This is possible thanks to the ability to measure the 
performance of each available link. In this way, latency sensitive application traffic can 
be routed to the lowest latency link available, while the traffic that is latency tolerant and 
require more bandwidth can leverage the higher bandwidth pipe.  
In so doing, the traffic traversing on SD-WAN network can be aggregated on all available 
links, thus having an available bandwidth that is the sum of the bandwidth of all the lines 
[9]. This translates into the ability to facilitate the band increase respect other 
technologies.