L’ INGENIERIE DU TRAFIC DANS LES RESEAUX MPLS
L’ingénierie du trafic
Traffic engineering (TE) is a process that specifies how traffic is managed within a given network, focusing primarily on optimizing the performance of operational networks It involves the application of scientific principles and technologies for measuring, modeling, characterizing, and controlling Internet traffic to achieve specific performance objectives In MPLS networks, the key aspects of interest in TE are measurement and control.
The primary performance objectives associated with Traffic Engineering (TE) can be classified into two categories: traffic-oriented and resource-oriented goals Traffic-oriented objectives focus on enhancing the Quality of Service (QoS) for traffic flows, which includes minimizing packet loss and delay, as well as maximizing throughput In contrast, resource-oriented objectives aim to optimize resource utilization, with bandwidth management being a critical factor Key goals of TE include minimizing congestion and achieving effective load balancing.
MPLS et la TE
MPLS is highly significant for Traffic Engineering (TE) as it potentially offers most of the valuable functionalities of the overlay model, such as IP over ATM and IP over Frame Relay, in an integrated and cost-effective manner compared to other options It also provides the opportunity to automate various functions of TE.
MPLS, avec le concept de ô traffic trunk ằ [RFC 2403], a quelques facteurs pour la TE [27]:
Explicit LSPs, which are not bound by destination-based transfer paradigms, can be created manually by network operators or automatically through protocols These LSPs can be efficiently maintained, while traffic trunks can be instantiated and mapped onto them Additionally, a set of attributes can be associated with traffic trunks to modulate their behavioral characteristics Furthermore, another set of attributes can be linked to resources that constrain the placement of LSPs and the traffic trunks traversing these LSPs.
However, there are challenges in implementing Traffic Engineering (TE) on MPLS The three fundamental issues of TE on MPLS are: first, how do we map packets to Forwarding Equivalence Classes (FEC)? Second, how do we map FEC to traffic trunks?
Thirdly, how do we project traffic trunks onto the physical topology of a network through LSPs? Numerous studies have addressed this issue, focusing on the integration of DiffServ techniques with MPLS infrastructure, as well as the development of routing protocols and label distribution methods.
Integrating the DiffServ technique into an MPLS network offers significant advantages It allows for the specification of paths and the behavior (PHB) of packets within router queues To achieve this, Forwarding Equivalence Classes (FEC) are classified according to DiffServ service classes, such as Expedited Forwarding (EF).
There are two methods for mapping the Differentiated Services Code Point (DSCP) of DiffServ onto MPLS labels: Exp-inferred LSP (E-LSP) and Label-only inferred LSP (L-LSP) Labels are assigned and distributed to routers using Label Distribution Protocol (LDP).
One of the intriguing aspects of TE in MPLS is the dynamic and automatic management of access to an MPLS-DiffServ network This involves assigning external traffic flows to various LSPs based on the negotiated SLS, application characteristics, and potentially the user profile For instance, when a voice application is introduced, it is essential to determine which LSP will be allocated to ensure a high level of service guarantee.
Typically, traffic is routed either statically by the operator or through a label routing and distribution protocol Before assigning a flow to a pipe, it is essential to implement a Call Admission Control (CAC) procedure to ensure Quality of Service (QoS) compliance To integrate artificial intelligence into telecommunications, we propose utilizing intelligent agents for managing access to an MPLS-DiffServ network.
L’ OBJECTIF DU PROJET
The project aims to design and develop simulation techniques and software for MPLS-DiffServ networks that incorporate intelligent agents In this context, I collaborated with another intern who focused on modeling and developing an MPLS-DiffServ network.
This internship focuses on developing a generic agent model for selecting Label Switched Paths (LSP) and measuring its effectiveness and drawbacks in terms of Traffic Engineering (TE) We aim to apply artificial intelligence agents to enhance TE within an MPLS-DiffServ network Our exploration emphasizes LSP selection that meets the required Quality of Service (QoS) while balancing network load To achieve this, we will address several key questions: (i) Why and how is an intelligent agent integrated into an MPLS network? (ii) What are its advantages and disadvantages? (iii) How do we allocate packet flows to various LSPs? (iv) What parameters can the agent manipulate? (v) What is the agent architecture? (vi) How do we evaluate the model's effectiveness? These questions will be discussed throughout the document.
This thesis is structured as follows: Section 2 discusses the applications of intelligent agents in telecommunications, specifically focusing on MPLS-DiffServ networks and the J-Sim simulation environment Section 3 presents our modeling approach for an MPLS-DiffServ network and the intelligent agent-based network access management model In Section 4, we detail the simulation parameters and the results obtained Finally, Section 5 concludes the thesis and outlines our future work.
Dans cette partie, nous allons aborder l’utilisation des agents dans le domaine de la télécommunication et un environnement particulier de simulation d’un réseau de télécommunications
2.1 L’agent intelligent dans les réseaux de Télécommunications
The complexity and dynamism of telecommunications networks make their management and control increasingly challenging The use of intelligent agents in this field minimizes human intervention and enhances network performance These agents can recognize situations and offer improved solutions.
Gati describes a model of agents designed for congestion detection, traffic management, and dynamic threshold adjustment of congestion control mechanisms in ATM networks Each agent operates with its own knowledge and is assigned to each network node, allowing for isolated operation when necessary The agent architecture is based on blackboard principles, comprising three components: a knowledge module, a control module, and a communication module This work has significantly advanced the applicability of Distributed Artificial Intelligence (DAI) in the telecommunications sector.
Legge [2] proposes the development of an autonomous agent-based management system for AMT networks, where each network node contains its own set of agents responsible for controlling a layer of the ISO reference model This model offers defined interfaces and levels of abstraction, facilitating the creation of interoperable communication protocols However, the implementation is still pending for three lower layers: the Switch Control Agent for the physical layer, the Neighbour Discovery Agent for the data link layer, and the Network Agent for the network layer Additionally, there is a specialized agent known as the Inter-Society Communication Agent (ISCA), which maintains a connection to the ATM switch and communicates with other agents.
Vilà presents a multi-agent system designed for the dynamic configuration of network resources, utilizing bandwidth reservation and route restoration mechanisms This system effectively manages virtual networks, such as virtual routes in ATM networks or LSPs in MPLS networks It features two types of agents: M-agents, which are reactive agents responsible for managing the state of a virtual route and detecting congestion, and P-agents, deliberative agents located at each node to optimize network performance.
An effective approach for network control and routing is the use of mobile agents Vittori introduces an intelligent routing algorithm known as Q-agents, which operates based on an agent's interaction environment This algorithm integrates three learning strategies: Q-learning, dual reinforcement learning, and ant colony behavior A group of agents independently and concurrently navigates the network to identify optimal routes, sharing their knowledge of route quality through indirect communication.
In [4,5], a novel approach to modeling and simulating active networks is presented through a behavioral multi-agent system designed to manage network dynamics The agents leverage key properties such as autonomy, sociability, communication, cooperation, and learning to operate within active network environments They provide dynamic and intelligent control to prevent congestion and packet loss Each node, regarded as an active entity, is represented by a multi-agent system and exhibits various behaviors—including basic, selective, cautious, loyal, and disloyal—tailored to handle packets across three distinct quality of service classes [25] This behavioral modeling effectively captures the actions of each entity, resulting in significant improvements in service quality, including reduced packet loss and response times.
Ces travaux ont prouvé l’efficacité des agents intelligents pour la gestion dynamique de réseaux de télécommunications
Les concepts et l’architecture de routage d’un réseau MPLS-DiffServ ont été présentés dans
In MPLS-DiffServ networks, two fundamental issues arise: the DSCP is located in the IP packet header, while LSRs only examine frame labels Additionally, the DSCP field consists of 6 bits, whereas the experimental (EXP) field in labels has only 3 bits To address these challenges, two solutions, E-LSP and L-LSP, have been proposed The E-LSP solution employs a method of projecting multiple behavior aggregates (BAs) onto a single LSP, allowing all packets belonging to these BAs to share the same label.
Le champ EXP de l’en-tête MPLS est utilisé pour spécifier le PHB applicable à chaque paquet
Ce PHB comprends les paramètres de la préférence de rejet et d’ordonnancement La deuxième projette un BA singulier sur un LSP, les DSCP sont encodés implicitement dans les étiquettes
Par conséquent, le champ EXP devrait être utilisé pour le codage de la préférence de rejet des paquets
The TEQUILA project aims to enhance Traffic Engineering (TE) within MPLS-DiffServ networks by studying, specifying, implementing, and validating service definitions and tools to ensure quantitative end-to-end Quality of Service (QoS) This involves dimensioning, admission control, and dynamic resource management within DiffServ networks based on MPLS infrastructure Currently, the project focuses on developing a prototype of the DiffServ model on MPLS infrastructure.
Dans le cadre de ce stage, on utilise l’environnement de simulation J-Sim (Java Simulation) pour créer et expérimenter des simulations d’un réseau MPLS-DiffServ
J-Sim is a software package designed for simulating discrete-time systems in Java It offers a development environment based on the Autonomous Component Architecture (ACA), where all elements are treated as components These components communicate and exchange data through their ports, facilitating efficient system modeling and simulation.
Fig 1 L’architecture des composants de base
J-Sim has developed an abstract network model known as the INET Network Model, where all entities within a network are considered components, such as networks, nodes, network interface cards, and physical links By utilizing these components, a telecommunications network can be established A network is a composite component made up of nodes, links, and smaller networks Each node is itself a component that includes applications, protocol modules, and a core service layer (CSL) The INET network modeling framework is illustrated in the figure below.
Fig 2 Le modèle de réseau INET
The following figure illustrates the internal structure of a node in the abstract model Unlike the TCP/IP model, which has four layers, or the OSI reference model with seven layers, this model simplifies the architecture to just two layers: the Upper Protocol Layer (UPL) and the Core Service Layer (CSL).
Fig 3 La structure interne d’un nœud de réseau
La décomposition du CSL sera montrée en détails dans l’annexe concernant J-Sim
2.3.3 Modélisation du réseau MPLS dans J-Sim
The MPLS model provided by J-Sim lacks flexibility, as it only allows for the association of an outgoing interface and label with their incoming counterparts, which is inadequate for supporting RSVP-TE protocols and dynamic Label Switched Paths In May 2003, the Infonet Group of the University of Namur proposed a new MPLS network simulation model, introducing two components: the Forwarding Table (FT) and the MPLS component The FT contains all configured label information, linking an IP prefix or incoming label to an interface and an outgoing label, along with an operation list that includes operators (SWAP, PUSH, or POP) applied to the packet's label The MPLS component routes packets based on FT configuration, examining the IP prefix for appropriate operations; if no reference is found in the FT, the packet is discarded Detailed configuration and simulation documentation will be provided in the MPLS annex.
L’ ENVIRONNEMENT DE S IMULATION J-S IM
Introduction
J-Sim est un package logiciel qui permet de réaliser des simulations de systèmes à temps discret en Java Il fournit un environnement de développement d'application basé sur l'architecture des composants de base de logiciel appelant l'architecture des composants autonomes (Autonomous Component Architecture, ACA) Tous les éléments sont considérés comme des composants Les composants communiquent et échangent des données via leurs ports
Fig 1 L’architecture des composants de base.
Modélisation d’un réseau
J-Sim développe un modèle de réseau abstrait qui s’appelle INET Network Model, toutes les entités dans un réseau sont des composants, par exemple, un réseau, un nœud, une carte d’interface de réseau, un lien physique… A partir des composants on peut établir un réseau de télécommunications Un réseau est un composant composé par des nœuds, des liens et des plus petits réseaux Un nœud est un composant lui-même qui comprends des applications, des modules de protocoles et une couche de service du noyau (core service layer, CSL) La figure ci- dessous présente le modèle de modélisation de réseau INET
Fig 2 Le modèle de réseau INET
The following figure illustrates the internal structure of a node in the abstract model Unlike the TCP/IP model with four layers or the OSI reference model with seven layers, this model simplifies the architecture to just two layers: the Upper Protocol Layer (UPL) at the top and the Core Service Layer (CSL) below.
Fig 3 La structure interne d’un nœud de réseau
La décomposition du CSL sera montrée en détails dans l’annexe concernant J-Sim.
Modélisation du réseau MPLS dans J-Sim
The MPLS model provided by J-Sim lacks flexibility, as it only allows for the association of an outgoing interface and label with their incoming counterparts, which is inadequate for supporting RSVP-TE protocols and dynamic Label Switched Paths In May 2003, the Infonet Group of the University of Namur proposed a new MPLS network simulation model, introducing two components: the Forwarding Table (FT) and the MPLS component The FT contains all configured label information, linking an IP prefix or incoming label to an interface and an outgoing label, along with an operation list that includes operators (SWAP, PUSH, or POP) applied to the label carried in the packet The MPLS component routes packets based on FT configurations, determining the forwarding decision based on the received packet and FT information If the MPLS component does not find a reference for an IP packet in the FT, the packet will be discarded Detailed configuration and simulation documentation will be provided in the MPLS appendix.
This model appears to be limited in several ways Firstly, it lacks prioritization among packets Secondly, it only supports monotonic LSPs, meaning that LSPs cannot be created with varying rates or priorities Additionally, it does not allow for the dynamic selection of routes connecting two endpoints, which restricts the potential for effective traffic engineering within the MPLS network.
Fig 4 La décomposition du CSL dans le nouveau modèle de réseau MPLS.
Les problématiques
To study the applicability of agents in managing access within an MPLS-DiffServ network, a simple network simulation model is developed The challenge is to create a simulation featuring intelligent agents that can manage the access of external flow streams to various Label Switched Paths (LSPs) The model is based on a fixed MPLS-DiffServ network topology with a defined set of LSPs between pairs of nodes, categorized into three preference levels When a packet transfer request is made from an external flow with specific Quality of Service (QoS) criteria, the question arises: which LSPs should the packets traverse to meet these criteria? To address this, a model of intelligent agents must be developed to allocate flows across the different LSPs, considering Service Level Specifications (SLS) parameters, network traffic, and Traffic Engineering (TE) requirements.
+ Un réseau MPLS-DiffServ fonctionne et sa topologie est bien simulée
+ Les LSP sont bien créés et distribués sur ce réseau
+ On ne s’intéresse qu’à des LSP entre une paire de nœuds car les autres LSP pourraient être traités de manière similaire
+ Les flots sont classifiés en trois types de priorités EF, AF, BE
+ Toutes les connaissances du réseau sont fournies instantanément dans la base d’information de l’agent (on ne tient compte pas du délai de propagation) [1]
+ Les critères (le délai, la gigue, la perte…) sont mesurés en terme des valeurs totales des agrégats de paquets de bout en bout
La section suivant mentionnera le déroulement du stage Elle présentera la modélisation d’un réseau MPLS/DiffServ et le modèle agent utilisé.
M ODELISATION DU RESEAU MPLS-D IFF S ERV
Fonctionnement du réseau
In this model, sources generate and transmit only IP packets to the MPLS module of an entry node in the network A detailed description of the sources will be provided in the following section The MPLS module plays a crucial role in managing these packets.
This module handles packets traversing the MPLS network As an ingress node, it encapsulates IP packets with a label called LSPacket and forwards them to one of its neighbors As an egress node, it decapsulates this label In an MPLS network, all packets belonging to a flow must follow the same Label Switched Path (LSP), and a flow can only be assigned once to an LSP This module works with two types of packets: IP packets and MPLS packets (LSPacket).
When an IP packet arrives at the MPLS module of an entry node, the module assesses whether the packet belongs to a new flow or an existing one based on the flow identity If it is a new flow, the MPLS module will request the Agent module to find a reference label for the packet Using this label, the MPLS module will then locate the corresponding Label Switched Path (LSP) in the Forwarding Table (FT) Conversely, if the packet is part of an existing flow, the MPLS module will retrieve the LSP associated with that flow from its historical memory.
When an LSPacket arrives, this module will operate similarly to the MPLS module of J-Sim It will perform switching and either forward the packet to another node or decapsulate it to send it to the network layer.
Another function of the MPLS module is to periodically send node status information to the agent This includes instantaneous values of delay, packet loss, queue occupancy, and jitter, based on the priority types assigned to each network card.
This module is responsible for assigning incoming external traffic to various LSPs based on the requested QoS A detailed explanation will be provided in the agent model section d) The Queue Module.
Each traffic source is assigned to a corresponding service type based on the Service Level Specification (SLS) between the user and the operator, as illustrated in Figure 6 The first example will introduce three priority types that roughly align with Expedited Forwarding (EF), Assured Forwarding (AF), and Best Effort (BE).
Fig 6 La structure interne du module de file d’attente Priority Queue
Packets originating from the MPLS module will be placed into three corresponding queues based on priority levels: High, Medium, and Low Queue management algorithms such as Random Early Detection (RED), Weighted Fair Queueing (WFQ), or Class Based Queueing (CBQ) can be utilized to control these queues.
In this experiment, priority types are indicated in packets by their sources, utilizing a Round Robin scheduling mechanism to manage these queues This approach demonstrates that packets are serviced based on their scheduling preference and transferred at varying rates If the queue of a network card is full, any subsequent packets arriving at that queue will be rejected.
La conception d’un nœud MPLS
a) L’architecture globale d’un nœud d’accès
Fig 7 L’architecture globale d’un nœud d’accès
On rajoute les trois modules Agent, Queue et Source au modèle MPLS de base de J-Sim b) Le diagramme de composants
Fig 8 Le diagramme de composants d’un nœud d’accès c) Le diagramme de classes
Fig 9 Le diagramme de classes détaillé des trois composants MPLS, Agent et Database.
La modélisation des sources de trafic
In the context of MPLS traffic, four primary types are identified: video on demand, VoIP, file transfer, and web traffic For video on demand, traffic is modeled using an Mpeg4 trace file, focusing on two parameters: interval time and frame size, enabling the generation of traffic at varying quality levels (high, medium, low) while ensuring a maximum latency of 5ms VoIP traffic is modeled using the OnOff model, which requires a maximum response time of 100ms, a maximum loss rate of 1%, and a variance of 20ms Additionally, for FTP traffic, studies have demonstrated the effectiveness of using the Poisson distribution for simulating Internet traffic, particularly for file transfers, which do not require a specific response time.
M ODELE DE L ’ AGENT
Introduction
In our model, the intelligent agent is positioned at the access node of the MPLS-DiffServ network, where it seeks the most satisfactory routes for incoming traffic The path selection for a connection is influenced by various factors, including the source characteristics (such as bandwidth, application type, and requested quality of service), the priority type, and the status of the paths (the condition of the nodes traversed by a Label Switched Path) If no route meets the specified QoS requirements, the connection will be denied.
There are primarily two types of traffic: delay-sensitive traffic and loss-sensitive traffic Delay-sensitive traffic is defined by its bandwidth and latency, as illustrated by the use of the EF class of service in MPLS and DiffServ environments for voice transmission In contrast, loss-sensitive traffic is characterized by the volume of information being transferred, such as web pages and files.
Traffic flows sensitive to delay will be assigned to EF class LSPs in the DiffServ network, while loss-sensitive flows will be allocated to AF class LSPs Other flows will be categorized as Best Effort (BE) Initially, we decided to classify the traffic into three priority types: EF, AF, and BE.
Les critères à utiliser
Traffic with stringent timing constraints will be routed through EF LSPs For instance, the maximum transfer time for voice packets in the network is set at 100ms, with a variance of 20ms The average waiting time (delay) and its variance (jitter) at node i of the EF type traversed by packets following LSP j are denoted as ti and gi, respectively Therefore, the total sum T = ∑i ti for all nodes in LSP j must remain below 100ms, and the total variance G = ∑i gi must be kept under 20ms.
To obtain the instantaneous waiting time of a packet \( t_{ai} \) in a queue \( i \) at a node, it is measured directly within the simulation The service time of a packet at node \( i \) is calculated using the formula \( t_{si} = \frac{s_p}{a_i} \cdot \lambda_k \), where \( s_p \) represents the packet size in bits, \( a_i \) denotes the server's throughput in bps, and \( \lambda_k \) indicates the performance rate of the server for each priority type (EF, AF, BE) The instantaneous delay of a packet is then calculated as \( t_{ij} = t_{ai} + t_{si} \).
To calculate the average waiting time and jitter of packets traversing the LSP j, we focus solely on the most recent n values After a period of p(ms), we compute the average value of t i, represented as n t t n.
= = (5) , et son écart-type (la gigue): n
Traffic flows with a loss constraint will be directed into AF pipes We consider the loss rate at each node traversed by an AF LSP Similar to how we calculated waiting time and its variance, we can compute the loss rate and its variance using the formulas P = ∑ i p i and PV = ∑ i pv i It is essential that the sum SP is maintained.
SP = + (9), soit inférieure à 10 -3 Les flots sans contrainte (ni temps ni perte) sont mis par défaut dans les tuyaux BE
After analyzing all relevant parameters based on traffic characteristics, a set of rules can be established: i) A flow requiring stringent time constraints will be assigned to an EF LSP if the response time and variance conditions are met, with an average loss of less than 1% ii) A flow that demands a loss rate constraint will be assigned to an AF LSP if the packet loss probability condition is satisfied, and the average delay is under 2 seconds iii) Flows without any constraints on time or loss are defaulted to BE pipes.
La table suivante illustre les paramètres et variables utilisés dans ce modèle
The parameters include EF_CON_TIME, which measures the response time condition in milliseconds (ms); EF_CON_JITTER, indicating the variance in response time, also in milliseconds (ms); and EF_CON_LOSS, representing the loss rate condition expressed as a percentage (%).
The AF_CON_LOSS parameter represents the acceptable loss rate in percentage (AF%), while the AF_CON_TIME parameter indicates the response time condition in milliseconds (AF ms) Additionally, the UPDATE_TIME refers to the duration required to update the agent's knowledge base.
STATE_NUMBER Le nombre des états historiques des nœuds dans la base de connaissances Table 1 Les paramètres et les variables utilisés
L’architecture de l’agent
In [1], the authors proposed an agent architecture for managing and controlling traffic in ATM networks, demonstrating its effectiveness in traffic management This agent is capable of making instantaneous local decisions when equipped with sufficient knowledge When the network is not overly congested, it allows for the exchange of information to update and enhance the agent's knowledge.
This network type is similar to MPLS networks, both utilizing frame switching techniques In our work, we have implemented this agent model by developing a two-layer management agent: the reactive layer and the cognitive layer The reactive layer contains the rules outlined previously and manages route selection for connections It accepts a connection if a route exists that meets QoS constraints based on the flow priority type (EF, AF, BE), otherwise, it denies the connection.
La couche cognitive sert à la surveillance des états du réseau Elle acquiert des informations (les états actuels) des nœuds appartenant aux LSP associés au nœud d’accès et les classifie
This information provides a comprehensive overview of the status of all associated roads and the network load An agent knowledge base is essential for retaining information and enhancing situational awareness of the network It supplies statistical data to the reactive layer.
La section suivante présente la simulation réalisée et les résultats obtenus
Dans cette section, on va aborder à la topologie du réseau réalisé, la méthode d’expérimentation et les résultats obtenus.
L A TOPOLOGIE DU RESEAU
Dans la simulation, on développe une topologie simple Il y a quatre routeurs de bord (0-3), des nœuds de source et de destination (4-7) (figure 10)
Fig 10 Topologie du réseau MPLS-DiffServ
To evaluate traffic from node 0 to node 2, routers 0-3 are assigned capacities of 35Mbps, 7Mbps, 7Mbps, and 35Mbps, respectively Each node's queue has a capacity of 2,097,152 bits There are six Label Switched Paths (LSP) categorized into three preference levels between node N0 and node N2 The service rates (λ) for the three preference levels are defined for Expedited Forwarding (EF).
AF, BE sont respectivement 100%, 50% et 20%
Les LSP dans le réseau sont indiqués dans la table suivante
LSP Les nœuds traversés L’étiquette initiale ToS
Table 2 Les LSP dans le réseau.
M ETHODES D ’ EXPERIMENTATION ET D ’ EVALUATION
Réseau sans agents intelligents
Les sources de trafic sont lancées à différents moments Le temps de simulation est de 20s
Traffic is prioritized based on their types (EF, AF, BE) and destination addresses, utilizing the initial paths in the routing table In this scenario, no network status information was considered, and all traffic flows were processed The following table displays the maximum values of the network's QoS parameters under these conditions.
Chemin Priorité Le nœuds traversés
Le délai (s) La gigue (s) La perte (%) Le débit
Table 4 Les valeurs de QoS maximales
Réseau avec agents intelligents
In this simulation, at each UPDATE_TIME interval (in milliseconds), internal routers within the pipes crossing the access node send their current states This information includes metrics such as throughput, instantaneous delay, and instantaneous loss rates based on each priority type Using these values, the cognitive layer calculates all the parameters required by the reactive layer The active layer assigns new flows from outside the network by verifying Quality of Service (QoS) conditions for each type of flow specified in the packet Best Effort (BE) flows are randomly assigned to the Label Switched Paths (LSPs).
BE La table suivante indique les valeurs des paramètres et des variables utilisées :
Table 5 Les valeurs des variables utilisées a) Etat stable du réseau
Dans ce cas, les flux partant du nœud 0 sont lancés après tous les autres trafics du réseau
La table suivante présente les valeurs au maximum des paramètres de QoS du réseau dans ce cas
Chemin Priorité Le nœuds traversés
Le délai (s) La gigue (s) La perte (%) Le débit
Table 6 Les valeurs de QoS maximales dans le cas stable b) Etat dynamique du réseau
Dans ce cas, les flux partant du nœud 0 sont lancés indépendamment des autres trafics du réseau
La table suivante présente les valeurs au maximum des paramètres de QoS du réseau dans ce cas
Chemin Priorité Le nœuds traversés
Le délai (s) La gigue (s) La perte (%) Le débit
Table 7 Les valeurs de QoS maximales dans le cas dynamique c) Les résultats obtenus pour les différents valeurs du temps de mis à jour
In this case, the network simulation was conducted by altering the agent's knowledge base update time Internal nodes periodically transmit their current status after a duration of p (s) The following table displays the maximum values of the Quality of Service (QoS) parameters for the flows traversing the network.
Chemin Période (s) Le délai (s) La gigue (s) La perte (%) Le débit (bps)
Table 8 Le délai, la gigue, la perte et le débit avec des périodes de mis à jour différentes.
Interprétation et remarques
Les résultats ci-dessus montrent l’avantage et les limitations de l’utilisation des agents intelligents dans la gestion du trafic d’un réseau MPLS-DiffServ
Dans le premier cas sans agent, les flux sont routés statiquement à l’avance, les étiquettes sont distribuées en fonction de l’adresse de la destination et la préférence du type d’application
The Quality of Service (QoS) for the first three Label Switched Paths (LSP1, LSP2, and LSP3) is not being met, while the last three LSPs are satisfying QoS requirements This issue arises from an imbalance in network load distribution, where the majority of traffic is funneled through the initial three LSPs between node 0 and node 2 Additionally, the absence of Connection Admission Control (CAC) in this allocation means that all flows are served without guaranteeing QoS, leading to congestion at the nodes traversed by these flows.
In a stable network state, Quality of Service (QoS) can be ensured with the same resources The findings highlight the agent's effectiveness in managing network access, as QoS was verified prior to assigning a flow to a Label Switched Path (LSP) by analyzing historical states of nodes along the path The results demonstrate improved throughput, latency, and loss compared to previous scenarios The latency condition for Expedited Forwarding (EF) flows is consistently met due to the short service times of nodes (6.5 Mbps) and limited queue capacities (2,097,152 bits) However, increasing the queue capacity to 4,294,967,295 bits while reducing node throughput to 1.5 Mbps would eliminate packet loss but result in increased latency, prompting the agent to reject future connection requests.
The network is inherently dynamic, with traffic flows entering and exiting independently of one another When an agent's assignment occurs simultaneously with other sources, the Quality of Service (QoS) for these flows is compromised, leading to increased packet loss This issue arises from the shared resources among nodes within the same traffic trunk's Label Switched Paths (LSPs) The agent's knowledge base only contains historical data about the network, and the QoS checked before introducing a new flow into a pipeline may no longer be valid This situation can occur when an LSP can only accommodate one additional flow to ensure QoS guarantees are met.
Ce problème devrait être résolu par la coopération entre les agents à des nœuds aux bords du réseau
Due to queue modeling, there are significant influences from Best Effort (BE) packets on the Quality of Service (QoS) and packet loss of higher priority types The packet loss for the two highest preference levels may exceed that of BE packets, which can be attributed to the node's queue control mechanism This mechanism employs immediate packet rejection; if a node's queue is full, it will discard incoming packets without regard to their priority Consequently, higher-priority packets are always processed before lower-priority ones, allowing BE packets to occupy queue space until they are transmitted As a result, BE packets may experience extended wait times in the queue, leading to potential loss of new incoming packets, even those of higher priority, as indicated by the delay data in the results table.
Analyzing simulations with varying parameter values revealed several key insights First, if the network state changes too rapidly relative to the update time, the agent's effectiveness diminishes due to insufficient information for decision-making, compounded by MPLS characteristics that require all packets from a flow to be routed along the same path Conversely, a short update period burdens the network as it increases computation time and resource usage for control packet transmission Second, the amount of historical states in the agent's database is crucial; if too limited, the agent lacks a comprehensive view of the network, relying solely on instantaneous data, which may lead to temporary assessments of conditions like congestion and delay In contrast, an excessively large dataset can hinder the agent's adaptability to changing situations Lastly, the thresholds set in the agent's rules remain significant factors affecting performance.
These parameters are crucial for ensuring Quality of Service (QoS) in the selection of Label Switched Paths (LSPs) and optimizing network resource utilization However, these thresholds should not be fixed and must be adaptable to the network's situation At this stage, this approach has not yet been addressed Additionally, cooperation among agents managing LSPs that share common resources, such as the same routers, is essential for effective decision-making Furthermore, coordinating queue management techniques, such as Random Early Detection (RED), could enhance overall network performance.
The agent initially selects a Label Switched Path (LSP) for a given flow, while the Random Early Detection (RED) mechanism continuously monitors packet transmission RED can inform the agent about congested nodes, addressing the issue of lost TCP packets when their transmission delays exceed the TCP timeout This is crucial as the Round Robin scheduling may lead to excessive waiting times for low-priority packets Additionally, the intelligent agent could utilize other network information, such as flow rates within the LSP and the transmission duration of Video on Demand (VoD) flows, to optimize LSP selection Furthermore, to enhance queue management, non-consecutive rejection of voice packets can be implemented during congestion scenarios.
We could develop an alternative system of agents capable of recognizing the network's situation and adjusting parameters such as update settings, condition thresholds, and the number of historical states at each node.
This paper presents a network access management model for MPLS-DiffServ using intelligent agents The findings indicate that implementing specific access management rules can enhance network performance by optimizing the flow of traffic based on Quality of Service (QoS) requirements Significant results were achieved during this research project.
An implementation of an MPLS-DiffServ network with an intelligent agent has been completed The intelligent agent managed the allocation of incoming traffic to various LSPs within the MPLS-DiffServ network based on the requested Quality of Service (QoS) and the current network conditions.
The advantage of this model lies in the application of artificial intelligence to dynamically and automatically manage access within the MPLS-DiffServ network Several experiments have been conducted using the J-Sim simulator on the Java platform.
The results obtained in Section 4 indicate that integrating an agent into the access management of an MPLS-DiffServ network can significantly enhance traffic engineering, ensuring Quality of Service (QoS) and optimizing network resource utilization Traffic engineering is achieved through the automatic and dynamic allocation of flows to the most suitable Label Switched Paths (LSPs) and addressing the network load balancing issue The intelligent agent can accept and allocate flows to LSPs while also denying connection requests if the required QoS guarantees cannot be assured from the outset.
However, there are limitations in modeling and implementing this model The queue modeling that serves all packets at the same speed can lead to resource wastage and congestion at subsequent nodes in a Label Switched Path (LSP), as packets—including Best Effort (BE) packets—will enter the queue at the same rate as Expedited Forwarding (EF) packets Additionally, the Round Robin queue management mechanism conflicts with the TCP protocol.
Determining the duration of a phone call is challenging, making it difficult to maintain the required Quality of Service (QoS) in a different priority type LSP, such as Assured Forwarding (AF) In contrast, a Video on Demand (VoD) connection can be placed in a Best Effort (BE) LSP if it remains idle for certain periods, as its transmission time is well-defined.
The results encourage us to explore additional questions regarding the allocation of EF flows in AF pipes, including agent cooperation and the dynamic creation of LSPs A thorough verification and validation study of various simulation parameters—such as network topology, thresholds, and other relevant information—must be conducted Furthermore, enhancing the modeling of the MPLS network, particularly in terms of queue management mechanisms and BHP processing at each node, is also a key objective for the future.
[1] Gạti D., Pujolle G., “Performance Management Issues in ATM Networks an Congestion Control”
IEEE/ACM Transactions on Networking, 4(2) pp 249-257, April 1996b
[2] Legge D., Baxendale P., “An Agent-Based Network Management System” AISB’2002, Imperial College, London, England
[3] Vilà P., Marzo J.L., Fàbrega L., “Using a Multi-agent System for Network Management” In Proceedings of Congrộs Català d’Intelãligốncia Artificial (CCIA 2002) October, 2002 Castellú de la Plana, Spain
[4] Merghem L., Gạti D., “Une Approche Multi-agents pour la Simulation de Réseaux de Télecommunication”, Journées Francophones pour l'Intelligence Artificielle Distribuée et les Systèmes Multi-Agents 2002(JFIADSMA’2002), pp 73-85, Lille, France
[5] Merghem L., Gạti D., “Behavioural Multi-agent Simulation of an Active Telecommunication Network”
[7] Gogeris D et all “Draft-tequila-sls-00.txt”
[8] Bouras C., Campanelle M., Sevast A., “SLA Definition for the Provision of an EF-based Service” 16th International Workshop on Communications Quality & Reliability (CQR 2002), pp 17-21, May 14-16
[9] Chao H.J., Guo X., Quality of Service Control in High-Speed Networks John Wiley, 2002
[10] Al-Irhayim S., Zubairi J.A., Mohammad Q, Latif S.A., “Issues in Voice over MPLS and DiffServ Domains” Proc PDCS'2000, Volume II, pp467-472, Novermber 2000, Las Vegas
[11] Baynat B., Thộorie des files d’attente - des chaợnes de Markov aux rộseaux à forme produit Hermes Science Publication, 2000
[12] Hisamatsu H., “Steady State Analysis of TCP Connections with Different Propagation Delays” www- miya.ist.osaka-u.ac.jp/~oosaki/ papers/Hisamatu02_Society.pdf
[13] Rosen E., Viswanathan A., [RFC3031] – “Multiprotocol Label Switching Architecture”, January 2001
[14] Le Faucheur F., Wu L., Davie B., Davari S., Vaananen P., Krishnan R., Cheval P., Heinanen J., [RFC3270] – “Multi-Protocol Label Switching (MPLS) Support of Differentiated Services", May 2002
[15] Jacobson V., Nichols K., Poduri K., [RFC2598] – “An Expedited Forwarding PHB”, June 1999
[16] Heinanen J., Baker F., Weiss W., Wroclawski J., [RFC2597] – “Assured Forwarding PHB Group”, June
[17] Frank H.P., Martin R., "MPEG-4 and H.263 Video Traces for Network Performance Evaluation", IEEE Network, Vol 15 - No 6 – pp 40-54, Nov./Dec 2001
[18] Klaus D., Wolfgang P., "Two classes - sufficient QoS for Multimedia Traffic", Talk for COST 257, May
[19] Wenyn J., Henning S., "Analysis of On-Off Patterns in VoIP and Their Effect on Voice Traffic Aggregation", ICCCN 2000
[20] Ziviani A., Rezende J F., Duarte O C M B., "Towards a Differentiated Services Support for Voice Traffic", Proc of the IEEE Global Telecommunications Conference - GLOBECOM'99, p 59-63, December 1999
[21] Poul H., "Modelling of Internet traffic", NTNU - SINTEF Telecom & Informatics, 1999
(http://heim.ifi.uio.no/~bryhni/I2/GenIP-trafikk.PDF)
[22] Rümmler R., Aghvami A.H., Boorn A.H., Arram B., "Traffic modelling of software download for reconfigurable terminals", IEEE International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC), pp 90-94, Volume 1, September 2001
[23] The ATM Forum, http://www.atmforum.com
[24] Vetter R.J “ATM concepts, architectures, and protocols” Communications of the ACM, 38(2), pp 30-
[25] Pujolle G “Rapport d’vancement du Projet MACSI”, Janvier 2003.
[26] Trimintzios P., et al “A Management and Control Architecture for Providing IP Differentiated Services in MPLS-based Networks”, IEEE Communications Magazine, vol 16, no 5, May 2001.
[27] Awduche D., et al [RFC 2702] – Requirements for Traffic Engineering Over MPLS”, September 1999.
[28] Raymond L., Srihari R., “DiffServ and MPLS – Concepts and Simulation ”.
[29] Gonzalo C., “Routing Architecture in DiffServ MPLS Networks”.
[30] Duy L., “Mémoire de fin d’études”, l’IFI, Novembre 2004.
Mis en forme : Anglais (Royaume-Uni) Mis en forme : Franỗais (France)
Mis en forme : Anglais (Royaume-Uni) Mis en forme : Franỗais (France)
Mis en forme : Anglais (Royaume-Uni) Mis en forme : Franỗais (France)
Mis en forme : Anglais (Royaume-Uni) Mis en forme : Franỗais (France)
Mis en forme : Anglais (Royaume-Uni)
Mis en forme : Franỗais (France)
Mis en forme : Anglais (Royaume-Uni) Mis en forme : Franỗais (France)
Mis en forme : Anglais (Royaume-Uni)
Mis en forme : Franỗais (France)
Mis en forme : Anglais (Royaume-Uni) Mis en forme : Franỗais (France)
Mis en forme : Anglais(Royaume-Uni)Mis en forme : Franỗais (France)
[31] Panos T., Paris F Grorge P Loenidas G., David G., “Policy-based Network Dimensioning for IP Differentiated Services Networks”.
[32] Floyd S., Jacobson V., “Random Early Detection Gateways for Congestion Avoidance”, IEEE/ACM Trans Networking, Vol 1, No 4, pp 397-413, August 1993.
[33] Vittori K., Araújo F.R., “Agent-Oriented Routing in Telecomunications Networks” IEICE Transactions on Communications, E84-B(11) : 3006-3013, November 2001.
Mis en forme : Anglais(Royaume-Uni)Mis en forme : Franỗais (France)Mis en forme : Franỗais (France)
7.1 Le package INET du simulateur J-Sim
7.1.1 Le CSL et les services
A U FUTURE
These results encourage us to explore additional questions regarding the allocation of EF flows in AF pipes, such as agent cooperation and the dynamic creation of LSPs A verification and validation study of various simulation parameters, including network topology, thresholds, and other relevant information, is essential Furthermore, enhancing the MPLS network modeling, particularly the queue management mechanisms and the handling of BHP at each node, is also a key objective for the future.
[1] Gạti D., Pujolle G., “Performance Management Issues in ATM Networks an Congestion Control”
IEEE/ACM Transactions on Networking, 4(2) pp 249-257, April 1996b
[2] Legge D., Baxendale P., “An Agent-Based Network Management System” AISB’2002, Imperial College, London, England
[3] Vilà P., Marzo J.L., Fàbrega L., “Using a Multi-agent System for Network Management” In Proceedings of Congrộs Català d’Intelãligốncia Artificial (CCIA 2002) October, 2002 Castellú de la Plana, Spain
[4] Merghem L., Gạti D., “Une Approche Multi-agents pour la Simulation de Réseaux de Télecommunication”, Journées Francophones pour l'Intelligence Artificielle Distribuée et les Systèmes Multi-Agents 2002(JFIADSMA’2002), pp 73-85, Lille, France
[5] Merghem L., Gạti D., “Behavioural Multi-agent Simulation of an Active Telecommunication Network”
[7] Gogeris D et all “Draft-tequila-sls-00.txt”
[8] Bouras C., Campanelle M., Sevast A., “SLA Definition for the Provision of an EF-based Service” 16th International Workshop on Communications Quality & Reliability (CQR 2002), pp 17-21, May 14-16
[9] Chao H.J., Guo X., Quality of Service Control in High-Speed Networks John Wiley, 2002
[10] Al-Irhayim S., Zubairi J.A., Mohammad Q, Latif S.A., “Issues in Voice over MPLS and DiffServ Domains” Proc PDCS'2000, Volume II, pp467-472, Novermber 2000, Las Vegas
[11] Baynat B., Thộorie des files d’attente - des chaợnes de Markov aux rộseaux à forme produit Hermes Science Publication, 2000
[12] Hisamatsu H., “Steady State Analysis of TCP Connections with Different Propagation Delays” www- miya.ist.osaka-u.ac.jp/~oosaki/ papers/Hisamatu02_Society.pdf
[13] Rosen E., Viswanathan A., [RFC3031] – “Multiprotocol Label Switching Architecture”, January 2001
[14] Le Faucheur F., Wu L., Davie B., Davari S., Vaananen P., Krishnan R., Cheval P., Heinanen J., [RFC3270] – “Multi-Protocol Label Switching (MPLS) Support of Differentiated Services", May 2002
[15] Jacobson V., Nichols K., Poduri K., [RFC2598] – “An Expedited Forwarding PHB”, June 1999
[16] Heinanen J., Baker F., Weiss W., Wroclawski J., [RFC2597] – “Assured Forwarding PHB Group”, June
[17] Frank H.P., Martin R., "MPEG-4 and H.263 Video Traces for Network Performance Evaluation", IEEE Network, Vol 15 - No 6 – pp 40-54, Nov./Dec 2001
[18] Klaus D., Wolfgang P., "Two classes - sufficient QoS for Multimedia Traffic", Talk for COST 257, May
[19] Wenyn J., Henning S., "Analysis of On-Off Patterns in VoIP and Their Effect on Voice Traffic Aggregation", ICCCN 2000
[20] Ziviani A., Rezende J F., Duarte O C M B., "Towards a Differentiated Services Support for Voice Traffic", Proc of the IEEE Global Telecommunications Conference - GLOBECOM'99, p 59-63, December 1999
[21] Poul H., "Modelling of Internet traffic", NTNU - SINTEF Telecom & Informatics, 1999
(http://heim.ifi.uio.no/~bryhni/I2/GenIP-trafikk.PDF)
[22] Rümmler R., Aghvami A.H., Boorn A.H., Arram B., "Traffic modelling of software download for reconfigurable terminals", IEEE International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC), pp 90-94, Volume 1, September 2001
[23] The ATM Forum, http://www.atmforum.com
[24] Vetter R.J “ATM concepts, architectures, and protocols” Communications of the ACM, 38(2), pp 30-
[25] Pujolle G “Rapport d’vancement du Projet MACSI”, Janvier 2003.
[26] Trimintzios P., et al “A Management and Control Architecture for Providing IP Differentiated Services in MPLS-based Networks”, IEEE Communications Magazine, vol 16, no 5, May 2001.
[27] Awduche D., et al [RFC 2702] – Requirements for Traffic Engineering Over MPLS”, September 1999.
[28] Raymond L., Srihari R., “DiffServ and MPLS – Concepts and Simulation ”.
[29] Gonzalo C., “Routing Architecture in DiffServ MPLS Networks”.
[30] Duy L., “Mémoire de fin d’études”, l’IFI, Novembre 2004.
Mis en forme : Anglais (Royaume-Uni) Mis en forme : Franỗais (France)
Mis en forme : Anglais (Royaume-Uni) Mis en forme : Franỗais (France)
Mis en forme : Anglais (Royaume-Uni) Mis en forme : Franỗais (France)
Mis en forme : Anglais (Royaume-Uni) Mis en forme : Franỗais (France)
Mis en forme : Anglais (Royaume-Uni)
Mis en forme : Franỗais (France)
Mis en forme : Anglais (Royaume-Uni) Mis en forme : Franỗais (France)
Mis en forme : Anglais (Royaume-Uni)
Mis en forme : Franỗais (France)
Mis en forme : Anglais (Royaume-Uni) Mis en forme : Franỗais (France)
Mis en forme : Anglais(Royaume-Uni)Mis en forme : Franỗais (France)
[31] Panos T., Paris F Grorge P Loenidas G., David G., “Policy-based Network Dimensioning for IP Differentiated Services Networks”.
[32] Floyd S., Jacobson V., “Random Early Detection Gateways for Congestion Avoidance”, IEEE/ACM Trans Networking, Vol 1, No 4, pp 397-413, August 1993.
[33] Vittori K., Araújo F.R., “Agent-Oriented Routing in Telecomunications Networks” IEICE Transactions on Communications, E84-B(11) : 3006-3013, November 2001.
Mis en forme : Anglais(Royaume-Uni)Mis en forme : Franỗais (France)Mis en forme : Franỗais (France)
L E PACKAGE INET DU SIMULATEUR J-S IM
Le CSL et les services
This appendix outlines the fundamental components of the CSL, which includes a clearly defined set of services and events provided by the CLS to the UPL modules This information is essential for those looking to utilize the INET package within the J-Sim simulator The following lists detail these services and events.
Envoyer et délivrer des paquets
Service/événement Description du Service/Evénement Porte
Packet Sending envoie des paquets selon une des méthodes suivantes: transférer en avant(default forward), multicast explicite(explicit multicast), émission exclusive(exclusive broadcast).
Packet Delivery définit des informations associées avec la livraison des paquets du CSL à un module UPL. up port group (*@up)
Packet Arrival (Component event) est exporté quand un paquet arrive au CSL .pktarrival@
Permet des modules UPL à requérir ou configurer les identitiés d’un nœud
Service/événement Description du Service/Evénement Porte
Default Identity Retrieval recherche l’identité par défaut du nœud.
All Identities Retrieval recherche toutes les identités du nœud.
Identities Query requiert si une identité existe.
Identity Addition ajoute des identités au nœud.
Identity Removal supprime des identités du nœud.
Identity Timeout Query requiert le temps quand des identités expirent.
Identity Event (Component event) est exporté quand un ID est ajouté à, ou supprimé du nœud.
Permet des modules UPL à requérir ou configurer la table de routage d’un nœud
Service/événement Description du Service/Evénement Porte
Unicast Route Query est exporté quand le CSL ne peut déterminer les interfaces de sortie sur lesquelles un paquet d’unicast devrait être expédié.
Multicast Route Query est exporté quand le CSL ne peut déterminer les interfaces de sortie sur lesquelles un paquet de multicast devrait être expédié.
Route Lookup retrouve les interfaces de sortie pour une combinaison donnée des sources, une destination, et une interface d’entrée.
Route Entry Addition ajoute une route entry à la table de routage.
Code de champ modifiéMis en forme : Franỗais (France)
Graft greffe un ensemble des interfaces de sortie à une route entry existante.
Prune taille un ensemble des interfaces de sortie d’une route entry existante.
Route Entry Removal Supprime des route entries dans la table de routage.
Route Entry Retrieval recherche des route entries dans la table de routage.
Unicast Route Event (Component event) est exporté quand une route de type unicast est ajoutée, modifiée, ou supprimée.
Multicast Route Event (Component event) est exporté quand une route de type multicast est ajoutée, modifiée, ou supprimée.
Permet des modules UPL à requérir des informations interface/voisin de(s) interface(s) d’un nœud
Service/événement Description du Service/Evénement Porte
All Interfaces Retrieval recherche des informations de toutes les interfaces.
One Interface Retrieval recherche des informations d’une interface.
Neighbor Event (physical) (Component event) est exporté quand un voisin est découvert sur une interface physique du nœud.
Neighbor Event (virtual) (Component event) est exporté quand un voisin est découvert sur une interface virtuelle du nœud
Service/événement Description du Service/Evénement Porte Member Join La même manière que le service Identity Addition.
Member Leave La même manière que le service Identity Removal.
Member Query La même manière que le service Identities Query.
Multicast Group Event est exporté quand un host joint un nouveau groupe de multicast ou le dernier host quitte un groupe de multicast.
Permet des modules UPL à configurer les filtres de paquets dans le CSL
Service/événement Description du Service/Evénement Porte
Packet Filter Configuration Configure un filtre de paquets service_configswitch@
La figure suivante illustre les services fournis par le CSL et les portes associées avec ces services
Mis en forme : Anglais (Royaume-Uni)
Mis en forme : Anglais (Royaume-Uni) Code de champ modifié
Mis en forme : Anglais (Royaume-Uni)
Mis en forme : Anglais (Royaume-Uni) Code de champ modifié
Mis en forme : Anglais (Royaume-Uni)
Mis en forme : Anglais (Royaume-Uni)
Mis en forme : Anglais (Royaume-Uni) Code de champ modifié
Mis en forme : Anglais (Royaume-Uni)
Mis en forme : Anglais(Royaume-Uni)Mis en forme : Franỗais (France)
Fig 11 Le CSL, services, evénements et portes.
La décomposition du CSL
The abstract network model does not define how the Common Service Layer (CSL) should be structured or implemented, allowing for various CSL implementations to simulate network nodes at different levels of detail However, the INET package provides a default implementation of the CSL In this implementation, the CSL is composed of several subcomponents, each responsible for one or more services and events within the CSL The default CSL implementation, along with the relationships between its subcomponents and the services/events they export, is illustrated in the following figure.
Fig 12 La décomposition du CSL
Les sous composants, leurs fonctions, les services et les événements sont :
Composant ID Fonction Services/Evénements
PktDispatcher pd Ce composant fournit les service d’envoyer /délivrer des données aux modules UPL Spécialement, il expédie des paquets d’entrées à un ensemble approprié des ports de sortie.
Packet Sending Packet Delivery Unicast/Multicast Route Query Packet Arrival
The Identity ID component maintains the identity database within the CSL, responsible for providing identity search services and configuration services, as well as exporting identity events.
Default Identity Retrieval All Identities Retrieval Identities Query Identity Addition Identity Removal Identity Timeout Query Identity Events
RT rt Ce composant maintient la table de routage du CSL Il fournit les services d’acheminement et configuration, et exporte des événements de changement des chemins.
Route Lookup Route Entry Addition Graft
The component maintains information about interfaces and provides interface/neighbor query services while exporting neighbor events It can be configured either statically or dynamically.
All Interfaces Retrieval One Interface Retrieval Neighbor Events sIGMP igmp Ce composant fournit les services de multicast.
Member Join Member Leave Member Query Multicast Group Event PacketFilter-
Switch pfs Ce composant est responsable d’envoyer des requêtes de configuration au filtre de paquets indiqué dans la requête.
PacketFilter pf_ La classe de base pour implémenter un filtre de paquets.
Queue q La classe de base pour implémenter une file d’attente d’une interface de sortie.
NI ni La classe de base pour implémenter une carte d’interface de réseaux.
QueueNI ni La classe de base pour l’implémentation d’un composant intégré queue/network- interface.
Nul ó est l’index du filtre de paquets banque/interface et est l’index du filtre de paquets dans la banque
A partir de ces composants, on peut bâtir un host ou un routeur La figure suivante montre les structures génériques internes d’un routeur et d’un host
Mis en forme : Anglais (Royaume-Uni) Code de champ modifié
Mis en forme : Anglais (Royaume-Uni) Code de champ modifié
Mis en forme : Anglais (Royaume-Uni) Code de champ modifié
Mis en forme : Anglais (Royaume-Uni)
Code de champ modifié Code de champ modifié
Mis en forme : Anglais (Royaume-Uni)
Mis en forme : Anglais(Royaume-Uni)Code de champ modifiéCode de champ modifié
Fig 13 La structure interne d’un routeur Fig 14 La structure interne d’un host
L’établissement d’un scénario de simulation d’un réseau
La construction d’un scénario de simulation de réseau dans le J-Sim est décrite dans le manuscrit suivant de TCL:
# Créer un container pour tenir le scenario cd [mkdir drcl.comp.Component scene]
# Attacher le temps d’exécution de simulateur à la "scene" attach_simulator
# Lancer tous les composants actifs sous la "scene" s’il y en a run
Exemple : Pour créer un scénario de simulation de réseau qui a la topologie montrée dans la figure[15], on pourrait décrire un manuscrit de TCL :
Fig 15 Une topologie de réseau ó h est le host, n est le nœud cd [mkdir drcl.comp.Component scene]
3 set adjMatrix_ [java::new {int[][]} 6 {{1 3 2} {3 0 4} {0 3 5}
Mis en forme : Franỗais (France)
Mis en forme : Anglais (Royaume-Uni) Mis en forme : Franỗais (France)
Mis en forme : Anglais(Royaume-Uni)
4 java::call drcl.inet.InetUtil createTopology [! ] $adjMatrix_
6 set routerBuilder_ [java::new drcl.inet.NodeBuilder routerBuilder]
7 set hostBuilder_ [cp $routerBuilder_ hostBuilder]
13 set period_ 1; # send a packet of size 512 bytes every 1 second
14 set trafficModel_ [java::new drcl.net.traffic.traffic_PacketTrain $packetSize_ $period_]
15 java::call drcl.inet.InetUtil createTrafficSource $trafficModel_
17 set sink_ [mkdir drcl.comp.tool.DataCounter h5/sink]
18 connect -c h5/csl/20@up -to $sink_/down@
19 # Set up static routes from h4 to h5
20 java::call drcl.inet.InetUtil setupRoutes [! h4] [! h5]
21 attach_simulator ; # attach simulation runtime
22 # start "active" component: the traffic source
L A CONFIGURATION ET LE MANUSCRIT DE SIMULATION DE RESEAU MPLS
La configuration du composant de FT
Before sending data, it's essential to include routing information in the FT This can be achieved through two methods: utilizing TCL commands within the TCL configuration script or generating a configuration file to be loaded into the FT.
The following command adds an entry to the FT, linking an input label to an output interface and a list of operations The syntax is: `node/csl/ft addLabelEntry label outif timeout operation` This command's arguments include the input label, output interface, timeout duration, and the operation to be performed.
The article outlines key data types and parameters for a system It includes an "input label" represented as an integer, which can be null, and an "output interface" also as an integer, with the possibility of being null The "timeout" parameter, defined as a real (double) value, indicates the duration before an entry is cleared, with a value of 0.0 signifying a permanent entry Additionally, the article mentions the ability to define operations on the labels.
Chaợne des caractères ô op1 lab1 : op2 lab2 :… : opN labN ằ
Les opérateurs sont : SWAP, PUSH, POP
SWAP : l’étiquette au sommet de la pile est modifié par la valeur donnée
PUSH : rajouter une nouvelle valeur à la pile
POP : effacer la valeur au sommet de la pile
Mis en forme : Franỗais (France)
Mis en forme : Retrait : Première ligne : 0.13", Avec puces + Niveau : 1 + Alignement : 0.25" + Tabulation après : 0.5" + Retrait : 0.5"
Mis en forme : Anglais (Royaume-Uni)
Mis en forme : Anglais(Royaume-Uni)
To associate an IP prefix with an output interface and a list of operations, use the command: node/csl/ft addPrefixEntry destIP destMask outif timeout operation This command enables the configuration of network routing by specifying the destination IP, subnet mask, output interface, timeout period, and associated operations.
The article describes various data types and their attributes related to network operations It includes the destination IP address (destIP) as a long integer, the destination mask (destMask) also as a long integer, and the output interface (outif) as an integer Additionally, it mentions a timeout value, represented as a double, where a value of 0.0 indicates a permanent entry Furthermore, it outlines operations that can be defined on labels in a character string format, structured as op1 lab1 : op2 lab2 : … : opN labN.
Les opérateurs sont les mêmes que dans le cas ci-dessus
! n2/csl/ft addPrefixEntry 0x05 0xFFFFFFFF 1 30.0 "PUSH 1:PUSH 1:PUSH 2"
To load entries into the FT from a file, use the command: `node/csl/ft loadFromFile path`, where "path" specifies the location of the file.
Dans le fichier de configuration du FT, chaque ligne est une entrée On a deux type de ligne :
L inlabel outif timeout {op label}+
I destIP destMask outif timeout {op label}+ ó L indique une entrée d’étiquette, I présente celle d’adresse IP op = 1 (PUSH) ; 2 (POP) ; 3 (SWAP) Exemple :
!n3/csl/ft loadFromFile "./ft.content"
Avec le contenu du fichier ft.content:
L’établissement d’un nœud MPLS
Créer un MPLSBuilder : set mpls [mkdir infonet.javasim.MPLS.MPLSBuilder mplsBuilder]
Créer des nœuds MPLS : set nb [mkdir drcl.inet.NodeBuilder nodeBuilder]
Exemple complet d’un scénario de simulation du réseau MPLS sera introduit dans la section suivante.
G UIDE D ' INSTALLATION DE LA SIMULATION DU RESEAU MPLS-D IFF S ERV
L'Installation
- Lancer la fenetre de commande DOS
- Changer le chemin (path) au repertoire C:\npquang\working\mpls\current
- Etablir les variables d'environnement par le script run.bat
- Faire marcher la simulation en utilisant le script r.bat, ou bien : java drcl.ruv.System ianet.tcl
- Pour recompiler les fichiers *.java, utilisez le script c.bat
Mis en forme : Anglais (Royaume-Uni)
Mis en forme : Anglais (Royaume-Uni)
Mis en forme : Anglais (Royaume-Uni)
Mis en forme : Anglais(Royaume-Uni)
L'affichage des résultats
Les rộsultats sont affichộs de deux faỗons: visuelle et textuelle:
- L'affichage visuel montre les valeurs moyennes et instantanées des paramètres de QoS selon chaque LSP du réseau comme : la gigue, le délai, la perte
- L'affichage textuel montre le traitement et les critères utilisés de l'agent : Waiting for agent process
Agent process number : 20 lookup for : 0 Alternative number : 2
Avarage : Mean parameters : delay :0.04011069242009149 jitter : 0.06244899598381361 loss : 0.0 wait :2.7843803056027165E-4 Variance parameters : delay :0.02251883567437416 jitter : 0.04886202120211075 loss : 0.0 wait :1.5353530580015497E-4 Agent return : 1
End of agent process + Agent process number indique le nombre de flots de données a été traités de la simulation
+ lookup for : "type de service" (0 : EF, 1 : AF, 2 : BE) + Alternative number : "nombre de LSP"
+ Mean parameters : la somme des valeurs moyennes de tous les noeuds appartenant d'un LSP
+ Variance parameters : la variance des valeurs moyennes + Agent return : "la référence pour trouver un chemin dans FT( Forwarding Table)
Remarque
- La topologie du réseau est présentée dans le fichier ianet.tcl
- L'agent se trouve à noeud n0 et il ne traite que des flots de noeuds n0 à la destination n2
- L'agent a deux ports à communiquer : AGENT_SERVICE_PORT_ID pour le traitement de flots et AGENT_UPDATE_PORT_ID pour la mise à jour des donnees
- La période de mise à jour des paramètres (le temps que les noeuds envoient leur état actuel à l'agent): foreach i {0 1 2 3} { [! n$i/csl/mpls] setTimeUpdate "Update" 0.1 }
- L'agent ne change pas le contenu des paquets, il ne donne qu'une reference au module MPLS pour faire "lookup" dans la FT
Le fichiers de simulation ianet.tcl
To build the topology, initiate the creation of nodes by navigating to the specified directory Use the command to create the network component 'net0' within the DRCL framework, and then establish a new link using the Java interface for DRCL networking.
Mis en forme : Anglais (Royaume-Uni)
Mis en forme : Anglais (Royaume-Uni)
Mis en forme : Anglais (Royaume-Uni)
Mis en forme : Franỗais (France)
Mis en forme : Anglais(Royaume-Uni) puts "Construire l'adress IP " set id_ [java::new {long[]} 8 {0 1 2 3 4 5 6 7 }] set adjMatrix_ [java::new {int[][]} 8 {{1 3 4} {0 2 5} {1 3 6} {0 2 7} {0} {1}
{2} {3}}] java::call drcl.inet.InetUtil createTopology [! ] "n" "n" $adjMatrix_ $id_
$link_ set mplsBuilder [mkdir MPLSBuilder mplsBuilder] set nb [mkdir drcl.inet.NodeBuilder nodeBuilder]
#Added by NGUYEN Phan Quang 12/09/03 puts "create and connect database" mkdir Database data
#connect [! n?/csl/mpls/DATA_SERVICE_PORT_ID@] -to [! data/update@] puts "create and connect agent and n1" mkdir Agent agent
! agent setDatabase [ ! /ianet/net0/data] connect agent/AGENT_SERVICE_PORT_ID@ -and [!
/ianet/net0/n0/csl/mpls/AGENT_SERVICE_PORT_ID@] foreach i {0 1 2 3} { connect [! n$i/csl/mpls/AGENT_UPDATE_PORT_ID@] -to [! agent/AGENT_UPDATE_PORT_ID@]
} connect agent/DATA_PORT_ID@ -and data/update@
#! agent setActive false mkdir drcl.comp.tool.Plotter plot
The configuration of routers is initiated through the Java utility, specifically using the `NetUtil` class The setup process involves establishing bidirectional routes between various nodes, such as from node 0 to node 4 and vice versa, as well as between nodes 1 and 5, and nodes 2 and 6 This systematic approach ensures effective network routing and connectivity across the specified nodes.
Mis en forme : Franỗais (France)
The Java method `infonet.javasim.util.NetUtil.setupBRoute` is repeatedly called with various parameters, indicating a configuration process for routing tables The command outputs a message stating, "Configuring routing tables " followed by a loop that iterates through the values 1, 2, and 3 This suggests a systematic approach to setting up network routes, ensuring that all necessary configurations are addressed.
# addPrefixEntry destIP destMask iface timeout operations
! n0/csl/ft addPrefixEntry [expr $i*4+2] 0xFFFFFFFF 0 90.0 "PUSH $i"
# addLabelEntry label iface timeout operations
# addPrefixEntry destIP destMask iface timeout operations
! n1/csl/ft addPrefixEntry [expr $i*4+3] 0xFFFFFFFF 1 90.0 "PUSH [expr
# addLabelEntry label iface timeout operations
! n2/csl/ft addLabelEntry [expr $i+3] 1 90.0 "SWAP [expr $i+3]"
! n3/csl/ft addLabelEntry [expr $i+3] 2 90.0 "POP 0"
# addPrefixEntry destIP destMask iface timeout operations
! n2/csl/ft addPrefixEntry [expr $i*4] 0xFFFFFFFF 1 90.0 "PUSH [expr
# addLabelEntry label iface timeout operations
! n3/csl/ft addLabelEntry [expr $i+6] 0 90.0 "SWAP [expr $i+6]"
! n0/csl/ft addLabelEntry [expr $i+6] 2 90.0 "POP 0"
Mis en forme : Franỗais (France)
Mis en forme : Anglais(Royaume-Uni)
# addPrefixEntry destIP destMask iface timeout operations
! n3/csl/ft addPrefixEntry [expr $i*4+1] 0xFFFFFFFF 0 90.0 "PUSH [expr
# addLabelEntry label iface timeout operations
! n0/csl/ft addLabelEntry [expr $i+9] 0 90.0 "SWAP [expr $i+9]"
! n1/csl/ft addLabelEntry [expr $i+9] 2 90.0 "POP 0"
# addPrefixEntry destIP destMask iface timeout operations
! n0/csl/ft addPrefixEntry 16 0xFFFFFFFF 1 90.0 "PUSH 13"
# addLabelEntry label iface timeout operations
! n1/csl/ft addPrefixEntry 10 0xFFFFFFFF 1 90.0 "PUSH 13"
! n1/csl/ft addPrefixEntry 6 0xFFFFFFFF 1 90.0 "PUSH 3"
# Added by Nguyen Phan Quang 25-09
#End of addition set EF 0 set AF 1 set BE 2 puts "Des variables " foreach i {0 1 2 3} { set sourceF$i n[expr $i+4]
# puts "sourceF$i ==> n[expr $i+4]" foreach j {0 1 2} { if {$i > 1} {set destF$i$j [expr $i+2+$j*4] } {set destF$i$j [expr
The configuration of traffic sources is initiated by creating directories for various traffic models, including OnOff, Poisson, and ParetoOnOff Each model is assigned a unique identifier, and the time period for the source is set to -1.
# For testing only set Trace_n [mkdir source_Trace Trace_n]
[! Trace_n] set [! n4] 16 "Verbose_Aladdin_duy2.dat" 256 false [! Trace_n] setParam 16 $timePeriodSource0 $BE set OnOff_n [mkdir source_OnOff OnOff_n]
[! OnOff_n] set [! n4] 16 [! OnOff_n] setParam 17 $timePeriodSource0 $AF [! OnOff_n] setOnOffParam 56 221184 0.01 0.06
###### Source [! OnOff_0] set [! $sourceF0] $destF00 [! OnOff_0] setParam 0 $timePeriodSource0 $EF [! OnOff_0] setOnOffParam 128 13072 0.01 0.06
[! Poisson_0] set [! $sourceF0] $destF01 [! Poisson_0] setParam 1 $timePeriodSource0 $BE [! Poisson_0] setPoissonParam 128 24576
[! ParetoOnOff_0] set [! $sourceF0] $destF02 [! ParetoOnOff_0] setParam 2 $timePeriodSource0 $BE [! ParetoOnOff_0] setParetoOnOffParam 56 122880 0.01 0.06 3
[! Trace_0] set [! $sourceF0] $destF02 "Verbose_Jurassic_duy3.dat" 256 false
[! OnOff_1] set [! $sourceF1] $destF10 [! OnOff_1] setParam 4 $timePeriodSource1 $EF
[! Poisson_1] set [! $sourceF1] $destF11 [! Poisson_1] setParam 5 $timePeriodSource1 $AF
[! ParetoOnOff_1] set [! $sourceF1] $destF12 [! ParetoOnOff_1] setParam 6 $timePeriodSource1 $BE
[! Trace_1] set [! $sourceF1] $destF12 "Verbose_Aladdin_duy2.dat" 128 false [! Trace_1] setParam 7 $timePeriodSource1 $BE
[! OnOff_2] set [! $sourceF2] $destF20 [! OnOff_2] setParam 8 $timePeriodSource2 $EF
[! Poisson_2] set [! $sourceF2] $destF21 [! Poisson_2] setParam 9 $timePeriodSource2 $BE
[! ParetoOnOff_2] set [! $sourceF2] $destF22 [! ParetoOnOff_2] setParam 10 $timePeriodSource2 $BE
[! Trace_2] set [! $sourceF2] $destF22 "Verbose_Aladdin_duy3.dat" 128 false [! Trace_2] setParam 11 $timePeriodSource2 $AF
[! OnOff_3] set [! $sourceF3] $destF30 [! OnOff_3] setParam 12 $timePeriodSource3 $AF [! Poisson_3] set [! $sourceF3] $destF31 [! Poisson_3] setParam 13 $timePeriodSource3 $BE
[! ParetoOnOff_3] set [! $sourceF3] $destF32 [! ParetoOnOff_3] setParam 14 $timePeriodSource3 $BE
[! Trace_3] set [! $sourceF3] $destF32 "Verbose_Jurassic_duy2.dat" 128 false
[! Trace_3] setParam 15 $timePeriodSource3 $EF puts "Configuration les plotteurs " foreach j {0 1 2} { foreach i {0 1 2 3} { set plot_$j$i [mkdir ianetPlotter p$j$i]
} } for {set t 0} {$t