2.1 Purpose and Scope
2.1 Purpose and Scope
2.1 Purpose and Scope
1. Introduction
This document describes the design and the implementation oI MPLS Network Simulator(MNS), which supports
the establishment oI CR-LSP(Constraint based Routing-Label Switching Path) Ior QoS traIIic as well as basic
MPLS(Multi-Protocol Label Switching)|2||3||5| Iunctions such as LDP(Label Distribution Protocol)|1||4| and label
switching. In order to support them, MNS consists oI many components; those are CR-LDP, MPLS ClassiIier,
Service ClassiIier, Admission Control, Resource Manager, and Packet Scheduler. To veriIy the accuracy and
eIIiciency oI MNS, two examples are simulated and evaluated. One is a simulation Ior traIIics with diIIerent QoS
each other. The other is a simulation Ior resource preemption.
The rest oI this document is organized as Iollows. Section 2 overviews MNS and its detailed design and
implementation are described in Section 3. Simple examples are simulated and evaluated in Section 4. And
conclusion is given in Section 5.
2. Overview of MNS
This section describes the purpose, scope, architecture, and capability oI MNS. The proposed MNS has been
implemented by extending Network Simulator(NS)|6||7|. NS, which is an IP based simulator, began as a variant oI
the REAL network simulator implemented by UC Berkeley in 1989. Now, NS version 2 is available as a result oI the
VINT project.
2.1 Purpose and Scope
The primary purpose oI this work is to develop a simulator that enables to simulate various MPLS applications
without constructing a real MPLS network. The MPLS simulator is designed under the Iollowing considerations:
1. Extensibilitv -- IaithIully Iollow the object-oriented concept so as to support various sorts oI MPLS application
2. Usabilitv -- design so that users may easily learn and use it.
3. Portabilitv -- minimize the modiIication oI NS code so as not to be subordinate to a speciIic NS version.
4. Reusabilitv -- design so as to aid in developing a real LSR switch.
The implementation scope oI MPLS simulator is as Iollows:
Gaeil Ahn and Woojik Chun
Design and Implementation of
MPLS Network Simulator (MNS)
Department oI Computer Engineering, Chungnam National University, Korea
Iog1, chun}ce.cnu.ac.kr
-2-
1. Label Switching -- label swapping/staking operation, TTL decrement, and penultimate hop popping
2. LDP -- handling LDP messages(Request, Mapping, Withdraw, Release, and NotiIication)
3. CR-LDP -- handling CR-LDP messages
The capability oI MPLS simulator related to setting up LSP is as Iollows:
1. In LSP Trigger Strategy -- support control-driven and data-driven trigger.
2. In Label Allocation and Distribution Scheme -- support only downstream scheme in control-driven trigger, and
both upstream and downstream-on-demand scheme in data-driven trigger.
3. In Label Distribution Control Mode -- support only independent mode in control-driven trigger, and both
independent and ordered mode in data-driven trigger.
4. In Label Retention Mode -- support only conservative mode.
5. ER-LSP based on CR-LDP -- established based on the path inIormation pre-deIined by user.
6. CR-LSP based on CR-LDP -- established based on the parameters such as traIIic rate, buIIer size.
7. Resource Preemption -- preempt the resource oI the existing CR-LSP with setup-priority and holding-priority
8. Flow Aggregation -- aggregate Iine Ilows into a coarse Ilow
2.2 Conceptual model of MNS supporting QoS
Information
Flooding
Packets
Out
LDP/
CR-LDP
Messages
Packets
In
MPLS
Classifier
Packet Scheduler
Admission
Control
Routing
Protocol
Resource
Manager
Service
Classifier
Address
Classifier
CR-LDP
Link
MPLS Node
Figure 1: Conceptual model of MNS
Figure 1 shows a conceptual model oI MPLS node supporting QoS. MNS consists oI such components including
CR-LDP`, MPLS ClassiIier`, Service ClassiIier`, Admission Control`, Resource Manager`, and Packet
Scheduler`.
-3-
Its Iunctions can be described as Iollows;
z LDP/CR-LDP -- generates or processes LDP/CR-LDP message
z MPLS ClassiIier -- executes label operation such as push, pop, and swap Ior MPLS packet
z Service ClassiIier -- classiIies services that should be applied to the incoming packet by using label and interIace
inIormation or the CoS Iield oI MPLS shim header, and associates each packet with the appropriate reservation
z Admission Control -- looks at the TraIIic Parameter oI CR-LDP, and determines whether the MPLS node has
suIIicient available resource to supply the requested QoS
z Resource Manager -- creates/deletes queues on-demand, and also manage the inIormation oI resource.
z Packet Scheduler -- manages the packets in the queues so that they receive the service required.
3. Design and Implementation of MNS
3.1 Label Switching
MPLS simulator has been implemented by extending NS that is an IP based simulator. In NS, a node consists oI
agents and classiIiers. An agent is the sender/receiver object oI protocol, and a classiIier is the object that is
responsible Ior the packet classiIication. For the purpose oI making a new MPLS node, MPLS Classifier and LDP
agent are inserted into the IP node.
Label Switching
L3 Forwarding
Addr
Classifier
Port
ClassiIier
Agent
(source/null)
Agent
(CR-LDP)
MPLS Node
LIB Table
(Outgoing Label and
Outgoing InterIace)
MPLS
Classifier
PFT Table
(Outgoing Label and
Outgoing InterIace)
If unlabeled packet,
then lookup
If labeled packet,
then lookup
Figure 2: Architecture of MPLS Node for Label Switching
The architecture oI MPLS node Ior label switching is shown in Figure 2. When MPLS node receive a packet, it
operates as Iollows:
1. MPLS Classifier determines whether the received packet is labeled or unlabeled. II it is labeled, MPLS
Classifier executes label switching Ior the packet. II it is unlabeled but its LSP exists, it is handled like a labeled
packet. Otherwise, MPLS Classifier sends it to Addr Classifier.
-4-
2. Addr Classifier executes L3 Iorwarding Ior the packet.
3. II the next hop oI the packet is itselI, the packet is sent to Port Classifier.
For the label switching, two tables are deIined as Iollows;
z Partial Forwarding Table (PFT) -- It is a subset oI Forwarding Table and used to map IP packet into LSP at
Ingress LSR. It consists oI FEC, FlowID, and LIBptr. The LIBptr is a pointer that indicate a entry oI the LIB
table.
z Label InIormation Base (LIB) -- It has inIormation Ior the established LSPs and used to provide label switching
Ior the labeled packet. It consists oI in/out-label and in/out-interIace.
3.2 MPLS Real-time Traffic Processing
In order to support MPLS real-time traIIic, the Service Classifier component has been designed and
implemented. CBQ, which was already implemented on NS, is selected Ior the Packet Scheduler component. In the
real world, Packet Scheduler component should be perIormed at nodes. However, that oI NS has been
implemented at Links.
In MNS, a table is deIined to maintain the inIormation oI the established ER-LSP; that is Explicit Route
inIormation Base(ERB). ERB has the inIormation on the established ER-LSP such as LSPID and ServiceID.
LIB Table
(Outgoing Label and
Outgoing Interface)
Outgoing Interface
ServiceID
ERB Table
(ServiceID)
MPLS
Classifier
Service
Classifier
Packet Scheduler 1
Link 1
Link 2
MPLS Node
CBQ
Packet Scheduler 2 CBQ
Link n
Packet Scheduler n CBQ
Lookup
Lookup
Figure 3: MPLS QoS traffic processing of MPLS node and Link
Figure 3 shows MPLS QoS traIIic processing oI MPLS node and link. When a MPLS data packet arrives at the
MPLS node, it gets into the MPLS Classifier. MPLS node indexes the LIB table Ior outgoing-label and outgoing-
interIace to perIorm label operation and then the ERB table Ior ServicID to provide queuing service. According to
the class the packet belongs to, it queues at the corresponding buIIer in CBQ. And it is served by CBQ and
transmitted to the outgoing-interIace.
-5-
3.3 Resource Reservation
The Admission Control and the Resource Manager components have been designed and implemented Ior
resource management. The Resource Manager component is responsible Ior creation/deletion oI CBQ queues and
the management oI the resource inIormation(i.e. Resource Table).
LIB Table
Link 1
MPLS Node
Resource
Table
Create/Delete CBQ
ERB Table
Admission Control 1
CR-LDP Request Message
Packet
Scheduler
Outgoing-Label and
Outgoing-Interface
Resource Manager 1
Admission Control n Resource Manager n Link n
CR-LSP info.
ServiceID
CR-LDP Mapping Message