Presentation on theme: "QoS Routing for MPLS Networks Employing Mobile Agents By: Sergio Gonzalez-Valenzuela and Victor C. M. Leung Presented by: Nathan Balon."— Presentation transcript:
QoS Routing for MPLS Networks Employing Mobile Agents By: Sergio Gonzalez-Valenzuela and Victor C. M. Leung Presented by: Nathan Balon
Introduction 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.
Overview DiffServ MPLS Mobile Agents Wave Routing Algorithm Results
DiffServ 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.
DiffServ 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.
MPLS 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.
MPLS 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.
MPLS Header LabelExp. S TTL Layer 2 Header (eg. PPP, 802.3) Network Layer Header and Packet (eg. IP) 4 Octets MPLS Shim Headers (1-n) 1 n Label Stack Entry Format
The 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.
Mobile 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.
Wave 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.
Wave 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.
Wave 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.
QoS Routing The routing scheme uses two types of agents: 1.A set of static agents obtain availability of network resources. 2.A second set of agents are deployed into the network find QoS compliant routes.
Static 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.
Discovering 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.
Egress 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.
Route Discovery Route discovery consist of 2 parts. 1.Finding QoS compliant routes for each ingress node whose final path is the root of the tree. 2.Determining if any routes overlap.
Finding 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.
Finding 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.
Finding 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.
Finding 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.
MPLS 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.
Results 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.
Conclusion 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.