You are on page 1of 23

464 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 21, NO.

1, FIRST QUARTER 2019

Segment Routing in Software Defined


Networks: A Survey
Zahraa N. Abdullah, Imtiaz Ahmad , and Iftekhar Hussain

Abstract—Segment routing (SR) has emerged as a promising management. A network device needs to not only furnish a
source-routing methodology to overcome the challenges in the wide range of automation capabilities but also must provide
current routing schemes. It has received noticeable attention both robust programmatic interfaces to allow applications to provi-
in industry and academia, due to its flexibility, scalability, and
applicability, especially in software defined networks. The emerg- sion network resources (e.g., bandwidth) to meet Service Level
ing cloud services require strict service level agreements such as Agreements (SLAs) and monitor network performance.
packet loss, delay, and jitter. Studies have shown that traditional The promising Software Defined Networking (SDN) tech-
network architectures lack the essential flexibility and scalability nology is radically transforming the network architecture of
to offer these services. To combat this, a more flexible and agile data centers, network overlays, and carrier networks to over-
routing paradigm of SR enables a source node to steer an incom-
ing packet along a performance engineered path represented as come most of the aforementioned limitations of the traditional
an ordered list of instructions called segment list. This is encoded network architectures [2]–[4]. SDN decouples control and
as a multiprotocol label switching label stack or an IPv6 address data planes, logically centralizes network intelligence and
list in the packet header. This paper provides a comprehensive state in the controller, and abstracts the network infrastruc-
review of the novel SR technology by describing its architec- ture layer from the applications through well-defined north-
ture, operations, and key applications to date. SR paradigm can
be effectively applied to a wide range of network applications, bound and southbound Application Programming Interfaces
such as traffic engineering, network resiliency, network monitor- (APIs) [2]–[8]. For instance, applications may gather network
ing, and service function chaining, to achieve efficient network intelligence information from the controller using Web-based
solutions. Furthermore, this paper identifies an interesting set of Representational State Transfer (REST) APIs, run its algo-
future research directions and open issues that can help realize rithms, and orchestrate new rules throughout the network. The
the full potential of the emergent SR paradigm.
control layer communicates with the data plane through the
Index Terms—Segment routing (SR), software defined southbound APIs. The SDN controller can dynamically make
networks (SDN), controller, control plane, data plane, traffic changes to the data plane in network devices (e.g., add or
engineering (TE), network monitoring.
remove a forwarding entry in the forwarding table) through
I. I NTRODUCTION the southbound APIs. On the southbound APIs, multiple pro-
tocols can be supported such as OpenFlow [2], Network
RADITIONAL network architectures are unsuitable to
T meet the cloud-based services requirements of mod-
ern data centers and carriers. These limitations arise due
Configuration Protocol (NETCONF) [9], Border Gateway
Protocol Link State (BGP-LS) [10], and Path Computation
Element Communication Protocol (PCEP) [11]. Controller
to network infrastructure inflexibility (e.g., tight coupling discovers the topology of the network dynamically by peer-
between control and data planes leading to a specific vendor ing via Interior Gateway Protocols (IGPs) (e.g., ISIS-TE,
lock-in) and lack of automation and programmability con- OSPF-TE) or listening to BGP-LS updates. The controller can
tributing to poor network operational efficiency and scalability. learn about the path state, modify existing paths, or provision
The large scale data centers typically contain tens of thousands new paths using PCEP. In short, SDN enables a number of
of network devices (routers or switches) arranged in a hierar- benefits including decoupling of control and data planes, pro-
chical CLOS based topology with hundreds of thousands of grammability, simple programmable network devices, greater
links and millions of routing rules [1]. The configuration and freedom for external software to define behavior of a network
management of such a large scale network using error-prone which encourages innovation, reduction in capital expenditure
repetitive manual configuration tasks pose serious operational through improvement in network efficiency, and reduction in
challenges. Automation and programmability capabilities in operational expenses through ease of configuration [4]. The
the network infrastructure are required to enable end-to-end SDN architecture ability to view network state in real-time,
Manuscript received May 9, 2017; revised October 7, 2017, March 10, 2018, and programmability of network devices are ideally suited
and June 9, 2018; accepted September 6, 2018. Date of publication September for developing innovative security capabilities that can be
13, 2018; date of current version February 22, 2019. (Corresponding author: instantiated on-the-fly.
Imtiaz Ahmad.)
Z. N. Abdullah and I. Ahmad are with the Department of Computer Cloud services providers such as Microsoft and Google are
Engineering, Kuwait University, Kuwait City 13060, Kuwait (e-mail: increasingly deploying SDN based architectures to improve
znaabdullah@gmail.com; imtiaz.ahmad@ku.edu.kw). their inter-data center networks efficiency. For example,
I. Hussain is with the System Architecture Group, Infinera Corporation,
Sunnyvale, CA 94089 USA (e-mail: ihussain@infinera.com). the SWAN (Software-driven WAN) research from Microsoft
Digital Object Identifier 10.1109/COMST.2018.2869754 showed that inter-data center WANs suffer from poor link
1553-877X  c 2018 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.
See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

Authorized licensed use limited to: CHONNAM NATIONAL UNIVERSITY. Downloaded on April 01,2020 at 09:39:45 UTC from IEEE Xplore. Restrictions apply.
ABDULLAH et al.: SR IN SDN: SURVEY 465

utilization in the 40-60% range [12]. This study identified Segment Router (OSR) with an initial set of capabilities to
the distributed resource allocation of MPLS-TE (Multiprotocol route unicast IPv4 packets using the MPLS data plane [16].
Label Switching Traffic Engineering) as the key reason behind In the ONF SDN approach, OpenFlow version 1.3+ is used to
the poor network efficiency. In a traditional traffic engineering program segments list, instead of using routing protocols such
with distributed control plane model, since there is no entity as OSPF/ISIS for distributing topology and segment identifiers
with a global view of the network, ingress routers greedily (SIDs), the controller is used for discovering and maintaining
select paths for their traffic that can result in globally sub- the topology information. However, it is important to note that
optimal routing patterns. To achieve higher network utilization, the SPRING-OPEN project does not aim to create a Generally
the SWAN paper proposed a centralized MPLS-TE control Available (GA) product nor it will be ready to for WAN scale
plane architecture to allocate network paths and use OpenFlow SDN use cases.
to re-configure the network’s data plane to match current traffic The emerging cloud services require strict SLAs such as
demands. The research in [13], reported the largest OpenFlow packet loss, delay, and jitter. This has led Internet Engineering
driven SDN deployment for B4, a private WAN connecting Task Force (IETF) standardizing a flexible architecture called
Google’s data centers across the globe. The proposed archi- Segment Routing (SR) [17]–[32]. While SDN and SR tech-
tecture consists of a logically centralized traffic engineering nologies can be deployed independently, when used together
control plane (e.g., OSPF, ISIS, and BGP for distributing they enable much more powerful solutions. It is possible to
topology) and OpenFlow to program switches built from mer- satisfy use case such as sub-second protection switching at
chant silicon for the B4. The study demonstrated the ability of the IP layer by deploying SR purely based on the distributed
the proposed SDN architecture to drive B4 WAN links to near control plane (without SDN centralized control). However,
100% utilization. While B4 SDN deployment showed promis- combining SDN centralized control with the SR enables a
ing results, this approach does not generalize to all WANs. much broader set of use cases and allows network operators to
The B4 SDN deployment study also acknowledged a number reap maximum benefits from the SR source routing paradigm.
of OpenFlow related scalability issues (such as frequency of To be more specific, a centralized SDN controller allows to
flow setups and gathering flow statistics) that would require collect and monitor topology changes with a global view of
further work to meet the demands of high performance WANs. the network across, compute traffic engineering paths using
While OpenFlow-driven SDN centralized control plane standard PCE framework, and use standard protocols such as
architecture and OpenFlow high degree of per flow granu- PCEP on the SBI to program an ingress node with the new path
larity has helped to improve the overall network efficiency, information to adapt to the network topology changes quickly.
several challenges remain. First, this architecture requires In brief, the combination of SDN and SR technologies enables
multiple interactions between the SDN controller and network following key benefits including vendor neutrality (e.g., SR
devices along the traffic path. To set up a path for a flow, control protocols are based on IETF open standards), pro-
the SDN controller needs to program all devices along the grammability (e.g., SBI protocols are based on open standards
path. This can lead to poor scaling (e.g., in terms of the such as IETF and ONF, programming of interoperable overlays
amount of state required) as the number of flows and network and underlays [33]), scalability (e.g., use SR source routing
size grow. Second, every time traffic demand or network to minimize state and state changes by maintaining state at
topology changes, the controller is required to update the the source node only), agility (e.g., increase responsiveness
network’s data plane in order to maintain high utilization. In to topology changes by having to program the source node
this situation, a key challenge for the controller is to be able only, inherit proven convergence and resiliency characteristics
to make updates across multiple switches rapidly to reduce of standard routing protocols), and centralized manageabil-
network convergence time and minimize any transient conges- ity (e.g., efficient management of network valuable resources
tion and the packet loss resulting from inconsistent forwarding based on a global view of the network topology across one
state in the network. The total amount of time to make a or more domains, ability to route traffic along an explicit path
Forwarding Information Base (FIB) update includes transmis- with or without ECMP-awareness). These key characteristics
sion and propagation delays - to distribute FIB entries to of the combined SDN and SR network architecture have led
a switch - and the additional delay incurred to install the to adoption of the SR approach into designs of some of the
FIB entries on the switch hardware (e.g., Ternary Content- open source SDN controllers such as OpenDaylight using the
Addressable Memory (TCAM)). This can lead to increased PCEP for controlling SR tunnels [8].
network convergence time for FIB updates depending on the SR is a source routing based paradigm which allows
FIB size and the number of switches involved in the path. a source node (i.e., network device) to specify a path as
While the aggressive use of wild-carded rules and effective an ordered list of segments to guide a packet across the
flow management ways proposed in [14] and [15] may help network [18]. A segment is an instruction a node executes on
in reducing the TCAM entries and controller-switch interac- the incoming packet. A segment scope can be local to a SR
tions, as demonstrated by the Google B4 SDN study, this still device or global within an SR domain (see Section II). In SR,
does not obviate the requirements to maintain per flow state the header has sufficient information to steer the packets from
in the network and program switches along the flow path. the ingress node to the egress node of the path. As a result,
That said, it is worth noting that recently Open Networking there is no need for any additional signaling protocol which
Foundation (ONF) have started an initiative called SPRING- simplifies the control plane. Furthermore, this also improves
OPEN. The objective of this project is to prototype an Open network scalability as the intermediate nodes along the path

Authorized licensed use limited to: CHONNAM NATIONAL UNIVERSITY. Downloaded on April 01,2020 at 09:39:45 UTC from IEEE Xplore. Restrictions apply.
466 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 21, NO. 1, FIRST QUARTER 2019

do not need to maintain state for all steered paths through the The flexibility, scalability, and ability to support a wide
network. The set of nodes participating into the source based range of use cases has positioned the SR architecture as an
routing model defines an SR domain. SR is a general paradigm attractive solution for fulfilling the evolving requirements of
that can be applied to a packet forwarding technology with the carrier-grade networks towards cloud-based services. A cloud
source routing capability such as MPLS and IPv6. service is any service that is made available to users on demand
SR can be realized over MPLS data plane without any via the Internet from a cloud service provider servers in data
change. In the SR instantiation using MPLS, a segment is centers. SR is already supported by system vendors (e.g.,
encoded as an MPLS label and an ordered list of segments Cisco, Juniper) and under evaluation by network operators.
is encoded as a stack of labels [19]. The label on the top Google Inc. for instance, has applied SR concept to fulfill its
of the stack indicates the active segment. An ingress network OAM requirements by using the SR technology in a central
device enforces a desired path for a set of packets by adding approach. This approach was based on triggering the OAM
the segment list on the packets. The receiving network device from a monitoring server where all the pre-calculated paths are
processes the top label in the segment list (i.e., the active seg- validated. This centralized OAM monitoring is implemented
ment) to forward the packet to the next hop according to the to monitor the state of resources in the network, which is a
given instruction (e.g., forward packet to shortest path to desti- fundamental requirement, with least overhead where it outper-
nation or forward packet through a specific interface or deliver forms the traditional tools [34], [35]. Additionally, SR concept
a packet to a given service). Upon execution of the active is gaining popularity in the industries, as the service provider
segment, the associated label is popped (i.e., removed), and networks are increasingly adopting SR in conjunction with
the following label (i.e., the next label underneath the popped SDN. The work conducted in [36] has facilitated the paths
label) becomes the active segment. Segment Routing can also updates in a large scale highly dynamic SDN network. Their
be realized over IPv6 data plane using a new type of routing methodology, Fast and Lightweight Updates (FLUS), exploits
extension header called Segment Routing Header (SRH) [20]. the SR approach to construct the new desired path by concate-
In this case, a segment is encoded as an IPv6 address and an nating the old segment list with the newly calculated ones to
ordered list of segments is encoded as an ordered list of IPv6 express the new path towards the destination.
addresses in the routing header. The Destination Address of The work done in [37] proposed an SDN frame-
the packet indicates the active segment. Upon completion of a work that is implemented using an SR supported Carrier
segment, a pointer in the SRH is incremented and indicates the Ethernet as Software Defined-Carrier Ethernet Switch Routers
next active segment. The SRv6 network programming allows (SD-CESRs). Carrier Ethernet is a properly standardized solu-
a set of endpoint functions that can be associated with local tion that is considered as a service-oriented modified version
segments [33]. of Ethernet. Their work was deployed for field trials in a
An SR path can be derived from a variety of mecha- tier-1 service provider network, and it has demonstrated a
nisms including an IGP Shortest Path First (SPF) algorithm, a good performance in terms of network agility (i.e., automated
Constrained Shortest Path First (CSFP) algorithm which may service provisioning and service lifetime management) [37].
take into consideration constraints such as bandwidth, latency, Cai et al. [38] have also proposed an evolved carrier Ethernet
and Shared Risk Link Group (SRLG), or an explicit network network architecture that combines the strengths of SR based
operator’s configuration. An SR path derived from the SPF transport, L2VPN service with BGP Ethernet VPN (EVPN)
algorithm is called an SR-SPF path, which allows a packet control plane [39], and SDN for service provisioning to build
to be forwarded along the well-known IGP Equal Cost Multi an architecture capable of delivering end-to-end Ethernet ser-
Path (ECMP)-aware shortest path. An SR path derived from vices (Residential, Business, Mobile Backhaul) with simplic-
the CSPF algorithm or an explicit configuration is called an ity, programmability, and guaranteed service level agreements
SR Traffic Engineered (SR-TE) path. An SR-TE path allows over a programmable network infrastructure. Another generic
a packet to be steered along an explicit path that may deviate work has been proposed in [40] where SR enabled trans-
from the IGP SPF path. In general, SR-TE paths are sup- port paradigm is implemented specifically in IP/MPLS Carrier
ported by using a combination of local and global segments. Ethernet technology. This work fully leverages the SR ben-
These capabilities allow an SR architecture to support many efits in IP/MPLS networks by introducing several different
use cases including tunneling of layer 2 and layer 3 Virtual techniques for swap node selection that showed an increased
Private Network (VPN) services from an ingress node to an results of network scalability.
egress node using SR-SPF paths, traffic engineering using SR- Several additional experimental demonstrations of SR
TE paths, network resiliency by rerouting the traffic from a were introduced in [41], where the results have proven a
failed path over new paths from the protecting node to the des- performance enhancement. The demonstration was based on
tination, Operations, Administration and Maintenance (OAM) implementing the SR concept in two different test beds, SDN
for monitoring the state of the network, and Service Function and PCE. The first implementation scenario uses OpenFlow
Chaining (SFC) in the Network Function Virtualization (NFV) nodes and switches with SDN-based SR controller. The second
environment by steering a packet through a sequence of service scenario is implemented using IP/MPLS commercial routers
functions (such as Firewall, Deep Packet Inspection (DPI)) and an extended version of PCE solution as the SR con-
using a service segments list. A service segment identifies a troller. Both implementation scenarios have shown a successful
service (or service function) provided by a node processing dynamic traffic rerouting with no packet loss while eliminating
the packet such as firewall and DPI. the need for complex signaling protocols.

Authorized licensed use limited to: CHONNAM NATIONAL UNIVERSITY. Downloaded on April 01,2020 at 09:39:45 UTC from IEEE Xplore. Restrictions apply.
ABDULLAH et al.: SR IN SDN: SURVEY 467

TABLE I
Despite the attention and wide industrial acceptance the SR L IST OF ACRONYMS
paradigm has received, no survey papers were done in the
literature that signify the need for researchers to do more work
in SR field. This timely survey highlights Segment Routing
core set of features and key use cases in the SDN context.
The rest of the paper is organized as follows: In Section II, an
overview of SR Architecture is provided. Section III describes
use cases to better understand their application. Section IV
discusses the SR architecture implementation related aspects
including the construction and encoding of the segment list
that are demonstrated through numerous use cases. In addition,
the application of SR in networks, especially in SDN enabled
networks, is provided in Section V. Section VI addresses some
open issues in the SR, which can be rich areas for future work.
Finally, the paper concludes in Section VII. A description for
the acronyms used in the paper is provided in Table I.

II. SR A RCHITECTURE
In order to understand how SR works and how it can be
applied to various use cases, some architectural components
and concepts must be introduced. SR utilizes the notion of a
segment list to steer a packet along an explicit path. A segment
is an instruction an SR capable node executes on an incom-
ing packet. A segment can represent a topological or service
related instruction. For instance, a segment may instruct a node
to forward a packet using a shortest path to destination, for-
ward a packet through a specific interface (i.e., a topological
instruction), or deliver the packet to a given service instance
to get a specific treatment such as DPI and firewalling (i.e.,
service related instruction). A segment can have a scope that is
local to an SR node or global within an SR domain. A segment
whose scope is local to an SR node is called a local segment.
A segment whose scope is global within an SR domain is
known as a global segment. A local segment that identifies
a particular service (or service function) at a node is known
as a service segment. The set of nodes participating into the
source based routing model defines an SR domain. The SR
architecture has two main components, namely, the data plane
and the control plane. In the data plane, we describe segment
ID (SID) and, then, different types of IGP segment types with
their use cases followed by the control plane functions.
1) Data Plane: The SR data plane component is concerned
with defining procedure for encoding a sequence of
segments (instructions) on a packet and processing the
segments list for forwarding the packet. The header con-
tains the segment list along with a pointer that indicates
the active segment to be processed by the current hold-
ing device, where this pointer points to the next segment
when the current one is executed [17], [18]. Each seg-
ment in the list is identified with a segment ID (SID)
that may be of global or local significance. The global
segment ID is advertised to all the existing nodes in the
network and thus must be unique within its domain. In
MPLS instantiation of the SR, each SR node maintains originating node advertises a label range [100, 199] and
a set of local labels reserved for global segments in the an index = 1, the receiving node determines the global
SR Global Block (SRGB). Global segments are adver- segment’s label value to be 101 (i.e., SRGB=[100,199],
tised as a label range and an index. For example, if an index range = 0 to 199, index=0 means label=100,

Authorized licensed use limited to: CHONNAM NATIONAL UNIVERSITY. Downloaded on April 01,2020 at 09:39:45 UTC from IEEE Xplore. Restrictions apply.
468 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 21, NO. 1, FIRST QUARTER 2019

Fig. 1. Illustration of the same SRGB allocation on all SR nodes.

index=1 means label=101, and so forth). While the SR a) IGP Adjacency Segment: An IGP segment attached
architecture allows different SRGB ranges in each node, to a unidirectional adjacency or set of unidirec-
it is highly recommended to configure the same SRGB tional adjacencies is referred to as an Adjacency
on all nodes within the SR domain to simplify oper- Segment [18]. An IGP adjacency is established by
ations and troubleshooting (as illustrated in Figure 1). the local node and the remote node. An adjacency
On the other hand, a local segment is held only by segment is local to the advertising node (unless
the originating node and its value is assigned outside explicitly advertised as a global segment). The SID
the SRGB range (i.e., a locally allocated label). In SR of an IGP adjacency segment is called an Adj-
with IPv6 data plane, unlike the MPLS, as there are SID. The adjacency segment (or adjacency SID)
no restrictions on which IPv6 address can be used, the refers to a given link (or set of links) that lies
notion of the SRGB includes all IPv6 global address between two adjacent nodes; it provides the fea-
used within the SR domain. The SR architecture defines ture to steer the traffic through a specific interface.
several data plane operations including PUSH (instruc- Adjacency segments, when used along with the
tion to insert a segment at the top of the segment list), prefix or node segments enable an ECMP-aware
NEXT (when the active segment is completed, NEXT explicit path. Suppose the node R4 allocates an
instruction allows to inspect the next segment), and Adj-SID of 24002 to the adjacency toward R5 and
CONTINUE (when the active segment is not completed advertises the Adj-SID in the IGP. If R1 wishes to
and CONTINUE instruction allows to keep the active forward a packet via the R4 to R5 link, it pushes
segment unchanged). Figure 2 illustrates SR segmenta- segments list including the Adj-SID 24002 on the
tion operations and equivalent MPLS label operations. packet (the segments used to forward the packet
In SR with the MPLS data plane, several types of seg- from R1 to R4 are not shown). When R4 receives
ments are defined including an IGP segment, a BGP peer a packet with the label 24002 as the active segment,
segment, an LDP segment, an RSPV-TE LSP segment, it pops the label, and due to the Adj-SID 24002’s
and a BGP LSP segment [17]–[20]. An IGP segment instruction forwards the packet on the link toward
or IGP SID is a generic term for a segment which rep- R5 as depicted in Figure 4.
resents a piece of information that an SR-capable IGP b) IGP Prefix Segment: An IGP-Prefix Segment repre-
node advertises such as attached prefixes and adjacen- sents a global prefix (unless advertised otherwise)
cies. The SR architecture can be applied not only to IGP with the SR IGP topology and denotes an instruc-
segments, but also to other forms of segments (e.g., seg- tion to forward the packet along the path computed
ments signaled through LDP, RSVP-TE, and BGP). For using the specified routing algorithm (e.g., ECMP-
the sake of brevity only IGP segments are covered in aware shortest-path to the prefix). The SID of the
this study. The IGP segments play a key role in the SR IGP Prefix Segment is referred to as the Prefix SID.
paradigm and its various use cases. This is because IGP An illustration of an IGP prefix segment is given
segments allow to express an arbitrary SR path across in Figure 5. Assume operator allocates an IP pre-
the IGP domain using a single IGP segment or a list of fix of 192.0.1.6 on R6, configures the same SRGB
multiple IGP segments. Figure 3 provides a summary of [1000-2000] on all nodes, and assigns an IGP SID
IGP segments types defined in the SR architecture and 1006 to 192.0.1.6/32. The SR control plane adver-
a brief description of each IGP segment type follows. tises the IGP SID 1006 within the IGP domain. R1

Authorized licensed use limited to: CHONNAM NATIONAL UNIVERSITY. Downloaded on April 01,2020 at 09:39:45 UTC from IEEE Xplore. Restrictions apply.
ABDULLAH et al.: SR IN SDN: SURVEY 469

Fig. 2. Illustration of segment operations.

Fig. 3. IGP segment types.

sends a packet to a prefix 192.0.1.6/32 attached to path. Let 1006 denotes the node SID of R6, where
R6 by pushing the segment list 1006 on the packet R1 pushes that Node SID into the packet header.
header. Since the IGP prefix has a global seman- The packet is steered towards that Node SID (i.e.,
tic within the IGP domain, any router forwards the R6) using the shortest ECMP-aware possible path
received packet with the active segment of 1006 to which is either R1-R2-R4-R6 or R1-R3-R5-R6.
the next-hop along the ECMP-aware shortest-path Figure 5 shows how Node-SID is used to steer
to the prefix 192.0.1.6/32. the packet from the ingress node R1 to the egress
c) IGP-Node Segment: This is an IGP Prefix Segment node R6. This assumes R6 (the originator of the
which identifies a specific node (e.g., a loop- Node SID 192.0.1.6) has instructed R4 and R6 to
back interface). This is also called an IGP Node not remove the active segment (e.g., by advertis-
Segment. The SID of the IGP Node is called the ing no penultimate hop option for the Node SID
Node SID. An IGP Node SID must be owned and in the control plane). IGP Prefix/Node segments
allocated by a single node within a given IGP may also be combined with the IGP Adjacency
domain. The semantic that is associated with this Segments to steer traffic along an explicit path
type of SID is same as for the IGP Prefix segment, through the network as illustrated in Figure 6. In
i.e., forward the packet towards the node with this case, R1 sends a packet to R6 by pushing an
this ID through the shortest possible ECMP-aware SR header with segment list 1004, 24002, 1006.

Authorized licensed use limited to: CHONNAM NATIONAL UNIVERSITY. Downloaded on April 01,2020 at 09:39:45 UTC from IEEE Xplore. Restrictions apply.
470 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 21, NO. 1, FIRST QUARTER 2019

Fig. 4. Illustration of an IGP Adjacency Segment.

Fig. 5. Illustration of IGP Prefix/Node Segments.

Since 1004 is a global IGP segment attached to the the closest node of the anycast set. All nodes in
IP prefix 192.0.1.4/32 when R2 receives a packet the Anycast set must advertise the same prefix
with the active segment 1004 based on the FIB with the same SID value. An IGP-Anycast seg-
entry it pops the 1004 (exposing 24002 as the ment must not reference a particular node. Figure 7
next active segment) and forwards the packet along illustrates forwarding behavior for an IGP Anycast
the shortest-path to the next hop (R4). When Segment where an Anycast SID 1003 is assigned
R4 receives the packet with the active segment for the IGP anycast prefix 192.0.1.3/32 configured
24002 it pops the label and forwards the packet on both R3 and R4 (i.e., R3 and R4 are member
over R4-R5 link. When R5 receives the packet it of the same anycast set). Suppose R2 receives a
forwards it along the shortest-path to R6. packet destined to Anycast-SID 1003. Since pre-
d) IGP Anycast Segment: An IGP Anycast Segment is fix 192.0.1.3 is reachable from R2 via R3 and R4,
an IGP Prefix Segment which identifies an anycast R2 load-balances traffic to anycast SID 1003 over
prefix advertised by a set of routers. The SID of the both ECMP paths. If R3 fails, R2 automatically
IGP Anycast Segment is referred to as the Anycast- forwards traffic to Anycast SID 1003 towards R4
SID. An IGP Anycast Segment allows to enforce as depicted in Figure 8. In summary, IGP Anycast
the ECMP-aware shortest-path forwarding towards segments enable High Availability (HA), ECMP,

Authorized licensed use limited to: CHONNAM NATIONAL UNIVERSITY. Downloaded on April 01,2020 at 09:39:45 UTC from IEEE Xplore. Restrictions apply.
ABDULLAH et al.: SR IN SDN: SURVEY 471

Fig. 6. Illustration of combining Prefix-SIDs and Adj-SIDs for an explicit path.

Fig. 7. Illustration of an IGP Anycast Segment.

and traffic engineering using macro TE expressions service segments is illustrated in service chaining
(i.e., coarse TE policies). application (see Section V).
e) Service Segment: A Service Segment is a local seg- 2) SR IGP Control Plane: A link-state IGP domain contains
ment that can be used to represent a particular protocols such as OSPF and ISIS for exchanging routing
service treatment to be applied to a packet. By information between routers. An SR capable node needs
combining IGP segments with the service seg- to advertise segment identifiers for its associated IGP
ments (represented as Service-SIDs), SR can be prefixes and adjacencies within the IGP domain. The
used to steer packets through services offered by link state IGP control plane is responsible of advertising
middleboxes to perform specific actions such as the IGP segment identifiers among the network devices.
firewalling and DPI. An example use case of IGP control plane (OSPF, ISIS) extensions are required

Authorized licensed use limited to: CHONNAM NATIONAL UNIVERSITY. Downloaded on April 01,2020 at 09:39:45 UTC from IEEE Xplore. Restrictions apply.
472 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 21, NO. 1, FIRST QUARTER 2019

Fig. 8. Illustration of IGP Anycast Segment providing High Availability.

to advertise the various IGP SIDs. These IGP exten- in the data plane to cope with SR. In IPv6, SR is a
sions allow any router in the IGP domain to maintain fully compatible solution that can be used with ECMP
a database of all IGP segments within the domain to perform load balancing, and the full implementation
and update the database rapidly upon network topology is addressed with details in [44]. Also, a Linux Kernel
changes [21]–[23]. Moreover, the SR IGP control plane implementation of SR over IPv6 networks is introduced
guides the ingress router in selecting the SR path that in [45], however, SR over IPv6 data plane is out of the
a packet should follow [21]–[23]. When one or more scope of this paper.
IGP-Node Segments (i.e., loopback IP addresses) are
configured on an SR node, for each configured IGP pre-
fix the SR node advertises the assigned IGP SID. When III. IGP S EGMENTS SR U SE C ASES
such an IGP prefix is removed, the SR node withdraws This section describes SR use cases enabled by the IGP
the associated IGP SID. The SR node advertises an Adj- segments.
SID for each adjacency on a point-to-point link that is
in neighbor state 2-Way or higher. When an adjacency
on a point-to-point link transitions to a state lower then A. Simple Transport Paths for L2VPN and L3VPN Services
2-Way, then the node withdraws the associated Adj-SID Service providers commonly employ MPLS data plane to
for that adjacency. Apart from the IGP segments, SR provide Layer 2 Virtual Private Network (L2VPN) and Layer 3
contains other type of segments which are referred to as Virtual Private Network (L3VPN) services over a common
BGP segments and BGP peering segments. BGP seg- network infrastructure. An important task of enabling these
ments are LDP LSP, RSVP-TE and BGP LSP. BGP services involves establishing a full mesh of MPLS tunnels to
segments allow the traffic to use any path that is differ- provide any to any connectivity among Provider Edge (PE)
ent from the calculated shortest path. The BGP peering devices. At the network ingress, a PE device encapsulates
segments are used to steer traffic from one Autonomous the user traffic with the VPN header and transports it over
System (AS) to another, which makes it an attractive one or more tunnels to an egress PE device. When applied
tool in the inter-domain multipoint transmission scenar- to this use case (refer to Figure 9), SR offers several bene-
ios. For instance, an ingress border router of an AS may fits including (a) simple operation through ability to automate
construct a list of segments to steer a flow along an tunnels set up using only IGP without requiring any other
explicit path within the AS, towards a selected egress signaling protocols such as LDP or RSVP (e.g., the opera-
border router of the AS and through a specific peer. tor only needs to configure node segment per PE and the SR
In the simplest form, the ingress border router may IGP control-plane automatically setup the tunnels) (b) ECMP-
compose the segment list by using an IGP Node SID aware tunnels (see [46] and [47]) (c) improved scalability
of the selected egress PE and a BGP peering segment as the network needs to maintain much less state (e.g., one
(e.g., BGP Peer Node segment or BGP Peer Adjacency Node-SID per PE device). In the context of IP/MPLS VPN,
segment) for the selected egress BGP peer or peering the main objective of ECMP-aware routing is to allow effi-
interface. However, BGP segments and the associated cient utilization of the IP/MPLS core network resources and
SR control plane extensions are out of the scope of this reduce the risk of congestion. Multi-pathing techniques such
study [18], [42], [43]. It is worth mentioning that SR as ECMP are widely deployed in Service Provider, enter-
can be easily applied in both IPv6 and MPLS networks. prise, and data center network architectures [46], [47]. In
In MPLS, minimal or no hardware changes are required these network architectures, one of the key network efficiency

Authorized licensed use limited to: CHONNAM NATIONAL UNIVERSITY. Downloaded on April 01,2020 at 09:39:45 UTC from IEEE Xplore. Restrictions apply.
ABDULLAH et al.: SR IN SDN: SURVEY 473

Fig. 9. SR based simplified transport for MPLS VPN services.

metrics is to spread the traffic among maximum number of request. The PCE runs the CSPF on the TE topology database
ECMP paths. and computes the path as segment list 103, 2001, 102. The
SDN controller then uses the PCEP message to pass on the
B. Traffic Engineered Transport Paths for L2VPN and computed SR-TE path as an SR-ERO to program the PE1.
L3VPN Services The head-end then steers the traffic over the SR-TE tunnel.
There are numerous applications and services running over
MPLS networks which require strict SLA requirements such C. Fault Resilient SR Paths for L2VPN and L3VPN Services
as latency, bandwidth, or loss for the end-to-end paths used to IGP segments can be used to provide resilient SR paths that
carry their traffic. In SR, IGP Segments are the basic building allow protection against a particular component (e.g., link or
blocks which can be combined to steer packets along a traf- node) failure or any component failure along the path. When
fic engineered path. SR provides a mechanism by which the protection is performed by the node adjacent to the failed
data plane of a MPLS network can be programmed to real- component, it is commonly known as local protection or Fast
ize paths meeting the required SLAs constraints. TE topology Reroute (FRR) technique. In contrast, when protection is per-
contains additional information about link attributes such as formed by the ingress node, it is referred to as path protection.
latency, bandwidth, SRLG, and so forth. The centralized or Figure 11 illustrates an SR path protection scheme. In this
distributed path computation entity uses TE topology to com- example, an application requests path protection for a service.
pute Constrained Shortest Path First (CSPF) paths. In the case The SDN controller requests the PCE for link and node dis-
of a distributed path computation approach, an ingress node joint or Shared Risk Link Groups (SRLGs) disjoint paths from
(also referred to as the head-end) calculates the shortest path PE1 to PE2. The PCE computes the node/link disjoint primary
for a destination subject to certain constraints. In a centralized and backup paths. The SDN controller programs the primary
path computation approach, a centralized entity such as the and backup paths on PE1. Initially, PE1 steers traffic along
SDN controller computes the path. An SR-TE path consists the primary SR tunnel. When the primary SR tunnel fails,
of one or more IGP SID(s) representing node or adjacency PE1 reroutes traffic along the backup SR tunnel.
segments. The SDN controller uses the Path Computation
Element Protocol (PCEP) message to convey the computed D. Data Plane Monitoring of SR Paths for L2VPN and
SR-TE path as an Explicit Route Object (ERO) object to L3VPN Services
the head-end node. The Link-State Database (LSDB) contains
network topology (links and nodes) only within an IGP area. SR allows a scalable and simple method to monitor data
In order to compute end-to-end SR-TE paths across multiple plane liveliness of paths. Suppose PE1 wishes to monitor data
areas (or multiple autonomous systems), the computing entity plane liveness of a SR path from PE1 to PE2 as depicted in
needs the latest information about IGP network topology and Figure 12. This requires setting up a continuity check of the
SIDs. The SDN controller learns this information by using the path to be monitored from PE1 to PE2. The SDN controller
BGP-LS mechanism. Thus, SDN centralized path computation constructs the SR-ERO 103, 2001, 102, 101 for the desired
approach has the added benefit of allowing computation of path monitoring and programs the PE1. In order to monitor
inter-area and multi-domain SR-TE paths [35]. An illustration the path, PE1 periodically sends packets using the segment
of SR-TE paths is provided in Figure 10. The network operator list 103, 2001, 102, 101. These path monitoring packets are
configures Node-SID 102 on PE2, Node-SID 103 on P3, and steered along the monitored path from PE1 to PE3 and back
Adj-SID 2001 on the link between P3 and P4. These SIDs are to PE1. In the event of a failure along the monitored path,
propagated within the domain by the SR IGP control plane. PE1 does not receive reply back which allows PE1 to detect
The SDN controller gathers the IGP TE topology information data plane failure along the monitored path.
and the IGP SIDs by listening to the BGP-LS updates and
passes on this information to the PCE. An application requests IV. SR PATH E NCODING I MPLICATIONS
the SDN controller for a path from PE1 to PE2 subject to con- As described earlier, SR encodes a path (an ordered list
straints such that the path must avoid PE1-P2 link and must of segments) as a stack of labels over MPLS data plane. The
use P3-P4 link. SDN controller invokes the PCE to process this label stack depth that a source node needs to push in the packet

Authorized licensed use limited to: CHONNAM NATIONAL UNIVERSITY. Downloaded on April 01,2020 at 09:39:45 UTC from IEEE Xplore. Restrictions apply.
474 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 21, NO. 1, FIRST QUARTER 2019

Fig. 10. Illustration of an SR-TE tunnel set up using the SDN controller.

header depends on the network topology and the granularity of minimization of the segment list depth and the packet
steering required along the path. In general, Adj-SIDs enable overhead. The SR algorithms that compute optimal path with
granular hop-by-hop traffic steering, but constructing segment the minimum segment list are referred to as the label encoding
lists using Adj-SIDs requires deeper label stacks as compared algorithms. As an example, Lazzeri et al. [48] have proposed
to node (or prefix) segments as illustrated in Figure 13. To an efficient algorithm to compute the ECMP optimum paths
fully exploit SR flexibility for a variety of use cases, a source using an auxiliary network graph while considering some IGP
node needs to be able to push large segments list in order metrics such as number of hops and latency. It assumes that
to realize long explicit paths across the network. However, all shortest possible paths from any node to any node in the
currently most equipment vendors’ hardware can support a network are pre-calculated and held in an existing set dur-
limited label stack depth (about 3 to 5 labels) [48]. A limited ing the initialization phase or after topology realignment. The
label stack depth restricts the ability of a source node to real- paths are computed with IGP metrics and the SIDs are adver-
ize long optimal explicit paths. This compels the source node tised using IGP protocol. After calculation of the path P, an
to steer traffic along short suboptimal paths. This, in turn, auxiliary network G is constructed using the nodes and links
may lead to inefficient traffic distribution and network con- that belong to P. After computing the path P, another path
gestion. Therefore, in SR networks with limited label stack computation is applied on the auxiliary graph G, where paths
depth capabilities, path computation algorithms must consider with a higher number of hops than the maximum Segment
the segment list depth constraint in addition to the traditional List Depth (SLD) threshold are rejected. The candidate paths
constraints such as link cost, latency, bandwidth, and ECMP. are first sorted with respect to the original metrics, then with
Several studies have proposed special algorithms for seg- respect to their length, where shorter paths are more granu-
ment list computation to address the above issues by joint lar. The resulting paths are the concatenation of physical and

Authorized licensed use limited to: CHONNAM NATIONAL UNIVERSITY. Downloaded on April 01,2020 at 09:39:45 UTC from IEEE Xplore. Restrictions apply.
ABDULLAH et al.: SR IN SDN: SURVEY 475

Fig. 11. An illustration of SR path protection scheme.

virtual links, where physical links are assigned to the adjacent paths in accordance to the MSD that the target hardware can
Adj-SIDs and the virtual links are mapped to their tail end support. Several other works have tackled SR Path Encoding
Node-SIDs. The work in [48] have shown a novel label encod- issue. As an example, the work done in [51] has proposed a
ing algorithm for constructing the segment list for the path. solution where all the possible shortest paths to the destination
The algorithm is tested against ECMP and multiple constraints are calculated using ECMP, and the label stack is computed
and it guarantees optimal path calculation with minimum SLD. using two proposed algorithms. Both proposed algorithms are
The work done in [49] has also proposed an optimum path designed to navigate the alternative paths towards the destina-
encoding technique using the auxiliary graph to model the tion to perform comparison in terms of the Segment List Depth
network. Their work has exploited the segment list encoding (SLD) and the packet overhead. The paper shows a detailed
to implement TE solutions. The detailed problem formula- comparison between the two proposed algorithms [51]. A sum-
tion and the proposed solution are described, along with the mary of the different label encoding algorithms in segment
performance evaluation. routing is shown in Table II. Finally, the work in [52] defines
Another work in [50] has tackled the problem of Label the notion of Binding SID (BSID). A BSID is bound to a SR
Encoding for SR-MPLS while considering the Maximum SID policy path (where the path is represented by a SID list). The
Depth (MSD) that the hardware resources support. The cur- source node encodes the SR policy paths (i.e., the associated
rently existing equipment’s support an average of 3 to 5 segment list) with a single BSID. In summary, a BSID enables
MSD, which imposes limitation on the number of paths decoupling between domains and helps to decrease the num-
that are implemented in SR-MPLS. This limitation might ber of segments that needs to be imposed by the source node
cause inefficient resource utilization in the network, which as illustrated in Figure 14.
in turn increase the potential of network congestion. Two
efficient label encoding algorithms SR-LEA and SR-LEA-A
are proposed in [50] to leverage the IGP shortest paths that V. SR A PPLICATIONS
exist in the network. Both algorithms are proven to calculate As described so far, applying SR in regular networks can
the minimum label stack that is required to express the existing achieve improvements at different levels. This is due to the

Authorized licensed use limited to: CHONNAM NATIONAL UNIVERSITY. Downloaded on April 01,2020 at 09:39:45 UTC from IEEE Xplore. Restrictions apply.
476 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 21, NO. 1, FIRST QUARTER 2019

Fig. 12. An illustration of SR path data plane monitoring.

Fig. 13. An illustration of segment list depth for two paths over a network topology.

rich set of capabilities that the SR enables such as traffic engi- utilization and congestion under some traffic conditions in
neering, packet restoration and duplication, service function spite of the available capacity in the network [53]. These
chaining, network monitoring, application in data centers and drawbacks led to the introduction of Traffic Engineering in
multi-domain routing as discussed in the following sections. SR. TE can be defined as a set of strategies and principles
that are applied in the network for effective placement of traffic
in a network to improve network operational efficiency [54].
A. Traffic Engineering (TE) SR provides a flexible set of capabilities for traffic engineering
Studies show that exploiting SR ECMP in traditional with granular control. An SR traffic engineered (TE) path con-
networks using IGP shortest paths may lead to high resource sists of an ordered segment list containing one or more SIDs

Authorized licensed use limited to: CHONNAM NATIONAL UNIVERSITY. Downloaded on April 01,2020 at 09:39:45 UTC from IEEE Xplore. Restrictions apply.
ABDULLAH et al.: SR IN SDN: SURVEY 477

Fig. 14. An illustration of BSID usage for reducing the segment list depth [52].

where each SID may represent a node, an adjacency, a policy, •Detecting the congestions, restricting access to congested
and so forth. The mechanism for expressing an SR path as an resources, and assigning the new traffic demands to the
ordered list of segments, programming a source node with the underutilized resources.
segment list, and steering traffic along the SR path is referred Congestion minimization is a common TE goal that directly
to as SR traffic engineering (SR-TE). The path computation impacts other performance objective, since it results in less
function in the SR-TE can be performed using a distributed packet loss and minimized end-to-end delay. The work intro-
approach where a source node computes the path or a cen- duced in [55] has discussed TE methodology specially in
tralized approach where Path Computation Element (PCE) in 2-segment routing, where the traffic flows between the ingress
the controller computes the path and then programs the source and egress nodes through exactly one intermediate node. In
node with the path (for an illustration, refer to Figure 10). An their work, the problem of TE is discussed in three categories,
SR policy contains one or more candidate paths from a source namely, Traffic Matrix Aware Segment Routing, Traffic Matrix
node to endpoint. Each candidate path has a preference. The Oblivious Segment Routing, and The Online Segment Routing.
SR-TE path selection process selects the best path from the In Traffic Matrix Aware SR, it is assumed that the traffic from
candidate paths based on preference value. The selected best node i to node j is known and the goal is to split the traf-
path is installed in the forwarding information base (FIB). An fic across different segments between each pair of nodes to
SR policy entry in the FIB is looked up using BSID as a key. perform TE. While in Traffic Matrix Oblivious SR, the traffic
Any packet which matches the policy key is steered along the matrix is not known in advance, and the traffic is well dis-
selected path represented as an ordered list of segments [52]. tributed among a wide range of matrices. The last scenario,
TE allows to achieve several network performance objectives Online SR, assumes knowledge of the network current state
as described in the following sections. along with the link loads without knowing the future traffic
1) Congestion Minimization: Congestion minimization is arrivals, and it aims to reject as few requests as possible. The
one of the critical problems in TE context, since it has work in [55] has shown that Segment Routing outperforms
direct effect on packet loss, jitter or delay. And it relies the shortest path routing by minimizing the maximum link
on balancing the traffic load in the network through split- utilization in order to avoid network congestion.
ting the traffic into multiple streams and steers them Different algorithms have been proposed to solve the
in separate calculated paths. This TE objective can be intractable problem of computing the TE paths in segment
achieved through different methodologies, which are described routing [55]–[59]. Bhatia et al. [55] used ILP technique to
below: find 2-segment routing path, where any logical path con-
• Sharing the available resources by several traffic streams tains only one middle point and thus two segments. However,
in the network. ILP technique is not scalable. Hartert et al. [56], [57]
• Reallocating the network resources through distributing proposed some heuristics and hybrid constraint program-
the existing traffic in the network. ming framework to compute forwarding paths for TE in SR.

Authorized licensed use limited to: CHONNAM NATIONAL UNIVERSITY. Downloaded on April 01,2020 at 09:39:45 UTC from IEEE Xplore. Restrictions apply.
478 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 21, NO. 1, FIRST QUARTER 2019

TABLE II
C OMPARISON OF L ABEL E NCODING A LGORITHM IN S EGMENT ROUTING

Trimponias et al. [58] proposed a polynomial time heuristic by Carpa et al. [62] by selectively turning on/off any sub-
by selecting few important nodes as middle points for all traf- set of links in the backbone network. Their proposed solution
fic. For the selection of middle points, the authors exploited enables the traffic load to dynamically adapt to the available
the node centrality concept from graph theory and social operating links that leads to an improved TE. Similar work
network analysis field. The proposed algorithm achieved good was conducted in [63] especially in intra-domain SDNs. In
results with orders of magnitude lower runtime as compared this work, SR technique is shown to lead to faster conver-
with [55]. Gay et al. [59] approach is based on local search gence of the algorithm that changes the status of the existing
with focus on the quick re-arrangements of few forwarding router ports and transponders to reduce the consumed energy
path for sub-second re-computation of segment-routing paths in backbone networks. The technique relies on computing new
that comply with requirements on the maximum link load for routes to either avoid or reuse the links, selecting links to turn
congestion avoidance. on/off, and then reroute the flow on the newly computed paths.
2) End-to-End Delay Minimization: End-to-end delay is a This work has taken into consideration the divergence of opin-
performance objective that affects the QoS and Quality of ions regarding the centralized and distributed approaches, and
Experience (QoE). End-to-end delay is considered as a critical it shows an improvement in the stability of energy efficient TE
metric in real-time communications and applications. CSPF approaches by applying SR [64]. In this context, the applica-
is considered as one of the most common techniques for tion of SDN with a centralized view of the network topology
minimizing end-to-end delay [54]. Salsano et al. [60] have allowed to simplify and improve efficiency of the TE solution.
proposed another TE use case where no enhancements are De Assunção et al. [64] have proposed a TE solution in SDN
required in the intra-domain routing protocols (OSPF, IS-IS). where SR technique is applied to enhance the performance.
Their work aims to avoid extending the routing protocol to SR enables the network to classify and steer the flow to a
support the SIDs distribution, and it focuses on using the given path at the ingress router, so that the underutilized links
global Adj-SIDs that are automatically generated by nodes to are turned off to save energy effectively. In their approach,
perform TE. The authors also ensured the optimal path compu- the SDN controller is assumed to collect the information of
tations in terms of the number of segments that are required for link utilization every second. After the implementation, it
path representation. Additionally, they have verified that the was shown that sudden traffic bursts may lead to conges-
required execution time is less compared to the TE heuristics tion which required need to turn on the previously shut links.
of traditional hop-by-hop paths, which ensures a minimized To address this issue, an algorithm was proposed to quickly
end-to-end delay that is crucial to the real-time communi- switch on links when traffic bursts are detected to reduce
cations. Moreover, the work done in [49] have conducted a the possibility of potential packet loss. The performance
proper formulation of the segment list in path encoding lit- of their approach was tested with discrete-event simula-
erature, which leads to a better TE outcome with respect to tion, and it was shown that the application of SR in SDNs
the cost of configuration in terms of end-to-end tunneling and enhanced the efficiency of TE [64]. Davoli et al. [65] have
hop-by-hop solutions. proposed a green SDN-based SR scheme for IEEE802.3az
3) Energy Consumption Minimization: This objective is Ethernet links.
widely used in the scope of green computing, which reduces 4) Resource Utilization Optimization: This objective
the impact of Information and Communications Technology assures the efficient use of the network resources such as band-
(ICT) on the environment. Generally, the routing protocols width, computation, and buffer space. The efficient utilization
play an important role in the TE literature, therefore it has of network resources can lead to serving higher number of
an impact on the energy management in the network. Routing traffic demands without increasing the network infrastructure
protocols in IP networks can be classified into two different cost [54]. Moreover, this objective impacts other aspects such
categories: Flow based and shortest path based protocols. In as network congestion. The work in [66] addresses the appli-
flow based routing, the traffic is routed through one or more cation of TE in SR where the network control is centralized
dedicated paths, as in the MPLS networks. When shortest path as in SDN. Their model is an ISP network managed by an
routing is adopted, the shortest paths are determined according enhanced SDN controller, where each node is assumed to
to links weights. Therefore, TE techniques aiming at minimiz- be MPLS capable node and is categorized either a Provider
ing the energy consumption can be performed by adjusting Edge (PE) routers or a Core Router (CR). PE nodes are
link weights and by diverting the traffic from the sleeping allowed to originate and terminate connections whereas both
nodes [61]. An energy efficient TE solution was introduced PE and CR nodes can be intermediate nodes in the path.

Authorized licensed use limited to: CHONNAM NATIONAL UNIVERSITY. Downloaded on April 01,2020 at 09:39:45 UTC from IEEE Xplore. Restrictions apply.
ABDULLAH et al.: SR IN SDN: SURVEY 479

TABLE III
C OMPARISON OF TE T ECHNIQUES IN S EGMENT ROUTING

Their enhancement is achieved by applying SR-TE features of single shortest path failure and generalize this approach to
to the applications through the NBI. The approach assumes handle failures along ECMP routing. Also, their work provides
that the SDN controller is responsible for allocating a specific a mechanism to recover from multiple link failures that occurs
bandwidth to a set of traffic flows, with prior knowledge of at the same time, which is known as Shared Resource Link
link capacity. Thereafter, the hop-by-hop TE paths are first Group (SRLG) failures. To implement an effective restoration
allocated using a basic TE algorithm [66]. Secondly, a corre- scheme, an efficient sharing of bandwidth must be realized
sponding SR path for each TE path is computed using their among different failures. In their approach, this is achieved
proposed heuristic. Their approach offers service based either by splitting the traffic on a given link into the primary traffic
on SR-TE forwarding or the traditional hop-by-hop MPLS- and the restored traffic. The primary traffic is the real traffic
based LSP forwarding. To further enhance the performance that flows through the links where no failures exist, whereas
of TE, Moreno et al. [53] have proposed a heuristic and ILP the restored traffic is the traffic that flows on that link as a
model that exploit the SR approach. They showed that the result of a failure restoration. Their work in [68] includes a
default behavior in SR that exploits the ECMP may lead to detailed calculation of the appropriate bandwidth that must
several drawbacks such as higher network resource utilization. be reserved for each type of traffic on the link, so that the
For this reason, the default behavior of SR (which makes use restoration feature is implemented properly.
of ECMP) was avoided in their work to perform more effi- An alternative solution is proposed in [34] and [69] to
cient TE. Lee and Sheu [67] exploited SR in SDN in order to recover from failures dynamically with minimized Segment
optimize network performance and network resource utiliza- List Depth (SLD), where the central controller is not involved
tion by taking into consideration the link capacity and path in the recovery process. The nodes are configured properly
length. A comparison of different TE techniques in segment during the initialization of the network, such that they are able
routing is shown in Table III. to locally redirect the flow on a backup path upon the failure
of a connected interface. This network initialization might be
performed in distributed manner using either an extended IGP
B. Recovery From Failures or an SDN centralized controller. The author’s main focus is
The nature of SR paradigm permits a better control on the to provide a primary forwarding tables as well as the failover
routing paths by steering the traffic into different paths, which forwarding tables for each interface in the node. For each
leads to an improved network utilization. The existence of a ingress label in the segment list, there exists an output port
central controller in SR helps exploit its potentials by choosing that is kept in the primary table. Upon the output port fail-
segments according to the traffic pattern. The choice of seg- ure, the backup actions that are held in the primary table
ments allows to distribute the traffic in the network in a manner are executed, as the node discards all segments in list except
such that it lowers the chances of having hot-spots. The use of the segment at the bottom of the list, which is the destina-
IGP routing protocol in SR enables the failure recovery and tion label. The processed packet is passed to the appropriate
restoration mechanisms in a distributed manner since it re- failover table where all the actions relevant to the value of
computes the shortest paths upon failure. To implement this the bottom label are executed. All the pre-computed shortest
distributed restoration scheme, it is assumed that the network paths are utilized by the failover table for each link. Their
is planned in such a way that there exists enough capacity in scheme provided a dynamic packet restoration technique that
the network to reroute the traffic upon any failure. In [68], an exploits the concept of SR [69]. The same authors extended
initial segment configuration is proposed such that there would their work in [70] to evaluate the recovery technique to the
be sufficient network resources to reroute the traffic in case node failure scenario and provided additional experimental
of failure. Their work presents an approach to handle the case results.

Authorized licensed use limited to: CHONNAM NATIONAL UNIVERSITY. Downloaded on April 01,2020 at 09:39:45 UTC from IEEE Xplore. Restrictions apply.
480 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 21, NO. 1, FIRST QUARTER 2019

C. Traffic Duplication for Protection Service Function Path as an ordered list of service functions
Traffic transmitted through the network can be of critical encoded in the packet header.
nature. Protecting the path followed by such mission-critical SR architecture is well suited for SFC applications as it
traffic is crucial to ensure a continuous transfer of traffic in provides flexible capabilities to implement SFC on MPLS
order to avoid revenue loss. Traditional networks handle the and IPv6 data planes. Specifically, SR can create an ordered
critical traffic using classic solutions for traffic protection, segment list to represent an ordered list of service function,
such as sending redundant information over disjoint paths. encode this information in a packet header, and steer the
In optical network, traffic protection is provided using two packet along a specific path so that the packet receives the
techniques 1:1 and 1+1, where two disjoint paths are used required service function treatment in the specified order [18].
between the communication nodes in both techniques. The An illustration of SFC realization using SR is depicted in
first technique, 1:1, the traffic is sent over the primary path Figure 15. In a cloud networking environment, application
and upon failure it is switched to the pre-reserved secondary endpoints are user devices and virtual machines which can be
path. With 1+1 protection scheme, the traffic traverses both hosted in geographically dispersed locations. SDN combined
disjoint paths and the destination switches to the secondary with SR promises to make deployment of dynamic SFC a real-
path upon the failure of the primary one. The aforementioned ity through network automation, programmability, and agility
techniques are rarely used in TCP/IP networks, as TCP relies capabilities. Consequently, virtual service functions can be
on acknowledgments and retransmission of the lost data for interconnected at a large scale using virtual connections which
recovery. Aubry et al. [71] have proposed a protection solution can be set up and torn down on demand by provisioning SFC
in IPv6, where 1+1 technique is applied on end to end paths. through SDN orchestration. This enables network operators
Their proposed solution starts with duplicating the traffic at with existing distributed network infrastructure and hosting
the ingress node toward a given destination. The ingress node centers to offer compelling on demand and elastic end-to-end
inserts different SR headers in the packets so that it can be services. In a cloud based environment, each application can
steered towards the same destination using disjoint paths. A generate a large number of low bandwidth flows (i.e., termed
special algorithm is used to calculate the link and node dis- as MicroFlows). Each MicroFlow may require traversing dif-
joint paths, where the resulting paths are implemented as a ferent set of service function chains. It is not desirable to map
sequence of segments and are called ‘Segmentable Disjoint an individual MicroFlow to a separate SR path as this does not
Paths’. After paths computations, the router knows in advance scale. Therefore, one of the challenges is dynamically steer-
which SR header to use for any desired destination. The algo- ing multiple MicroFlows with the same set of service functions
rithm is implemented either in a centralized controller or in onto a single SR path at the network edge at a MicroFlow level
a distributed manner in the router itself. In general, traffic granularity. Paolucci et al. [75] have extended BGP FlowSpec
duplication should be used in low-volume and delay sensi- to support MicroFlow chaining using SR in a multi-layer
tive operations due to high cost associated with extra capacity network setting. Using the proposed approach, when a new
required in the network. Instead of sending all the packets that flow request arrives, the Flow Computation Module (FCM)
belong to a given flow over a single path, the disjoint paths in identifies one or more established SR paths for steering the
SR have been exploited for traffic dispersion [72] to counter flow. In the event the new Flow cannot be served using one
pervasive traffic monitoring. of the existing SR paths (e.g., due to insufficient bandwidth),
setting up a new SR path is initiated at the PCE. The use of
SR to support SFC in Network Function Virtualization (NFV)
D. Service Function Chaining (SFC) scenario has been reported in [76]. In summary, SFC technol-
A network service refers to an end-to-end offering that ogy facilitates the deployment of dynamically created virtual
an operator delivers by using one or more service functions. services that are supported by NFV model, which are gaining
A service function performs a specific treatment on packet high acceptance in the industry [77].
that it receives. The end-to-end service delivery of service
may require one or more service functions. A non-exhaustive
examples of service functions include firewalls, WAN and E. SR Based Network Monitoring
application acceleration, Deep Packet Inspection (DPI), server Remote network monitoring devices send special pack-
load balancing. In networks, different services are provided ets called probes to monitor a network. On-demand and
by a number of independent operators that are implemented proactive monitoring of network data plane paths is crucial
using appliances. These appliances are frequently updated, for rapid fault detection, localization, and service validation.
replaced or migrated to ensure users satisfaction. However, the Network operators extensively employ multipath schemes such
tight integration of appliances with the network devices intro- as ECMP and Link Aggregation Group (LAG) in order to
duces a management and maintenance overhead. To address scale capacity of their networks [78]. While multipath schemes
these issues, an approach known as Service Function Chaining enhance network scalability and availability, they pose fol-
(SFC) is proposed [73], [74]. SFC refers to an ordered lowing challenges for network monitoring. First, it is hard to
sequence of abstract service functions and ordering con- monitor parallel links (or paths) at per link (or per path) gran-
straints that must be applied to packets flows selected as a ularity. This is because with ECMP different packets of a flow
result of classification. SFC decouples the constraint associated can be forwarded on different paths depending on results of
with physical topology based service function, by realizing a hashing flow-related fields in the packet header. Furthermore,

Authorized licensed use limited to: CHONNAM NATIONAL UNIVERSITY. Downloaded on April 01,2020 at 09:39:45 UTC from IEEE Xplore. Restrictions apply.
ABDULLAH et al.: SR IN SDN: SURVEY 481

Fig. 15. An illustration of SFC realization using SR.

as different hashing techniques could be employed by each the specified limit of maximum number of segments. SCMon
node along the path, it becomes difficult to reproduce and performs the detection and localization of links failures or
localize a failure in a consistent manner. Some probes might congestion by tracking the cycles in which the probes are
fail while others might succeed. Second, traditional network sent and not received by the monitoring system. The study
monitoring tools are not scalable (e.g., typically require send- in [79] showed that the SCMon scheme effectively monitors
ing/receiving and synchronizing probes on multiple paths from the network containing multipaths and can pinpoint failure
multiple vantage points) and unable to steer probes along an locations rapidly (in order of few milliseconds).
explicit path. While it is possible to utilize RSVP-TE tun-
nels to steer probes along specific paths, it is not scalable
option as this would require keeping large amount of state F. SR in Large Scale Data Centers
information in the network. SR is well suited for network A data center refers to a facility that houses large scale hard-
monitoring as it allows steering of packets along pre-defianed ware equipment to provide computer, storage, and networking
paths which enables a centralized monitoring system to per- resources. Large scale data center networks typically deploy
form a continuity check along all Label Switched Paths of multi-rooted CLOS topologies with a large number of par-
the SR domain [26]. Aubry et al. [79] have proposed a new allel paths to provide high bandwidth, low latency, and
monitoring scheme called SCMon which relies on SR. SCMon non-blocking server-to-server connectivity. The data center
discovers network topology containing all nodes and links in networks utilize shortest-path routing with ECMP to load-
the network. It runs specific algorithms that compute the mon- balance traffic among parallel paths where every network
itoring cycles and the monitoring topologies that span all the device maps packets to one of its outgoing parallel paths
existing links. Each cycle is represented as a segment list. by applying a hash function on selected fields in the packet
The cycles are selected such that each cycle length is below header. One of the performance drawbacks of data center

Authorized licensed use limited to: CHONNAM NATIONAL UNIVERSITY. Downloaded on April 01,2020 at 09:39:45 UTC from IEEE Xplore. Restrictions apply.
482 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 21, NO. 1, FIRST QUARTER 2019

network architecture stems from the shortest-path ECMP connectivity to calculate the best feasible paths using prefix of
oblivious routing behavior which is unaware of congestion Adj-SIDs. This implementation provided flexibility and scal-
along a path and can create hotspots in the network. SR with ability while insuring the control over paths constructions
the centralized controller enables proper load balancing traffic to cope with the existing policies. In contrast, a bottom-up
among paths. This helps to avoid the drawbacks associated approach for multi-domain SR architecture is proposed in [83]
with the oblivious ECMP hashing. For instance, if some links to combine existing technologies and domain-specific orches-
or nodes in the data center network start dropping packets due tration. This approach has fulfilled the industry requirements
to a fault, the controller could monitor the network and detect and the standard associations such as NGMN, ITU-T FG
the failed path(s) and program the source node to steer traffic IMT-2020, and IMT-2020(5G). Paolucci et al. [84] have also
away from the failed paths. The data center network design conducted a novel network monitoring system based on the
analysis in [80] shows that application of SR in large scale data multi-domain orchestration. Their work leveraged the SR tech-
centers enables additional benefits including simplification of nique to measure the unidirectional delay statistics on real
the MPLS data plane, reduction of the IP FIB tables, traffic network environments.
engineering of data center outbound traffic on a per flow basis,
without requiring any additional state at intermediate nodes in
the data center network. VI. C HALLENGES AND F UTURE W ORK
SR provides a very flexible architecture and it has been
extensively studied in the industry for a broad set of appli-
G. Multi-Domain SR Networks cations. However, several challenges still remain that opens
SR TE can be applied across multi-domains (i.e., multiple interesting research opportunities for future work.
IGP areas, multiple autonomous systems) by gathering multi- When SR is instantiated over IPv6 data plane (aka SRv6),
domain link-state and TE topology information. The SDN the source route instruction information is encoded as an
controller can collect link-state and TE information from ordered list of 128-bit long IPv6 addresses and contained in
multi-domain networks using BGP-LS and employ the PCE the SRH. The work in [33] has proposed a new SRv6 network
mechanism to compute an end-to-end SR-TE path, as illus- programming model and the associated set of operations to
trated in Figure 16. In a multi-domain scenario, the compu- support various applications. Some of the possible drawbacks
tation of an end-to-end path can be a problem since a single of this approach include potentially large overhead associated
point of path computation may not be aware of the topology with using 128-bit long segment list and the requirement for
information in each domain. This can be addressed by using new forwarding logic and semantics. Most currently deployed
a hierarchical PCE architecture where PCEs are organized in hardware systems may be unable to support without degra-
a parent and a child relationship [81]. A parent PCE main- dation in the forwarding performance. The work in [85] has
tains an abstract view of domain topology map in which child proposed an MPLS-based unified source routing instructions
PCEs are represented as vertices in the topology and their approach for realizing SR for both IPv4 and IPv6 data planes
interconnections represented as links in the topology. To meet leveraging the existing hardware systems. An interesting area
the confidentiality and scalability objectives, the parent PCE of future research could be to study trade-offs between the
avoids the need to know information details (e.g., resource two approaches in terms of their cost, scalability, and appli-
availability, interconnectivity) within the child domains. In cability in emerging cloud scale applications environment
contrast, a child PCE only knows the topology details of the such as IoT. SDN provides useful features to achieve profi-
domain that it serves. Each child PCE computes a set of can- cient multicasting in order to efficiently offer QoS constraints
didate path segments for its domain and passes the results to emerging Web-based services [86]. SR opens up new exciting
the parent PCE which then derives a multi-domain end-to-end opportunities for scalable and flexible multicast services [87].
path. The work in [88] proposes a framework (termed as in-band
The work in [82] describes application of the SR PCE telemetry) for collecting and reporting network state (e.g.,
for computing end-to-end paths in multi-domain use cases ingress and egress port, queue length, per node latency) by
involving interconnection of massive-scale data center and encoding this information in the packet header without requir-
large aggregation metro networks. The work in [35] demon- ing intervention or processing by the control plane. The work
strates the orchestration of multi-domain SDN using SR. This in [89] provides requirements and numerous potential use
work proposed a hierarchal control plane architectures for cases for in-band OAM. When SFCs are deployed without a
multi-domain SR networks. Additionally, it provides a method- proof-of-transit mechanism, they are operated in the fail-open
ology to exchange SID information in multi-domain scenarios. system (i.e., packets at the end of the chain are processed
The hierarchal architecture enables the orchestrator to com- under the assumption that it traversed the required service
pute end-to-end SR-TE paths by using available resources and functions while in reality it may not have). The addition of
existing policies of each domain. The orchestrator maintains proof of transit capabilities (i.e., proof that a packet indeed
an abstract view of the unified topology and resource avail- traversed a specific set of SFCs) allows an operator to deploy
ability based on only SIDs to ensure the confidentiality of SFCs in a more secured manner as a fail-close system and
intra-domain topology related information. After capturing the block any packets without a valid proof of transit. This helps
topologies of all domains, the orchestrator runs specific algo- to reduce the risk of anomalous or malicious traffic passing
rithms to determine the border nodes and the intra-domain undetected. Another area of future research could be to study

Authorized licensed use limited to: CHONNAM NATIONAL UNIVERSITY. Downloaded on April 01,2020 at 09:39:45 UTC from IEEE Xplore. Restrictions apply.
ABDULLAH et al.: SR IN SDN: SURVEY 483

Fig. 16. An illustration of end-to-end SR Deployment in intra and inter-DC use cases.

SR architecture extensions for in-band telemetry to enable The optimization approaches in the networks are yet to be
proof-of-transit capabilities for SFC applications. studied in centralized vs. distributed manner especially in SR
An interesting future direction worth exploring is the literature. There are also some challenges related to security
network monitoring in SR, where the length of monitoring in SFC which leaves it vulnerable for attackers, especially
cycles must be adequately chosen such that the resulting cycles by the distributed Denial of Service Attacks. Additionally,
are of appropriate number and length. Several works have the reliability and availability in SFC is mandatory since the
tackled this open issue but some aspects are still not consid- dynamic addition or removal of services must be performed
ered. The bounded cycles problem is an NP-complete problem without interrupting other services. Furthermore, SFC plays a
that was addressed in details in [90] and [91]. This creates major role in the deployment of IoT [77], where it should pro-
an opportunity to develop better heuristic approaches which vide interoperability among the large number of communicated
can consider tradeoff between the solution quality and run- heterogeneous sensory devices in IoT paradigm.
ning time. The authors have shown that the number of the
cycles in the network grows exponentially as a function of
the allowed cycle length and the number of existing nodes. VII. C ONCLUSION
Therefore, network-partitioning techniques [92] are essential The phenomenal growth of Internet traffic and emerg-
to create smaller zones in large-sized networks, so that the ing applications demand high capacity and high performance
required cycles number and length are minimized. The work networks, which poses new challenges regarding network man-
in [93] introduces a novel scheme for partitioning the network ageability and scalability. To respond to these challenges and
into several management areas and monitors each partition replace (or complement) the current inefficient destination
separately. based routing schemes, an emergent and highly flexible SR
It could also be very useful to explore architectural exten- paradigm was introduced by the IETF. SR solves the network
sions of SR beyond IP/MPLS networks to transport SDN challenges by steering along performance engineered paths
networks including optical transport network (OTN) and dense represented as an ordered list of instructions called segment
wavelength division multiplexing (DWDM)/reconfigurable list and encoded as a MPLS label stack or an IPv6 address
optical add-drop multiplexer (ROADM) layers [94], [95]. In list in the packet header. SR maintains per-flow state only
particular, an interesting direction for further exploration could at the ingress node, where segment list is applied. The seg-
be to study SR extensions to a multi-layer SDN environment ment list has sufficient information to steer the packets from
to yield an overall cost efficient (i.e., reduced network infras- the ingress node to the egress node of the path. Therefore,
tructure cost, improved network efficiency) network solution. SR eliminates the need of keeping per flow state information

Authorized licensed use limited to: CHONNAM NATIONAL UNIVERSITY. Downloaded on April 01,2020 at 09:39:45 UTC from IEEE Xplore. Restrictions apply.
484 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 21, NO. 1, FIRST QUARTER 2019

on every node along the path; this greatly improves network [10] H. Gredler, J. Medved, S. Previdi, A. Farrel, and S. Ray, “North-
scalability by reducing the flow table size stored in TCAM. bound distribution of link-state and traffic engineering (TE) information
using BGP,” Internet Eng. Task Force, Fremont, CA, USA, Rep. 7752,
SR obviates the need for any additional signaling protocol 2016.
(e.g., LDP and RSVP-TE), simplifying the control plane. SR [11] J. Le Roux, “Path computation element (PCE) communication protocol
allows service provider to reduce overall network cost through (PCEP),” IETF, Fremont, CA, USA, RFC 5440, 2009.
[12] C.-Y. Hong et al., “Achieving high utilization with software-driven
improved capacity planning (e.g., by ensuring that most of WAN,” ACM SIGCOMM Comput. Commun. Rev., vol. 43, no. 4,
traffic rides on node segments is routed on the ECMP-based pp. 15–26, 2013.
shortest path) and traffic engineering (e.g., by steering minor- [13] S. Jain et al., “B4: Experience with a globally-deployed software
ity of traffic along explicit paths while still benefiting from defined WAN,” ACM SIGCOMM Comput. Commun. Rev., vol. 43, no. 4,
pp. 3–14, 2013.
the ECMP-awareness provided by the node segments in the [14] A. R. Curtis et al., “DevoFlow: Scaling flow management for high-
segment list). SR enables network resiliency (e.g., path and performance networks,” ACM SIGCOMM Comput. Commun. Rev.,
local protection) and helps avoid forwarding loops during the vol. 41, no. 4, pp. 254–265, 2011.
[15] A. S. Iyer, V. Mann, and N. R. Samineni, “SwitchReduce: Reducing
IGP re-convergence process after a network topology change switch state and controller involvement in OpenFlow networks,”
event (e.g., a link down/up event) [96]. in Proc. IEEE IFIP Netw. Conf., Brooklyn, NY, USA, 2013,
Since SR is an important and growing area of research, pp. 1–9.
[16] Spring-Open—An ONF Tag Project. Accessed: Feb. 2018. [Online].
in this work, we presented a comprehensive survey that cov- Available: https://wiki.onosproject.org/display/ONOS/Project+
ers the SR architecture, operation, as well as how it copes Description
with the existing network architectures to date. We started [17] C. Filsfils, N. K. Nainar, C. Pignataro, J. C. Cardona, and P. Francois,
with an overview of the basic concepts and unique features of “The segment routing architecture,” in Proc. IEEE Glob. Commun. Conf.
(GLOBECOM), San Diego, CA, USA, 2015, pp. 1–6.
SR architecture. Then, we examined the techniques to effec- [18] C. Filsfils et al., “Segment routing architecture,” IETF Netw. Work.
tively construct the label stacks that represent the explicit paths Group draft-ietf-springsegment-routing-09, Internet Eng. Task Force,
in SR. Next, we looked into a broad set of SR applications Fremont, CA, USA, 2016.
[19] C. Filsfils et al., “Segment routing with MPLS data plane,” IETF Spring
including TE techniques, restoration from failures, traffic pro- Working Group draft-ietf-spring-segment-routing-mpls-00, Internet Eng.
tection, service function chaining, network monitoring, data Task Force, Fremont, CA, USA, 2014.
centers and service provider networks. For these applications, [20] C. Filsfils et al., “IPv6 segment routing header (SRH),” IETF Spring
Working Group draft-ietf-6man-segment-routing-header-05, Internet
SR showed better performance as compared with the tradi- Eng. Task Force, Fremont, CA, USA, 2017.
tional routing schemes with respect to performance metrics [21] C. Filsfils et al., “OSPF extensions for segment routing,” IETF Spring
such as link utilization, network resiliency, energy consump- Working Group draft-ietf-ospf-segment-routing-extensions-10, Internet
tion, and end-to-end delay. Finally, we discussed compelling Eng. Task Force, Fremont, CA, USA, 2016.
[22] S. Previdi et al., “IS-IS extensions for segment routing,” IETF Spring
research challenges and open issues that could make the best Working Group draft ietf-isis-segment-routing-extensions-05, Internet
use of an innovative SR paradigm. Eng. Task Force, Fremont, CA, USA, 2016.
[23] P. Psenak et al., “OSPFv3 extensions for segment routing,” IETF Spring
Working Group draft-ietf-ospf-ospfv3-segment-routing-extensions-07,
ACKNOWLEDGMENT Internet Eng. Task Force, Fremont, CA, USA, 2016.
[24] S. Sivabalan et al., “PCEP extensions for segment routing,” IETF Spring
The authors would like to thank the anonymous reviewers Working Group draft-ietf-pce-segment-routing-08, Internet Eng. Task
for their invaluable and thoughtful comments which definitely Force, Fremont, CA, USA, 2016.
improved overall quality of the manuscript. [25] C. Filsfils, S. Previdi, B. Decraene, and R. Shakir, “Resiliency use cases
in SPRING networks,” IETF Spring Working Group draft-ietf-spring-
resiliency-use-cases-08, Internet Eng. Task Force, Fremont, CA, USA,
2016.
R EFERENCES [26] R. Geib, C. Filsfils, C. Pignataro, and N. Kumar, “A scalable and
[1] M. Al-Fares, A. Loukissas, and A. Vahdat, “A scalable, commodity data topology-aware MPLS dataplane monitoring system,” IETF Spring
center network architecture,” ACM SIGCOMM Comput. Commun. Rev., Working Group draft-ietf-spring-oam-usecase-05, Internet Eng. Task
vol. 38, no. 4, pp. 63–74, 2008. Force, Fremont, CA, USA, 2017.
[2] Open Networking Foundation. Accessed: Dec. 2016. [Online]. Available: [27] N. Kumar et al., “Label switched path (LSP) ping/trace for segment
https://www.opennetworking.org routing networks using MPLS dataplane,” IETF Spring Working Group
[3] D. Kreutz et al., “Software-defined networking: A comprehensive draft-ietf-mpls-spring-lsp-ping-02, Internet Eng. Task Force, Fremont,
survey,” Proc. IEEE, vol. 103, no. 1, pp. 14–76, Jan. 2015. CA, USA, 2016.
[4] W. Xia, Y. Wen, C. H. Foh, D. Niyato, and H. Xie, “A survey on [28] J. Brzozowski, J. Leddy, C. Filsfils, R. Maglione, and W. Townsley,
software-defined networking,” IEEE Commun. Surveys Tuts., vol. 17, “IPv6 SPRING use cases,” IETF Spring Working Group draft-ietf-
no. 1, pp. 27–51, 1st Quart., 2015. spring-ipv6-use-cases-09, Internet Eng. Task Force, Fremont, CA, USA,
[5] C. Trois, M. D. Del Fabro, L. C. de Bona, and M. Martinello, “A survey 2017.
on SDN programming languages: Toward a taxonomy,” IEEE Commun. [29] A. Kos, “Segment routing principles and applications for SDN,”
Surveys Tuts., vol. 18, no. 4, pp. 2687–2712, 4th Quart., 2016. M.S. thesis, Dipartimento di Elettronica, Informazione e Bioingegneria,
[6] M. F. Tuysuz, Z. K. Ankarali, and D. Gözüpek, “A survey on energy Politecnico Di Milano, Milan, Italy, 2016.
efficiency in software defined networks,” Comput. Netw., vol. 113, [30] Segment Routing Tutorials Available. Accessed: Sep. 2017. [Online].
pp. 188–204, Feb. 2017. Available: http://www.segment-routing.net/tutorials/
[7] W. Li, W. Meng, and L. F. Kwok, “A survey on OpenFlow-based [31] C. Filsfils, K. Michielsen, and K. Talaulikar, Segment Routing Part I.
software defined networks: Security challenges and countermeasures,” Scotts Valley, CA, USA: Create Space Independ. Publ. Platform, 2017.
J. Netw. Comput. Appl., vol. 68, pp. 126–139, Jun. 2016. [32] A. Farrel and R. Bonica, “Segment routing: Cutting through the hype
[8] OpenDaylight: Open Source SDN Platform. Accessed: Dec. 2016. and finding the IETF’s innovative nugget of gold,” IETF J., vol. 13,
[Online]. Available: https://www.opendaylight.org no. 1, pp. 5–9, Jul. 2017.
[9] R. Enns, M. Bjorklund, J. Schoenwaelder, and A. Bierman, “Network [33] C. Filsfils, “SRv6 network programming,” IETF Spring Working Group
configuration protocol (NETCONF),” IETF, Fremont, CA, USA, RFC draft-filsfils-spring-srv6-network-programming-00, Internet Eng. Task
6241, 2011. Force, Fremont, CA, USA, 2017.

Authorized licensed use limited to: CHONNAM NATIONAL UNIVERSITY. Downloaded on April 01,2020 at 09:39:45 UTC from IEEE Xplore. Restrictions apply.
ABDULLAH et al.: SR IN SDN: SURVEY 485

[34] A. Giorgetti, A. Sgambelluri, F. Paolucci, and P. Castoldi, “Reliable [58] G. Trimponias, Y. Xiao, H. Xu, X. Wu, and Y. Geng. (2017). On Traffic
segment routing,” in Proc. 7th IEEE Int. Workshop Rel. Netw. Design Engineering With Segment Routing in SDN Based WANs. [Online].
Model. (RNDM), Munich, Germany, 2015, pp. 181–185. Available: https://arxiv.org/abs/1703.05907
[35] N. Kukreja et al., “Demonstration of SDN-based orchestration for multi- [59] S. Gay, R. Hartert, and S. Vissicchio, “Expect the unexpected: Sub-
domain segment routing networks,” in Proc. 18th IEEE Int. Conf. second optimization for segment routing,” in Proc. IEEE Conf. Comput.
Transp. Opt. Netw. (ICTON), Trento, Italy, 2016, pp. 1–4. Commun. (INFOCOM), Atlanta, GA, USA, May 2017, pp. 1–9.
[36] L. Luo, H. Yu, S. Luo, M. Zhang, and S. Yu, “Achieving fast and [60] S. Salsano, L. Veltri, L. Davoli, P. L. Ventre, and G. Siracusano.
lightweight SDN updates with segment routing,” in Proc. IEEE Glob. (2015). PMSR—Poor Man’s Segment Routing, A Minimalistic Approach
Commun. Conf. (GLOBECOM), Washington, DC, USA, 2016, pp. 1–6. to Segment Routing and A Traffic Engineering Use Case. [Online].
[37] S. Bidkar et al., “Field trial of a software defined network (SDN) using Available: https://arxiv.org/ftp/arxiv/papers/1512/1512.05281.pdf
carrier Ethernet and segment routing in a tier-1 provider,” in Proc. IEEE [61] B. Addis, A. Capone, G. Carello, L. G. Gianoli, and B. Sansò.
Glob. Commun. Conf., Austin, TX, USA, 2014, pp. 2166–2172. (2015). Energy Management in Communication Networks: A Journey
[38] D. Cai, A. Wielosz, and S. Wei, “Evolve carrier Ethernet architec- Through Modelling and Optimization Glasses. [Online]. Available:
ture with SDN and segment routing,” in Proc. 15th IEEE Int. Symp. https://arxiv.org/pdf/1507.02636.pdf
World Wireless Mobile Multimedia Netw. (WoWMoM), Sydney, NSW, [62] R. Carpa, O. Glück, and L. Lefevre, “Segment routing based traffic
Australia, 2014, pp. 1–6. engineering for energy efficient backbone networks,” in Proc. IEEE Int.
[39] A. Sajassi et al., “BGP MPLS-based Ethernet VPN,” Internet Eng. Task Conf. Adv. Netw. Telecommun. Syst. (ANTS), New Delhi, India, 2014,
Force, Fremont, CA, USA, Rep. 7432, Feb. 2015. pp. 1–6.
[40] S. Bidkar, A. Gumaste, and A. Somani, “A scalable framework for seg- [63] R. Carpa, O. Gluck, L. Lefevre, and J.-C. Mignot, “Improving the
ment routing in service provider networks: The omnipresent Ethernet energy efficiency of software-defined backbone networks,” Photon.
approach,” in Proc. IEEE 15th Int. Conf. High Perform. Switching Netw. Commun., vol. 30, no. 3, pp. 337–347, 2015.
Routing (HPSR), Vancouver, BC, Canada, 2014, pp. 76–83. [64] M. D. de Assunção, R. Carpa, L. Lefèvre, and O. Glück, “On design-
[41] A. Sgambelluri, F. Paolucci, A. Giorgetti, F. Cugini, and P. Castoldi, ing SDN services for energy-aware traffic engineering,” in Testbeds
“Experimental demonstration of segment routing,” J. Lightw. Technol., and Research Infrastructures for the Development of Networks and
vol. 34, no. 1, pp. 205–212, Jan. 1, 2016. Communities. Cham, Switzerland: Springer, 2016, pp. 14–23.
[42] R. Wójcik et al., “A survey on methods to provide interdomain [65] L. Davoli, L. Veltri, P. L. Ventre, G. Siracusano, and S. Salsano, “Traffic
multipath transmissions,” Comput. Netw., vol. 108, pp. 233–259, engineering with segment routing: SDN-based architectural design and
Oct. 2016. open source implementation,” in Proc. 4th IEEE Eur. Workshop Softw.
[43] C. Filsfils, S. Previdi, E. Aries, and D. Afanasieve, “Segment rout- Defined Netw., Bilbao, Spain, 2015, pp. 111–112.
ing centralized BGP egress peer engineering,” IETF Spring Working [66] C. Thaenchaikun, G. Jakllari, B. Paillassa, and W. Panichpattanakul,
Group draft-ietf-spring-segment-routing-central-epe-05, Internet Eng. “Mitigate the load sharing of segment routing for SDN green traffic
Task Force, Fremont, CA, USA, 2017. engineering,” in Proc. IEEE Int. Symp. Intell. Signal Process. Commun.
[44] D. Lebrun, S. Previdi, C. Filsfils, and O. Bonaventure. (2016). Design Syst. (ISPACS), 2016, pp. 1–6.
and Implementation of IPv6 Segment Routing. [Online]. Available: [67] M.-C. Lee and J.-P. Sheu, “An efficient routing algorithm based on seg-
http://www.segment-routing.org ment routing in software-defined networking,” Comput. Netw., vol. 103,
[45] D. Lebrun, “A Linux kernel implementation of segment rout- pp. 44–55, Jul. 2016.
ing with IPv6,” in Proc. IEEE Conf. Comput. Commun. [68] F. Hao, M. Kodialam, and T. Lakshman, “Optimizing restoration with
Workshops (INFOCOM WKSHPS), San Francisco, CA, USA, 2016, segment routing,” in Proc. 35th Annu. IEEE Int. Conf. Comput. Commun.
pp. 1019–1020. (IEEE INFOCOM), San Francisco, CA, USA, 2016, pp. 1–9.
[46] S. Previdi et al., “Source packet routing in networking (SPRING) [69] A. Giorgetti, A. Sgambelluri, F. Paolucci, F. Cugini, and P. Castoldi,
problem statement and requirements,” IETF, RFC 7855, 2016. “Demonstration of dynamic restoration in segment routing multi-layer
[47] C. Villamizar, L. Yong, D. McDysan, A. Malis, and S. Ning, SDN networks,” in Proc. Opt. Fiber Commun. Conf., 2016, pp. 1–3.
“Requirements for advanced multipath in MPLS networks,” IETF, [70] A. Giorgetti, A. Sgambelluri, F. Paolucci, F. Cugini, and P. Castoldi,
Fremont, CA, USA, RFC 7226, 2014. “Segment routing for effective recovery and multi-domain traffic
[48] F. Lazzeri, G. Bruno, J. Nijhof, A. Giorgetti, and P. Castoldi, “Efficient engineering,” IEEE/OSA J. Opt. Commun. Netw., vol. 9, no. 2,
label encoding in segment-routing enabled optical networks,” in Proc. pp. A223–A232, Feb. 2017.
IEEE Int. Conf. Opt. Netw. Design Model. (ONDM), Pisa, Italy, 2015, [71] F. Aubry, D. Lebrun, Y. Deville, and O. Bonaventure, “Traffic dupli-
pp. 34–38. cation through segmentable disjoint paths,” in Proc. IFIP Netw. Conf.
[49] A. Cianfrani, M. Listanti, and M. Polverini, “Translating traffic engi- (IFIP Networking), Toulouse, France, 2015, pp. 1–9.
neering outcome into segment routing paths: The encoding problem,” in [72] F. Aubry, Y. Lebrun, Y. Deville, and O. Bonaventure. Accessed:
Proc. IEEE Conf. Comput. Commun. Workshops (INFOCOM WKSHPS), Sep. 2017. Traffic Dispersion Through Segmentable Disjoint Paths.
San Francisco, CA, USA, 2016, pp. 245–250. [Online]. Available: https://www.info.ucl.ac.be/yde/Papers/ifip2015.pdf
[50] R. Guedrez, O. Dugeon, S. Lahoud, and G. Texier, “Label encoding [73] J. Halpern and C. Pignataro, “Service function chaining (SFC) archi-
algorithm for MPLS segment routing,” in Proc. 15th IEEE Int. Symp. tecture,” Internet Eng. Task Force, Fremont, CA, USA, Rep. 7665,
Netw. Comput. Appl. (NCA), Cambridge, MA, USA, 2016, pp. 113–117. 2015.
[51] A. Giorgetti et al., “Path encoding in segment routing,” in Proc. IEEE [74] N. Houtain and T. Gerondal. (2016). Service Function
Glob. Commun. Conf. (GLOBECOM), San Diego, CA, USA, 2015, Chaining With Segment Routing. [Online]. Available:
pp. 1–6. http://hdl.handle.net/2078.1/thesis:4621
[52] C. Filsfils et al., “Segment routing policy for traffic engineer- [75] F. Paolucci, A. Giorgetti, F. Cugini, and P. Castoldi, “Service chain-
ing,” IETF Spring Working Group draft-filsfils-spring-segment-routing- ing in multi-layer networks using segment routing and extended BGP
policy-00.txt, Internet Eng. Task Force, Fremont, CA, USA, 2017. FlowSpec,” in Proc. Opt. Fiber Commun. Conf., Los Angeles, CA, USA,
[53] E. Moreno, A. Beghelli, and F. Cugini, “Traffic engineering in segment 2017, pp. 1–3.
routing networks,” Comput. Netw., vol. 114, pp. 23–31, Feb. 2017. [76] A. AbdelSalam et al. (2017). Implementation of Virtual Network
[54] A. Mendiola, J. Astorga, E. Jacob, and M. Higuero, “A survey on Function Chaining Through Segment Routing in A Linux-Based NFV
the contributions of software-defined networking to traffic engineering,” Infrastructure. [Online]. Available: https://arxiv.org/pdf/1702.05157.pdf
IEEE Commun. Surveys Tuts., vol. 19, no. 2, pp. 918–953, 2nd Quart., [77] D. Bhamare, R. Jain, M. Samaka, and A. Erbad, “A survey on ser-
2017. vice function chaining,” J. Netw. Comput. Appl., vol. 75, pp. 138–155,
[55] R. Bhatia, F. Hao, M. Kodialam, and T. V. Lakshman, “Optimized Nov. 2016.
network traffic engineering using segment routing,” in Proc. IEEE Conf. [78] R. Krishnan, L. Yong, A. Ghanwani, N. So, and B. Khasnabish,
Comput. Commun. (INFOCOM), 2015, pp. 657–665. “Mechanisms for optimizing link aggregation group (LAG) and equal-
[56] R. Hartert et al., “A declarative and expressive approach to control for- cost multipath (ECMP) component link utilization in networks,” Internet
warding paths in carrier-grade networks,” ACM SIGCOMM Comput. Eng. Task Force, Fremont, CA, USA, Rep. 7424, Jan. 2015.
Commun. Rev., vol. 45, no. 4, pp. 15–28, 2015. [79] F. Aubry et al., “SCMon: Leveraging segment routing to improve
[57] R. Hartert, P. Schaus, S. Vissicchio, and O. Bonaventure, “Solving network monitoring,” in Proc. IEEE INFOCOM, San Francisco, CA,
segment routing problems with hybrid constraint programming tech- USA, 2016, pp. 1–9.
niques,” in Proc. Int. Conf. Principles Pract. Constraint Program., 2015, [80] C. Filsfils et al., “BGP-prefix segment in large-scale data centers,”
pp. 592–608. Network Working Group/Internet-Draft, 2017.

Authorized licensed use limited to: CHONNAM NATIONAL UNIVERSITY. Downloaded on April 01,2020 at 09:39:45 UTC from IEEE Xplore. Restrictions apply.
486 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 21, NO. 1, FIRST QUARTER 2019

[81] D. King and A. Farrel, “The application of the path computation element Zahraa N. Abdullah received the B.Sc. degree
architecture to the determination of a sequence of domains in MPLS and in computer engineering from Kuwait University
GMPLS,” IETF, Fremont, CA, USA, RFC 6805, 2012. in 2013, where she is currently pursuing the mas-
[82] C. Filsfils et al., “Interconnecting millions of endpoints with segment ter’s degree in computer engineering. Since 2014,
routing,” IETF Spring Working Group draft-filsfils-spring-large-scale- she has been a System Analyst with the Corporate
interconnect-05, Internet Eng. Task Force, Fremont, CA, USA, 2017. Application Division, Kuwait National Petroleum
[83] R. Guerzoni et al., “Multi-domain orchestration and management of Company. Her research interests include computer
software defined infrastructures: A bottom-up approach,” in Proc. IEEE networks and software defined networks.
Eur. Conf. Netw. Commun., 2016, pp. 1–6.
[84] F. Paolucci et al., “Interoperable multi-domain delay-aware provision-
ing using segment routing monitoring and BGP-LS advertisement,”
in Proc. 42nd Eur. Conf. Opt. Commun., Düsseldorf, Germany, 2016,
pp. 1–3.
[85] X. Xu et al., “Unified source routing instruction using MPLS label
stack,” IETF MPLS Working Group draft-xu-mpls-unified-source-
routing-instruction-00, Internet Eng. Task Force, Fremont, CA, USA,
2017. Imtiaz Ahmad received the B.Sc. degree in electri-
[86] Z. AlSaeed, I. Ahmad, and I. Hussain, “Multicasting in software defined cal engineering from the University of Engineering
networks: A comprehensive survey,” J. Netw. Comput. Appl., vol. 104, and Technology, Lahore, Pakistan, in 1984, the
pp. 61–77, Feb. 2018. M.Sc. degree in electrical engineering from the
[87] J.-P. Sheu and Y.-C. Chen, “A scalable and bandwidth-efficient multicast King Fahd University of Petroleum and Minerals,
algorithm based on segment routing in software-defined networking,” in Dhahran, Saudi Arabia, in 1988, and the Ph.D.
Proc. IEEE Int. Conf. Commun. (ICC), Paris, France, 2017, pp. 1–6. degree in computer engineering from Syracuse
[88] C. Kim et al., “In-band network telemetry (INT),” Rep., 2015. [Online]. University, Syracuse, New York, in 1992. Since
Available: http://p4.org/wpcontent/uploads/fixed/INT/INT-current-spec. 1992, he has been with the Department of Electrical
pdf and Computer Engineering, Kuwait University,
[89] F. Brockners et al., “Requirements for in-situ OAM,” IETF Network Kuwait, where he is currently a Professor. His
Working Group draft-brockners-inband-oam-requirements-03, Internet research interests include design automation of digital systems, high-level
Eng. Task Force, Fremont, CA, USA, 2017. synthesis, and parallel and distributed computing.
[90] E. Amaldi, B. Fortz, and C. Iuliano, “On finding a minimum weight
cycle basis with cycles of bounded length,” in Proc. CTW, 2010, pp. 5–8.
[91] D. S. Hochbaum and E. V. Olinick, “The bounded cycle-cover problem,”
INFORMS J. Comput., vol. 13, no. 2, pp. 104–119, 2001.
[92] X. Li, P. Djukic, and H. Zhang, “Zoning for hierarchical network
optimization in software defined networks,” in Proc. IEEE Netw. Oper.
Manag. Symp. (NOMS), Kraków, Poland, 2014, pp. 1–8.
[93] N. Ogino, T. Kitahara, S. Arakawa, G. Hasegawa, and M. Murata,
“Decentralized Boolean network tomography based on network par-
titioning,” in Proc. IEEE/IFIP Netw. Oper. Manag. Symp. (NOMS), Iftekhar Hussain received the B.Sc. degree
Istanbul, Turkey, 2016, pp. 162–170. in electrical engineering from the University of
[94] J. Blendin et al., “Enabling efficient multi-layer repair in elastic opti- Engineering and Technology, Lahore, Pakistan, the
cal networks by gradually superimposing SDN,” in Proc. 12th IEEE M.S. degree in electrical and computer engineering
Int. Conf. Netw. Service Manag. (CNSM), Montreal, QC, Canada, 2016, from the University of Tennessee, Knoxville, TN,
pp. 118–126. USA, and the Ph.D. degree in electrical and com-
[95] M. Anand, R. Subrahmaniam, S. Roy, and R. Valiveti, “Extending seg- puter engineering from the University of California,
ment routing into optical networks,” in Proc. Opt. Fiber Commun. Conf., Davis, CA, USA. He is currently a Senior Principal
Los Angeles, CA, USA, 2017, pp. 1–3. Software Architect with Infinera Corporation, where
[96] P. Francois, C. Filsfils, A. Bashandy, and S. Litkowski, “Loop avoidance he is involved in design of IP/MPLS control and data
using segment routing,” IETF Spring Working Group draft-francois- plane system architecture of high-capacity packet
rtgwg-segment-routing-uloop-01, Internet Eng. Task Force, Fremont, switching systems for data center and core network applications. His research
CA, USA, 2016. interests include routing, switching, computer vision, and machine learning.

Authorized licensed use limited to: CHONNAM NATIONAL UNIVERSITY. Downloaded on April 01,2020 at 09:39:45 UTC from IEEE Xplore. Restrictions apply.

You might also like