06.06.2013 Views

Overview of the RSVP-TE Network Simulator: Design and ...

Overview of the RSVP-TE Network Simulator: Design and ...

Overview of the RSVP-TE Network Simulator: Design and ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Overview</strong> <strong>of</strong> <strong>the</strong> <strong>RSVP</strong>-<strong>TE</strong> <strong>Network</strong> <strong>Simulator</strong>: <strong>Design</strong> <strong>and</strong> Implementation<br />

D. Adami, C. Callegari, S. Giordano, F. Mustacchio, M. Pagano, F. Vitucci<br />

Dept. <strong>of</strong> Information Engineering, University <strong>of</strong> Pisa, ITALY<br />

E-mail: davide.adami@cnit.it,{christian.callegari, s.giordano,<br />

fabio.mustacchio, m.pagano, fabio.vitucci}@iet.unipi.it<br />

Abstract<br />

In a multi-service IP network, it is a key challenge to<br />

provide Quality <strong>of</strong> Service (QoS) to end-user applications<br />

while effectively using network resources. In <strong>the</strong> last<br />

years, <strong>the</strong> DiffServ architecture has emerged as a<br />

scalable solution to provide QoS in IP networks, but, in<br />

order to optimize <strong>the</strong> use <strong>of</strong> transmission resources, this<br />

architecture must be complemented with efficient Traffic<br />

Engineering (<strong>TE</strong>) mechanisms. The MultiProtocol Label<br />

Switching (MPLS) technology is a suitable method to<br />

provide <strong>TE</strong>. The integrated use <strong>of</strong> MPLS <strong>and</strong> DiffServ is a<br />

hot topic in next generation networks. In such context, a<br />

full comprehensive simulation environment could be<br />

useful to speed up <strong>the</strong> design <strong>and</strong> <strong>the</strong> validation <strong>of</strong> new<br />

functionalities. In particular, a key issue towards <strong>the</strong><br />

effective deployment <strong>of</strong> DiffServ/MPLS networks is<br />

represented by <strong>the</strong> enhancement in <strong>the</strong> MPLS<br />

architecture signalling protocol. In this paper, <strong>the</strong> design<br />

<strong>and</strong> <strong>the</strong> development <strong>of</strong> a new s<strong>of</strong>tware module to<br />

simulate <strong>the</strong> <strong>RSVP</strong>-<strong>TE</strong> protocol in <strong>the</strong> <strong>Network</strong> <strong>Simulator</strong><br />

2 (NS2) is presented.<br />

1. Introduction<br />

The explosive growth <strong>of</strong> <strong>the</strong> Internet <strong>and</strong> <strong>the</strong><br />

convergence <strong>of</strong> communication services, such as IP<br />

telephony or VoIP, to IP-based networks, brought to life<br />

new issues in <strong>the</strong> design <strong>of</strong> next generation networks.<br />

These issues strictly depend on <strong>the</strong> side in which <strong>the</strong><br />

interaction users–network is observed.<br />

From <strong>the</strong> user perspective, end-to-end Quality <strong>of</strong><br />

Service (QoS) should be provided to fulfil multimedia<br />

applications requirements. The basic QoS requirements<br />

are <strong>the</strong> dynamism (e.g. <strong>the</strong> service should last as long as<br />

<strong>the</strong> user needs), <strong>the</strong> tailoring (e.g. <strong>the</strong> network resources<br />

allocated for <strong>the</strong> service should exactly fulfil <strong>the</strong> end-user<br />

1<br />

requirements) <strong>and</strong> a seamless integration (e.g. <strong>the</strong><br />

mechanisms involved in QoS support should be<br />

transparent to end-users applications).<br />

From <strong>the</strong> Service Providers perspective, requirements<br />

concern <strong>the</strong> operative traffic engineering (<strong>TE</strong>)<br />

functionalities so as to manage in an optimized way <strong>the</strong><br />

available resources <strong>and</strong> to assure service survivability,<br />

even in case <strong>of</strong> faults or dynamic network topology<br />

changes.<br />

IP networks, designed to provide a best-effort service<br />

according to a connectionless approach, are not able to<br />

meet <strong>the</strong>se requirements. Hence, in <strong>the</strong> last years, many<br />

research efforts have been focused on <strong>the</strong> development <strong>of</strong><br />

enhanced network architectures to address <strong>and</strong> solve<br />

<strong>the</strong>se issues [1][2][3].<br />

The combined use <strong>of</strong> <strong>the</strong> Differentiated Services<br />

(DiffServ) [4] <strong>and</strong> MultiProtocol Label Switching<br />

(MPLS) [5] architectures seems to be an attractive<br />

solution to provide guaranteed QoS for multimedia traffic<br />

while effectively using network resources.<br />

Some MPLS architectural features, which make it<br />

appealing to support QoS <strong>and</strong> <strong>TE</strong> [6][7][8]<br />

functionalities, are <strong>the</strong> following:<br />

• separation <strong>of</strong> control <strong>and</strong> forwarding planes,<br />

which assures scalability;<br />

• constraint-based routing <strong>and</strong> explicit path<br />

forwarding, which allow an effective<br />

management <strong>of</strong> <strong>the</strong> available resources;<br />

• recovery mechanisms, which guarantee service<br />

survivability in case <strong>of</strong> faults.<br />

However, as MPLS by itself cannot provide service<br />

differentiation, <strong>the</strong>re is <strong>the</strong> need to complement it with<br />

ano<strong>the</strong>r technology capable <strong>of</strong> providing such a feature.<br />

The DiffServ architecture emerges as a scalable <strong>and</strong><br />

effective solution to address this issue [9].


Since a framework has been defined to integrate<br />

MPLS <strong>and</strong> DiffServ technologies [10], this is an open<br />

research field <strong>and</strong> improved mechanisms towards a fully<br />

deployment <strong>of</strong> required functionalities have to be tested.<br />

In this scenario a simulation environment is useful to<br />

perform a functional assessment <strong>of</strong> <strong>the</strong> proposed<br />

approaches <strong>and</strong> to compare different solutions, reducing<br />

<strong>the</strong> complexity <strong>and</strong> <strong>the</strong> time needed to develop prototypal<br />

network devices.<br />

Unfortunately, a full comprehensive simulation<br />

environment for MPLS/DiffServ networks has not been<br />

developed yet. Therefore, our activity has been devoted to<br />

<strong>the</strong> implementation <strong>of</strong> s<strong>of</strong>tware modules that allow <strong>the</strong><br />

simulation <strong>of</strong> such a scenario. The starting point for our<br />

implementation is represented by <strong>the</strong> <strong>Network</strong> <strong>Simulator</strong><br />

version 2.26 (NS2) [11], along with <strong>the</strong> MPLS <strong>Network</strong><br />

<strong>Simulator</strong> version 2 (MNS) [12][13] <strong>and</strong> <strong>RSVP</strong> <strong>Network</strong><br />

<strong>Simulator</strong> (<strong>RSVP</strong>\ns) modules [14][15].<br />

The focus <strong>of</strong> <strong>the</strong> paper is on <strong>the</strong> implementation <strong>of</strong> a<br />

<strong>RSVP</strong>-<strong>TE</strong> protocol module, named <strong>RSVP</strong>-<strong>TE</strong>\ns, to be<br />

used as label distribution protocol in MNS. Indeed,<br />

<strong>RSVP</strong>-<strong>TE</strong> is <strong>the</strong> most commonly implemented signalling<br />

protocol in commercial routers <strong>and</strong> several research<br />

activities, as well as IETF working groups [16][17],<br />

address <strong>the</strong> issues related to <strong>the</strong> extensions <strong>of</strong> this<br />

protocol to support enhanced functionalities in<br />

MPLS/DiffServ networks. Moreover, several<br />

experimental test-beds, equipped both with Linux<br />

platforms <strong>and</strong> commercial routers, adopt this solution<br />

[18][19].<br />

The paper is organized as follows. Section 2 describes<br />

<strong>the</strong> MPLS node architecture in <strong>the</strong> NS2 environment,<br />

with emphasis on <strong>the</strong> <strong>RSVP</strong>-<strong>TE</strong> control plane<br />

characteristics. Section 3 discusses our implementation <strong>of</strong><br />

<strong>the</strong> <strong>RSVP</strong>-<strong>TE</strong>\ns module along with <strong>the</strong> LSP management<br />

functionalities available in <strong>the</strong> simulator. Section 4<br />

provides a description <strong>of</strong> <strong>the</strong> tests performed for a<br />

functional validation <strong>of</strong> <strong>the</strong> developed module. Section 5<br />

concludes <strong>the</strong> paper with some final remarks.<br />

2. MPLS node architecture<br />

The basic idea behind MPLS is to append a short<br />

fixed-length label to packets at <strong>the</strong> ingress router <strong>of</strong> an<br />

MPLS domain. Packet forwarding is <strong>the</strong>n based on <strong>the</strong><br />

assigned label <strong>and</strong> not on longest prefix address<br />

matching, as in traditional IP forwarding mechanisms.<br />

When a packet is received by an edge router <strong>of</strong> <strong>the</strong> MPLS<br />

domain, named Label Edge Router (LER), it is associated<br />

to a label on <strong>the</strong> basis <strong>of</strong> a Forwarding Equivalence Class<br />

(FEC). The packets associated to <strong>the</strong> same label traverse<br />

<strong>the</strong> MPLS network along <strong>the</strong> same path, identified as<br />

Label-Switched Path (LSP). Interior routers that perform<br />

label switching <strong>and</strong> label-based packet forwarding are<br />

called Label Switching Routers (LSRs).<br />

2<br />

In order to establish, maintain <strong>and</strong> tear-down LSPs a<br />

signalling protocol, such as <strong>the</strong> Label Distribution<br />

Protocol (LDP) or <strong>the</strong> <strong>RSVP</strong>-<strong>TE</strong> protocol, has to be used.<br />

An LDP implementation is integrated in <strong>the</strong> NS2 MNS<br />

module. Since <strong>RSVP</strong>-<strong>TE</strong> is widely deployed in<br />

experimental <strong>and</strong> working MPLS networks <strong>and</strong> several<br />

research activities are focused on enhancing such a<br />

protocol in an MPLS/DiffServ scenario, we decided to<br />

replace <strong>the</strong> CR-LDP signalling protocol module with our<br />

own implemented <strong>RSVP</strong>-<strong>TE</strong>\ns module. The reference<br />

model <strong>of</strong> an MPLS node is sketched in figure 1.<br />

Note that in <strong>the</strong> MNS implementation a strict<br />

distinction between control plane <strong>and</strong> forwarding<br />

functionalities can be found. Such a feature reflects <strong>the</strong><br />

separation between control <strong>and</strong> data planes in <strong>the</strong> MPLS<br />

architecture. For this reason, our work concerns only<br />

control plane mechanisms.<br />

<strong>RSVP</strong>-<strong>TE</strong><br />

Messages<br />

Routing<br />

Information<br />

Packets<br />

IN<br />

Control Plane<br />

Data Plane<br />

Routing Protocol<br />

Address Classifier<br />

Resource<br />

Manager<br />

<strong>RSVP</strong>-<strong>TE</strong><br />

MPLS Classifier Service Classifier<br />

Label<br />

Info<br />

Base<br />

Explicite<br />

Route<br />

Base<br />

Admission<br />

Control<br />

Packet Scheduler<br />

Packets<br />

OUT<br />

Figure 1. Reference model <strong>of</strong> an MPLS node<br />

In particular, in our simulator environment, labels<br />

distribution <strong>and</strong> allocation are performed by <strong>the</strong> <strong>RSVP</strong>-<strong>TE</strong><br />

agent we implemented. The agent supports downstream<br />

on dem<strong>and</strong> label allocation <strong>and</strong> upstream distribution.<br />

The <strong>RSVP</strong>-<strong>TE</strong> agent receives <strong>the</strong> labels by <strong>the</strong><br />

downstream LSRs <strong>and</strong> passes <strong>the</strong>m to <strong>the</strong> MPLS<br />

classifier, so that it can create <strong>the</strong> tables used for label<br />

switching.<br />

The data plane operations are <strong>the</strong> following: at first,<br />

when a packet is received by an LSR, <strong>the</strong> MPLS classifier<br />

checks if <strong>the</strong> packet is labelled. If <strong>the</strong> packet has a label<br />

or may be associated to an FEC, <strong>the</strong> MPLS classifier<br />

executes label-based forwarding, o<strong>the</strong>rwise it transfers<br />

<strong>the</strong> packet to <strong>the</strong> address classifier which forwards it<br />

according to <strong>the</strong> Layer 3 routing protocol.<br />

To perform label switching, an MPLS node in <strong>the</strong><br />

MNS implementation h<strong>and</strong>les three tables:<br />

• <strong>the</strong> Label Information Base (LIB), whose entries<br />

contain incoming label, incoming interface,<br />

outgoing label <strong>and</strong> outgoing interface;


• <strong>the</strong> Partial Forwarding Table (PFT), which<br />

contains a subset <strong>of</strong> <strong>the</strong> information written in<br />

<strong>the</strong> LIB;<br />

• <strong>the</strong> Explicit Route information Base (ERB),<br />

which contains information about <strong>the</strong> Explicit-<br />

Route LSP (ER-LSP).<br />

More in detail, when a labelled packet is received by<br />

an LSR, <strong>the</strong> node retrieves <strong>the</strong> incoming label, <strong>the</strong>n a<br />

table look up is performed to find <strong>the</strong> corresponding entry<br />

in <strong>the</strong> LIB. At this point, <strong>the</strong> LSR may execute two<br />

different operations. If it is an egress LER, it removes <strong>the</strong><br />

label from <strong>the</strong> packet <strong>and</strong> <strong>the</strong>n forwards it according to<br />

<strong>the</strong> Layer 3 routing protocol, passing it to <strong>the</strong> address<br />

classifier. Instead, if it is an LSR, it replaces <strong>the</strong> incoming<br />

label with <strong>the</strong> outgoing one (Label Swapping) <strong>and</strong> <strong>the</strong>n<br />

performs label-based forwarding.<br />

If <strong>the</strong> packet has to be forwarded on an explicit path,<br />

<strong>the</strong> MPLS node also uses <strong>the</strong> ERB, which is managed by<br />

<strong>the</strong> service classifier to map a flow into an ER-LSP.<br />

The PFT is used in packet forwarding only by <strong>the</strong><br />

ingress LER. In this case, <strong>the</strong> node receives an unlabelled<br />

packet <strong>and</strong> uses <strong>the</strong> PFT to associate a label to <strong>the</strong> packet<br />

itself, which is <strong>the</strong>n forwarded according to label<br />

switching mechanisms.<br />

The <strong>RSVP</strong>-<strong>TE</strong> agent we added in <strong>the</strong> MPLS node is<br />

able to perform two additional procedures: <strong>the</strong> Label<br />

Stacking <strong>and</strong> <strong>the</strong> Penultimate Hop Popping. The first one,<br />

which consists in managing multiple labels in a packet, is<br />

used to create a level <strong>of</strong> hierarchy in large networks,<br />

improving traffic flows scalability. Instead, Penultimate<br />

Hop Popping is used to simplify <strong>the</strong> operations executed<br />

on a labelled packet by <strong>the</strong> egress LER. This means that<br />

<strong>the</strong> penultimate LSR <strong>of</strong> <strong>the</strong> LSP executes label popping,<br />

instead <strong>of</strong> label swapping. Then it forwards an unlabelled<br />

packet towards <strong>the</strong> egress LER. To enable such a feature,<br />

<strong>the</strong> LIB contains additional information about <strong>the</strong><br />

operation <strong>the</strong> node has to execute for a specific LSP.<br />

Path Messages<br />

LIB<br />

ERB<br />

MPLS Node<br />

Link<br />

Admission<br />

Control<br />

Policing<br />

<strong>RSVP</strong>-<strong>TE</strong><br />

Resource<br />

Manager<br />

Packet Scheduler WFQ<br />

Resv Messages<br />

Figure 2. Resource reservation process<br />

3<br />

In order to support QoS, <strong>the</strong> developed module is also<br />

able to perform resource reservation for <strong>the</strong> LSP itself.<br />

The <strong>RSVP</strong>-<strong>TE</strong> agent is responsible for this action too.<br />

The resource reservation process, shown in figure 2, can<br />

be summarized as follows. When a Path message is<br />

received at <strong>the</strong> ingress interface <strong>of</strong> <strong>the</strong> LSR, <strong>the</strong> <strong>RSVP</strong>-<br />

<strong>TE</strong> agent performs Admission control <strong>and</strong> Policing<br />

functions. If <strong>the</strong>re are enough available resources it<br />

forwards <strong>the</strong> Path message to <strong>the</strong> downstream LSR.<br />

After Admission control <strong>and</strong> Policing operations have<br />

been performed all along <strong>the</strong> LSP, a Resv message is<br />

generated <strong>and</strong> forwarded upstream along <strong>the</strong> LSP. An<br />

LSR, when processing a Resv message, allocates<br />

resources <strong>and</strong> calls <strong>the</strong> resource manager to properly<br />

configure <strong>the</strong> queues in <strong>the</strong> packet scheduler. The<br />

scheduler used with <strong>the</strong> <strong>RSVP</strong>-<strong>TE</strong> module is <strong>the</strong><br />

Weighted Fair Queuing (WFQ), which is already<br />

implemented in NS2. Moreover, <strong>the</strong> <strong>RSVP</strong>-<strong>TE</strong> agent calls<br />

<strong>the</strong> MPLS classifier to create <strong>the</strong> corresponding entries in<br />

<strong>the</strong> LIB <strong>and</strong> PFT tables used for label switching.<br />

3. <strong>RSVP</strong>-<strong>TE</strong>\ns module<br />

In this section, we illustrate <strong>the</strong> main functionalities <strong>of</strong><br />

<strong>the</strong> developed module. <strong>RSVP</strong>-<strong>TE</strong>\ns has been<br />

implemented in compliance with <strong>the</strong> st<strong>and</strong>ard defined in<br />

[20].<br />

The simulator functionalities can be divided in two<br />

distinct sets:<br />

• <strong>the</strong> first one (see section 3.1) concerns LSPs<br />

establishment;<br />

• <strong>the</strong> second one (see section 3.2) is about LSPs<br />

tear-down.<br />

3.1. LSP Establishment<br />

Two different comm<strong>and</strong>s may be used to establish an<br />

LSP: <strong>the</strong> first one is used when <strong>the</strong> ingress LER wants to<br />

establish an ER-LSP, while <strong>the</strong> second one is used when<br />

it wants to create an ER-LSP with a reserved b<strong>and</strong>width.<br />

create-erlsp-rsvpte<br />

<br />

<br />

create-erbwlsp-rsvpte<br />

<br />

<br />

In both cases, <strong>the</strong> Path message sent by <strong>the</strong> ingress<br />

LER contains, in addition to <strong>the</strong> classical <strong>RSVP</strong> objects, a<br />

LABEL_REQUEST object, used for requesting to <strong>the</strong><br />

downstream nodes <strong>the</strong> allocation <strong>of</strong> <strong>the</strong> labels.<br />

The simulator allows to create an LSP that follows an<br />

explicit path by specifying in <strong>the</strong> option a sequence


<strong>of</strong> nodes addresses. This field, if not empty, is used to<br />

create an EXPLICIT_ROU<strong>TE</strong>_OBJECT (ERO), which is<br />

added to <strong>the</strong> Path message.<br />

When an LSR receives a Path message, it performs<br />

several operations; <strong>the</strong> first ones are related to admission<br />

control <strong>and</strong> policing. Then <strong>the</strong> node processes <strong>the</strong> ERO: it<br />

inserts <strong>the</strong> ERO contents in its Path State Block (PSB)<br />

<strong>and</strong> <strong>the</strong>n it looks for <strong>the</strong> next abstract node, to forward <strong>the</strong><br />

Path message to. The insertion <strong>of</strong> <strong>the</strong> ERO value in <strong>the</strong><br />

PSB is needed in order to assure that Resv messages<br />

follow, in <strong>the</strong> upstream direction, <strong>the</strong> same route <strong>of</strong> <strong>the</strong><br />

Path ones. Once <strong>the</strong> egress LER has received <strong>and</strong><br />

processed <strong>the</strong> Path message, it generates a Resv message<br />

that contains, in <strong>the</strong> LABEL object, <strong>the</strong> label value to be<br />

used by <strong>the</strong> upstream node.<br />

When an LSR receives <strong>the</strong> Resv message, <strong>the</strong> node<br />

sets a new label value to be suggested to <strong>the</strong> upstream<br />

node. Moreover, if <strong>the</strong> issued comm<strong>and</strong> is for an ER-LSP<br />

with b<strong>and</strong>width reservation, <strong>the</strong> LSR calls <strong>the</strong> Resource<br />

manager which, in turn, executes <strong>the</strong> resource allocation<br />

Subsequently, it passes <strong>the</strong> label contained in <strong>the</strong> Resv<br />

message (outgoing label) <strong>and</strong> <strong>the</strong> new label (incoming<br />

label) to <strong>the</strong> MPLS classifier, which uses <strong>the</strong>m to create<br />

<strong>the</strong> corresponding entry in <strong>the</strong> label switching tables.<br />

Finally, <strong>the</strong> LSR generates a Resv message, with a<br />

LABEL object containing <strong>the</strong> value <strong>of</strong> <strong>the</strong> suggested<br />

label, <strong>and</strong> forwards it to <strong>the</strong> previous node as stored in <strong>the</strong><br />

PSB.<br />

When <strong>the</strong> ingress LER processes <strong>the</strong> Resv message <strong>the</strong><br />

LSP is established. Ano<strong>the</strong>r comm<strong>and</strong> may be used to<br />

bind a flow to <strong>the</strong> LSP.<br />

3.2. LSP Tear down<br />

The second set <strong>of</strong> functionalities allows to tear down<br />

an LSP when a failure occurs. The following comm<strong>and</strong><br />

drives <strong>the</strong> simulation <strong>of</strong> a link failure<br />

break-link <br />

The following subsequent actions, related to <strong>the</strong><br />

h<strong>and</strong>ling <strong>of</strong> this event, are automatically performed:<br />

• <strong>the</strong> link between <strong>the</strong> <br />

<strong>and</strong> <strong>the</strong> fails;<br />

• <strong>the</strong> rsvp-agent <strong>of</strong> <strong>the</strong> <br />

sends, for each LSP that is established on <strong>the</strong><br />

broken link, a PathErr message upstream, so as<br />

to notify <strong>the</strong> ingress LER <strong>of</strong> <strong>the</strong> failure;<br />

• <strong>the</strong> rsvp-agent <strong>of</strong> <strong>the</strong> <br />

sends, for each LSP that is established on <strong>the</strong><br />

broken link, a ResvErr message downstream, so<br />

as to notify <strong>the</strong> egress LSR <strong>of</strong> <strong>the</strong> failure;<br />

4<br />

• <strong>the</strong> egress LSR, after processing each ResvErr<br />

message, sends to <strong>the</strong> <br />

a ResvTear message, in order to release <strong>the</strong><br />

previously allocated resources;<br />

• <strong>the</strong> ingress LER, after processing each PathErr<br />

message, sends to <strong>the</strong> a<br />

PathTear message, in order to release <strong>the</strong><br />

previously allocated resources;<br />

• <strong>the</strong> ingress LER delete <strong>the</strong> corresponding entry<br />

in <strong>the</strong> LIB, PFT <strong>and</strong> ERB tables.<br />

After <strong>the</strong>se operations, all <strong>the</strong> flows bound to an LSP<br />

that has been torn down are forwarded according to a<br />

Layer 3 routing protocol. This allows applying different<br />

rerouting techniques.<br />

4. Functional validation tests<br />

In this section we present some <strong>of</strong> <strong>the</strong> tests carried out<br />

to validate <strong>the</strong> new functionalities added to <strong>the</strong> simulator.<br />

The network topology (figure 3) is quite simple, but<br />

appropriate to highlight <strong>the</strong> most important functionalities<br />

<strong>of</strong> <strong>RSVP</strong>-<strong>TE</strong>\ns.<br />

0<br />

2<br />

2<br />

0<br />

2<br />

3<br />

10<br />

0<br />

2<br />

1<br />

9<br />

1<br />

11<br />

0<br />

1<br />

Figure 3: <strong>Network</strong> topology<br />

In this network scenario, nodes 3-11 are MPLSenabled,<br />

whereas nodes 0, 1 <strong>and</strong> 2 act as traffic sources,<br />

that send a data traffic stream to <strong>the</strong> nodes 12, 13 <strong>and</strong> 14<br />

respectively. Moreover, <strong>the</strong> b<strong>and</strong>width assigned to each<br />

link is 1 Mbps.<br />

In figures 3-9, <strong>the</strong> packets belonging to each flow are<br />

identified by <strong>the</strong> source node number.<br />

The first test is performed to verify <strong>the</strong> resources<br />

allocation mechanism along an LSP.<br />

A Constant Bit Rate (CBR) data traffic at 400 Kbps is<br />

generated by <strong>the</strong> node 2 <strong>and</strong> received by <strong>the</strong> node 14; <strong>the</strong><br />

links 11_4 <strong>and</strong> 4_5 are congested due to <strong>the</strong> traffic<br />

generated by <strong>the</strong> nodes 0 <strong>and</strong> 1.<br />

According to <strong>the</strong> Layer 3 routing protocol (OSPF) all<br />

<strong>the</strong> flows are forwarded along <strong>the</strong> same path, so that each<br />

flow experiments packet losses on <strong>the</strong> congested links.<br />

8<br />

0<br />

4<br />

2<br />

1<br />

7<br />

5<br />

1<br />

0<br />

6<br />

12<br />

2<br />

13<br />

14


Indeed, as shown in figure 4, <strong>the</strong> throughput <strong>of</strong> <strong>the</strong><br />

flow 2 is about 200 Kbps when no LSP is established. An<br />

LSP is <strong>the</strong>n set-up (t=46 sec) with a reserved b<strong>and</strong>width<br />

equal to 400 Kbps, between <strong>the</strong> nodes 10 <strong>and</strong> 5. The<br />

binding <strong>of</strong> <strong>the</strong> flow to <strong>the</strong> LSP is completed at 50.0<br />

seconds <strong>and</strong> <strong>the</strong> throughput rises at 400 Kbps as a<br />

consequence <strong>of</strong> a proper resource allocation process.<br />

Figure 4: Flow rate (src 2) on link 4_5<br />

The second test is performed to assess label<br />

distribution <strong>and</strong> fault recovery functionalities. The<br />

network topology is <strong>the</strong> same as in <strong>the</strong> previous test <strong>and</strong><br />

all <strong>the</strong> sources generate CBR traffic at 400Kbps.<br />

After 5.0 seconds <strong>of</strong> simulation, three ER-LSP are<br />

established:<br />

• LSP0 includes nodes 3, 10, 9, 8, 7, 6, 5 <strong>and</strong> it is<br />

associated to flow 0;<br />

• LSP1 includes nodes 11, 4, 5 <strong>and</strong> it is associated<br />

to flow 1;<br />

• LSP2 includes nodes 3, 10, 9, 8, 7, 5 <strong>and</strong> it is<br />

associated to flow 2.<br />

0<br />

2<br />

2<br />

0<br />

3<br />

2<br />

10<br />

2<br />

1<br />

0<br />

9<br />

1<br />

11<br />

2 0<br />

Path Message<br />

1<br />

Figure 5: Path message for flow from 2 to 14<br />

8<br />

2<br />

4<br />

0<br />

7<br />

1<br />

5<br />

2<br />

6<br />

0<br />

1<br />

12<br />

13<br />

14<br />

5<br />

In figure 5 <strong>the</strong> Path message for <strong>the</strong> ER-LSP<br />

establishment through 3, 10, 9, 8, 7, 6, 5 nodes is shown.<br />

At 8.0 seconds <strong>the</strong> binding <strong>of</strong> <strong>the</strong> flows to <strong>the</strong> LSP is<br />

completed <strong>and</strong> <strong>the</strong> flows are forwarded according to label<br />

switching (figure 6).<br />

The subsequent phase aims at testing <strong>the</strong> fault<br />

notification mechanisms. In order to test this aspect, a<br />

fault is forced on <strong>the</strong> link 7_5, so that node 7 sends a<br />

PathErr message (figure 7).<br />

0 0<br />

0<br />

2<br />

2<br />

2<br />

2<br />

0<br />

2<br />

3<br />

3<br />

10<br />

0<br />

0<br />

0<br />

10<br />

0<br />

2<br />

1<br />

0<br />

9<br />

11<br />

0<br />

Figure 6: Label switching<br />

2<br />

1<br />

1<br />

1<br />

2<br />

1<br />

1<br />

11<br />

0 2 0<br />

9<br />

Figure 7: Failure <strong>and</strong> PathErr message<br />

After receiving <strong>the</strong> PathErr message, node 10 sends a<br />

PathTear message downstream to release <strong>the</strong> previously<br />

allocated resources <strong>and</strong> to delete <strong>the</strong> label switching table<br />

entries associated to <strong>the</strong> LSP. As a consequence, flow<br />

from node 2 to node 14 is now forwarded according to<br />

<strong>the</strong> Layer 3 routing protocol, as shown in figure 8.<br />

Figure 9 shows <strong>the</strong> throughput at node 14.<br />

From t = 15 seconds to t = 15.6 seconds, no packet is<br />

received. Then, traffic flows are forwarded according to<br />

Layer 3 routing protocol. No decrease in <strong>the</strong> received<br />

throughput can be observed, since no congestion occurs<br />

along <strong>the</strong> new path.<br />

8<br />

8<br />

2<br />

4<br />

1<br />

4<br />

2<br />

1<br />

0<br />

0<br />

7<br />

7<br />

2<br />

5<br />

0<br />

0<br />

1<br />

5<br />

2<br />

0<br />

0<br />

1<br />

6<br />

6<br />

0<br />

PathErr Message<br />

0<br />

2<br />

12<br />

13<br />

14<br />

1<br />

13<br />

12<br />

14


0<br />

2<br />

2<br />

0<br />

3<br />

2<br />

10<br />

Figure 8: Situation after link failure<br />

Figure 9: Flow rate (src 2) on link 5_14<br />

Finally, we assess <strong>the</strong> simulator behaviour, when a<br />

link, on which several LSPs are established, fails. In order<br />

to test this aspect, a link failure is forced on link 6_7. As<br />

supposed, nodes 7 <strong>and</strong> 5 send respectively a PathErr <strong>and</strong><br />

a ResvErr message. After processing <strong>the</strong> corresponding<br />

PathTear <strong>and</strong> ResvTear messages, <strong>the</strong> two LSPs (which<br />

are established on <strong>the</strong> broken link) are released <strong>and</strong> <strong>the</strong><br />

corresponding flows are, once again, forwarded<br />

according to <strong>the</strong> Layer 3 routing protocol.<br />

5. Conclusions<br />

0<br />

1<br />

0<br />

1<br />

11<br />

2<br />

9<br />

0<br />

1<br />

In this paper, we discuss <strong>the</strong> development <strong>and</strong> validate<br />

<strong>the</strong> functionalities <strong>of</strong> a new s<strong>of</strong>tware module that<br />

implements <strong>the</strong> <strong>RSVP</strong>-<strong>TE</strong> signalling protocol in <strong>the</strong> NS2<br />

simulation tool. The new module provides a complete<br />

implementation <strong>of</strong> <strong>the</strong> control plane mechanisms needed<br />

for label distribution <strong>and</strong> label binding as well as link<br />

failure h<strong>and</strong>ling in MPLS networks. It is relevant to<br />

emphasize that this module has been developed taking<br />

into account extensibility <strong>and</strong> flexibility issues, so that<br />

enhancements to <strong>the</strong> signalling protocol (i.e. definition <strong>of</strong><br />

new objects) could be easily introduced. Hence, <strong>the</strong><br />

8<br />

2<br />

4<br />

0<br />

7<br />

1<br />

2<br />

5<br />

0<br />

0<br />

6<br />

0<br />

1<br />

12<br />

13<br />

14<br />

6<br />

module we implemented could be useful to plan <strong>and</strong><br />

assess new functionalities in MPLS/DiffServ or GMPLS<br />

networks.<br />

6. Acknowledgments<br />

This work was partially supported by <strong>the</strong> Euro-NGI<br />

<strong>Network</strong> <strong>of</strong> Excellence funded by <strong>the</strong> European<br />

Commission<br />

References<br />

[1] X. Xiao, L.M. Ni, Internet QoS: A Big Picture, IEEE <strong>Network</strong><br />

Magazine, March 1999<br />

[2] Trimintzios, P. Andrikopoulos, I. Pavlou, G. Flegkas, P. Griffin, D.<br />

Georgatsos, P. Goderis, D. T'Joens, Y. Georgiadis, L. Jacquenet,<br />

C.; Egan, R., A management <strong>and</strong> control architecture for providing<br />

IP Differentiated Services in MPLS-based <strong>Network</strong>s, IEEE<br />

Communications Magazine, May 2001<br />

[3] Engel, T. Granzer, H. Koch, B.F. Winter, M. Sampatakos, P.;<br />

Venieris, I.S. Hussmann, H. Ricciato, F. Salsano, S., AQUILA:<br />

Adaptive resource control for QoS using an IP-based layered<br />

architecture, IEEE Communications Magazine, January 2003<br />

[4] S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang, W. Weiss.,<br />

An Architecture for Differentiated Services, IETF RFC 2475,<br />

December 1998<br />

[5] E. Rosen, A. Viswanathan, R. Callon., Multiprotocol Label<br />

Switching Architecture, IETF RFC 3031, January 2001<br />

[6] D. Awduche, J. Malcolm, J. Agogbua, M. O'Dell, J. McManus.,<br />

Requirements for Traffic Engineering over MPLS, IETF RFC 2702,<br />

September 1999<br />

[7] G. Swallow MPLS Advantages for Traffic Engineering, IEEE<br />

Communications Magazine, December 1999<br />

[8] X. Xiao, A. Hannan, B. Bailey, L. Ni, Traffic engineering with<br />

MPLS in <strong>the</strong> Internet, IEEE <strong>Network</strong> Magazine, March 2000.<br />

[9] B. Carpenter, K. Nichols Differentiated Services in <strong>the</strong> Internet,<br />

Proceedings <strong>of</strong> <strong>the</strong> IEEE, September 2002<br />

[10] F. Le Faucheur, L. Wu, B. Davie, S. Davari, P. Vaananen, R.<br />

Krishnan, P. Cheval, J. Heinanen, MPLS support <strong>of</strong> Differentiated<br />

Services, IETF RFC 3270, May 2002<br />

[11] The <strong>Network</strong> <strong>Simulator</strong> vers.2.26 (NS2) Home Page<br />

www.isi.edu/nsnam/dist/<br />

[12] The MPLS <strong>Network</strong> <strong>Simulator</strong> version 2 Home Page<br />

http://flower.ce.cnu.ac.kr/~fog1/mns/<br />

[13] G. Ahn, W. Chun <strong>Design</strong> <strong>and</strong> Implementation <strong>of</strong> MPLS <strong>Network</strong><br />

<strong>Simulator</strong> (MNS) Supporting QoS, ICOIN- 2001<br />

[14] The <strong>RSVP</strong> module for NS2 Home Page http://titan.cs.unibonn.de/~greis/rsvpns<br />

index.html<br />

[15] M. Greis <strong>RSVP</strong>\ns: An Implementation <strong>of</strong> <strong>RSVP</strong> for <strong>the</strong> <strong>Network</strong><br />

<strong>Simulator</strong> ns-2<br />

[16] IETF MPLS WG http://www.ietf.org/html.charters/mplscharter.html<br />

[17] IETF CCAMP Working Group<br />

http://www.ietf.org/html.charters/ccamp-charter.html<br />

[18] G. Carrozzo, N. Ciulli, S. Giordano, G. Giorgi, M. Listanti, U.<br />

Monaco, F. Mustacchio, G. Procissi, F. Ricciato,. Architecture <strong>and</strong><br />

protocols for <strong>the</strong> seamless <strong>and</strong> integrated next generation IP<br />

networks, QoS-IP 2005<br />

[19] D. Adami, N. Carlotti, S. Giordano, M. Pagano, M. Repeti,<br />

Performance analysis <strong>of</strong> <strong>the</strong> Control <strong>and</strong> Forwarding plane in a<br />

MPLS router, OpNeTec 2004<br />

[20] D. Awduche, L. Berger, D. Gan, T. Li, V. Srinivasan, G. Swallowl.<br />

<strong>RSVP</strong>-<strong>TE</strong>: Extensions to <strong>RSVP</strong> for LSP Tunnels, IETF RFC 3209,<br />

December 2001

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!