HELSINKI UNIVERSITY OF TECHNOLOGY Department of Electrical ...

steambeanΛογισμικό & κατασκευή λογ/κού

30 Ιουν 2012 (πριν από 5 χρόνια και 1 μήνα)

614 εμφανίσεις

HELSINKI UNIVERSITY OF TECHNOLOGY
Department of Electrical and Communications Engineering
Sampo Naski
MASTER’S THESIS
Testing IPv6 in Access Networks Based on Multiprotocol
Label Switching
This thesis has been submitted for official examination for the degree of Master of Science
in Communications Engineering in Espoo,Finland on 22nd November 2005.
Supervisor:Professor Antti Ylä-Jääski
Instructor:M.Sc.Joydev Jana,Tellabs Oy
Abstract
HELSINKI UNIVERSITY OF ABSTRACT OF MASTER’S THESIS
TECHNOLOGY
i
ABSTRACT ii
Author:Sampo Naski
Name of the Thesis:Testing IPv6 in Access Networks Based on Multiprotocol Label
Switching
Date:22nd November 2005 Number of pages:69
Department:Department of Electrical and Communications Engineering
Professorship:T-110,Telecommunications Software
Supervisor:Professor Antti Ylä-Jääski
Instructor:M.Sc.Joydev Jana,Tellabs Oy
IPv6 has been developed due to the demand for larger address space and other improvements
compared to IPv4.MPLS on its behalf can provide more connection oriented services
such VPNs and reliable QoS.This thesis is about testing routers that can provide IPv6
connectivity and MPLS enabled services to access networks.
At first,objectives of the work are set including the test requirements.After that IPv6 is
introduced.This includes presenting its features,headers and differences compared to IPv4.
After that two routing protocols (OSPF and BGP) are introduced and their IPv6 compliant
versions are covered too.Then MPLS technology is introduced.This includes presenting
label switching operation and two signaling protocols,that can be used for label distribution
(LDP and RSVP-TE).The following part presents,how MPLS VPNs are established by
using VRFs and BGP.
The testing part begins with the presentation of IPv6 tests.Ten test cases are developed for
testing IPv6.Test cases cover requirements to be verified quite widely but not that deeply.
Then ideas for testing the two routing protocols is provided.An example for testing IPv6 in
access (core deploys MPLS) networks is presented too.
Finally the work is analyzed.The coverage of IPv6 test cases among the requirements is
handled.Then the chosen testing strategy is analyzed and justified.Finally issues related to
testing the routing protocols and MPLS with cooperation with IPv6 is provided.
Keywords:IPv4,IPv6,MPLS,BGP,OSPF,RSVP,LDP,Testing
Tiivistelmä
TEKNILLINEN KORKEAKOULU DIPLOMITYÖN TIIVISTELMÄ
iii
TIIVISTELMÄ iv
Tekijä:Sampo Naski
Työn nimi:IPv6:n testaus MPLS -pohjaisissa liityntäverkoissa
Päivämäärä:22.marraskuuta 2005 Sivumäärä:69
Osasto:Sähkö- ja tietoliikennetekniikan osasto
Professuuuri:T-110,Tietoliikenneohjelmistot
Työn valvoja:Professori Antti Ylä-Jääski
Työn ohjaaja:M.Sc.Joydev Jana,Tellabs Oy
IPv6 on kehitetty IPv4:n seuraajaksi,koska jälkimmäisen osoiteavaruus on käymässäpie-
neksi ja se on kohdannut muitakin pienempiäongelmia.MPLS taas on kehitetty,jotta pa-
kettiverkoissa voitaisiin tarjota enemmän piirikytkentäisiämuistuttavia palveluja.Tämätyö
keskittyy reitittimien testaukseen.Kyseessäovat sellaiset reitittimet,jotka voivat tarjota se-
käIPv6 -liitettävyyden ettäMPLS:n mahdollistamat palvelut liityntäverkkoihin.
Ensiksi esitellään tavoitteet mukaanlukien testivaatimukset.Sitten käsitellään IPv6.Tähän
sisältyy protokollan ominaisuuksien,otsikoiden ja erojen (IPv4:ään nähden) esittelyä.Sit-
ten käsitellään kaksi reititysprotokollaa (BGP ja OSPF).Tähän kuuluu myös näiden IPv6
-yhteensopivien versioiden esittelyä.Sen jälkeen käydään läpi MPLS -teknologiaa.Tä-
hän kuuluu leimakytkennän toiminnan kuvaus ja kahden leimanvälitysprotokollan (LDP
ja RSVP-TE) esittelyä.Seuraavaksi esitellään kuinka MPLS VPNluodaan VRF:n ja BGP:n
avulla.
Testausosa esittelee aluksi testitapaukset,jotka kehitettiin tässätyössäIPv6:n testaukseen.
Tapaukset kattavat vaatimukset suhteellisen hyvin,mutteivät poraudu niihin kovin syväl-
lisesti.Sitten esitellään ajatuksia liittyen reititysprotokollien testaukseen.Sitten esitetään
esimerkki IPv6:n testauksesta liityntäverkossa (runkoverkossa käytetään MPLS:ää).
Lopuksi työanalysoidaan.Ensin käsitellään IPv6 -testitapausten peitto vaatimusten keskuu-
dessa.Sitten valittu testistrategia analysoidaan ja perustellaan.Lopuksi käsitellään asioita
liittyen reititysprotokollien ja MPLS teknologioiden testaukseen yhdessäIPv6:n kanssa.
Avainsanat:IPv4,IPv6,MPLS,BGP,OSPF,RSVP,LDP,Testaus
Foreword
This thesis was carried out at Tellabs Oy as a part of the development process of Tellabs
8600 Managed Access System.
Thanks to M.Sc.Joydev Jana for being the instructor and giving comments about this work.
I want also thank to Markku Pikkarainen for arranging the possibility to carry out the work
as a scholar.Thanks also to Professor Antti Ylä-Jääski for supervising the work.
Finally,lovely thanks to Riikka for her support and kicking my ass to get the job done.
Espoo,22nd November 2005
Sampo Naski
v
Contents
Abstract i
Tiivistelmä iii
Foreword v
Contents vi
List of Figures ix
List of Tables xi
Acronyms and Abbreviations xii
1 Introduction 1
1.1 Organization of the Thesis..........................3
2 ProblemStatement 4
2.1 ProblemDomain...............................4
2.2 Goals.....................................4
2.2.1 Research Methods..........................5
2.2.2 Primary Objective..........................5
2.2.3 Scope.................................6
vi
CONTENTS vii
2.2.4 Evaluation Criteria..........................6
2.3 Secondary Goals...............................6
2.3.1 Secondary Objective I........................7
2.3.2 Secondary Objective II........................7
3 Background 8
3.1 The Big Picture................................8
3.2 IP Version 6..................................9
3.2.1 Features................................10
3.2.2 IPv6 Addressing...........................11
3.2.3 IPv6 Header.............................17
3.2.4 ICMPv6................................19
3.2.5 Neighbor Discovery.........................20
3.2.6 Multicast Listener Discovery.....................22
3.2.7 Transitioning Mechanisms......................23
3.3 Dynamic Routing with IPv6.........................23
3.3.1 OSPFv2................................24
3.3.2 Coping with IPv6:OSPFv3.....................27
3.3.3 BGP-4................................28
3.3.4 Coping with IPv6:Multiprotocol Extensions for BGP-4......30
3.4 MPLS Technology..............................31
3.4.1 Overview...............................31
3.4.2 MPLS Architecture..........................32
3.4.3 MPLS Label Stack Header......................33
3.5 Signaling in MPLS Domain..........................35
3.5.1 LDP..................................35
CONTENTS viii
3.5.2 RSVP-TE...............................37
3.6 MPLS Enabled VPNs.............................39
3.6.1 VPN Models.............................39
3.6.2 VRF..................................40
3.6.3 VPN Operation............................40
4 Implementation 44
4.1 Design of Required Test Cases........................44
4.1.1 Definitions and Requirements....................44
4.1.2 Proposed Solution for the Primary Objective............45
4.2 Covering the Secondary Objectives......................53
4.2.1 Objective I..............................54
4.2.2 Objective II..............................54
4.2.3 Testing IPv6 in MPLS Enabled Access Networks..........55
5 Analysis 57
5.1 Test Coverage.................................57
5.1.1 Testing Strategy............................59
5.1.2 Weaknesses and Further Development................60
5.2 Meeting with the Secondary Objectives...................61
5.2.1 Objective I..............................61
5.2.2 Objective II..............................61
6 Conclusions 63
Bibliography 66
List of Figures
3.1 The global unicast address...........................12
3.2 The link-local unicast address.........................13
3.3 The site-local unicast address.........................13
3.4 The multicast address.............................14
3.5 The IPv6 header................................17
3.6 A sample OSPF network............................26
3.7 Position of MPLS label in a Layer 2 Frame..................34
3.8 MPLS Label Stack Header...........................34
3.9 A Sample MPLS VPN Network.......................43
4.1 The setup for test case 1............................46
4.2 The setup for test case 2............................47
4.3 The setup for test case 3............................48
4.4 The setup for test case 4............................48
4.5 The setup for test case 5............................49
4.6 The setup for test case 6............................50
4.7 The setup for test case 7............................51
4.8 The setup for test case 8............................52
4.9 The setup for test case 9............................53
ix
LIST OF FIGURES x
4.10 The setup for test case 10............................54
4.11 Setup for testing IPv6 in MPLS network...................55
List of Tables
3.1 RSVP-TE Objects...............................38
5.1 Requirement Coverage............................59
xi
Acronyms and Abbreviations
ABR Area Border Router
ASBR Autonomous SystemBorder Router
AS Autonomous System
ATM Asynchronous Transfer Mode
BDR Backup Designated Router
BGP Border Gateway Protocol
CE Customer Edge
CIDR Classless Inter-Domain Routing
CPE Customer Premises Equipment
DAD Duplicate Address Detection
DNS Domain Name System
DR Designated Router
DUT Device Under Test
EGP Exterior Gateway Protocol
EUI Extended Unique Identifer
IANA Internet Assigned Numbers Authority
ICMPv4 Internet Control Protocol for IPv4
ICMPv6 Internet Control Message Protocol version 6
ICMPv6 Internet Control Protocol for IPv6
xii
ACRONYMS AND ABBREVIATIONS xiii
IETF Internet Engineering Task Force
IGMPv2 Internet Group Management Protocol version 2
IGP Interior Gateway Protocol
IPSec IP Security Protocol
IPv4 Internet Protocol version 4
IPv6 Internet Protocol version 6
IR Internal Router
ISP Internet Service Provider
LDP Label Distribution Protocol
LFIB Label Forwarding Information Base
LIB Label Information Base
LSA Link State Advertisement
LSD Link State Database
LSP Label Switched Path
LSR Label Switch Router
MAC Media Access Control
MLD Multicast Listener Discovery
MLD Multicast Listener Discovery
MPLS Multiprotoocol Label Switching
MTU MaximumTransfer Unit
NAT Network Address Translation
ND Neighbor Discovery
NIC Network Interface Card
OSPF Open Shortest Path First
PE Provider Edge
ACRONYMS AND ABBREVIATIONS xiv
RFC Request for Comments
RIB Routing Information Base
RSVP-TE Resource Reservation Protocol - Traffic Extension
RSVP Resource Reservation Protocol
SPT Shortest Path Tree
VPN Virtual Private Network
VRF VPN Routing and Forwarding instance
Chapter 1
Introduction
The Internet is the corner stone of the modern-day data communications.End-users re-
quire always more reliable connectivity to the Internet and bandwidth expectations seemto
increase steadily.In this context,an end-user may be a private Internet user as well as a
business user.Many business users also set additional quality demands to service providers,
since internetworking applications may be the foundation of the core business of enterprises
or at least firms may create additional value for their businesses by deploying intranet appli-
cations or by offering network services to their customers and suppliers (extranets).Even
though the significance of the Internet Protocol (IP) family as the base of network applica-
tions has become ultimate,an all IP -solution may not overcome all the problems related to
reliability and quality demands.Thereby different approaches have emerged,most of them
functioning beneath the Internet -layer.
The solutions that have controlled mechanics to handle the quality and reliability issues,are
mostly based on packet switching instead of routing.In general the main difference between
the two is that routing paradigm assumes that every network node decides independently
where to send an incoming packet,whereas packet switching assumes that end-point nodes
reserve necessary network resources needed to communicate with each other.The same
resources are then used with every packet,that is,packet switching concept can be seen as
a virtually circuit switched approach.
The packet switching technologies mostly settle in the Layer 2 in the ISO OSI -model
[1].In general they require special switching equipment and wiring.Technologies are
usually quite expensive and is usually deployed in Wide Area Networks (WANs) by network
operators.Within this context one might also talk about core networks.One commonly used
technology is Asynchronous Transfer Mode (ATM).ATM -terminology has the concept
of cell switching instead of packet switching.ATM is a pure Layer 2 approach.Even
though commonly used,ATMhas several issues considering scalability and the complexity
1
CHAPTER 1:INTRODUCTION 2
of control and management.
Multi-Protocol Label Switching (MPLS) is a more flexible choice.It settles in between
layers 2 and 3 in the OSI model.The fundamental idea in MPLS is to add an additional
header called label between IP -address and Layer 2 address.In MPLS terminology two
functional planes can be separated.Forwarding plane takes care of forwarding packets
based on the information in the label forwarding table whereas control plane maintains label
forwarding tables and takes care of traditional IP routing functions too.MPLS can work
above basically any Layer 2 architecture including ATM.From this point of view MPLS
routers,i.e.,nodes in MPLS enabled networks,can be seen as Layer 3 switches.This kind
of architecture combines the good sides from both:It enables the performance and control
for quality and robustness of packet switching but it also has the scalability and flexibility of
routing based architecture.Until these days MPLS router equipment have been quite heavy
and mostly used in core networks.However,the swelling needs of end-users have made the
operators to demand newkind of solutions:lighter and more scalable systems that can offer
more connection oriented services to customers.This thesis is focusing on IP/MPLS nodes
that let operators build networks,that can offer services such as traffic control,Quality of
Service (QoS) and Virtual Private Networks (VPNs).Different kind of Layer 2 interfaces
are present,including the most common Local Area Network (LAN) technology,Ethernet.
As mentioned,the IP -protocol family is the basis of all modern-day internetworking ap-
plications.Currently the Internet is based on IP protocol version 4 called IPv4.IPv4 has
been around for almost twenty years.Thereby it is is getting old.It has resiliently handled
the unimaginable expansion of the Internet in the 90’s but it is beginning to have problems.
Firstly the 32 bit address space is getting too small,though there are some techniques that
help to work around the problem.Even though some argue that these techniques can be
seen just as hacks.They can not solve the actual problems.Among other things IPv6 has
many improved capabilities related to routing and network autoconfiguration.
Imagine a router equipment that brings network access to end-users.It fulfills the modern-
day needs explained earlier in the text.In the other words,the equipment have full IPv4
and IPv6 routing capabilities and it can also do MPLS based packet switching.This kind
of device is a complex combination of hardware and software and it has to fulfill plenty of
different standards and specifications.It is self evident that testing is needed when develop-
ing this kind of product.This thesis is about to develop a framework or a methodology for
testing IPv6 in a MPLS enabled access routers.The next chapter covers the objectives of
this thesis more precisely.
CHAPTER 1:INTRODUCTION 3
1.1 Organization of the Thesis
Chapter 2 presents the research problemand the objectives of the work.The scope and some
evaluation criteria for results are presented also.Chapter 3 introduces the IPv6 protocol
and related routing protocols as well.MPLS technology is also introduced there.Then
some review about existing IPv4 related testing framework is supplied.Chapter 4 provides
solutions to research problems introduced in chapter 2.Chapter 5 provides some analysis
about the results.Finally chapter 6 contains the conclusions.
Chapter 2
ProblemStatement
This chapter first presents the problem domain.Then the objectives of this thesis are pre-
sented,followed by the scope definition of the work.After that some criteria for evaluation
of the outcomes of the actual work are presented.Finally secondary objectives are set for
the work.
2.1 ProblemDomain
As mentioned in the Introduction,the purpose of this thesis is to provide IPv6 testing and
verification framework for IP/MPLS routers.The router equipment is intended to be used
in construction of broadband access networks,that offer to the operators tools for traffic
engineering and QoS capabilities.In addition to verification of IPv6,additional research
needs to be done considering the testing of certain routing protocols and signaling protocols
with commission of IPv6.Fromnowon such a router that this thesis is focusing on is called
a node (refers to a network node) or a DUT,i.e.,Device Under Test
2.2 Goals
At firt this section introduces the research methods of the work.Then the actual goals are
presented.
4
CHAPTER 2:PROBLEMSTATEMENT 5
2.2.1 Research Methods
The primary objective is to develop a framework for testing IPv6 functionality.How can
the termfunctionality be defined?The starting point of this thesis is a set of demands called
requirements that a DUThas to fulfill.Basically the requirements define what a DUTshould
be able to do.In this case,most of the requirements are based on the RFCs (Request For
Comments),which are administrated by Internet Engineering Task Force (IETF).
Within the context of this work,the term framework refers to designing a set of generic
test cases which aim to cover the actual requirements.In practise,the testing may take
advantage by deploying some kind of testing equipment that makes it easier to automate the
testing related tasks.However,the actual test case has to be designed separately.In this
work,the test cases are intended to be designed generic enough so that they do not depend
on any specific equipment or technology.Actually,they are intended to be generic enough
to be used for testing any IPv6 router.
The suitability of the test cases are then analyzed against the evaluation criteria presented
in section 2.2.4.
2.2.2 Primary Objective
The primary objective is to verify that a DUT is (at least partially) IPv6 compliant.The
compliance can be defined to be achieved when it is verified that certain set of requirements
are met.The requirements for basic IPv6 functionality are as follows:
1.A DUT supports IPv6 on all interfaces simultaneously with IPv4 according to RFC
2460 [2].
2.A DUT supports router alert for IPv6 according to the RFC 2711 [3].
3.A DUT supports Path Maximum Transfer Unit (MTU) discovery for IPv6 according
to the RFC 1981 [4].
4.A DUT supports IPv6 addressing as presented in the RFC 3513 [5],RFC 3587 [6],
RFC 2375 [7] and RFC 2526 [8].
5.A DUT implements DNS Extensions to support IPv6 according to RFC 3596 [9].
6.ADUTimplements DNS Extensions to Support IPv6 Address Aggregation and Renum-
bering according to RFC 2874 [10].
7.A DUT implements generic IPv6 tunnels according to RFC 2473 [11].
CHAPTER 2:PROBLEMSTATEMENT 6
8.ADUT supports Internet Control Message Protocol version 6 (ICMPv6) as described
in RFC 2463 [12] except redirect feature.
9.A DUT supports IPv6 Neighbor Discovery (ND) as described in RFC 2461 [13]
10.ADUT supports IPv6 Multicast Listener Discovery (MLD) as described in RFC2710
[14] and MLDv2 as describes in RFC 3810 [15].
11.A DUT support stateless address auto-configuration as described in RFC 2462 [16]
See section 2.2.3 for limitations of the scope.
2.2.3 Scope
The scope is defined by the angle of view.In this case the focus is on functional system
testing.That is,a DUT can be abstracted as a black box.In the other words,no consider-
ations about the internal implementation is made but it should be verified,that a DUT will
externally meet its requirements.
However one might define other kind of demands in order to consider a DUT being func-
tional.These might be aspects related to usability,robustness etc.However they are beyond
the scope of this work.The focus is on developing a framework to verify that a DUT is
working as it should according to the requirements.
2.2.4 Evaluation Criteria
How to evaluate that a proposed solution is appropriate considering the objectives of the
work?Different kind of criteria can be defined depending on which properties are appreci-
ated most.
One thing is,how well the requirements are covered.On the other hand,it is meaningful to
evaluate,how well the conformity with the requirements is met.Also some analysis about
the chosen strategy (level and coverage of testing) should be evaluated.The chosen strategy
should also be justified somehow.
2.3 Secondary Goals
This section covers the secondary objectives set for the work.The following subsections
present the secondary objectives related to certain routing protocols and MPLS features.In
CHAPTER 2:PROBLEMSTATEMENT 7
addition to these objectives,the focus should also be on testing the IPv6 in a wider context,
simultaneously using these routing protocols and MPLS.
2.3.1 Secondary Objective I
The first of the secondary objectives is related to two common routing protocols,Open
Shortest Path First) (OSPF) [17] and Border Gateway Protocol (BGP) [18].Actually there
are some requirements that are directly linked to the operation of these protocols with IPv6.
They are:
• ADUT implements BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain Routing
according to RFC 2545 [19].
• A DUT implements OSPF for IPv6 support according to RFC 2740 [20]
However,the precise design for test framework for these protocols would be a matter of
another thesis.Thereby the objective here is to give an overviewof what the testing of these
requirements might require.
2.3.2 Secondary Objective II
The second of the secondary objectives is to shortly study how the deployment of IPv6 will
effect on the testing of MPLS and related issues.It is assumed that there are already es-
tablished testing functions for IPv4/MPLS implementation.An assumption,that IPv6 will
have not much effect on MPLS related issues,can already be made.That is,because MPLS
acts beneath the OSI Layer 3 and it has only some collaboration with the IP routing infras-
tructure during the so called LSP establishment (see section 3.4 for further information).
The focus here is also to provide ideas of testing MPLS features in cooperation with IPv6
and routing protocols,not to provide a precise MPLS test framework.The covered MPLS
features include label distribution and Virtual Private Networks (VPNs).
Chapter 3
Background
3.1 The Big Picture
This thesis is about testing IPv6 functionality of IP/MPLS routers which are meant to be
used in access networks.Figure 3.1 gives an generic overviewabout the environment where
the routers at issue are used.
There is the core network that is owned by a provider.The routers in the core are labeled
with P which refers to the word provider.Access networks are in between the Provider
Edge (RE) and the Customer Edger (CE) routers.The customer/provider edge can actually
lie in a router/switch that exists in premises of a customer.Such a device can be called
Customer Premises Equipment (CPE).
The core network is running MPLS.The network elements (nodes a.k.a routers) whose
testing is concerned in this thesis are meant to be used in access networks.They may
function as CE and PE routers as well.These access routers can also run MPLS.Thus,they
bring label switching into access networks enabling MPLS based services,like VPNs,to
be offered to customers.In a way they also fade out the core/access edge,since the same
protocols are run over that border (see figure 3.1).
The actual deployment environment of the routers does not effect on the testing of IPv6
functionality,since the routers must be able to act as plain IP routers.MPLS also work
beneath the IP layer and therefore has no effect on IP layer activities,though some coop-
eration is needed between IP and MPLS layers especially during the distribution of label
binding information (read more on all of these issues in the following sections).However
the wider perspective is useful,since after testing a single feature (like IPv6 functionality),
a more complex test network might be constructed for testing the simultaneous usage of
IPv6,some routing protocols and MPLS.
8
CHAPTER 3:BACKGROUND 9
3.2 IP Version 6
As mentioned earlier in the text,IPv4 is getting old.The RFC 791 [21] that introduced
the protocol was published in 1981.So,IPv4 is starting to have deficiencies,despite of its
resilience.Thereby a follower of IPv4 has been developed for years under the authority of
IPv6 Charter of IETF.This chapter describes basic features and structures of IPv6.
CHAPTER 3:BACKGROUND 10
3.2.1 Features
IPv6 has many features such as:[22]
• New Header Format
The point in the design of IPv6 header is to keep routing overhead minimum.This
is achieved by removing non-essential and optional header information to extension
headers that are placed after the IPv6 header.
• Large Address Space
IPv6 uses 128-bit address space.This enables the usage of multiple levels of sub-
netting.Organizations can have individual subnets within the address space allocated
for them.Only small portion of the IPv6 address space is currently allocated and
plenty of it is left for future use.That is why address conservation techniques such as
Network Address Translation (NAT) is no more needed.
• Efficient and Hierarchical Addressing and Routing Infrastructure
Global IPv6 addresses are designed to create efficient and hierarchical routing infras-
tructure,that reflects the occurrence of Internet Service Provider (ISP) hierarchy of
the modern-day Internet.
• Stateless and Stateful Address Configuration
IPv6 supports both state full and stateless address configuration.With stateless ad-
dress configuration hosts on a common link configure themselves using so called
link-local addresses (see section 3.2.2) and prefixes advertised by local routers.
• Built-in Security
Support for IPSec is an requirement of IPv6 protocol suite.This provides a standard
solution for network security.
• Better Support for QoS
There are new fields in the IPv6 header that allows routers better define how packets
are handled.A Flow Label field in IPv6 header provides special handling for packets
belonging to a specific flow.
• New Protocol for Neighbor Node Interaction
The so called Neighbor Discovery (ND) (see section 3.2.5) protocol is used for neigh-
bor node interaction.The protocol is series of Internet Control Message Protocol for
IPv6 (ICMPv6) messages.Neighbor Discovery replaces the broadcast-based Address
Resolution Protocol ARP as well as ICMPv4 Router Discovery and Redirect mes-
sages.
CHAPTER 3:BACKGROUND 11
• Extensibility
IPv6 can be easily extended to have new features by adding new extension headers
after the IPv6 header.
3.2.2 IPv6 Addressing
Address Space
IPv6 has 128-bit address space.[5] This means that there are in total 2
128
addresses.That is
about 3.4 ∗ 10
38
possible choices.It is self evident that the address space can not be easily
consumed even in the future compared to the 32-bit (about 4 billion possible addresses)
address space of IPv4.
To put the size of the IPv6 address space in perspective,it provides about 6.5∗10
23
addresses
for every square meter of Earth’s surface.[22] However the length of the IPv6 address was
not decided with the intention,that there would be such many IP-compliant devices on
every square meter on the Earth.The length was decided more likely,because it allows the
address space to be flexibly divided in multiple level of domains,that reflect the hierarchical
routing topology of the Internet.
Address Syntax
IPv4 addresses are presented in dotted decimal format [1] (e.g.10.0.0.1 is a valid pre-
sentation of IPv4 address).IPv6 addresses are presented as 16-bit chunks separated by
colons.[5] The chunks are in hexadecimal format.For example FE80:0:0:0:2AA:FF:FE9A:4CA2
is a valid link local IPv6 address.A contiguous series of 16-bit zero chunks can be com-
pressed with::notation.The above address can be presented as FE80::2AA:FF:FE9A:4CA2.
The compression can be used only once in a given address and a part of a 16-bit chunk
cannot be included.For example,FF02:30:0:0:0:0:0:5 cannot be expressed as
FF02:3::5 but the correct presentation is FF02:30::5.
IPv6 prefixes (e.g.subnet identifiers or address ranges) can be expressed in the same way
as with the Classless Inter-Domain Routing (CIDR) notation.[5] An IPv6 prefix is written
in address/prefix-length notation (e.g.21DA:D3::/48 is a route prefix).
Address Types
IPv6 has three major categories for addresses.They are:[5,22]
CHAPTER 3:BACKGROUND 12
1.Unicast address identifies a single network interface.A packet sent to an unicast
address will be delivered to a single interface.The scope of the address depends on
its type.There are three different categories for unicast addresses.
2.Anycast addresses identifies multiple interfaces.It is used for one-to-one-of-many
communications.That is,a packet sent to an anycast address is delivered to a single
interface - to the one which is closest in terms of routing distance.
3.Multicast addresses are used for one-to-many communications.A multicast address
identifies multiple interfaces.A packet sent to a multicast address is delivered to
all interfaces identified by the address in presence of appropriate multicast routing
topology.
The following subsections present these three address types.
Unicast Addresses
The IPv6 unicast address types are as follows:
1.Global Unicast Addresses [6,22] (see figure 3.1) are equivalent to public IPv4 ad-
dresses.Unlike IPv4,IPv6 has been designed fromthe beginning to support efficient
hierarchical addressing and routing.Global unicast addresses are globally routable
and the their scope is the entire IPv6 Internet.
Figure 3.1:The global unicast address.
The global unicast address begins with fixed binary portion set to 001 Only global
addresses with prefix 2003::/3 are currently being delegated by Internet Assigned
Numbers Authority (IANA).
There is the 45-bit Global Routing Prefix that is assigned to an individual site of an
organization.The 16-bit Subnet IDis used within a site of an organization to identify
subnets.The 64-bit Interface ID identifies a specific interface in a subnet.
CHAPTER 3:BACKGROUND 13
2.Link-Local Addresses [5,22] are used between nodes on a common link.They are
needed also in Neighbor Discovery process (see section 3.2.5) and they are automat-
ically configured.
Figure 3.2:The link-local unicast address.
The link-local address always begins with fixed binary portion set to 1111 1110
10 followed by 54 bits set to zeros.Then there is the 64-bit Interface ID.The prefix
for link-local address is thus FE80::/64.
3.Site-Local Addresses [5,22] are equivalent to the IPv4 private address space (10.0.0.0/8,
172.16.0.0/12and 192.168.0.0/16).Site local addresses cannot be reached
outside the site and router should not route site-local traffic outside the site.Site-local
addresses can be used in addition to global addresses within a site of an organization.
However,the usage of site-local addresses may cause undesired side-effects.There-
fore it has been deprecated by RFC 3879 [23] and it should not be included anymore
in IPv6 implementations.
Figure 3.3:The site-local unicast address.
Site-local addresses begin with fixed binary portion set to 1111 1110 11 followed
by 54-bit Subnet ID and 64-bit Interface ID.The prefix is thus FEC0::/10.
Anycast Addresses
The IPv6 anycast address [5,22] is assigned to multiple interfaces.Packets sent to an
anycast address are delivered to the nearest interface belonging to the anycast group,nearest
being defined in terms of routing distance.Currently anycast addresses are only assigned to
CHAPTER 3:BACKGROUND 14
routers.Addresses are assigned out of unicast address space.An anycast address can only
be used as a destination address.The scope of an address is the scope of the unicast address
that is used as an anycast address.
The Subnet-Router [5,22] anycast address is predefined and required.It is formed by the
subnet prefix which identifies a specific link.The rest of the bits are set to zero.Syntacti-
cally Subnet-Router address is equal to an unicast address with the interface identifier set
to zero.A packet sent to this kind of address is delivered to one router on the subnet.All
routers must support Subnet-Router address.
Multicast Addresses
The IPv6 multicast is similar to IPv4 multicast.Arbitrarily located nodes can listen for
multicast traffic on an arbitrary multicast address.Nodes can join or leave a multicast group
at any time and they can belong to several groups at the same time.
Figure 3.4:The multicast address.
The IPv6 multicast address [5,22] always begins with fixed portion set to 1111 1111.
Then there are 4 bits wide Flags field.The only flag defined is the Transient (T) flag
(the lowest order bit).When T flag is set to zero,then the multicast address is perma-
nently assigned (well-known).The Scope field defines the scope of the multicast ad-
dress.Most relevant values for scope are 1 (interface-local),2 (link-local),5 (site-local)
and E (global).Group ID identifies the multicast group within the scope.Addresses from
FF01::through FF0F::are reserved.These permanently assigned addresses are in-
dependent of the scope.For example FF05::1 is site-local all-nodes multicast address
everywhere,whereas FF15::1 may be used for different purposes in different sites.
The Solicited-Node Address is used for address resolution in ND(section 3.2.5).This spe-
cial address is defined because the usage of link-local all-nodes multicast address would dis-
turb every node on the same link.The address is comprised of the prefix FF02:1:FF00:0/104
and the last 24 bits of the address that is being resolved.
CHAPTER 3:BACKGROUND 15
Special Addresses
The following are special IPv6 addresses:[22]
• The unspecified address (128 bits zeros =::) is only used to indicate the absence of
an address.It is equivalent to the IPv4 0.0.0.0 address.
• Loopback address (::1) is used to identify an loopback interface.It is equivalent to
IPv4 loopback address 127.0.0.1.
• IPv4-compatible address,::w.x.y.z,(where w.x.y.z is dotted decimal presenta-
tion of IPv4 address) is used by IPv6/IPv4 nodes that are communicating using IPv6.
When this type is used as an destination,traffic is automatically encapsulated with
IPv4 headers.
• IPv4-mapped address,::FFFF:w.x.y.z is used to present an IPv4 only node to
an IPv6 node.It is used internally to present an IPv4 node to upper layer applications
of IPv6 node.it should never be used as source or destination address.
• 6to4 addresses can be used to connect IPv6 domains with IPv4 routing infrastructure.
The address is formed by combining the prefix 2002::/16 with the 32 bit of a
public IPv4 address of the node.Within the IPv6 domain a packet can be routed
normally.When a packet arrives to a node that is on a boundary of an IPv4 cloud,the
boundary node (tunnel end-point) takes care of the tunneling.
Hosts and Routers
The IPv6 nodes can be divided in hosts and routers.[22] Typically both have several IPv6
addresses even on a single interface.At least loopback addresses,link-local addresses and
unicast addresses should be present.Additionally the hosts are listening to certain multicast
addresses.There are even more multicast addresses that are listened by routers.In addition
to that,router interfaces have at least a Subnet-Router anycast address as well there may be
additional anycast addresses.
Interface Identifiers
The last 64-bit piece of an IPv6 address is the interface identifier.Interface identifiers can
be determined in different ways:[22]
• A 64-bit interface identifier that is in so called modified Extended Unique Identifier
(EUI)-64 format.
CHAPTER 3:BACKGROUND 16
• A randomly generated interface identifier which changes over time.(Provides some
level of privacy)
• Ainterface identifier which is assigned during stateful address autoconfiguration (e.g.
through Dynamic Host Configuration Protocol version 6 (DHCPv6))
EUI-64 Based Interface Identifiers
Institute of Electrical and Electronic Engineers (IEEE) specifies EUI-64 as the newstandard
of network interface addressing.It has 24 bits long IEEE administrated company IDand 40
bits long manufacturer managed extension ID.The least significant bit in the first byte of
the company ID is Individual/Group(I/G) bit that indicates whether the address is multicast
or unicast address.Universal/Local(U/L) bit is the second least significant bit in the same
byte.If it set to 1,then the address is locally administrated (thus the company ID is not
defined by the IEEE).[?] For example serial links have not any kind of address and thereby
EUI-64 address can be created by local administrator (thus U/L bit should be set to 1).
The traditional IEEE 802 a.k.a.Media Access Control (MAC) address is defined exactly
as the EUI-64 address except that is has only 24 bits long extension ID.MAC addresses
are mapped to EUI-64 format by adding 16 bits long sequence,11111111 11111110
(FFFE as hexadecimal),between the manufacturer and extension IDs.[22]
An example:The MAC of 00-AA-00-3F-2A-1C becomes EUI-64 of 00-AA-00-FF-FE-3F-
2A-1C which again becomes IPv6 interface ID of 2AA:FF:FE3F:2A1C
RFC 3513 [5] requires that all unicast IPv6 addresses starting with prefix 001 through 111
must use interface identifier that is derived from EUI-64 format.This is called Modified
EUI-64 format and is defined simply as an EUI-64 address that has its U/L bit inverted.
This is done because locally administrated addresses (e.g.serial links) can be translated
into IPv6 interface IDs in a simple way.(e.g.0:0:0:1 instead of 0200:0:0:1).
IPv6 and DNS
RFC 3596 [9] defines two new elements to the Domain Name System (DNS).They are
AAAA resource record and IP6.ARPA domain.The first one is used for resolving domain-
name-to-IPv6-address mapping.The second one is used to store adddress binding informa-
tion for reverse queries,thus resolving the domain name on the base of an IP address.
RFC 2874 [10] adds more sophisticated IPv6 related features to the DNS system.The
A6 records specified by the RFC can be used to store bindings related to portions of IPv6
CHAPTER 3:BACKGROUND 17
addresses.In addition,the record provides information,where the binding information
regarding the rest of an address,can be found in the DNS system.
This kind of approach makes it possible for network administrators to configure DNS sys-
tem in a more flexible manner,by following the network hierarchy.However,the imple-
mentation of the RFC2874 has been found rather complex and unnecessary.Therefore its
status has been changed to Experimental,which means that is not meant to be used.
3.2.3 IPv6 Header
Figure 3.5:The IPv6 header.
Figure 3.5 presents the IPv6 header.The fields are as follows [2]:
Version - 4 bits that indicates the version.The value 6 is used for IPv6.
Traffic Class - 8 bits that indicates the class priority of a packet.The values for this field
are not predefined.
Flow Label - 20 bit used to indicate if packets belong to special flows and need special
handling by intermediate routers.Zero value is used for default router handling.
Payload Length - 16 bits used to indicate the length of payload in an IPv6 packet.
CHAPTER 3:BACKGROUND 18
next Header - 8 bits that indicate the first extension header (if present,see 3.2.3) or the
upper layer protocol.When indicating an upper layer protocol,the same values than IPv4
uses are deployed.
Hop Limit - 8 bits that indicate the maximum number of hops over which an IPv6 packet
can travel.
Source Address - 128 bits that indicate the source IPv6 address.
Destination Address - 128 bits that indicate the destination IPv6 address.
Extension Headers
Instead of having all optional forwarding options in the protocol header like IPv4,IPv6
has the concept of extension headers.With one exception,the extension headers are not
processed by intermediate nodes.The exception is the Hop-by-Hop Options Header and it
is used for options that need to be processed by intermediate nodes.The extension headers
are chained after the actual IPv6 header.All the extension headers have a Next Header field
that indicates the type of the following header.The following extension headers are required
to be present in all IPv6 implementations according to the RFC 2460 [2].
• Hop-by-Hop Options Header - the header carries out optional information that must
be examined by intermediate nodes in the delivery path of a packet.For example
Router Alert Option (RFC 2711 [3]) uses this extension header for protocols such as
RSVP or Multicast Listener Discovery MLD messages.[24]
• Destination Options Header - the header is used in two ways.If Routing Header is
present,it specifies delivery or processing options for each intermediate destinations.
If routing Header is not present,the Destination Options Header specifies delivery or
processing options for final destination.[24]
• Routing Header - the header is used for listing intermediary nodes that should be
visited on the packet’s path.In IPv4 world this is called Loose Source and Record
Route option.[24]
• Fragment Header - the header is used for fragmentation.If a packet is larger than
Maximum Transfer Unit MTU of a link,then the packet is fragmented.Unlike with
IPv4,IPv6 packets cannot be fragmented by intermediate routers.[24]
• Authentication Header - the header provides data authentication,data integrity and
anti-replay protection.[22]
CHAPTER 3:BACKGROUND 19
• Encapsulating Security Payload Header and Trailer - the ESP header and trailer pro-
vide data confidentiality among authentication and integrity services.[22]
The last two headers are related to IPSec compatibility of IPv6.The order of the exten-
sion headers after the IPv6 protocol header should be the same as above except,that the
Destination Options Header for final destination should be the last one.
3.2.4 ICMPv6
For reporting errors and sending informational messages considering the status of a net-
work,there is a new version of Internet Control Message Protocol (ICMPv6).There are
two types of ICMPv6 messages:error messages and informational messages.The ICMPv6
also offers framework for Multicast Listener Discovery and Neighbor Discovery.[22,24]
The following error messages are present:
• Destination Unreachable - the message is sent by an intermediate node,when the
packet cannot be forwarded to its destination.[22]
• Packet Too Big - the message in sent by a node that cannot forward a packet because
the link MTU of the forwarding link is smaller than the IPv6 packet.[22]
• Time Exceeded - the message is typically sent by a router when the Hop Limit -field
in the IPv6 header is decremented to zero during the forwarding process.[22]
• Parameter Problem- the message is sent by a node that has encountered an error when
processing the IPv6 header or any of the extension headers.[22]
The following informational messages are defined:
• Echo Request - the message is sent to a destination to solicit an immediate Echo Reply
message.The echo request/reply messages are used to provide simple diagnostic
utility:Packet Internet Groper (ping).[24]
• Echo Reply - the message is sent in response to Echo Request message.
Path MTU Discovery
IPv6 path MTUdiscovery is specified in RFC1981 [4].The path MTUis the smallest MTU
of any link in the path between a source and a destination.The sending node assumes,
CHAPTER 3:BACKGROUND 20
that the path MTU is the link MTU of the interface on which the traffic is sent.It sends
packet of that size.If a router on the path is unable to forward the packet because of link
MTU is smaller than the packet,it sends ICMPv6 Packet Too Big message back to the
originating node.The packet contains also the MTU of the link on which packets could not
be forwarded.The sending node then starts the discovery process from the beginning with
the new MTU.The path MTU is determined when no additional Packet Too Big messages
are received or an acknowledgement from the destination is received.The minimum path
MTU for IPv6 is 1280 bytes.Due to changes in routing topology,the path MTU may
change.The path MTU discovery process is started again (Packet Too Big is sent) by the
node that can not forward the packet because of too small link MTU.
3.2.5 Neighbor Discovery
IPv6 has so called Neighbor Discovery (ND) processes that take care of all kind of link
related issues,that where handled by separate protocols with IPv4.The processes that are
handled with ND are:[13,22]
• Router Discovery - A host can automatically detect a router on a common link
• Prefix Discovery - A host can automatically determine the global prefixes that are
used in a link.The prefixes are advertised by a router on that link.
• Parameter Discovery - Ahost can discover additional parameters (e.g.link MTUand
the default hop limit).
• Address Autoconfiguration - The process for configuring IP addresses for interfaces
in either presence or absence of a stateful address configuration protocol (e.g.DHCPv6).
• Address Resolution - A process for resolving link-layer address of a neighbor.IPv4
uses ARP for this purpose.
• Next-Hop Determination - The process by which a node determines the IPv6 address
of the neighbor,to which a packet is forwarded on the destination address basis.
• Neighbor Unreachability Detection - A process for determining that IP layer neigh-
bors are no longer receiving packets.
• Duplicate Address Detection (DAD) - Aprocess by which a node determines,that an
address considered to be used,is not taken by a neighboring node.
• Redirect Function - A process for informing a host of a better first-hop IPv6 address
to reach a destination.
CHAPTER 3:BACKGROUND 21
The ND processes can be implemented by using five ICMPv6 messages that are:[13,22]
1.Router Solicitation
2.Router Advertisement
3.Neighbor Solicitation
4.Neighbor Advertisement
5.Redirect
ND in Practise
For example address resolution is done as follows.A node sends a Neighbor Solicitation
message to the solicited-node multicast address that is formed from the special prefix aug-
mented with a portion of the target IP (see section 3.2.2).The neighbor node that has the
IP address is required to be registered to listen that specific multicast address.The neigh-
bor responds with Neighbor Advertisement message.DAD is also based on the usage of
solicited-node multicast address.A node,that wants to use a specific address,sends a
Neighbor Solicitation to corresponding solicited-node multicast address.It uses::(un-
specified address) as the source address.If a neighbor node has taken that address (i.e.
it receives the Neighbor Solicitation),it will send a Neighbor Advertisement to all-nodes
multicast (FF02::1.The Neighbor Advertisement is sent back as multicast because the
source address in the Neighbor Solicitation was set to::.[13,22]
What Do Hosts and Routers Do?
As stated earlier,IPv6 nodes can be divided in hosts and routers.The basic functions done
by a host are pretty simple.When it needs to send something,it first determines whether
the destination is in the same link.If not,the routing table is consulted.Whatever is the
case,the next-hop is determined.This done by a lookup in the Destination Cache which
has entries of destinations to which data has been sent recently.If no entry is found,then
a routing table lookup is made.The last thing is to determine the link layer address of the
next-hop.This is done by a lookup in the Neighbor Cache which stores recently resolved
IP to link layer address bindings.If no entry is found then address resolution is done as
described previously.[13,22]
In addition to acting as hosts,routers forward packets.Therefore,routers must have some
additional functionality.Routers send Router Advertisements which can be solicited (re-
sponse to Router Solicitation) or periodic.The following things can be advertised:[22]
CHAPTER 3:BACKGROUND 22
• Router Lifetime - This determines the usefulness of a router as a default router.
• Mand Oflags - These flags tell hosts whether they should use stateful autoconfigura-
tion for addresses (M) and/or other parameters (O).
• Hop Limit - This tells a host the default hop limit to be used
• Source Link-Layer Address (optional) - the link layer address of the router interface
attached to the link
• MTU(optional - Tells a host the default MTUto be used.Only for links that can have
variable MTU sizes.
• Prefix (optional) - Tells a host prefixes to be used.Also a lifetime is given.This
makes it possible to have site renumbering at some phase.
Autoconfiguration
One of the design targets of IPv6 was to ease the administrative tasks related to network
management.This is achived by using different autoconfiguration features which can be
divided in stateful and stateless approaches.The first one means that there exists separate
server in the network for configuration,whereas the former means that such a server does
not exist.[16,22]
When stateless autoconfiguration is used,routers tell that to hosts by clearing Mand Oflags
in the router advertisements.Then the hosts create link-local addresses for themselves.
Then the hosts apply DAD to make sure that the address is not in use.Finally the host
generates global addresses from the prefixes that are advertised by the router.If there is
no router in the network,hosts can communicate happily by using link-local addresses.
[16,22]
In the case of stateful autoconfiguration,a host tries to connect the configuration server after
creating a link-local address.DHCP server resides in a multicast address FF05::1:3.[22]
3.2.6 Multicast Listener Discovery
Multicast Listener Discovery (MLD) [14] is the equivalent for Internet Group Management
Protocol version 2 (IGMPv2) for IPv4.MLD is a set of messages that handle multicast
related operations.MLD uses three ICMPv6 messages which are:[22]
1.Multicast Listener Query
CHAPTER 3:BACKGROUND 23
2.Multicast Listener Report
3.Multicast Listener Done
The basic functionality works as follows.The router sends periodic queries to a link asking
if nodes on that link are willing to receive multicast transmissions.If a host wants to receive
multicast traffic,it generates a report and tell with that to the router which groups it is willing
to receive.When a host do not want to receive multicast anymore,it informs the router with
done-message.This triggers the router to ask with multicast group specific query,if there is
any other on that link that wish to receive traffic that belongs to this group.If not,the router
will stop the multicast transmission over the link.
MLD version 2 (MLDv2) [15] allows nodes to report routers,that they are interested in
getting specific multicast transmissions fromspecific sources by explicitly including or ex-
cluding some source addresses.
3.2.7 Transitioning Mechanisms
During the deployment of IPv6,IPv4 will still be widely used.There are issues related to
this transition period,when both IPv4 and IPv6 are used in the Internet.There are plenty
of different techniques,that are intended to help hosts communicate in a network which
both IPv4 and IPv6 nodes.For example,RFC 3056 [25] defines how IPv6 domains can be
connected via IPv4 clouds.A special address,that encapsulates the IPv4 address in IPv6
address,is used (see section 3.2.2).Now packets can be routed normally through the IPv6
domain.The boundary node then takes care of IPv4 encapsulation and routing through IPv4
cloud.
RFC 2473 [11] defines,how other protocols,including IPv4,can be tunneled over IPv6.
That is,IPv4 (or other) packets are encapsulated within IPv6 packets.The tunneling is quite
straightforward,though more sophisticated features such as nested tunnels are supported.
3.3 Dynamic Routing with IPv6
It is self-evident,that statically configured routing infrastructure has severe problems with
manageability and scalability,when the size of the network gets bigger.Thereby there
are several routing protocols,that lets routers dynamically exchange routing information.
Networks can be divided into so called Autonomous Systems (ASs).[1] Basically an AS
is a portion of networks and routers that are controlled by a single administrative author-
ity.Routing protocols that exchange routing information between ASs are called Exterior
CHAPTER 3:BACKGROUND 24
Gateway Protocols (EGPs) whereas inter-AS protocols are often called Interior Gateway
Protocols (IGPs).[1] This chapter presents two:OSPF (an IGP) and BGP (an EGP).The
basic functionality of both are presented,but extensions and mechanisms needed to make
these protocols IPv6 compliant are also emphasized.
3.3.1 OSPFv2
This subsection presents IPv4 compliant version of OSPF:OSPFv2.OSPF is a link state
routing protocol,which means that every router participating in OSFP routing knows the
exact topology of the network.In addition,OSPF has a concept of areas,which are used to
hide some information considering the internal topology inside an area.This is necessary to
ensure scalability in large networks.OSPF is named after Dijkstra’s famous Shortest Path
First (SPF) algorithm,that the protocol uses for optimal route calculation.OSPF is a link
state protocol,which means that specific routing cost is assigned on a link in a network.
[1,17]
Features
OSPF is a complex protocol and it has many features.Some of them are presented here:
[1,17]
• Load Balancing - If multiple routes to a destination are specified with equal cost,
OSPF distributes traffic over all routes equally.
• Faster Convergence - If compared to Routing Information Protocol (RIP),which is
one of the most popular IGPs,OSPF converges faster,since routing information is
propagated immediately when changes occur,not periodically as RIP does.
• Reduced Network Load - After a brief initialization,routing information does not
need to be refreshed periodically,which reduces control traffic in the network.
• Router Authentication - OSPF specification states,that all exchanges between routers
can be authenticated.
OSPF Routers and Link State Advertisements
If an AS contains more than one area,then one must be designated as a backbone area
(area 0) with ID 0.0.0.0.Every OSPF router must have an 32-bit identifier that identifies
the router within the AS.Thereby the backbone area is the center of an AS and all subareas
CHAPTER 3:BACKGROUND 25
must be connected to it.Because of this hierarchical structure of OSPF,there are several
types of routers.[17]
The router types are:[17]
• Internal Router (IR) - A router whose all interfaces are connected to the same area.
All IRs compute the Shortest Path Tree (SPT) to all destinations within the area.
• Area Border Router (ABR) - A router whose interfaces are connected to different ar-
eas (within the same AS).Topological information is gathered (and stored) for each
attached area,allowing the ABR to compute the shortest path tree for each area sep-
arately.The ABR advertises routes fromlocal area to the backbone and vice versa.
• Autonomous System Border Router (ASBR) - A router that acts as a gateway be-
tween OSPF and external routes (i.e.routes provided by other routing protocols,
static indirect routes,etc.).These routers propagate routes to external networks.
• Designated Router (DR) - On broadcast networks (token ring and Ethernet),where
more than two routers are present,only the DR needs to synchronize its link state
database with other routers.
• Backup Designated Router (BDR) - ABDRrouter takes care of DR’s responsibilities,
if the DR goes down.
OSPF routers exchange information via Link State Advertisements (LSAs),that contain
information about networks that can be reached via router’s interfaces.LSAs can be divided
into five different types.LSAs are distributed through network by flooding.[17]
The LSA types are:[17]
1.Router Links (type 1) - LSAs of this type are generated by all OSPF routers.LSA
that contain information regarding the state of router’s interfaces within a particular
area.Router Links are only flooded within a single area.
2.Network Links (type 2) - LSAs generated by DR (or BDR).LSA that identifies all
OSPF routers present and their state on a certain network segment.Network Links
are only flooded within a single area.
3.Summary Links (type 3) - LSAs generated by ABRs.LSAthat Identifies the presence
of networks within an AS but outside the (local) area.Provides Inter-Area routes
allowing routers to learn about networks in other Areas but within the same AS.
CHAPTER 3:BACKGROUND 26
4.AS Summary Links (type 4) - LSAs generated by an ABR.LSAthat is a special type
of summary link,that provides routes to ASBRs,allowing other routers in the AS to
find their way out of the system.
5.External Links (type 5) - LSAs generated by an ASBR.LSAthat contains information
about other Autonomous Systems and allows routers to learn about routes to networks
there.External links are flooded into all areas except stub areas.
In addition to these,there are also two additional LSAtypes for OSPFv2:Group-membership-
LSAs (type 6) for IP multicast extensions defined in RFC 1584 [26] and type-7 LSAs for so
called Not So Stubby Areas defined in RFC 3101 [27].
Figure 3.6:A sample OSPF network.
Figure 3.6 presents a sample OPSF network.Routers R1,R2 and R4 are ABRs.Notice
that OSPF requires,that all areas are connected to backbone area.It is also required,that
backbone area is contiguous.However sometimes it is not possible to have direct physi-
cal connection to backbone area.Thereby OSPF has the concept of virtual links,that are
configured between two ABRs.In the figure 3.6 a virtual link is shown as the dashed line
between routers R1 and R4.Router R3 is IR and it could also be DR or BDR.Router R5 is
CHAPTER 3:BACKGROUND 27
ASBR.[17]
Basic Functionality
An OSPF process begins with initialization.Generally the initialization can be considered
to be finished,when the Link State Database (LSD) is established for the current area.
That generally occurs when OSPF Neighbors are identified and DRs and BDRs are estab-
lished.The OSPF neighbors are identified using the Hello -protocol.Neighbor Routers
decide whether to synchronize their LSDs with one other.Synchronization is done by us-
ing the Exchange -protocol.After the initialization phase,synchronization is done only
when changes occur in the network.During the neighbor discovery DRs and BDRs are also
elected.Generally the router within a network segment with highest OSPF priority will
become the DR.[17]
Routers build up the LSD by receiving LSAs containing information about a router´s inter-
faces (i.e.link’s IP address,mask,network type,networks reachable over the link,etc.).
All routers within an area receive all link state information for all routers in the area.Once
synchronized,each router has an identical image of the link state database,that describes
the topological structure of the area.The database allows each router calculate indepen-
dently the SPT using itself as the root node.Routing itself can be done on either inter-area
or intra-area basis.If a packet is going to be forwarded to a destination in the same area,
the router forwards it on the basis of the LSD.If the packet is going to be forwarded into
another area,it must at first be forwarded to the local ABR which knows all the other areas.
[17]
3.3.2 Coping with IPv6:OSPFv3
The version of OSPF protocol for IPv6 is called OPSFv3 and is defined in RFC 2740 [20].
The basic functionality is the same as with OSPFv2 but some differences exists between
OSPFv2 and v3.The major differences according to Hagen [24] and RFC 2740 are:
• Processing per-link - IPv6 connects interfaces to links to which multiple IP subnets
can be assigned.Thereby OSPFv3 runs per-link instead of per-subnet.
• Removal of addressing semantics - IPv6 addresses are no longer present in OSPF
packet headers but they are only allowed to appear in payload information.Router
ID,Area ID and Link State ID remain 32 bits long,therefore they cannot take the
value of an IPv6 address.
CHAPTER 3:BACKGROUND 28
• Flooding scope - OSPFv3 LSAs contain explicit flooding scope code.Three scopes
are introduced:link-local,area and AS.
• Explicit support for multiple per-link instances - Multiple OSPF instances are allowed
to run over a single link.This allows separate ASes running OSPF use a common link.
• Link-local addresses - OSPFv3 assumes,that a link-local unicast address is assigned
to every interface.All OSPF packets have the link-local address as the source,so
that routers can learn the link-local addresses of all their neighbors and use these
addresses as the nexthop addresses.
• Authentication - Authentication has been removed fromOSPFv3 because it relies on
the Authentication Header and the ESP that are included in IPv6 specification.
• LSA changes - Type 3 LSA (Summary Link) has been renamed to Inter-Area-Prefix-
LSA.Type 4 (AS Summary Link) has been renamed to Inter-Area-Router-LSA.Two
new LSAs are presented for carrying IPv6 prefix information in their payloads.Link-
LSA (type 8) carries the IPv6 address information of the local links and Intra-Area-
Prefix-LSA carries the IPv6 prefixes of the Router and Network-links.
• Handling unknown LSA types - Unlike OSPFv2,OSPFv3 does not simply discard
LSAs with unknown type.Instead,new flexible way is introduced.It has to handle
unknown types.Anewhandling bit has been added to LS Type field to allowflooding
of unknown LSA types.
• Stub area support - The concept of stub areas have been retained in OSPFv3.An
additional rule specifies the flooding of unknown LSAs within the stub area.
3.3.3 BGP-4
This subsection presents the version 4 of BGP (BGP-4) defined in RFC 1771 [18].In
practice BGP is the only EGP used in modern-day internets.Its primary function is to
exchange information between ASes.There is not actually a version of BGP for IPv6,but
the multiprotocol extensions of BGP-4,that allow BGP-4 to exchange information about
network layer protocols other than IPv4,are used for this purpose [24].
Overview
BGP is intended to exchange information between ASes,though it may be used within a
single AS also.Different type of ASes may be interconnected with BGP.These types are:
[24]
CHAPTER 3:BACKGROUND 29
• Transit AS - AS that has multiple interfaces connected to other ASes.Routing updates
arriving fromother ASes may be passed to neighboring ASes.Transit AS can forward
traffic to any other AS based on the received routing information.
• Stub AS - AS that has a single connection to another AS.All inter-AS traffic is passed
through this link.
• Multihomed nontransit AS - AS that has multiple connections to one or more other
ASes.However this type of AS does not pass routing updates through.Traffic be-
longing other than this AS is never forwarded.
BGP runs over TCP,since TCP offers reliable transport service.In addition to that,BGP
has four types of messages.[18] These are:
• OPEN - After a TCP connection is established between two BGP systems,they ex-
change BGP open messages to create a BGP connection between them.Once the
connection is established,the two systems can exchange BGP messages and data
traffic.
• UPDATE - BGP systems send update messages to exchange network reachability
information.BGP systems use this information to construct routing information to
all networks in different ASes.
• KEEPALIVE - BGP systems exchange keepalive messages to determine whether a
link or host has failed or is no longer available.Keepalive messages are exchanged
often enough,so that the hold timer does not expire.These messages contain only the
BGP header.
• NOTIFICATION - BGP systems send notification messages when an error condition
is detected.After the message is sent,the BGP session and the TCP connection be-
tween the BGP systems are closed.Notification messages consist of the BGP header
plus the error code and subcode.It also has data that describes the error.
Two routers talking BGP are called BGP Peers.There is no neighbor discovery in BGP,
but peers must be explicitly configured.The network reachability information exchanged
between peers by the UPDATE message is called Network Layer Reachability Information
(NLRI).Basically a NLRI is a IPv4 prefix and prefix length,which may present a single
network or an aggregate address range.In UPDATE messages NLRIs are accompanied
by set of path attributes.This combination of the NLRI and attributes is called a route.
Attributes add additional information to BGP route.For example,the AS_PATH attribute
carries a sequence of ASes through which the route has been passed and is used for loop
detection,whereas the NEXT_HOP attribute contains next-hop address.[18,24]
CHAPTER 3:BACKGROUND 30
The exchange of routing updates are governed by set rules called policies.Inbound policies
determine,which NLRIs are accepted from a particular peer,whereas outbound policies
determine which NLRIs may be advertised to another peer.[18,24]
BGP has two kind of peer connection:[18,24]
• IBGP Connection refers to connection with peers in the same AS (internal peers).
Routes learned frominternal peers can only be advertised to external peers.All inter-
nal peers must be fully meshed.
• EBGP Connection refers to connection with peers in different ASes (external peers).
Routes learned fromexternal peers may be advertised to all other peers.When send-
ing an update,local AS number is added to AS_PATH and local IPv4 address is set
into NEXT_HOP field.
There are three types of Routing Information Bases (RIBs) for BGP.For each BGP peer
there are Adj-RIB-In and Adj-RIB-Out bases.All routes in incoming updates are placed in
the Adj-RIB-In.For each newor changed route,a degree of preference is calculated (except
routes coming from internal peers).If the NEXT_HOP address of an incoming update is
reachable through the local routing table (BGP Peers do no have to be immediate neighbors)
and the local AS number is not in the incoming AS_PATH attribute,then the route can be
put into Loc-RIB base,if inbound policy allows to do so.In the case of multiple routes
to same destination,the one with highest preference wins.In the case of a tie,so called
tie-breaking rules [18] are used.Routes in the Loc-RIB are now put into the local routing
table.The address of the immediate neighbor is set as NEXT_HOP attribute.All routes in
Loc-RIB and local routing table may be advertised to external peers but only routes learned
from external peers may be advertised to internal peers.Routes can be placed in peer-
specific Adj-RIB-Out bases according to outbound policy.The outbound policy can make
route aggregations or attribute modifications.Changes in the Adj-RIB-Out base causes an
update to be sent to the peer.
3.3.4 Coping with IPv6:Multiprotocol Extensions for BGP-4
As mentioned,there is no actual version of BGP for IPv6,but the multiprotocol extensions
of BGP-4 are used.The extended protocol is also known as MBGP-4.The usage of these
extensions for IPv6 is defined in RFC 2545 [19].
CHAPTER 3:BACKGROUND 31
Overview
Sine the BGP Identifier,used in OPEN-messages and AGGREGATOR-attributes is IPv4
specific,a IPv6 compatible BGP router still needs a local IPv4 address.To establish BGP
connection,peers must advertise optional parameter,BGP Capability,to indicate IPv6 sup-
port.Implementations must accommodate RIBs to support IPv6 specific routes.An UP-
DATE advertising IPv6 routes has no IPv4 NLRI.All advertised and withdrawn routes are
carried in MP_REACH_NLRI and MP_UNREACH_NLRI attributes.An UPDATE should
also carry ORIGIN,AS_PATH and LOCAL_PREF (only in IBGP connections) attributes.
NEXT_HOP attribute should not exist and must be ignored.An UPDATE could also adver-
tise both,IPv4 and IPv6 NLRIs with same attributes.In this case,the NEXT_HOP attribute
should still be ignored in the case of IPv6.[19,24]
3.4 MPLS Technology
This section presents the fundamentals of MPLS technology.In section 3.5 two related
protocols (LDP and RSVP-TE) are also introduced.Within this context,these protocols
can also be seen as signaling protocols.
3.4.1 Overview
The idea of traditional hop-by-hop routing is,that each router makes routing decision inde-
pendently.These decisions are based on routing information,that may be statically config-
ured (static routing) or a router can run some routing protocol to exchange routing informa-
tion with other routers.This approach was originally developed to deal with nuclear warfare
and thereby it is very flexible.However the demand for services such as reliable QoS,Layer
2 &3 VPNs and dynamic traffic engineering requires a more connection-oriented approach.
Thereby MPLS was developed.It enables connection-oriented services over connectionless
IP networks.As the
¨
Multiprotocol¨part in the acronymimplies,MPLS may be deployed with
any network layer protocol,but of course IP is the most interesting protocol.On the other
hand,as the ¨multiprotocolälso implies,MPLS can be used over any Layer 2 technology
(e.g.ATM,Frame Relay and Ethernet).
Basic Concepts
The MPLS is based on label switching.Labels are short fixed length identifiers that are as-
signed to packets.They settle between Layer 2 and 3 headers.The mechanism of forward-
ing packets through the network is called label swapping,which mean that every switching
CHAPTER 3:BACKGROUND 32
node knows how to forward and process the packet.The significant difference between
MPLS and other WAN technologies is,that MPLS can carry packets with a stack of labels.
This approach enables services such as Layer 2 VPNs and traffic engineering applications.
[28]
MPLS architecture can be divided into separate forwarding and control planes.The for-
warding plane uses forwarding information base maintained by a label switch to perform
packet forwarding based on labels.The control plane is responsible for creating and main-
taining label-forwarding information (referred as label bindings) among interconnected
MPLS switches.Every MPLS node runs also one or more IP routing protocol (or rely
on static routing).In that sense,every MPLS node is an IP router on the control plane.The
control plane also uses IP routing tables to determine label binding exchanges with adjacent
MPLS switches.MPLS system exchanges labels for individual subnets,that are contained
in the IP routing table.The process of exchanging label bindings between adjacent routers
is called label distribution.[28]
3.4.2 MPLS Architecture
The MPLS architecture is described in RFC 3031 [29].A device that does label switching
and participates in label distribution is called Label Switch Router (LSR).Any LSR that
has non -MPLS neighbor(s) is called Edge-LSR.An Edge-LSR that propagates incoming
packets into MPLS domain is called Ingress Edge-LSR.It performs label imposition into
label stack (push action) at the edge of MPLS network.An Egress Edge-LSR is an edge
router that performs label deposition (pop action) for packets leaving the MPLS domain.
Edge-LSRs use traditional IP lookup information augmented with label forwarding infor-
mation to label IP packets or to remove labels from labeled packets before sending them
to non-MPLS nodes.An Edge-LSR has additional components on the forwarding plane,
since it has to also consult IP routing tables in order to deliver labeled (ingress) or unlabeled
(egress) packets correctly.However,the non-Edge-LSRs do not have to mess with the IP
routing.Instead they normally consult their label forwarding tables to perform label swap
(changing the top level label to another one according to forwarding bases) and forward the
packet.[29,28]
Label Imposition at the Network Edge
In the case of hop-by-hop routing,choosing next-hop is a process in which a router matches
the IP prefix with its routing table and selects the suitable next-hop address.This means that
similar prefixes gets similar treatment (unless some IGP with load balancing is in use).In
the case of MPLS,a set of packets that gets handled in the same way are called Forwarding
CHAPTER 3:BACKGROUND 33
Equivalence Classes (FECs).A FEC may correspond to a destination IP subnet,but it also
might correspond to any traffic class that an Edge-LSR considers significant (e.g.certain IP
precedence or BGP table subset can constitute a FEC).[29,28]
In the case of normal hop-by-hop routing,the previously described packet processing is
done at each hop.However,with the MPLS,a particular packet is assigned into particular
FEC just once.The FEC is then coded as a label,which is inserted on the top of the packet.
Routers in the path of the packet base their forwarding decisions on these short labels rather
than on the information in the IP header.[29,28]
Label Switched Paths and Packet Forwarding
The concept of FECs and their mappings to labels leads inevitably to the fact,that packets
belonging to the same FEC travel through the network via the same path.These paths are
called Label Switched Paths (LSPs).LSPs are unidirectional,which means that different
LSP is used for return traffic froma particular FEC.To establish a LSP,some suitable label
distribution protocol must be used.See section 3.5 to read more about that.[29]
As the packet traverses through the network,each LSR swaps the incoming label with an
outgoing label.This continues until the Egress Edge-LSR is reached.Each LSR hold two
tables:[28]
1.Label Information Base (LIB) - The LIB holds all labels assigned by the LSR and the
mappings between these labels to labels received fromany neighbors.The mappings
(bindings) are distributed to other LSRs by label distribution protocols.
2.Label Forwarding Information Base (LFIB) - Multiple neighbors can advertise labels
for the same IP prefix,but they do not need to be the actual IP next-hop to that
destination.Thereby all entries in LIB does not have to be used for label switching.
Hence the labels that are currently used for packet forwarding components are placed
in LFIB.
3.4.3 MPLS Label Stack Header
MPLS systems can operate over different Layer 2 technologies.In the case of ATM,the
termcell-mode operation may be used.[28] This refers to the cell switching nature of ATM.
In the cell-mode operation labels may be directly mapped to ATMVPI/VCI identifiers.In
the frame-mode operation (Ethernet) the label is inserted between Layer 3 and 2 headers in
the Layer 2 frame.Figure 3.7 illustrates the position of the MPLS label,also known as the
shim header [29].
CHAPTER 3:BACKGROUND 34
Figure 3.7:Position of MPLS label in a Layer 2 Frame.
MPLS Header Format
Figure 3.8:MPLS Label Stack Header.
Figure 3.8 presents a MPLS Label Stack Header.The purpose of each field in the header
are as follows:[28]
• Label - 20 bits that are the actual MPLS Label,on which MPLS switching is based
on.Each LSR can independently give arbitrary labels for each FEC.
• Exp - 3 bits (called also experimental bits) are needed to provide class-of-service
information (Needed in QoS applications).
• S - 1 bit called as Bottom-of-Stack bit.Needed in MPLS label stack implementations.
Used when two or more labels are attached on top of a packet.Simple unicast IP
routing does not use label stack,but VPNand Traffic Engineering application rely on
it.
• TTL - 8 bits indicating Time-to-Live.TTL bits are reduced by one by every LSR,
through which the packet is bypassed.This prevents the packet from traveling in the
network for infinitely long time (in the case of a routing loop).
Frame-mode Operation
In the frame-mode operation,a LSR can perform a number of actions for labeled packets:
[28]
CHAPTER 3:BACKGROUND 35
• Pop tag - Removes the top label in the label stack and propagates the payload as a
labeled packet (S bit is zero) or as an unlabeled IP-packet.
• Swap tag - Replaces the top label with another value.
• Push tag - Replaces the top label in MPLS label stack with a set of labels.
• Aggregate - Removes the top label of the label stack and does Layer 3 lookup.The
removed label is the bottomlabel;otherwise the datagramis discarded.
• Untag - Removes the top label in the label stack and forwards the underlying IP-
packet to specific next-hop address.The removed label is the bottomlabel;otherwise
the packet is discarded.
3.5 Signaling in MPLS Domain
Signaling can be defined as means by which routers exchange relevant information across
the control plane.In an MPLS network,the type of information exchanged between routers,
depends on the signaling protocol being used.At the base level,some protocol for exchang-
ing label bindings between LSRs would be useful.Label Distribution Protocol (LDP) [30]
is the base label distribution protocol.However LDP deals only with label distribution is-
sue.It provides the information needed to understand label-to-FEC-bindings.It does not
represent an end-to-end path.Rather it is a hop-by-hop approach.To utilize more sophis-
ticated applications like Traffic Engineering,another signaling protocol would be useful.
In addition to LDP,this section covers Resource Reservation Protocol - Traffic Extensions
(RSVP-TE) [31] which is an end-to-end solution.It can make resource allocations when
establishing an LSP,and thereby it is suitable for MPLS Traffic Engineering applications.
3.5.1 LDP
LDP is used for distributing label binding information.The protocol is specified in the RFC
3036 [30].When MPLS is started on a first interface of a router,LDP process is started and
LIBis created.The router discovers adjacent LSRs by sending Hello packets.Hello packets
are sent as broadcast or multicast UDP packets making neighbor discovery automatic.After
LDP hello process discovers a LDP neighbor,LDP session is established between the two.
LDP runs over TCP.
CHAPTER 3:BACKGROUND 36
Label Binding and Distribution
As soon as the LIB is created in a LSR,a label is assigned to every FEC by the router.
For unicast destination based routing,the FEC equals to an IGP prefix in the IP routing
table.The mapping between the IP prefix and the label is stored in the LIB.The LIB is kept
synchronized with the IP routing table.Thereby,a label is allocated and bound to the prefix
as soon as a non-BGP route appears in the IP routing table.
There are different type of operation modes considering label bindings and their distribution.
RFC 3036 [30] defines the following ones:
• LDP can operate in Downstream-on-demand mode or DownstreamUnsolicited mode.
In the Downstream-on-Demand mode,label bindings are only distributed in response
to explicit requests,whereas in the Downstream Unsolicited mode,a LSR may dis-
tribute label bindings to LSRs that have not specifically requested for them.Archi-
tecturally,the difference between the two different LDP modes is significant,since
the Downstream Unsolicited mode is often associated with a topology-driven strat-
egy,where labels are routinely assigned to entries as they are inserted into the routing
database.In either case,a LSR only uses some label binding to switch traffic if the
binding was received fromthe current next-hop of the associated FEC.
• LDP has two kind of policies for label retention.In conservative retention mode,a
LSR retains only the label-to-FEC mappings that it currently needs (i.e.mappings
received from the current next-hop to reach the FEC),whereas when operating in
liberal retention mode,LSRs keep all the mappings that have been advertised to them.
The tradeoff is memory resources saved by conservative mode versus the ability to
respond more quickly to routing changes,which is the case with liberal retention (i.e.
the label binding for a new next-hop is already resident in memory).
• LDP has two modes for creating label bindings.Independent LSP Control allows
each LSR to make independent decisions to bind labels to FECs,whereas in Ordered
LSP Control,the initial label for a LSP is always assigned by the egress-LSR of the
LSP.More specifically,with Ordered LSP Control,an LSR only binds a label to a
particular FEC,if it is the egress-LSR for the FEC or if it has already received a
label binding for the FEC from its next-hop of that FEC.Thereby the ordered mode
provides a more controlled environment,which provides benefits regarding to loop
prevention and ensuring the utilization of consistent FECs throughout the network.
CHAPTER 3:BACKGROUND 37
Penultimate Hop Popping
An Egress-LSR may have to perform two lookups for packets coming from the MPLS
domain and destined to an outside subnet.It has to inspect the label stack and perform
an additional Layer 3.lookup in order to deliver the packet outside the MPLS domain.
However dual lookups may decrease the performance of the Edge-LSR and increase the
complexity of the router’s hardware design if IP-routing and MPLS-switching is done with
hardware.Thereby Penultimate Hop Popping (PHP) was introduced.With PHP an Edge-
LSRcan request label pop operation fromits upstreamneighbors.PHP is requested through
LDP using special label value that is also called the implicit-null value.When the Edge-
LSR requests penultimate pop hopping,the local FIB entry for the IP prefix and the remote
LIB entries in the upstream LRSs indicate the imp-null value and the LFIB entry in the
penultimate LSR indicates a pop operation.[28]
3.5.2 RSVP-TE
RFC 3209 [31] defines extensions to Resource Reservation Protocol,which allow it to be
used to establish explicitly routed LSPs.This enhanced version of the protocol is referred
as RSVP-TE where TE stands for Traffic Engineering.RSVP-TE can be used to instantiate
explicitly routed LSPs with or without resource reservations.LSPs are fully identified when
applied at the ingress node.Therefore these paths can be treated as tunnels.
Main Features
The main features that can be achieved in the MPLS domain by using RSVP-TE are:
• Establishment of LSP tunnels with or without QoS requirements
• Dynamical re-routing of established LSP tunnels
• Observing the actual route traversed by an established LSP tunnel
• Identifying and diagnosing LSP tunnels
• Preempting an established LSP tunnel under administrative policy control and per-
forming downstreamon-demand label allocation,binding and distribution
RSVP-TE uses the RSVP Path and Resv messages to establish LSPs.The messages are
used to carry objects that have different tasks.RSVP-TE introduces some new objects
that are introduced in table 3.1.An implementation can decide which objects to use,but
Label_Request and Label objects are mandatory.
CHAPTER 3:BACKGROUND 38
Table 3.1:RSVP-TE Objects
Objectname
Applicable RSVP messages
Label_Request
Path
Explicit_Route
Path
Record_Route
Path,Resv
Session_Attribute
Path
LSP Tunnel Establishment
To create a LSP tunnel,the ingress-LSRcreates a Path message with session type of LSP_Tunnel-
IPvX (X = protocol version).The Path message functions directly over IP layer.A La-
bel_Request object is inserted in the message.That is used to ask intermediary LSRs and
receiver nodes (egress-LSRs) to provide label binding for the session.If a node cannot pro-
vide label binding it signals that to the sender by PathErr message.Besides signaling nodes
to prepare for label bindings,it also indicates the Layer 3 protocol that is to be used over
this path.[31]
The destination node responds to a Path message by initiating a Resv message.It in-
cludes a Label object in filter spec list immediately following the filter spec it pertains.
The Resv message traverses back to the ingress node following the path that the Path mes-
sage recorded in the Record_Route object (RRO).If an Explicit_Route object (ERO) (ERO
explicitly lists nodes through which the message should traverse) was used by the Path mes-
sage,then it is also used in Resv,but of course,in reverse order.Each intermediary LSRs
that receive the Resv message,allocates a new label,puts it in the Label object of the Resv
message,binds the newlabel with incoming label and sends the updated Resv message to an
upstream next-hop.This way the ingress-LSR finally has a label that identifies the specific
LSP tunnel.[31]
Explicit routing is enabled by EROs.The approach is reasonable when the ingress node
knows a route that meets QoS requirements for the tunnel,or which makes efficient usage
of network resources,or which satisfies some policy criteria.However RROs are handy for
collecting detailed hop-by-hop information about the specific path.On the other hand,it is
also usable in loop detection.[31]
The Session_Attribute object provides control information such as Setup and Hold Priorities
for sessions.It can also provide information about tunnel preemption and reservation style.
For example,in the traffic engineering applications,Session_Attribute object can be used
to verify that certain bandwidth exists for certain traffic class,before preempting any lower
priority reservations.[31]
CHAPTER 3:BACKGROUND 39
Re-Routing Traffic Engineered Tunnels
There are different reservation styles present in RSVP-TE.[31] Fixed Filter (FF) reservation
style creates a distinct reservation for traffic fromeach sender.The total amount of reserved
bandwidth on a link for sessions using FF is the sum of the reservations for the individual
senders.The Shared Explicit (SE) style allows receiver to explicitly specify the senders
included in a reservation.There is a single reservation on a link for all the senders listed.
Each sender is explicitly listed in a Resv message and thereby different labels can still be
assigned to different senders creating separate LSPs.In the case of Wildcard Filter (WF)
reservation style,a single shared reservation is used for all senders of a session.
One major aspect in traffic engineering is its capability to reroute tunnels under certain
conditions.The conditions are based on administrative policy.One policy may state that
re-routing needs to take place when a more optimal route becomes available.Of course,