You are on page 1of 110

College of Electronic Technology

Department of Communication Engineering

Graduation project for Bachelor's degree in Communication Engineering

Improve the MPLS Service Provider Network using Segment


Routing Technology

Prepared by:

Attia Salem Ebreak Zakareya Ahmed Fathalla


Abdrouf Abdalhakim Sharif

Supervisor’s Name:
Eng. Mahmud Ibr Bennis

Tripoli, Libya
Spring 2022
Dedication

We dedicate this little work to our favorite and most precious


possession, beloved mothers, dear fathers, and siblings, giving them
all our appreciation, love, and gratitude.

II
Acknowledgments

Firstly, we would like to give all our thanks to (Allah). Were it not for His support and help, we would
not have reached this level, and this project would not have seen the light. Praise to Allah, Lord of the
world.

Secondly, we are profoundly and forever indebted to all our family members for their prayers, warm
love, unbelievable support, continued patience, and encouragement throughout our entire life.

Thirdly, we must thank the College of Electronic Technology who believed in us and gave us the chance
to pursue our dreams and never to forget all its staff and professors, whom we have worked with over
the last four years, for showing us what it means to be dedicated. Each in their unique way, of you has
given your time, energy, and expertise, and We are richer for it.

Fourthly, we would like to extend our special thanks, appreciation, and complete gratitude to our
supervisor Eng. Mahmud Ibr Bennis for his valuable guidance, tremendous academic and practical
support, suggestions, patience, granting us opportunities to explore our academic interests, and
encouragement throughout the whole of this graduation project.

fifthly, we would like to extend our special thanks and appreciation to Eng. Hadil Younis for her
unlimited support in accomplishing this work.

Last but by no means least, we would like to dedicate this achievement to all the wonderful people in
our whole life, and we are welcoming to any suggestions that will improve ourselves for near-future
works.

“Attia Salem Ebreak”


“Zakarey Ahmed Fathalla”
“Abdrouf Abdalhakim Sharif”

III
Abstract
Fixed and mobile telecom operators, enterprise network operators and cloud providers strive
to face the challenging demands coming from the evolution of IP networks (e.g., huge
bandwidth requirements, integration of billions of devices and millions of services in the
cloud). Proposed in the early 2010s, Segment Routing (SR) architecture helps face these
challenging demands, and it is currently being adopted and deployed. SR architecture is based
on the concept of source routing and has interesting scalability properties, as it dramatically
reduces the amount of state information to be configured in the core nodes to support complex
services. SR architecture was first implemented with the MPLS data plane.

Segment routing is a new technology developed by Cisco Systems and its partners to forward
traffic more efficiently than in traditional MPLS networks. It is mainly targeted at service
providers, data centers, metropolitan-area networks, and large enterprises that use WAN.
Segment routing can be implemented on top of OSPF, IS-IS, MPLS, and IPv6 configurations
with little to no changes.

Key Words: SR, MPLS, Traffic Engineering, SP network, OSPF, EVE-NG.

IV
Table of Content

DEDICATION ................................................................................................................................................ II
ACKNOWLEDGMENTS ............................................................................................................................. III
TABLE OF CONTENT..................................................................................................................................V
LIST OF FIGURES .................................................................................................................................... VIII
LIST OF TABLES......................................................................................................................................... IX
LIST OF ABBREVIATIONS ......................................................................................................................... X
CHAPTER 1 ..................................................................................................................................................... I
GENERAL INTRODUCTION ....................................................................................................................... I

CHAPTER 2 .................................................................................................................................................... 6
NETWORK FUNDAMENTAL AND ROUTING PROTOCOLS ................................................................ 6

2.1.1 WHAT IS COMMUNICATION? ................................................................................................. 7


2.1.2 QUALITY OF COMMUNICATION............................................................................................ 8
2.1.3 NETWORK PROTOCOLS ........................................................................................................... 9
2.1.4 INTERACTION OF PROTOCOLS ............................................................................................. 9
2.1.5 TECHNOLOGY-INDEPENDENT PROTOCOLS ................................................................... 10

2.2.1 THE BENEFITS OF A REFERENCE MODEL ....................................................................... 10


2.2.2 OVERVIEW OF NETWORK MODEL ..................................................................................... 11
2.2.3 ABOUT TCP/IP MODEL ............................................................................................................ 12
2.2.4 PROTOCOL DATA UNITS AND ENCAPSULATION ........................................................... 12
2.2.5 ABOUT OSI MODEL .................................................................................................................. 13
2.2.6 COMPARING THE OSI MODEL TO THE TCP/IP MODEL................................................ 14
2.2.7 OSI MODEL ................................................................................................................................. 15
2.2.7.1 THE APPLICATION LAYER ........................................................................................... 16
2.2.7.2 THE PRESENTATION LAYER ........................................................................................ 17
2.2.7.3 THE SESSION LAYER ...................................................................................................... 17
2.2.7.4 THE TRANSPORT LAYER ............................................................................................... 18
2.2.7.5 THE NETWORK LAYER .................................................................................................. 19
2.2.7.6 THE DATA LINK LAYER ................................................................................................. 21
2.2.7.7 THE PHYSICAL LAYER ................................................................................................... 21

V
2.3.1 ROUTING METRICS .................................................................................................................. 22
2.3.2 TYPES OF ROUTING ................................................................................................................. 23
2.3.2.1 STATIC ROUTING ............................................................................................................. 23
2.3.2.2 DEFAULT ROUTING ........................................................................................................ 23
2.3.2.3 DYNAMIC ROUTING ........................................................................................................ 23

2.4.1 OSPF FUNCTIONS ...................................................................................................................... 24


2.4.2 ADVANTAGES AND DISADVANTAGES OF OSPF .............................................................. 25
2.4.2.1 ADVANTAGES .................................................................................................................... 25
2.4.2.2 DISADVANTAGES ............................................................................................................. 25
2.4.3 WORKING MECHANISM OF OSPF ....................................................................................... 25
2.4.4 OSPF CALCULATION ............................................................................................................... 26
2.4.5 OSPF ARCHITECTURE............................................................................................................. 26
2.4.6 OSPF NETWORK TYPES: ......................................................................................................... 27
2.4.6.1 POINT-TO-POINT NETWORK ........................................................................................ 27
2.4.6.2 BROADCAST SEGMENT NETWORK ........................................................................... 28
2.4.6.3 NON-BROADCAST MULTIACCESS (NBMA) .............................................................. 28
2.4.6.4 POINT TO MULTIPOINT ................................................................................................. 28
2.4.7 OSPF LINK-STATE TYPES ....................................................................................................... 28
2.4.8 OSPF AREAS................................................................................................................................ 28
2.4.8.1 BACKBONE AREA ............................................................................................................ 29
2.4.8.2 STANDARD AREA ............................................................................................................. 29
2.4.8.3 STUB AREA ......................................................................................................................... 29
2.4.8.4 TOTALLY STUBBY AREA ............................................................................................... 29
2.4.8.5 NOT-SO-STUBBY AREA ................................................................................................... 29

2.5.1 SPECIFICATION ......................................................................................................................... 30


2.5.2 L3VPN COMPONENTS .............................................................................................................. 30
2.5.2.1 VIRTUAL ROUTING AND FORWARDING (VRF) ...................................................... 31
2.5.2.2 MULTIPROTOCOL BORDER GATEWAY PROTOCOL (MBGP) ............................ 31
CHAPTER 3 ................................................................................................................................................. 32
MPLS CONTROL PLANES AND SR ......................................................................................................... 32

3.2.1 ADVANTAGE OF MPLS ............................................................................................................ 34


3.2.2 MPLS HEADER ........................................................................................................................... 35
3.2.3 MPLS TERMINOLOGY ............................................................................................................. 36
3.2.4 LEGACY MPLS SIGNALLING PROTOCOLS:...................................................................... 38
3.2.4.1 LABEL DISTRIBUTION PROTOCOL (LDP) ................................................................ 38
3.2.4.2 RESOURCE RESERVATION PROTOCOL (RSVP)...................................................... 39
3.2.5 TODAY’S CHALLENGES .......................................................................................................... 39

VI
3.6.1 SR POLICY ................................................................................................................................... 44
3.6.1.1 EXPLICIT PATHS .............................................................................................................. 44
3.6.1.2 DYNAMIC PATHS.............................................................................................................. 44
3.6.2 SR TE VS RSVP-TE ..................................................................................................................... 45
3.6.3 PCE CONTROLLER ................................................................................................................... 45
3.6.3.1 MAIN COMPONENTS OF THE PCE CONTROLLER ................................................. 46
3.6.3.2 PCEP MESSAGES .............................................................................................................. 47
CHAPTER 4 .................................................................................................................................................. 48
METHODOLOGY: EVE-NG, CISCO IOS XR, TOPOLOGY, SIMULATION AND RESULTS ............ 48

4.2.1 EQUIPMENT USED .................................................................................................................... 49

4.3.1 TASK ............................................................................................................................................. 50


4.3.2 NETWORK DESIGN ................................................................................................................... 51
4.3.2.1 NETWORK SCENARIO .................................................................................................... 51
4.3.2.2 NETWORK TOPOLOGY .................................................................................................. 51
4.3.2.3 NETWORK COMPONENTS ............................................................................................. 53
4.3.2.4 IP ADDRESSING ................................................................................................................ 54

4.4.1 SR IMPLEMENTATION PROCESS ......................................................................................... 55


4.4.2 LAYER 3VPN CONFIGURATION PROCESS ........................................................................ 56
4.4.2.1 CREATE VRFS AND ASSIGN TO CLIENT ................................................................... 56
4.4.2.2 CONFIGURE OSPF BETWEEN PES AND CES ............................................................ 57
4.4.2.3 CONFIGURE MBGP BETWEEN PES (PE1 & PE2) ...................................................... 58
4.4.2.4 REDISTRIBUTION ROUTES BETWEEN OSPF AND MBGP..................................... 59
4.4.3 SR-TE AND PCE IMPLEMENTATION PROCESS ................................................................ 60
4.4.3.1 SR-TE CONFIGURATION ......................................................................................................... 61
4.4.3.2 PCE IMPLANTATION ............................................................................................................... 62

CHAPTER 5 .................................................................................................................................................. 67
CONCLUSION AND FUTURE WORK...................................................................................................... 67
REFERENCES ............................................................................................................................................. 69
APPENDIX: NETWORK CONFIGURATION .......................................................................................... 72

VII
List of Figures

Figure 1.1: Segment Routing Concept [28]. ........................................................................................................... 2


Figure 2.1:OSI and TCP/IP models [1]. ............................................................................................................... 11
Figure 2.2:Steps in the communication Process [1].............................................................................................. 13
Figure 2.3:comparing between OSI and TCP/IP Models [1]. ............................................................................... 14
Figure 2.4: OSI Encapsulation Process [1]. .......................................................................................................... 15
Figure 2.5:TCP/IP Application Layer vs OSI Model Layers [1]. ......................................................................... 16
Figure 2.6: Network Layer Encapsulation Process [1]. ........................................................................................ 20
Figure 2.7: Routing Types [32]. ........................................................................................................................... 23
Figure 2.8: OSPF packet header [33].................................................................................................................... 24
Figure 2.9: L3VPN Architecture [12]. .................................................................................................................. 30
Figure 3.1: MPLS L2.5 in TCP/IP Model [16]. .................................................................................................... 34
Figure 3.2: Information of MPLS Header [16]. .................................................................................................... 35
Figure 3.3: MPLS Operation [16]. ........................................................................................................................ 36
Figure 3.4: Old Network Domains [21]. ............................................................................................................... 40
Figure 3.5: Network Domains after SR [21]......................................................................................................... 40
Figure 3.6: SDN with Segment routing [34]......................................................................................................... 42
Figure 4.1: Project Network Topology ................................................................................................................. 52
Figure 4.2:show MPLS forwarding ...................................................................................................................... 56
Figure 4.3: OSPF Neighbors................................................................................................................................. 56
Figure 4.4:Vrf of the customers ............................................................................................................................ 57
Figure 4.5: Show VRF interfaces ......................................................................................................................... 57
Figure 4.6: Network of Customer 1 ...................................................................................................................... 58
Figure 4.7: Network of Customer 2 ...................................................................................................................... 58
Figure 4.8:Neighborship between PE1 & PE2 ..................................................................................................... 59
Figure 4.9:Redistribute Customer's networks ....................................................................................................... 60
Figure 4.10: PE1 SR-TE Policy ............................................................................................................................ 61
Figure 4.11:PE2 SR-TE Policy ............................................................................................................................. 62
Figure 4.12: The SP Network topology from PCE Point of view ......................................................................... 63
Figure 4.13: PCE IP from the PCCs point of view ............................................................................................... 63
Figure 4.14:C1-A pinging and traceroute C1-B ................................................................................................... 64
Figure 4.15:C2-B pinging and traceroute C2-A ................................................................................................... 64
Figure 4.16:Traceroute from PE1 to PE2 using SR-TE policy ............................................................................. 65
Figure 4.17:Traceroute from PE2 to PE1 using SR-TE policy ............................................................................. 65

VIII
List of tables

Table 2.1: Layers of TCP/IP Model [1]. ............................................................................................................... 12

Table 2.2:Protocol Data Unit Naming convention [1]. ......................................................................................... 12

Table 2.3: OSI Model [1]...................................................................................................................................... 14

Table 2.4:OSPF Packet types [11]. ....................................................................................................................... 25

Table 2.5: OSPF Link-State types [11]................................................................................................................. 28

Table 3.1: SR-TE Vs RSVP TE [27]. ................................................................................................................... 45

Table 4.1: IP Address of the Routers .................................................................................................................... 54

Table 4.2: IP Address of the PCs .......................................................................................................................... 55

IX
List of Abbreviations

Abbreviation Description

ABR Area Boarder Router

AD Administrative Distance

AER Application Engineered Routing

AS Autonomous System

ASBR Autonomous System Boarder Router

BDR Backup Designated Router

BGP Border Gateway Protocol

BoS Bottom of Stack

C Customer Router

CapEx Capital Expenditure

CE Customer Edge Router

DNS Domain Name System

DR Designated Router

X
EIGRP Enhanced Interior Gateway Routing Protocol

Exp Experimental

FEC Forward Equivalence Class

FIB Forwarding Information Base

GB Gigabyte

GUI Graphical User Interface

Hypertext Transfer Protocol


HTTPS

Internet Engineering Task Force


IETF

Interior Gateway Protocol


IGP

Interior Gateway Routing Protocol


IGRP

International Organization of Standardization


ISO

Intermediate System to Intermediate System


IS-IS

IP Internet Protocol

KVM Kernel-based Virtual Machine

L2VPN MPLS Layer 2 VPN

L3VPN MPLS Layer 3 VPN

LAN Local Area Network

XI
LDP Label Distribution Protocol

LER Label Edge Router

LFIB Label Forwarding Information Base

LIB Label Information Base

LSA Link State Advertisement

LSAck Link State Acknowledgment

LSDB Link State Data Base

LSP Label Switch Path

LSR Link State Request

LSU Link State Update

MP BGP Multi-Protocol BGP

MPEG Motion Picture Experts Group

MPLS Multi-protocol label switching

NIC Network Interface Card

OSI Open Systems Interconnection Model

OSPF Open Shortest Path First

P Provider Router

XII
PCC Path Computation Client

PCE Path Computation Element

PCEP PCE Communication Protocol

PDU Protocol Data Unit

PE Provider Edge Router

QoS Quality of Service

RAM Random Access Memory

RD Route-Distinguisher

RDP Remote Desktop Protocol

RFC Request for Comments

RSVP Resource Reservation Protocol

RT Route-Target

SID Segment Identifier

SLA Service Level Agreement

SP Service Provider

SR Segment Routing

SRGB Segment Routing Global Block

XIII
SRTE Segment Routing Traffic Engineering

SRv6 Segment Routing Version 6

SSH Secure Shell Protocol

TCP Transmission Control Protocol

TCP/IP TCP/Internet Protocol

TE Traffic Engineering

Telnet Teletype Network Protocol

Ti-LFA Topology-Independent Loop-Free Alternate

TTL Time to Live

UDP User Datagram Protocol

vCPU virtual centralized processing unit

VOIP Voice Over IP

VPN Virtual Private Network

VRF Virtual Routing and Forwarding

VXLAN Virtual Extensible LAN

WAN Wide Area Network

WinSCP Windows Secure Copy

XIV
1. Chapter 1

General Introduction
CHAPTER 1 INTRODUCTION

Introduction
In this project, we introduce the layers in traditional IP-based networks and the routing method,
also we will explain a new technology called Segment-Routing, this technology has been
grown in the last few years, and it will enhance the efficiency of the service provider networks
which are using the technology of Multi-Protocol Label Switching (MPLS).
MPLS is an emerging technology that plays an important role in next-generation service
provider networks,
MPLS classic Label Distribution Protocol (LDP) and Resource Reservation Protocol - Traffic
Engineering (RSVP-TE) control plane was too complex and lacked scalability. Operators were
complaining about the lack of size, functionality, and complexity inherent in the classical
MPLS control plane, the MPLS data plane was mature and very well deployed. For these
reasons, was to implement SR at the MPLS data plane is necessary.

Figure 1.1: Segment Routing Concept [28].

2
CHAPTER 1 INTRODUCTION

Aims and objectives


The aim of this project is to simulate one of the service provider network topologies and
developed with Segment routing (SR) without needing for LDP, also using SR with traffic
engineering in terms of carrying audio, video, and data traffic. when finish this study shall be
reached with these sets of goals:

❖ Studying the basics of IP networks and Routing Protocols.


❖ Studying MPLS data plane architecture and how its work.
❖ Know the Segment-Routing technology and its components.
❖ Design and simulate a network model for SR-MPLS and seeing how it works.

Scope of the project


This project mainly covers a new technology called Segment Routing, this technology is a
source-based routing technology used especially in the Service Provider networks, it also
covers network fundamentals such as OSI and TCP/IP models also a description of routing
mechanisms, functionalities and design parameters of the Service Provider networks. This
project provides the advantage of SR-MPLS over the legacy MPLS control plane, focusing on
the new features that come with the SR like simplification of the control-plane and microloop
avoidance that are considered important and relevant to our document.

Excepted outcomes
The main goal of this project is to describe new Technology called Segment routing (SR) used
especially in the service provider networks. The possible outcomes are the simulation of the
Service Provider network using Segment Routing in the Core, which shows the performance
of SR. The simulated data will be presented in a graphical form. Each graph will be plotted
from the simulated data and will focus on the capabilities of the SR and the source routing
technique. This presentation will make the benefits of the SR easier and more informal to the
reader.

Research methodology
The scientific methodology used in this type of research will combine theoretical research and
empirical research (simulation) to improve the practical knowledge that distinguishes us as
engineers. This type of research is based on defining new network technology and proving the

3
CHAPTER 1 INTRODUCTION

impact of this technology on the Service Provider networks. EVE-NG has been selected for
this purpose in terms of simulation, and the network design employed in this project complies
with Cisco Systems, Inc. requirements. The following steps are a part of this methodology:

• Simulation design.
• Implementation of simulation.
• Segment Routing.
• Path Computation Element.
• MPLS Layer 3 VPN.
• Verifying simulation results.

To demonstrate the effectiveness and breadth of this technology's capabilities, particularly in


the context of applying Traffic Engineering in the network, a simulation study is carried out
using the EVE-NG program.

4
CHAPTER 1 INTRODUCTION

Documentation Outline
The layout of the documentation comprises of five chapters to cover fundamental concepts of
the technologies used, methodology method and case study and a brief conclusion as follows:

• Chapter 2 Provides the overview of OSI Model covering the layers, functions, and the
protocols. It also introduces the Routing Protocols used in the Service Provider core
network, its advantages and disadvantages, and details of how it works.
• Chapter 3 introduces the concept of the MPLS. The Segment Routing technology,
architecture and operation. It also gives a comparative comparison Between the legacy
MPLS control plane and SR-MPLS.
• Chapter 4 illustrate the empirical study part of the project.
• Chapter 5 present the conclusion of the project as well as any suggestion for future work.

5
2. Chapter 2

Network fundamental and Routing


Protocols

6
CHAPTER 2 Network Fundamentals and Routing Protocols

2.1 Introduction
Twenty years ago, people communicated mostly on a local level because communicating with
people far away was complicated and expensive, the majority of voice contact was conducted
over the phone or in person. In contrast, most written messages were sent via the postal service,
and one-way video was aired on television. The far distance reach and the reduced cost of
communication through the Internet have changed how businesses deal with their customers,
how people share information and resources, and how friends and families stay close to each
other.

TCP/IP model and reference model (OSI model) are the two networking models that network
engineers define for use in communications. Both were created in the 1970s when network
communication was in its infancy, over the time technology has evolved and the need for
communications between long distances and different countries has increased, so routing
protocols have been invented to facilitate the process of sending data.

2.1.1 What Is Communication?


People have many ways of communicating with each other. Whether the communication is
verbal or nonverbal, face-to-face or over the telephone, or in a handwritten letter or a chat room,
successful communication requires common rules.

The rules of communication are also known as protocols. Some of the protocols required for
communication to occur include the presence of:

❖ A known sender and receiver.


❖ An agreed-upon method of communicating (face-to-face, telephone, letter, photograph).
❖ Common language and grammar.
❖ An agreed-upon speed and timing of delivery (for example, “Please slow down so that I
can understand you”).
❖ Confirmation or acknowledgment requirements (for example, “Is that clear?” “Yes, thank
you”).

Not all communications have the same agreed-upon protocols. For example, an important legal
letter can require a signature and response from the recipient, but personal letters need no such
acknowledgment.

7
CHAPTER 2 Network Fundamentals and Routing Protocols

People are unaware of many of the rules they follow while communicating because they are
ingrained in language and culture. The tone of voice, pausing between thoughts, and polite ways
to interrupt are just a few examples of implicit rules that humans follow.

2.1.2 Quality of Communication


Computers and computer networks have no such ingrained communication knowledge, but
similar protocols are still required for network devices to communicate. Successful
communication between computer network devices, exactly as it is with interpersonal
communication, occurs when the meaning of the message understood by the recipient matches
the meaning intended by the sender.
Successful computer-to-computer communication can be hampered by a variety of potential
issues. On a computer network, sending a message can be a complicated procedure with
numerous steps and requirements. If any of these are not completed, the message could
potentially be ruined. Groups of actions and circumstances, or factors, might be internal and
external [1].
The external factors arise from the complexity of the network and the number of devices
handling the message on the route to the destination. Examples of external factors include the
following:
❖ The quality of the pathway between the sender and the recipient.
❖ The number of times the message has to change form.
❖ The number of times the message has to be redirected or readdressed.
❖ The number of other messages being transmitted simultaneously on the communication
network.

The following internal elements affect the length of time allotted for successful
communication:

• The size of the message.


• The complexity of the message.
• The importance of the message, where more complex messages can be more difficult
for the recipient to understand, and larger messages have a greater potential to be
distorted or incomplete at the destination.

8
CHAPTER 2 Network Fundamentals and Routing Protocols

2.1.3 Network Protocols


Different protocols that carry out the numerous duties that need to be finished must be
followed by devices for them to communicate on a network. The protocols define the
following:

❖ The message's format, including how much information should be included in each
segment.
❖ The manner in which intermediary devices exchange information regarding the route to
the destination.
❖ How update messages are handled between intermediary devices.
❖ The procedure to start and stop communications between hosts.

The authors of the protocols might be writing them for a specific company that will own the
protocol. The protocol is treated like copyright and can be licensed to other companies to use,
some protocols are created for public usage at no cost and are considered open-source
protocols, while proprietary protocols are those controlled by a firm and not for public use.

2.1.4 Interaction of Protocols


The interaction between a web server and a web browser is a case study of how a protocol suite
is used in network communications. This interaction uses several protocols and standards in
the process of exchanging information between them. The various protocols cooperate to make
sure that both parties receive and comprehend the messages. Examples of these protocols are
as follows:

➢ Hypertext Transfer Protocol (HTTP): HTTP is a common protocol that governs the way
that a web server and a web client interact. HTTP defines the content and formatting of the
requests and responses exchanged between the client and server. Both the client and the web
server software implement HTTP as part of the application. The HTTP protocol relies on other
protocols to govern how the messages are transported between client and server.
➢ Transport protocol: Transmission Control Protocol (TCP) is the transport protocol that
manages the individual conversations between web servers and web clients. TCP divides the
HTTP messages into smaller pieces, called segments, to be sent to the destination client. It is
also responsible for controlling the size and rate at which messages are exchanged between the
server and the client.

9
CHAPTER 2 Network Fundamentals and Routing Protocols

➢ Internetwork protocol: The most common internetwork protocol is Internet Protocol (IP). IP
is responsible for taking the formatted segments from TCP, encapsulating them into packets,
assigning the appropriate addresses, and selecting the best path to the destination host.
➢ Network Access protocols: Network Access protocols describe two primary functions: data-
link management and the physical transmission of data on the media. Data-link management
protocols take the packets from IP and format them to be transmitted over the media. The
standards and protocols for the physical media govern how the signals are sent over the media
and how they are interpreted by the receiving clients. Transceivers on the network interface
cards implement the appropriate standards for the media that is being used [2].

2.1.5 Technology-Independent Protocols


Protocols that guide the network communication process are not dependent on any specific
technology to carry out the task. Protocols describe what must be done to communicate, not
how the task is to be completed. For example, in a classroom, the protocol for asking a question
might be to raise a hand for attention. The protocol instructs students to raise their hands, but
it does not specify how high to raise them or specify whether the right hand or left hand is
better or whether waving the hand is helpful. Each student can raise his or her hand in a slightly
different way, but if the hand is raised, the teacher will likely give attention to the student.

So, network communication protocols state what tasks must be completed, not how to complete
them. This is what enables different types of devices, such as telephones and computers, to use
the same network infrastructure to communicate. Each device has its technology, but it can
interact with different devices at the network level, on Apple, Microsoft, and Linux, the
operating systems must find a way to present data to others using TCP/IP, but each operating
system will have its way to do it [1].

2.2 Reference Models


The IT industry uses layered models to describe the complex process of network
communication. Protocols for specific functions in the process are grouped by purpose into
well-defined layers.

2.2.1 The Benefits of a Reference Model


By breaking the network communication process into manageable layers, the industry can
benefit in the following ways:

10
CHAPTER 2 Network Fundamentals and Routing Protocols

❖ Defines common terms that describe the network functions to those working in the industry
and allow greater understanding and cooperation.
❖ Segments the process to allow technologies performing one function to evolve
independently of technologies performing other functions. For example, advancing
technologies of wireless media is not dependent on advances in routers.
❖ Fosters competition because products from different vendors can work together.
❖ Provides a common language to describe networking functions and capabilities.
❖ Assists in protocol design, because protocols that operate at a specific layer have defined
information that they act upon and a defined interface to the layers above and below [3].

2.2.2 Overview of Network Model


The OSI model describes the entire communication process in detail, and the TCP/IP model
describes the communication process in terms of the TCP/IP protocol suite and the way it
functions. The OSI model is used to reference the process of communication, not to regulate
it. Many protocols in use today apply to more than one layer of the OSI model. This is why
some of the layers of the OSI model are combined in the TCP/IP model. Some manufacturers
use variations on these models to demonstrate the functions of their products within the
industry. Figure 2.1 shows both OSI and TCP/IP models [4].

Figure 2.1:OSI and TCP/IP models [1].

11
CHAPTER 2 Network Fundamentals and Routing Protocols

2.2.3 About TCP/IP Model


The TCP/IP model defines the four communication functions that protocols perform. TCP/IP
is an open standard, which means that one company does not control it. The rules and
implementations of the TCP/IP model were cooperatively developed by members of the
industry using Request for Comments (RFC) documents. RFC documents are publicly
accessible documents that define the protocol’s specifications and policies and the Internet in
general, Table 2.1 briefly describes the functions of each layer of the TCP/IP model.

Table 2.1: Layers of TCP/IP Model [1].


Layer Description
Application Represents application data to the user. For
example, HTTP presents data to the user in a
web browser application like Internet Explorer.
Transport Supports communication between devices and
performs error correction.
Internet Finds the best path through the network.
Network access Controls hardware devices and media.

2.2.4 Protocol Data Units and Encapsulation


For application data to travel uncorrupted from one host to another, a header or control data,
which contains control and addressing information, is added to the data as it moves down the
layers. The process of adding control information as it passes through the layered model is
called Encapsulation, Decapsulation is the process of removing the extra information and
sending only the original application data up to the destination application layer.

Each layer adds control information at each step. The generic term for data at each level is
protocol data unit (PDU), but a PDU is different at each layer. For example, a PDU at the
internetwork layer is different from the PDU at the transport layer, because layer data has been
added to the transport layer data. The different names for PDUs at each layer are listed in Table
2.2.

Table 2.2:Protocol Data Unit Naming convention [1].

PDU name Layer


Data Application layer PDU Segment
Segment Transport layer PDU
Packet Internetwork layer PDU
Frame Network access layer PDU
Bits PDU is used for the physical transmission of binary data over media

12
CHAPTER 2 Network Fundamentals and Routing Protocols

Figure 2.2 depicts these steps as an encapsulated message travels down the TCP/IP model on
the source and is on the way to the destination for decapsulation.

Figure 2.2:Steps in the communication Process [1].

2.2.5 About OSI Model


The OSI model describes the network communication process. Developed by the International
Organization for Standardization (ISO) to provide a road map for non-proprietary protocol
development, the OSI model did not evolve as readily as the TCP/IP model. Many of the OSI
protocols are no longer in use, but knowledge of the model as a reference is basic for
networking professionals. Many professionals refer to the layers by number rather than name,
so it is important to know both.

As designed, the communication process begins at the application layer of the source, and data
is passed down to each lower layer to be encapsulated with supporting data until it reaches the
physical layer and is put out on the media. When the data arrives at the destination, it is passed
back up through layers and decapsulated by each layer. Each layer provides data services to
the layer directly above by preparing information coming down the model or going up. Table
2-3 briefly describes each layer of the OSI model.

13
CHAPTER 2 Network Fundamentals and Routing Protocols

Table 2.3: OSI Model [1].

No. Layer Name Description


7 Application Performs services for the applications used by the end-users

6 Presentation Provides data format information to the application. For example,


the presentation layer tells the application layer whether there is
encryption or whether it is a .jpg picture.
5 Session Manages sessions between users. For example, the session layer
will synchronize multiple web sessions and voice and video data in
web conferences
4 Transport Defines data segments and numbers them at the source, transfers
the data, and reassembles the data at the destination
3 Network Creates and addresses packets for end-to-end delivery through
intermediary devices in other networks.
2 Data link Creates and addresses frames for host-to-host delivery on the local
LANs and between WAN devices.
1 Physical Transmits binary data over media between devices. Physical layer
protocols define media specifications.

2.2.6 Comparing the OSI Model to the TCP/IP Model


The TCP/IP model evolved faster than the OSI model and is now more practical in describing
network communication functions. The OSI model describes in detail functions that occur at
the upper layers on the hosts, while networking is largely a function of the lower layers. Figure
2.3 shows the two models side by side for comparison

Figure 2.3:comparing between OSI and TCP/IP Models [1].

14
CHAPTER 2 Network Fundamentals and Routing Protocols

2.2.7 OSI Model


The OSI reference model is a layered, abstract representation created as a guideline for network
protocol design and instruction. The OSI model divides the networking process into seven
logical layers, each of which has unique functionality, and to which are assigned specific
services and protocols.

In the OSI model, information is passed from one layer to the next, starting at the application
layer on the transmitting host and proceeding down the hierarchy to the physical layer, then
passing over the communications channel to the destination host, where the information
proceeds back up the hierarchy, ending at the application layer [5].

The following explains the six steps:


1. People create the communication process.
2. The application layer prepares human communication for transmission over the data
network.
3. Software and hardware convert communication to a digital format.
4. Application layer services initiate the data transfer.
5. Each layer plays its role. The OSI layers encapsulate data when it goes to the layer
below it. Encapsulated data travels across the media to the destination. OSI layers at
the destination decapsulate the data up the stack.
6. The application layer receives data from the network and prepares it for human use.

Figure 2.4: OSI Encapsulation Process [1].

15
CHAPTER 2 Network Fundamentals and Routing Protocols

2.2.7.1 The Application Layer


Is the top layer of both the OSI and TCP/IP models. Layer 7 on the OSI model provides the
interface between the applications you use to communicate and the underlying network over
which your messages are transmitted. Application layer protocols are used to exchange data
between programs running on the source and destination hosts. There are many application
layer protocols, and new protocols are always being developed. Although the TCP/IP protocol
suite was developed before the definition of the OSI model, the functionality of the TCP/IP
application layer protocols fits roughly into the framework of the top three layers of the OSI
model: application, presentation, and session.

Most applications, such as web browsers or e-mail clients, incorporate the functionality of the
OSI Layers 5, 6, and 7. A comparison of the OSI and TCP/IP model is shown in figure 2.5
Most TCP/IP application layer protocols were developed before the emergence of personal
computers, GUIs, and multimedia objects.

Figure 2.5:TCP/IP Application Layer vs OSI Model Layers [1].

16
CHAPTER 2 Network Fundamentals and Routing Protocols

2.2.7.2 The Presentation Layer


The presentation layer has three primary functions:

❖ Coding and conversion of application layer data to ensure that data from the source
device can be interpreted by the destination device.
❖ Compression of the data in a manner that can be decompressed by the destination device.
❖ Encryption of the data for transmission and decryption of data upon receipt by the
destination.

Presentation layer implementations are not typically associated with a particular protocol stack.
The standards for video and graphics are examples. Some well-known standards for video
include QuickTime and Motion Picture Experts Group (MPEG). QuickTime is an Apple
computer specification for video and audio, and MPEG is a standard for video compression
and coding.

2.2.7.3 The Session Layer


Session layer is the fifth layer in the OSI model. This layer is responsible for managing the
connection between two machines during the communication between them. at this layer where
it is determined whether all the information for the session has been received or not. And thus,
it can decide whether to stop the reception or transmission of data packets. Since we are dealing
with data packets, this layer also has built-in error correction and recovery methods.

The session layer communicates between service requestors and providers. Certain
mechanisms help control communication sessions. These mechanisms help in establishing,
maintaining synchronization, and managing dialogue between the communicating entities.

Within the layering arrangements of the OSI network architecture, the session layer responds
to service requests from the presentation layer and issues service requests to the transport layer.
Thus, the main aim of the session layer is to manage and synchronize conversation between
two different applications and avoid any premature loss of data stream.

Services provided by the Session Layer:

➢ Management: So many layers and so many applications and protocols can be confusing
especially for the system itself. Session layer manages the order of the operation in case more
than one party is attempting a critical operation at the same time. Opening and closing a
connection or session between end-user applications is also the role of this layer.

17
CHAPTER 2 Network Fundamentals and Routing Protocols

➢ Authentication: After a request for a connection is made and the address of the sender has
been recognized, it is important to identify the source of the request and find out if it is a
legitimate one.

in simple words, this is a process of verification of the endpoint from where the request was
made.

• Authorization: After authentication comes to the authorization, after the verification of your
identity you must receive the permit to establish a session, and this is the simple process that
most probably is the simplest function of the entire model.

The failed attempts of communication by the upper layers are fixed by this layer by re-
establishing the connection.

2.2.7.4 The Transport Layer


The transport layer accepts data from the session layer and segments the data for transport
across the network. Generally, the transport layer is responsible for making sure that the data
is delivered error-free and in the proper sequence. Flow control generally occurs at the transport
layer.

Flow control manages data transmission between devices so that the transmitting device does
not send more data than the receiving device can process. Multiplexing enables data from
several applications to be transmitted onto a single physical link. Virtual circuits are
established, maintained, and terminated by the transport layer. Error checking involves creating
various mechanisms for detecting transmission errors, while error recovery involves acting,
such as requesting that data be retransmitted, to resolve any errors that occur.

The following are the primary responsibilities of the transport layer:

❖ Tracking the individual communications between applications on the source and


destination hosts.
❖ Segmenting data and managing each piece.
❖ Reassembling the segments into streams of application data.
❖ Identifying the different applications.
❖ Performing flow control between end users.
❖ Enabling error recovery.
❖ Initiating a session.

18
CHAPTER 2 Network Fundamentals and Routing Protocols

▪ Transport Layer Network Protocols:


- Transmission Control Protocol (TCP) is a connection-oriented transport protocol that sends
data as an unstructured stream of bytes. By using sequence numbers and acknowledgment
messages, it can provide a sending node with delivery information about packets transmitted
to a destination node, where data has been lost in transit from source to destination, and it can
retransmit the data until either a timeout condition is reached or until successful delivery has
been achieved. There are characteristics that make TCP an end-to-end reliable transport
protocol.

TCP can recognize duplicate messages and will discard them appropriately. If the sending
computer is transmitting too fast for the receiving computer, TCP can employ flow control
mechanisms to slow data transfer.

It can also communicate delivery information to the upper-layer protocols and applications it
supports. All these characteristics make TCP an end-to-end reliable transport protocol.

- User Datagram Protocol (UDP) is a simple, connectionless protocol, it has the advantage of
providing low-overhead data delivery. The segments of communication in UDP are called
datagrams. UDP sends datagrams as “best effort”. Applications that use UDP include:-
• Domain Name System (DNS).
• Video streaming.
• Voice over IP (VoIP).

2.2.7.5 The Network Layer


The network layer, or OSI Layer 3, receives segments of data, or PDUs, from the transport
layer. These bits of data have been processed into a transportable size and numbered for
reliability. It is now up to the network layer to use protocols to add addressing and other
information to the PDU and send it to the next router along the best path, or route it to the
destination network.

Network layer protocols, such as the widely used IP, are rules and instructions that devices use
to enable sharing of upper-layer information between hosts. When the hosts are in different
networks, additional routing protocols are used to choose routes between networks.

Network layer protocols specify the addressing and packaging of a transport layer PDU and
describe how the PDU is to be carried with minimum overhead.

19
CHAPTER 2 Network Fundamentals and Routing Protocols

▪ The network layer describes four tasks to be performed:


1) Addressing packets with an IP address.
2) Encapsulation.
3) Routing.
4) Decapsulation.
➢ Addressing

IP requires each sending and receiving device to have a unique IP address. Devices in IP
networks that have IP addresses are called hosts. The IP address of the sending host is known
as the source IP address, and the IP address of the receiving host is referred to as the destination
IP address.

➢ Encapsulation

Each PDU sent between networks needs to be identified with source and destination IP
addresses in an IP header. The IP header contains the address information and some other bits
that identify the PDU as a network layer PDU. This process of adding information is called
encapsulation. When an OSI Layer 4 PDU has been encapsulated at the network layer, it is
referred to as a packet.

Figure 2.6 describes Network Layer Encapsulation Process.

Figure 2.6: Network Layer Encapsulation Process [1].

20
CHAPTER 2 Network Fundamentals and Routing Protocols

➢ Decapsulation
An IP packet arrives at a router’s network interface encapsulated in a Layer 2 frame on the
physical OSI layer. The router’s network interface card (NIC) accepts the packet, removes the
Layer 2 encapsulation data, and sends the packet up to the network layer. The process of
removing encapsulation data at different layers is referred to as decapsulation. Encapsulation
and decapsulation occur at all layers of the OSI model. As a packet travels from network to
network to its destination, there can be several instances in which Layers 1 and 2 are
encapsulated and decapsulated by routers. The network layer only decapsulates the IP packet
at the final destination after examining the destination addresses and determining that the
journey is over. The IP packet is no longer useful, so it is discarded by the destination host.
When the IP packet is decapsulated, the information in the packet is handed up to the upper
layers for delivery and processing.

2.2.7.6 The Data Link Layer


The data link layer provides a means for exchanging data over a common local media. The data
link layer links the many upper-layer services responsible for packaging the data for
communication between hosts with the services to transfer that data across the media.

To transfer this data across the local media, the data link layer repackages it into frames and
controls the frames access to the media. Because an indescribable number of physical media
exist, a wide variety of data link layer protocols define different types of frames and different
methods of controlling access to the media.

Some types of frames and data link layer services support communications for LANs and the
others support communications across WANs. Some frame types are used on a specific type of
media, while the others can be used on multiple types of media. So, generalizing the functions
of the data link layer is not an easy task.

Data link layer provides many different types of data link and physical technologies, including
some of the logical topologies. Finally, Ethernet is presented as an example for the physical
and data link layers.

2.2.7.7 The Physical Layer


The role of the OSI physical layer is to encode the binary digits that represent data link layer
frames into signals and to transmit and receive these signals across the physical media such as
copper wires, optical fiber, and wireless that connect network devices. The datalink frame that

21
CHAPTER 2 Network Fundamentals and Routing Protocols

comes down to the physical layer contains a string of bits representing application,
presentation, session, transport and network information. These bits are arranged in the logical
order required by the specific protocols and applications that use them. These bits must travel
over a physical medium such as a glass fiber-optic cable, or wirelessly through the air. The
physical medium is capable of conducting a signal in the form of voltage, light, or radio waves
from one device to another. It is possible that the media will be shared by traffic from many
protocols and subjected to physical distortions along the way. Part of the physical layer design
is to minimize these effects of overhead and interference.

2.3 Routing Process


Routing is the process of finding the best path along which the data can be transferred from the
source to the destination, and it’s performed by a special device known as a Router. Routers
are the networking devices that responsible for delivering packets between different subnets
based on the information available in the packet header and forwarding table, each router uses
an internal routing table to determine the best path to send the packets. A routing table is a set
of rules that is used to determine where data packets traveling over an IP network will be
directed and it contains the information necessary to forward the packets along the best path
toward its destination. When the packet is received, the router examines the packet and matches
it to the routing table entry providing the best match for its destination.

2.3.1 Routing Metrics


Routing Metrics are the network variables used to determine the best route to the destination.

For some protocols these metrics are static, and it means that their value cannot be changed,
and some other routing protocols uses the dynamic metrics, and it means that their value can
be assigned by the system administrator the most common metric values are given below.

▪ Hop count.
▪ Delay.
▪ Bandwidth.
▪ Load.
▪ Reliability.

22
CHAPTER 2 Network Fundamentals and Routing Protocols

2.3.2 Types of Routing


There are three types of routing, static, default and dynamic routing as shown in figure 2.7:

Figure 2.7: Routing Types [32].

2.3.2.1 Static Routing


Static Routing is Additionally called Non-adaptive Routing. It is a technique in which the
administrator determines the optimum route for transferring data from the source to the
destination i.e., the administrator manually adds the routes in a routing table. By using static
routes, the network administrator chooses the pathway to be used to reach a specific destination
network. The static route will replace any pathway learned via a routing protocol because of
the administrative distance [6].

2.3.2.2 Default Routing


Default Routing is a special case of a static route, and it is a technique in which a router is
configured to send all the packets to the same hop device, normally we think of default
gateways or routers for hosts, the routers can also have default gateways. Like the end device,
when the routing table is exhausted and no matches are found for the destination, the default
route is used. In Cisco-speak, this is referred as the gateway of last resort.

2.3.2.3 Dynamic Routing


Dynamic routes are those learned via routing protocols, such as Intermediate System to
Intermediate System (IS-IS) or Open Shortest Path First (OSPF). Dynamic routing also known
as Adaptive Routing, it's a networking technique that provides optimal data routing, unlike

23
CHAPTER 2 Network Fundamentals and Routing Protocols

static routing, dynamic routing enables routers to select paths according to real-time logical
network layout changes.

➢ The Dynamic protocol should have the following features:


▪ By default, all the routers must have the same dynamic routing protocol to exchange
the routes.
▪ If the router discovers any change in the topology, then the router advertises these
information to all other routers [7].

2.4 Open Shortest Path First (OSPF)


Open Shortest Path First (OSPF) is a link-state routing protocol that is used to find the best
path between the source and the destination router using its own Shortest Path First Mechanism.
OSPF is developed by Internet Engineering Task Force (IETF) as one of the Interior Gateway
Protocol (IGP), the protocol which aims at moving the packet within a large autonomous
system or routing domain. OSPF does not use TCP or UDP It is a network layer protocol that
works on protocol number 89, and uses Administrative Distance (AD) value 110. OSPF uses
multicast address 224.0.0.5 for normal communication and 224.0.0.6 for update to designated
router (DR) and the Backup Designated Router (BDR). OSPF have a unique packet and the
Figure (2.8) shows the OSPF packet header format [8].

Figure 2.8: OSPF packet header [33].

2.4.1 OSPF Functions


The following are examples of OSPF's high level capabilities:

• Discover neighbors and form adjacencies.


• Flood link-state database (LSDB) information.
• Compute the shortest path.
• Install all routes in the router forwarding table.

24
CHAPTER 2 Network Fundamentals and Routing Protocols

Additional Functions of OSPF include the following:

• Detect changes in the link state.


• Propagate changes to maintain link-state database synchronization.

Several OSPF packet types are involved in these functions, the Below table 2.4 shows
the packet types of OSPF protocol.

Table 2.4:OSPF Packet types [11].

Type Packet Description


1 Hello Discover neighbors and builds adjacencies between them
2 DBD Check for database synchronization between routers
3 LSR Request specific link state records from another router
4 LSU Sends specifically requested link-state records
5 LSAck Acknowledges the other packet types

2.4.2 Advantages and Disadvantages of OSPF


As with all routing protocols, OSPF has its advantages and disadvantages as shown below:

2.4.2.1 Advantages
▪ Open Short Path First is easily scalable, meaning with the very little number of issues,
we can scale it to use in a very big network.
▪ It has full support for subnets.
▪ Use of Hello Packets.
▪ It can route packets based on their type of service field.

2.4.2.2 Disadvantages
▪ It is a processor-intensive protocol to use. Because it maintains more than one copy of
routing information, it consumes more memory.
▪ It is a more complex protocol to understand and learn compared to other Internet
Protocols [9].

2.4.3 Working Mechanism of OSPF


When it is configured, it listens to its neighbors in the networks and gathers all the link state
data available. This data is then used to make a topology map that contains all available paths
in the network. This database is saved for use, and we call it Link State Database (LSDB).

25
CHAPTER 2 Network Fundamentals and Routing Protocols

Once the LSDB is made it is used to calculate the shortest path to subnets networks using an
algorithm known as Shortest Path First (SPF) which was developed by Edsger W Dijkstra.
OSPF creates 3 tables:

▪ Routing Table (Forwarding database): It contains currently working best paths that
will be used to forward traffic between two neighbors.
▪ Neighbor Table (Adjacency database): This contains all discovered OSPF neighbors.
▪ Topology Table (Link state database): This one contains the entire road map of the
network. This road map includes all the available OSPF routers and keeps calculated
data about best and alternative paths.

2.4.4 OSPF Calculation


Routers find the best paths to destinations by applying the Dijksta SPF algorithm as we said
before, the best path is calculated based on the lowest total cost (OSPF metric) and is defined
per interface but maybe altered, the cost is inversely with the bandwidth of the interface.

Cost = 100,000,000 / bandwidth [b/s]

2.4.5 OSPF Architecture


Working inside of an area is hierarchically organized among routers that share this area and
are categorized as:

▪ Link-State Advertisements (LSAs): Are used by OSPF routers to exchange topology


information. Each LSA includes topology and routing details to characterize a specific area of
an OSPF network. When two neighbors decide to exchange routes, they send each other a list
of all LSAs in their respective topology databases. Then, after checking its topology database,
each router sends a Link State Request (LSR) message asking for any LSAs not listed in its
topology table. Other router responds with the Link State Update (LSU) that contains all LSAs
requested by the other neighbor.
Router-id: Router-id is used to identify the OSPF device to the other devices in the OSPF
network. This router-id must be unique for each OSPF device. Is determined by using one of
the following:
1. Using the router-id OSPF process command.
2. Using the highest IP address of the router’s loopback interfaces.

26
CHAPTER 2 Network Fundamentals and Routing Protocols

3. Using the highest IP address of the router’s physical interfaces.


▪ Designated Router (DR): Is elected by the routers on multi-access segments, based on its
priority (priority, Router ID). The DR router performs special functions such as generating
Link State Advertisements (LSAs) and exchanging information with all other routers in
the same area. Every router in the same area will create an adjacency with the DR and
BDR. The Multicast address 224.0.0.5 is used by the DR to publish the updates to all
Area routers. All OSPF routers except the DR use Multicast address 224.0.0.6 to send
LSU and LSAs packets to the DR.

▪ Backup Designated Router (BDR): Is the router that becomes the DR when the existing
DR fail. In the OSPF network, the BDR is given second-highest priority (the DR is given
first-highest priority). A new election is held to select a new BDR when the BDR turns
into a DR.
▪ Area Border Routers (ABR): Routers located on the borders of each Area connect to
more than one OSPF area are called ABR Routers. They are responsible for summarizing
IP addresses of each area and suppressing updates among areas to prevent fault
containment.
▪ Autonomous System Boundary Router (ASBR): Is a router that has interfaces
connected to one or more OSPF areas, like the ABR, the difference with an ASBR is that
it also connects to other routing systems such as BGP, EIGRP, Internet, and others. An
ASBR router normally advertises routes from other routing systems into the OSPF AS to
which it belongs.

2.4.6 OSPF Network Types:


In general, there are four types of OSPF network, and they are defined as follows:

2.4.6.1 Point-to-Point Network


▪ A network that joins a single pair of routers.
▪ Does not require DR or BDR election.
▪ Neighbors is automatically detected.
▪ Sends packet using multicast address 224.0.0.5
▪ Default hello interval 10sec.
▪ Default dead interval 40sec.

27
CHAPTER 2 Network Fundamentals and Routing Protocols

2.4.6.2 Broadcast Segment Network


▪ DR and BDR election are required.
▪ Other routers are adjacencies with DR and BDR only.
▪ Packets to DR and BDR use the multicast address 224.0.0.6
▪ Packets from DR to all other routers use 244.0.0.5.
▪ Default hello interval 10sec.
▪ Default dead interval 40sec.

2.4.6.3 Non-broadcast Multiaccess (NBMA)


▪ Single interface interconnects multi-sites.
▪ Does not have broadcast capabilities.
▪ Default hello interval 30sec.
▪ Default dead interval 120sec.

2.4.6.4 Point to Multipoint


▪ No DR and BDR election.
▪ Automatic neighbor discovery.
▪ Each adjacency treated as point-to-point [10].

2.4.7 OSPF Link-state Types


Each OSPF link-state type can be defined by certain name or number and table (2.5) below
shows these link-state types:

Table 2.5: OSPF Link-State types [11]

LSA Type Number LSA Type Name


1 Router LSA
2 Network LSA
3 or 4 Summary LSA
5 Autonomous system External LSA
6 Multicast OSPF LSA
7 LSA defined for NSSA
8 External attribute LSA for BGP
9,10,11 Opaque LSA
2.4.8 OSPF Areas
An OSPF network can be divided into sub-domains called areas. An area is a logical collection
of OSPF networks, routers, and links that have the same area identification. A router within an
area must maintain a topological database for the area to which it belongs. The router does not
28
CHAPTER 2 Network Fundamentals and Routing Protocols

have detailed information about network topology outside of its area, there are five types of
OSPF areas:

2.4.8.1 Backbone Area


The backbone area is the core of the OSPF network. Furthermore, OSPF states that every
area must be connected to the backbone area (area 0).

2.4.8.2 Standard Area


Also called as a normal OSPF Area. All Standard Areas have to connect to the backbone
Area, and this Area has no specific characteristics

2.4.8.3 Stub Area


Stub areas allow you to control the advertisement of external routes into an area. By
designating an ABR interface to the area as a stub interface, you suppress external route
advertisements through the ABR.

2.4.8.4 Totally stubby Area


Totally stubby areas are similar to stub areas, in the fact that they do not receive type 4 or
5 LSAs from their ABRs. However, with totally stubby areas the type 3 (inter-area
advertisement) is also removed, and a single default route is injected by the ABR.

2.4.8.5 Not-so-stubby Area


NSSA OSPF allows redistribution from the different domains but redistributed prefixes
can’t come from the Network Backbone OSPF Area 0 [11].

2.5 MPLS Layer 3 Virtual Private Network (L3VPN)


It is a technology that uses to connect customer branches within the MPLS network, as they
pass through the routers that own by the service provider, such as provider router (P) and
provider edge (PE) without the provider routers storing the customers networks within their
own routing table in order to avoid consuming the resources of the service provider such as
routers CPU or memory.

The Figure 2.9 explain architecture of layer 3 VPN

29
CHAPTER 2 Network Fundamentals and Routing Protocols

Figure 2.9: L3VPN Architecture [12].

2.5.1 Specification
▪ MPLS layer 3 VPNs offer an extremely scalable VPN architecture that can scale to
thousands of customer sites and VPNs.
▪ MPLS layer 3 VPNs allow any-to-any connectivity for enterprise customer sites, and can be
configured to support quality of service (QoS) for real-time and business applications.
▪ MPLS traffic engineering (an associated technology) allows service providers to optimally
utilize network bandwidth, and support tight service-level agreements (SLA) with fast
failover (fast reroute) and guaranteed bandwidth.

2.5.2 L3VPN Components


An MPLS-based layer 3 VPN network has three components:

▪ VPN route target communities—A VPN route target community is a list of all members of a
layer 3 VPN community. You must configure the VPN route targets for each layer 3 VPN
community member.
▪ Multiprotocol BGP peering of VPN community PE routers—Multiprotocol BGP propagates
VRF reachability information to all members of a VPN community. You must configure
Multiprotocol BGP peering in all PE routers within a VPN community.
▪ MPLS forwarding—MPLS transports all traffic between all VPN community members across
a VPN enterprise or service provider network [12].

30
CHAPTER 2 Network Fundamentals and Routing Protocols

2.5.2.1 Virtual routing and forwarding (VRF)


Is a technology included routers that enables multiple instances of a routing table to exist in a
virtual router and work simultaneously, you can use unlimited number of VRFs each one for
specific customer, for Layer 3 VPN implementation adding route distinguisher and route target
is necessary.

Route Distinguisher (RD): when assigning customer to VRF has the same local network
subnet with another customer local network, RD isolated customers local networks routing
information and don’t make overlapping happen.

Route Target (RT): Whereas route distinguishers are used to maintain uniqueness among
identical routes in different VRFs, route targets can be used to share routes among them. We
can apply route targets to a VRF to control the import and export of routes among it and other
VRFs [13].

2.5.2.2 Multiprotocol Border Gateway Protocol (MBGP)


Multiprotocol BGP (MBGP or MP-BGP), sometimes referred to as Multiprotocol BGP or
Multicast BGP, is an extension to BGP that allows different types of addresses (known as
address families) to be distributed in parallel. Whereas standard BGP supports only IPv4
unicast addresses, Multiprotocol BGP supports IPv4 and IPv6 addresses and it supports unicast
and multicast variants of each. Multiprotocol BGP allows information about the topology of IP
multicast-capable routers to be exchanged separately from the topology of normal IPv4 unicast
routers. Thus, it allows a multicast routing topology different from the unicast routing topology.
Although MBGP enables the exchange of inter-domain multicast routing information, other
protocols such as the Protocol Independent Multicast family are needed to build trees and
forward multicast traffic.

Multiprotocol BGP is also widely deployed in case of MPLS layer 3 VPN, to exchange VPN
labels learned for the routes from the customer sites over the MPLS network, in order to
distinguish between different customer sites when the traffic from the other customer sites
comes to the provider edge router (PE) for routing [14].

31
3. Chapter 3

MPLS Control planes and SR

32
CHAPTER 3 MPLS Control Planes and SR

3.1 Introduction
Before Multiprotocol Label Switching (MPLS), the most popular WAN protocols were ATM
and frame relay. Cost-effective WAN networks were built to carry various protocols, with the
popularity of the Internet, IP became the most popular protocol, IP was everywhere and VPNs
were created over these WAN protocols, customers leased ATM links and frame relay links or
used leased lines and built their own private network over them because the routers of the
provider supplied a layer 2 service to the layer 3 customer routers, the separation, and the
isolation between different customer networks were guaranteed.

MPLS has been around for several years. It is a popular networking technology that labels
attached to packets to forward them through the network.

The MPLS labels are advertised between routers so that they can build a label-to-label mapping,
these labels are attached to the IP packets, enabling the routers to forward the traffic by looking
at the label and not the destination IP address, the packets are forwarded by label switching
instead of IP switching.

After a while when traditional MPLS became widespread in the backbone network of service
providers, some problems had to arise that they were going to encounter, and indeed the
problem of LDP protocol not being able to create sessions has arisen.

So, Segment Routing emerged as a new technology in 2013 and made a huge impact on service
providers, large-scale web providers, and large organizations. As a significant catalyst for
transformation, all the networks must depend on Segment Routing in the future, it is no wonder
that dependence on it is growing exponentially.

3.2 Multi-Protocol Label Switching (MPLS)


Multi-protocol label switching (MPLS), that venerable WAN workhorse launched at the turn
of the century, addresses this problem by establishing pre-determined, highly efficient routes.
It is a method of switching packets using labels instead of IP addresses or layer 3 information
as shown in figure (3.1). It is protocol-agnostic and speeds up packet forwarding and routing.
Back when MPLS was first introduced, it showed a considerable boost in speed and took a
substantial load off networks by lying off IP address inspection.

33
CHAPTER 3 MPLS Control Planes and SR

Figure 3.1: MPLS L2.5 in TCP/IP Model [16].

MPLS is used not only to facilitate higher speed requirements but to develop advanced and
augmented applications and services over the existing network infrastructure.

3.2.1 Advantage of MPLS


MPLS reduces the use of the forwarding table by using labels instead of the forwarding table.
The size of forwarding tables on a switch is limited by silicon and using exact matching for
forwarding to destination devices is cheaper than buying more sophisticated hardware. In
addition, MPLS allows you to control where and how traffic is routed on service provider
network, this is called traffic engineering. Some reasons to use MPLS instead of another
switching solution are:

• Cost
network resources can be easily shared in MPLS since it is a layer 3 technology. Besides
that, all the customers data can be routed privately using MPLS.
• Scalability
Scalability is an option made easily available in MPLS. It is much easier compared to
other methods. According to the needs, the MPLS can be scaled up and down. Even if
there is a requirement for thousands of sites.

34
CHAPTER 3 MPLS Control Planes and SR

• Efficiency
MPLS offers much higher quality connections without packet loss and jitter. Using it
along with VoIP may lead to increased efficiency. Meaning that a consistent
performance can be achieved.
• Reliability
There exists variety of features which makes MPLS reliable. Since MPLS uses labels
for forwarding packets, it can be assured that the packets will be delivered to the right
destination. Moreover, it is possible to assign network traffic according to the priority.
• Bandwidth
MPLS allows multiple traffics to pass through the network. And different parts of
bandwidth can be assigned to various data types. Which means that bandwidth is
optimally utilized. Through all these means, the bandwidth is potentially increased [15].

3.2.2 MPLS Header


The MPLS header is of 32 bits. It contains the information as shown in Figure (3.2) below:

Figure 3.2: Information of MPLS Header [16].

1. Label: The label field is of 20 bits, hence the label could take values from 0 to 220-1, or
1,048,575. However, the first 16 label values i.e., from 0 to 15 are exempted from normal
use as they have a special meaning.
2. Experimental (Exp): The three bits are reserved as experimental bits. They are used for
Quality of Service (QoS).
3. Bottom of Stack (BoS): A network packet can have more than one MPLS labels which
are stacked one over another. To ensure which MPLS label is at the bottom of stack we
have a BoS field which is of 1 bit. The bit is high (ie value 1) only when that particular
label is at the bottom of the stack otherwise its value remains 0.
4. Time to Live (TTL): The last 8 bits are used for Time to Live (TTL). This TTL has the
same function as the TTL present in the IP header. Its value is simply decreased by 1 at

35
CHAPTER 3 MPLS Control Planes and SR

each hop. The job of TTL is to avoid the packet being stuck in the network by discarding
the packet if its value becomes zero [16].

3.2.3 MPLS Terminology


MPLS network contains Label Switch Routers (LSR). These routers are capable of
understanding MPLS labels and of receiving and transmitting the labelled packet. There are
three kinds of LSRs present in the MPLS Network as shown in figure (3.3) [17].

Figure 3.3: MPLS Operation [16].

▪ Label Switch Paths (LSP):


A label Switch Path (LSP) can be defined as the sequence of label switch routers (LSR) that
transmit the packet within an MPLS network. Basically, LSP is a predefined path that the packet
takes during transmission. The first LSR in an LSP is an Ingress LSR, similarly, the last LSR
in an LSP is an Egress router followed by intermediate LSR's in between.

▪ Ingress LSR:
These routers are present at the beginning of the MPLS network. Their job is to receive an
unlabelled IP packet and push the label on top of it.

▪ Egress LSR:
These routers are present at the end of the MPLS network. Their job is to pop the label from
the incoming packet and forward the packet as an IP packet.

▪ Intermediate LSR:
These routers are present in between the above two routers. Their job is to receive the labelled
packet, swap the label of the packet and forward it to the next hop. They are responsible for the
MPLS forwarding of the packet.

36
CHAPTER 3 MPLS Control Planes and SR

▪ Routing Table:
Routing information is exchanged between LSRs using a routing protocol, such as IGRP,
EIGRP, IS-IS, OSPF, or BGP [16].

▪ Label Information Base (LIB):


The LIB is part of the control plane and provides the database used by LDP for label
distribution. This is where IP prefixes are associated with their local.

▪ The CEF Forwarding Information Base (FIB):


For forwarding unlabelled packets. Contains destination IP networks, and the layer-2 address
of the next-hop router.

▪ Label Forwarding Information Base (LFIB):


The LFIB is part of the data plane and provides the database used in forwarding labelled
packets. The IGP is used to populate the routing tables in all MPLS routers throughout the
network. Based on information shared in IGP routing updates, each router determines the path
with the most attractive metric for a given network destination.

▪ Pushing:
Is the act of applying an additional label to a packet. The packet might already have a label on
it since MPLS can support multiple stacked labels. This pushing is normally done at the ingress
LER, at the edge of the network. The LER requires a mapping so that it knows what data to put
on an LSP. It might also be performed in the core of a network where multiple LSPs are
aggregated or encapsulated inside another LSP.

▪ Popping:
Is the act of removing the outermost label from the packet. One or more labels might still be
inside. Popping is normally done at the egress LER. LERs must do an additional lookup to
decide how to forward the encapsulated packet. Penultimate routers will pop the label but will
only forward the unencapsulated packet according to the lookup table for the LSP.

▪ Swapping:
Is the act of replacing a label. The inside of the labelled packet is never inspected. The swapping
is done by LSRs. The EXP field is used to define how the packet should be queued, and the
TTL is decremented. If TTL equals zero, the packet will be discarded [18].

37
CHAPTER 3 MPLS Control Planes and SR

▪ Forward Equivalence Class (FEC):


A group of packets that has the same transmission path and forwarding mechanism is known
as FEC.

The packets belonging to the same FEC have the same label. But some packets do not belong
to the same FEC and forwarding mechanism due to a different EXP value. Ingress LSRs decides
which packet belongs to which FEC and this is done only once in the MPLS network.

▪ Customer Edge (CE):


This device is the last device in the customer’s network, it could be a L2 or L3 device. In my
picture I used a router but for example, it could be a switch. This device does not use MPLS.

▪ Provider Edge (PE):


This device is owned by the ISP and sits at the edge of the ISP’s network. It has an important
role, it receives packets or frames from the customer and will then add a MPLS label to it and
forwards towards the core, another common name for this device is LER (Label Edge
Router).

▪ Provider (P):
This device connects to PE routers and other P routers. It has a simple job, it switches packets
based on their labels or removes the labels, another common name for this device is the LSR
(Label Switch Router) or transit router.

3.2.4 Legacy MPLS Signalling Protocols:


The old signalling protocols of MPLS are Label Distribution Protocol (LDP) and Resource
Reservation Protocol (RSVP)

3.2.4.1 Label Distribution Protocol (LDP)


LDP is a protocol that automatically generates and exchanges labels between routers. Each
router will locally generate labels for its prefixes and will then advertise the label values to its
neighbors.

Also is used to establish MPLS transport LSPs when traffic engineering is not required. It
establishes LSPs that follow the existing IP routing table, and is particularly well suited for
establishing a full mesh of LSPs between all of the routers on the network.

38
CHAPTER 3 MPLS Control Planes and SR

3.2.4.2 Resource Reservation Protocol (RSVP)


Resource Reservation Protocol (RSVP) is a transport layer protocol used to establish MPLS
transport LSPs when there are traffic engineering requirements because the TE features are not
available with LDP protocol. It is mainly used to provide QoS and load balancing across the
network core, and includes the ability to control all-optical networks [19].

3.2.5 Today’s challenges


As we know the legacy MPLS uses two protocols for MPLS path signalling and this quite
complex for a number of reasons:

• Each protocol has different operational behaviours leading to increased operational


knowledge and potentially increased network requirements, behaviours, and software
requirements.
• Mapping services, implicitly or explicitly, to two different protocol next-hops can lead
to increased protocol and configuration complexity and thus a higher probability of
human errors.
• More Routers means Tunnels when we use RSVP for TE, which lead us to a complex
network to troubleshoot and also extra headache on the routers [20].

Let's make an example describing the challenges that we would face on our networks
nowadays.

For example, if we have Core network runs MPLS as an underlay and MPLS Layer 3 VPN as
an overlay as showing in the figure (3.4) below and in the left-hand side we have a metro-
ethernet network and it uses Ethernet as an underlay and MPLS Layer 2 VPN as an overlay and
then on the right-hand side we have datacenter which actually where we offer the services for
the customers where we use IP as underlay and Virtual Extensible LAN (VXLAN) as an
overlay. So the network splitting to three different parts or three different domains and it seems
that also we might have different engineers taking care of different parts of the network, this is
challenge because the end user which is on the left-hand side needs a service from the
datacenter, and now the packet will move from one domain to another one which means there
will always some sort of encapsulation and decapsulation, and we need to make MPLS L2VPN

39
CHAPTER 3 MPLS Control Planes and SR

talk with MPLS L3VPN and then talk to VXLAN and visa-versa, so its complex if you think
of end-to-end provisioning, and all this process is manually today at least.

Figure 3.4: Old Network Domains [21].

With Segment Routing all the process complete using a unified fabric instead of using all the
previous technologies in each domain as showing in the Figure (3.5) below, so we just have
one protocol that we need to manage in case we have any issues and if we need to troubleshoot
the network.

Figure 3.5: Network Domains after SR [21].

3.3 Overview about Segment Routing


In 2013 Cisco Systems fellow Clarence Filsfils 25-year experience leading innovation,
productization, marketing, and deployment, invented new protocol known as Segment Routing,
and it made a tremendous impact on the service providers and large enterprises.

Segment Routing (SR) is a protocol designed to forward data packets on a network based on
source routes, it divides a network path into several segments and assigns a segment ID (SID)
to each segment and forwarding node. The segments and nodes are sequentially arranged into
a segment list to form a forwarding path [21].

40
CHAPTER 3 MPLS Control Planes and SR

Segment Routing is divided into two types based on the forwarding plane. Segment Routing
MPLS (SR-MPLS) is based on the MPLS forwarding plane, whereas Segment Routing IPv6
(SRv6) is based on the IPv6 forwarding plane.

3.4 Principles of Segment Routing


Routers in a Segment Routing network are capable of selecting any path to forward traffic,
whether it is explicit or Interior Gateway Protocol (IGP) shortest path, segments represent sub-
paths that a router can combine to form a complete route to a network destination, each segment
has an identifier (Segment Identifier) that is distributed throughout the network using new IGP
extensions, The extensions are equally applicable to IPv4 and IPv6 control planes, Unlike the
case for traditional MPLS networks, routers in a SR network do not require Label LDP and
RSVP-TE to allocate or signal their segment identifiers and program their forwarding
information.

Each router (node) and each link (adjacency) have an associated segment identifier (SID), Node
segment identifiers are globally unique and represent the shortest path to a router as determined
by the IGP, The network administrator allocates a node ID to each router from a reserved block,
On the other hand, an adjacency segment ID is locally significant and represents a specific
adjacency, such as egress interface, to a neighbouring router, Routers automatically generate
adjacency identifiers outside of the reserved block of node IDs. In an MPLS network, a segment
identifier is encoded as an MPLS label stack entry, Segment IDs direct the data along a
specified path, there are two kinds of segment IDS:

• Prefix SID— A segment ID that contains an IP address prefix calculated by an IGP in the
service provider core network, Prefix SIDs are globally unique, A node SID is a special form
of prefix SID that contains the loopback address of the node as the prefix, it is advertised as
an index into the node specific SR Global Block or SRGB.
• Adjacency SID— A segment ID that contains an advertising router’s adjacency to a
neighbour, an adjacency SID is a link between two routers, since the adjacency SID is
relative to a specific router, it is locally unique [22].

3.5 Segment Routing Advantage


➢ Ready for SDN
Segment Routing is a compelling architecture conceived to embrace Software-Defined
Networks (SDN) and is the foundation for Application Engineered Routing (AER). It strikes a

41
CHAPTER 3 MPLS Control Planes and SR

balance between network-based distributed intelligence, such as automatic link and node
protection, and controller-based centralized intelligence, such as traffic optimization. It can
provide strict network performance guarantees, efficient use of network resources, and high
scalability for application-based transactions. The network uses minimal state information to
meet these requirements. Segment routing can be easily integrated with a controller-based SDN
architecture. The following figure illustrates a sample SDN scenario where the controller
performs centralized optimization, including bandwidth admission control. In this scenario, the
controller has a complete picture of the network topology and flows. A router can request a
path to a destination with certain characteristics, for example, delay, bandwidth, diversity. The
controller computes an optimal path and returns the corresponding segment list, such as an
MPLS label stack, to the requesting router. At that point, the router can inject traffic with the
segment list without any additional signalling in the network.

Figure 3.6: SDN with Segment routing [34].

In addition, segment lists allow complete network virtualization without adding any application
state to the network, The state is encoded in the packet as a list of segments, Because the
network only maintains a segment state, it can support a large number and a higher frequency
of transaction-based application requests without creating any burden on the network.

➢ Simplified
When applied to the MPLS data plane, Segment Routing offers the ability to tunnel MPLS
services (L3VPN, L2VPN) from an ingress provider edge to an egress provider edge without
any other protocol than an IGP (IS-IS or OSPF), also a Simpler operation without separate
protocols for label distribution (for example, no LDP or RSVP), and no complex LDP or IGP
synchronization to troubleshoot.

Better utilization of installed infrastructure, for lower capital expenditures (CapEx), with
ECMP-aware shortest path forwarding (using node segment IDs).

42
CHAPTER 3 MPLS Control Planes and SR

➢ Topology Independent Loop Free Alternate (TI-LFA)

provides backup path within time less than 50 msec, using a pre-computed backup path that
can provide full coverage and does not have any topology dependencies.

➢ SR Microloop Avoidance

Microloops cause packet loss during network convergence (Link up or Link down events) due
to difference processing speed between different kinds of routers and many other reasons.
Segment Routing Microloop Avoidance automatically prevents such loops to occur by forcing
traffic to use the backup path using a temporary Segment list till all routers converge correctly.

➢ Large-scale Data Center

Segment Routing simplifies MPLS-enabled data center designs using Border Gateway Protocol
(BGP) RFC 3107 - IPv4 labelled unicast among Top-of-the-Rack/Leaf/Spine switches, BGP
distributes the node segment ID, equivalent to IGP node SID, and Any node within the topology
allocates the same BGP segment for the same switch.

➢ Scalable

Avoid thousands of labels in LDP database, thousands of MPLS Traffic Engineering LSPs in
the network, and thousands of tunnels to configure.

➢ Centralized Traffic Engineering

Controllers and orchestration platforms can interact with Segment Routing traffic engineering
for centralized optimization, such as WAN optimization.

Network changes such as congestion can trigger an application to optimize (recompute) the
placement of segment routing traffic engineering tunnels.

Segment Routing tunnels are dynamically programmed onto the network from an orchestrator
using southbound protocols like PCE [23].

3.6 SR Traffic Engineering


Before talking about SR traffic engineering let's talk about the concept of Traffic Engineering.
Traffic engineering (TE) is used to steer traffic around potential traffic hotspots in the network,
or in order to create paths that meet particular criteria, such as low latency. Another application

43
CHAPTER 3 MPLS Control Planes and SR

of traffic engineering is creating pairs of diverse paths as an ingredient of a path-diverse point-


to-point virtual circuit service.

Segment Routing Traffic Engineering (SR-TE), meanwhile, offers a whole new level of
simplicity, scalability and flexibility by incorporating a combination of centralized control and
optimization with distributed intelligence. This solution translates the intent of the operator
(delay, bandwidth) into “SR policy” [24].

3.6.1 SR Policy
An SR Policy is fundamentally a list of segments. A set of candidate pathways made up of one
or more segment lists, or SID lists, make up an SR-MPLS TE policy. Each SID list specifies a
direct route from source to destination, instructing a device to use this route rather than the
shortest path determined by an IGP. An ordered list of segments linked to an SR-MPLS TE
Policy is added to the header of a packet that has been directed there so that other network
nodes can carry out the instructions contained within [25].

Each SR-Policy has preference number, if two policies have same {color, endpoint} but
different preferences, the policy with the highest preference is selected.

The components of an SR-MPLS TE Policy are as follows:

• Headend: the node that generates an SR-MPLS TE Policy.


• Color: a property of a segment routing policy that determines the sets of traffic flows
that are steered by the policy.
• Endpoint: the address of an SR-MPLS TE policy's destination.

The candidate paths are the core of the SR-TE policy, there are two main candidate paths that
can be used when specifying an SR-TE Policy:

3.6.1.1 Explicit Paths


An explicit path is a specified SID-list or set of SID-lists, this type of candidate paths is
manually configured by the network administrator and it will not be changed until the network
administrator assign another path.

3.6.1.2 Dynamic Paths


A dynamic path is based on an optimization objective and a set of constraints such as the Traffic
Engineering metric or the IGP metric. The head-end computes a solution, resulting in a SID-
list or a set of SID-lists. When the topology changes, a new path is computed [26].

44
CHAPTER 3 MPLS Control Planes and SR

3.6.2 SR TE VS RSVP-TE
Traffic engineering in the past was very complex and required a soft protocol like RSVP to
constantly update and calculate the end-to-end path, making MPLS-TE very painful and slow,
SR-TE provides a simple, automated, and scalable architecture to engineer traffic flows in a
network, and the Table (3.1) below shows the Comparison between SR-TE and RSVP-TE
tunnels [27].

Table 3.1: SR-TE Vs RSVP TE [27].

Item SR-TE RSVP-TE


Label The extended IGP assigns and MPLS allocates and distributes labels.
allocation distributes labels. Each link is assigned Each LSP is assigned a label, which
only a single label, and all LSPs share consumes a great number of labels
the label, which reduces resource resources and results in heavy
consumption and maintenance workloads maintaining label forwarding
workload of label forwarding tables. tables.
Control plane An IGP is used, which reduces the RSVP is used, and the control plane is
number of protocols to be used. complex.
Scalability High scalability. Tunnel information is
carried in packets, so an intermediate
device cannot discern an SR-TE Poor scalability. It needs to maintain the
tunnel. This eliminates the need to tunnel status information and also needs
maintain tunnel status information. to maintain the forwarding entries.
Forwarding entries are only
maintained, rendering high scalability.
Path A service path can be controlled by Whether it is a normal service
adjustment operating a label only on the ingress. adjustment or a passive path adjustment
and control Configurations do not need to be of a fault scenario, the configurations
delivered to each node, which must be delivered to each node.
improves programmability.
When a node in the path fails, the
controller recalculates the path and
updates the label stack of the ingress
node to complete the path adjustment.

3.6.3 PCE Controller


An SR controller is a type of SDN controller that provides centralized path computation, traffic
engineering, and granular visibility and traffic flow control for SR forwarding planes in service
provider and enterprise networks. The SR controller enables network operators to optimize
their network infrastructure through proactive monitoring and planning, and by dynamically
routing large traffic loads based on specified constraints.

45
CHAPTER 3 MPLS Control Planes and SR

A key benefit of the controllers is their ability to provide bandwidth reservation, which segment
routing by itself doesn’t do well. By moving path state information from transit routers into the
packet, segment routing eliminates the need for protocols such as LDP and RSVP-TE, which
distribute path information across the network. RSVP-TE provides a mechanism for bandwidth
reservation, so eliminating it can be problematic in networks where bandwidth reservation is
currently implemented.

SR controllers solve this problem because they can monitor the entire network topology and its
traffic flows in real time. They use this data to determine the explicit paths that packets should
take through the network, and they can also allocate bandwidth to those paths. After the paths
are calculated and link bandwidth is allocated, the controller adds this information to its
database. The controller factors in existing bandwidth needs as it computes new paths or before
it reroutes traffic due to congestion or other dynamic network conditions [28].

The SR controller performs three basic operations:

• Analyze
• Optimize
• Automate

3.6.3.1 Main Components of the PCE Controller


When a PCE Controller is used, three key components are utilized:

➢ Path Computation Element (PCE)


PCE is responsible for doing the actual path computation based on the constraints provided
and signalling that to the Path Computation Client (PCC), and it can be more than one PCE
in the network but only one of them will be an active PCE and the others will wait until
the active PCE goes down. In the practical part Cisco IOS ASR9000 Router is the platform
that Cisco System, Inc. recommends for use as the PCE Controller.
➢ Path Computation Client (PCC)
A Path Computation Client is an element requesting PCE for path computation, All the
PEs and the P routers are PCC routers and they requesting the Traffic Engineering elements
from the PCE through the Path Computation Element Protocol (PCEP).

46
CHAPTER 3 MPLS Control Planes and SR

➢ PCEP
PCE Protocol (PCEP) is the standard protocol used between PCE and PCC for
communication, and it’s a simple TCP-based protocol.

3.6.3.2 PCEP messages


This section defines the messages of the PCEP that are used by the protocol for
communication between the PCE and the PCC.
Open and Keepalive messages are used to initiate and maintain a PCEP session,
respectively.
• PCReq: a PCEP message sent by a PCC to a PCE to request a path computation.
• PCRep: a PCEP message sent by a PCE to a PCC in reply to a path computation request.
A PCRep message can contain either a set of computed paths if the request can be satisfied
or a negative reply if not. The negative reply may indicate the reason why no path cloud
be found.
• PCNtf: a PCEP notification message either sent by a PCC to a PCE or sent by a PCE to a
PCC to notify of a specific event.
• PCErr: a PCEP message sent upon the occurrence of a protocol error condition.
• Close message: a message used to close a PCEP session [29].

47
4. Chapter 4

Methodology: EVE-NG, Cisco IOS


XR, Topology, Simulation and Results

48
CHAPTER 4 Methodology: EVE-NG, Cisco IOS-XR, Topology, Simulation and Results

4.1 Introduction
The empirical study is based on experimentation or direct observation, i.e., evidence. This kind
of project study is often conducted to answer specific queries or test hypotheses. This chapter
will be presented the results of the project empirical study.

4.2 Simulation
The term simulation is the imitation of the operation of a real-world process or system over
time. As defined here, simulation is creating an abstract representation of an existing or
proposed system to identify and understand the controlling factors of the system and predict its
behavior. The simulation process facilitates the prediction of the weakness and strengths before
real-time implementation of the model that has been simulated.

4.2.1 Equipment Used


Emulated Virtual Environment Next Generation (EVE-NG): is a
multi-vendor virtual network emulation software that runs on Windows
or Linux. EVE-NG graphical interface allows network engineers to
create virtualized network labs with various routers, switches and PCs,
but it really shines when paired with Cisco IOS. Unlink similar applications, EVE-NG does not
merely mimic Cisco IOS commands or features. Instead, it uses a backend hypervisor to
emulate the hardware that runs Cisco IOS. Because only the hardware is emulated, network
engineers can run an actual IOS image file on their PCs or on Virtual machine (VM). All the
configuration commands and output come from a real IOS, and theoretically, any protocols or
features that an IOS version supports are available to use in the network design [30].

In this project, EVE-NG was run on a server with the following specifications:

▪ 32 v CPU. ▪ 80 GB RAM. ▪ 250GB SSD.

Some EVE-NG appliances were added and integrated into the lab as follows:
• Cisco IOS XR
The majority of Cisco routers and switches use the multitasking operating system known as
IOS (Internetwork Operating System). The command-line interface for IOS contains a set
quantity of multi-word commands. Routing, switching, internetworking, and other features
offered by Cisco equipment are configured using this operating system, and the EVE-NG
marketplace offers a large number of Cisco router images.

49
CHAPTER 4 Methodology: EVE-NG, Cisco IOS-XR, Topology, Simulation and Results

Appliance Usage

The default username and password are (admin). There is no default configuration present.
Appliance Requirements
RAM: 16GB
CPU: 4 VCPU
Kernel-based Virtual Machine (KVM) needs to be enabled on the simulation machine or in the
EVE-NG VM.
IOS Version Used
Cisco IOS XR Software, Version 6.5.1
• Cisco IOSV 15.2
Appliance Usage
There is no default password and enable password. There is no default configuration present.
Appliance Requirements
RAM: 512 MB
KVM needs to be enabled on the simulation machine or in the EVE-NG VM.
IOS version Used
Cisco IOS Software, Version 15.2(4)S7.
Windows Secure Copy (WinSCP): is a free and an open-source SFTP, FTP,
WebDAV, S3, and SCP client for Windows. File transfers between local and
distant computers are its primary use. In addition, WinSCP provides scripting
and fundamental file manager features [31].
MobaXterm: is a terminal emulator toolbox for remote computing, it provides
all the important remote network tools such as (SSH, Telnet, RDP, and Local
Terminal session) to Windows OS Computers in a single Platform [35].

4.3 EVE-NG Simulation


4.3.1 Task
The main task of this case study based on EVE-NG Simulation is to implement the core of the
Service Provider network with the new SR technology and apply some sort of Traffic
Engineering using SR-TE policy and show the benefits and simplicity of using this Technology.
In addition, configure MPLS L3 VPN between the Provider Edge routers to separate the
customer's traffic.

50
CHAPTER 4 Methodology: EVE-NG, Cisco IOS-XR, Topology, Simulation and Results

4.3.2 Network Design


In this section, the overall network design followed the cisco standards used in their published
simulation labs started by describing the network scenario, IP subnetting and the physical
connection will be discussed, thereby determining the optimum connection matrix and location
of the network devices.
4.3.2.1 Network Scenario
The following section contains the scenario that we working on it in our project. The scenario
simulates two customers connect their sites to a Service Provider network using Layer 3 VPN.
The Service Provider using the source-based SR-MPLS technology in the Core to exchange the
MPLS labels, also it uses SR-TE with a PCE Controller to simulate some kind of Software
Defined Network inside the Service Provider Core.
4.3.2.2 Network Topology
Network topology is the physical arrangement of connected devices for communication. By
taking into account the identical network topology design as depicted in Figure 4.1, the scenario
discussed in the preceding section is simulated.
In the Service Provider core (See Figure 4.1), there are Five P (Provider) routers one of them
working as a PCE controller and two of them as PE (Provider Edge) routers. The IGP protocol
used to advertise the subnets between the routers is the OSPF. Next, the MPLS was activated
in all the core routers of the network, where each router using the SR to exchange the labels
not the LDP and SR polices was used to apply Traffic Engineering in the network also the PCE
controller is used to be a centralized device where all the Segment routing labels are managed
and stored.
The topology in Figure (4.1) was mainly used to implement SR-MPLS technology in the SP
backbone network also configure Traffic Engineering to control the data flow using SR-TE
instead of RSVP. It is a network with two customers connecting their sites through the Core SP
network so the SP have to separate between the customers and that’s why MPLS L3 VPN will
be used between the Provider Edge Routers. After proper configuration the Core network will
use SR as MPLS control plane to forward the labels inside the SP network and the CE routers
can learn the routes from each other, also the Service Provider completely separate the traffic
between the customers.

51
CHAPTER 4 Methodology: EVE-NG, Cisco IOS-XR, Topology, Simulation and Results

Figure 4.1: Project Network Topology

52
CHAPTER 4 Methodology: EVE-NG, Cisco IOS-XR, Topology, Simulation and Results

To accomplish the project's goal, there are six main principal tasks to achieve an SR-MPLS,
and SR-TE in the core network up and running. Also, an MPLS L3 VPN separates the
customer's traffic and fulfils end-to-end connectivity between the sites with no conflict between
the 2 customers' IPs:

1. Configure OSPF in the core of the Service Provider Network.


2. Enable SR-MPLS on the Core Network.
3. Implement MPLS L3VPN, create VRFs on the PE routers to separate the Customer's
traffic and assign routed interfaces to each VRF, then configure MP-BGP between the PE
Routers.
4. Configure OSPF with different Process ID between the CE routers and the assigned VRF
interfaces.
5. Enable Redistribution between the Customer sites and the Core of the Service Provider.
6. Implement SR-TE on the PE routers to enable the Traffic Engineering inside the Service
Provider Backbone Network.

4.3.2.3 Network Components


The above simulation model has the following network elements:
• Service Provider Core
o 3-Provider routers* (P)
o 2-Provider Edge routers* (PE)

• Enterprise
• Site-A
o 2-Customer Edge routers* (CE)
o 2- Customer End Devices* (C)
• Site-B
o 2-Customer Edge routers* (CE)
o 2- Customer End Devices* (C)

*Note: All the above Service Provider routers were used in this simulation are Cisco IOS XR
routers and all the Customer routers were used are Cisco IOSV as described in (section 4.2.1)

53
CHAPTER 4 Methodology: EVE-NG, Cisco IOS-XR, Topology, Simulation and Results

4.3.2.4 IP Addressing
IP addresses for all the devices that were used in this simulation Devices are as follows:
Table 4.1: IP Address of the Routers

IP Address for Each Router


Device Port IP Address Loopback Int
E0/0 172.16.1.2/30
CE1-R1
E0/1 192.168.0.1/24
E0/0 172.16.1.6/30
CE1-R2
E0/1 192.168.1.1/24
E0/0 172.16.2.2/30
CE2-R1
E0/1 192.168.0.1/24
E0/0 172.16.2.6/30
CE2-R2
E0/1 192.168.1.1/24
G0/0/0/0.1 172.16.1.1/30
G0/0/0/0.2 172.16.2.1/30
PE1 G0/0/0/1 172.16.15.1/29 1.1.1.1/32
G0/0/0/2 172.16.14.1/29
G0/0/0/3 172.16.13.1/29
G0/0/0/0.1 172.16.1.5/30
G0/0/0/0.2 172.16.2.5/30
PE2 G0/0/0/1 172.16.25.2/29 2.2.2.2/32
G0/0/0/2 172.16.24.2/29
G0/0/0/3 172.16.23.2/29
G0/0/0/0 172.16.13.3/29
P3 G0/0/0/1 172.16.23.3/29 3.3.3.3/32
G0/0/0/2 172.16.34.3/29
G0/0/0/0 172.16.14.4/29
G0/0/0/1 172.16.24.4/29
P4 4.4.4.4/32
G0/0/0/2 172.16.32.4/29
G0/0/0/3 172.16.45.4/29
G0/0/0/0 172.16.15.5/29
G0/0/0/1 172.16.25.5/29
P5 5.5.5.5/32
G0/0/0/2 172.16.56.5/29
G0/0/0/3 172.16.45.5/29
PCE Controller G0/0/0/0 172.16.56.6/29 100.100.100.100/32

54
CHAPTER 4 Methodology: EVE-NG, Cisco IOS-XR, Topology, Simulation and Results

Table 4.2: IP Address of the PCs

IP Addresses for each PC


Device IP Address Gateway
Customer 1 Site A 192.168.0.254/24 192.168.0.1
Customer 1 Site B 192.168.1.254/24 10.0.0.1
Customer 2 Site A 192.168.0.254/24 192.168.0.1
Customer 2 Site B 192.168.1.254/24 10.0.0.1

4.4 Network Configuration


4.4.1 SR Implementation Process
In our network we decided to configure SR-MPLS using OSPF protocol, first of all we create
OSPF process ID with value (1) and set router-ID in each provider routers (P Routers, PE
Routers, and the PCE Router), then we change the network type on interfaces to point to point
type; cause SR-MPLS does work only in network with type point to point, next, setting
interfaces in provider routers that will share LSAs inside the provider network to became in our
OSPF process, also Loopback interfaces.

After that we need to configure segment routing global block range inside provider routers,
then we have to activate segment routing in OSPF process, by using segment routing command
under the OSPF area, and finally set segment routing index for routers under the OSPF area
with prefix-sid index (router order on MPLS).

Now to verify the segment routing and OSPF configuration in the provider routers use show
mpls forwarding and command show ospf (OSPF process ID) and show ospf (OSPF process
ID) neighbor (see Figure 4.2 and 4.3), and for more detailed information using command
show running configuration (see Appendix 1.1).

55
CHAPTER 4 Methodology: EVE-NG, Cisco IOS-XR, Topology, Simulation and Results

Figure 4.2:show MPLS forwarding

Figure 4.3: OSPF Neighbors

4.4.2 Layer 3VPN Configuration Process


Creating a VRF for each customer inside the PEs Routers is the first step in building a Layer 3
VPN. Next, run the PEs routing process for the customers and attach it to the cutomer VRF to
make each cutomer in a unique Routing Table, then the cutomer creates a reverse static route
through the PEs, after that set up mBGP between PEs (PE1 and PE2), if all of these procedures
are correctly completed, a Layer 3 VPN tunnel will have been successfully built.

4.4.2.1 Create VRFs and Assign to Client


As we discussed in the second chapter, VRF is a technology that enables the router to
communicate with numerous routing tables that are housed inside of it, defines each routing
table with a distinct ID or name, and isolates each routing table from other routing tables that
are housed within other VRFs.

56
CHAPTER 4 Methodology: EVE-NG, Cisco IOS-XR, Topology, Simulation and Results

When configuring a VRF, you must first build it in PEs routers before attaching it to the
interface that was in communication with the customer's router, or in our case, the sub-interface
that was in communication with the WAN switch that was directly connected to two customers.

Inside the VRF, we have set a route distinguisher to isolated customers local networks, and also
export and import route targets to avoid conflict routing between customers sites, each customer
has their special route targets, whether this be on site (A) or site (B).

To verification from VRFs and it attached RD and route targets on PEs (PE1 & PE2), we can
use command show VRF all (see Figure 4.4), and to view the interfaces that attached to VRFs
we use show ipv4 interface brief (see Figure 4.5) and to see VRF configuration in sequence
use command show running configuration | begin vrf.

Figure 4.4:Vrf of the customers

Figure 4.5: Show VRF interfaces

Note: VRF CUST-1 was chosen for customer (1), and VRF CUST-2 chosen for customer (2).

4.4.2.2 Configure OSPF between PEs and CEs


For the connection between PEs and CEs, the IGP routing protocol that will handle this
connection is OSPF, Different OSPF process ID must be implemented between customer and
SP; to prevent customers from reaching the internal SP network.

The OSPF process ID which chosen for Customer (1) is 10, and Customer (2) is 20, and each
sub-interface that connect to CE routers has engaged on OSPF process assigned to it.

57
CHAPTER 4 Methodology: EVE-NG, Cisco IOS-XR, Topology, Simulation and Results

The command used to verify OSPF process ID for each customer is show route vrf (name)
ospf (see Figure 4.6 and 4.7), and to see OSPF configuration in detail use command show
running configuration.see (Appendix 1.2)

Figure 4.6: Network of Customer 1

Figure 4.7: Network of Customer 2

Note: mBGP protocol is used to connect customer sites with each other.

4.4.2.3 Configure mBGP between PEs (PE1 & PE2)


BGP is crucial for layer 3 VPN because it allows PEs to share customer routing information,
and allowing customers to access their branches.

for mBGP we have to create mBGP process with private Autonomous System number (AS)
that value must be from range (64512 - 65535), this number acts as ID for mBGP process, same
like OSPF process ID, after creating mBGP process, enabling vpnv4 addressing is critical for
creating the L3VPN tunnel, also some parameters are important to exist in mBGP like BGP
router ID and neighbors ID with their remote AS number, and then we include the VRFs into
mBGP, and inside the VRF below mBGP we attached route distinguisher and then adding to
them ipv4 addressing; so we can redistribute the OSPF process that we assigned to customers
inside PEs.

To verify and show the mBGP configuration in correct order and how VRFs attached to, use
command show running configuration (see Appendix 1.2), and to see how mBGP neighbors
state established between PE routers use show BGP neighbors command (see Figure 4.8).

58
CHAPTER 4 Methodology: EVE-NG, Cisco IOS-XR, Topology, Simulation and Results

Figure 4.8:Neighborship between PE1 & PE2

4.4.2.4 Redistribution routes between OSPF and mBGP


After complete SR-MPLS and OSPF between customer and PE routers, then finishing mBGP
configuration between PEs, now we have to redistribute customer networks between PE routers
inside OSPF and mBGP; Until layer 3 VPN status becomes active.
Redistribution is not complicated, our steps only is going to PE1 router and configure inside
OSPF process that specified for customer this command redistribute BGP (Autonomous
System number); to make the PE1 router put the routes which coming from PE2 in the customer
OSPF process, also get inside BGP, below customer VRF and run redistribute OSFP (OSPF
process number) match internal external; to make the PE1 send customer routes to PE2 over
BGP which was previously established between them, the two PE routers must configure
redistribute routes to make layer 3 VPN comes up, and get full connectivity between customers
sites.

59
CHAPTER 4 Methodology: EVE-NG, Cisco IOS-XR, Topology, Simulation and Results

to verification of routes that distributed between PE routers use show route vrf (name)
command (see Figure 4.9).

Figure 4.9:Redistribute Customer's networks

4.4.3 SR-TE and PCE Implementation Process


After Completing the configuration of the SR and MPLS L3VPN everything is up and each
customer have 2 different branches connected and working together, but in addition we will
Configure some sort Traffic Engineering inside the Core Network especially in the PE routers
to control the traffic flow. Also, the configuration of the PCE Controller will be implemented
to achieve an SDN based network inside the SP network.

60
CHAPTER 4 Methodology: EVE-NG, Cisco IOS-XR, Topology, Simulation and Results

4.4.3.1 SR-TE Configuration


As we explained in the previous chapter, the traffic engineering using the Segment routing will
be configured using the concept of SR Policies but before that we have to enable the MPLS
Traffic engineering in the routers to support the feature and that just be one simple command

mpls traffic-eng under the global configuration mode.

After enabling the MPLS traffic engineering SR-TE policies will be configured under the
Segment routing traffic engineering mode, and for our project Explicit Paths method chosen to
apply the Policy and that’s by configure the segment routing list that identify SID labels of each
router as we want the traffic to go until we reach the destination. Then configure the policy and
under the policy specify the color and the color should pointing to the end point or the
destination IPv4 address, and the last step is creating candidate path and tell the router which
list should be applied under the policy.

To verify and show the SR-TE policies and SR lists use show segment-routing traffic-eng
policy name (Policy name) Command.

Figure 4.10: PE1 SR-TE Policy

Note: the SR policy name for PE1 is (100) and the traffic will go through R4, R5 to reach PE2
as the SID lists in the Figure (4.10).

61
CHAPTER 4 Methodology: EVE-NG, Cisco IOS-XR, Topology, Simulation and Results

Figure 4.11:PE2 SR-TE Policy

Note: the SR policy name for PE2 is (200) and the traffic will go through R3, R4 to reach PE1
as the SID lists in the Figure (4.11).

4.4.3.2 PCE Implantation


The configuration of the PCE controller is very easy all we have to do is specifying the PCE
controller and configure the other routers to be PCC routers and check the connectivity between
the PCE and the PCCs, after checking the connectivity we have to tell the PCCs where is the
Controller by adding the IP of the PCE in each router, and the Configuration will be done and
all the PCCs will be connected with the PCE.

To verify the PCE configuration and check all the topology use Show pce ipv4 topology brief
Command.

62
CHAPTER 4 Methodology: EVE-NG, Cisco IOS-XR, Topology, Simulation and Results

Figure 4.12: The SP Network topology from PCE Point of view

As we see in the Figure (4.12) the PCE detect all the PCCs in the network, from the PCC point
of view we can know who is the PCE in the network using show running-config | include pce
Command as the Figure (4.13).

Figure 4.13: PCE IP from the PCCs point of view

63
CHAPTER 4 Methodology: EVE-NG, Cisco IOS-XR, Topology, Simulation and Results

4.5 Verification and Testing


After configuration is done, testing is needed to verify the layer 3 VPN work, and connectivity
between customers sites.

In our case, customer 1 site A pc (C1-A) reaching pc on site B (C1-B), this can be verified by
pinging from C1-A to C1-B, and doing traceroute to find out the path of the packet which
passed through (see Figure 4.14).

Figure 4.14:C1-A pinging and traceroute C1-B

Now to verify how customer 2 sites reach each other, pinging and traceroute will be using from
C2-B to C2-A (see Figure 4.15).

Figure 4.15:C2-B pinging and traceroute C2-A

Finally, to check the SR-TE policy is working properly, we have to do traceroute from PE1
loopback interface to PE2 loopback interface and versa vice (see Figure 4.16 and 4.17).

64
CHAPTER 4 Methodology: EVE-NG, Cisco IOS-XR, Topology, Simulation and Results

Figure 4.16:Traceroute from PE1 to PE2 using SR-TE policy

Figure 4.17:Traceroute from PE2 to PE1 using SR-TE policy

4.6 Results
This pilot study proves when any service provider companies want to enhance the efficiency
of their core MPLS network, and reduce the complicated of troubleshooting, they have to use
SR-MPLS instead of traditional MPLS that depends on LDP labels; because LDP protocol is
slower in failover; where it takes more time to change the path if there is any link goes down
(about 3 minutes), and will add more configuration which will be hard to work with it. Also,
the control plane information on SR-MPLS is inside the IGP protocol header, whereas
traditional MPLS using LDP or RSVP-TE with IGP protocol as a control plane, on the labels
distributions side SR-MPLS labels are allocated to adjacent links and SR nodes, devices do not
occupy a large number of labels, reducing the device resources usage, traditional MPLS the
number of labels increases with the number of tunnels, which increases device resources usage.

65
CHAPTER 4 Methodology: EVE-NG, Cisco IOS-XR, Topology, Simulation and Results

In scalability, stateless protocol is used on SR-MPLS, facilitating network scaling, on other


hand MPLS-TE is a connection-oriented technology, to maintain connection states, devices
need to exchange and process numerous keepalive packets, straining the control plane.

In traffic engineering, SR-TE considered the easiest and the simplest method; because SR-TE
does not need many configurations, opposite traditional MPLS which makes traffic engineering
so hard to implement.

When talking about the future, a technology that have integration with software-defined
network concept is needed, SR-MPLS supports traditional and SDN networks, whereas
traditional MPLS only works with traditional networks.

66
5. Chapter 5

Conclusion and future work

67
Conclusion and Future work
CHAPTER 5

5.1 Conclusion
In this thesis, Segment Routing architecture was studied and the main objective of this project
was to design, implement, and verify the SR technology that runs on SP Network. L3 VPN was
used in order to simulate a real environment by connecting two different customers through the
Service provider and showing how the Service provider separates between the networks of the
customers. SR-TE was Configured in the backbone network to prove the simplicity of applying
Traffic Engineering using Segment Routing Policies and the SDN Technology was also applied
using the PCE Controller.
SR is a method of forwarding packets on the network based on the source routing paradigm.
The source chooses a path and encodes it in the packet header as an ordered list of segments
and the primary benefit of the Segment routing is its ability to simplify the network and reduce
resource utilization, making it easier to manage and operate your network.
Based on the simulation, the result was that SR provides better, more efficient, and easier
solutions than the classic MPLS control planes. The key reason that routers of service
providers and large enterprise companies use SR as a Control plane of MPLS is that makes the
network more simple, scalable, and intelligent.
Additionally, the combination of the PCE Controller with SR-TE lessens network sluggishness
and centralizes network management, which lowers the overhead on the other routers.

5.2 Future Work


More features and benefits can be implemented using Segment Routing on the networks,
simulating a large service provider to provide the simplicity of Segment Routing Traffic
Engineering in the big networks. Using Segment Routing Version 6 Technology which
implemented based on the IPv6 forwarding plane and comparing it with the SR-MPLS
implemented based on the MPLS forwarding plane.
Using more vendors of routers in the Core of the network, such as Huawei NE40 or Juniper
MX960, and evaluating the performance and cost to Cisco ASR9000 routers.

68
Conclusion and Future work
CHAPTER 5

References

Dye, M., McDonald, R., & Rufi, A. (2007). Network fundamentals, CCNA
[1]
exploration companion guide.

[2] Solomon, M. G., & Kim, D. (2021). Fundamentals of communications and


networking. Jones & Bartlett Learning.
[3] Layered model - computer networking 1. Google Sites: Sign-in. (n.d.). Retrieved
August 11, 2022, from
https://sites.google.com/site/tvcc110111mb198065/layered-model

[4] Alani, M. M. (2014). Guide to OSI and TCP/IP models.

[5] Applications and services - computer networking 1. Google Sites: Sign-in. (n.d.).
Retrieved August 17, 2022, from
https://sites.google.com/site/tvcc110111mb198065/applications-and-services
Hartpence, B. (2011). Packet Guide to Routing and Switching: Exploring the
[6]
Network Layer. " O'Reilly Media, Inc."
[7] Computer Network Routing: Types of routing - javatpoint. www.javatpoint.com.
(n.d.). Retrieved August 20, 2022, from https://www.javatpoint.com/computer-
network-routing
Open shortest path first (OSPF) - set 2. GeeksforGeeks. Retrieved August 22,
[8]
2022, from https://origin.geeksforgeeks.org/open-shortest-path-first-ospf-set-2/
[9] What is OSPF?: How it works?: Implementation and application of OSPF.
EDUCBA. (2022, July 2). Retrieved August 22, 2022, from
https://www.educba.com/what-is-ospf/
[10] Moy, J. T. (1998). OSPF: anatomy of an Internet routing protocol. Addison-
Wesley Professional.

[11] Moy, J. (1997). OSPF version 2 (No. rfc2178).

[12] MPLS layer 3 VPN configuration guide for cisco ASR 9000 series routers, IOS
XR release 7.1.x - implementing MPLS Layer 3 vpns [CISCO ASR 9000 series
aggregation services routers]. Cisco. (2021, June 8). Retrieved September 11,
2022, from
HTTPS://WWW.CISCO.COM/C/EN/US/TD/DOCS/ROUTERS/ASR9000/SOFTWARE/ASR9
K-R7-1/LXVPN/CONFIGURATION/GUIDE/B-L3VPN-CG-ASR9000-71X/B-L3VPN-CG-
ASR9000-71X_CHAPTER_010.HTML
[13] Route Distinguishers and route targets. Route Distinguishers and Route Targets
- PacketLife.net. (n.d.). Retrieved September 12, 2022, from
https://packetlife.net/blog/2013/jun/10/route-distinguishers-and-route-targets/

69
Conclusion and Future work
CHAPTER 5

[14] MBGP. Cisco Community. (2019, March 1). Retrieved September 17, 2022, from
https://community.cisco.com/t5/networking-knowledge-base/mBGP/ta-
p/3115725

[15] Alwayn, V. (2001). Advanced MPLS design and implementation. Cisco press.

[16] Tripathi, M. (2021, June 17). Multiprotocol Label switching(mpls) explained.


Medium. Retrieved September 22, 2022, from
https://towardsdatascience.com/multiprotocol-label-switching-mpls-explained-
aac04f3c6e94
[17] Shawl, R. Q., Thaker, R., & Singh, E. J. (2014). A Review: Multi Protocol Label
Switching (Mpls). International Journal of Engineering Research and
Applications, 4(1), 66-70.
[18] MPLS overview. MPLS Overview | Junos OS | Juniper Networks. (n.d.).
Retrieved September 23, 2022, from
https://www.juniper.net/documentation/us/en/software/junos/mpls/topics/topic-
map/mpls-overview.html
[19] Osborne, E. D., & Simha, A. (2002). Traffic engineering with MPLS. Cisco
Press.
[20] Ventre, P. L., Salsano, S., Polverini, M., Cianfrani, A., Abdelsalam, A., Filsfils,
C., ... & Clad, F. (2020). Segment routing: a comprehensive survey of research
activities, standardization efforts, and implementation results. IEEE
Communications Surveys & Tutorials, 23(1), 182-221.

Segment routing. Segment Routing. (n.d.). Retrieved September 24, 2022, from
[21]
https://www.segment-routing.net/

[22] Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B., Litkowski, S., & Shakir, R.
(2018). Segment routing architecture (No. rfc8402).

[23] Segment routing configuration guide, Cisco Ios XE release 3S - introduction to


segment routing [Cisco ios xe 3S]. Cisco. (2017, May 30). Retrieved September
22, 2022, from https://www.cisco.com/c/en/us/td/docs/ios-
xml/ios/seg_routing/configuration/xe-3s/segrt-xe-3s-book/intro-seg-
routing.html

[24] UserManual.wiki. (n.d.). Day one: Configuring segment routing with Junos.
UserManual.wiki. Retrieved September 24, 2022, from
https://usermanual.wiki/m/2d9b5a601009aabcdf75a92551e24389b2f97dcc3aab
9cbc5de9364d62632071
Filsfils, C., Michielsen, K., Clad François, & Voyer, D. (2019). Segment routing
[25]
Part II - Traffic Engineering. Cisco Systems.
[26] Cisco. (2021, November 24). Segment routing configuration guide for cisco ASR
9000 series routers, IOS XR release 6.4.x - configure SR-te policies [Cisco IOS
XR Software Release 6.4]. Cisco. Retrieved September 25, 2022, from
https://www.cisco.com/c/en/us/td/docs/routers/asr9000/software/asr9k-r6-
4/segment-routing/configuration/guide/b-segment-routing-cg-asr9000-64x/b-
segment-routing-cg-asr9000-64x_chapter_0111.html

70
Conclusion and Future work
CHAPTER 5

[27] SR-TE - NE40E v800r010c10spc500 feature description - segment routing 01.


Huawei. (n.d.). Retrieved September 26, 2022, from
https://support.huawei.com/enterprise/en/doc/EDOC1100055048/bf2d383e/sr-
te
[28] What is segment routing?: Juniper Networks Us. Juniper Networks. (n.d.).
Retrieved October 1, 2022, from https://www.juniper.net/us/en/research-
topics/what-is-segment-routing.html
[29] RFC 5440 - path computation element (PCE) communication protocol (PCEP).
Document search and retrieval page. (n.d.). Retrieved October 2, 2022, from
https://datatracker.ietf.org/doc/html/rfc5440

[30] EVE-NG. (n.d.). Retrieved October 5, 2022, from https://www.eve-ng.net/

Free award-winning file manager. WinSCP. (2022, October 6). Retrieved


[31]
October 10, 2022, from https://winscp.net/eng/index.php

Routing basics. TutorialAndExample. (n.d.). Retrieved August 20, 2022, from


[32]
HTTPS://WWW.TUTORIALANDEXAMPLE.COM/ROUTING-BASICS

OSPF protocol. (n.d.). Retrieved August 22, 2022, from HTTPS://WWW.WLINK-


[33]
TECH.COM/ART/OSPF

Faisal. (2016, March 23). Need a quick recipe for SDN in wan? mix BGP-LS
with PCE. Need A Quick Recipe For SDN In WAN? Mix BGP-LS With PCE -.
[34] Retrieved September 22, 2022, from
HTTPS://TELCOCLOUDBRIDGE.COM/BLOG/NEED-QUICK-RECIPE-SDN-WAN-MIX-
BGP-LS-PCE/
MobaXterm. (n.d.). Retrieved October 10, 2022, from
[35]
HTTPS://MOBAXTERM.MOBATEK.NET/

71
Appendix: Network Configuration

1.1 SR-MPLS CORE (Provider Routers)

P3
RP/0/RP0/CPU0:P3#show run

Sat Oct 22 20:30:43.683 UTC

Building configuration...

!! IOS XR Configuration version = 6.5.1

!! Last configuration change at Sat Oct 22 16:12:26 2022 by admin

hostname P3

username admin

group root-lr

group cisco-support

secret 5 $1$wuqn$UwxypHt6.ggDI0.6buKfa.

icmp ipv4 source vrf

call-home

service active

contact smart-licensing

profile CiscoTAC-1

active

destination transport-method http

interface Loopback0

ipv4 address 3.3.3.3 255.255.255.255

interface MgmtEth0/RP0/CPU0/0

shutdown

interface GigabitEthernet0/0/0/0

ipv4 address 172.16.13.3 255.255.255.248

72
!

interface GigabitEthernet0/0/0/1

ipv4 address 172.16.23.3 255.255.255.248

interface GigabitEthernet0/0/0/2

ipv4 address 172.16.34.3 255.255.255.248

interface GigabitEthernet0/0/0/3

shutdown

router ospf 1

distribute link-state

router-id 3.3.3.3

segment-routing mpls

network point-to-point

segment-routing forwarding mpls

address-family ipv4 unicast

area 0

segment-routing mpls

interface Loopback0

prefix-sid index 3

interface GigabitEthernet0/0/0/0

network point-to-point

interface GigabitEthernet0/0/0/1

network point-to-point

interface GigabitEthernet0/0/0/2

network point-to-point

mpls traffic-eng
73
!
segment-routing

global-block 16000 17000

traffic-eng

pcc

source-address ipv4 3.3.3.3

pce address ipv4 100.100.100.100

precedence 100

report-all

redundancy pcc-centric

mpls ip-ttl-propagate disable forwarded

end

--------------------------------------------------------------------------

P4
RP/0/RP0/CPU0:P4#show run

Sat Oct 22 20:31:28.995 UTC

Building configuration...

!! IOS XR Configuration version = 6.5.1

!! Last configuration change at Mon Oct 10 21:56:45 2022 by root

hostname P4

username admin

group root-lr

group cisco-support

secret 5 $1$wuqn$UwxypHt6.ggDI0.6buKfa.

icmp ipv4 source vrf

call-home

74
service active

contact smart-licensing

profile CiscoTAC-1

active

destination transport-method http

interface Loopback0

ipv4 address 4.4.4.4 255.255.255.255

interface MgmtEth0/RP0/CPU0/0

shutdown

interface GigabitEthernet0/0/0/0

ipv4 address 172.16.14.4 255.255.255.248

interface GigabitEthernet0/0/0/1

ipv4 address 172.16.24.4 255.255.255.248

interface GigabitEthernet0/0/0/2

ipv4 address 172.16.34.4 255.255.255.248

interface GigabitEthernet0/0/0/3

ipv4 address 172.16.45.4 255.255.255.248

router ospf 1

distribute link-state

router-id 4.4.4.4

segment-routing mpls

network point-to-point

75
segment-routing forwarding mpls

address-family ipv4 unicast

area 0

segment-routing mpls

interface Loopback0

prefix-sid index 4

interface GigabitEthernet0/0/0/0

network point-to-point

interface GigabitEthernet0/0/0/1

network point-to-point

interface GigabitEthernet0/0/0/2

network point-to-point

interface GigabitEthernet0/0/0/3

network point-to-point

segment-routing

global-block 16000 17000

traffic-eng

pcc

source-address ipv4 4.4.4.4

pce address ipv4 100.100.100.100

precedence 100

report-all

redundancy pcc-centric

mpls ip-ttl-propagate disable forwarded

end

76
P5
RP/0/RP0/CPU0:PCE-P5#show run

Sat Oct 22 20:40:34.579 UTC

Building configuration...

!! IOS XR Configuration version = 6.5.1

!! Last configuration change at Fri Oct 7 16:46:31 2022 by admin

hostname PCE-P5

username admin

group root-lr

group cisco-support

secret 5 $1$wuqn$UwxypHt6.ggDI0.6buKfa.

call-home

service active

contact smart-licensing

profile CiscoTAC-1

active

destination transport-method http

interface Loopback0

ipv4 address 5.5.5.5 255.255.255.255

interface MgmtEth0/RP0/CPU0/0

shutdown

interface GigabitEthernet0/0/0/0

ipv4 address 172.16.15.5 255.255.255.248

interface GigabitEthernet0/0/0/1

ipv4 address 172.16.25.5 255.255.255.248


77
!
interface GigabitEthernet0/0/0/2

ipv4 address 172.16.56.5 255.255.255.248

interface GigabitEthernet0/0/0/3

ipv4 address 172.16.45.5 255.255.255.248

router ospf 1

distribute link-state

router-id 5.5.5.5

segment-routing mpls

network point-to-point

segment-routing forwarding mpls

address-family ipv4 unicast

area 0

segment-routing mpls

interface Loopback0

prefix-sid index 5

interface GigabitEthernet0/0/0/0

network point-to-point

interface GigabitEthernet0/0/0/1

network point-to-point

interface GigabitEthernet0/0/0/2

network point-to-point

interface GigabitEthernet0/0/0/3

network point-to-point

78
segment-routing

global-block 16000 17000

traffic-eng

pcc

source-address ipv4 5.5.5.5

pce address ipv4 100.100.100.100

precedence 100

report-all

redundancy pcc-centric

end

--------------------------------------------------------------------------

79
1.2 L3VPN + SR-TE (Provider Edge Routers)

PE-1
RP/0/RP0/CPU0:PE1#show run

Sat Oct 22 20:19:35.211 UTC

Building configuration...

!! IOS XR Configuration version = 6.5.1

!! Last configuration change at Sat Oct 22 16:08:21 2022 by admin

hostname PE1

username admin

group root-lr

group cisco-support

secret 5 $1$wuqn$UwxypHt6.ggDI0.6buKfa.

vrf CUST-1

rd 172.16.1.0:1

address-family ipv4 unicast

import route-target

172.16.1.4:1

export route-target

172.16.1.0:1

vrf CUST-2

rd 172.16.2.0:2

address-family ipv4 unicast

import route-target

172.16.2.4:2

export route-target

172.16.2.0:2

80
icmp ipv4 source vrf

call-home

service active

contact smart-licensing

profile CiscoTAC-1

active

destination transport-method http

interface Loopback0

ipv4 address 1.1.1.1 255.255.255.255

interface MgmtEth0/RP0/CPU0/0

shutdown

interface GigabitEthernet0/0/0/0.1

vrf CUST-1

ipv4 address 172.16.1.1 255.255.255.252

encapsulation dot1q 10

interface GigabitEthernet0/0/0/0.2

vrf CUST-2

ipv4 address 172.16.2.1 255.255.255.252

encapsulation dot1q 20

interface GigabitEthernet0/0/0/1

ipv4 address 172.16.15.1 255.255.255.248

interface GigabitEthernet0/0/0/2

ipv4 address 172.16.14.1 255.255.255.248

81
interface GigabitEthernet0/0/0/3

ipv4 address 172.16.13.1 255.255.255.248

router ospf 1

distribute link-state

router-id 1.1.1.1

segment-routing mpls

network point-to-point

segment-routing forwarding mpls

address-family ipv4 unicast

area 0

segment-routing mpls

interface Loopback0

prefix-sid index 1

interface GigabitEthernet0/0/0/1

network point-to-point

interface GigabitEthernet0/0/0/2

network point-to-point

interface GigabitEthernet0/0/0/3

network point-to-point

router ospf 10

vrf CUST-1

router-id 1.1.1.1

redistribute BGP 65010

82
area 0

interface GigabitEthernet0/0/0/0.1

router ospf 20

vrf CUST-2

router-id 1.1.1.1

redistribute BGP 65010

area 0

interface GigabitEthernet0/0/0/0.2

router BGP 65010

address-family vpnv4 unicast

neighbor 2.2.2.2

remote-as 65010

update-source Loopback0

address-family vpnv4 unicast

vrf CUST-1

rd 172.16.1.0:1

address-family ipv4 unicast

redistribute ospf 10 match internal external

vrf CUST-2

rd 172.16.2.0:2

address-family ipv4 unicast

redistribute ospf 20 match internal external

83
mpls oam

mpls traffic-eng

segment-routing

global-block 16000 17000

traffic-eng

interface GigabitEthernet0/0/0/1

segment-list SR-TE

index 10 mpls label 16004

index 20 mpls label 16005

index 30 mpls label 16002

policy 100

color 100 end-point ipv4 2.2.2.2

candidate-paths

preference 100

explicit segment-list SR-TE

pcc

source-address ipv4 1.1.1.1

pce address ipv4 100.100.100.100

precedence 100

report-all

redundancy pcc-centric

mpls ip-ttl-propagate disable forwarded

end

84
PE-2
RP/0/RP0/CPU0:PE2#show run

Sat Oct 22 20:20:43.548 UTC

Building configuration...

!! IOS XR Configuration version = 6.5.1

!! Last configuration change at Sat Oct 22 16:25:58 2022 by admin

hostname PE2

username admin

group root-lr

group cisco-support

secret 5 $1$wuqn$UwxypHt6.ggDI0.6buKfa.

vrf CUST-1

rd 172.16.1.4:1

address-family ipv4 unicast

import route-target

172.16.1.0:1

export route-target

172.16.1.4:1

vrf CUST-2

rd 172.16.2.4:2

address-family ipv4 unicast

import route-target

172.16.2.0:2

export route-target

172.16.2.4:2

85
icmp ipv4 source vrf

call-home

service active

contact smart-licensing

profile CiscoTAC-1

active

destination transport-method http

interface Loopback0

ipv4 address 2.2.2.2 255.255.255.255

interface MgmtEth0/RP0/CPU0/0

shutdown

interface GigabitEthernet0/0/0/0.1

vrf CUST-1

ipv4 address 172.16.1.5 255.255.255.252

encapsulation dot1q 10

interface GigabitEthernet0/0/0/0.2

vrf CUST-2

ipv4 address 172.16.2.5 255.255.255.252

encapsulation dot1q 20

interface GigabitEthernet0/0/0/1

ipv4 address 172.16.25.2 255.255.255.248

interface GigabitEthernet0/0/0/2

ipv4 address 172.16.24.2 255.255.255.248

interface GigabitEthernet0/0/0/3
86
ipv4 address 172.16.23.2 255.255.255.248
router ospf 1

distribute link-state

router-id 2.2.2.2

segment-routing mpls

network point-to-point

segment-routing forwarding mpls

address-family ipv4 unicast

area 0

segment-routing mpls

interface Loopback0

prefix-sid index 2

interface GigabitEthernet0/0/0/1

network point-to-point

interface GigabitEthernet0/0/0/2

network point-to-point

interface GigabitEthernet0/0/0/3

network point-to-point

router ospf 10

vrf CUST-1

router-id 2.2.2.2

redistribute BGP 65010

area 0

interface GigabitEthernet0/0/0/0.1

87
router ospf 20

vrf CUST-2

router-id 2.2.2.2

redistribute BGP 65010

area 0

interface GigabitEthernet0/0/0/0.2

router BGP 65010

address-family vpnv4 unicast

neighbor 1.1.1.1

remote-as 65010

update-source Loopback0

address-family vpnv4 unicast

vrf CUST-1

rd 172.16.1.4:1

address-family ipv4 unicast

redistribute ospf 10 match internal external

vrf CUST-2

rd 172.16.2.4:2

address-family ipv4 unicast

redistribute ospf 20 match internal external

mpls oam

mpls traffic-eng

88
segment-routing

global-block 16000 17000

traffic-eng

interface GigabitEthernet0/0/0/1

metric 1

segment-list SR-TE-PE2

index 10 mpls label 16003

index 20 mpls label 16004

index 30 mpls label 16001

policy 200

color 200 end-point ipv4 1.1.1.1

candidate-paths

preference 100

explicit segment-list SR-TE-PE2

pcc

source-address ipv4 2.2.2.2

pce address ipv4 100.100.100.100

precedence 100

report-all

redundancy pcc-centric

mpls ip-ttl-propagate disable forwarded

end

89
1.3 MPLS Provider Switches

WAN-SW-6
Switch#show run

Building configuration...

Current configuration : 985 bytes

! Last configuration change at 17:26:53 EET Sat Oct 22 2022

version 15.2

service timestamps debug datetime msec

service timestamps log datetime msec

no service password-encryption

service compress-config

hostname Switch

boot-start-marker

boot-end-marker

no aaa new-model

clock timezone EET 2 0

no ipv6 cef

ip cef

spanning-tree mode pvst

spanning-tree extend system-id

90
interface Ethernet0/0

switchport trunk encapsulation dot1q

switchport mode trunk

interface Ethernet0/1

switchport access vlan 10

switchport mode access

interface Ethernet0/2

switchport access vlan 20

switchport mode access

interface Ethernet0/3

ip forward-protocol nd

no ip http server

ip ssh server algorithm encryption aes128-ctr aes192-ctr aes256-ctr

ip ssh client algorithm encryption aes128-ctr aes192-ctr aes256-ctr

control-plane

line con 0

logging synchronous

line aux 0

line vty 0 4

login

end

91
logging synchronous

line aux 0

line vty 0 4

login

end

--------------------------------------------------------------------------

WAN-SW-7
Switch#show run

Building configuration...

Current configuration : 985 bytes

! Last configuration change at 17:26:40 EET Sat Oct 22 2022

version 15.2

service timestamps debug datetime msec

service timestamps log datetime msec

no service password-encryption

service compress-config

hostname Switch

boot-start-marker

boot-end-marker

no aaa new-model

clock timezone EET 2 0

92
no ipv6 cef

ip cef

spanning-tree mode pvst

spanning-tree extend system-id

interface Ethernet0/0

switchport trunk encapsulation dot1q

switchport mode trunk

interface Ethernet0/1

switchport access vlan 10

switchport mode access

interface Ethernet0/2

switchport access vlan 20

switchport mode access

interface Ethernet0/3

ip forward-protocol nd

no ip http server

ip ssh server algorithm encryption aes128-ctr aes192-ctr aes256-ctr

ip ssh client algorithm encryption aes128-ctr aes192-ctr aes256-ctr

control-plane

93
line
candidate-paths
con 0

logging
preference
synchronous
100

lineexplicit
aux 0 segment-list SR-TE-PE2

line! vty 0 4

login
!

!!

!!

! pcc

end
source-address ipv4 2.2.2.2

- -pce
- - -address
- - - - - - ipv4
- - - -100.100.100.100
-----------------------------------------------------------

precedence 100

report-all

redundancy pcc-centric

mpls ip-ttl-propagate disable forwarded

end

--------------------------------------------------------------------------

94
1.4 Provider PCE Controller Router

PCE
RP/0/RP0/CPU0:PCE_Controller#show run

Sat Oct 22 21:02:34.566 UTC

Building configuration...

!! IOS XR Configuration version = 6.5.1

!! Last configuration change at Fri Oct 7 16:12:11 2022 by root

hostname PCE_Controller

username admin

group root-lr

group cisco-support

secret 5 $1$wuqn$UwxypHt6.ggDI0.6buKfa.

pce

address ipv4 100.100.100.100

call-home

service active

contact smart-licensing

profile CiscoTAC-1

active

destination transport-method http

interface Loopback0

ipv4 address 100.100.100.100 255.255.255.255

interface MgmtEth0/RP0/CPU0/0

shutdown

interface GigabitEthernet0/0/0/0

ipv4 address 172.16.56.6 255.255.255.248

95
interface GigabitEthernet0/0/0/1

shutdown

interface GigabitEthernet0/0/0/2

shutdown

interface GigabitEthernet0/0/0/3

shutdown

router ospf 1

distribute link-state

router-id 100.100.100.100

network point-to-point

address-family ipv4 unicast

area 0

segment-routing mpls

interface Loopback0

interface GigabitEthernet0/0/0/0

network point-to-point

mpls traffic-eng

segment-routing

global-block 16000 17000

traffic-eng

end

96

You might also like