SlideShare ist ein Scribd-Unternehmen logo
1 von 77
Downloaden Sie, um offline zu lesen
RAPPORT DE PROJET DE FIN D’ETUDES

                       Filière

        Ingénieurs en Télécommunications


                       Option

             Ingénierie des réseaux




 Analyse des performances de MPLS
en terme de "Traffic Engineering" dans
       un réseau multiservice

                    Elaboré par :


           Oussama FOUDHAILI


                    Encadré par :

               M. Rached HAMZA

                M. Jamel SAKKA


           Année universitaire : 2004/2005
"Là où tout finira, là où tout commencera!"
                                  Confucius
Remerciements

        Je tiens tout d’abord à remercier Monsieur Rached Hamza (Sup'Com) pour
m'avoir fait l'honneur d'être mon encadreur. J'adresse également mes très vifs
remerciements à Monsieur Jamel Sakka (Tunisie Télécom) pour sa compétence, sa
patience et son esprit ouvert et dynamique.


        Je tiens naturellement à remercier aussi le cadre enseignant et le corps
administratif de Sup'Com pour m'avoir donner l'accès à une formation qui m'a permis
de m'améliorer scientifiquement et humainement.


        Une pensée amicale est adressée à mes amis Kamel Zidane et Anis Souissi
avec qui j'ai partagé le même foyer pendant trois ans et dont la présence m'a permis de
mieux vivre aussi bien les temps de stress que les temps de bonheur.


        Finalement, que tous ceux qui ne sont pas nommés ici, mais qui ont contribué
de prés ou de loin au bon déroulement de ce projet, trouvent l'assurance de ma pleine
gratitude.




                                                                       Oussama Foudhaili
Table des Matières


Introduction Générale                                                                                                        1


Capitre I : MultiProtocol Label Switching (MPLS)                                                                             3

 Introduction.................................................................................................................3
 1 Principe de fonctionnement de MPLS .....................................................................3
 2 Les labels .................................................................................................................5
 3 Pile de labels (Label Stack) .....................................................................................7
 4 Concepts relatifs à la distribution de labels .............................................................8
   4.1 Contrôle de distribution des labels ....................................................................8
   4.2 Distribution et gestion des labels ......................................................................8
   4.3 Conservation des labels .....................................................................................9
   4.4 Espace de labels (Label Space) .........................................................................9
   4.5 Création des labels ..........................................................................................10
   4.6 Modes de fonctionnement de quelques protocoles de distribution de label....11
 5 Les applications de MPLS .....................................................................................12
   5.1 Any Transport over MPLS (AToM) ...............................................................13
   5.2 Le support des réseaux privés virtuels (MPLS VPN) .....................................13
   5.3 Le support de la qualité de service (MPLS QoS)............................................15
   5.4 Le Traffic Engineering (MPLS TE) ................................................................15
 Conclusion................................................................................................................15

Chapitre II : MPLS Traffic Engineering (MPLS TE)                                                                           16

 Introduction...............................................................................................................16
 1 Les motivations du Traffic Engineering ................................................................16
 2 Calcul et établissement des "MPLS TE LSP" .......................................................19
 3 Resource ReSerVation Protocol - Traffic Engineering (RSVP TE)......................20
   3.1 Les messages RSVP TE ..................................................................................21
     3.1.1 Les types de messages RSVP TE..............................................................21
     3.1.2 Le format des messages RSVP TE ...........................................................21
     3.1.3 Le format des objets RSVP TE.................................................................22
     3.1.4 Le format des messages Path et Resv .......................................................23
   3.2 Le fonctionnement de RSVP TE.....................................................................24
     3.2.1 L'établissement et la maintenance des chemins ........................................24
     3.2.2 La suppression des chemins ......................................................................27
     3.2.3 La signalisation des erreurs.......................................................................28
 4 Constraint-based Routing over Label Distribution Protocol (CR-LDP) ...............28
   4.1 Les messages CR-LDP....................................................................................28
   4.2 Le fonctionnement de CR-LDP.......................................................................29
 Conclusion................................................................................................................30




                                                            -i-
Capitre III : Implémentation et simulation des fonctionnalités de MPLS TE                                                 31

 Introduction...............................................................................................................31
 1 La qualité de service ..............................................................................................31
   1.1 Bande Passante (Bandwidth)...........................................................................31
   1.2 Perte en paquets (Paquet Loss)........................................................................32
   1.3 Délai de bout en bout (End to End Delay) ......................................................32
   1.4 Gigue (Jitter) ...................................................................................................33
   1.5 Les exigences des différentes applications IP en terme de QoS .....................34
 2 L'environneme nt de simulation..............................................................................35
   2.1 L'intérêt d’utiliser un simulateur .....................................................................35
   2.2 Présentation de NS2 ........................................................................................35
   2.3 Fonctionnement de NS2 ..................................................................................36
   2.4 Les modifications à apporter à NS2 ................................................................38
   2.5 Avantages, limites et difficultés de NS2 .........................................................39
 3 Simulation des fonctionnalités de MPLS TE.........................................................40
   3.1 Le scénario de simulation................................................................................40
   3.2 Résultats de la simulation et interprétations ....................................................42
     3.2.1 "Bande passante" et "Taux de perte en paquets" ......................................43
     3.2.2 "Délai de bout en bout " et "Gigue"...........................................................48
 Conclusion................................................................................................................52

Chapitre IV : Evaluation des performances de MPLS TE sur le backbone de "Tunisie
              Télécom"                                                         53

 Introduction...............................................................................................................53
 1 Description du backbone MPLS de Tunisie Télécom...........................................53
   1.1 Définition de Backbone ...................................................................................53
   1.2 Structure du backbone de Tunisie Télécom....................................................54
 2 Simulation et résultats............................................................................................57
   2.1 Scénario de la simulation ................................................................................57
   2.2 Résultats et interprétations ..............................................................................58
     2.2.1 Estimation des charges des liens constituant le backbone ........................58
     2.2.2 Estimation du délai ...................................................................................61
     2.2.3 Estimation du taux de perte.......................................................................63
 Conclusion................................................................................................................63

Conclusion générale                                                                                                      65


Références                                                                                                                67




                                                           - ii -
Table des figures

Figure 1.1 : Exemple d'un réseau MPLS .......................................................................3
Figure 1.2 : l'encapsulation MPLS dans différentes technologies .................................6
Figure 1.3 : Format du shim MPLS ...............................................................................6
Figure 1.4 : Pile de labels...............................................................................................7
Figure 1.5 : Unsolicited downsteam ..............................................................................8
Figure 1.6 : Downsteam-on-demand ..............................................................................9
Figure 1.7 : MPLS VPN...............................................................................................14
Figure 2.1 : Le routage classique .................................................................................16
Figure 2.2 : Le Traffic Engineering selon MPLS ........................................................18
Figure 2.3 : L'encapsulation des messages RSVP TE..................................................21
Figure 2.4 : Format des messages RSVP TE ...............................................................22
Figure 2.5 : Format des objets RSVP TE.....................................................................22
Figure 2.6 : Format du Path message ...........................................................................23
Figure 2.7 : Format du Resv message ..........................................................................23
Figure 2.8 : Path et Resv messages, lors de l' établissement de chemin .......................26
Figure 2.9 : Etablissement d'un CR-LDP LSP.............................................................29
Figure 3.1 : Illustration du concept de bande passante ................................................31
Figure 3.2 : Illustration du concept de délai de bout en bout.......................................32
Figure 3.3 : Illustration du concept de la gigue ...........................................................34
Figure 3.4 : Les étapes d’une simulation sur NS2 .......................................................37
Figure 3.5 : La topologie de simulation visualisée par NAM ......................................41
Figure 3.6 : Bande Passante .........................................................................................43
Figure 3.7 : Taux de paquets perdus ............................................................................43
Figure 3.8 : Situation du trafic entre les instants 0.2s et 6s .........................................44
Figure 3.9 : Situation du trafic entre les instants 6s et 7s ............................................44
Figure 3.10 : Situation du trafic entre les instants 7s et 9s ..........................................45
Figure 3.11 : Situation du trafic entre les instants 9s et 11s ........................................46
Figure 3.12 : Situation du trafic entre les instants 11s et 13s ......................................46
Figure 3.13 : Situation du trafic entre les instants 13s et 15s ......................................47
Figure 3.14 : Délai de bout en bout ..............................................................................48
Figure 3.15 : Gigue relatif au trafic TR .......................................................................48



                                                          - iii -
Figure 3.16 : Gigue relatif au trafic HP .......................................................................49
Figure 3.17 : Gigue relatif au trafic BE .......................................................................49
Figure 3.18 : Zoom relatif à la courbe de gigue...........................................................50
Figure 3.19 : Zoom relatif à la courbe de délai entre les instant 8.5s et 8.85s.............51
Figure 4.1 : La structure du backbone de Tunisie Télécom.........................................54
Figure 4.2 : La disposition géographique du backbone de Tunisie Télécom ..............55
Figure 4.3 : Backbone de Tunisie Télécom .................................................................55
Figure 4.4 : le backbone tel que généré par NS2 .........................................................57
Figure 4.5 : Occupation des liens (mode IP classique ) ................................................59
Figure 4.6 : Occupation des liens (mode MPLS TE) ...................................................59
Figure 4.7 : Exemple de route IP .................................................................................60
Figure 4.8 : Exemple de route MPLS TE ....................................................................61
Figure 4.9 : Délai normalisé par le nombre de saut .....................................................62
Figure 4.10 : Le taux de perte ......................................................................................63




                                     Liste des tableaux


Tableau 1.1 : Modes de fonctionnement de quelques protocoles de distribution de
                   label........................................................................................................12
Tableau 2.1 : Les messages RSVP TE.........................................................................21
Tableau 3.1 : Les exigences des différentes applications IP en terme de QoS ............34
Tableau 3.2 : Les flux considérés dans la simulation ..................................................41
Tableau 3.3 : Timing de la simulation .........................................................................42
Tableau 4.1 : Descriptif des liens raccordés au backbone ...........................................56
Tableau 4.2 : L'occupation des liens ............................................................................59




                                                            - iv -
Acronymes

ACK      acknowledgment
ATM      Asynchronous Transfer Mode
AToM     Any Transport over MPLS
AWK      Aho, Weinberger et Kernighahn
BE       Best effort (acronyme propre à ce rapport)
BGP      Border Gateway Protocol
CBR      Constant Bit Rate
CPU      Central Processing Unit
CR-LDP   Constraint-based Routing over Label Distribution Protocol
CR-LSP   Constraint-based Routing-LSP
CSPF     Constrained Shortest Path First
EoIP     Everything over IP
ER-LSP   Explicit Routing -LSP
FEC      Forwarding Equivalence Class
FR       Frame Relay
FTP      File Transfer Protocol
GCC      GNU C/C++
GMPLS    Generalized MPLS
HP       Haute Priorité (acronyme propre à ce rapport)
HTTP     HyperText Transfer Protocol
ICMP     Internet Control Message Protocol
IETF     Internet Engineering Task Force
IGP      Interior Gateway Protocol
IP       Internet Protocol
IS-IS    Intermediate System-to-Intermediate System
ISP      Internet Service Provider
LAN      Local Area Network
LDP      Label Distribution Protocol
LER      Label Edge Router
LSP      Label Switched Path
LSR      Label Switch Router
MAC      Media Access Control
MNS      MPLS Network Simulator
MPLS     MultiProtocol Label Switching
NGN      Next Generation Networks
NS2      Network Simulator 2
OSPF     Open Shortest Path First
OTCL     Object-oriented Tcl


                            -v -
PHOP      Previous Hop
PIM       Protocol Independent Multicast
PPP       Point-to-Point Protocol
QoS       Quality of Service
RIP       Routing Information Protocol
RSVP TE   Resource ReSerVation Protocol - Traffic Engineering
SDH       Synchronous Digital Hierarchy
SONET     Synchronous Optical NETwork
SPF       Shortest Path First
STM-x     Synchronous Transport Module level x
TCL       Tool Command Langage
TCP       Transport Control Protocol
TDP       Tag Distribution Protocol
TE        Traffic Engineering
TR        Temps Réel (acronyme propre à ce rapport)
TTL       Timt to live
UDP       User Datagram Protocol
VCI       Virtual Channel Identifier
VoIP      Voice over IP
VPI       Virtual Path Identifier
VPN       Virtual Private Network
WAN       Wide Area Network
WFQ       Weighted Fair Queuing




                            - vi -
Introduction générale


                             Introduction Générale
        La toile Internet connaît actuellement un développement vertigineux. Ce qui a fait de
IP un protocole presque universel. Le succès de ce dernier repose sur sa grande simplicité
puisqu'il se base sur le modèle Best Effort. Toutefois, ce même point qui a fait sa force,
constitue actuellement sa faiblesse. Car le modèle Best Effort a montré ses limites face aux
nouveaux besoins des applications, puisque la demande s'est diversifiée (data, voix, vidéo,
etc.) et les services sont de plus en plus gourmands en ressources. Les nouvelles applications
exigent aujourd'hui de complexifier les réseaux et de prendre en compte les spécifications
propres à chacune d'elles pour qu'elles puissent fonctionner correctement. En, d'autres termes,
il est primordial d'instaurer la notion de la Qualité de Service (QoS) dans les réseaux télécom.


        La réponse à la question de QoS a été pour longtemps ATM. Car l'aspect non connecté
de IP rend difficile d'envisager de lui intégrer des services temps réel.


        D'un autre côté, les réseaux IP ont pris une ampleur tellement grande qu'on ne peut
plus envisager de créer une architecture nouvelle répondant aux besoins de QoS. Et même
l'association IP/ATM a montré ses limites. La solution est alors de définir des mécanismes
complémentaires au fonctionnement de IP de base, permettant de prendre en compte les
exigences propres de chaque type de service. Ceci quitte à introduire une complexité
supplémentaire au fonctionnement de IP.


        C'est là que MPLS s'est imposé comme une solution leader. MPLS a réussi à
conjuguer la simplicité de IP avec l'efficacité d'ATM dans la gestion du multiservice.


        MPLS fait également partie d’un mouvement d’ensemble vers les NGN (Next
Generation Networks) dont le but est de réaliser la convergence voix/données dans une
perspective générale de "tout IP" (EoIP : Everything over IP).


        MPLS constitue aussi une alternative à la commutation de circuit, encore largement
utilisée en téléphonie. Ce type de commutation présente l'inconvénient de générer un
gaspillage évident de ressources, puisque c'est une technique à ressources dédiées. MPLS
remédie à ce problème en mettant en œuvre des mécanismes permettant de faire passer du
trafic haute exigence, tel que la voix, dans un réseau à ressources partagées, sans pour autant


                                                -1-
Introduction générale


dégrader sa qualité. On peut ainsi passer outre la technique de commutation de circuit et
utiliser la commutation de paquet/label. Le réseau sera alors utilisé d'une façon plus optimale,
ce qui constitue un gain économique pour les opérateurs et les fournisseurs de services.


        De plus, avoir à gérer un seul réseau est très important pour un opérateur vu que ça lui
permet de réduire ses coûts. D'autant plus que migrer vers les réseaux MPLS n'est pas très
coûteux puisqu'il existe des solutions qui n'exigent pas de changer tous les équipements : on
peut juste patcher les routeurs déjà installés.


        Dans ce rapport, on va s'intéresser à l'étude de MPLS et en particulier à l'application
"Traffic Engineering (TE)". Les chapitres I et II seront consacrés à une vue théorique de ces
deux concepts. Ensuite, on décrira, dans le chapitre III, l'implémentation et les simulations qui
ont permis d'analyser les performances de MPLS TE sur les réseaux multiservice. Pour enfin
essayer d'évaluer l'apport du Trafic Engineering sur le backbone national de Tunisie Télécom.




                                                  -2-
Chapitre I : MultiProtocol Label Switching


                                   Chapitre I :
                          MultiProtocol Label Switching
                                    (MPLS)
     Introduction
             Précisons dès à présent que MPLS est davantage une architecture qu'un protocole ou
     un modèle de gestion. Ainsi, l'architecture MPLS est composée d'un certain nombre de
     protocoles et de mécanismes définis, ou en cours de définition.
             Nous allons, le long de ce premier chapitre, faire le tour de la technologie MPLS.
     Nous commencerons par expliquer son principe de fonctionnement. Nous détaillerons ensuite
     les concepts relatifs aux labels et à leurs distributions. Nous finirons par donner un aperçu des
     applications que MPLS permet de réaliser.


     1 Principe de fonctionnement de MPLS

                      Ingress LER
         12.3.2.125

Site 1
                      LER      L=18
                                                         LSR
                                                                                   L=3           12.3.2.125
                                                                            LSR                               Site 2
                                    LSR               Domaine                             LER
                                                                                                Egress LER
                                            L=21       MPLS          L=42

                                                        L=10921
                            LSR
                                               LSR                    LSR




                                          Figure 1.1 : Exemple d'un réseau MPLS


     Un réseau MPLS est constitué de deux types d'équipements :
         •   LSR (Label Switch Router) : c'est un équipement de type routeur, ou commutateur qui
             appartient à un domaine MPLS.




                                                        -3-
Chapitre I : MultiProtocol Label Switching


    •   LER (Label Edge Router) : c'est un LSR qui fait l'interface entre un domaine MPLS
        et le monde extérieur. En général, une partie de ses interfaces supportent le protocole
        MPLS et l'autre un protocole de type IP. Il existe deux types de LER :

        -   Ingress LER : c'est un routeur qui gère le trafic qui entre dans un réseau MPLS.
        -   Egress LER : c'est un routeur qui gère le trafic qui sort d'un réseau MPLS.

        Avant d'examiner le fonctionnement d'un réseau MPLS, on va passer en revu le
principe d'acheminement des paquets dans un réseau IP classique et ainsi pouvoir faire une
comparaison des deux techniques.
        Dans un réseau IP classique, il y a mise en oeuvre d'un protocole de routage (RIP,
OSPF, IS-IS, etc.) Ce protocole sera exécuté indépendamment par chaque nœud. A la
convergence du protocole de routage, chaque nœud aura une vision plus ou moins complète
du réseau et pourra du coup calculer une table de routage contenant l'ensemble des
destinations. Chaque destination sera associée à un "prochain saut" ou "Next Hop".


        Voyant maintenant le cas d'un réseau MPLS : La mise en œuvre de MPLS repose sur
la détermination de caractéristiques communes à un ensemble de paquets et dont dépendra
l'acheminement de ces derniers. Cette notion de caractéristiques communes est appelée
Forwarding Equivalence Class (FEC). Une FEC est la représentation d’un ensemble de
paquets qui partagent les mêmes caractéristiques pour leur transport.
    -   Le routage IP classique distingue les paquets en se basant seulement sur les adresses
        des réseaux de destination (préfixe d’adresse).
    -   MPLS constitue les FEC selon de nombreux critères : adresse destination, adresse
        source, application, QoS, etc.


    Quand un paquet IP arrive à un ingress LER, il sera associé à une FEC. Puis, exactement
comme dans le cas d'un routage IP classique, un protocole de routage sera mis en œuvre pour
découvrir un chemin jusqu'à l'egress LER (Voir Figure 1.1, les flèches rouges). Mais à la
différence d'un routage IP classique cette opération ne se réalise qu'une seule fois. Ensuite,
tous les paquets appartenant à la même FEC seront acheminés suivant ce chemin qu'on
appellera Label Switched Path (LSP). Ainsi on a eu la séparation entre fonction de routage et
fonction de commutation : Le routage se fait uniquement à la première étape. Ensuite tous les




                                              -4-
Chapitre I : MultiProtocol Label Switching


paquets appartenant à la même FEC subiront une commutation simple à travers ce chemin
découvert.
    Pour que les LSR puissent commuter correctement les paquets, le Ingress LER affecte une
étiquette (appelée aussi Label) à ces paquets (label imposition ou label pushing). Ainsi, si on
prend l'exemple de la figure 1.1, Le LSR1 saura en consultant sa table de commutation que
tout paquet entrant ayant le label L=18 appartient à la FEC tel et donc doit être commuté sur
une sortie tel en lui attribuant un nouveau label L=21 (label swapping). Cette opération de
commutation sera exécuter par tous les LSR du LSP jusqu'à aboutir à l'Egress LER qui
supprimera le label (label popping ou label disposition) et routera le paquet de nouveau dans
le monde IP de façon traditionnelle.
L'acheminement des paquets dans le domaine MPLS ne se fait donc pas à base d'adresse IP
mais de label (commutation de label).


        Il est claire qu'après la découverte de chemin (par le protocole de routage), il faut
mettre en œuvre un protocole qui permet de distribuer les labels entre les LSR pour que ces
derniers puissent constituer leurs tables de commutation et ainsi exécuter la commutation de
label adéquate à chaque paquet entrant. Cette tâche est effectuée par "un protocole de
distribution de label" tel que LDP ou RSVP TE. Les protocoles de distribution de label seront
repris plus loin dans un paragraphe à part.


        Les trois opérations fondamentales sur les labels (Pushing, swapping et popping) sont
tout ce qui est nécessaire pour MPLS. Le Label pushing/popping peuvent être le résultat d'une
classification en FEC aussi complexe qu'on veut. Ainsi on aura placé toute la complexité aux
extrémités du réseau MPLS alors que le cœur du réseau exécutera seulement la fonction
simple de label swapping en consultant la table de commutation.


2 Les labels
        Un label a une signification d'identificateur local d'une FEC entre 2 LSR adjacents et
mappe le flux de trafic entre le LSR amont et le LSR aval.
        La figure 1.2, illustre la mise en œuvre des labels dans différentes technologies. Ainsi,
MPLS fonctionne indépendamment des protocoles de niveau 2 (ATM, FR, etc.) et des
protocoles de niveau 3 (IP, etc.). C'est ce qui lui vaut son nom de "MultiProtocol Label
Switching".


                                              -5-
Chapitre I : MultiProtocol Label Switching



                      PPP           En-tête PPP                 Shim MPLS                En-tête couche 3
  (Packet over SONET/SDH)


                     Ethernet     En-tête Ethernet              Shim MPLS                En-tête couche 3

                 Frame Relay          En-tête FR                Shim MPLS                En-tête couche 3

                       ATM      GFC         VPI             VCI        PTI CLP           HEC     DATA


                                                   Label


                       Figure 1.2 : l'encapsulation MPLS dans différentes technologies


        Dans le cas ATM, MPLS utilise les champs VPI (Virtual Path Identifier) et VCI
(Virtual Channel Identifier) comme étant un label MPLS.
        Dans les autres cas, MPLS insère un en-tête (32 bits) entre la couche 2 et la couche 3
appelé shim MPLS. La figure 1.3 illustre le format d'un shim MPLS :


      00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

                                 LABEL                                EXP    S            TTL

                                      Figure 1.3 : Format du shim MPLS


LABEL (20 bits) : Contient le label.


EXP (3 bits) : Initialement réservé pour une utilisation expérimentale. Actuellement, la plus
part des implémentations utilise ce champ comme indicateur de QoS. Généralement, c'est une
copie du champ PRECEDENCE (PPP) dans l'en-tête IP. En IP, la précédence définit la
priorité d'un paquet (0 : priorité supérieure, 7 : priorité inférieure).


S (1 bit) : Indique s'il y a empilement de labels (il est en fait commun d'avoir plus qu'un label
attaché à un paquet). Cette notion sera reprise dans le paragraphe suivant. Le bit S est à 1
lorsque le label se trouve au sommet de la pile, à 0 sinon.


TTL (8 bits) : Même signification que pour IP. Ce champ donne la limite supérieure au
nombre de routeurs qu'un paquet peut traverser. Il limite la durée de vie du paquet. Il est
initialisé à une certaine valeur, puis décrémenté de un par chaque routeur qui traite le paquet.




                                                  -6-
Chapitre I : MultiProtocol Label Switching


Lorsque ce champ atteint 0, le paquet est rejeté. L'utilisation de ce champ évite les boucles de
routage.



3 Pile de labels (Label Stack)
        Comme on l'a déjà évoqué, il est commun d'avoir plus qu'un label attaché à un paquet.
Ce concept s'appelle empilement de label. L'empilement de label permet en particulier
d'associer plusieurs contrats de service à un flux au cours de sa traversée du réseau MPLS.
Dans le cas de deux niveaux de label, on pourra relier deux réseaux d'un réseau privé au
travers d'un réseau opérateur (Voir figure 1.4), en utilisant un niveau de labels au niveau
opérateur, et un niveau de labels au niveau du réseau privé. Les LSR de frontière de réseau
auront donc la responsabilité de pousser (ou tirer) la pile de labels pour désigner le niveau
d'utilisation courant de label.




                                                                                                      10.2.0.174
       10.2.0.174

                                              Site 1                                     Site 2


        3                                                                                         1
                    9                     2


                                                                                          6



                                  4       2
                                                       Domaine MPLS
                                                                                     9    2
                                                         Opérateur




                             8        2
                                                                           6     2




                                                       7   2




                                                   Figure 1.4 : Pile de labels




                                                               -7-
Chapitre I : MultiProtocol Label Switching


         L'utilisation de plusieurs niveaux de labels permet, lors d'interconnexions de disposer
de plusieurs niveaux d'opérateurs. Chacun manipule les labels correspondant à son niveau [1].



4 Concepts relatifs à la distribution de labels
         Pour comprendre comment les LSR génèrent et distribuent les labels, on doit aborder
quelques concepts relatifs à la distribution de labels [1].


4.1 Contrôle de distribution des labels
Il existe deux modes de contrôle de distribution des labels aux LSR voisins :
    •    Mode de contrôle ordonné (Ordered control mode) :
         Dans ce mode, un LSR associe un label à une FEC particulière, si :
         ü Il s'agit d'un Egress LER ;
         ü L'assignation (l'association Label, FEC) a été reçue du LSR situé au saut suivant.
    •    Mode de contrôle indépendant (Independent control mode) :
         Dans ce mode, les LSR sont libres de communiquer les associations entre label et FEC
         à leurs voisins sans attendre de recevoir l'assignation du LSR situé au saut suivant.
         Ainsi, un LSR peut diffuser un label pour une FEC, quand bien même il n'est pas prêt
         à communiquer sur ce label.


4.2 Distribution et gestion des labels
La distribution elle-même des labels peut se faire suivant plusieurs méthodes :
    •    Descente systématique (unsolicited downstream) :
         Le LSR en aval envoie le label au LSR précédent (en amont) de manière systématique
         (sans demande explicite).
         Ainsi dans l'exemple de la figure 1.5, LSR C demande au LSR B d'utiliser le Label 53
         Pour la destination 182.65.10/24. LSR B, à son tour, demande au LSR A d'utiliser le
         label 25 pour cette même destination.


                           Utilisez le label 25 pour la           Utilisez le label 53 pour la
        182.65.10/24        destination 182.65.10/24               destination 182.65.10/24 182.65.10/24



                       LSR A                              LSR B                            LSR C
                                      Figure 1.5 : Unsolicited downsteam




                                                    -8-
Chapitre I : MultiProtocol Label Switching


    •      Descente à la demande (Downstream-on-Demand) :
           Dans ce mode, le LSR en aval envoie le label au LSR précèdent uniquement s'il a reçu
           une requête. Et ceci même s'il a déjà généré un label pour la FEC en question.

                            Utilisez le label 25 pour la           Utilisez le label 53 pour la
        182.65.10/24         destination 182.65.10/24               destination 182.65.10/24 182.65.10/24



                       LSR A                               LSR B                            LSR C


                          Demande de label pour la          Demande de label pour la
                          destination 182.65.10/24          destination 182.65.10/24

                                       Figure 1.6 : Downsteam-on-demand


4.3 Conservation des labels
Il existe deux modes que les LSR utilisent pour la conservation des labels reçus :
    •      Mode de conservation libéral (Liberal retention) :
           Dans ce mode, les LSR conservent les labels reçus de tous leurs voisins. Il permet une
           convergence plus rapide face aux modifications topologiques du réseau et la
           commutation de trafic vers d'autres LSP en cas de changement. En contre partie, ce
           mode nécessite beaucoup de mémoire.
    •      Mode de conservation conservateur (Conservative retention) :
           Dans ce mode, les LSR retiennent uniquement les labels des voisins situés sur le saut
           suivant et ignorent tous les autres. Ce mode nécessite peu de mémoire. En contre
           partie, on aura une adaptation plus lente en cas d'erreur


4.4 Espace de labels (Label Space)
    Les labels utilisés par un LSR pour l'assignation de labels à un FEC sont définis de deux
façons :
    •      Par plate-forme (per-platform label space ou global space) :
           Dans ce cas, les valeurs de labels sont uniques dans tous les équipements LSR. Les
           labels sont alloués depuis un ensemble commun de labels : de la sorte, deux labels
           situés sur des interfaces distinctes possèdent des valeurs distinctes.




                                                     -9-
Chapitre I : MultiProtocol Label Switching


   •   Par interface (per-interface label space) :
       Les domaines de valeurs des labels sont associés à une interface. Plusieurs peuvent
       être définis. Dans ce cas, les valeurs de labels fournies sur des interfaces différentes
       peuvent être identiques.
       Il est clairement stipulé qu'un LSR peut utiliser une assignation de label par interface,
       à la condition express qu'il soit en mesure de distinguer l'interface depuis laquelle
       arrive le paquet. Il risque sinon de confondre deux paquets possédant le même label,
       mais issus d'interfaces différentes.


4.5 Création des labels
   Plusieurs méthodes sont utilisées pour la création des labels, en fonction des objectifs
recherchés.
   •   Fondée sur la topologie (Topology-based) :
       Cette méthode engendre la création de labels à l’issue de l’exécution normale des
       processus de routages (comme OSPF ou BGP).
   •   Fondée sur les requêtes (Request-based) :
       Cette méthode de création de labels est déclenchée lors de l’exécution d’une requête
       de signalisation.
   •   Fondée sur le trafic (Traffic-based) :
       Cette méthode de création de labels attend la réception d’un paquet de donnée pour
       déclancher l’assignation et la distribution de labels. Le protocole IP-Switching de la
       société Ipsilon illustre cette méthode.


       La dernière méthode est un exemple de protocole fondé sur le modèle orienté données
(data-driven). Ce modèle n'a pas été retenu par MPLS. Dans ce cas, l'assignation de labels
n'est déclenchée qu'à la réception effective de paquets de données et non a priori comme en
mode control-driven. Cette méthode présente l'avantage de justifier le processus de création
de labels et de leur distribution qui se fait uniquement en présence effective d'un trafic
utilisateur. En revanche, elle a l'inconvénient d'obliger l'ensemble des routeurs du réseau à
fonctionner au départ comme des routeurs traditionnels, avec l'obligation de disposer des
fonctions de classification de paquets pour identifier les flux de trafic. En outre, il existe un
délai entre la reconnaissance d'un flux sur le réseau et la création d'un label pour ce flux.




                                                 - 10 -
Chapitre I : MultiProtocol Label Switching


Enfin, en présence d'un nombre important de flux de trafic (sur un grand réseau), le processus
de distribution de labels peut devenir complexe et lourd à gérer.


        Les deux premières méthodes exposées sont des exemples d'assignation de labels
établis à partir du modèle orienté contrôle (
                                            control-driven), à savoir qu'à l'inverse du modèle
précédent, les labels sont assignés et distribués préalablement à l'arrivée des données de trafic
de l'utilisateur. C'est le modèle retenu et utilisé par MPLS.


Voici les principaux protocoles de distribution de labels envisagés :


    •   TDP (Tag Distribution Protocol) : Prédécesseur de LDP.
    •   LDP (Label Distribution Protocol) : Protocole créé spécifiquement.
    •   BGP (Border Gateway Protocol) : Amélioration de BGP pour la distribution des
        labels
    •   PIM (Protocol Independent Multicast) : Amélioration de PIM pour la distribution des
        labels
    •   CR-LDP (Constraint-based Routing LDP) : Amélioration de LDP
    •   RSVP TE (Ressource ReSerVation Protocol Traffic Engineering) : Amélioration de
        RSVP


    Les quatre premières approches sont fondées sur la topologie (Topology-based). Les deux
dernières approches sont fondées sur les requêtes (Request-based). Et ce sont ces deux
protocoles de distribution de labels qui sont utilisés pour le MPLS Traffic Engineering. On va
les revoir plus en détail dans le chapitre II et on va consacrer notre étude pratique à la
simulation du protocole RSVP TE.


4.6     Modes de fonctionnement de quelques protocoles de
        distribution de label

        Le tableau [3] ci-dessous présente quelques protocoles de distribution de labels et
leurs modes de fonctionnements respectifs :




                                                - 11 -
Chapitre I : MultiProtocol Label Switching



Protocole de
                                                                                  Espace de
distribution        Contrôle           Distribution           Conservation                             Création
                                                                                     label
  de label
                                       Downstream                                                      Topology-
TDP et LDP         Unordered                                     Liberal         Per platform
                                        unsolicited                                                      based
TDP et LDP                            Downstream on                                                    Topology-
                     Ordered                                  Conservative       Per interface
(avec ATM)                                Demand                                                         based
                                      Downstream on                                                    Request-
 RSVP TE             Ordered                                  Conservative       Per platform
                                          Demand                                                         based
                   Unordered/       Downstream unsolicited/      Liberal/        Per platform/         Request-
 CR-LDP
                     Ordered        Downstream on Demand      Conservative       Per interface           based

               Tableau 1.1 : Modes de fonctionnement de quelques protocoles de distribution de label



 5 Les applications de MPLS
         La motivation primaire de MPLS était d'accroître la vitesse de traitement des paquets
 au niveau des nœuds intermédiaires. Cela dit, aujourd'hui MPLS offre peu sinon pas
 d'amélioration du tout dans ce sens : les routeurs actuels sont équipés avec des circuits et des
 algorithmes permettant un acheminement (forwarding) des paquets extrêmement rapide.
 Donc, traiter des paquets sur la base de label de 20 bits de MPLS n'est plus significativement
 rapide par rapport à traiter des paquets sur la base d'adresse de 32 bits de IP.

         Aujourd'hui, les motivations réelles pour déployer des solutions MPLS sont les
 applications que MPLS permet et qui étaient très difficiles voire impossibles à mettre en
 œuvre avec IP traditionnel. Ces applications sont très importantes pour les opérateurs et les
 ISP (Internet Service Provider), tout simplement parce qu'elles peuvent être vendues

         Il existe aujourd'hui quatre applications majeures de MPLS. Ces applications
 supposent la mise en œuvre de composants adaptés aux fonctionnalités recherchées.
 L'implémentation de MPLS sera donc différente en fonction des objectifs recherchés. Cela se
 traduit principalement par une façon différente d'assigner et de distribuer les labels
 (Classification, protocoles de distribution de labels). Le principe d'acheminement des paquets
 fondé sur l'exploitation des labels étant le mécanisme de base commun à toutes les approches.



                                                     - 12 -
Chapitre I : MultiProtocol Label Switching



Les principales applications de MPLS concernent :
    •   Any Transport over MPLS (AToM) ;
    •   Le support des réseaux privés virtuels (MPLS VPN, Virtual Private Network) ;
    •   Le support de la qualité de service (MPLS QoS) ;
    •   Le Traffic Engineering (MPLS TE).


5.1 Any Transport over MPLS (AToM)
        Ce service traduit l'indépendance de MPLS vis-à-vis des protocoles de couches 2 et 3.
AToM est une application qui facilite le transport du trafic de couche 2, tel que Frame Relay,
Ethernet, PPP et ATM, à travers un nuage MPLS [3].


5.2 Le support des réseaux privés virtuels (MPLS VPN)
    Un réseau privé virtuel (VPN) simule le fonctionnement d'un réseau étendu (WAN) privé
sur un réseau public comme Internet. Afin d'offrir un service VPN fiable à ses clients, un
opérateur ou un ISP doit alors résoudre deux problématiques essentielles :
    •   Assurer la confidentialité des données transportées ;
    •   Prendre en charge des plans d'adressage privé, fréquemment identiques.


La construction de VPN repose alors sur les fonctionnalités suivantes :
    •   Systèmes de pare-feu (Firewall) pour protéger chaque site client et permettre une
        interface sécurisée avec Internet ;
    •   Système    d'authentification   pour    vérifier   que   chaque   site   client   échange   des
        informations avec un site distant valide ;
    •   Système de cryptage pour empêcher l'examen ou la manipulation des données lors du
        transport sur Internet ;
    •   Tunneling pour permettre un service de transport multiprotocole et l'utilisation de
        plans d'adressage privés


    MPLS permet de résoudre efficacement la fonctionnalité de tunneling, dans la mesure où
l'acheminement des paquets n'est pas réalisé sur l'adresse de destination du paquet IP, mais
sur la valeur du label assigné au paquet [1]. Ainsi, un ISP peut mettre en place un VPN, en
déployant un ensemble de LSP pour permettre la connectivité entre différents sites du VPN


                                                - 13 -
Chapitre I : MultiProtocol Label Switching


d'un client donné. Chaque site du VPN indique à l'ISP l'ensemble des préfixes (adresses)
joignables sur le site local. Le système de routage de l'ISP communique alors cette
information vers les autres sites distants du même VPN, à l'aide du protocole de distribution
de labels. En effet, l'utilisation d'identifiant de VPN permet à un même système de routage de
supporter multiples VPN, avec un espace d'adressage éventuellement identique. Ainsi, chaque
LER place le trafic en provenance d'un site dans un LSP fondé sur une combinaison de
l'adresse de destination du paquet et l'appartenance à un VPN donné.
                                              VPN 2



                                               LER
                                                                                VPN 1
                                                                        LER
             VPN 2
                      LER




                                                                                VPN 2
                                                                       LER
             VPN 1
                        LER


                                               LER

                                              VPN 1


                                      Figure 1.7 : MPLS VPN


        Il existe une autre approche permettant de mettre en œuvre des VPN sur les réseau IP :
IPSec. IPSec privilégie la sécurisation des flux d'information par encryptage des données,
alors que MPLS se concentre plutôt sur la gestion de la qualité de service et la priorité des
flux.
        Le problème de sécurité dans MPLS VPN est minimal dans le cas où le réseau est
propriétaire (non Internet). Cependant, si cette garantie n'est pas suffisante, il existe des
solutions qui permettent d'utiliser en même temps MPLS et IPSec [2] et ainsi construire des
VPN disposant des avantages des deux approches en même temps : la souplesse de MPLS et
la sécurisation de IPSec.




                                            - 14 -
Chapitre I : MultiProtocol Label Switching


5.3 Le support de la qualité de service (MPLS QoS)
        Le support de la QoS peut être mise en œuvre de deux façons sur MPLS [1] :
    •   Les trafics sur un même LSP peuvent se voir affecter à différentes files d'attente dans
        les routeurs LSR, selon la valeur du champ EXP de l'en-tête MPLS (Voir Figure 1.3).
        Le principe du champ EXP dans MPLS est le même que le champ Precedence (PPP)
        dans IP (Voir plus haut le détail de ce champ).
    •   L'utilisation du Traffic Engineering,



5.4 Le Traffic Engineering (MPLS TE)
        Cette application est en étroite relation avec la Qualité de Service, puisque sont
résultat immédiat est l'amélioration de paramètres tel que le délai ou la gigue dans le réseau.
Elle est tout de même considérée comme une application à part entière par la plupart des
industriels. Ceci vient du fait que MPLS TE n'est pas une simple technique de réservation de
ressources pour les applications réseau. C'est un concept plus global qui se veut être une
solution qui vise à augmenter les performances générales du réseau en jouant sur la répartition
équilibrée des charges (trafics) dans le réseau pour ainsi avoir une utilisation plus optimale
des liens.
    Le Traffic Engineering va être repris d'une façon théorique dans le chapitre II, puis à
travers les simulations dans les chapitres III et IV.


Conclusion
        Même si le temps de routage n’est plus l’intérêt de cette technologie, MPLS est
toujours très favorable pour s'imposer dans le monde des réseaux.
        Les offres MPLS au niveau de la qualité de service, de VPN ou de Traffic Engineering
assureront à ce protocole un succès tant au près des utilisateurs que des opérateurs et
fournisseurs de services. Son succès vient également du fait qu’il ne remet pas en cause les
protocoles existants de niveau 2 et 3.
        Dans le chapitre qui va suivre, on va s'approfondir dans la notion de Traffic
Engineering et voir comment MPLS traite ce concept.




                                                 - 15 -
Chapitre II : MPLS Traffic Engineering


                              Chapitre II :
                         MPLS Traffic Engineering
                               (MPLS TE)

Introduction
          Dans ce chapitre, on va commencer par expliquer la notion de Traffic Engineering et
les améliorations qu'il permet d'apporter à l'utilisation du réseau. Ensuite, on va aborder les
mécanismes et protocoles qui permettent de mettre en œuvre des solutions MPLS TE dans un
réseau.


1 Les motivations du Traffic Engineering


                                                  Le chemin le plus court


                       R1
                                                               R5
                                 Coût : 15
                                                                                       R6
                                      R2                              Coût : 15
                                                   Coût : 15

                         Coût : 15                                         Coût : 15
                    R7                        Coût : 15

                                                      R3                               R4
                                                               Coût : 15



                                     Figure 2.1 : Le routage classique


Dans la figure 2.1, Il existe deux chemins pour aller de R2 à R6 :
    •     R2 à R5 à R6
    •     R2 à R3 à R4 à R6


          En IP classique, Le protocole de routage (OSPF, IS-IS, etc.) va se baser sur le critère
du plus court chemin [3]. Et puisque tous les liens ont le même coût (15), les paquets venant
de R1 ou R7 est qui sont destinés à R6 vont tous suivre le même chemin (R2 à R5 à R6).



                                                - 16 -
Chapitre II : MPLS Traffic Engineering


        Ceci peut conduire à quelques problèmes : supposant que tous les liens de la figure 2.1
supportent une bande passante de 150Mbps. Et supposant que R envoie en moyenne 90Mbps
                                                            1
à R6. Le protocole de routage va faire de sorte que ce trafic utilise le plus court chemin, soit
R2 à R5 à R6. Si maintenant R7 veut envoyer 100Mbps à R6. La même procédure de
routage fera que ce trafic utilisera aussi le chemin e plus court. En final, on aura deux trafics
                                                     l
de 190Mbps en total qui veulent tous deux utiliser le chemin le plus court (R2 à R5 à R6),
alors que ce chemin ne peut supporter que 150Mbps. Ceci va induire des files d'attente et des
pertes de paquets. Cet exemple est un cas explicite de sous utilisation des ressources du
réseau vu que réellement, il existe un chemin dans le réseau qui n'est pas exploité et que son
utilisation aurait permis de satisfaire les deux trafics.


        Comment peut on alors résoudre ce problème? Avec IP classique on pourra faire de
sorte que les deux chemins aient le même coût. Cependant cette solution marche seulement
avec des réseaux de petite taille comme dans notre cas. Mais que ce passera-t-il si au lieu
d'avoir sept routeurs, on ait eu 500?

        Les réseaux ATM permettent aussi de réaliser une telle ingénierie des flux. Le
problème c'est qu'ils introduisent en parallèle une grande complexité de gestion : en effet IP et
ATM sont deux techniques réseaux totalement différentes, avec parfois des contraintes non
compatibles.

        Contrairement aux solutions IP et ATM, MPLS va permettre une simplification
radicale de l'intégration de cette fonctionnalité dans les réseaux.



        MPLS TE permet à l'ingress LER de contrôler le chemin que son trafic va emprunter
pour atteindre une destination particulière. Ce concept est connu sous le nom de "Explicit
Routing". Cette méthode est plus flexible que l'acheminement du trafic basé seulement sur
l'adresse destination. MPLS TE réserve de la bande passante en construisant les LSP. Ainsi
dans la topologie de la figure 2.2, LSR2 a la possibilité de construire deux LSP (Tunnel1 et
Tunnel2) relatifs aux chemins :
    •   LSR2 à LSR5 à LSR6
    •   LSR2 à LSR3 à LSR4 à LSR6




                                                  - 17 -
Chapitre II : MPLS Traffic Engineering


    Les LSP ainsi construits sont appelés MPLS TE LSP ou TE tunnels. On s'approfondira
dans les mécanismes de création des MPLS TE LSP dans le paragraphe 2.
                                                         Tunnel1


                   R1
                                                          LSR5
                             Coût : 15                                                 LSR6
                                   LSR2                             Coût : 15
                                                  Coût : 15

                     Coût : 15                                            Coût : 15
                R7
                                             Coût : 15

                                                  LSR3                                LSR4
                                                              Coût : 15




                                                              Tunnel2

                                 Figure 2.2 : Le Traffic Engineering selon MPLS


        La souplesse de l'utilisation des labels dans MPLS TE permet de profiter des
avantages suivants :
    •   Le routage des chemins primaires autour de points de congestion connus dans le
        réseau (le contournement de la congestion) ;
    •   Le contrôle précis du re-routage de trafic, en cas d'incident sur le chemin primaire.
        (On sous-entend par re-routage : la modification du LSP en cas d'erreur (routeur en
        panne, manque de ressources)) ;
    •   Un usage optimal de l'ensemble des liens physiques du réseau, en évitant la surcharge
        de certains liens et la sous-utilisation d'autres. C'est ce qu'on appelle l'équilibrage des
        charges ou load balancing.


        Le Traffic Engineering permet ainsi d'améliorer statistiquement les paramètres de QoS
(Taux de perte, délai, gigue, etc.)


        Un exemple concret de Traffic Engineering est qu'il est possible de définir plusieurs
LSP entre chaque couple de LER. Chaque LSP peut être conçu (grâce aux techniques de
Traffic Engineering) pour fournir différentes garanties de bande passante ou de performances.


                                                   - 18 -
Chapitre II : MPLS Traffic Engineering


Ainsi, l'ingress LER pourra placer le trafic prioritaire dans un LSP, le trafic de moyenne
priorité dans un autre LSP et enfin le trafic best effort dans un troisième LSP.


2 Calcul et établissement des "MPLS TE LSP"
        Dans un protocole de routage à état de lien (tel que OSPF ou IS-IS), chaque routeur
connaît tous les routeurs du réseau et les liens qui connectent ces routeurs.
Aussi tôt qu'un routeur se fait une idée de la topologie du réseau, il exécute le "Dijkstra
Shortest Path First algorithm" (SPF) pour déterminer le plus court chemin entre lui-même et
tous les autres routeurs du réseau (Construction de la table de routage). Etant donné que tous
les routeurs exécutent le même calcul sur les mêmes données, chaque routeur aura la même
image du réseau, et les paquets seront routés de manière cohérente à chaque saut.


        Le processus qui génère un chemin pour un "MPLS TE LSP" est différent du SPF
classique, mais pas trop. Il y a deux différences majeures entre le SPF classique, utilisée par
les protocoles de routage, et le CSPF (Constrained Shortest Path First), utilisé par MPLS TE :
    •   Le processus de détermination de chemin n'est pas conçu pour trouver le plus court
        chemin, mais il tient compte d'autres contraintes ;
    •   Il y a plus d'une métrique à chaque nœud, au lieu d'une seule comme dans le cas de
        OSPF et IS-IS.


        A remarquer que l'administrateur n'est pas obligé de passer p CSPF pour calculer un
                                                                     ar
MPTS TE LSP. Il peut manuellement imposer un chemin explicite à une FEC donnée. Dans
certaines littératures, on appelle les TE LSP calculés par des algorithmes basés sur la situation
du trafic des CR-LSP (Constraint-based Routing - LSP), et les TE LSP spécifiés
explicitement par l'administrateur des ER-LSR (Explicit Routing - LSP).


MPLS crée les LSP différemment selon qu'on utilise le Traffic Engineering ou non.


La création d'un "MPLS LSP", dans le cas non TE, suit les deux étapes suivantes :
    •   Calcul du "MPLS LSP" : Mise en œuvre de l'algorithme SPF (OSPF ou IS-IS).
    •   Etablissement du "MPLS LSP" : Mise en œuvre d'un protocole de distribution de label
        Topology-based (LDP, BGP, PIM).




                                               - 19 -
Chapitre II : MPLS Traffic Engineering


La création d'un "MPLS TE LSP" suit les deux étapes suivantes :
    •   Calcul du "MPLS TE LSP" : Mise en œuvre de l’algorithme CSPF ou intervention
        manuelle de l'administrateur pour imposer une route explicite.
    •   Etablissement du "MPLS TE LSP" : Mise en œuvre d'un protocole de distribution de
        label Request-based (RSVP TE, CR-LDP).


Après avoir calculer un chemin avec CSPF, ce chemin doit être signalé à travers le réseau, et
ceci pour deux raisons :
    •   Etablir une chaîne de labels qui représente le chemin ;
    •   Réserver les ressources nécessaires (bande passante) à travers le chemin.


        Dans ce qui suit, on va détailler l'étape de l'établissement du "MPLS TE LSP" en
examinant de prés le fonctionnement des protocoles de distribution de labels RSVP TE et CR-
LDP. On va se concentrer plus sur RSVP TE vu que l'étude pratique porte sur ce protocole.


3 Resource ReSerVation Protocol - Traffic Engineering
    (RSVP TE)
        Ce protocole [3] est originalement destiné à être un protocole de signalisation pour
IntServ (C'est un modèle de QoS où une machine demande du réseau une QoS donnée pour
un fux donné). RSVP avec quelques extensions a été adapté par MPLS pour être un protocole
   l
de signalisation qui supporte MPLS TE.


        Nous allons, dans cette partie, commencer par illustrer le format général des messages
RSVP TE. Pour enfin expliquer avec plus ou moins de détails le fonctionnement de ce
protocole.




                                               - 20 -
Chapitre II : MPLS Traffic Engineering


3.1 Les messages RSVP TE


3.1.1 Les types de messages RSVP TE
        Il existe 9 types de messages RSVP TE qui sont résumés dans le tableau 2.1.

    Type de message                                    Description
           Path            Utilisé pour l'établissement et le maintien des chemins

           Resv            Envoyé en réponse au message Path
                           Analogue au message Path, mais utilisé pour supprimer les
        PathTear
                           réservations du réseau
                           Analogue au message Resv, mais utilisé pour supprimer les
        ResvTear
                           réservations du réseau
                           Envoyé par un récepteur d'un message Path qui détecte une erreur
         PathErr
                           dans ce message
                           Envoyé par un récepteur d'un message Resv qui détecte une
         ResvErr
                           erreur dans ce message
                           Optionnellement envoyé à l'émetteur d'un message Resv pour
        ResvConf
                           confirmer qu'une réservation donnée est bien établie
                           Analogue à ResvConf. Optionnellement envoyé à l'émetteur d'un

     ResvTearConf          message ResvTear pour confirmer qu'une réservation donnée est
                           supprimée

          Hello            Envoyé entre voisins directement connectés


                                 Tableau 2.1 : Les messages RSVP TE


3.1.2 Le format des messages RSVP TE
        Un message RSVP TE est constitué d'un en-tête commun (commun Header) et d'un
nombre variable d'objets selon le type de message (voir figure 2.4).


                      En-tête MAC        En-tête IP      Message RSVP TE


                           Figure 2.3 : L'encapsulation des messages RSVP TE




                                              - 21 -
Chapitre II : MPLS Traffic Engineering



      00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

       Version      Flags          Message type                    RSVP checksum                        Common
                                                                                                         Header
            Send TTL                 Reserved                         RSVP length

                                                 Objects


                                 Figure 2.4 : Format des messages RSVP TE


Version (4 bits) : La version du protocole RSVP. La version actuelle de RSVP est 1.
Flags (4 bits) : Encore non définit.
Message Type (8 bits) :
1 = Path message                                       6 = ResvTear message
2 = Resv message                                       7 = ResvConf message
3 = PathErr message                                    10 = ResvTearConf message
4 = ResvErr message                                    20 = Hello message
5 = PathTear message
RSVP Checksum (16 bits) : Utilisé pour la détection d'erreur. Même principe que pour le
champ Chechsum de IP.
Send TTL (8 bits) : Contient la valeur du TTL, dans la paquet IP, avec lequel ce message a
été envoyé.
Reserved (8 bits) : Non utilisé.
RSVP Length (16 bits) : La longueur de message RSVP en octet, common header inclus. La
valeur de ce champ est donc toujours supérieure à 8.


3.1.3 Le format des objets RSVP TE
        Chaque message RSVP TE peut contenir plusieurs objets. Le format général d'un
objet RSVP TE est le suivant :


     00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

                    Object length                        Class-num                   C-type
                                             Object contents

                                   Figure 2.5 : Format des objets RSVP TE




                                                 - 22 -
Chapitre II : MPLS Traffic Engineering


Object Length (16 bits) : La longueur de l'objet RSVP en octet, en-tête de l'objet inclus. La
valeur de ce champ est donc toujours supérieure à 4.
Class-Num (8 bits) : La classe de l'objet.
C-Type (8 bits) : Le type de classe de l'objet.
Object Contents (longueur variable) : L'objet lui-même.


        Chaque classe a son propre espace de numéro C-Type. Par exemple, la classe
SESSION a 4 C-Types : IPv4, IPv6, LSP_TUNNEL_IPv4, et LSP_TUNNEL_IPv6. Les
numéros assignés à ces C-Types sont 1, 2, 7 et 8. LABEL_REQUEST a 3 C-Types : Without
Label Range, With ATM Label Range, and With Frame Relay Label Range. Les numéros
assignés à ces C-Types sont 1, 2, et 3. Ainsi pour identifier le contenu d'un message, on doit
prendre en compte les n
                      uméros de classe et le numéro de C-Type. On peut voir les classes et
C-Types comme une sorte du numérotation hiérarchique.


3.1.4 Le format des messages Path et Resv
En voici le format des deux principaux messages de RSVP TE ([..] : optionnel) :

            Common Header

             [INTEGRITY]
                                                                     Common Header
               SESSION                                                [INTEGRITY]

                 PHOP                                                   SESSION

            TIME_VALUES                                                   NHOP

          [EXPLICIT_ROUTE]                                           TIME_VALUES

                                                                    [RESV_CONFIRM]
          LABEL_REQUEST
                                                  Objets                 [SCOPE]
       [SESSION_ATTRIBUTE]
                                                                    [POLICY_DATA]
           [POLICY_DATA]
                                                                          STYLE
         SENDER_TEMPLATE
                                                                       FLOWSPEC
           SENDER_TSPEC                                               FILTER_SPEC

               [ADSPEC]                                                  LABEL

          [RECORD_ROUTE]                                           [RECORD_ROUTE]


   Figure 2.6 : Format du Path message                      Figure 2.7 : Format du Resv message



                                              - 23 -
Chapitre II : MPLS Traffic Engineering


        Chacun des objets contenus dans un message RSVP TE rempli une fonction de
signalisation particulière. Des exemples seront donnés dans le paragraphe suivant.



3.2 Le fonctionnement de RSVP TE
        RSVP TE est un mécanisme de signalisation utilisé pour réserver des ressources à
travers un réseau. RSVP TE n'est pas un protocole de routage. Toute décision de routage est
faite par IGP (Interior Gateway Protocol). Le seul travail de RSVP TE est de signaler et de
maintenir la réservation de ressources à travers le réseau.
RSVP TE a trois fonctions de base :
    •   L'établissement et la maintenance des chemins (Path setup and maintenance)
    •   La suppression des chemins (Path teardown)
    •   La signalisation des erreurs (Error signalling)


    RSVP TE est un "soft-state protocol". Cela veut dire qu'il a besoin de rafraîchir
périodiquement ses réservations dans le réseau. Ceci est différent des "hard-state protocol",
qui signalent leurs requêtes une seule fois et puis supposent qu'elle reste maintenue jusqu'à sa
résiliation explicite. Avec RSVP TE, une requête est résiliée si elle l'est explicitement du
réseau par RSVP TE ou si la durée de réservation expire.


3.2.1 L'établissement et la maintenance des chemins
        Bien que l'établissement et la maintenance des chemins soient des concepts très
proches et utilisent les mêmes formats de messages, toutefois, ils différent légèrement. C'est
pourquoi, on va les expliquer séparément.


    •   L'établissement des chemins


        Après que l'ingress LER (appelé aussi MPLS TE tunnel headend ou headend) ait
terminé sa procédure CSPF pour un tunnel particulier, il doit signaler le chemin trouvé à
travers le réseau. Le headend réalise cette opération en envoyant un Path message au prochain
saut (next hop) dans le chemin calculé vers la destination.
Ce Path message contient un objet EXPLICIT_ROUTE qui contient le chemin calculé par
CSPF sous la forme d'une séquence de nœuds. Le headend ajoute un objet LABEL_REQUEST
qui indique qu'une association de label est requise pour ce chemin et quel type de protocole


                                               - 24 -
Chapitre II : MPLS Traffic Engineering


réseau sera véhiculé sur ce chemin. Enfin, un objet SESSION_ATTRIBUTE peut être ajouté au
Path message pour faciliter l'identification de la session et les diagnostics.
Finalement, le Path message est acheminé vers le l'Egress LER (appelé aussi MPLS TE
tunnel tail ou tail) en suivant la route spécifiée dans l'objet EXPLICIT_ROUTE. Au fur est à
mesure de l'avancement du Path message, chaque LSR intermédiaire effectue les deux actions
suivantes :
    •   Il vérifie le format du message pour s'assurer qu'il n'est pas corrompu
    •   Il vérifie la quantité de bande passante que le Path message reçu demande en utilisant
        les informations contenues dans les objets SESSION_ATTRIBUTE, SENDER_TSPEC
        et POLICY_DATA. Ce processus est appelé "contrôle d'admission".
Si le contrôle d'admission réussit et le Path message est autorisé à réserver la bande passante
qu'il demande, le LSR intermédiaire crée un nouveau Path message et l'envoie au "next hop"
(en se référant à l'objet EXPLICIT_ROUTE).


        Les Path messages refont cette procédure avec tous les routeurs du chemin à établir
jusqu'à atteindre le dernier nœud dans l'EXPICITE_ROUTE. Le tunnel tail réalise le contrôle
d'admission en le Path message, exactement comme n'importe quel nœud intermédiaire.
Quand le tail réalise qu'il est la destination du Path message, il répond par un Resv message.
On peut considérer le Resv message comme un acquittement (ACK) pour le saut précédent
(Previous Hop, PHOP).
Le Resv message n'est pas qu'un acquittement témoignant de la réussite de la réservation,
mais il contient aussi le incoming label que le Previous Hop doit utiliser pour l'envoie de
paquets de données le long du TE LSP jusqu'au tail. En effet, L'objet LABEL_REQUEST
(Path message) réclame aux LSR traversés et au tail une association de label pour la session.
Le tail répond au LABEL_REQUEST en incluant un objet LABEL dans son message de
réponse RESV. Puis le RESV message est renvoyé vers le headend, en suivant le chemin
inverse à celui spécifié dans l'objet EXPLICIT_ROUTE. Chaque LSR qui reçoit le message
RESV contenant l'objet LABEL utilisera ce label pour le trafic de donnée sortant. Si le LSR
n'est pas le headend, il alloue un nouveau label qu'il place dans l'objet LABEL du RESV
message, et qu'il fait transiter sur le chemin inverse (grâce à l'information PHOP qu'il aura
mémorisée lors du passage du PATH message pendant le processus d'aller). Quand le RESV
message arrive au headend, le TE LSP est effectivement créé. A l'issue de la création de ce
LSP, des messages de rafraîchissement RSVP TE devront être émis périodiquement afin de
maintenir le LSP créé (soft-state protocol).

                                                 - 25 -
Chapitre II : MPLS Traffic Engineering


        Nous allons résumer le processus d'établissement des chemins avec l'exemple de la
figure 2.8 :

           R1
                                                    R4
                         (10)
                          L=18                                            R6           (6)
                                                                                   L=implicit -null
                (1)         R2                                                                        R7

                                                                 L=42              (5)
        R8                              (9)                       (7)
                                         L=21                                (4)
                                 (2)
                                            R3        (8) L=10921
                                                                           R5

                                                       (3)
                                                                                                  PATH

                                                                                                  RESV

                      Figure 2.8 : Path et Resv messages, lors de l'établissement de chemin


    Supposant que R1 a déjà réalisé sa procédure CSPF et a déjà décidé des besoins en bande
passante qu'il veut réserver le long du chemin (R1àR2àR3àR5àR6àR7) :
    (1) R1 envoie un Path message à R2. R2 reçoit le Path message, vérifie le format du
        message et la disponibilité de la bande passante demandée par R1. S'il y a un
        problème, R envoie un message d'erreur (PathErr) vers R Si tout se passe bien, on
                   2                                           1.
        passe à l'étape (2)
    (2) R2 envoie un Path message à R3. R3 fait les mêmes vérifications que dans l'étape(1)
    (3) R3 envoie un Path message à R5. Réalisation des mêmes vérifications.
    (4) R5 envoie un Path message à R6. Réalisation des mêmes vérifications.
    (5) R6 envoie un Path message à R7. Réalisation des mêmes vérifications.
    (6) R7, étant le tunnel tail, envoie un Resv message à R6. Ce Resv message contient le
        label que R7 veut voir dans les paquets de ce tunnel. Puisque R est le tail, il envoie
                                                                       7
        un label= implicit-null=3.
    (7) R6 envoie un Resv message à R5 et indique qu'il veut voir un incoming label 42 dans
        les paquets de ce tunnel. Ceci veut dire que quand R reçoit le label 42, il enlève ce
                                                            6
        label (à cause de l'implicit-null) et envoie le paquet vers R7.
    (8) R5 envoie un Resv message à R3 et indique qu'il veut voir un incoming label 10921
        dans les paquets de ce tunnel. Ceci veut dire que quand R reçoit un paquet de donnée
                                                                 5
        avec le label 10921, il le change (swapping) en 42 et envoie le paquet vers R6.


                                                   - 26 -
Chapitre II : MPLS Traffic Engineering


    (9) R3 envoie un Resv message à R2, en signalant le label 21
    (10)R2 envoie un Resv message à R1, en signalant le label 18 ;


A ce stade, Le TE LSP est complètement établie entre R et R7. Le headend (R1) peut alors
                                                      1
commencer à envoyer les données.


    •   La maintenance des chemins


        D'un premier coup d'œil, la maintenance des chemins et très similaire à l'établissement
des chemins : chaque 30 secondes (Plus ou moins 50%), le headend envoie un Path message
par tunnel. Si un routeur envoie quatre Path messages successifs et ne reçoit pas de Resv
message correspondant, il considère la réservation supprimée et envoie un message dans le
sens inverse indiquant que la réservation est supprimée.
Cependant, il y a une chose importante à comprendre ici. Path et Resv messages sont tous les
deux envoyés d'une façon indépendante et asynchrone d'un voisin à un autre. Si on regarde
encore une fois la figure 2.8, chaque 30 secondes, R envoie un Path message à R2 pour la
                                                    1
réservation qu'il a effectué. Et chaque 30 secondes, R envoie un Resv message à R1 pour la
                                                      2
même réservation. Cependant, les deux messages ne sont pas connectés. Un Resv message
utilisé pour rafraîchir une réservation existante n'est pas envoyé en réponse à un Path
message, comme c'est le cas de ICMP Echo Reply qui est envoyé en réponse à un ICMP Echo
Request. On n'a pas de comportement ping/ACK avec Path et Resv messages.


3.2.2 La suppression des chemins
        La suppression des chemins est une procédure assez simple. Si un nœud décide qu'une
réservation n'est plus nécessaire dans un réseau, il envoie un PathTear le long du même
chemin que le Path message a suivi et un ResvTear le long du même chemin que le Resv
message a suivi. ResvTear messages sont envoyés en réponse aux PathTear messages pour
signaler que le tunnel tail a supprimé la réservation du réseau.
        Exactement comme les messages de rafraîchissement, PathTear messages n'ont pas à
traverser la totalité du chemin avant que leur effet ne prend place. Dans la figure 2.8, si R1
envoie un PathTear à R2, R2 répond immédiatement par un ResvTear et puis envoie son
propre PathTear au next hop.




                                                - 27 -
Chapitre II : MPLS Traffic Engineering


3.2.3 La signalisation des erreurs
         De temps en temps, des problèmes peuvent avoir lieu dans le réseau (Bande passante
non disponible, boucle de routage, routeur intermédiaire ne prend pas en charge MPLS,
message corrompu, création de label impossible, etc.). Ces erreurs sont signalées par PathErr
ou ResvErr messages. Une erreur détectée dans un Path message est traitée par un PathErr
message, et une erreur détectée dans un Resv message est traitée par un ResvErr message.
Les messages d'erreurs sont envoyés vers la source de l'erreur ; le PathErr est envoyé vers le
headend, et un ResvErr est envoyé vers le tail.


4 Constraint-based Routing over Label Distribution
        Protocol (CR-LDP)
              Des modifications ont été apportées au protocole LDP pour permettre la
spécification du trafic. Ce protocole a été nommé CR-LDP (Constraint-based Routing over
Label Distribution Protocol) [4]. L'idée de ce protocole était d'utiliser un protocole de
distribution de label déjà existant et de lui ajouter la capacité de gérer le Traffic Engineering.

         Sans entrer dans les détails de LDP, CR-LDP ajoute des champs à ceux déjà définis
dans LDP, tel que "peak date rate" et "committed data rate". Le premier indique le débit
maximum avec lequel un trafic peut être envoyer via le TE LSP et le deuxième indique le
débit garanti par le domaine MPLS pour ce trafic. La gestion des réservations dans CR-LDP
est très similaire à celle utilisée dans les réseaux ATM, Alors que RSVP TE utilise plutôt le
modèle de IntServ.


4.1 Les messages CR-LDP

Il y a quatre catégories de message CR-LDP :


    •    Discovery messages : utilisés pour annoncer et maintenir la présence des LSR dans le
         réseau. Ceci est réalisé par l'envoie périodique de messages Hello.
    •    Session messages : utilisés pour établir, maintenir et libérer des sessions entre des
         voisins LDP.
    •    Advertisement messages : utilisés pour créer, changer et libérer des associations de
         FEC et LSP.



                                                 - 28 -
Chapitre II : MPLS Traffic Engineering


   •   Notification messages : utilisés pour véhiculer les informations de supervision.
       Il y a deux sortes de Notification messages :

           -         Error notifications : utilisés pour signaler les erreurs fatales. Quand ces
                     messages sont reçus, la session LDP est terminée et toutes les associations de
                     labels correspondantes sont annulées.
           -         Advisory notifications : utilisés pour véhiculer des informations sur la session
                     LDP.


4.2 Le fonctionnement de CR-LDP
       On va expliquer d'une façon concise les étapes qui aboutissent à l'établissement d'un
CR-LDP LSP. Pour cela, examinant la figure 2.9 :

                                  (1)                                  (2)
                          LABEL REQUEST (B,C)                 LABEL REQUEST (C)




           LSR A                                    LSR B                            LSR C
          Ingress            LABEL MAPPING (17)                 LABEL MAPPING (32)   Egress
               (5)                  (4)                                 (3)

                                  Figure 2.9 : Etablissement d'un CR-LDP LSP


   (1) Ingress LSR A détermine qu'il a besoin d'établir un nouveau LSP vers LSR C en
        passant par LSR B. Pour cela, LSR A envoie à LSR B un LABEL_REQUEST
        message avec l'explicit route (B,C) et le détail des paramètres du trafic nécessaire
        pour cette nouvelle route.
   (2) LSR B reçoit le LABEL_REQUEST message, réserve les ressources demandées,
        modifie l'explicit route dans le LABEL_REQUEST message et fait suivre le message à
        LSR C. Si nécessaire, LSR B peut réduire les réservations demandées dans le cas où
        les paramètres correspondant sont marqués négociables dans le LABEL_REQUEST
        message.
   (3) LSR C détecte que c'est lui l'egress LSR. Il fait les mêmes activités de réservation et
        de négociation que LSR B. Il alloue un label pour le nouveau LSR et l'envoie à LSR
        B dans un LABEL_MAPPING message. Ce message contient aussi les détails des
        paramètres finaux du trafic pour cet LSP.




                                                  - 29 -
Chapitre II : MPLS Traffic Engineering


    (4) LSR B reçoit le LABEL_MAPPING message, il finalise la réservation, alloue un label
        pour le LSP et met à jour sa table de labels. Ensuite, il envoie le nouveau label à LSR
        A dans un autre LABEL_MAPPING message.
    (5) Le même processus se réalise dans LSR A. Mais vu que LSR A est l'ingress LSR, il
        n'aura pas à allouer un label.

Ainsi le nouveau LSR est établi et les données peuvent y transiter.

        Aujourd'hui dans l'industrie, on trouve que Cisco et Jupiter favorise RSVP TE alors
que Nortel favorise CR-LDP. CR-LDP est un hard-state protocol : c'est-à-dire qu'une fois un
LSR est établi, il restera maintenu jusqu'à sa libération explicite. Ce qui n'est pas le cas RSVP
TE qui doit périodiquement entretenir ses LSP par des messages de signalisation (soft-state
protocol). Cette différence permet à certain de dire que CR-LDP est plus scalable (résistant à
l'augmentation de la taille du réseau), vu que dans le cas de RSVP TE, plus le réseau est
étendue plus il sera encombré par des messages de rafraîchissement. Malgré ceci, RSVP TE
parait être plus favorable à s'imposer comme protocole supportant le Traffic Engineering.
Ceci peut s'expliquer par le fait que RSVP est plus ancien que CR-LDP et par conséquent plus
mature et franc de bugs ; d'autant plus que le constat qu'on a fait sur la scalabilité de ce
protocole est très discutable.


Conclusion
        Au terme de ce chapitre, nous avons terminé l'étude théorique de la technologie
MPLS: nous avons passé en revu son fonctionnement, ses principales composantes et nous
avons mis l'accent sur l'application TE. Nous essayerons de montrer, dans les chapitres
suivants, l'intérêt et de MPLS et son apport pour un opérateur ou un fournisseur de service en
terme de "Traffic Engineering".




                                              - 30 -
Chapitre III : Implémentation et simulation des fonctionnalités de MPLS TE


                             Chapitre III :
                    Implémentation et simulation des
                      fonctionnalités de MPLS TE

Introduction
        Le but de ce chapitre est de mettre en évidence les fonctionnalités de MPLS TE en
utilisant la simulation comme moyen d'évaluation.
        On va commencer par expliciter les paramètres sur lesquels on va se baser dans notre
évaluation, à savoir les paramètres de Qualité de Service. Ensuite, on va présenter
l'environnement de simulation utilisé, pour enfin expliquer la simulation étudiée et procéder à
l’analyse des résultats obtenus.


1 La qualité de service
        La qualité de service (QoS) [5] décrit le niveau de performance attendu d'une
application, d'un serveur, d'un réseau ou de tout autre dispositif. Par exemple pour une
application, les paramètres principaux à envisager pour évaluer la QoS sont en général la
bande passante, le taux de perte en paquets, le délai de bout en bout et la gigue [6].


1.1 Bande Passante (Bandwidth)




       Terminal A                                                                            Terminal B

                    10Mbps            128 kbps              100 Mbps              512 kbps


                             Figure 3.1 : Illustration du concept de bande passante


        Dans l'exemple ci-dessus, La bande passante que peut utiliser le Terminal A pour
communiquer avec le Terminal B est simple à calculer : c'est la bande passante que peut offrir
le plus faible des liens soit 128 kbps. Ceci dans le cas où le réseau est vide. Il en est autrement
s'il existe plusieurs flux qui traversent le réseau. Le calcul de la bande passante est d'autant
plus complexe qu'il y a de considérations à respecter (capacité du lien, nombre de flux et leurs
demandes respectives, priorité, réservation préalable, etc.)


                                                  - 31 -
Chapitre III : Implémentation et simulation des fonctionnalités de MPLS TE


1.2 Perte en paquets (Paquet Loss)
        Généralement, la perte de paquets a lieu lorsque le routeur manque d'espace dans le
buffer d'une interface : ainsi, lorsque la file d'attente de sortie d'une interface particulière est
saturée, les nouveaux paquets qui seront dirigés vers cette interface vont être rejeter.
Les routeurs peuvent rejeter un paquet pour d'autres raisons, par exemple :
    •   Le CPU (Central Processing Unit) est congestionné et ne peut p traiter le paquet (la
                                                                      as
        file d'attente d'entrée est saturée) ;
    •   Le routeur détecte une erreur dans le paquet (Paquet corrompu) ;
    •   Le routeur rejette les paquets les moins prioritaires en cas de congestion dans le
        réseau.
D'autres facteurs peuvent constitués des causes pour la perte de paquets tel que :
    •   L'erreur de routage ;
    •   La fiabilité du media de transmission.
La perte peut s'exprimer en pourcentage de paquets perdus par rapport aux paquets émis, ou
tout simplement en nombre de paquets perdus par unité de temps.


1.3 Délai de bout en bout (End to End Delay)




   Terminal A                                                                                                 Terminal B

                  Délai de                    Délai de                  Délai de        Délai de
                 propagation                 propagation               propagation     propagation


          Délai de traitement et                       Délai de traitement et           Délai de traitement et
          de mise en file d'attente                    de mise en file d'attente        de mise en file d'attente



                               Figure 3.2 : Illustration du concept de délai de bout en bout


        Le délai de transmission de bout en bout est le temps écoulé entre l'émission du paquet
et sa réception à l'arrivée. La figure 3.2 illustre l'impacte qu'a le r
                                                                      éseau sur le délai de bout en
bout des paquets transmis d'un Terminal A vers un Terminal B. Chaque saut dans le réseau
ajoute un délai supplémentaire dû aux trois facteurs suivant :


    •   Délai de propagation : C'est le temps que prend la transmission d'un bit via le média
        de transmission (paire torsadée, fibre optique, voie radio, etc.)


                                                           - 32 -
Chapitre III : Implémentation et simulation des fonctionnalités de MPLS TE



    •   Délai de traitement : C'est le temps que consomme un routeur pour prendre un paquet
        de l'interface d'entrée et le mettre dans la file d'attente de l'interface de sortie. Ce délai
        dépend de plusieurs facteurs tel que :


        -   La vitesse du CPU ;
        -   L'utilisation du CPU ;
        -   Le mode de commutation IP (routage IP classique, utilisation de la commutation
            de label, etc.) ;
        -   L'architecture du routeur ;
        -   La taille du paquet.


    •   Délai de mise en file d'attente : C'est le temps que le paquet passe dans la file d'attente
        de sortie du routeur. Il dépend du nombre et de la taille des paquets déjà dans la file et
        de la bande passante de l'interface. Il dépend aussi du mécanisme de file d'attente
        adopté.


        Le délai de bout en bout est la somme de tous les délais (propagation, traitement et file
d'attente) à travers le chemin parcouru         depuis la source jusqu'à la destination. Le délai de
propagation est fixe (ne dépend que du média de transmission), alors que le délai de
traitement et le délai de mise en file d'attente sont variables (dépendent du trafic).


1.4 Gigue (Jitter)
        C’est la variation (en ms) du délai entre les paquets consécutifs (Voir Figure 3.3). La
présence de gigue dans les flux peut provenir des changements d'intensité de trafic sur les
liens de sorties des commutateurs. Plus globalement, elle dépend du volume de trafic et du
nombre d'équipements sur le réseau.
        La gigue affecte les applications qui transmettent les paquets à un certain débit fixe et
s'attendent à les recevoir au même débit (par exemple : voix et vidéo).




                                                  - 33 -
Chapitre III : Implémentation et simulation des fonctionnalités de MPLS TE



                               Emission




                              Réception



                                              Gigue

                              Figure 3.3 : Illustration du concept de la gigue


1.5 Les exigences des différentes applications IP en terme de QoS
       Les problèmes de qualité de service sont pratiquement inexistants en téléphonie
commutée ; puisque cette dernière utilise la commutation de circuit qui consiste en
l'établissement d'une connexion physique de bout en bout, dédiée à chaque paire d'émetteurs
récepteurs.
       Dans le monde IP, La QoS est un passage obligatoire. Car contrairement au réseau
téléphonique commuté, les réseaux IP véhiculent une multitude d'applications qui différent
par leurs exigences en terme de QoS. Ces applications concourent pour se partager une
quantité de ressources limitée offerte par le réseau. C'est pourquoi il est primordial de pouvoir
cerner les besoins nécessaires (le besoin minimum) mais aussi suffisants (pas de gaspillage)
pour chaque type particulier d'application en terme de QoS.


                                 Bande          Sensibilité à
                                                                    Sensibilité au      Sensibilité à
     Type d'application         passante         la perte en
                                                                        délai             la gigue
                                 requise           paquets

         Voix (VoIP)               Elevé          Moyenne                 Elevé               Elevé

           Vidéo
                                   Elevé          Moyenne                 Elevé               Elevé
      (Vidéoconférence)

    Application interactive                                                                 Non
                                Moyenne               Elevé            Moyenne
    (HTTP, jeux en ligne)                                                                importante

                                                                                            Non
       Best effort (FTP)        Moyenne               Elevé              Faible
                                                                                         importante

                                                                                            Non
      Background (mail)           Faible              Elevé              Faible
                                                                                         importante
                Tableau 3.1 : Les exigences des différentes applications IP en terme de QoS




                                                - 34 -
Chapitre III : Implémentation et simulation des fonctionnalités de MPLS TE


        Dans le tableau ci-dessus, il est intéressant de remarquer - à titre d'exemple - que les
applications temps réel (voix, vidéo) sont très sensibles au délai et à la gigue, ce qui n'est pas
le cas des applications orientées donnée. En contre partie, les applications temps réel sont
assez tolérantes aux pertes alors qu'une application comme mail ou FTP ne tolère pas du tout
les pertes.


2 L'environnement de simulation
2.1 L'intérêt d’utiliser un simulateur
        Les mécanismes utilisés dans les réseaux IP (protocole de routage, file d'attente et dans
notre cas MPLS) doivent être évalués afin de mesurer les performances des stratégies utilisées
et de tester leur fiabilité. L'utilisation d'un réseau réel dans une évaluation est difficile et
coûteuse, en outre de telles évaluations ne donnent généralement pas des résultats
significatifs. Le réseau réel n'offre pas la souplesse de varier les différents paramètres de
l'environnement et pose en plus le problème d'extraction de résultats ; c'est pour cela que la
majorité des travaux d'évaluation de performances utilisent le principe de simulation vu les
avantages qu'il offre. En effet, la simulation permet de tester les protocoles sous une variété de
conditions.
        Pour notre projet, nous avons choisi de travailler avec « Network Simulator 2 (NS2) ».


2.2 Présentation de NS2

        NS ou "Network Simulator" [7] est un simulateur de r
                                                           éseau IP, à évènements discrets,
orienté objet. C’est un projet piloté par l’ISI (University of Southern California, USA). Il est
gratuit, open source, portable et mis à jour régulièrement. Il tourne sur plusieurs distributions
d’UNIX et de Windows.

        C’est le simulateur le plus utilisé dans la communauté scientifique. Il permet à
l’utilisateur de simuler plusieurs communications entre les différents nœuds d’un réseau. Il est
bien adapté pour simuler la circulation de paquets dans les réseaux commutés. Il est
principalement utilisé pour tester des algorithmes de file d’attente, de contrôle de congestion,
des protocoles de transport, des protocoles de routage, le multicast et la mobilité.




                                               - 35 -
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama
Mpls foudhaili oussama

Weitere ähnliche Inhalte

Was ist angesagt?

Architecture reseau mobile
Architecture reseau mobileArchitecture reseau mobile
Architecture reseau mobile
Gilles Samba
 

Was ist angesagt? (20)

projet fin d'étude IWAN
projet fin d'étude IWANprojet fin d'étude IWAN
projet fin d'étude IWAN
 
conception et réalisation d'une application de gestion des rapports téléphoni...
conception et réalisation d'une application de gestion des rapports téléphoni...conception et réalisation d'une application de gestion des rapports téléphoni...
conception et réalisation d'une application de gestion des rapports téléphoni...
 
Presentation pfe ingenieur d etat securite reseau et systemes
Presentation pfe ingenieur d etat securite reseau et systemesPresentation pfe ingenieur d etat securite reseau et systemes
Presentation pfe ingenieur d etat securite reseau et systemes
 
Projet reseau-de-kherfallah-ipm-2010-2011
Projet reseau-de-kherfallah-ipm-2010-2011Projet reseau-de-kherfallah-ipm-2010-2011
Projet reseau-de-kherfallah-ipm-2010-2011
 
ETUDE ET MISE EN PLACE DE LA SOLUTION VOIP OVER LTE, DIMENSIONNEMENT ET MESUR...
ETUDE ET MISE EN PLACE DE LA SOLUTION VOIP OVER LTE, DIMENSIONNEMENT ET MESUR...ETUDE ET MISE EN PLACE DE LA SOLUTION VOIP OVER LTE, DIMENSIONNEMENT ET MESUR...
ETUDE ET MISE EN PLACE DE LA SOLUTION VOIP OVER LTE, DIMENSIONNEMENT ET MESUR...
 
GNS3, VoIP, ToIP
GNS3, VoIP, ToIPGNS3, VoIP, ToIP
GNS3, VoIP, ToIP
 
MPLS VPN
MPLS VPNMPLS VPN
MPLS VPN
 
Mise en place d’une plateforme de formation IMS
Mise en place d’une plateforme de formation IMSMise en place d’une plateforme de formation IMS
Mise en place d’une plateforme de formation IMS
 
Rapport PFE
Rapport PFERapport PFE
Rapport PFE
 
Projet administration-sécurité-réseaux
Projet administration-sécurité-réseauxProjet administration-sécurité-réseaux
Projet administration-sécurité-réseaux
 
Rapport projet fin d'étude
Rapport projet fin d'étudeRapport projet fin d'étude
Rapport projet fin d'étude
 
Rapport PFE-Implémentation de la solution Dual-Homing
Rapport PFE-Implémentation de la solution Dual-Homing Rapport PFE-Implémentation de la solution Dual-Homing
Rapport PFE-Implémentation de la solution Dual-Homing
 
Configuration et mise en œuvre d'un réseau WAN (World Area Network)
Configuration et mise en œuvre  d'un réseau  WAN (World Area Network)Configuration et mise en œuvre  d'un réseau  WAN (World Area Network)
Configuration et mise en œuvre d'un réseau WAN (World Area Network)
 
Securisation de la VoIP sous Asterisk: solution avec Asterisk, OpenVPN et Ope...
Securisation de la VoIP sous Asterisk: solution avec Asterisk, OpenVPN et Ope...Securisation de la VoIP sous Asterisk: solution avec Asterisk, OpenVPN et Ope...
Securisation de la VoIP sous Asterisk: solution avec Asterisk, OpenVPN et Ope...
 
MPLS-TE
MPLS-TEMPLS-TE
MPLS-TE
 
mémoire de projet de fin d'études
mémoire de projet de fin d'études mémoire de projet de fin d'études
mémoire de projet de fin d'études
 
4 protocole de redondance(hsrp-vrrp-glbp)
4 protocole de redondance(hsrp-vrrp-glbp)4 protocole de redondance(hsrp-vrrp-glbp)
4 protocole de redondance(hsrp-vrrp-glbp)
 
Architecture reseau mobile
Architecture reseau mobileArchitecture reseau mobile
Architecture reseau mobile
 
Rapport Stage ingénieur
Rapport Stage ingénieurRapport Stage ingénieur
Rapport Stage ingénieur
 
projet sur le vpn presentation
projet sur le vpn presentationprojet sur le vpn presentation
projet sur le vpn presentation
 

Andere mochten auch

Mpls Traffic Engineering ppt
Mpls Traffic Engineering pptMpls Traffic Engineering ppt
Mpls Traffic Engineering ppt
Nitin Gehlot
 
Aide à la Planification Cellulaire dans un Réseau LTE (4G)
Aide à la Planification Cellulaire dans un Réseau LTE (4G)Aide à la Planification Cellulaire dans un Réseau LTE (4G)
Aide à la Planification Cellulaire dans un Réseau LTE (4G)
Fatiha Merazka
 
Final show
Final showFinal show
Final show
florenzo
 

Andere mochten auch (20)

Mpls TE
Mpls TEMpls TE
Mpls TE
 
Final
FinalFinal
Final
 
MPLS
MPLSMPLS
MPLS
 
Stratégie des services opérés autours des réseaux privés MPLS
Stratégie des services opérés autours des réseaux privés MPLSStratégie des services opérés autours des réseaux privés MPLS
Stratégie des services opérés autours des réseaux privés MPLS
 
Carte mentale MPLS
Carte mentale MPLSCarte mentale MPLS
Carte mentale MPLS
 
Carte Mentale Réseaux privés virtuels MPLS-VPN-IP
Carte Mentale Réseaux privés virtuels MPLS-VPN-IPCarte Mentale Réseaux privés virtuels MPLS-VPN-IP
Carte Mentale Réseaux privés virtuels MPLS-VPN-IP
 
Mpls Traffic Engineering ppt
Mpls Traffic Engineering pptMpls Traffic Engineering ppt
Mpls Traffic Engineering ppt
 
MPLS
MPLSMPLS
MPLS
 
BGP Traffic Engineering with SDN Controller
BGP Traffic Engineering with SDN ControllerBGP Traffic Engineering with SDN Controller
BGP Traffic Engineering with SDN Controller
 
LTE Presentation [French]
LTE Presentation [French] LTE Presentation [French]
LTE Presentation [French]
 
INTRODUCTION LTE
INTRODUCTION LTEINTRODUCTION LTE
INTRODUCTION LTE
 
MPLS Presentation
MPLS PresentationMPLS Presentation
MPLS Presentation
 
Traffic studies and importance
Traffic studies and importance Traffic studies and importance
Traffic studies and importance
 
Aide à la Planification Cellulaire dans un Réseau LTE (4G)
Aide à la Planification Cellulaire dans un Réseau LTE (4G)Aide à la Planification Cellulaire dans un Réseau LTE (4G)
Aide à la Planification Cellulaire dans un Réseau LTE (4G)
 
Traffic engineering 2
Traffic engineering 2Traffic engineering 2
Traffic engineering 2
 
Traffic engineering
Traffic engineeringTraffic engineering
Traffic engineering
 
Allocation et adaptation optimales de la puissance dans harq
Allocation et adaptation optimales de la puissance dans harqAllocation et adaptation optimales de la puissance dans harq
Allocation et adaptation optimales de la puissance dans harq
 
Final show
Final showFinal show
Final show
 
MPLS: Multiprotocol Label Switching
MPLS: Multiprotocol Label SwitchingMPLS: Multiprotocol Label Switching
MPLS: Multiprotocol Label Switching
 
La 4G pour les nuls - Alcatel Lucent
La 4G pour les nuls - Alcatel LucentLa 4G pour les nuls - Alcatel Lucent
La 4G pour les nuls - Alcatel Lucent
 

Ähnlich wie Mpls foudhaili oussama

Rapport_final_GUEDREZ_Rabah
Rapport_final_GUEDREZ_RabahRapport_final_GUEDREZ_Rabah
Rapport_final_GUEDREZ_Rabah
Rabah GUEDREZ
 
Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...
Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...
Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...
Hadjer BENHADJ DJILALI
 
7 Programmation PL-SQL Oracle.pdf
7 Programmation PL-SQL Oracle.pdf7 Programmation PL-SQL Oracle.pdf
7 Programmation PL-SQL Oracle.pdf
user2023moi
 
Reservoir Computing - ExecSum&Annexes
Reservoir Computing - ExecSum&AnnexesReservoir Computing - ExecSum&Annexes
Reservoir Computing - ExecSum&Annexes
Alex Schouleur
 

Ähnlich wie Mpls foudhaili oussama (20)

Rapport_final_GUEDREZ_Rabah
Rapport_final_GUEDREZ_RabahRapport_final_GUEDREZ_Rabah
Rapport_final_GUEDREZ_Rabah
 
Conception et Développement d'un Network Management System ATM Nortel
Conception et Développement d'un Network Management System ATM NortelConception et Développement d'un Network Management System ATM Nortel
Conception et Développement d'un Network Management System ATM Nortel
 
Rapport simo issam
Rapport simo issamRapport simo issam
Rapport simo issam
 
Vlan
VlanVlan
Vlan
 
Mise en place de deux réseaux LAN interconnectés par un réseau WAN
Mise en place de deux réseaux LAN interconnectés par un réseau WANMise en place de deux réseaux LAN interconnectés par un réseau WAN
Mise en place de deux réseaux LAN interconnectés par un réseau WAN
 
Projet Passerelle sécurisée intelligente pour l'internet des objets
Projet Passerelle sécurisée intelligente pour l'internet des objetsProjet Passerelle sécurisée intelligente pour l'internet des objets
Projet Passerelle sécurisée intelligente pour l'internet des objets
 
Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...
Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...
Mémoire Parallélisation d'algorithmes de graphes avec MapReduce sur un cluste...
 
Manuel ns1.3
Manuel ns1.3Manuel ns1.3
Manuel ns1.3
 
Reseaux
ReseauxReseaux
Reseaux
 
Model Based Testing des applications du protocole MQTT
Model Based Testing des applications du protocole MQTTModel Based Testing des applications du protocole MQTT
Model Based Testing des applications du protocole MQTT
 
these_sample
these_samplethese_sample
these_sample
 
Kallel mehdi
Kallel mehdiKallel mehdi
Kallel mehdi
 
ns.pdf
ns.pdfns.pdf
ns.pdf
 
F5.3
F5.3F5.3
F5.3
 
Badis these
Badis theseBadis these
Badis these
 
7 Programmation PL-SQL Oracle.pdf
7 Programmation PL-SQL Oracle.pdf7 Programmation PL-SQL Oracle.pdf
7 Programmation PL-SQL Oracle.pdf
 
Routage adhoc
Routage adhocRoutage adhoc
Routage adhoc
 
Reservoir Computing - ExecSum&Annexes
Reservoir Computing - ExecSum&AnnexesReservoir Computing - ExecSum&Annexes
Reservoir Computing - ExecSum&Annexes
 
Référentiel e-Société
Référentiel e-SociétéRéférentiel e-Société
Référentiel e-Société
 
Rapport
RapportRapport
Rapport
 

Mehr von Gilles Samba

Installation et configuration asterisk
Installation et configuration asteriskInstallation et configuration asterisk
Installation et configuration asterisk
Gilles Samba
 
Etude des modeles_ns2
Etude des modeles_ns2Etude des modeles_ns2
Etude des modeles_ns2
Gilles Samba
 
Dsr aodv performance
Dsr aodv performanceDsr aodv performance
Dsr aodv performance
Gilles Samba
 
4 g americas glossary of wireless acronyms 2012
4 g americas glossary of wireless acronyms 20124 g americas glossary of wireless acronyms 2012
4 g americas glossary of wireless acronyms 2012
Gilles Samba
 
4 ir be-dimensionnement_interface_radio_2012_v3
4 ir be-dimensionnement_interface_radio_2012_v34 ir be-dimensionnement_interface_radio_2012_v3
4 ir be-dimensionnement_interface_radio_2012_v3
Gilles Samba
 
4 ir be-dimensionnement_interface_radio_2012_v3
4 ir be-dimensionnement_interface_radio_2012_v34 ir be-dimensionnement_interface_radio_2012_v3
4 ir be-dimensionnement_interface_radio_2012_v3
Gilles Samba
 
Cour simulation ns2
Cour simulation ns2Cour simulation ns2
Cour simulation ns2
Gilles Samba
 
Asterisk to ip_rapport
Asterisk to ip_rapportAsterisk to ip_rapport
Asterisk to ip_rapport
Gilles Samba
 
2 architecture reseau-mobile
2 architecture reseau-mobile2 architecture reseau-mobile
2 architecture reseau-mobile
Gilles Samba
 

Mehr von Gilles Samba (18)

Asterisk trixbox
Asterisk trixboxAsterisk trixbox
Asterisk trixbox
 
Installation et configuration asterisk
Installation et configuration asteriskInstallation et configuration asterisk
Installation et configuration asterisk
 
Apport de la_lte
Apport de la_lteApport de la_lte
Apport de la_lte
 
Acces umts efort
Acces umts efortAcces umts efort
Acces umts efort
 
Cours ipv6pdf
Cours ipv6pdfCours ipv6pdf
Cours ipv6pdf
 
Evaluation aodv
Evaluation aodvEvaluation aodv
Evaluation aodv
 
Etude des modeles_ns2
Etude des modeles_ns2Etude des modeles_ns2
Etude des modeles_ns2
 
Dsr aodv performance
Dsr aodv performanceDsr aodv performance
Dsr aodv performance
 
4 g evolution
4 g evolution4 g evolution
4 g evolution
 
4 g
4 g4 g
4 g
 
4 g americas glossary of wireless acronyms 2012
4 g americas glossary of wireless acronyms 20124 g americas glossary of wireless acronyms 2012
4 g americas glossary of wireless acronyms 2012
 
4 g lte
4 g lte4 g lte
4 g lte
 
4 ir be-dimensionnement_interface_radio_2012_v3
4 ir be-dimensionnement_interface_radio_2012_v34 ir be-dimensionnement_interface_radio_2012_v3
4 ir be-dimensionnement_interface_radio_2012_v3
 
Umts et wan
Umts et wanUmts et wan
Umts et wan
 
4 ir be-dimensionnement_interface_radio_2012_v3
4 ir be-dimensionnement_interface_radio_2012_v34 ir be-dimensionnement_interface_radio_2012_v3
4 ir be-dimensionnement_interface_radio_2012_v3
 
Cour simulation ns2
Cour simulation ns2Cour simulation ns2
Cour simulation ns2
 
Asterisk to ip_rapport
Asterisk to ip_rapportAsterisk to ip_rapport
Asterisk to ip_rapport
 
2 architecture reseau-mobile
2 architecture reseau-mobile2 architecture reseau-mobile
2 architecture reseau-mobile
 

Mpls foudhaili oussama

  • 1. RAPPORT DE PROJET DE FIN D’ETUDES Filière Ingénieurs en Télécommunications Option Ingénierie des réseaux Analyse des performances de MPLS en terme de "Traffic Engineering" dans un réseau multiservice Elaboré par : Oussama FOUDHAILI Encadré par : M. Rached HAMZA M. Jamel SAKKA Année universitaire : 2004/2005
  • 2. "Là où tout finira, là où tout commencera!" Confucius
  • 3. Remerciements Je tiens tout d’abord à remercier Monsieur Rached Hamza (Sup'Com) pour m'avoir fait l'honneur d'être mon encadreur. J'adresse également mes très vifs remerciements à Monsieur Jamel Sakka (Tunisie Télécom) pour sa compétence, sa patience et son esprit ouvert et dynamique. Je tiens naturellement à remercier aussi le cadre enseignant et le corps administratif de Sup'Com pour m'avoir donner l'accès à une formation qui m'a permis de m'améliorer scientifiquement et humainement. Une pensée amicale est adressée à mes amis Kamel Zidane et Anis Souissi avec qui j'ai partagé le même foyer pendant trois ans et dont la présence m'a permis de mieux vivre aussi bien les temps de stress que les temps de bonheur. Finalement, que tous ceux qui ne sont pas nommés ici, mais qui ont contribué de prés ou de loin au bon déroulement de ce projet, trouvent l'assurance de ma pleine gratitude. Oussama Foudhaili
  • 4. Table des Matières Introduction Générale 1 Capitre I : MultiProtocol Label Switching (MPLS) 3 Introduction.................................................................................................................3 1 Principe de fonctionnement de MPLS .....................................................................3 2 Les labels .................................................................................................................5 3 Pile de labels (Label Stack) .....................................................................................7 4 Concepts relatifs à la distribution de labels .............................................................8 4.1 Contrôle de distribution des labels ....................................................................8 4.2 Distribution et gestion des labels ......................................................................8 4.3 Conservation des labels .....................................................................................9 4.4 Espace de labels (Label Space) .........................................................................9 4.5 Création des labels ..........................................................................................10 4.6 Modes de fonctionnement de quelques protocoles de distribution de label....11 5 Les applications de MPLS .....................................................................................12 5.1 Any Transport over MPLS (AToM) ...............................................................13 5.2 Le support des réseaux privés virtuels (MPLS VPN) .....................................13 5.3 Le support de la qualité de service (MPLS QoS)............................................15 5.4 Le Traffic Engineering (MPLS TE) ................................................................15 Conclusion................................................................................................................15 Chapitre II : MPLS Traffic Engineering (MPLS TE) 16 Introduction...............................................................................................................16 1 Les motivations du Traffic Engineering ................................................................16 2 Calcul et établissement des "MPLS TE LSP" .......................................................19 3 Resource ReSerVation Protocol - Traffic Engineering (RSVP TE)......................20 3.1 Les messages RSVP TE ..................................................................................21 3.1.1 Les types de messages RSVP TE..............................................................21 3.1.2 Le format des messages RSVP TE ...........................................................21 3.1.3 Le format des objets RSVP TE.................................................................22 3.1.4 Le format des messages Path et Resv .......................................................23 3.2 Le fonctionnement de RSVP TE.....................................................................24 3.2.1 L'établissement et la maintenance des chemins ........................................24 3.2.2 La suppression des chemins ......................................................................27 3.2.3 La signalisation des erreurs.......................................................................28 4 Constraint-based Routing over Label Distribution Protocol (CR-LDP) ...............28 4.1 Les messages CR-LDP....................................................................................28 4.2 Le fonctionnement de CR-LDP.......................................................................29 Conclusion................................................................................................................30 -i-
  • 5. Capitre III : Implémentation et simulation des fonctionnalités de MPLS TE 31 Introduction...............................................................................................................31 1 La qualité de service ..............................................................................................31 1.1 Bande Passante (Bandwidth)...........................................................................31 1.2 Perte en paquets (Paquet Loss)........................................................................32 1.3 Délai de bout en bout (End to End Delay) ......................................................32 1.4 Gigue (Jitter) ...................................................................................................33 1.5 Les exigences des différentes applications IP en terme de QoS .....................34 2 L'environneme nt de simulation..............................................................................35 2.1 L'intérêt d’utiliser un simulateur .....................................................................35 2.2 Présentation de NS2 ........................................................................................35 2.3 Fonctionnement de NS2 ..................................................................................36 2.4 Les modifications à apporter à NS2 ................................................................38 2.5 Avantages, limites et difficultés de NS2 .........................................................39 3 Simulation des fonctionnalités de MPLS TE.........................................................40 3.1 Le scénario de simulation................................................................................40 3.2 Résultats de la simulation et interprétations ....................................................42 3.2.1 "Bande passante" et "Taux de perte en paquets" ......................................43 3.2.2 "Délai de bout en bout " et "Gigue"...........................................................48 Conclusion................................................................................................................52 Chapitre IV : Evaluation des performances de MPLS TE sur le backbone de "Tunisie Télécom" 53 Introduction...............................................................................................................53 1 Description du backbone MPLS de Tunisie Télécom...........................................53 1.1 Définition de Backbone ...................................................................................53 1.2 Structure du backbone de Tunisie Télécom....................................................54 2 Simulation et résultats............................................................................................57 2.1 Scénario de la simulation ................................................................................57 2.2 Résultats et interprétations ..............................................................................58 2.2.1 Estimation des charges des liens constituant le backbone ........................58 2.2.2 Estimation du délai ...................................................................................61 2.2.3 Estimation du taux de perte.......................................................................63 Conclusion................................................................................................................63 Conclusion générale 65 Références 67 - ii -
  • 6. Table des figures Figure 1.1 : Exemple d'un réseau MPLS .......................................................................3 Figure 1.2 : l'encapsulation MPLS dans différentes technologies .................................6 Figure 1.3 : Format du shim MPLS ...............................................................................6 Figure 1.4 : Pile de labels...............................................................................................7 Figure 1.5 : Unsolicited downsteam ..............................................................................8 Figure 1.6 : Downsteam-on-demand ..............................................................................9 Figure 1.7 : MPLS VPN...............................................................................................14 Figure 2.1 : Le routage classique .................................................................................16 Figure 2.2 : Le Traffic Engineering selon MPLS ........................................................18 Figure 2.3 : L'encapsulation des messages RSVP TE..................................................21 Figure 2.4 : Format des messages RSVP TE ...............................................................22 Figure 2.5 : Format des objets RSVP TE.....................................................................22 Figure 2.6 : Format du Path message ...........................................................................23 Figure 2.7 : Format du Resv message ..........................................................................23 Figure 2.8 : Path et Resv messages, lors de l' établissement de chemin .......................26 Figure 2.9 : Etablissement d'un CR-LDP LSP.............................................................29 Figure 3.1 : Illustration du concept de bande passante ................................................31 Figure 3.2 : Illustration du concept de délai de bout en bout.......................................32 Figure 3.3 : Illustration du concept de la gigue ...........................................................34 Figure 3.4 : Les étapes d’une simulation sur NS2 .......................................................37 Figure 3.5 : La topologie de simulation visualisée par NAM ......................................41 Figure 3.6 : Bande Passante .........................................................................................43 Figure 3.7 : Taux de paquets perdus ............................................................................43 Figure 3.8 : Situation du trafic entre les instants 0.2s et 6s .........................................44 Figure 3.9 : Situation du trafic entre les instants 6s et 7s ............................................44 Figure 3.10 : Situation du trafic entre les instants 7s et 9s ..........................................45 Figure 3.11 : Situation du trafic entre les instants 9s et 11s ........................................46 Figure 3.12 : Situation du trafic entre les instants 11s et 13s ......................................46 Figure 3.13 : Situation du trafic entre les instants 13s et 15s ......................................47 Figure 3.14 : Délai de bout en bout ..............................................................................48 Figure 3.15 : Gigue relatif au trafic TR .......................................................................48 - iii -
  • 7. Figure 3.16 : Gigue relatif au trafic HP .......................................................................49 Figure 3.17 : Gigue relatif au trafic BE .......................................................................49 Figure 3.18 : Zoom relatif à la courbe de gigue...........................................................50 Figure 3.19 : Zoom relatif à la courbe de délai entre les instant 8.5s et 8.85s.............51 Figure 4.1 : La structure du backbone de Tunisie Télécom.........................................54 Figure 4.2 : La disposition géographique du backbone de Tunisie Télécom ..............55 Figure 4.3 : Backbone de Tunisie Télécom .................................................................55 Figure 4.4 : le backbone tel que généré par NS2 .........................................................57 Figure 4.5 : Occupation des liens (mode IP classique ) ................................................59 Figure 4.6 : Occupation des liens (mode MPLS TE) ...................................................59 Figure 4.7 : Exemple de route IP .................................................................................60 Figure 4.8 : Exemple de route MPLS TE ....................................................................61 Figure 4.9 : Délai normalisé par le nombre de saut .....................................................62 Figure 4.10 : Le taux de perte ......................................................................................63 Liste des tableaux Tableau 1.1 : Modes de fonctionnement de quelques protocoles de distribution de label........................................................................................................12 Tableau 2.1 : Les messages RSVP TE.........................................................................21 Tableau 3.1 : Les exigences des différentes applications IP en terme de QoS ............34 Tableau 3.2 : Les flux considérés dans la simulation ..................................................41 Tableau 3.3 : Timing de la simulation .........................................................................42 Tableau 4.1 : Descriptif des liens raccordés au backbone ...........................................56 Tableau 4.2 : L'occupation des liens ............................................................................59 - iv -
  • 8. Acronymes ACK acknowledgment ATM Asynchronous Transfer Mode AToM Any Transport over MPLS AWK Aho, Weinberger et Kernighahn BE Best effort (acronyme propre à ce rapport) BGP Border Gateway Protocol CBR Constant Bit Rate CPU Central Processing Unit CR-LDP Constraint-based Routing over Label Distribution Protocol CR-LSP Constraint-based Routing-LSP CSPF Constrained Shortest Path First EoIP Everything over IP ER-LSP Explicit Routing -LSP FEC Forwarding Equivalence Class FR Frame Relay FTP File Transfer Protocol GCC GNU C/C++ GMPLS Generalized MPLS HP Haute Priorité (acronyme propre à ce rapport) HTTP HyperText Transfer Protocol ICMP Internet Control Message Protocol IETF Internet Engineering Task Force IGP Interior Gateway Protocol IP Internet Protocol IS-IS Intermediate System-to-Intermediate System ISP Internet Service Provider LAN Local Area Network LDP Label Distribution Protocol LER Label Edge Router LSP Label Switched Path LSR Label Switch Router MAC Media Access Control MNS MPLS Network Simulator MPLS MultiProtocol Label Switching NGN Next Generation Networks NS2 Network Simulator 2 OSPF Open Shortest Path First OTCL Object-oriented Tcl -v -
  • 9. PHOP Previous Hop PIM Protocol Independent Multicast PPP Point-to-Point Protocol QoS Quality of Service RIP Routing Information Protocol RSVP TE Resource ReSerVation Protocol - Traffic Engineering SDH Synchronous Digital Hierarchy SONET Synchronous Optical NETwork SPF Shortest Path First STM-x Synchronous Transport Module level x TCL Tool Command Langage TCP Transport Control Protocol TDP Tag Distribution Protocol TE Traffic Engineering TR Temps Réel (acronyme propre à ce rapport) TTL Timt to live UDP User Datagram Protocol VCI Virtual Channel Identifier VoIP Voice over IP VPI Virtual Path Identifier VPN Virtual Private Network WAN Wide Area Network WFQ Weighted Fair Queuing - vi -
  • 10. Introduction générale Introduction Générale La toile Internet connaît actuellement un développement vertigineux. Ce qui a fait de IP un protocole presque universel. Le succès de ce dernier repose sur sa grande simplicité puisqu'il se base sur le modèle Best Effort. Toutefois, ce même point qui a fait sa force, constitue actuellement sa faiblesse. Car le modèle Best Effort a montré ses limites face aux nouveaux besoins des applications, puisque la demande s'est diversifiée (data, voix, vidéo, etc.) et les services sont de plus en plus gourmands en ressources. Les nouvelles applications exigent aujourd'hui de complexifier les réseaux et de prendre en compte les spécifications propres à chacune d'elles pour qu'elles puissent fonctionner correctement. En, d'autres termes, il est primordial d'instaurer la notion de la Qualité de Service (QoS) dans les réseaux télécom. La réponse à la question de QoS a été pour longtemps ATM. Car l'aspect non connecté de IP rend difficile d'envisager de lui intégrer des services temps réel. D'un autre côté, les réseaux IP ont pris une ampleur tellement grande qu'on ne peut plus envisager de créer une architecture nouvelle répondant aux besoins de QoS. Et même l'association IP/ATM a montré ses limites. La solution est alors de définir des mécanismes complémentaires au fonctionnement de IP de base, permettant de prendre en compte les exigences propres de chaque type de service. Ceci quitte à introduire une complexité supplémentaire au fonctionnement de IP. C'est là que MPLS s'est imposé comme une solution leader. MPLS a réussi à conjuguer la simplicité de IP avec l'efficacité d'ATM dans la gestion du multiservice. MPLS fait également partie d’un mouvement d’ensemble vers les NGN (Next Generation Networks) dont le but est de réaliser la convergence voix/données dans une perspective générale de "tout IP" (EoIP : Everything over IP). MPLS constitue aussi une alternative à la commutation de circuit, encore largement utilisée en téléphonie. Ce type de commutation présente l'inconvénient de générer un gaspillage évident de ressources, puisque c'est une technique à ressources dédiées. MPLS remédie à ce problème en mettant en œuvre des mécanismes permettant de faire passer du trafic haute exigence, tel que la voix, dans un réseau à ressources partagées, sans pour autant -1-
  • 11. Introduction générale dégrader sa qualité. On peut ainsi passer outre la technique de commutation de circuit et utiliser la commutation de paquet/label. Le réseau sera alors utilisé d'une façon plus optimale, ce qui constitue un gain économique pour les opérateurs et les fournisseurs de services. De plus, avoir à gérer un seul réseau est très important pour un opérateur vu que ça lui permet de réduire ses coûts. D'autant plus que migrer vers les réseaux MPLS n'est pas très coûteux puisqu'il existe des solutions qui n'exigent pas de changer tous les équipements : on peut juste patcher les routeurs déjà installés. Dans ce rapport, on va s'intéresser à l'étude de MPLS et en particulier à l'application "Traffic Engineering (TE)". Les chapitres I et II seront consacrés à une vue théorique de ces deux concepts. Ensuite, on décrira, dans le chapitre III, l'implémentation et les simulations qui ont permis d'analyser les performances de MPLS TE sur les réseaux multiservice. Pour enfin essayer d'évaluer l'apport du Trafic Engineering sur le backbone national de Tunisie Télécom. -2-
  • 12. Chapitre I : MultiProtocol Label Switching Chapitre I : MultiProtocol Label Switching (MPLS) Introduction Précisons dès à présent que MPLS est davantage une architecture qu'un protocole ou un modèle de gestion. Ainsi, l'architecture MPLS est composée d'un certain nombre de protocoles et de mécanismes définis, ou en cours de définition. Nous allons, le long de ce premier chapitre, faire le tour de la technologie MPLS. Nous commencerons par expliquer son principe de fonctionnement. Nous détaillerons ensuite les concepts relatifs aux labels et à leurs distributions. Nous finirons par donner un aperçu des applications que MPLS permet de réaliser. 1 Principe de fonctionnement de MPLS Ingress LER 12.3.2.125 Site 1 LER L=18 LSR L=3 12.3.2.125 LSR Site 2 LSR Domaine LER Egress LER L=21 MPLS L=42 L=10921 LSR LSR LSR Figure 1.1 : Exemple d'un réseau MPLS Un réseau MPLS est constitué de deux types d'équipements : • LSR (Label Switch Router) : c'est un équipement de type routeur, ou commutateur qui appartient à un domaine MPLS. -3-
  • 13. Chapitre I : MultiProtocol Label Switching • LER (Label Edge Router) : c'est un LSR qui fait l'interface entre un domaine MPLS et le monde extérieur. En général, une partie de ses interfaces supportent le protocole MPLS et l'autre un protocole de type IP. Il existe deux types de LER : - Ingress LER : c'est un routeur qui gère le trafic qui entre dans un réseau MPLS. - Egress LER : c'est un routeur qui gère le trafic qui sort d'un réseau MPLS. Avant d'examiner le fonctionnement d'un réseau MPLS, on va passer en revu le principe d'acheminement des paquets dans un réseau IP classique et ainsi pouvoir faire une comparaison des deux techniques. Dans un réseau IP classique, il y a mise en oeuvre d'un protocole de routage (RIP, OSPF, IS-IS, etc.) Ce protocole sera exécuté indépendamment par chaque nœud. A la convergence du protocole de routage, chaque nœud aura une vision plus ou moins complète du réseau et pourra du coup calculer une table de routage contenant l'ensemble des destinations. Chaque destination sera associée à un "prochain saut" ou "Next Hop". Voyant maintenant le cas d'un réseau MPLS : La mise en œuvre de MPLS repose sur la détermination de caractéristiques communes à un ensemble de paquets et dont dépendra l'acheminement de ces derniers. Cette notion de caractéristiques communes est appelée Forwarding Equivalence Class (FEC). Une FEC est la représentation d’un ensemble de paquets qui partagent les mêmes caractéristiques pour leur transport. - Le routage IP classique distingue les paquets en se basant seulement sur les adresses des réseaux de destination (préfixe d’adresse). - MPLS constitue les FEC selon de nombreux critères : adresse destination, adresse source, application, QoS, etc. Quand un paquet IP arrive à un ingress LER, il sera associé à une FEC. Puis, exactement comme dans le cas d'un routage IP classique, un protocole de routage sera mis en œuvre pour découvrir un chemin jusqu'à l'egress LER (Voir Figure 1.1, les flèches rouges). Mais à la différence d'un routage IP classique cette opération ne se réalise qu'une seule fois. Ensuite, tous les paquets appartenant à la même FEC seront acheminés suivant ce chemin qu'on appellera Label Switched Path (LSP). Ainsi on a eu la séparation entre fonction de routage et fonction de commutation : Le routage se fait uniquement à la première étape. Ensuite tous les -4-
  • 14. Chapitre I : MultiProtocol Label Switching paquets appartenant à la même FEC subiront une commutation simple à travers ce chemin découvert. Pour que les LSR puissent commuter correctement les paquets, le Ingress LER affecte une étiquette (appelée aussi Label) à ces paquets (label imposition ou label pushing). Ainsi, si on prend l'exemple de la figure 1.1, Le LSR1 saura en consultant sa table de commutation que tout paquet entrant ayant le label L=18 appartient à la FEC tel et donc doit être commuté sur une sortie tel en lui attribuant un nouveau label L=21 (label swapping). Cette opération de commutation sera exécuter par tous les LSR du LSP jusqu'à aboutir à l'Egress LER qui supprimera le label (label popping ou label disposition) et routera le paquet de nouveau dans le monde IP de façon traditionnelle. L'acheminement des paquets dans le domaine MPLS ne se fait donc pas à base d'adresse IP mais de label (commutation de label). Il est claire qu'après la découverte de chemin (par le protocole de routage), il faut mettre en œuvre un protocole qui permet de distribuer les labels entre les LSR pour que ces derniers puissent constituer leurs tables de commutation et ainsi exécuter la commutation de label adéquate à chaque paquet entrant. Cette tâche est effectuée par "un protocole de distribution de label" tel que LDP ou RSVP TE. Les protocoles de distribution de label seront repris plus loin dans un paragraphe à part. Les trois opérations fondamentales sur les labels (Pushing, swapping et popping) sont tout ce qui est nécessaire pour MPLS. Le Label pushing/popping peuvent être le résultat d'une classification en FEC aussi complexe qu'on veut. Ainsi on aura placé toute la complexité aux extrémités du réseau MPLS alors que le cœur du réseau exécutera seulement la fonction simple de label swapping en consultant la table de commutation. 2 Les labels Un label a une signification d'identificateur local d'une FEC entre 2 LSR adjacents et mappe le flux de trafic entre le LSR amont et le LSR aval. La figure 1.2, illustre la mise en œuvre des labels dans différentes technologies. Ainsi, MPLS fonctionne indépendamment des protocoles de niveau 2 (ATM, FR, etc.) et des protocoles de niveau 3 (IP, etc.). C'est ce qui lui vaut son nom de "MultiProtocol Label Switching". -5-
  • 15. Chapitre I : MultiProtocol Label Switching PPP En-tête PPP Shim MPLS En-tête couche 3 (Packet over SONET/SDH) Ethernet En-tête Ethernet Shim MPLS En-tête couche 3 Frame Relay En-tête FR Shim MPLS En-tête couche 3 ATM GFC VPI VCI PTI CLP HEC DATA Label Figure 1.2 : l'encapsulation MPLS dans différentes technologies Dans le cas ATM, MPLS utilise les champs VPI (Virtual Path Identifier) et VCI (Virtual Channel Identifier) comme étant un label MPLS. Dans les autres cas, MPLS insère un en-tête (32 bits) entre la couche 2 et la couche 3 appelé shim MPLS. La figure 1.3 illustre le format d'un shim MPLS : 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 LABEL EXP S TTL Figure 1.3 : Format du shim MPLS LABEL (20 bits) : Contient le label. EXP (3 bits) : Initialement réservé pour une utilisation expérimentale. Actuellement, la plus part des implémentations utilise ce champ comme indicateur de QoS. Généralement, c'est une copie du champ PRECEDENCE (PPP) dans l'en-tête IP. En IP, la précédence définit la priorité d'un paquet (0 : priorité supérieure, 7 : priorité inférieure). S (1 bit) : Indique s'il y a empilement de labels (il est en fait commun d'avoir plus qu'un label attaché à un paquet). Cette notion sera reprise dans le paragraphe suivant. Le bit S est à 1 lorsque le label se trouve au sommet de la pile, à 0 sinon. TTL (8 bits) : Même signification que pour IP. Ce champ donne la limite supérieure au nombre de routeurs qu'un paquet peut traverser. Il limite la durée de vie du paquet. Il est initialisé à une certaine valeur, puis décrémenté de un par chaque routeur qui traite le paquet. -6-
  • 16. Chapitre I : MultiProtocol Label Switching Lorsque ce champ atteint 0, le paquet est rejeté. L'utilisation de ce champ évite les boucles de routage. 3 Pile de labels (Label Stack) Comme on l'a déjà évoqué, il est commun d'avoir plus qu'un label attaché à un paquet. Ce concept s'appelle empilement de label. L'empilement de label permet en particulier d'associer plusieurs contrats de service à un flux au cours de sa traversée du réseau MPLS. Dans le cas de deux niveaux de label, on pourra relier deux réseaux d'un réseau privé au travers d'un réseau opérateur (Voir figure 1.4), en utilisant un niveau de labels au niveau opérateur, et un niveau de labels au niveau du réseau privé. Les LSR de frontière de réseau auront donc la responsabilité de pousser (ou tirer) la pile de labels pour désigner le niveau d'utilisation courant de label. 10.2.0.174 10.2.0.174 Site 1 Site 2 3 1 9 2 6 4 2 Domaine MPLS 9 2 Opérateur 8 2 6 2 7 2 Figure 1.4 : Pile de labels -7-
  • 17. Chapitre I : MultiProtocol Label Switching L'utilisation de plusieurs niveaux de labels permet, lors d'interconnexions de disposer de plusieurs niveaux d'opérateurs. Chacun manipule les labels correspondant à son niveau [1]. 4 Concepts relatifs à la distribution de labels Pour comprendre comment les LSR génèrent et distribuent les labels, on doit aborder quelques concepts relatifs à la distribution de labels [1]. 4.1 Contrôle de distribution des labels Il existe deux modes de contrôle de distribution des labels aux LSR voisins : • Mode de contrôle ordonné (Ordered control mode) : Dans ce mode, un LSR associe un label à une FEC particulière, si : ü Il s'agit d'un Egress LER ; ü L'assignation (l'association Label, FEC) a été reçue du LSR situé au saut suivant. • Mode de contrôle indépendant (Independent control mode) : Dans ce mode, les LSR sont libres de communiquer les associations entre label et FEC à leurs voisins sans attendre de recevoir l'assignation du LSR situé au saut suivant. Ainsi, un LSR peut diffuser un label pour une FEC, quand bien même il n'est pas prêt à communiquer sur ce label. 4.2 Distribution et gestion des labels La distribution elle-même des labels peut se faire suivant plusieurs méthodes : • Descente systématique (unsolicited downstream) : Le LSR en aval envoie le label au LSR précédent (en amont) de manière systématique (sans demande explicite). Ainsi dans l'exemple de la figure 1.5, LSR C demande au LSR B d'utiliser le Label 53 Pour la destination 182.65.10/24. LSR B, à son tour, demande au LSR A d'utiliser le label 25 pour cette même destination. Utilisez le label 25 pour la Utilisez le label 53 pour la 182.65.10/24 destination 182.65.10/24 destination 182.65.10/24 182.65.10/24 LSR A LSR B LSR C Figure 1.5 : Unsolicited downsteam -8-
  • 18. Chapitre I : MultiProtocol Label Switching • Descente à la demande (Downstream-on-Demand) : Dans ce mode, le LSR en aval envoie le label au LSR précèdent uniquement s'il a reçu une requête. Et ceci même s'il a déjà généré un label pour la FEC en question. Utilisez le label 25 pour la Utilisez le label 53 pour la 182.65.10/24 destination 182.65.10/24 destination 182.65.10/24 182.65.10/24 LSR A LSR B LSR C Demande de label pour la Demande de label pour la destination 182.65.10/24 destination 182.65.10/24 Figure 1.6 : Downsteam-on-demand 4.3 Conservation des labels Il existe deux modes que les LSR utilisent pour la conservation des labels reçus : • Mode de conservation libéral (Liberal retention) : Dans ce mode, les LSR conservent les labels reçus de tous leurs voisins. Il permet une convergence plus rapide face aux modifications topologiques du réseau et la commutation de trafic vers d'autres LSP en cas de changement. En contre partie, ce mode nécessite beaucoup de mémoire. • Mode de conservation conservateur (Conservative retention) : Dans ce mode, les LSR retiennent uniquement les labels des voisins situés sur le saut suivant et ignorent tous les autres. Ce mode nécessite peu de mémoire. En contre partie, on aura une adaptation plus lente en cas d'erreur 4.4 Espace de labels (Label Space) Les labels utilisés par un LSR pour l'assignation de labels à un FEC sont définis de deux façons : • Par plate-forme (per-platform label space ou global space) : Dans ce cas, les valeurs de labels sont uniques dans tous les équipements LSR. Les labels sont alloués depuis un ensemble commun de labels : de la sorte, deux labels situés sur des interfaces distinctes possèdent des valeurs distinctes. -9-
  • 19. Chapitre I : MultiProtocol Label Switching • Par interface (per-interface label space) : Les domaines de valeurs des labels sont associés à une interface. Plusieurs peuvent être définis. Dans ce cas, les valeurs de labels fournies sur des interfaces différentes peuvent être identiques. Il est clairement stipulé qu'un LSR peut utiliser une assignation de label par interface, à la condition express qu'il soit en mesure de distinguer l'interface depuis laquelle arrive le paquet. Il risque sinon de confondre deux paquets possédant le même label, mais issus d'interfaces différentes. 4.5 Création des labels Plusieurs méthodes sont utilisées pour la création des labels, en fonction des objectifs recherchés. • Fondée sur la topologie (Topology-based) : Cette méthode engendre la création de labels à l’issue de l’exécution normale des processus de routages (comme OSPF ou BGP). • Fondée sur les requêtes (Request-based) : Cette méthode de création de labels est déclenchée lors de l’exécution d’une requête de signalisation. • Fondée sur le trafic (Traffic-based) : Cette méthode de création de labels attend la réception d’un paquet de donnée pour déclancher l’assignation et la distribution de labels. Le protocole IP-Switching de la société Ipsilon illustre cette méthode. La dernière méthode est un exemple de protocole fondé sur le modèle orienté données (data-driven). Ce modèle n'a pas été retenu par MPLS. Dans ce cas, l'assignation de labels n'est déclenchée qu'à la réception effective de paquets de données et non a priori comme en mode control-driven. Cette méthode présente l'avantage de justifier le processus de création de labels et de leur distribution qui se fait uniquement en présence effective d'un trafic utilisateur. En revanche, elle a l'inconvénient d'obliger l'ensemble des routeurs du réseau à fonctionner au départ comme des routeurs traditionnels, avec l'obligation de disposer des fonctions de classification de paquets pour identifier les flux de trafic. En outre, il existe un délai entre la reconnaissance d'un flux sur le réseau et la création d'un label pour ce flux. - 10 -
  • 20. Chapitre I : MultiProtocol Label Switching Enfin, en présence d'un nombre important de flux de trafic (sur un grand réseau), le processus de distribution de labels peut devenir complexe et lourd à gérer. Les deux premières méthodes exposées sont des exemples d'assignation de labels établis à partir du modèle orienté contrôle ( control-driven), à savoir qu'à l'inverse du modèle précédent, les labels sont assignés et distribués préalablement à l'arrivée des données de trafic de l'utilisateur. C'est le modèle retenu et utilisé par MPLS. Voici les principaux protocoles de distribution de labels envisagés : • TDP (Tag Distribution Protocol) : Prédécesseur de LDP. • LDP (Label Distribution Protocol) : Protocole créé spécifiquement. • BGP (Border Gateway Protocol) : Amélioration de BGP pour la distribution des labels • PIM (Protocol Independent Multicast) : Amélioration de PIM pour la distribution des labels • CR-LDP (Constraint-based Routing LDP) : Amélioration de LDP • RSVP TE (Ressource ReSerVation Protocol Traffic Engineering) : Amélioration de RSVP Les quatre premières approches sont fondées sur la topologie (Topology-based). Les deux dernières approches sont fondées sur les requêtes (Request-based). Et ce sont ces deux protocoles de distribution de labels qui sont utilisés pour le MPLS Traffic Engineering. On va les revoir plus en détail dans le chapitre II et on va consacrer notre étude pratique à la simulation du protocole RSVP TE. 4.6 Modes de fonctionnement de quelques protocoles de distribution de label Le tableau [3] ci-dessous présente quelques protocoles de distribution de labels et leurs modes de fonctionnements respectifs : - 11 -
  • 21. Chapitre I : MultiProtocol Label Switching Protocole de Espace de distribution Contrôle Distribution Conservation Création label de label Downstream Topology- TDP et LDP Unordered Liberal Per platform unsolicited based TDP et LDP Downstream on Topology- Ordered Conservative Per interface (avec ATM) Demand based Downstream on Request- RSVP TE Ordered Conservative Per platform Demand based Unordered/ Downstream unsolicited/ Liberal/ Per platform/ Request- CR-LDP Ordered Downstream on Demand Conservative Per interface based Tableau 1.1 : Modes de fonctionnement de quelques protocoles de distribution de label 5 Les applications de MPLS La motivation primaire de MPLS était d'accroître la vitesse de traitement des paquets au niveau des nœuds intermédiaires. Cela dit, aujourd'hui MPLS offre peu sinon pas d'amélioration du tout dans ce sens : les routeurs actuels sont équipés avec des circuits et des algorithmes permettant un acheminement (forwarding) des paquets extrêmement rapide. Donc, traiter des paquets sur la base de label de 20 bits de MPLS n'est plus significativement rapide par rapport à traiter des paquets sur la base d'adresse de 32 bits de IP. Aujourd'hui, les motivations réelles pour déployer des solutions MPLS sont les applications que MPLS permet et qui étaient très difficiles voire impossibles à mettre en œuvre avec IP traditionnel. Ces applications sont très importantes pour les opérateurs et les ISP (Internet Service Provider), tout simplement parce qu'elles peuvent être vendues Il existe aujourd'hui quatre applications majeures de MPLS. Ces applications supposent la mise en œuvre de composants adaptés aux fonctionnalités recherchées. L'implémentation de MPLS sera donc différente en fonction des objectifs recherchés. Cela se traduit principalement par une façon différente d'assigner et de distribuer les labels (Classification, protocoles de distribution de labels). Le principe d'acheminement des paquets fondé sur l'exploitation des labels étant le mécanisme de base commun à toutes les approches. - 12 -
  • 22. Chapitre I : MultiProtocol Label Switching Les principales applications de MPLS concernent : • Any Transport over MPLS (AToM) ; • Le support des réseaux privés virtuels (MPLS VPN, Virtual Private Network) ; • Le support de la qualité de service (MPLS QoS) ; • Le Traffic Engineering (MPLS TE). 5.1 Any Transport over MPLS (AToM) Ce service traduit l'indépendance de MPLS vis-à-vis des protocoles de couches 2 et 3. AToM est une application qui facilite le transport du trafic de couche 2, tel que Frame Relay, Ethernet, PPP et ATM, à travers un nuage MPLS [3]. 5.2 Le support des réseaux privés virtuels (MPLS VPN) Un réseau privé virtuel (VPN) simule le fonctionnement d'un réseau étendu (WAN) privé sur un réseau public comme Internet. Afin d'offrir un service VPN fiable à ses clients, un opérateur ou un ISP doit alors résoudre deux problématiques essentielles : • Assurer la confidentialité des données transportées ; • Prendre en charge des plans d'adressage privé, fréquemment identiques. La construction de VPN repose alors sur les fonctionnalités suivantes : • Systèmes de pare-feu (Firewall) pour protéger chaque site client et permettre une interface sécurisée avec Internet ; • Système d'authentification pour vérifier que chaque site client échange des informations avec un site distant valide ; • Système de cryptage pour empêcher l'examen ou la manipulation des données lors du transport sur Internet ; • Tunneling pour permettre un service de transport multiprotocole et l'utilisation de plans d'adressage privés MPLS permet de résoudre efficacement la fonctionnalité de tunneling, dans la mesure où l'acheminement des paquets n'est pas réalisé sur l'adresse de destination du paquet IP, mais sur la valeur du label assigné au paquet [1]. Ainsi, un ISP peut mettre en place un VPN, en déployant un ensemble de LSP pour permettre la connectivité entre différents sites du VPN - 13 -
  • 23. Chapitre I : MultiProtocol Label Switching d'un client donné. Chaque site du VPN indique à l'ISP l'ensemble des préfixes (adresses) joignables sur le site local. Le système de routage de l'ISP communique alors cette information vers les autres sites distants du même VPN, à l'aide du protocole de distribution de labels. En effet, l'utilisation d'identifiant de VPN permet à un même système de routage de supporter multiples VPN, avec un espace d'adressage éventuellement identique. Ainsi, chaque LER place le trafic en provenance d'un site dans un LSP fondé sur une combinaison de l'adresse de destination du paquet et l'appartenance à un VPN donné. VPN 2 LER VPN 1 LER VPN 2 LER VPN 2 LER VPN 1 LER LER VPN 1 Figure 1.7 : MPLS VPN Il existe une autre approche permettant de mettre en œuvre des VPN sur les réseau IP : IPSec. IPSec privilégie la sécurisation des flux d'information par encryptage des données, alors que MPLS se concentre plutôt sur la gestion de la qualité de service et la priorité des flux. Le problème de sécurité dans MPLS VPN est minimal dans le cas où le réseau est propriétaire (non Internet). Cependant, si cette garantie n'est pas suffisante, il existe des solutions qui permettent d'utiliser en même temps MPLS et IPSec [2] et ainsi construire des VPN disposant des avantages des deux approches en même temps : la souplesse de MPLS et la sécurisation de IPSec. - 14 -
  • 24. Chapitre I : MultiProtocol Label Switching 5.3 Le support de la qualité de service (MPLS QoS) Le support de la QoS peut être mise en œuvre de deux façons sur MPLS [1] : • Les trafics sur un même LSP peuvent se voir affecter à différentes files d'attente dans les routeurs LSR, selon la valeur du champ EXP de l'en-tête MPLS (Voir Figure 1.3). Le principe du champ EXP dans MPLS est le même que le champ Precedence (PPP) dans IP (Voir plus haut le détail de ce champ). • L'utilisation du Traffic Engineering, 5.4 Le Traffic Engineering (MPLS TE) Cette application est en étroite relation avec la Qualité de Service, puisque sont résultat immédiat est l'amélioration de paramètres tel que le délai ou la gigue dans le réseau. Elle est tout de même considérée comme une application à part entière par la plupart des industriels. Ceci vient du fait que MPLS TE n'est pas une simple technique de réservation de ressources pour les applications réseau. C'est un concept plus global qui se veut être une solution qui vise à augmenter les performances générales du réseau en jouant sur la répartition équilibrée des charges (trafics) dans le réseau pour ainsi avoir une utilisation plus optimale des liens. Le Traffic Engineering va être repris d'une façon théorique dans le chapitre II, puis à travers les simulations dans les chapitres III et IV. Conclusion Même si le temps de routage n’est plus l’intérêt de cette technologie, MPLS est toujours très favorable pour s'imposer dans le monde des réseaux. Les offres MPLS au niveau de la qualité de service, de VPN ou de Traffic Engineering assureront à ce protocole un succès tant au près des utilisateurs que des opérateurs et fournisseurs de services. Son succès vient également du fait qu’il ne remet pas en cause les protocoles existants de niveau 2 et 3. Dans le chapitre qui va suivre, on va s'approfondir dans la notion de Traffic Engineering et voir comment MPLS traite ce concept. - 15 -
  • 25. Chapitre II : MPLS Traffic Engineering Chapitre II : MPLS Traffic Engineering (MPLS TE) Introduction Dans ce chapitre, on va commencer par expliquer la notion de Traffic Engineering et les améliorations qu'il permet d'apporter à l'utilisation du réseau. Ensuite, on va aborder les mécanismes et protocoles qui permettent de mettre en œuvre des solutions MPLS TE dans un réseau. 1 Les motivations du Traffic Engineering Le chemin le plus court R1 R5 Coût : 15 R6 R2 Coût : 15 Coût : 15 Coût : 15 Coût : 15 R7 Coût : 15 R3 R4 Coût : 15 Figure 2.1 : Le routage classique Dans la figure 2.1, Il existe deux chemins pour aller de R2 à R6 : • R2 à R5 à R6 • R2 à R3 à R4 à R6 En IP classique, Le protocole de routage (OSPF, IS-IS, etc.) va se baser sur le critère du plus court chemin [3]. Et puisque tous les liens ont le même coût (15), les paquets venant de R1 ou R7 est qui sont destinés à R6 vont tous suivre le même chemin (R2 à R5 à R6). - 16 -
  • 26. Chapitre II : MPLS Traffic Engineering Ceci peut conduire à quelques problèmes : supposant que tous les liens de la figure 2.1 supportent une bande passante de 150Mbps. Et supposant que R envoie en moyenne 90Mbps 1 à R6. Le protocole de routage va faire de sorte que ce trafic utilise le plus court chemin, soit R2 à R5 à R6. Si maintenant R7 veut envoyer 100Mbps à R6. La même procédure de routage fera que ce trafic utilisera aussi le chemin e plus court. En final, on aura deux trafics l de 190Mbps en total qui veulent tous deux utiliser le chemin le plus court (R2 à R5 à R6), alors que ce chemin ne peut supporter que 150Mbps. Ceci va induire des files d'attente et des pertes de paquets. Cet exemple est un cas explicite de sous utilisation des ressources du réseau vu que réellement, il existe un chemin dans le réseau qui n'est pas exploité et que son utilisation aurait permis de satisfaire les deux trafics. Comment peut on alors résoudre ce problème? Avec IP classique on pourra faire de sorte que les deux chemins aient le même coût. Cependant cette solution marche seulement avec des réseaux de petite taille comme dans notre cas. Mais que ce passera-t-il si au lieu d'avoir sept routeurs, on ait eu 500? Les réseaux ATM permettent aussi de réaliser une telle ingénierie des flux. Le problème c'est qu'ils introduisent en parallèle une grande complexité de gestion : en effet IP et ATM sont deux techniques réseaux totalement différentes, avec parfois des contraintes non compatibles. Contrairement aux solutions IP et ATM, MPLS va permettre une simplification radicale de l'intégration de cette fonctionnalité dans les réseaux. MPLS TE permet à l'ingress LER de contrôler le chemin que son trafic va emprunter pour atteindre une destination particulière. Ce concept est connu sous le nom de "Explicit Routing". Cette méthode est plus flexible que l'acheminement du trafic basé seulement sur l'adresse destination. MPLS TE réserve de la bande passante en construisant les LSP. Ainsi dans la topologie de la figure 2.2, LSR2 a la possibilité de construire deux LSP (Tunnel1 et Tunnel2) relatifs aux chemins : • LSR2 à LSR5 à LSR6 • LSR2 à LSR3 à LSR4 à LSR6 - 17 -
  • 27. Chapitre II : MPLS Traffic Engineering Les LSP ainsi construits sont appelés MPLS TE LSP ou TE tunnels. On s'approfondira dans les mécanismes de création des MPLS TE LSP dans le paragraphe 2. Tunnel1 R1 LSR5 Coût : 15 LSR6 LSR2 Coût : 15 Coût : 15 Coût : 15 Coût : 15 R7 Coût : 15 LSR3 LSR4 Coût : 15 Tunnel2 Figure 2.2 : Le Traffic Engineering selon MPLS La souplesse de l'utilisation des labels dans MPLS TE permet de profiter des avantages suivants : • Le routage des chemins primaires autour de points de congestion connus dans le réseau (le contournement de la congestion) ; • Le contrôle précis du re-routage de trafic, en cas d'incident sur le chemin primaire. (On sous-entend par re-routage : la modification du LSP en cas d'erreur (routeur en panne, manque de ressources)) ; • Un usage optimal de l'ensemble des liens physiques du réseau, en évitant la surcharge de certains liens et la sous-utilisation d'autres. C'est ce qu'on appelle l'équilibrage des charges ou load balancing. Le Traffic Engineering permet ainsi d'améliorer statistiquement les paramètres de QoS (Taux de perte, délai, gigue, etc.) Un exemple concret de Traffic Engineering est qu'il est possible de définir plusieurs LSP entre chaque couple de LER. Chaque LSP peut être conçu (grâce aux techniques de Traffic Engineering) pour fournir différentes garanties de bande passante ou de performances. - 18 -
  • 28. Chapitre II : MPLS Traffic Engineering Ainsi, l'ingress LER pourra placer le trafic prioritaire dans un LSP, le trafic de moyenne priorité dans un autre LSP et enfin le trafic best effort dans un troisième LSP. 2 Calcul et établissement des "MPLS TE LSP" Dans un protocole de routage à état de lien (tel que OSPF ou IS-IS), chaque routeur connaît tous les routeurs du réseau et les liens qui connectent ces routeurs. Aussi tôt qu'un routeur se fait une idée de la topologie du réseau, il exécute le "Dijkstra Shortest Path First algorithm" (SPF) pour déterminer le plus court chemin entre lui-même et tous les autres routeurs du réseau (Construction de la table de routage). Etant donné que tous les routeurs exécutent le même calcul sur les mêmes données, chaque routeur aura la même image du réseau, et les paquets seront routés de manière cohérente à chaque saut. Le processus qui génère un chemin pour un "MPLS TE LSP" est différent du SPF classique, mais pas trop. Il y a deux différences majeures entre le SPF classique, utilisée par les protocoles de routage, et le CSPF (Constrained Shortest Path First), utilisé par MPLS TE : • Le processus de détermination de chemin n'est pas conçu pour trouver le plus court chemin, mais il tient compte d'autres contraintes ; • Il y a plus d'une métrique à chaque nœud, au lieu d'une seule comme dans le cas de OSPF et IS-IS. A remarquer que l'administrateur n'est pas obligé de passer p CSPF pour calculer un ar MPTS TE LSP. Il peut manuellement imposer un chemin explicite à une FEC donnée. Dans certaines littératures, on appelle les TE LSP calculés par des algorithmes basés sur la situation du trafic des CR-LSP (Constraint-based Routing - LSP), et les TE LSP spécifiés explicitement par l'administrateur des ER-LSR (Explicit Routing - LSP). MPLS crée les LSP différemment selon qu'on utilise le Traffic Engineering ou non. La création d'un "MPLS LSP", dans le cas non TE, suit les deux étapes suivantes : • Calcul du "MPLS LSP" : Mise en œuvre de l'algorithme SPF (OSPF ou IS-IS). • Etablissement du "MPLS LSP" : Mise en œuvre d'un protocole de distribution de label Topology-based (LDP, BGP, PIM). - 19 -
  • 29. Chapitre II : MPLS Traffic Engineering La création d'un "MPLS TE LSP" suit les deux étapes suivantes : • Calcul du "MPLS TE LSP" : Mise en œuvre de l’algorithme CSPF ou intervention manuelle de l'administrateur pour imposer une route explicite. • Etablissement du "MPLS TE LSP" : Mise en œuvre d'un protocole de distribution de label Request-based (RSVP TE, CR-LDP). Après avoir calculer un chemin avec CSPF, ce chemin doit être signalé à travers le réseau, et ceci pour deux raisons : • Etablir une chaîne de labels qui représente le chemin ; • Réserver les ressources nécessaires (bande passante) à travers le chemin. Dans ce qui suit, on va détailler l'étape de l'établissement du "MPLS TE LSP" en examinant de prés le fonctionnement des protocoles de distribution de labels RSVP TE et CR- LDP. On va se concentrer plus sur RSVP TE vu que l'étude pratique porte sur ce protocole. 3 Resource ReSerVation Protocol - Traffic Engineering (RSVP TE) Ce protocole [3] est originalement destiné à être un protocole de signalisation pour IntServ (C'est un modèle de QoS où une machine demande du réseau une QoS donnée pour un fux donné). RSVP avec quelques extensions a été adapté par MPLS pour être un protocole l de signalisation qui supporte MPLS TE. Nous allons, dans cette partie, commencer par illustrer le format général des messages RSVP TE. Pour enfin expliquer avec plus ou moins de détails le fonctionnement de ce protocole. - 20 -
  • 30. Chapitre II : MPLS Traffic Engineering 3.1 Les messages RSVP TE 3.1.1 Les types de messages RSVP TE Il existe 9 types de messages RSVP TE qui sont résumés dans le tableau 2.1. Type de message Description Path Utilisé pour l'établissement et le maintien des chemins Resv Envoyé en réponse au message Path Analogue au message Path, mais utilisé pour supprimer les PathTear réservations du réseau Analogue au message Resv, mais utilisé pour supprimer les ResvTear réservations du réseau Envoyé par un récepteur d'un message Path qui détecte une erreur PathErr dans ce message Envoyé par un récepteur d'un message Resv qui détecte une ResvErr erreur dans ce message Optionnellement envoyé à l'émetteur d'un message Resv pour ResvConf confirmer qu'une réservation donnée est bien établie Analogue à ResvConf. Optionnellement envoyé à l'émetteur d'un ResvTearConf message ResvTear pour confirmer qu'une réservation donnée est supprimée Hello Envoyé entre voisins directement connectés Tableau 2.1 : Les messages RSVP TE 3.1.2 Le format des messages RSVP TE Un message RSVP TE est constitué d'un en-tête commun (commun Header) et d'un nombre variable d'objets selon le type de message (voir figure 2.4). En-tête MAC En-tête IP Message RSVP TE Figure 2.3 : L'encapsulation des messages RSVP TE - 21 -
  • 31. Chapitre II : MPLS Traffic Engineering 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Version Flags Message type RSVP checksum Common Header Send TTL Reserved RSVP length Objects Figure 2.4 : Format des messages RSVP TE Version (4 bits) : La version du protocole RSVP. La version actuelle de RSVP est 1. Flags (4 bits) : Encore non définit. Message Type (8 bits) : 1 = Path message 6 = ResvTear message 2 = Resv message 7 = ResvConf message 3 = PathErr message 10 = ResvTearConf message 4 = ResvErr message 20 = Hello message 5 = PathTear message RSVP Checksum (16 bits) : Utilisé pour la détection d'erreur. Même principe que pour le champ Chechsum de IP. Send TTL (8 bits) : Contient la valeur du TTL, dans la paquet IP, avec lequel ce message a été envoyé. Reserved (8 bits) : Non utilisé. RSVP Length (16 bits) : La longueur de message RSVP en octet, common header inclus. La valeur de ce champ est donc toujours supérieure à 8. 3.1.3 Le format des objets RSVP TE Chaque message RSVP TE peut contenir plusieurs objets. Le format général d'un objet RSVP TE est le suivant : 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Object length Class-num C-type Object contents Figure 2.5 : Format des objets RSVP TE - 22 -
  • 32. Chapitre II : MPLS Traffic Engineering Object Length (16 bits) : La longueur de l'objet RSVP en octet, en-tête de l'objet inclus. La valeur de ce champ est donc toujours supérieure à 4. Class-Num (8 bits) : La classe de l'objet. C-Type (8 bits) : Le type de classe de l'objet. Object Contents (longueur variable) : L'objet lui-même. Chaque classe a son propre espace de numéro C-Type. Par exemple, la classe SESSION a 4 C-Types : IPv4, IPv6, LSP_TUNNEL_IPv4, et LSP_TUNNEL_IPv6. Les numéros assignés à ces C-Types sont 1, 2, 7 et 8. LABEL_REQUEST a 3 C-Types : Without Label Range, With ATM Label Range, and With Frame Relay Label Range. Les numéros assignés à ces C-Types sont 1, 2, et 3. Ainsi pour identifier le contenu d'un message, on doit prendre en compte les n uméros de classe et le numéro de C-Type. On peut voir les classes et C-Types comme une sorte du numérotation hiérarchique. 3.1.4 Le format des messages Path et Resv En voici le format des deux principaux messages de RSVP TE ([..] : optionnel) : Common Header [INTEGRITY] Common Header SESSION [INTEGRITY] PHOP SESSION TIME_VALUES NHOP [EXPLICIT_ROUTE] TIME_VALUES [RESV_CONFIRM] LABEL_REQUEST Objets [SCOPE] [SESSION_ATTRIBUTE] [POLICY_DATA] [POLICY_DATA] STYLE SENDER_TEMPLATE FLOWSPEC SENDER_TSPEC FILTER_SPEC [ADSPEC] LABEL [RECORD_ROUTE] [RECORD_ROUTE] Figure 2.6 : Format du Path message Figure 2.7 : Format du Resv message - 23 -
  • 33. Chapitre II : MPLS Traffic Engineering Chacun des objets contenus dans un message RSVP TE rempli une fonction de signalisation particulière. Des exemples seront donnés dans le paragraphe suivant. 3.2 Le fonctionnement de RSVP TE RSVP TE est un mécanisme de signalisation utilisé pour réserver des ressources à travers un réseau. RSVP TE n'est pas un protocole de routage. Toute décision de routage est faite par IGP (Interior Gateway Protocol). Le seul travail de RSVP TE est de signaler et de maintenir la réservation de ressources à travers le réseau. RSVP TE a trois fonctions de base : • L'établissement et la maintenance des chemins (Path setup and maintenance) • La suppression des chemins (Path teardown) • La signalisation des erreurs (Error signalling) RSVP TE est un "soft-state protocol". Cela veut dire qu'il a besoin de rafraîchir périodiquement ses réservations dans le réseau. Ceci est différent des "hard-state protocol", qui signalent leurs requêtes une seule fois et puis supposent qu'elle reste maintenue jusqu'à sa résiliation explicite. Avec RSVP TE, une requête est résiliée si elle l'est explicitement du réseau par RSVP TE ou si la durée de réservation expire. 3.2.1 L'établissement et la maintenance des chemins Bien que l'établissement et la maintenance des chemins soient des concepts très proches et utilisent les mêmes formats de messages, toutefois, ils différent légèrement. C'est pourquoi, on va les expliquer séparément. • L'établissement des chemins Après que l'ingress LER (appelé aussi MPLS TE tunnel headend ou headend) ait terminé sa procédure CSPF pour un tunnel particulier, il doit signaler le chemin trouvé à travers le réseau. Le headend réalise cette opération en envoyant un Path message au prochain saut (next hop) dans le chemin calculé vers la destination. Ce Path message contient un objet EXPLICIT_ROUTE qui contient le chemin calculé par CSPF sous la forme d'une séquence de nœuds. Le headend ajoute un objet LABEL_REQUEST qui indique qu'une association de label est requise pour ce chemin et quel type de protocole - 24 -
  • 34. Chapitre II : MPLS Traffic Engineering réseau sera véhiculé sur ce chemin. Enfin, un objet SESSION_ATTRIBUTE peut être ajouté au Path message pour faciliter l'identification de la session et les diagnostics. Finalement, le Path message est acheminé vers le l'Egress LER (appelé aussi MPLS TE tunnel tail ou tail) en suivant la route spécifiée dans l'objet EXPLICIT_ROUTE. Au fur est à mesure de l'avancement du Path message, chaque LSR intermédiaire effectue les deux actions suivantes : • Il vérifie le format du message pour s'assurer qu'il n'est pas corrompu • Il vérifie la quantité de bande passante que le Path message reçu demande en utilisant les informations contenues dans les objets SESSION_ATTRIBUTE, SENDER_TSPEC et POLICY_DATA. Ce processus est appelé "contrôle d'admission". Si le contrôle d'admission réussit et le Path message est autorisé à réserver la bande passante qu'il demande, le LSR intermédiaire crée un nouveau Path message et l'envoie au "next hop" (en se référant à l'objet EXPLICIT_ROUTE). Les Path messages refont cette procédure avec tous les routeurs du chemin à établir jusqu'à atteindre le dernier nœud dans l'EXPICITE_ROUTE. Le tunnel tail réalise le contrôle d'admission en le Path message, exactement comme n'importe quel nœud intermédiaire. Quand le tail réalise qu'il est la destination du Path message, il répond par un Resv message. On peut considérer le Resv message comme un acquittement (ACK) pour le saut précédent (Previous Hop, PHOP). Le Resv message n'est pas qu'un acquittement témoignant de la réussite de la réservation, mais il contient aussi le incoming label que le Previous Hop doit utiliser pour l'envoie de paquets de données le long du TE LSP jusqu'au tail. En effet, L'objet LABEL_REQUEST (Path message) réclame aux LSR traversés et au tail une association de label pour la session. Le tail répond au LABEL_REQUEST en incluant un objet LABEL dans son message de réponse RESV. Puis le RESV message est renvoyé vers le headend, en suivant le chemin inverse à celui spécifié dans l'objet EXPLICIT_ROUTE. Chaque LSR qui reçoit le message RESV contenant l'objet LABEL utilisera ce label pour le trafic de donnée sortant. Si le LSR n'est pas le headend, il alloue un nouveau label qu'il place dans l'objet LABEL du RESV message, et qu'il fait transiter sur le chemin inverse (grâce à l'information PHOP qu'il aura mémorisée lors du passage du PATH message pendant le processus d'aller). Quand le RESV message arrive au headend, le TE LSP est effectivement créé. A l'issue de la création de ce LSP, des messages de rafraîchissement RSVP TE devront être émis périodiquement afin de maintenir le LSP créé (soft-state protocol). - 25 -
  • 35. Chapitre II : MPLS Traffic Engineering Nous allons résumer le processus d'établissement des chemins avec l'exemple de la figure 2.8 : R1 R4 (10) L=18 R6 (6) L=implicit -null (1) R2 R7 L=42 (5) R8 (9) (7) L=21 (4) (2) R3 (8) L=10921 R5 (3) PATH RESV Figure 2.8 : Path et Resv messages, lors de l'établissement de chemin Supposant que R1 a déjà réalisé sa procédure CSPF et a déjà décidé des besoins en bande passante qu'il veut réserver le long du chemin (R1àR2àR3àR5àR6àR7) : (1) R1 envoie un Path message à R2. R2 reçoit le Path message, vérifie le format du message et la disponibilité de la bande passante demandée par R1. S'il y a un problème, R envoie un message d'erreur (PathErr) vers R Si tout se passe bien, on 2 1. passe à l'étape (2) (2) R2 envoie un Path message à R3. R3 fait les mêmes vérifications que dans l'étape(1) (3) R3 envoie un Path message à R5. Réalisation des mêmes vérifications. (4) R5 envoie un Path message à R6. Réalisation des mêmes vérifications. (5) R6 envoie un Path message à R7. Réalisation des mêmes vérifications. (6) R7, étant le tunnel tail, envoie un Resv message à R6. Ce Resv message contient le label que R7 veut voir dans les paquets de ce tunnel. Puisque R est le tail, il envoie 7 un label= implicit-null=3. (7) R6 envoie un Resv message à R5 et indique qu'il veut voir un incoming label 42 dans les paquets de ce tunnel. Ceci veut dire que quand R reçoit le label 42, il enlève ce 6 label (à cause de l'implicit-null) et envoie le paquet vers R7. (8) R5 envoie un Resv message à R3 et indique qu'il veut voir un incoming label 10921 dans les paquets de ce tunnel. Ceci veut dire que quand R reçoit un paquet de donnée 5 avec le label 10921, il le change (swapping) en 42 et envoie le paquet vers R6. - 26 -
  • 36. Chapitre II : MPLS Traffic Engineering (9) R3 envoie un Resv message à R2, en signalant le label 21 (10)R2 envoie un Resv message à R1, en signalant le label 18 ; A ce stade, Le TE LSP est complètement établie entre R et R7. Le headend (R1) peut alors 1 commencer à envoyer les données. • La maintenance des chemins D'un premier coup d'œil, la maintenance des chemins et très similaire à l'établissement des chemins : chaque 30 secondes (Plus ou moins 50%), le headend envoie un Path message par tunnel. Si un routeur envoie quatre Path messages successifs et ne reçoit pas de Resv message correspondant, il considère la réservation supprimée et envoie un message dans le sens inverse indiquant que la réservation est supprimée. Cependant, il y a une chose importante à comprendre ici. Path et Resv messages sont tous les deux envoyés d'une façon indépendante et asynchrone d'un voisin à un autre. Si on regarde encore une fois la figure 2.8, chaque 30 secondes, R envoie un Path message à R2 pour la 1 réservation qu'il a effectué. Et chaque 30 secondes, R envoie un Resv message à R1 pour la 2 même réservation. Cependant, les deux messages ne sont pas connectés. Un Resv message utilisé pour rafraîchir une réservation existante n'est pas envoyé en réponse à un Path message, comme c'est le cas de ICMP Echo Reply qui est envoyé en réponse à un ICMP Echo Request. On n'a pas de comportement ping/ACK avec Path et Resv messages. 3.2.2 La suppression des chemins La suppression des chemins est une procédure assez simple. Si un nœud décide qu'une réservation n'est plus nécessaire dans un réseau, il envoie un PathTear le long du même chemin que le Path message a suivi et un ResvTear le long du même chemin que le Resv message a suivi. ResvTear messages sont envoyés en réponse aux PathTear messages pour signaler que le tunnel tail a supprimé la réservation du réseau. Exactement comme les messages de rafraîchissement, PathTear messages n'ont pas à traverser la totalité du chemin avant que leur effet ne prend place. Dans la figure 2.8, si R1 envoie un PathTear à R2, R2 répond immédiatement par un ResvTear et puis envoie son propre PathTear au next hop. - 27 -
  • 37. Chapitre II : MPLS Traffic Engineering 3.2.3 La signalisation des erreurs De temps en temps, des problèmes peuvent avoir lieu dans le réseau (Bande passante non disponible, boucle de routage, routeur intermédiaire ne prend pas en charge MPLS, message corrompu, création de label impossible, etc.). Ces erreurs sont signalées par PathErr ou ResvErr messages. Une erreur détectée dans un Path message est traitée par un PathErr message, et une erreur détectée dans un Resv message est traitée par un ResvErr message. Les messages d'erreurs sont envoyés vers la source de l'erreur ; le PathErr est envoyé vers le headend, et un ResvErr est envoyé vers le tail. 4 Constraint-based Routing over Label Distribution Protocol (CR-LDP) Des modifications ont été apportées au protocole LDP pour permettre la spécification du trafic. Ce protocole a été nommé CR-LDP (Constraint-based Routing over Label Distribution Protocol) [4]. L'idée de ce protocole était d'utiliser un protocole de distribution de label déjà existant et de lui ajouter la capacité de gérer le Traffic Engineering. Sans entrer dans les détails de LDP, CR-LDP ajoute des champs à ceux déjà définis dans LDP, tel que "peak date rate" et "committed data rate". Le premier indique le débit maximum avec lequel un trafic peut être envoyer via le TE LSP et le deuxième indique le débit garanti par le domaine MPLS pour ce trafic. La gestion des réservations dans CR-LDP est très similaire à celle utilisée dans les réseaux ATM, Alors que RSVP TE utilise plutôt le modèle de IntServ. 4.1 Les messages CR-LDP Il y a quatre catégories de message CR-LDP : • Discovery messages : utilisés pour annoncer et maintenir la présence des LSR dans le réseau. Ceci est réalisé par l'envoie périodique de messages Hello. • Session messages : utilisés pour établir, maintenir et libérer des sessions entre des voisins LDP. • Advertisement messages : utilisés pour créer, changer et libérer des associations de FEC et LSP. - 28 -
  • 38. Chapitre II : MPLS Traffic Engineering • Notification messages : utilisés pour véhiculer les informations de supervision. Il y a deux sortes de Notification messages : - Error notifications : utilisés pour signaler les erreurs fatales. Quand ces messages sont reçus, la session LDP est terminée et toutes les associations de labels correspondantes sont annulées. - Advisory notifications : utilisés pour véhiculer des informations sur la session LDP. 4.2 Le fonctionnement de CR-LDP On va expliquer d'une façon concise les étapes qui aboutissent à l'établissement d'un CR-LDP LSP. Pour cela, examinant la figure 2.9 : (1) (2) LABEL REQUEST (B,C) LABEL REQUEST (C) LSR A LSR B LSR C Ingress LABEL MAPPING (17) LABEL MAPPING (32) Egress (5) (4) (3) Figure 2.9 : Etablissement d'un CR-LDP LSP (1) Ingress LSR A détermine qu'il a besoin d'établir un nouveau LSP vers LSR C en passant par LSR B. Pour cela, LSR A envoie à LSR B un LABEL_REQUEST message avec l'explicit route (B,C) et le détail des paramètres du trafic nécessaire pour cette nouvelle route. (2) LSR B reçoit le LABEL_REQUEST message, réserve les ressources demandées, modifie l'explicit route dans le LABEL_REQUEST message et fait suivre le message à LSR C. Si nécessaire, LSR B peut réduire les réservations demandées dans le cas où les paramètres correspondant sont marqués négociables dans le LABEL_REQUEST message. (3) LSR C détecte que c'est lui l'egress LSR. Il fait les mêmes activités de réservation et de négociation que LSR B. Il alloue un label pour le nouveau LSR et l'envoie à LSR B dans un LABEL_MAPPING message. Ce message contient aussi les détails des paramètres finaux du trafic pour cet LSP. - 29 -
  • 39. Chapitre II : MPLS Traffic Engineering (4) LSR B reçoit le LABEL_MAPPING message, il finalise la réservation, alloue un label pour le LSP et met à jour sa table de labels. Ensuite, il envoie le nouveau label à LSR A dans un autre LABEL_MAPPING message. (5) Le même processus se réalise dans LSR A. Mais vu que LSR A est l'ingress LSR, il n'aura pas à allouer un label. Ainsi le nouveau LSR est établi et les données peuvent y transiter. Aujourd'hui dans l'industrie, on trouve que Cisco et Jupiter favorise RSVP TE alors que Nortel favorise CR-LDP. CR-LDP est un hard-state protocol : c'est-à-dire qu'une fois un LSR est établi, il restera maintenu jusqu'à sa libération explicite. Ce qui n'est pas le cas RSVP TE qui doit périodiquement entretenir ses LSP par des messages de signalisation (soft-state protocol). Cette différence permet à certain de dire que CR-LDP est plus scalable (résistant à l'augmentation de la taille du réseau), vu que dans le cas de RSVP TE, plus le réseau est étendue plus il sera encombré par des messages de rafraîchissement. Malgré ceci, RSVP TE parait être plus favorable à s'imposer comme protocole supportant le Traffic Engineering. Ceci peut s'expliquer par le fait que RSVP est plus ancien que CR-LDP et par conséquent plus mature et franc de bugs ; d'autant plus que le constat qu'on a fait sur la scalabilité de ce protocole est très discutable. Conclusion Au terme de ce chapitre, nous avons terminé l'étude théorique de la technologie MPLS: nous avons passé en revu son fonctionnement, ses principales composantes et nous avons mis l'accent sur l'application TE. Nous essayerons de montrer, dans les chapitres suivants, l'intérêt et de MPLS et son apport pour un opérateur ou un fournisseur de service en terme de "Traffic Engineering". - 30 -
  • 40. Chapitre III : Implémentation et simulation des fonctionnalités de MPLS TE Chapitre III : Implémentation et simulation des fonctionnalités de MPLS TE Introduction Le but de ce chapitre est de mettre en évidence les fonctionnalités de MPLS TE en utilisant la simulation comme moyen d'évaluation. On va commencer par expliciter les paramètres sur lesquels on va se baser dans notre évaluation, à savoir les paramètres de Qualité de Service. Ensuite, on va présenter l'environnement de simulation utilisé, pour enfin expliquer la simulation étudiée et procéder à l’analyse des résultats obtenus. 1 La qualité de service La qualité de service (QoS) [5] décrit le niveau de performance attendu d'une application, d'un serveur, d'un réseau ou de tout autre dispositif. Par exemple pour une application, les paramètres principaux à envisager pour évaluer la QoS sont en général la bande passante, le taux de perte en paquets, le délai de bout en bout et la gigue [6]. 1.1 Bande Passante (Bandwidth) Terminal A Terminal B 10Mbps 128 kbps 100 Mbps 512 kbps Figure 3.1 : Illustration du concept de bande passante Dans l'exemple ci-dessus, La bande passante que peut utiliser le Terminal A pour communiquer avec le Terminal B est simple à calculer : c'est la bande passante que peut offrir le plus faible des liens soit 128 kbps. Ceci dans le cas où le réseau est vide. Il en est autrement s'il existe plusieurs flux qui traversent le réseau. Le calcul de la bande passante est d'autant plus complexe qu'il y a de considérations à respecter (capacité du lien, nombre de flux et leurs demandes respectives, priorité, réservation préalable, etc.) - 31 -
  • 41. Chapitre III : Implémentation et simulation des fonctionnalités de MPLS TE 1.2 Perte en paquets (Paquet Loss) Généralement, la perte de paquets a lieu lorsque le routeur manque d'espace dans le buffer d'une interface : ainsi, lorsque la file d'attente de sortie d'une interface particulière est saturée, les nouveaux paquets qui seront dirigés vers cette interface vont être rejeter. Les routeurs peuvent rejeter un paquet pour d'autres raisons, par exemple : • Le CPU (Central Processing Unit) est congestionné et ne peut p traiter le paquet (la as file d'attente d'entrée est saturée) ; • Le routeur détecte une erreur dans le paquet (Paquet corrompu) ; • Le routeur rejette les paquets les moins prioritaires en cas de congestion dans le réseau. D'autres facteurs peuvent constitués des causes pour la perte de paquets tel que : • L'erreur de routage ; • La fiabilité du media de transmission. La perte peut s'exprimer en pourcentage de paquets perdus par rapport aux paquets émis, ou tout simplement en nombre de paquets perdus par unité de temps. 1.3 Délai de bout en bout (End to End Delay) Terminal A Terminal B Délai de Délai de Délai de Délai de propagation propagation propagation propagation Délai de traitement et Délai de traitement et Délai de traitement et de mise en file d'attente de mise en file d'attente de mise en file d'attente Figure 3.2 : Illustration du concept de délai de bout en bout Le délai de transmission de bout en bout est le temps écoulé entre l'émission du paquet et sa réception à l'arrivée. La figure 3.2 illustre l'impacte qu'a le r éseau sur le délai de bout en bout des paquets transmis d'un Terminal A vers un Terminal B. Chaque saut dans le réseau ajoute un délai supplémentaire dû aux trois facteurs suivant : • Délai de propagation : C'est le temps que prend la transmission d'un bit via le média de transmission (paire torsadée, fibre optique, voie radio, etc.) - 32 -
  • 42. Chapitre III : Implémentation et simulation des fonctionnalités de MPLS TE • Délai de traitement : C'est le temps que consomme un routeur pour prendre un paquet de l'interface d'entrée et le mettre dans la file d'attente de l'interface de sortie. Ce délai dépend de plusieurs facteurs tel que : - La vitesse du CPU ; - L'utilisation du CPU ; - Le mode de commutation IP (routage IP classique, utilisation de la commutation de label, etc.) ; - L'architecture du routeur ; - La taille du paquet. • Délai de mise en file d'attente : C'est le temps que le paquet passe dans la file d'attente de sortie du routeur. Il dépend du nombre et de la taille des paquets déjà dans la file et de la bande passante de l'interface. Il dépend aussi du mécanisme de file d'attente adopté. Le délai de bout en bout est la somme de tous les délais (propagation, traitement et file d'attente) à travers le chemin parcouru depuis la source jusqu'à la destination. Le délai de propagation est fixe (ne dépend que du média de transmission), alors que le délai de traitement et le délai de mise en file d'attente sont variables (dépendent du trafic). 1.4 Gigue (Jitter) C’est la variation (en ms) du délai entre les paquets consécutifs (Voir Figure 3.3). La présence de gigue dans les flux peut provenir des changements d'intensité de trafic sur les liens de sorties des commutateurs. Plus globalement, elle dépend du volume de trafic et du nombre d'équipements sur le réseau. La gigue affecte les applications qui transmettent les paquets à un certain débit fixe et s'attendent à les recevoir au même débit (par exemple : voix et vidéo). - 33 -
  • 43. Chapitre III : Implémentation et simulation des fonctionnalités de MPLS TE Emission Réception Gigue Figure 3.3 : Illustration du concept de la gigue 1.5 Les exigences des différentes applications IP en terme de QoS Les problèmes de qualité de service sont pratiquement inexistants en téléphonie commutée ; puisque cette dernière utilise la commutation de circuit qui consiste en l'établissement d'une connexion physique de bout en bout, dédiée à chaque paire d'émetteurs récepteurs. Dans le monde IP, La QoS est un passage obligatoire. Car contrairement au réseau téléphonique commuté, les réseaux IP véhiculent une multitude d'applications qui différent par leurs exigences en terme de QoS. Ces applications concourent pour se partager une quantité de ressources limitée offerte par le réseau. C'est pourquoi il est primordial de pouvoir cerner les besoins nécessaires (le besoin minimum) mais aussi suffisants (pas de gaspillage) pour chaque type particulier d'application en terme de QoS. Bande Sensibilité à Sensibilité au Sensibilité à Type d'application passante la perte en délai la gigue requise paquets Voix (VoIP) Elevé Moyenne Elevé Elevé Vidéo Elevé Moyenne Elevé Elevé (Vidéoconférence) Application interactive Non Moyenne Elevé Moyenne (HTTP, jeux en ligne) importante Non Best effort (FTP) Moyenne Elevé Faible importante Non Background (mail) Faible Elevé Faible importante Tableau 3.1 : Les exigences des différentes applications IP en terme de QoS - 34 -
  • 44. Chapitre III : Implémentation et simulation des fonctionnalités de MPLS TE Dans le tableau ci-dessus, il est intéressant de remarquer - à titre d'exemple - que les applications temps réel (voix, vidéo) sont très sensibles au délai et à la gigue, ce qui n'est pas le cas des applications orientées donnée. En contre partie, les applications temps réel sont assez tolérantes aux pertes alors qu'une application comme mail ou FTP ne tolère pas du tout les pertes. 2 L'environnement de simulation 2.1 L'intérêt d’utiliser un simulateur Les mécanismes utilisés dans les réseaux IP (protocole de routage, file d'attente et dans notre cas MPLS) doivent être évalués afin de mesurer les performances des stratégies utilisées et de tester leur fiabilité. L'utilisation d'un réseau réel dans une évaluation est difficile et coûteuse, en outre de telles évaluations ne donnent généralement pas des résultats significatifs. Le réseau réel n'offre pas la souplesse de varier les différents paramètres de l'environnement et pose en plus le problème d'extraction de résultats ; c'est pour cela que la majorité des travaux d'évaluation de performances utilisent le principe de simulation vu les avantages qu'il offre. En effet, la simulation permet de tester les protocoles sous une variété de conditions. Pour notre projet, nous avons choisi de travailler avec « Network Simulator 2 (NS2) ». 2.2 Présentation de NS2 NS ou "Network Simulator" [7] est un simulateur de r éseau IP, à évènements discrets, orienté objet. C’est un projet piloté par l’ISI (University of Southern California, USA). Il est gratuit, open source, portable et mis à jour régulièrement. Il tourne sur plusieurs distributions d’UNIX et de Windows. C’est le simulateur le plus utilisé dans la communauté scientifique. Il permet à l’utilisateur de simuler plusieurs communications entre les différents nœuds d’un réseau. Il est bien adapté pour simuler la circulation de paquets dans les réseaux commutés. Il est principalement utilisé pour tester des algorithmes de file d’attente, de contrôle de congestion, des protocoles de transport, des protocoles de routage, le multicast et la mobilité. - 35 -