• No results found

On Service Chaining and Segment Routing

N/A
N/A
Protected

Academic year: 2021

Share "On Service Chaining and Segment Routing"

Copied!
76
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

Bachelor Informatica

On Service Chaining and

Segment Routing

Blaser, Johannes

8th June 2018

Supervisor(s): Dr. Grosso, Paola

Inf

orma

tica

Universiteit

v

an

Ams

terd

am

(2)
(3)

Abstract

Segment routing is a modern incarnation of the source routing paradigm. In addition to defining the destination of a packet the path can also be defined through a list of segments. This gives great traffic engineering capabilities and packets can be manipulated so that they adhere to a specific requirement.

The segments can also represent network functions and local instructions which are applied to the packets. When chained together these functions allow for a complex pro-grammable network to be built from simple building blocks through the segment list.

The purpose of this research is to analyse the usability, effectiveness, and drawbacks of using segment routing to implement service chaining. Analytic experiments show segment routing like behaviour only occurs roughly 40% of the time at best under very specific circumstances using destination based routing. The performance impact is found to increase proportionally to the size of the segment list with one segment introducing a roughly 40% path length increase. Ordering the segments optimally negates this impact significantly. A segment list containing five segments shows a 20% path length reduction. Anycast segments – multiple services responding to the same address – allow for similar improvements.

This research concludes by sketching the outlines of a tool used for optimising the imple-mentation of a service chain by using segment routing given a certain topology. This is done based on the information and conclusions drawn from the experiments and their results.

(4)
(5)

Contents

1 Introduction 7

1.1 Research Questions . . . 8

1.2 Research Outline . . . 9

2 Background 11 2.1 Layers and Routing . . . 11

2.2 Destination-Based Routing . . . 11

2.2.1 Addressing . . . 11

2.3 Segment Routing . . . 12

2.3.1 IPv4: Multi-Protocol Label Switching . . . 12

2.4 IPv6: Segment Routing version 6 . . . 13

2.4.1 Optional Type Length Value Objects . . . 14

2.5 Support for Segment Routing . . . 15

2.6 Service Functions . . . 15

2.6.1 SR-Aware Network Functions . . . 15

2.6.2 SR-Unaware Network Functions . . . 15

2.7 Service Chaining . . . 16 2.8 Use Cases . . . 16 2.9 Related Work . . . 17 3 Simulation 19 3.1 Topologies . . . 19 3.1.1 Abstract Topologies . . . 19 3.1.2 Real Topologies . . . 20 3.2 Implementation . . . 22

3.2.1 Random or Topology-Aware Placement . . . 23

3.3 Source Code . . . 23

4 Why Segment Routing? 25 4.1 Description . . . 25

4.1.1 VNF Traversal Probability and Expectations . . . 25

4.2 Specific Set-Up . . . 26 4.3 Results . . . 27 4.3.1 Abstract Topologies . . . 27 4.3.2 Real Topologies . . . 29 4.4 Discussion . . . 31 4.4.1 Caveat . . . 31 4.4.2 Benefit . . . 32

(6)

5 Performance Impact 33

5.1 Description . . . 33

5.1.1 Path Lengths and Expectations . . . 33

5.2 Specific Set-Up . . . 34 5.3 Results . . . 35 5.3.1 Abstract Topologies . . . 35 5.3.2 Real Topologies . . . 38 5.4 Discussion . . . 41 5.4.1 Caveat . . . 42 5.4.2 Benefits . . . 42 6 Service Order 43 6.1 Description . . . 43

6.1.1 Topology Unaware Ingress . . . 43

6.1.2 Segment List Structuring . . . 43

6.1.3 Commutability . . . 44 6.1.4 Random Shuffling . . . 44 6.1.5 Questions . . . 44 6.2 Specific Set-Up . . . 44 6.3 Results . . . 46 6.3.1 Abstract Topologies . . . 46 6.3.2 Real Topologies . . . 48 6.4 Discussion . . . 50 6.4.1 Caveat . . . 50 6.4.2 Benefits . . . 51 7 Anycast-Prefix Segments 53 7.1 Description . . . 53 7.1.1 Anycast-Prefix Segment . . . 53 7.1.2 Performance Improvement . . . 53 7.1.3 Expectations . . . 55 7.2 Specific Set-Up . . . 55 7.3 Results . . . 56 7.3.1 Abstract Topologies . . . 56 7.3.2 Real Topologies . . . 58 7.4 Discussion . . . 60 7.4.1 Benefits . . . 61 8 Overall Discussion 63 8.1 Experiments . . . 63

8.2 Hop Count and other Performance Metrics . . . 64

8.3 Simulations . . . 64

9 Towards a Prediction Tool 67 9.1 IEEE Software Specification . . . 67

9.2 Introduction . . . 68

9.3 Overall Description . . . 69

9.4 Specific Requirements . . . 70

9.5 Summary . . . 72

(7)

CHAPTER 1

Introduction

Computer networks are everywhere. The largest and best-known protocol is the Internet Protocol – IP for short. This protocol is part of a larger stack of protocols that together form functional networks where data can flow from one device to another. These networks grow and develop all the time and one of these recent developments is the focus of this research: segment routing.

The internet protocol itself offers the addressing scheme [19] of the internet protocol stack [13]. The other protocols in the stack determine how the data gets to the destination. Since the internet protocol only specifies the final destination of the data the stack of protocols in essence offers a destination based routing approach.

The intermediate nodes in the network use the final destination and look up which interface corresponds to that address. This information determines the path used. Since this evaluation occurs at each intermediate node the path is traversed and determined in a hop-by-hop fashion. The full path is thus never really defined anywhere but inferred as a consequence of the current state of the network. This allows the packets to be simpler, but leaves limited traffic engineering capabilities.

At the time the internet protocol was introduced [23] the source routing paradigm was also introduced. Source routing not only contained the final destination of the packets but also a list of intermediate nodes the packet ought to traverse along the way. This offered great traffic engineering capabilities as the paths were now defined in full at the source node. Based on load or any other factor packets could be routed so that they adhered to a desired behaviour characteristic. At the time source routing was commonly used to perform troubleshooting on a network.

Outside of traffic engineering capabilities source routing potentially allowed for network func-tions to be applied to the traversing data. By hosting specific services in certain nodes of the network they could be addressed through the list of addresses. Packets of data could thus select-ively be routed through these services. This made the network as a whole programmable and vastly expanded the possibilities.

As with many technologies however ways were found to exploit this behaviour. Address spoofing and amplified Distributed Denial of Service (DDoS) attacks were some of these exploits. The security concerns associated with source routing later led to its deprecation.

These security concerns are addressed and presented alongside a great deal of new function-alities in the new life of source routing: segment routing. Network programmability for example is extended by the inclusion of metadata. Other concepts like anycasts where multiple network nodes respond to the same address are included to spread load and reduce latency. All this together creates a system that promises simple deployment, great scalability, network program-mability, failure protection, and mostly excellent traffic engineering capabilities [4].

Segment routing thus brings source routing into the IPv6 era. It solves the concerns that came with source routing and introduces many new functionalities. Still new and in development at the time of this writing the full scope of segment routing’s possibilities – and potential complications – is not yet fully known, though use-cases seem plentiful. It is clear however the desire for control over data did not disappear with source routing.

(8)

1.1

Research Questions

Segment routing is a very new technology and many fields are yet to be explored. This research takes a high-level analytic approach to segment routing. Through a number of experiments this research aims to figure out whether segment routing indeed offers something new and useful that other routing paradigms could not have offered. Even if segment routing offers something unique, it would be downright unusable if it brought on excessive performance impacts. Whether there is a performance impact and how big it is if there is one is also investigated in this research. If a significant performance impact does exist there are likely also ways of reducing and mitigating the impact at least somewhat.

These topics can be roughly divided into four research question:

• How often does segment traversal occur in destination-based routing paradigms? Segment traversal might occur coincidentally in destination-based routing paradigms. If this occurs often enough or can be made to occur sufficiently often segment routing might not offer a significant advantage. This research question is analysed in chapter 4.

• What is the performance impact – if any – of segment routing? The behaviour segment routing offers could offer a plethora of use-cases but if the performance impact makes the network practically unusable it may not be desirable to use segment routing after all. This question quantifies the performance impact through an experiment presented in chapter 5. • What is the effect of the order of segments in a segment list? The order the segments are traversed in could be quite consequential to the performance of a given service chain. Bouncing data across the entire network multiple times could be quite time-consuming. This question analyses how much the order of the traversed segments matters for path length performance through the experiment presented in chapter 6.

• What is the effect of using anycast-prefix segments in segment routing? The aforementioned anycast segments are one singular address that has multiple service nodes responding to it. This question analyses the effects of the number of nodes that respond to the same address on path length performance. The research question is analysed through an experiment in chapter 7.

These results will indicate the usefulness of segment routing for implementing a chain of services. Since there are likely quite a few variables with segment routing there is probably room for optimisation when implementing a chain of services with segment routing in a given network. Reasoning from the answers to the above research questions this research will present the theoretical outline of a tool that can make suggestions and optimisations for implementing a service chain with segment routing in a given network. The tool is aimed at network operators wanting to implement a service chain with segment routing.

(9)

1.2

Research Outline

This research starts by explaining the history and workings of segment routing in chapter 2. The implementation of the experiments is then explained in chapter 3. This chapter describes the part of the simulations that is shared among all simulations as well as the topologies and networks used in the experiments.

The four chapters 4, 5, 6, and 7 describe and present the individual experiments. First the corresponding research question is presented and the purpose of the experiment is explained. The implementation specific to that experiment is then provided alongside the expectations and speculations for the outcome. The results are presented and discussed thereafter.

The following chapter 8 discusses the combined findings of the experiments. It reflects on how the experiments were performed and possible additions to them as well as summing up the results and their implications.

Based on the discussion in chapter 8 chapter 9 presents the theoretical outline of the optim-isation tool. This chapter first notes the relevant information from the experiments and then describes how this can be used to create a tool to best implement a chain of service functions through segment routing in a given network.

The research closes with a conclusion presented in chapter 10 where all the findings are briefly summarised and presented.

(10)
(11)

CHAPTER 2

Background

As the introduction mentioned segment routing is based on the source routing [32] paradigm and is not a new concept in itself. This chapter starts by explaining where segment routing came from and how it is different from the commonly in use destination-based routing paradigms. The inner-workings of segment routing and how it can be implemented are then discussed in more detail. Lastly other methods to define a path and guarantee its traversal are discussed briefly.

2.1

Layers and Routing

Like most networks the internet is built on layers of protocols each responsible for a specific function [27][3]. In the internet this stack is referred to as the Internet Protocol Suite [13]. Similar to in the Open Systems Interconnection (OSI) model [38] packets travel through the layers as the packets traverse a network. The lowest layers are responsible for transmission across physical links while higher layers offer functions like message authentication and more.

The Internet Protocol (IP) [13] is the layer responsible for providing addressing in a network. Every interface in the network is provided a unique address so that it can communicate with other interfaces. The internet protocol offers a way to define the source and destination of packets. Other supporting protocols like Open Shortest Path First (OSPF) [28][9] provide the actual path the data takes through the network based on the addressing information supplied by the internet protocol. In this way the routing is based on the destination given by the internet protocol. Segment routing offers a way to define not only the source and destination of data but also a list of intermediate addresses that have to be traversed. The actual routing – generating the path to get data from source to destination – is still performed by underlying supporting protocols like OSPF.

2.2

Destination-Based Routing

Most current networks are built on these destination-based routing paradigms. The most common example is the internet protocol, which comes in two version: the Internet Protocol version 4 (IPv4) [23] and the Internet Protocol version 6 (IPv6) [19][6]. Segment routing offers support for both the IPv4 and IPv6 dataplanes. Since these two versions are implemented in a slightly different way they are both explained in more detail in the following sections. The focus of this research is the implementation for the IPv6 dataplane.

2.2.1

Addressing

Most destination-based routing paradigms function in a similar fashion: they include in one way or another the destination information of the data. One such example is the IPv6 header which includes both the source and destination of the packets [19]. This is shown in figure 2.1. Though some other information can also be included in the IPv6 header there is no way to include

(12)

intermediate hops in this header. Protocols like these are referred to as destination-based routing paradigms in the context of this research.

Each interface has a unique IP address. In IPv4 this was a 32-bit address [23]. Since this allowed for only around four billion unique addresses to be created the internet “ran out” of available addresses as the internet grew. To combat this lack of address availability IPv6 uses a 128-bit address instead [19].

Figure 2.1: The IPv6 header as given by its specification [19].

2.3

Segment Routing

Both the IPv4 and IPv6 implementations of segment routing allow for the definition of a list of segments that have to be traversed by the packets. In this sense segment routing is a segment-based routing paradigm instead of a destination-segment-based routing paradigm. If no segments are defined in the segment list segment routing is no different than destination-based routing and functionality is identical. Segment routing merely offers the ability to define paths through the segment list. Calculating such a segment list in addition to the final destination does introduce more complexity than in a strictly destination-based routing paradigm.

Each segment on the segment list is referred to by its Segment IDentifier (SID) [11]. This segment list can be defined either strictly or loosely. When the segment list is defined strictly the segments and only the segments that are in the segment list are allowed to be traversed. The full path of the packet is thus specified in full in the segment list.

The loose definition requires all the segments on the segment list to be traversed, though additional nodes can also be traversed in between even if they are not in the segment list. The same underlying routing protocols are used to route between the segments in the segment list as are used in regular IP. One such example would be Open Shortest Path First (OSPF) routing [28][9].

2.3.1

IPv4: Multi-Protocol Label Switching

In the IPv4 dataplane segment routing can be encoded as a direct addition to the Multi-Protocol Label Switching (MPLS) [37] paradigm without requiring any additional changes to the for-warding plane [1]. In MPLS long IP addresses are replaced by simple and short path labels. This avoids relatively complex lookup tables which at the time MPLS was created brought a

(13)

significant performance advantage. These MPLS packets could encapsulate data from multiple other protocols which is where it gets the multi in its name from. Since the introduction of new and significantly faster switching techniques [15] the main use of MPLS shifted from a speed advantage to a traffic control advantage.

MPLS works by prefixing packets with an MPLS header containing a number of labels. The collection of all labels is referred to as the label stack. Each entry in the stack contains four fields to identify the label, traffic class, bottom-of-stack indicator, and time-to-live indicator. This is shown in figure 2.2.

Figure 2.2: The MPLS label stack entry as per specification [37].

As labels are traversed through Label Switch Routers they are popped off the stack. The old label is thus removed from the header and replaced with the next label. At the edges of the MPLS domain Label Edge Routers form the ingress and egress nodes to the MPLS domain. They push MPLS labels onto incoming packets and pop them off of outgoing packets. Label Switched Paths are thus created at these edge routers.

Segment Routing with Multi-Protocol Label Switching

Segment routing is implemented in the MPLS dataplane by simply encoding a Segment ID (SID) as one of these labels. This requires no alteration to the MPLS forwarding plane. The label stack thus forms the segment list. As the data traverses the network the segments are still popped off the label stack or segment list. At the egress node the MPLS header – and thereby the segment routing information – is in essence stripped.

2.4

IPv6: Segment Routing version 6

Figure 2.3: The SRv6 header as given in its draft specification [31].

Implementing segment routing on the IPv6 dataplane requires a bit more work. Here Segment Routing version 6 (SRv6) adds a new extension header – the Segment Routing Header (SRH). This header is shown in figure 2.3. Similar in general structure to the IPv6 header this SRv6 header adds a list containing n Segment IDs (SIDs) along with some additional information.

(14)

The segments in the segment list are encoded as regular IPv6 addresses. In this way SRv6 com-bines the expandability, scalability, and usability of IPv6 with the traffic engineering capabilities brought by the source routing paradigm. The rest of the networking stack remains unaltered and the same protocols are used as in the regular IPv6 dataplane, making the implementation of SRv6 relatively conceptually straightforward.

The SRH contains some information along with the list of segments to be traversed. The Next Header and Hdr Ext Len field are as defined in the IPv6 specification [19] [31]. These point to the next header and the length of the extension header in octets respectively. The Routing Type field is yet to be defined at the time of this writing.

The Segments Left field defines how many segment are left that need to be processed [31]. The Last Entry field refers to the zero-based index of the last element that was processed in the segment list. In MPLS processed labels are popped off of the label stack. In SRv6 however the list remains intact within the SR domain. If there are more than 0 segments left the next segment is processed as per usual. Because this field consists of 8 bits the maximum segment list length is 28= 256 segments.

The Flags field contains 8 flag bits. Currently only flag 4 (zero-indexed) is defined in the segment routing draft. Flag 4 indicates whether Hashed Message Authentication Code (HMAC) is used in the Optional Type Length Value Objects field of the SRH. This HMAC can be used for security purposes. It consists of a HMAC key and HMAC itself. Using these it checks both the integrity and authenticity of the data in the packet [31]. The other flags are currently unused and reserved for future use.

The Tag field allows the packet to be tagged as part of a certain communication stream, class, or group. This way certain types of data can be processed independently. Following this is the list of segments themselves defined as IPv6 addresses. At the end of the SRH there is an optional field that can be used for appending specific data like the aforementioned HMAC.

2.4.1

Optional Type Length Value Objects

The optional Type Length Value objects (TLVs) follow the format given in figure 2.4. The type field defines the type of TLV that is included and the length field defines its length. What comes behind it depends on the type of field that is used. The aforementioned HMAC TLV is one such example though similar TLVs exist for padding and can be further extended for future uses.

Figure 2.4: The optional Type Length Value objects field format as given in its draft specification [31].

The TLVs thus contain data that may be used by the destination node of the packet. The information is not intended to be transferred to different protocol stack layers. Encoding multiple TLVs in the same header is allowed. Fully SR capable routing nodes are able to alter the information in and restructure completely the optional TLVs in the SRH. Whether this is allowed by the sender is indicated by setting the most significant bit of the TLV type field to 0 or one for immutable or mutable TLVs respectively [31].

(15)

2.5

Support for Segment Routing

At the time of this research segment routing is still very much in its development phase. With Requests for Comments (RFCs) and Internet Drafts still actively being put out there is still a lot of development to come. Since Linux Kernel version 4.10 the dataplane functionalities enabling segment routing packet generation have become available. At present not all endpoint functions used by the final destination of the segment routing packets have been implemented [12] [4].

Similarly the Fast Data Project (FD.io) [8] is working on an implementation of segment rout-ing for IPv6 and currently provide an up-to-date implementation of SRv6 network programmrout-ing support [8]. Their implementation leverages the Vector Packet Processing paradigm.

The spring working group from the IETF [11] is the main working group responsible for publishing most of the publications and drafts on segment routing at the time of this research. There are also some books published on the topic [10]. Clearly however there is still a long way to go in terms of implementation and support for segment routing.

2.6

Service Functions

Segment routing packages may encode simple routing instructions for forwarding packets along a specific path but may also encode rich behaviours to support advanced use cases. One such example are Service Functions or Network Functions (SFs or NFs) [5].

These functions are executed on the packets traversing them. Network or service functions – virtual [18] or physical – form a network-architectural concept for creating functional “blocks”. These can be used to create, connect, or chain communication services in a given network. A Virtual Network Function (VNF) [2] for example could be a load balancing service that routes packets based on the current network load.

In the context of segment routing service functions can exist both virtually or physically. The segments then address these service functions through the SID. The segment list contains not only nodes the data has to merely traverse but can also include functions that have to be applied to the packets [5]. IPv6 also natively supports the transfer of metadata making the implementation simpler using SRv6.

Since these service functions can be both virtual or physical they can be easily deployed in different situations. Network functions can be capable of dealing with segment routing natively and fully support its operations or not. When speaking of a function that can behave properly in the presence of SR information it is referred to as an SR-aware network function [5]. Conversely incapable network functions are referred to as SR-unaware network functions.

2.6.1

SR-Aware Network Functions

A fully SR-aware function is able to process all the information given in the SRH. An SR-aware firewall for example might be able to filter data based on its final destination. This information can be extracted from the SRH. The underlying system the network function is running on can directly feed the packet into the SR-aware network function. These functions are able and allowed to retrieve from, store in, or modify altogether the information in the TLV fields [5].

2.6.2

SR-Unaware Network Functions

SR-unaware network functions are incapable of dealing with information provided in the SRH. When these functions receive a packet with an SRH it might drop the packet altogether or take erroneous decisions based on misinterpreted information from the SRH. These could be network functions designed to deal with regular IP headers or raw data instead of SRv6 data. The system these SR-unaware functions are running on thus must strip the segment routing information from the packets before passing them on to the service functions [5].

This could be achieved by completely stripping and storing the SRH at the node the VNF runs on. The decapsulated packet could then be passed on to the network function. When the function returns the data the node would reappend the SRH to the correct packet. The packet would then be reintroduced into the SR domain.

(16)

2.7

Service Chaining

The real power of using these network functions however lies in chaining multiple simplistic network functions together to form a complex chain of network functions – a service function chain. Since segment routing allows individual network functions to be addressed and supplied local instructions they can be chained together using the segment list in the SRH. The service functions are selected by a service classifier. The ordered set of service functions form the Service Function Path (SFP) for the associated Service Function Chain (SFC) [17]. The service classifier would need to attach all the relevant information to the packet specifying which Service Function Forwarders (SFFs) and service functions ought to be traversed by the traffic, associated SFC, or the partial SFP.

Looking at figure 2.5 for example two distinct flows of traffic are visible. The blue traffic visits two service functions, service functions B and F. SF B could contain a compression function while F contains an encryption function. The green traffic would have the same final destination but no need to traverse these functions. Instead it would only traverse a firewall located in service function C. The traffic flows and associated segment lists from the SRH are illustrated in figure 2.5 and table 2.1 respectively.

Figure 2.5: An example network with two classes of traffic routed through it [4].

Traffic Class Green Traffic Blue Traffic

Segment Source Node A Node A

Segment 0 Service function C Service function B

Segment 1 N/A Service function F

Segment Destination Node Z Node Z

Table 2.1: An example segment list corresponding to the traffic flows given in figure 2.5.

2.8

Use Cases

The chaining of services offers many possibilities. A website that allows for the uploading of data might want to have all the incoming data to go through a firewall, be compressed, and be encrypted. Doing all of this in the servers of the website could be too complex or simply not possible. If the services could be split and spread across the network the data might have all these operations applied to it before it arrives at the target website, saving significant complexity at the website. Segment routing is one way to achieve such service chains efficiently and reliably. As the website grows more popular it could be desirable to host more of the same functions and spread them across the network. Instead of simply duplicating the service and manually addressing either one or the other the usage of anycast segments allows a group to be defined where all the included services respond to the same address and perform identical operations. To segment routing this still appears like a single address but the underlying protocol can return a different member of the anycast-group for different situations. Protocols like Equal-Cost Multi-Path [20] routing could return whichever anycast-group member is closest to a given ingress node

(17)

for example. This approach would also be very scalable, especially if the services are virtual. As the load increases new services could be spun up dynamically and traffic rerouted through them to balance the load based. Using these anycasts is simple to implement with segment routing.

Security too could benefit from using segment routing. In a Distributed Denial of Service (DDoS) attack a given server is flooded with data; rendering it inoperable. By routing all the traffic through firewalls – which could be spread out to deal with the load using the anycast segments again – the traffic could be marked as “safe” or “unsafe”. The safe traffic could be injected back into the network as per usual, while the unsafe data could first be routed through a scrubber before being re-injected into the network. This could all happen without overloading the target server [7].

2.9

Related Work

Segment routing is not the only way to achieve path-based routing however. The aforementioned MPLS for example offers the ability to specify paths in a network. MPLS however offers little capability to use network functions and create a chainable and programmable network.

Network programmability and service chaining is not only achievable through segment routing either though. Other methods like the Network Service Header (NSH) [33] imposed on packets or frames also offer the ability to realise Service Function Paths (SFPs). Much like segment routing NSH is also capable of exchanging metadata along the instantiated service path. Through NSH encapsulation service function chains can also be implemented. NSH works by introducing new headers and using encapsulation to send the original packets through a network.

Segment routing then isn’t the only way to achieve network programmability. This research however focuses on the specific set of functionalities offered by segment routing and the compar-ison between destination-based routing and segment-based routing.

(18)
(19)

CHAPTER 3

Simulation

To be able to answer the research questions a general framework is used to run simulations and perform experiments on a number of network topologies. The simulations aid in analysing traversal statistics, performance impacts, and optimisations of implementing service chains with segment routing. Since the experiments are performed on simulations the service functions used are referred to as strictly Virtual Network Functions (VNFs). The experiments are detailed in the following chapters.

The topologies used in the simulations are outlined in section 3.1. Section 3.2 will discuss the framework of the simulations. Each research question requires a slightly different approach to its implementation. This chapter describes the shared commonalities of the simulation framework in section 3.2. The source code of the simulations is available at the end of this chapter in section 3.3.

3.1

Topologies

To answer the research questions multiple simulations are performed. The simulations investigate two main categories of topologies: abstract and real network topologies. The prior are based on rough network types like a star graph with a central node, or a ladder graph with long stretching paths.

These abstract topologies are unlikely to be found in actual networks since a ladder graph is often not practical in real networks due to its long longest paths. Similarly graphs like the star graph have an increased complexity in the centre node which forms a vulnerable central single point of failure. A star graph can be completely taken down by the centre node going down. Since failures and maintenance are relatively common in networks this makes a star graph poorly applicable in real life applications [35]. These abstract network types thus won’t necessarily be found often in real networks. They are analysed though as they could show certain topology-based characteristics when combined with segment routing.

Three real network topologies are also used. These are based on national and international research networks and will likely show more useful results for real-world applications.

3.1.1

Abstract Topologies

The abstract topologies symbolise a general network style. Though real networks won’t often have one singular node in the centre like a star graph, they might be arranged with a more tightly connected centre and lose branches originating therefrom. The experiments also look at whether these abstract network types exhibit defining characteristics and are recognisable in the real networks.

To show the effect of different sizes of these networks on the experiment a small, medium, and a large network are used. In the experiments the small graph consists of 15 nodes, the medium graph of 30 nodes, and the large graph of 60 nodes. Across all experiments the graph is only accepted if all nodes are connected. Disconnected graphs are not considered.

(20)

(a) Simple (Barabasi Albert) graph (b) Star graph

(c) Tree graph (d) Ladder graph

Figure 3.1: A collection of the four abstract network topologies used in the experiments. Also includes a path from ingress to egress over a given function node. Except in the star topology the source is node 0, and the target is node 19. The function node is randomly allocated to be neither one of these.

The simulations use four abstract network styles. Possibly the most realistic of these is the simple graph shown in figure 3.1a. This is generated as a Barabasi-Albert network using Networkx [16].

Symbolising a highly centralised network with one node in the centre is the star graph shown in figure 3.1b.

Another network with a central connection is the tree graph, though this allows for branches and satellite nodes coming out from the centre. This is shown in figure 3.1c.

Lastly a ladder graph is used. This topology has a long backbone of cross-connected nodes. As the network grows the entire ladder grows as well. This means that larger network sizes result in far longer longest paths in the network, symbolising the characteristics of a linearly connected graph though with slightly more interconnections. This is illustrated in figure 3.1d.

An overview of all abstract topologies is given in figure 3.1.

3.1.2

Real Topologies

The realistic topologies implement a number of real (National) Research and Educational Net-works ((N)RENs). The used examples are the NORDUnet topology [29], the G ´EANT network

(21)

topology [14], and the SURFnet topology [36]. The former two are acquired from their official websites, and the latter is acquired directly from the co-supervisor of this research.

The topologies are implemented in Networkx where the nodes are simple numbers and the specific characteristics of the links are not taken into account. These can include physical distance and available bandwidth. Performance is generally measured in number of hops in the context of this research. These topologies simulate real network interconnections and do not simulate realistic bandwidths nor latencies.

The smallest real network used in the experiments is the NORDUnet topology. With only 24 nodes this network is closest to the medium size of the abstract topologies. The topology of the network is given in figure 3.2. Visually this topology bears closest resemblance to the ladder or simple graph since it lacks an explicitly centrally connected node.

Figure 3.2: The NORDUnet [29] topology provided on their official website at the time of this research.

The next considered REN is G ´EANT. This network does appear to have more centralised nodes with satellite branches coming out. Germany for example contains such a central node. This makes it visually more similar to the tree graph mentioned before.

Figure 3.3: The G ´EANT [14] topology provided on their official website at the time of this research.

(22)

Lastly SURFnet’s topology is implemented. This networks consists of central nodes and nodes along a linear path. The topology is shown in figure 3.4.

Figure 3.4: The SURFnet [36] topology provided by the co-supervisor of this research. The network used is SURFnet’s core network.

3.2

Implementation

The experiments performed in chapters 4, 5, 6, and 7 are implemented in the Python program-ming language. To create and perform operations on the networks described previously the python library Networkx [16] is used. Built-in functions like the one to calculate the shortest path between two nodes are used to determine the routes through the network.

In this sense there exists no routing table that is set up before the experiments – there is no knowledge of the paths a priori. Whenever two nodes are picked as the source and destination the shortest path is looked up using the Networkx built-in functions. Depending on the routing protocol and its specifics these paths represent a path a packet would take in a similar real network. Not using a table with a priori path knowledge saves some implementational complexity in these experiments.

It can occur – especially in topologies like the ladder graph – that many multiple equal length shortest paths exist. Whenever multiple paths of equal length are encountered in any of the experiments an arbitrary choice is made between them. In this case whichever path Networkx returns first is used, unless otherwise specified in the experiment’s description.

In general the experiments are set-up to run in a double loop. The outer loop is labelled topologies and defines how many times the graph is recreated and the VNFs are placed in the network. For the real networks this does not make a difference except for where randomly placed functions are located in the network. A randomly generated Barabasi-Albert network however will be regenerated this many times.

In the experiments both the results and spread thereof are interesting. The standard deviation is taken as a measure to indicate what the range of spread is. This gives an idea of how consistent the results are and how precisely they describe the results.

The inner loop is how many unique source and destination pairs are taken and averaged. This is labelled cycles. The standard deviation and average are taken. For these general statistics Numerical Python (Numpy) [30] and Scientific Python (Scipy) [25] packages are used.

The statistics are visualised using the Matplotlib (Pyplot) [21] package. In general however the blue colour symbolises random VNF placement, and the green colour symbolises topology-aware VNF placement if applicable.

(23)

3.2.1

Random or Topology-Aware Placement

During the experiments the VNFs are placed randomly or in a topology-aware manner. When placing the VNF randomly there are no restrictions other than that the node be connected to the graph and can be neither the source nor destination nodes. The VNFs are placed before the source and destination pairs are picked so this consideration is done when placing the source and destination nodes. Placing the VNF on either one of these would result in a guaranteed traversal probability with path length equal to the shortest path from source to target. Likewise the source and destinations nodes can’t be placed on the same node. The path length would be zero hops and neither of these cases would be interesting.

Topology-aware node placement refers to placing the node in a manner that maximises the likelihood of traversing the node on the shortest path. When referring to topology-aware place-ment the nodes are placed in order of decreasing degree. If one VNF is placed, the highest degree node is used as a location for the VNF. In the case of two VNFs the two nodes of highest degree are used. And so on and so forth for the desired number of VNFs.

Since the ladder graph contains only equally connected nodes – apart from the ends – the VNFs will be placed along the centre of the network. Additional VNFs will be placed alternating to the left and right of this centre, meaning the “cluster” of VNFs grows from the centre outwards. This does imply the VNFs will be placed as neighbours which is not necessarily the case in the other networks.

Lastly star graphs always have their VNFs placed at the centre, though this is by very definition also always the most connected node. Additional VNFs can only be placed arbitrarily as all nodes other than the centre node are equal.

3.3

Source Code

The source code used for the experiments presented in the previous chapter is hosted on Github. All the files are accessible via the following link:

https://github.com/Johanmyst/segment .

(24)
(25)

CHAPTER 4

Why Segment Routing?

This chapter looks at the experiment corresponding to the first research question: • How often does segment traversal occur in destination-based routing paradigms?

4.1

Description

Segment routing offers guaranteed segment traversal. Segments – specific nodes in the network – might also be traversed coincidentally when using destination-based routing however. This experiment aims to quantify how often segment traversal occurs in destination-based routing. If this namely occurs sufficiently often segment routing might offer little advantage over destination-based routing.

4.1.1

VNF Traversal Probability and Expectations

Picking an arbitrary path through a network means some nodes will be on this path and others will not be. Making this observation for many arbitrary paths yields a probability any given node will be on an arbitrary path – the traversal probability. It seems likely certain nodes are more likely to be traversed than others. More connected nodes have more connections, so more paths through them are possible. More paths suggests a higher traversal probability. If a VNF is placed on this node the traversal probability would thus equally be higher. When the VNF is traversed coincidentally this is the same behaviour offered by segment routing. This probability is likely heavily topology-dependent.

Destination-based routing paradigms offer optimal path routes. In the context of this research and experiment optimal is only defined by the path length. Whenever a given VNF happens to lie on this path there is no increase in path length of routing through the VNF. The traversal probability is thus likely directly correlated to the path length.

Questions

The questions posed for this experiment are as follows:

• How often does segment traversal occur in destination-based routing paradigms? – What is the probability of VNF traversal in simple and real network topologies? – What is the influence of VNF placement on said probability?

(26)

4.2

Specific Set-Up

To do this the probability of traversing one and two VNFs in a given network topology is analysed for both abstract and real topologies.

A network is generated 1000 times and VNFs are replaced at every network generation. Within this network a VNF is placed either at random (shown in blue in the results) or topology-aware (shown in green in the results). Each network then has 100 unique source and destination pairs evaluated.

When more than one VNF are placed in the network their order is predetermined and set. In case of random VNF placement the order will also be random. In case of topology-aware VNF placement the order will be in terms of decreasing degree. VNFs that are equally well connected are picked based on Networkx’s order of returning the degree sequence. Segment list reordering is analysed in chapter 6.

The shortest path between a source and destination pair is taken. The simulation then determines whether the VNF was on the path or not. The number of times the VNF was on the path is divided over the number of source and destination pairs considered to yield the traversal probability.

For each network the standard deviation of the sample is also determined. The average probability and standard deviation are then visualised in a bar graph.

(27)

4.3

Results

The following two sections show the results of the experiment for abstract and real network topologies in order.

4.3.1

Abstract Topologies

Figure 4.1: The probability of traversing a randomly or non-randomly placed VNF in different network topologies using destination-based routing algorithms. Here one singular VNF is used. The graphs are regenerated 1000 times, and the average over 1000 cycles per graph is taken. The error bars represent the average standard deviation per graph.

The probability of traversing one VNF in an abstract network is given in figure 4.1. Topology-aware placement appears to yield a significantly higher traversal probability. The star topology achieves certainty of traversal when placing the VNF in the centre of the network. For the tree graph there is also still a significant increase in probability when using topology-aware placement. Ladder graphs and simple graphs however show less of an improvement.

The random VNF placement also shows a larger deviation in the samples. As the size of the network grows this spread does not appear to reduce nor increase significantly. The overall probability of traversal appears to decrease as the network size increases.

(28)

Figure 4.2: The probability of traversing two randomly or non-randomly placed VNFs in different network topologies using destination-based routing algorithms. Here two unique VNFs are used. The graphs are regenerated 1000 times, and the average over 1000 cycles per graph is taken. The error bars represent the average standard deviation per graph.

The probability of traversing two VNFs is given in figure 4.2. The overall probability de-creased significantly though topology-aware placement still outperforms random VNF placement. Simple graphs show only a marginal probability with topology-aware VNF placement. Both topology-aware or random VNF placement in star topologies yields no traversal probability. The tree and ladder graphs seem to be impacted differently than the simple and star graphs. The simple and star graphs have a vastly diminishing traversal probability when traversing multiple VNFs. The tree and especially ladder graph however show a significantly lower decrease.

(29)

4.3.2

Real Topologies

Figure 4.3: The probability of traversing a randomly or non-randomly placed VNF in different network topologies using destination-based routing algorithms. Here one singular VNF is used. The graphs are regenerated 1000 times, and the average over 1000 cycles per graph is taken. The error bars represent the average standard deviation per graph.

The probability of traversing one singular VNF in the real networks is given in figure 4.3. The networks appear to behave relatively similarly though NORDUnet shows the smallest difference between random and topology-aware VNF placement. G ´EANT’s network shows the largest probability increase from using topology-aware VNF placement. SURFnet performs closer to NORDUnet. All three show a significant and comparable decrease in standard deviation when using topology-aware VNF placement however.

(30)

Figure 4.4: The probability of traversing two randomly or non-randomly placed VNFs in different network topologies using destination-based routing algorithms. Here two unique VNFs are used. The graphs are regenerated 1000 times, and the average over 1000 cycles per graph is taken. The error bars represent the average standard deviation per graph.

Traversing two unique VNFs in these networks yields the probabilities visualised in figure 4.4. The overall probability seems to drop substantially. The spread appear smaller, and the overall shape of the graph is similar to the single VNF probability.

(31)

4.4

Discussion

When only a single VNF is traversed a traversal probability of roughly 30% to 40% can be achieved through topology-aware placement, though how much exactly is quite topology-dependent. Topologies with central “hub” locations benefit more than networks that are more interconnected.

Full mesh networks would then likely be the worst-case scenario for replicating segment rout-ing behaviour through destination-based routrout-ing paradigms. Due to its high interconnectedness the traversal probability would be low as there exist numerous equal length paths from source to destination. It would also be difficult to place VNFs in a topology-aware manner as there are no central nor highly connected nodes.

Comparing the case of one and two VNFs shows a diminishing probability of traversal. The ladder topology however stands out as particularly robust to increasing the number of VNFs. This is likely due to the clustered VNFs. The ladder graph contains a long string of connected nodes placing the VNF in the middle means there is a significant probability of traversing the VNF when crossing the middle of the network. Since the probability of picking a source and destination at each side of the centre is 50% half of the pairs should cross the centre. This follows from the following:

Plef t= 0.5 & Pright= 0.5

Psourcelef t== Pdestinationlef t== Psourceright== Pdestinationright

Pbothlef t= Psourcelef t∗ Pdestinationlef t== Psourcelef t∗ Pdestinationlef t= Pbothright

Pbothlef t= 0.5 ∗ 0.5 = 0.25 = Pbothright

Ptraversecentre= 1 − Pbothlef t− Pbothright = 1 − 0.25 − 0.25 = 0.5

When only one VNF is placed at the centre the probability should be roughly half of this since there are two paths traversing the centre. The case of two VNFs (figure 4.2) shows a slight increase in traversal probability. This follows from the above since both paths through the centre now have a VNF on them. This would apply if only one of two VNFs had to be traversed however. Since both have to be traversed the probability is still lower.

Comparing figures 4.1 (abstract) and 4.3 (real) show abstract topology characteristics present in the real topologies. In this sense the traversal probability in NORDUnet’s network bears more resemblance of the simple and ladder graphs, while G ´EANT and SURFnet more closely resemble a tree or star graph. This confirms the visual speculations made in chapter 3. The traversal probability characteristics of a network appears to be indicative and informative of the underlying network topology structure. Chapter 5 looks at whether the same applies to the performance characteristics of a given topology.

The size of the deviation indicates that especially with random VNF placement the results are quite spread out. When placing VNFs in a topology-aware manner the spread decreases significantly – especially in the single VNF case. This indicates using topology-aware placement increases uniformity as well as overall traversal probability which may be a desirable quality to have.

The results make it clear that – especially as the number of VNFs in the segment list increases – destination-based routing paradigms are not particularly well suited for VNF traversal. Also clear is the effectiveness of topology-aware placement such as described in chapter 3. Placing VNFs on the most connected nodes, or in the centre of a star or ladder graph yields significantly increased probabilities.

4.4.1

Caveat

Though traversal probability becomes higher placing VNFs at the most connected nodes might not be desirable. Placing VNFs on a node increases their complexity. Central nodes in particular deal with a lot of traffic. Burdening these nodes with complex VNFs might overload those nodes. Attaching VNFs directly to the central nodes instead would yield a small but constant cost.

These central nodes could also house clusters of VNFs similar to the topology-aware VNF placement in the ladder graph. As shown this scales much better with longer segment lists.

(32)

Having such a cluster as a directly-attached network could be a good combination of centrality and performance. This will be analysed further in chapter 5. Through destination-based routing paradigms this VNF could never be traversed however as it would only be connected by a dedicated direct path.

4.4.2

Benefit

It is evident that traversal probability is rather topology-dependent and may even be indicative of the topology structure. Through topology-aware VNF placement the traversal probability can be significantly increased. This can mostly be done by placing VNFs on the central nodes. These are often left as simple as possible due to the high data throughput. Increasing complexity in these central nodes is therefore most likely not an ideal solution.

By definition segment routing offers a perfect traversal probability. Destination based routing does not exhibit similar behaviour. This makes segment routing the easier and better solution.

(33)

CHAPTER 5

Performance Impact

This chapter poses an experiment to investigate the second research question: • What is the performance impact, if any, of segment routing?

5.1

Description

Chapter 4 looked at how regularly segment routing’s behaviour occurs using destination-based routing paradigms. A VNF is only traversed with a certain probability using destination-based routing paradigms. This probability could be optimised somewhat. Destination-based routing paradigms follow the optimal path by design. In the context of this research this optimal path is taken to be the shortest path. This implies that when the VNF is not traversed on this shortest path, the path over the VNF must be longer. Segment routing thus trades guaranteed traversal for path length optimisation. This experiment aims to quantify this trade-off.

In the context of this experiment and thereafter the term performance refers specifically to the performance in path length. In real networks these aren’t necessarily directly correlated since some links can be shorter than others or have less latency than others meaning some paths can be faster than others. Observing the path length however should provide a reasonable conceptual tool.

5.1.1

Path Lengths and Expectations

The path lengths over the VNFs are likely to depend strongly on the network topology. If there exist many paths between all nodes the longest path in the network can not be as long as in one continuous line of nodes. The ladder graph is by design much closer to a line with its backbone of linearly connected nodes. The simple graph on the other hand is randomly interconnected so the longest shortest path is likely not as long as in the ladder graph.

The maximum path length increase when traversing a service chain with segment routing can’t be greater than the longest shortest path in the network. It seems likely the actual path length increase lies somewhere between the optimal situation (as if destination-based routing was used) and the longest shortest path in the network accounting for going to and from the VNF.

As the experiment in chapter 4 showed placing VNFs in more central nodes resulted in a higher probability of the VNF lying on the shortest path. The more this happens, the lower the impact. It is thus likely the path length increase can be mitigated somewhat by placing the VNFs in a topology-aware manner.

Adjusting the number of VNFs in the segment list also likely increases the path length more. Unless all VNFs happen to be on the shortest path between source and destination the path is longer. As chapter 4 confirmed the probability of multiple VNFs being on the shortest path is extraordinarily low, thus the path with segment routing will almost certainly be longer. As more VNFs are added to the list it seems likely the path length increase will increase further.

(34)

As mentioned in chapter 4 it seems probable the ladder graph will incur a lower additional path length increase as the segment list grows since the VNFs are clustered. Once the cluster is reached the other VNFs will be relatively closeby. In a ladder graph the cluster is placed on the ladder’s centre so paths going through the centre already traverse the cluster which grows proportional to the segment list. The maximum distance from any node to the centre of the ladder is half the ladder’s length. Since the distribution of nodes is uniform the expected distance to the cluster of VNFs should be a quarter of the ladder’s length. Additional VNFs should only increase this distance marginally. As the size of the segment list increases the performance is likely impacted little when using topology-aware VNF placement. This experiment also investigates the effectiveness of clustering VNFs.

Questions

The question the following experiment will investigate are as follows: • What is the performance impact – if any – of segment routing?

– What is the performance impact in abstract and real network topologies? – What is the influence of VNF placement strategy on said impact? – What is the effect of the number of VNFs on said impact? – What is the effect of clustering VNFs?

5.2

Specific Set-Up

The average path length increase when using segment routing is analysed for both abstract and realistic networks for one, two, and three segments in the segment list.

The networks are regenerated 1000 times. In the abstract networks such as the Barabasi-Albert network the connections are thus also regenerated 1000 times. The VNFs are also relo-cated here. Either at random (shown in blue), or in a topology-aware manner (shown in green). For each of these generations of the network 100 cycles are run where one unique source and destination pair is drawn per cycle.

The error bars display the standard deviation in the cycles. This spread is averaged over the number of times the network is regenerated. This is then compared against the case when there are no VNFs representing destination-based routing algorithms. By subtracting and then dividing over the destination-based routing case the relative path length increase is calculated. This relative impact is then visualised as a bar graph.

(35)

5.3

Results

The results for the abstract topologies and realistic topologies are shown in that order. The results for using one, two, and three VNFs in the segment list are presented in increasing order.

5.3.1

Abstract Topologies

Figure 5.1: The expected path length increase when routing through one singular VNF for a number of abstract topologies. The single VNF is placed randomly (green) or non-randomly (blue). The optimal path length (destination-based routing) is shown as well (red). The experi-ment is run over 1000 graphs and 1000 unique source and destination pairs per graph. The error bars show the average standard deviation per graph.

The results of the experiment with one VNF is shown in figure 5.1. A significant difference between the impact when using topology-aware and random VNF placement is visible. A clear difference is also visible between the different topology types when traversing one VNF.

As the network size increases the path length increases as well. It is visible some network types are more impacted by size than others. The shape of the discrepancy between random and topology-aware VNF placement remains relatively similar independent of network size.

(36)

Figure 5.2: The expected path length increase when routing through two unique VNFs for a number of abstract topologies. The two VNFs are either placed randomly (green) or non-randomly (blue). The optimal path length (destination-based routing) is shown as well (red). The experiment is run over 1000 graphs and 1000 unique source and destination pairs per graph. The error bars show the average standard deviation per graph.

The case with two VNFs is shown in figure 5.2. A very sudden degradation in the performance of the star topology is clear. The overall impact seems considerably higher compared to the single VNF case. In the ladder topology especially the discrepancy between topology-aware and random VNF placement appears to grow.

(37)

Figure 5.3: The expected path length increase when routing through three unique VNFs for a number of abstract topologies. The three VNFs are either placed randomly (green) or non-randomly (blue). The optimal path length (destination-based routing) is shown as well (red). The experiment is run over 1000 graphs and 1000 unique source and destination pairs per graph. The error bars show the average standard deviation per graph.

Lastly the three VNF case is shown in figure 5.3. The overall path length increase is higher and appears to follow the same pattern. All segment list sizes show a significant improvement from using topology-aware VNF placement.

(38)

5.3.2

Real Topologies

Figure 5.4: The expected path length increase when routing through one singular VNF for a number of realistic topologies. The single VNF is placed randomly (green) or non-randomly (blue). The optimal path length (destination-based routing) is shown as well (red). The experi-ment is run over 1000 graphs and 1000 unique source and destination pairs per graph. The error bars show the average standard deviation per graph.

The results of the experiment in real networks with one VNF is shown in figure 5.4. The overall shape appears similar to the abstract graph’s shape, and the path length increase is roughly similar for each network. The most significant difference between the graphs seems to be in the different placement strategies: random and topology-aware.

(39)

Figure 5.5: The expected path length increase when routing through two unique VNFs for a number of realistic topologies. The two VNFs are either placed randomly (green) or non-randomly (blue). The optimal path length (destination-based routing) is shown as well (red). The experiment is run over 1000 graphs and 1000 unique source and destination pairs per graph. The error bars show the average standard deviation per graph.

The same shape is still visible when using two VNFs, as shown in figure 5.5. NORDUnet shows the lowest improvement from using topology-aware placement.

(40)

Figure 5.6: The expected path length increase when routing through three unique VNFs for a number of realistic topologies. The three VNFs are either placed randomly (green) or non-randomly (blue). The optimal path length (destination-based routing) is shown as well (red). The experiment is run over 1000 graphs and 1000 unique source and destination pairs per graph. The error bars show the average standard deviation per graph.

Even more pronounced is the three VNF case shown in figure 5.6. This graph shows a large increase in average path length. G ´EANT’s topology appears to benefit the most from using topology-aware VNF placement.

(41)

5.4

Discussion

Segment routing guarantees traversal by design. Because these segments aren’t always on the optimal path it consequently does not necessarily guarantee shortest path traversal from source to destination. The path length increase can be significant but depends on the topology. The real networks showed similar behaviour across the experiment. For introducing one VNF the performance impact seems to be around 40%. Using two VNFs this increases to roughly 80%. Using three VNFs this impact can go up to 175%. This suggests an exponential performance increase, though there is too little data to claim this with certainty. These impacts used topology-aware placement and are a rough estimate of the performance in the NORDUnet network. The performance impact is quite topology-dependent.

Placing VNFs in a topology-aware manner is beneficial to the path length, though how much depends on the topology. Networks like NORDUnet have a smaller benefit from placing the VNFs based on the topology. This could be due to the limited size of the network. The VNFs might be placed at opposite ends if they are simply placed at central locations, leading to reduced performance benefits. Interestingly enough the visual estimation was made that NORDUnet appeared closer to the ladder graph. It showed the lowest resemblance to this graph with decreasing effectiveness of topology-aware VNF placement as the segment list grew. This is contrary to the expectation. Still the performance appears characteristic of the abstract network type, though in a different relation than with traversal probability.

The ladder graph behaviour indicates clustering of VNFs is effective. The average path length increase grows slowly as the number of VNFs in the cluster grows whereas other topolo-gies showed significant increase with each additional VNF. In the ladder graph the path length increase remained roughly around half the shortest path length. Structuring VNFs as such in a network topology would thus be beneficial. Networks like NORDUnet could potentially benefit from clustering VNFs given their relatively poor performance even with topology-aware VNF placement.

The star graph lacks any slowdown in the case of a single VNF because all paths already traverse the centre node – as confirmed in chapter 4. The minimal sliver of average path length increase is because either the source or destination nodes can happen to be placed in the centre when there is no VNF occupying it. This ought to happen proportionally to the network size, as the probability of either the source or destination node being placed on the centre node is given by the following formula: num nodes1 .

As discussed in chapter 4 it might not be desirable to place all VNFs on the central nodes in the network due to throughput and complexity constraints. Placing VNFs as directly attached networks would only introduce an extra path length of two hops – one hop from the node to the VNF, and one hop back. Since this path wouldn’t be used on any other paths in the network it would only receive traffic dedicated for the VNFs limiting traffic constraints. This ensures both centralised VNF placement as well as the significant performance increase from topology-aware VNF placement.

It seems that topology size matters little for the path length. Though NORDUnet has only 24 nodes while SURFnet has 50 there is little difference in their performance nor performance impact. The same is true for the simple graph. The only significant difference appears to be in the effectiveness of topology-aware VNF placement. Graphs with long paths like the ladder graph scale worse when using.

The size of the error bars also seems to be quite topology-dependent. The abstract star and simple topologies have a relatively low spread while the tree, ladder, and real topologies have a significantly larger deviation. Especially in the real topologies it seems that placing the VNFs in a topology-aware manner yields lower deviation. As the VNFs are randomly placed in the other case it makes sense the spread is somewhat high. With topology-aware placement the VNFs are in the same locations so the error bars simply represent the range of relative path length increases for different source and destination pairs.

In the abstract topologies this discrepancy also seems logical. When a VNF is placed in the centre of a ladder topology for example the maximum distance from any given node to the VNF can’t exceed half of the ladder’s length. When the VNF is placed at the very end however the maximum distance can be equal to the length of the ladder itself, twice as long. It follows

(42)

that the expected range of path lengths follows this pattern and is around twice as large as for topology-aware centre placement of the VNFs. In the star graph on the other hand any VNF placement that is not the centre node yields identical results, thus there is hardly any spread. The small deviation that is visible is the proportion of cases where the VNF is coincidentally placed in the centre of the star. This should occur proportionally often to the size of the star graph, again following the following formula: num nodes1 . With topology-aware placement the centre node is reserved by a VNF so there is no deviation in path lengths. After the placing the first VNF in the star graph the remaining nodes are identical and arbitrary.

Between the three segment list sizes the path length appears to increase linearly or exponen-tially, particularly for the real networks. This excludes the case of the ladder topology with its clustered VNF placement. However, within this cluster the path length increase might still in-crease linearly, though the overall effects are less pronounced on the overall path length inin-crease. It would be interesting to plot the relative change from using one VNF to using two VNFs in the segment list. This would show which strategies and topologies are more resilient to the growth of the segment list.

5.4.1

Caveat

Using an immutable segment list has the risk the network has to be traversed multiple times, possibly even via the same path. The clusters in the ladder graph could for example be placed at the ends of the ladder. If the segment list contained these end-clusters in an alternating fashion the entire ladder would have to be traversed multiple times. This is an extreme case and chapter 6 will investigate this more in-depth.

5.4.2

Benefits

Segment routing offers flexibility and control through defining the path in a network. However, doing so in a careless way evidently has a large path length increase. This impact can be mitigated to a degree by placing the VNFs in specific place depending on the topology. However, as the size of the segment list grows the path length will increase proportionally. Proper consideration and care ought to be taken to ensure the path length is increased as little as possible.

Referenties

GERELATEERDE DOCUMENTEN

Figure 5a: Results Time to treatment experiment 4.1: DIDO times: 50 minutes + Intelligent patient routing strategies Figure 5b: Results % of patients MS model experiment 4.1:

This paper aims to show how lean knowledge applied in the healthcare provider’s collaboration affects the eldercare service performance by comparing the two countries, which are

This is true since it is the best solution in all solution spaces cut away by the piercing cuts and the remaining part of the solution space cannot contain a better solution, since

De ernstige bedreiging die de vooropgestelde werken en het daarmee samenhangen- de grondverzet vormen tegenover het mogelijk aanwezige archeologische erfgoed, zijn immers van die

The Gauteng Department of Education (GDE) is powered by the Public Service Regulations Government Notice No R441 of 25 May 2001 (as amended) chapter 1,

An infinite sequence of zeros and ones can be considered as a routing sequence for a single server queue and in particular u i is the routing sequence for server (queue) i. A

immediately fall back on previous information and associations such as the knowledge that the brand is commercial and tries to sell something (Machleit & Wilson, 1988).

Voor generatie X is het belangrijk dat er duidelijk wordt gecommuniceerd over zowel het goede doel als de donatie, er een match is tussen het product en het goede doel en dat de