Title: QoS Routing for MPLS Networks Employing Mobile Agents By: Sergio Gonzalez-Valenzuela and Victor C. M. Leung
1QoS Routing for MPLS Networks Employing Mobile
AgentsBy Sergio Gonzalez-Valenzuela and Victor
C. M. Leung
- Presented by Nathan Balon
2Introduction
- The authors of the paper propose using
DiffServ-over-MPLS to provide QoS, the problem
with this approach is the lack of routing support
in the current architecture. - The authors introduce a new routing algorithm
that provides support for establish QoS compliant
routes by using mobile agents. - The goal of the paper is to introduce the uses of
mobile agents at the network layer, to provide
QoS routing in Internet backbone.
3Overview
- DiffServ
- MPLS
- Mobile Agents
- Wave
- Routing Algorithm
- Results
4DiffServ
- QoS is used to provide a consistent predictable
data delivery service. - In the authors framework they propose that
DiffServ is used to provide QoS. - The reason DiffServ was chosen because it is
highly scaleable. - DiffServ provides a means of categorizing and
prioritizing network traffic flow aggregates.
5DiffServ
- DiffServ uses Differentiated Services Code Points
that identifies a per hop behavior (PHB) to be
applied at each node to a packet. - Service Level Agreements (SLA) are used to define
the policy criteria and traffic profile. - One problem with DiffServ is it can not work by
itself, it needs to use another protocol to
perform forwarding.
6MPLS
- Multi-protocol Label Switching (MPLS) is based on
a combination of layer 3 routing with label
switching and forwarding. - MPLS achieves the simplicity of a layer 2 switch
while retaining flexibility and scalability of a
layer 3 router. - Each packet in an MPLS network contains a label
which is associated with a Forward Equivalence
Class (FEC). - FEC provide scalability. They are used group
flows that are forwarded in a similar manner.
7MPLS
- The benefit of MPLS is routing decisions are made
at the edge of a network where a packet will be
given a label based on the FEC. - MPLS packets are then forwarded based on the
label, which determines the destination of a
stream. - At each hop a new label is inserted into the
packet replacing the old label. - MPLS routers contain a table with the next hop
for a label. A packet is forwarded based looking
up a label in table. The forwarding table avoids
having to make costly look ups in a routing table
and keeps the size of the routing table small.
8MPLS Header
MPLS Shim Headers (1-n)
n
1
Network Layer Header and Packet (eg. IP)
Layer 2 Header (eg. PPP, 802.3)
4 Octets
Label Stack Entry Format
TTL
Label
Exp.
S
9The Need for a Routing Protocol
- MPLS framework requires an external routing
protocol to determine routes and for the
distribution of labels. - There is also a need to support
multipoint-to-point connections. Where a number
of data streams can start at separate locations
and converge on a common node or follow the same
path and later diverge. - Excessive routing traffic can be avoided creating
multiple routes to handle different QoS
requirements which are defined by SLAs.
10Mobile Agents
- Mobile agents are autonomous software entities,
that can move themselves from one node to another
in a network. - Mobile agents can achieve a collective objective
in a cooperative manner. - The benefits of mobile agents are
- Agents can communicate with other agents.
- If the machine that launched the agent into the
network was removed, the agent could continue to
operate. - Agents can perform parallel processing.
- One problem is there is no current support for
mobile agents in the Internet infrastructure.
11Wave
- The Wave paradigm is used to implement the mobile
agents. - Each wave is defined by a string that represents
the agents operations and variables. - Each wave may start their execution at a given
node and then propagate through the network.
12Wave Program
- One of the reason for the choosing Wave to
implement the mobile agents is the program is
compact. - Wave code is approximately 20 to 50 times more
compact then many high level languages.
13Wave
- Each node in the network needs to run a Wave
interpreter. - The Wave framework also provides an interfacing
mechanism, so that waves can communicate with
programs written in other languages. - Waves use the information they gather when
traversing the network to build a Knowledge
Network (KN). - Wave agents are able to clone themselves in a
virus like fashion and are then propagated to
neighboring nodes. - Agents can carry along with them any information
they need and set variables at nodes to share the
information they gather.
14Benefits of Wave
- Strong migration
- Synchronous/asynchronous navigation
- Agent collaboration
- Flexibility
- Fault tolerance
- Autonomy
- Compactness
15QoS Routing
- The routing scheme uses two types of agents
- A set of static agents obtain availability of
network resources. - A second set of agents are deployed into the
network find QoS compliant routes.
16Static Agents
- Static agents are created to reside on every node
in the network. - The purpose of static agents is to monitor the
available resources in a DiffServ switch. - The agents gather information such as the amount
of bandwidth, delay and jitter. - The static agents can update the value of a
virtual link to a neighbor in the KN. - A benefit of this is there is no need to flood
the network with routing tables whenever a change
takes place.
17Static Agents
18Discovering QoS Compliant Routes
- The goal at this phase is to create a tree with a
minimized cost for a specific type of service. - Paths that do not contribute to optimization of
resources are pruned from the tree. - The end result is minimization of the use of
network resources such as the number of
communication links needed and the number of
labels.
19Egress and Ingress Nodes
- Egress node A differentiated service (DS)
boundary node whose role is handling traffic as
it leaves a DS domain. - Ingress node A DS boundary node whose role is
handling traffic as it enters a DS domain.
20Route Discovery
- Route discovery consist of 2 parts.
- Finding QoS compliant routes for each ingress
node whose final path is the root of the tree. - Determining if any routes overlap.
21Finding QoS Compliant Routes
- During initialization of a switch a request from
ingress nodes is made to a common egress node. - A colony of mobile agents are launched from all
ingress nodes to an egress node to create a mp2p
tree. - The agents clone themselves and then launched
copies on each QoS compliant link. - When the agent arrives at an intermediate node,
the distance traveled is recorded in a local
variable. - If the agent has a shorter distance than was
previously recorded for an agent originating from
the same node it is able to continue. - If the agents distance is larger, the agent is
discarded.
22Finding QoS Compliant Routes
- A second set of agents are then launched.
- The goal of this round of agents is to determine
all of the possible shortest paths to the root. - Agents are allowed to continue on their path to
the root if their recorded distance equals that
recorded by the previous set of agents.
23Finding Overlapping Routes
- Next, another set of agents are launched from
different origins to find routes that minimize
resources by finding routes that will allow data
to be merged. - When the phase starts each node sends an agent to
travel along the shortest paths that were
previously discovered. - When an agent arrives at a node
- The agent checks a flag to see if any other agent
had visited that node from the same origin. - If the agent is the first to visit the node, it
sets a flag which tells other agents that the
node was previously visited.
24Finding Overlapping Routes
- A final set of agents is then set out along the
same shortest path to determine the number of
visits at that node from distinct origins. - The more visits that a node has the better, the
path is then credited a higher weight. - Every agent will record associated weights to a
destination node based on the amount of
overlapping. - The result is the egress node will contain the
records for all the shortest paths from each
origin to itself.
25Creating Routes
26MPLS Switches Can Be Updated
- Using Waves interfacing feature, the IP addresses
for nodes found on each path can passed to the
MPLS switch. - The MPLS switch can then assign labels and use a
label distribution protocol.
27Results
- One problem that was found with the routing
algorithm is that routing traffic can take place
in large bursts. - The sudden increase in the number of agents can
cause congestion problems and queuing delays. - The authors determine that more efficient
navigation techniques need to be developed.
28Arrival Pattern of Mobile Agents
29Conclusion
- An framework such as the one the authors are
suggested is unlikely to be embraced at the
present time. - To use mobile agents in core of the Internet
infrastructure, new routers would need to be put
in place to the support mobile agents. - The paper was written to show longer term
possible routing solutions.