Вы находитесь на странице: 1из 64

DEPARTEMENT DE SCIENCE INFORMATIQUE

PROJET DE FIN D’INFORMATION

ETUDE D’UN RESEAU MPLS SUR NS-2

PRESENTE A

La Faculté Pluridisciplinaire Nador

POUR OBTENIR

LA LICENCE FONDAMENTAL EN
MATH-INFOMATIQUE
PAR
KMOUT Achraf et EL MARRAKI Yassin

Encadré par : Professeur Mostapha BADRI

Année universitaire : 2018/2019


2
Remerciements

Aux termes de ce travail, nous tenons à remercier, Mr.Mostapha


BADRI , notre encadreur pour ses conseils, son assistance et pour le
temps qu’il nous accordé
durant la période de ce travail .

Je tiens également à remercier.


A tous ceux qui ont contribué, de près ou de loin, à la finalisation de
ce travail.

Pour conclure je remercie également les membres de jury d’avoir


accepté d’évaluer ce travail, ainsi que tous les enseignants de la Faculté
pluridisciplinaire de nador de nous avoir apporté leur savoir-faire, leur
expérience et leur disponibilité tout au long de notre formation.

3
4
RESUME

A la fin de l’année 2003, MPLS (Multi Protocol Label Switching) est devenu
un sujet de rechercher très convoités par la communauté scientifique. MPLS est
une architecture réseau qui permet d’acheminer des données en utilisant un
système de « Label » qui permet de fournir un service basé sur la commutation de
paquets et qui unifie le transport des données. Dans le monde les
télécommunications, La qualité de service QoS dans les réseaux téléphoniques a
toujours tenu une place importante voire prépondérante dans la conception des
architectures de réseaux.
Dans ce travail nous avons menés des études sur le protocole MPLS qui est
la convergence des évolutions des protocoles d’inter connexion des réseaux,
depuis les années 60 et 70, et on a essayé de configurer un réseau entre plusieurs
nœud (routeur) sur le simulateur de recherche NS.2 avec Tool Command
Language (abréviation : Tcl) qui est un langage de script et oTCL (oriente tcl).

5
Table des Matières

INTRODUCTION GENERAL 12

I. HISTORIQUE: DE X25 JUSQU’A MPLS 13


I.1 X25 protocole d’ancienne génération : 13

I.2 RNIS comme Protocol plus efficace 16

I.3 Frame Relay Protocol basé sur X25 : 17


I.3.1 FR EST UN PROTOCOL DYNAMIQUE : 18
I.3.2 DE FR VERS FRF : 19

I.4 L’entrer de l’ ATM 20


I.4.1 Le deoloiment de l’ATM 20
I.4.2 IP/ATM: 21

I.5 Migration d’ATM vers MPLS 22

I.6 Conclusion 22

II. LES RESEAUX MPLS : 24


II.1 Introduction : 24

II.2 Définition de MPLS : 24

II.3 Composant du réseau MPLS: 25


II.3.1 LER (Label Edge Router): 26
II.3.2 LSR (Label Switching Router): 26
II.3.3 LSP (Label Switched Path): 26
II.3.4 FEC (Forwarding Equivalence Class): 26
II.3.5 LDP (Label Distribution Protocol) : 27

II.4 Principe de fonctionnement de MPLS : 27


II.4.1 Label : 28

II.5 La structure fonctionnelle du MPLS : 29


II.5.1 La méthode « Explicit Routing »: 31
II.5.2 Le protocole de routage OSPF : 34
6
II.6 Les applications de la technologie MPLS : 34
II.6.1 VPN/MPLS : 34
II.6.2 Quality of Service : 35
II.6.3 Traffic Engineering: 35

III. APPLICATION 37
III.1 INTRODUCTION : 37

III.2 L'environnement de simulation NS2 37


III.2.1 Présentation de NS2 37
III.2.2 Composants de NS2 38
III.2.2.1 Langages 38
III.2.2.2 Pourquoi deux langages? 40
III.2.2.3 L'outil de visualisation NAM 40
III.2.2.4 L'outil de traçage des courbes xgraph 42
III.2.3 Fonctionnement de NS2 43
III.2.4 Avantages, limites et difficultés de NS2 44
III.2.5 Les tapes d’installation de ns2 sur UBUNTU 18.04 45
III.2.5.1 Installation deNS2 45

III.3 BRAITE un simulateur supplementary pour enrichir l’étude. 50


III.3.1 Coup d’œil sur BRITE 50

III.4 Mise en place : 54


III.4.1 INTRODUCTION : 54
III.4.2 Le code de fichier TCL : 54
III.4.3 Les résultats sur nam : 58
III.4.4 Conclusion 61

IV. CONCLUSION GÉNÉRAL 62

7
LISTE DES FIGURES :

Figure 1.1: Accès par réseau à commutation de circuits ……………………………………………………………

Figure 1.2: Niveau trame ; liaison unique……………………………………………………..…………………………………..

Figure 1.3: Circuit virtuel……………………………………………………………….………………………………………………….

Figure 1.4: réseau étendu frame Relay…………………………………….……………………………………………………

Figure 2.1: La couche MPLS………………………………………………………………………………………………………………

Figure 2.3: Exemple d'un réseau MPLS. ………………………………………………..……………………………………………….

Figure 2.3 Détails d'un label MPLS. ……………………………………………………………………………………………………….

Figure 2.4: Architecture logicielle MPLS. …………………………………………..……………………………………………………

Figure 2.5 Routage implicite des labels………………………………………….………………………………………………………

Figure 2.6 Routage explicite des labels. …………………………………………………………………………………………………

Figure 2.6 Principe de fonctionnement d'un LDP…………………………..………………………………………………………….

Figure 2.7 Fonctionnement de mode « Downstream Unsolicited» ………….…………………………………………………

Figure 2.7 Fonctionnement du mode « Downstream on demand………………..………………………………………………

Figure 3.1 network smulator nam …………………………………….…………………………….……………

8
Figure 3.2 fenêtre nam visualise 4 nœuds interagissant …………………………………………………………………………………….

Figure 3.3 xgraph-sur-ns2-simple-output-screen……………………………………………..………………………………………………..

Figure 3.4 Les étapes d’une simulation sur NS2 …………………………………………………………………………………………………

Figure 3.4(1) le main fenetre de BRITE …………………………………………………………….……………

Figure 3.4(2) BRITE ……………………………………………………………………………………………………………………………..

Figure 3.5 La topologie de simulation visualis ée par NAM…………………………………………………………

Figure 3.6: à 0,16 seconde commutation de paquets……………………………………………….………………….

Figure 3.7 à 0,70 seconde CR-LDP Demander un message pour un ER-LSP…………………………….……………

Figure 3.8 à 0,70 seconde CR-LDP Message de mappage pour un ER-LSP………………………………..…………

Figure 3.9 à 0,90 établir le Flux de trafic sur le ER-LSP………………………………………………………………

9
Liste Des Acronyms

ADSL: Asymmetric Digital Subscriber


ATM: Asynchronous Transfer Mode
CoS: Class of Service
CR-LDP: Constraint based Routing-LDP
CSPF: Constraint Shortest Path First
DCI: Data Center Interconnect
CBR: Constant Bit Rate
DLCI: Data Link Connection Identifier
DV: Distance Vector
ELSR: Edge Label Switching Router
ETTB: Ethernet To The Business
ETTH: Ethernet To The Home
FEC: Forwarding Equivalence Class
FR : Frame Relay
FTP: File Transfer Protocol
GNU: General Public License
HTTP: HyperText Transfer Protocol
IETF: Internet Engineering Task Force
IGP: Internal Gateway Protocol IP: Internet Protocol
IPSec: Internet Protocol Security IS-IS: Intermediate System to
Intermediate System
LDP: Label Distribution Protocol
LFIB: Label Forwarding Information Base
LIB: Label Information Base LS: Ligne Spécialisée
LSP: Label Switched Path
LSR: Label Switching Router
MAC: Media Access Control
MPLS: Multi-Protocol Label Switching
NAM: Network AniMator NS: Network Simulator
OS: Operating System
OSI: Open System Interconnection
OSPF: Open Shortest Path First

10
OTCL: Object Tools Command Language
PE: Provider Edge
PoP: Point of Presence
PPP: Point to Point Protocol
QoS: Quality of Service
RIP: Routing Information Protocol
SPF: Short Path First
TCL: Tool Command Language
TE: Traffic Engineering
TDP: Tag Distribution Protocol
VPN: Virtual Private Network
WAN: Wide Area Network
RNIS : Réseau Numérique à Integration de Services

11
INTRODUCTION GENERAL
Au début de l'Internet, la préoccupation majeure était de transmettre les paquets
à destination. Ensuite, des mécanismes inhérents au protocole « Transmission Control
Protocol» (TCP) ont été développés pour faire face aux conséquences induites par les
pertes de paquets ou la congestion du réseau. Mais depuis le début des années 1990, la
communauté des fournisseurs de services (ISP : Internet service provider) qui
administrent l'Internet est confrontée non seulement au problème de croissance
explosive mais aussi à des aspects de politique, globalisation et stabilité du réseau.

Par ailleurs, outre ces différents aspects, apparaît une très forte diversification
des services offerts. Ainsi de nouvelles applications se développent sur le réseau :
téléphonie, vidéoconférence, diffusion audio et vidéo, jeux en réseau, radio et télévision
en direct… L’émergence des réseaux privés virtuels (VPN), nécessite également une
différentiation de services. La qualité de service de bout en bout apparaît, dans ce
contexte, essentielle au succès de ces applications.

Avec l’arrivée de la technologie Multi-Protocol Label Switching (MPLS), un


mécanisme de transport de données basé sur la commutation de labels, et les modèles
de gestion de la qualité de service une nouvelle approche est considérée pour
l’augmentation des performances des équipements réseaux, la gestion et classification
de trafic et les VPN, la gestion de qualité de service pour le traitement de la congestion
et la garantie de service.

MPLS considéré comme la crème des développements des protocoles standard


abouti afin d'assurer l'interconnexion des réseaux. C’est pour cela nous sommes
intéressés dans notre projet de fin de formation l’étudier, et nous essayions d’appliquer
nous connaissances afin faire une mise en place de ce protocole sur le simulateur NS-2.

Ce rapport est composé de quatre chapitre, le premier parle de l’historique


des réseaux des opérateurs et leurs évolutions depuis les années 70, on prendra des
exemples des plus populaire protocoles jusqu’à l’arrive de MPLS. Dans le deuxième
on va brefement vous introduira le réseau MPLS en expliquant son importance,
comment se fonctionne puis on va citer ces composants. Le troisième chapitre
consiste à l’étude et la configuration d’un petit réseau MPLS dans le simulateur de
recherche ns2.

12
I. HISTORIQUE: de X25 jusqu’a MPLS

Au début des années 1970, le besoin de définir des protocoles standard afin
d'assurer l'interconnexion des réseaux privés à travers les réseaux publics s'est fait
ressentir

I.1 X25 protocole d’ancienne génération :

X25 est le plus populaire d'un groupe de protocole abouti par des
développements des protocoles standard afin d'assurer l'interconnexion des
réseaux privés à travers les réseaux publics dé le début des années 1970.

A la fin des annees 1970 et au debut des annees 1990, la technologie des réseaux
etendus reliant deux sites utilisait generalement le protocole X.25. Bien que considere
actuellement comme un protocole d'ancienne génération, le X.25 a été une technologie
de commutation de paquets très répandue car elle permettait d'obtenir une connexion
très fiable sur des infrastructures câbles non fiables. Ce résultat était obtenu grâce à des
contrôles de flux et d'erreur supplémentaires. Ces contrôles alourdissaient cependant le
protocole. Celui-ci trouvait son application principale dans le traitement des
autorisations de carte de crédit et dans les guichets automatiques. Dans cette partie de
chapitre, nous ne citons le protocole X.25 qu'à des fins historiques. [1.3]

La norme de x25 définit trois niveaux indépendants de protocole ou


d’interface permettant l’interconnexion d’ETTD au travers d’un réseau à
commutation de paquets. Elle ne définit en aucun cas les protocoles mis en œuvre
au sein des réseaux à commutation de paquets.
Les trois niveaux définis par X.25 correspondent aux trois premières couches
du modèle de référence OSI (physique, liaison et réseau), mais comme ils ont été
définis avant l’apparition du fameux modèle, ils sont dénommés respectivement
niveaux physique, trame et paquet.

Niveau physique Les réseaux à commutation de paquets peuvent


offrir une ou plusieurs des interfaces physiques suivantes. Ils peuvent bien sûr en
offrir d’autres.

13
Figure 1.Accès par réseau à commutation de circuits [1.1]

Niveau trame Le niveau trame correspond à la couche liaison de données du modèle de


référence OSI. Deux types de procédures sont utilisables à ce niveau :
1. procédure à liaison unique (identique au mode LAPB du protocole HDLC) ;
2. procédure multi-liaison (plusieurs supports physiques)

Figure 2. Niveau trame ; liaison unique [1.1]

L’objectif du niveau trame est de se prémunir contre les erreurs de transmission pouvant
survenirentre l’usager et le réseau.Le niveau trame permet également un contrôle de flux global
au niveau de l’interface usager-réseau

Niveau paquet L’objectif du niveau paquet est de permettre l’interconnexion entre deux
usagers du réseau parl’intermédiaire de ce l’on appelle un circuit virtuel. Un usager peut ouvrir
(créer) plusieurs circuitsvirtuels ce qui lui permet de pouvoir gérer plusieurs communications
simultanément (multiplexage).

14
Figure 3. Circuit virtuel[1.1]

Les réseaux X25 publics comme privés se sont largement développés à travers le
monde. Très utilisé dans le secteur bancaire mais aussi par les sociétés ayant des
agences éloignées, il doit en partie sa popularité à sa grande sécurité de
transmission. En effet à une époque où la qualité des lignes n'était pas celle
d'aujourd'hui, X25 met en œuvre tout un système de contrôle et de correction afin
d'assurer l'acheminement des données sans erreur. Mais ce qui lui a valu son
succès causera peut-être sa perte.

L'évolution des technologies, l'avènement des "LAN"(Local Area Network) et


"WAN"(Wilde Area Network) ont augmenté le besoin en débit des utilisateurs, qui
ne veulent plus se contenter des quelques Kilo-octets fournis par X25 pour relier
les réseaux. [1.2]

Les opérateurs et les constructeurs se sont donc penchés sur la définition de


protocoles mieux adaptés qui peut garantir l'échange de plus de données avec un
plus grand débit et d'autre fonctionnalités qui sont nécessaire pou l'évolution des
LAN et WAN .

15
Et comme résulta abouti de puis le développement des nouveaux protocoles, un
des plus populaire c'été ;

I.2 RNIS comme Protocol plus efficace


RNIS :Réseau Numérique à Integration de Services

Un architecture des Réseaux Numériques à Intégration de Services a été conçue


depuis les années 80 pour associer la voix et les données et autre application ou
service (exemple: fax..). Cette architecture peut être vue comme une évolution des
réseaux téléphoniques analogiques historiques(x25,...).
En distinct deux types de RNIS :
RNIS bande de base: Les réseaux RNIS bande de base fournissent des services à
faible débit : de 64Kbps à 2Mb contre 56 kbit/s pour un modem classique.

RNIS large bande: La technologie ATM "Asynchronous Transfer Mode"(nous en


parlerons plus tard) dédiée au réseaux grandes distances (WAN) faisait à l'origine
partie des définitions RNIS sous la dénomination RNIS large bande pour les
services à haut débit : de 10Mbps à 622Mbps.
Avec les réseaux RNIS, les sites régionaux et internationaux de petite taille
peuvent se connecter aux réseaux d'entreprises à un coût mieux adapté à la
consommation réelle qu'avec des lignes spécialisées. Les liaisons à la demande
RNIS peuvent être utilisées soit pour remplacer les lignes spécialisées, soit en
complément pour augmenter la bande passante ou assurer une redondance. Avec
ces mêmes liaisons, les sites ou les utilisateurs distants peuvent accéder
efficacement aux ressources critiques à travers l'Internet en toute sécurité.
Le fonctionnement de réseau RNIS peut être considérer comme spéciale dans les
années 80 tel que dans un réseau téléphonique analogique, une boucle sur une paire
torsadée de fils de cuivre entre le commutateur central de la compagnie de
télécommunication et l'abonné supporte un canal de transmission unique. Ce canal ne
traite qu'un seul service simultanément : la voix ou les données. Avec un Réseau
Numérique à Intégration de Services, la même paire torsadée est divisée en plusieurs
canaux logiques.

16
I.3 Frame Relay Protocol basé sur X25 :

Le relayage de trames ou pour l'anglais Frame Relay est un protocole à commutation


de paquets situé au niveau de la couche de liaison (niveau 2) du modèle OSI, utilisé pour
les échanges intersites (WAN). Il a été inventé dans les années 80 par Eric Scace,
ingénieur chez Sprint International.
Frame Relay ou Relais de Trames, protocole ayant plusieurs points communs avec X.25
Le protocole Frame Relay demande moins de temps de traitement que le X.25, du fait
qu'il comporte moins de fonctionnalités. Par exemple, il ne fournit pas de correction
d'erreur, car les réseaux étendus actuels permettent d'obtenir des connexions plus
fiables que les anciens. Lorsqu'il détecte des erreurs, le nœud Frame Relay abandonne
tout simplement les paquets sans notification. Toute correction d'erreur, telle que la
retransmission des données, est à la charge des composants d'extrémité. La propagation
des données d'une extrémité client à une autre est donc très rapide sur le réseau.[1.3]
Frame Relay permet un traitement efficace en volume et en vitesse, en réunissant les
fonctions des couches liaison de données et réseau en un seul protocole simple. En tant
que protocole de liaison de données, Frame Relay permet d'accéder à un réseau, il
délimite et fournit les trames dans l'ordre approprié et détecte les erreurs de
transmission par un contrôle de redondance cyclique standard. En tant que protocole de
réseau, il fournit plusieurs liaisons logiques sur un même circuit physique et permet au
réseau d'acheminer les données sur ces liaisons jusqu'à leurs destinations
respectives.[1.3]

Figure 4 : réseau étendu frame Relay. [1.3]

17
Le protocole Frame Relay intervient entre un périphérique d'utilisateur final, tel qu'un
pont ou un routeur de réseau local, et un réseau. Le réseau proprement dit peut utiliser
n'importe quelle méthode de transmission compatible avec la vitesse et l'efficacité
requises par les applications Frame Relay.

Et comme les LABEL dans les reseaux MPLS Les PVC s'identifient au niveau des
interfaces des DTE et DCE grâce à des DLCI (Data Link Connection Identifiers) afin de
pouvoir distinguer les flux provenant des différents PVC. Les DLCI sont généralement des
numéros d'identification à valeur uniquement locale (à une interface) qu'on assimile à
une sous-interface dans certains contextes : sur un routeur par exemple, chaque PVC
d'une interface pourra ainsi avoir sa propre adresse IP associée.

I.3.1 FR EST UN PROTOCOL DYNAMIQUE :

Il transporte des flux différents en même temps. Le contrôle se fait de bout en bout
sur les stations. Le temps de traversée d'un réseau Frame Relay est de 40 ms.

La bande passante est découpée en canaux et est dynamique. Les canaux sont repérés
par un DLCI .Les canaux de 1 à 15 sont réservés, les canaux de 16 à 991 sont pour les
utilisateurs

18
.

I.3.2 DE FR VERS FRF :

Son manque d'interopérabilité a bloqué son développement


jusqu'en 1990 où Cisco, Digital Equipment Corporation(DEC), Northern Telecom (devenu
aujourd'hui Nortel), et StrataCom (racheté depuis par Cisco) ont formé une association
de développement de cette technologie, devenu le FR Forum (FRF). Le FRF produit des
standards appelés IA (Implementation Agreement). Il a aujourd'hui fusionné avec le
MPLS Forum et l'ATM Forum.

19
I.4 L’entrer de l’ ATM

La technologie ATM a été adoptée par l'Union Internationale des


Télécommunications (UIT) a la fin des années 80 pour répondre a la demande des
operateurs de télécommunication d'un « Réseau Numérique à Intégration de Service
Large Bande » unifiant dans un même protocole leurs mécanismes de transport des
données, d'images et surtout de la voix, et garantissant la qualité de service. Les
mécanismes propres aux données ont ensuite été affines par l'ATM Forum pour être
utilisables dans les réseaux locaux et les réseaux longue distance lorsque les débits
excédent 34 ou 43 Mbit/s en insérant ATM entre IP et SDH.

ATM a été crée face à l'impossibilité pour les réseaux RNIS (Réseau Numérique à Intes
réseaux RNIS Bande Étroite (Numéris par exemple) à offrir une connectivité universelle
(le débit est limité à 2Mb/s).
Pour résoudre ce problème, le mode de transfert asynchrone a été mis en place pour
faire face au besoin d'un RNIS Large Bande : ATM est né. Les principales caractéristiques
d'ATM sont:

o une commutation de cellules (cela permet d'effectuer un routage très


rapide).
o un réseau orienté connexion (établissement préalable d'un circuit virtuel
avant tout envoi d'information).
o négociation de services à l'établissement de la connexion (pour face à
différnts type de flux de données à transporter).

L’ATM y est considéré comme le protocole de choix pour le « RNIS Large


Bande»(comme on a déjà motionnée) en cours de définition au CCITT. Ce RNIS était vu à
cette époque comme une extension des RNIS existants, devant leur servir de réseau
dorsal. [1.4].

I.4.1 Le deoloiment de l’ATM


Après le développement d’un prototype de commutateur ATM appelé PRELUDE
en 1989, le CNET définissait en 1990 le réseau expérimental BREHAT (Brasseurs
REseau Haut débit ATm), en partenariat avec ALCATEL-CIT et TRT-PHILIPS. Ce
réseau d’interconnexion entre Lannion, Rennes et Paris, était conforme aux standards
européens de l’ETSI et aux standards internationaux du CCITT, mais pas aux
spécifications de l’ATM Forum. Il a été mis en place en 1994 et ouvert aux essais en
20
1995. Pour ce qui concernait le coeur du réseau, il s’appuyait principalement sur
le standard de transmission de niveau physique PDH (Plésiochrone) et non sur le
standard SDH (Synchrone) car ce dernier n’était pas encore suffisamment déployé
dans les réseaux de France Telecom. En matière d’interfaces externes, il offrait des
services d’interconnexion de réseaux locaux, des services de visioconférence,
d’interconnexion de PABX et de multiplexeurs TDM, ainsi qu’un service support de relais
de trames. Ont été testées ses performances en transmission, son exploitabilité
et sa capacité à offrir de nouveaux services.

I.4.2 IP/ATM:

IP sur ATM est l'approche privilégiée dans les réseaux IP opérationnels aux Etats-
Unis entre 1994 et 1998 pour des débits de 155 puis 622 Mbit/s.

C'est sur des prévisions qui, a l'époque, voyaient dans l'augmentation du trafic
téléphonique la source principale de croissance que se sont bases les operateurs
existants de télécommunication, aux Etats-Unis et surtout en Europe, pour investir
massivement dans ATM comme technologie de leurs réseaux a 155 Mbit/s a partir de la
première moitie des années 90. Malheureusement, si ATM est approprie lorsque le trafic
est constitue majoritairement de voix, il est inadapté lorsque le trafic est
majoritairement

constitue de données, ce qui est et sera de plus en plus le cas avec l'explosion du
trafic lie a l'Internet.

Une opportunité stratégique apparait, favorable aux operateurs émergents qui


s'appuient sur une unification autour de IP, répute plus adaptes au transport de
données. Les operateurs historiques se trouvent pris en porte-à-faux par des
investissements élèves et des offres inadaptées.

Pour adjoindre - récemment - a IP les mécanismes propres a garantir la qualité de


service, les ingénieurs et les chercheurs définissent a l'IETF des mécanismes internes au
réseau, tels que réservation de ressources ou contrôle adaptatif dans le protocole TCP,
dans les applications de diffusion et dans les routeurs d'extrémité.

Dans le même temps, l'augmentation des fonctionnalités de commutation


réalisables directement de manière optique conduira a terme IP a être le protocole
unique, soit directement sur fibre optique a 40 Gbit/s et au delà, soit sur de multiples
sous canaux (WDM) a des débits binaires moins élèves (2,5 et 10 Gbit/s).

21
I.5 Migration d’ATM vers MPLS

Avant l'apparition de la MPLS et des routeurs au débit du support physique, la


réponse au problème des performances de routage des réseaux de routeurs consistait à
superposer les réseaux IP aux réseaux ATM, ce qui créait une topologie virtuelle dans la
couche ATM, dans laquelle tous les routeurs devenaient adjacents, et réduisant ainsi au
minimum le nombre de sauts IP entre les routeurs.
Toutefois, cette superposition IP/ATM présentait un inconvénient majeur : la
nécessité de gérer l'explosion du nombre de connexions de circuit virtuel ATM
nécessaires pour assurer un maillage complet des liaisons virtuelles entre les paires de
routeurs. En effet, le nombre de circuits virtuels ATM nécessaires augmente comme le
carré du nombre de routeurs connectés au nuage ATM.
Le pire fut atteint lorsque les réseaux IP eurent besoin d'augmenter leur bande
passante ce que les réseaux ATM ne pouvaient leur fournir ; il leur fallait des circuits à
gigabits, alors que les circuits ATM étaient limités à des débits OC-12/STM-4 en raison
des équipements.
Avec le remplacement progressif des réseaux IP par les réseaux MPLS, les
meilleures techniques des réseaux de routage et de commutation se trouvent réunies.
Les réseaux MPLS sont capables de s'adapter aux besoins de forte croissance de
l'internet, et de prendre la place de l'ATM en faisant face aux très grandes exigences du
trafic professionnel.
De plus, les réseaux MPLS sont prêts pour la convergence des données, de la voix
et de la vidéo sur IP. Il n'est donc pas surprenant que l'IP/MPLS soit considéré par la
majorité des opérateurs de réseau comme le réseau cible à long terme.

I.6 Conclusion
L’humanité a parcouru un long chemin pour atteindre la technologie MPLS: depuis 1960-
1970 jusqu'à nos jours les États-Unis sont allés en concurrence avec le SFS(RUSSIE
aujourd’hui) à créer un réseau puissant reliant les États-Unis d’Amérique même une
attaque nucléaire ne peut pas être capable de le détruire. Commençant par x25 qui
était un peu simple Comparé à l'actuel, mais il a été fort à travers et passant par frame
relay, rnis jusqu'à ATM Qui est venu avant le protocole MPLS Quel est le sommet de
ce que les développeurs ont atteint.
22
23
II. Les reseaux MPLS :
II.1 Introduction :
Avec l’augmentation du débit des liens de communication et du nombre de routeur
dans L’Internet, l’IETF (Internet Engineering Task Force) a défini le nouveau protocole
MPLS (Multi Protocol Label Switching : commutation de label multi-protocole) pour faire
face Au goulot d’étranglement induit par la complexité de la fonction de routage. Ce
protocole a Deux objectifs principaux qui sont :
• Permettre un acheminement rapide des paquets IP en remplaçant la fonction de
routage par Une fonction de commutation qui est beaucoup plus rapide, la taille
des matrices de Commutation devenant très petite.
• Faciliter l’ingénierie réseau en fournissant aux opérateurs la maîtrise de
L’acheminement des données, qui pouvaient être très complexes avec des
protocoles Comme OSPF (gestion des métriques). Dans ce chapitre on va voir les
principaux éléments de la technologie MPLS

II.2 Définition de MPLS :

MPLS (Multi-Protocol Label Switching) est une norme de protocole proposée par
l’IETF, l’organisme de normalisation d’internet pour l’ensemble des architectures et des
protocoles de haut niveau. Dont le rôle principal est de combiner les concepts du
routage IP de niveau 3, et les mécanismes de la commutation de niveau 2 telles
qu’implémentée dans ATM ou Frame Relay. MPLS doit permettre d'améliorer le rapport
performance/prix des équipements de routage, d'améliorer l'efficacité du routage (en
particulier pour les grands réseaux) et d'enrichir les services de routage (les nouveaux
services étant transparents pour les mécanismes de commutation de label, ils peuvent
être déployés sans modification sur le cœur du réseau).

Il se base sur une étiquette pour commuter les paquets à travers deux équipements,
les LER (Label Edge Routeurs) et les LSR (Label Switch Routers). Cette opération
s’effectue entre la couche liaison de données et la couche réseau, c’est pourquoi MPLS
est qualifié de protocole de couche « 2,5 ». [3.2] (voir Figure 3.1)

24
Figure 3.1: La couche MPLS

II.3 Composant du réseau MPLS:

La figure suivante montre les différents composants du réseau MPLS :

Figure 3.2: Les composants du réseau MPLS

25
II.3.1 LER (Label Edge Router):

Il s’agit d'un routeur d’accès au réseau MPLS qui gère le trafic entrant dans le réseau
MPLS et possédant à la fois des interfaces IP traditionnelles et des interfaces connectées
au réseau MPLS.
Ce routeur LER d'entrée, exécute les fonctions de l'imposition de label et de
l’expédition d'un paquet à destination du réseau MPLS. à la sortie du réseau MPLS, il
exécute les fonctions de déplacement (disposition) de label et la transmission de paquet
IP au destinataire.
 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.

II.3.2 LSR (Label Switching Router):

C’est un routeur de cœur du réseau MPLS qui effectue la commutation sur les labels et
qui participe à la mise en place du chemin par lequel les paquets sont acheminés.
Lorsque le routeur LSR reçoit un paquet labélisé, il le permute avec un autre de sortie et
expédie le nouveau paquet labélisé sur l'interface de sortie appropriée. Le routeur LSR,
selon son emplacement dans le réseau MPLS, peut jouer plusieurs rôles à savoir :
exécuter la disposition du label (appelé déplacement), marquer l'imposition (appelée
poussée) ou marquer la permutation en remplaçant le label supérieur dans une pile de
labels avec une nouvelle valeur sortante de label.

II.3.3 LSP (Label Switched Path):

C’est un chemin pour un paquet de données dans un réseau basé sur MPLS ou une
séquence de labels à chaque nœud du chemin allant de la source à la destination. Les
LSP sont établis avant la transmission des données ou à la détection d’un flot qui
souhaite traverser le réseau. Il est unidirectionnel et le trafic de retour doit donc prendre
un autre LSP.

II.3.4 FEC (Forwarding Equivalence Class):

26
Il représente un groupe de paquets ayant les mêmes propriétés. Tous les paquets d'un
tel groupe reçoivent le même traitement au cours de leur acheminement. Dans le réseau
MPLS, la transmission de paquets s’effectue par l’intermédiaire de classes d’équivalence
FEC.
Contrairement aux transmissions IP classiques, un paquet est assigné à une FEC une
seule fois lors de son entrée sur le réseau. Les FEC sont basés sur les besoins en termes
de service pour certains groupes de paquets ou même un certain préfixe d'adresses.

II.3.5 LDP (Label Distribution Protocol) :

C’est un protocole permettant d'apporter aux LSR les informations d'association des
labels dans un réseau MPLS. Il est utilisé pour associer les labels aux FEC pour créer des
LSP. Les sessions LDP sont établies entre deux éléments du réseau MPLS qui ne sont pas
nécessairement adjacents. Il construit la table de commutation des labels sur chaque
routeur et se base sur le protocole IGP pour le routage.

II.4 Principe de fonctionnement de MPLS :

Le principe de base de MPLS est la commutation des labels, Les routeurs LSRs
permutent les labels tout au long du réseau jusqu'à destination sans consultation de
l'entête IP et la table de routage. La commutation MPLS est une technique orientée
connexion.
Une transmission des données s’effectue sur un chemin LSP et chaque routeur MPLS,
LSR possède une table de commutation associant un label d'entrée à un label de sortie.
La table de commutation est rapide à parcourir dans le but d'accroître la rapidité de
commutation sur label par rapport à la table de routage du réseau IP. Le chemin suivi est
déterminé par le routeur d'entrée LER du réseau MPLS. Il aiguille les paquets labélisés
sur un chemin LSP donné selon différents critères : adresse destination, qualité service,
applications, etc.

27
Figure 2.3: Exemple d'un réseau MPLS.

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 3.3, 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écutée 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.

II.4.1 Label :
Les labels sont des simples nombres entiers de 4 octets (32 bits) insérés entre les
entêtes des couches 2 et 3 du modèle OSI. Un label a une signification locale entre deux
routeurs LSR adjacents et mappe le flux de trafic entre le LSR amont et le LSR aval. [3.2]
A chaque bond le long du chemin LSP, un label est utilisé pour chercher les
informations de routage (Next Hop, interface de sortie). Les actions à réaliser sur le label
sont les suivantes : insérer, permuter et retirer. [2.2]

Un label MPLS se présente sous cette forme :

28
Figure 2.3 Détails d'un label MPLS.

La signification des différents champs est donnée comme suit :


 Label (20 bits) : Valeur du label.
 Exp (3 bits) : Classe du service du paquet.
 BS (1 bit) : Indicateur de fin de pile (égal à 1 s’il s’agit du dernier label).
 TTL (8 bits) : Durée de vie du paquet (évite les doublons).

MPLS repose sur la technique du label switching. Chaque paquet doit donc être
capable de transporter un label. Il a deux façons de réaliser ce transport : [2.3]

 La première solution de transport de labels est celle appliquée aux protocoles de


la couche 2 qui peuvent transporter des labels à l’intérieur même de leur entête
(c’est le cas des protocoles ATM et Frame Relay). Dans le cas du protocole ATM, le
label sera transporté dans le champ « VPI/VCI » de l’entête et dans le cas du
Frame Relay, c’est le champ « DLCI » qui sera affecté à cette tâche. [2.3]

 Pour les protocoles ne pouvant pas utiliser cette méthode, le label sera
transporté dans le champ « SHIM » qui sera inséré entre l’entête de la couche
liaison et l’entête de la couche réseau. Cette technique permet de supporter la
technique de commutation de label sur n’importe quel protocole de la couche de
liaison de données.

II.5 La structure fonctionnelle du MPLS :


En effet le protocole MPLS est fondé sur deux plans principaux à savoir le plan de
contrôle et le plan de données :

 Plan de contrôle : Il permet de créer et de distribuer les routes et les labels. Ainsi,
il contrôle des informations de routage, de commutation et de distribution des
labels entre les périphériques adjacents.

29
 Plan de données : Il est connu également sous le nom de « Forwarding Plane » et
permet de contrôler la transmission des données en se basant sur la commutation
des labels.
Les différents composants MPLS :

Figure 2.4: Architecture logicielle MPLS.

Dans un réseau MPLS, il existe deux méthodes pour créer et distribuer les labels : «
Implicit routing » et « Explicit routing ». Ces deux méthodes sont celles utilisées pour
définir les chemins LSP dans le réseau MPLS :

III .5.1. La méthode « Implicit Routing »:


 La méthode « Implicit Routing » : C’est la méthode de base choisie par l’IETF pour
les réseaux MPLS. C’est un modèle orienté-contrôle fondé sur la topologie du
réseau. Dans ce cas, les labels sont créés à l’issue de l’exécution des protocoles de
routage classique. Chaque routeur LSR doit donc mettre en œuvre un protocole
de routage interne de niveau 3 comme le protocole OSPF et les décisions de
routage sont prises indépendamment les unes des autres.

30
Figure 2.5 Routage implicite des labels.

II.5.1 La méthode « Explicit Routing »:


 La méthode « Explicit Routing » : Cette méthode explicite est fondée sur les
requêtes (REQUEST-BASED) et consiste à ne construire une route que lorsqu'un
flux de données est susceptible de l'utiliser.
Avec cette méthode, le routeur Ingress ELSR choisit le chemin de bout en bout au
sein du réseau MPLS. Dans ce cas, la création des labels est déclenchée lors de
l’exécution d’une requête de signalisation comme RSVP par exemple.

Figure 2.6 Routage explicite des labels.

III .5.2. Protocole de distribution des labels :

LDP est un ensemble de procédures par lesquelles un routeur LSR en informe un autre
des affectations faites des labels.

31
Dans un réseau MPLS, deux routeurs LSR sont liés au label de distribution (peer)
lorsqu’ils utilisent un LDP pour échanger leurs affectations. Ce protocole LDP est
bidirectionnel utilisé dans le backbone MPLS [2.4].

Les routeurs LSR se basent sur l’information de label pour commuter les paquets
labellisés. Chaque routeur LSR, lorsqu’il reçoit un paquet labellisé, utilise le label local
pour déterminer l’interface et le label de sortie.

L’autre objectif du protocole LDP est l’établissement des chemins appelés « Label
Switch Path » sur le réseau MPLS. Il définit un ensemble de procédures et de messages
permettant l’échange des labels et la découverte dynamique des noeuds adjacents grâce
aux messages échangés par UDP [2.5].

Il définit aussi une suite de procédures et de messages utilisés par les routeurs LSR
pour s'informer mutuellement de la correspondance (mapping) entre les labels et le flux.
(voir Figure 2.7)

Figure 2.6 Principe de fonctionnement d'un LDP.

III .5.3. Différents modes de distribution de labels


 Mode DownStream Unsolicited :

32
Le fonctionnement de premier mode de distribution est schématisé dans la figure
siuvant :

Figure 2.7 Fonctionnement de mode « Downstream Unsolicited»

Dans ce mode, dès qu'un routeur LSR a associé un label à une FEC, il informe
automatiquement tous ses voisins de cette opération pour augmenter le trafic dû à la
signalisation sur le réseau.

 Mode DownStream On Demand :


Le fonctionnement de deuxième mode de distribution des labels est expliqué dans le
schéma suivant

Figure 2.7 Fonctionnement du mode « Downstream on demand

Dans ce mode, le routeur amont « UpStream » demande au routeur aval «


DownStream » de lui fournir le numéro de label à associer à un FEC particulier. Le
routeur « UpStream » envoie le trafic vers le routeur « DownStream », lors du passage
d'un paquet qui n'est pas encore associé à une FEC, le routeur « UpStream » va
demander l'association d'un label pour cette FEC au routeur suivant (le DownStream LSR
sur le schéma précédent).

33
II.5.2 Le protocole de routage OSPF :
Il a été conçu au sein de l’IETF à la fin des années 80 pour résoudre les principaux
défauts du protocole RIP et entre autres le temps de convergence. Actuellement, ce
temps est d’environ d’une minute avec l’utilisation d’un protocole tel qu’OSPF

Caractéristiques et fonctionnement du protocole OSPF :

 Il est ouvert (l’Open de OSPF), son fonctionnement peut être connu de tous.

 Il utilise l'algorithme SPF, plus connu sous le nom d'algorithme de Dijkstra, afin
d'élire la meilleure route vers une destination donnée.
Pour bien comprendre son fonctionnement, il est nécessaire de s’intéresser aux notions
suivantes : [2.6].

 Notion de système autonome : C’est un ensemble de réseaux qui utilise un


protocole de routage commun et qui dépend d’une autorité administrative
unique. OSPF est un protocole de routage intra-domaine, c'est-à-dire qu’il ne
diffuse les informations de routage qu’entre les routeurs appartenant à un même
système autonome.
 Notion de zone (area) : Un système autonome géré par le protocole OSPF est
divisé en plusieurs zones de routages qui contiennent des routeurs et des hôtes.
Cette division introduit le routage hiérarchique. Chaque zone possède sa propre
topologie et ne connaît pas les topologies des autres zones du système
autonome.

II.6 Les applications de la technologie MPLS :


Les principales applications de la technologie MPLS sont les réseaux privés virtuels
(VPN), la qualité de service (QoS) et l'ingénierie de trafic (TE).

II.6.1 VPN/MPLS :

Les réseaux privés virtuels basés sur la technologie MPLS simplifient


considérablement le déploiement des services VPN par rapport aux VPN traditionnels.
En plus, les services de VPN/MPLS sur IP sont le moyen le plus souple et le plus
économique pour interconnecter un ensemble de sites. L'architecture mise en place par

34
MPLS est très sollicitée par les opérateurs réseaux fournissant plusieurs clients car elle
permet de partager des équipements physiques.

II.6.2 Quality of Service :

Avec la technologie MPLS et la définition des classes disposant chacune d'un niveau
de priorité, il est possible de garantir une qualité de service adaptée à chacun des flux
utilisant la solution VPN/MPLS.
La QoS est un élément crucial pour un réseau d'opérateur. En effet, l’opérateur doit
pouvoir garantir à ses clients le transport de leurs flux en garantissant différentes
contraintes, comme par exemple : Débit minimal garanti, Débit maximal, Latence, Gigue.
[2.7].
Ainsi cette solution permet de véhiculer la voix sur IP (VoIP) et de mettre en place des
applications de visioconférence dans des conditions excellentes sur des réseaux
VPN/MPLS à forts taux d'utilisation.

II.6.3 Traffic Engineering:


Tout comme la qualité de service, le « Traffic Engineering » est un élément crucial
pour un réseau d'opérateur. Comme sus-indiqué, il existe deux modes pour
l'établissement des LSP sur un réseau MPLS.

Dans le cadre du routage implicite, le chemin sera défini selon l'IGP. Par conséquent,
le chemin de base sélectionné sera par défaut celui qui contient le moins de sauts.
Dans un réseau MPLS, le TE permet d'optimiser l'utilisation des ressources d'un
réseau afin d'éviter la congestion. C'est la prise en compte de la bande passante
disponible sur un lien lors des décisions de routage qui rend possible cette optimisation.
Pour cela, il faut utiliser le protocole « Source Routing » pour le configurer. Ainsi, pour sa
mise en place dans un réseau, l'opérateur doit utiliser un protocole de routage
particulier qui doit implémenter l'algorithme CSPF
C'est cet algorithme qui permet le choix d'une route en fonction des paramètres
comme par exemple le débit disponible sur un lien. Des évolutions des protocoles de
routages existant comme OSPF-TE ou ISIS-TE ont été développés afin d'implémenter
l'algorithme CSPF. [2.8].
Dans un réseau MPLS, le respect de ces contraintes lors des décisions de routage est fait
grâce à la présence d'un protocole de routage implémentant l'algorithme CSPF. Enfin, la
35
réservation de la bande passante éventuelle, qui doit être faite sur les routeurs, est très
souvent faite grâce au protocole RSVP-TE.

Conclusion :
Le protocole MPLS semble intéressant pour l'avenir en tant que technique fédératrice
et de nombreux travaux sont menés pour faciliter les choix à faire.
Grâce à ses mécanismes de commutation de labels avancés et sa simplicité de mise en
place sur des réseaux déjà existants, le MPLS est devenu une technologie phare de
demain alliant souplesse, évolutivité et performance pour un coût réduit.

36
III. Application

III.1 INTRODUCTION :
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.

III.2 L'environnement de simulation NS2

III.2.1 Présentation de NS2

NS ou "Network Simulator" est un simulateur de réseau IP, à évènements discrets,


orienté objet. Il est bâti autour d’un langage de programmation appelé Tcl dont il est une
extension. Du point de vue de l’utilisateur, la mise en œuvre de ce simulateur se fait via
une étape de programmation qui décrit la topologie du réseau et le comportement de
ses composants, puis vient l’étape de simulation proprement dite et enfin
l’interprétation des résultats. Cette dernière étape peut être prise en charge par un outil
annexe, appelé nam qui permet une visualisation et une analyse des éléments simulés.
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 .

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é.
La version 1.0 de ce simulateur a été initialement développée au Laboratoire National
de Lawrence Berkeley (LBNL). Il fait actuellement partie du projet VINT (Virtual

37
InterNetwork Testbed) sous lequel la deuxième version (NS2) est sortie. Le projet VINT
est dirigé par l’université de Californie du sud et est financé par le DARPA en
collaboration avec Xerox PARC et LBNL. Il est utilisé par plusieurs groupes de travail
comme l’IETF pour évaluer les protocoles en cours de normalisation.

III.2.2 Composants de NS2

III.2.2.1 Langages

TCL
Tcl est un langage de commande comme le shell UNIX mais qui sert à contrôler les
applications. Son nom signifie Tool Command Language. Tcl offre des structures de
programmation telles que les boucles, les procédures ou les notions de variables. Il y a
deux principales façons de se servir de Tcl: comme un langage autonome interprété ou
comme une interface applicative d'un programme classique écrit en C ou C++. En
pratique, l'interpréteur Tcl se présente sous la forme d'une bibliothèque de procédures
C qui peut être facilement incorporée dans une application. Cette application peut alors
utiliser les fonctions standards du langage Tcl mais également ajouter des commandes à
l'interpréteur.

Toutes les applications qui utilisent Tcl créent et utilisent un interpréteur Tcl. Cet
interpréteur est le point d'entrée standard de la bibliothèque. L'application tclsh
constitue une application minimale ayant pour but de familiariser un utilisateur au
langage Tcl. Elle ne comporte que l'interpréteur Tcl. On retrouve cet interpréteur dans
l'application NS. Lorsque l'on tape ns, une série d'initialisations est faite puis l'application
passe en mode interactif. On peut alors entrer les commandes Tcl.

TCL / Concepts de base


Chaque commande consiste en un ou plusieurs mots séparés par des espaces ou
des tabulations. Le langage n'est pas typé. Tous les mots sont des chaînes de caractères.
Le premier mot de la commande est le nom de la commande, les autres mots sont les
arguments passés à la commande. Chaque commande Tcl retourne le résultat sous

38
forme d'une chaîne de caractères. Le caractère de retour à la ligne termine une
commande et lance son interprétation. Le caractère de séparation de commandes sur
une même ligne est ";". Une fois la commande exécutée et terminée, l'application
retourne en mode interactif c'est à dire que l'interpréteur est de nouveau prêt à recevoir
une nouvelle commande.
Tcl n'est pas un langage compilé, c'est un langage interprété. Il n'y a pas de grammaire
fixe qui traite l'ensemble du langage. Tcl est défini par un interpréteur qui identifie les
commandes par des règles d'analyse syntaxique. Seules les règles d'analyse des
commandes sont fixées. Tcl évalue une commande en deux étapes: analyse syntaxique
et exécution. L'analyse syntaxique consiste à identifier les mots et effectuer les
substitutions. Durant cette étape, l'interpréteur ne fait que des manipulations de
chaînes. Il ne traite pas la signification des mots. Pendant la phase d'exécution, l'aspect
sémantique des mots est traité comme par exemple déduire du premier mot le nom de
la commande, vérifier si la commande existe et appeler la procédure de cette
commande avec les arguments.
EXPL
Le contenu d'une variable est obtenu en faisant précéder le nom de variable par
le symbole $
>set a 20
>expr $a*2
< 4O

OTCL
OTcl est une extension orientée objet de Tcl. Les commandes Tcl sont appelées
pour un objet. En OTcl, les classes sont également des objets avec des possibilités
d'héritage. Les analogies et les différences avec C++ sont:
- C++ a une unique déclaration de classe. En OTcl, les méthodes sont attachées à
un objet ou à une classe.
- Les méthodes OTcl sont toujours appelées avec l'objet en préfixe
- L'équivalent du constructeur et destructeur C++ en OTcl sont les méthodes
init{} /destroy{}
- L'identification de l'objet lui-même: this (C++), $self (OTcl). $self s'utilise à
l'intérieur d'une méthode pour référencer l'objet lui-même. A la différence de C++,
il faut toujours utiliser $self pour appeler une autre méthode sur le même objet.

39
C'est à dire "$self xyz
5" serait "this->xyz(5) " ou juste "xyz(5) " en C++.
- Les méthodes OTcl sont tout le temps "virtual". A savoir, la détermination de la
méthode à appeler est effectuée à l'exécution.

- En C++ les méthodes non définies dans la classe sont appelées explicitement
avec l'opérateur de portée "::". En OTcl, les méthodes sont implicitement appelées
dans l'arbre d'héritage par "$self next". Cette commande appelle la méthode de
même nom de la classe parent.
- L'héritage multiple est possible dans les deux langages.

III.2.2.2 Pourquoi deux langages?

Si NS utilise deux langages c'est parce qu'il réalise deux types de choses. D'une part, le
simulateur doit être efficace dans la manipulation de bytes, de paquets et d'en-t étés et
dans l'application d'algorithmes sur de grandes quantités de données. Dans ce cas la
vitesse d'exécution est primordiale et prend le pas sur le temps de compilation,
l'utilisation du C++ s'impose. D'autre part, l'utilisateur souhaite changer rapidement ses
scénarios de simulation,
dans ce cas OTCL offre une bonne solution.
L'inconvénient de cette dualité est le dédoublement des objets et l'implémentation
des
fonctions qui doit veiller a la juste interaction entre les deux parties. Pour que
l'utilisateur
puisse suivre l'évolution d'une variable elle doit exister a la fois en C++ et en OTCL

III.2.2.3 L'outil de visualisation NAM


NS-2 ne permet pas de visualiser le résultat des expérimentations. Il permet
uniquement de stocker une trace de la simulation, de sorte qu'elle puisse être exploitée
par un autre logiciel, comme NAM.

NAM (Network AniMator) est un outil de visualisation qui présente deux intérêts
principaux : représenter la topologie d'un réseau décrit avec NS-2, et afficher
temporellement les résultats d'une trace d'exécution NS-2. Par exemple, il est capable
de représenter des paquets TCP ou UDP, la rupture d'un lien entre nœuds, ou encore de
représenter les paquets rejetés d'une file d'attente pleine. Ce logiciel est souvent appelé
40
directement depuis les scripts TCL pour NS-2, pour visualiser directement le résultat de
la simulation.

Figure[3.1] : network smulator nam

1-rewind 2-zoom avant 3-zoom arrière 4- temps 5-force attractif 6-force répulsif 7-
nombre d’itération 8-auto itération 9-contrôle de vitesse 10-temps entre deux trame
11-temps d’animation courant 12-quitter NAM 13-fast forward 14-animation 15-
stopl’animation 16-animtion en arrière.

41
Figure[3.2]: fenêtre nam visualise 4 nœuds interagissant

III.2.2.4 L'outil de traçage des courbes xgraph


Le programme xgraph dessine un graphique sur un affichage X à partir de données
lues à partir de fichiers de données ou d’entrée standard si aucun fichier n’est spécifié.
xgraph sur ns2 est utilisé pour tracer les caractéristiques des paramètres du réseau
comme le débit, le délai, la gigue, la latence etc..

Figure[3.3]: xgraph-sur-ns2-simple-output-screen

42
III.2.3 Fonctionnement de NS2
NS2 est un outil de recherche très utile pour le design, la validation et l'évaluation des
protocoles.
Le simulateur utilise le langage orienté objet OTCL dérivé de TCL pour la description
des conditions de simulation sous forme de scripts (Voire figure ). Dans le script,
l'utilisateur fournit la topologie du réseau, les caractéristiques des liens physiques, les
protocoles utilisés, le type de trafic généré par les sources, les événements, etc.
Si le script écrit en OTCL permet une utilisation (édition, modification des simulations)
facile du simulateur, les routines sont écrites en C++ pour avoir une plus grande
puissance de calcul. Ces routines incluent entre autres plusieurs types de protocoles, de
files d'attente et d'algorithmes de routage.

Script OTCL (description de


scénario) Animation Nam :
- Topologie Visualisation des
- Caractéristiques des nœuds différents évènements
- Caractéristiques des liens du scénario de la
- Protocoles utilisés simulation
- Type de trafic généré
- Evènements (envoie de paquet,
rupture de liens, changement de
mode de routage, etc.)

SIMULATIO
N

Code en C++ (description des Fichier trace :


routines) Description textuelle des
- L’implémentation des évènements relatifs à la
simulation
algorithmes (de routage, de file
d’attente, …)
- L’implémentation des
modélisations
des liens physiques Filtrage, courbe et
- L’implémentation de la analyse des résultats :
procédure (AWK, XGraph, etc.)
d’encapsulation
Figure[3.4]
- Etc : Les étapes d’une simulation sur NS2

43
Avant de lancer une simulation, on introduit les paramètres de la simulation dans NS
grâce aux scripts TCL. Les paramètres consistent notamment en le nombre de nœud, les
liens, les protocoles (mpls dans notre cas ; mpls) mis en œuvre, les différents
événements qui vont survenir, etc. Cette phase est en fait une phase de description du
scénario de simulation.
Les outputs des simulations sont des fichiers textes qu’on appelle fichiers trace. Ces
fichiers sont structurés en entrées. Chaque entrée correspond à une action effectuée par
un nœud (envoie de paquet, rejet de paquet, mise en file d'attente, réception d'un
paquet). A titre d'exemple, soit l'entrée suivante :

r 5.2 13 2 1 cbr 500 ------- 3 3.0 0.0 21 305

Cette entrée traduit la réception (r) à l'instant (5.213)s d'un paquet de type (cbr) de
taille (500) octets, de numéro d'identité (305), de numéro de séquence (21),
appartenant au flux (3), transitant entre les nœuds (2) et (1), ayant pour adresse source
(3.0) (adresse.port) et pour adresse destination (0.0).

III.2.4 Avantages, limites et difficultés de NS2


Comme tout outil de simulation, NS2 permet l’étude de l’existant, la conception, la
validation et l’évaluation de performances et ceci dans le domaine des protocoles et
mécanismes réseau. C’est un simulateur extrêmement flexible. NS2 permet l’étude des
cas difficiles à reproduire dans la réalité. Il offre la souplesse de pouvoir varier aisément
une multitude de paramètres du réseau (ce qui n’est pas le cas si on simule sur un
réseau réel). Donc, par rapport à l’expérimentation sur un réseau réel, NS2 permet un
gain de temps et d’argent.

D’un autre côté, NS2 souffre des inconvénients des simulateurs tel que la
simplification et l’abstraction du monde réel, la difficulté (voire l’impossibilité) de tester
certains aspects, et la puissance de calcul requise qui croit exponentiellement avec la
complexification du système simulé. De plus, NS2 souffre de l’état primitif aussi bien de
ses outils de collecte et traitement des résultats que de son interface graphique. Les
concepteurs de NS2 ne manquent pas de mettre en garde les utilisateurs sur l'aspect
non achevé de ce simulateur. Il ne s'agit pas d'un produit fini, de nouveaux bogues sont
souvent trouvés et d'autres constamment introduits par les programmeurs. Finalement,
on remarque souvent des problèmes d'incompatibilité entre les implémentations de NS,
les modules développés pour NS et les versions de linux (exemple : la dernière version
de ns2 est 2.35 a pour compilateur gcc-4.8 g++-4.8 ce qui est un peu ancien par apport
aux compilateurs des versions Unix nouveaux 16.4/18.4/19.0 ).

44
III.2.5 Les tapes d’installation de ns2 sur UBUNTU 18.04
III.2.5.1 Installation deNS2
 Mise ajour de système :
$ sudo apt-get update

 Téléchargement de ns2 :
Téléchargement de ns-allinone-2.35.tar.gz de puis internet
Lien :
https://fr.osdn.net/projects/sfnet_nsnam/downloads/allinone/ns-
allinone-2.35/ns-allinone-2.35.tar.gz/

 Unziper le fichier telecharger par :


$] tar zxvf ns-allinone-2.35.tar.gz

Maintenant si on essaie d’installer ns2 un erreur interrompre l’installation


On ecrit
$] cd ns-allinone-2.35
$] ./install

C’est parce que ns2 travail avec le compilateur gcc et g++ de version < 4.8

Et Ubuntu 18.4 a le compilateur de version 7.3

$] gcc --version // pour voir qu’elle est la version de compilateur

45
 Installation de compilateur de C (gcc) et C++(g++) 4.8
En tape les deux lignes de cmd
$]sudo apt install build-essenial autoconf automake libxmu-dev
$] sudo apt install gcc-4.8 g++-4.8

Maintenant si en essaie d’installer ns2 on verra le même erreur car ns2 est encor utilise
le premier compilateur

 Changement de compilateur dans ns


$]gedit ns-allinone-2.35/ ns-2.35/Makefile.in

Et en change dans le fichier dans les lignes 36 et 37


CC = @CC@ par CC =GCC-4.8
CPP = @CXX@ par CC =G++-4.8


Et en sauvegarde le fichier

PUIS
$]gedit ns-allinone-2.35/ ns-2.35/linkstate/ls.h

Et en change dans le fichier le ligne 137


Void eraseALL() { erase( baseMap ::begin() , baseMap ::end ; }
Par
Void eraseALL() { this-> erase( baseMap ::begin() , baseMap ::end; }

46
Et en sauvegarde

Et en sauvegarde le fichier

 Changement de compilateur pour NAM et Xgraph


Même chose

Dans NAM
$]gedit ns-allinone-2.35/ nam-1.15/Makefile.in
Et en change dans le fichier dans les lignes 46 et 47
CC = @CC@ par CC =GCC-4.8
CPP = @CXX@ par CC =G++-4.8


Et en sauvegarde le fichier

Dans Xgraph
$]gedit ns-allinone-2.35/ xgraph-12.2/Makefile.in
Et en change dans le fichier dans les lignes 120 et 123
CC = @CC@ par CC =GCC-4.8
CPP = @CXX@ par CC =G++-4.8

->
Et en sauvegarde le fichier

47
 Installation
$]cd ..
$]./install

Et voilla l’installation

 Gestion des Paths


$] gedit /home/avhraf/.bashrc
Et en ajout ces deux paths

ExportPATH=$PATH:/home/achraf/nsallinone2.35/bin:/home/pradeepkumar/n
s-allinone-2.35/tcl8.5.10/unix:/home/achraf/ns-allinone-2.35/tk8.5.10/unix

Export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/achraf/ns-allinone-
2.35/otcl-1.14:/home/achraf/ns-allinone-2.35/lib

En redémarre la machine
Et voilà ton ns2 est prêt à être utilise

48
Conclusion
Malheureusement le système d’exploitation Windows ne support plus ns2,c’est pour
cela les utilisateurs sont force de travailler avec les distributions de Unix, mais la
machine virtuelle reste une bonne solution pour ceux qui veulent pas installer deux Sys
d’exploitation dans leurs machines .
Pour conclure ns2 est un programme de simulation des protocoles de réseau très
puissant pour le recherche scientifique c’est pour cela en trouve qu’il est utilisé par la
plupart des unifiants de master .ils vous permet même de crée votre personnelles
protocoles tandis que dans GNS3 vous pouvez juste travailler avec ce qu’il existe déjà.

49
III.3 BRAITE un simulateur supplementary pour enrichir
l’étude.

III.3.1 Coup d’œil sur BRITE

BRITE est un projet réalisé par un groupe de développeurs de l’université


BOSTON.

C’est un générateur flexible de topologies Internet, et un outil de génération de


topologie paramétré, qui permet de contrôler de manière flexible divers paramètres
(tels que les modèles de connectivité et de croissance) et d’étudier diverses
propriétés des topologies de réseau générées (telles que les lois de puissance, la
longueur de chemin et le coefficient de clustering).
BRITE peut être utilisé pour étudier la pertinence des causes possibles des
propriétés récemment observées dans les topologies Internet. Différentes
combinaisons de causes possibles peuvent être testées. Dans cette version, nous en
considérons quatre:
(1) la connectivité préférentielle d'un nouveau nœud à des nœuds existants;
(2) croissance progressive du réseau;
(3) répartition géographique des nœuds;
(4) la localisation des connexions périphériques.

Nous utilisons BRITE dans [BU-CS-TR-2000-0004] pour étudier l’origine des lois de
puissance et d’autres métriques dans les topologies Internet. BRITE (Représentant
de la topologie Internet de l'université de Boston) n'est plus pris en charge par ses
développeurs.

50
Figure[3.4(1)] :le main fenêtre de BRITE

BRITE fournit à l'utilisateur une interface utilisateur graphique et un fichier de


configuration permettant de spécifier facilement divers paramètres de génération de
topologie.

51
Figure[3.4(2)] BRITE

Le figure montre un exemple de BRITE entraine de générer le code source d’une


topologie donnée

BRITE est une approche de la génération de topologie universelle.


BRITE conçu pour être:

Flexible: BRITE prend en charge plusieurs modèles de génération, notamment des


modèles pour les topologies AS, Flat Router et hiérarchiques. Les modèles peuvent
être améliorés en attribuant des attributs de liens tels que la bande passante et le
délai.
Extensible: l'architecture orientée objet de BRITE offre aux chercheurs la possibilité
d'ajouter de nouveaux modèles de génération et d'importer et d'exporter vers des
fichiers de topologie personnalisés.
Interopérable: BRITE permet d'importer des topologies à partir d'autres
générateurs de topologie et de les étendre ou de les combiner avec d'autres
topologies. Les topologies actuellement importées à partir de GT-ITM (format ALT
pour les topologies plates et à tronçons de transit), Inet et NLANR AS (format
ASconnlist) sont implémentées. La prise en charge des topologies de niveau IP
52
Skitter de CAIDA et des cartes de routeurs du projet SCAN est également fournie.
L'intégration avec l'outil de visualisation de CAIDA, Otter, permet la visualisation des
topologies générées. Enfin, l'exportation vers les logiciels de simulation ns, SSFNET,
JavaSim et OmNet ++ est implémentée.
Portable: BRITE est implémenté en Java et C ++.
User Friendly: BRITE fournit à l'utilisateur une interface utilisateur graphique et un
fichier de configuration permettant de spécifier facilement divers paramètres de
génération de topologie.

!Mais malheureusement BRITE “ BRITE is no longer supported by its


developers, but questions can be asked on the brite-users mailing list”,
comme il a été dit le jour où les développeurs de BRITE ont abandonné leur création.

53
III.4 Mise en place :

III.4.1 INTRODUCTION :

Notre travail c’est la réalisation du réseau MPLS illustré dans la figure suivante.

Les nœuds 0,1,10,9 sont IP nœuds et les autres appelés MPLS nœuds. Agent src0
concerne le nœud 0 envoie des paquettes à Dest 0 (nœud 9). Agent src1 concerne le
nœud 1 envoie des paquettes à Dest 1 (nœud 10).

III.4.2 Le code de fichier TCL :

On a commencé par la création de l'instance de simulation et l’ouverture du fichier de


traçage « NAM ».

54
Par la suite, nous avons défini la procédure suivante pour fermer les fichiers de
traçage, de sortie et exécuter « xgraph » afin d’afficher les résultats et exécuter « NAM »
sur le fichier de trace.

Puis, on a fixé les nœuds du réseau MPLS de la manière suivante :

55
Définition des liens entre les LSRs :

En configurant le protocole LDP, nous avons utilisé des couleurs différentes pour les
flux de données et le mode de distribution des labels :

après, nous avons installé les agents en précisant leurs types, leurs caractéristiques,
leurs attachements et leurs connexions :

56
Pour la génération de trafic, on a spécifié l’instant de début et de la fin à l’aide de la
commande suivante :

Enfin, on a appelé la procédure « finish » et on a lancé la simulation :

57
III.4.3 Les résultats sur nam :

D’après la commande suivante :

On obtient la topologie de simulation de notre réseau MPLS (voir la figure suivante)

Figure 3.5 : La topologie de simulation visualis ée par NAM.

58
Figure 3.6: à 0,16 seconde commutation de paquets

Figure 3.7 à 0,70 seconde CR-LDP Demander un message pour un ER-LSP

Figure 3.8 à 0,70 seconde CR-LDP Message de mappage pour un ER-LSP

59
Figure 3.9 à 0,90 établir le Flux de trafic sur le ER-LSP .

60
III.4.4 Conclusion

La simulation que nous avons réalisées sur NS2 a permet de mettre en évidence
plusieurs constats : d'abord, il est évident que le routage IP classique n'est pas du tous
approprié pour véhiculer du multiservice(mpls). Ensuite, MPLS est une approche qui
s'est montrée très performante quant de l'utilisation des ressources du réseau, d'autant
plus qu'elle permet la transmission de trafic multiservice en respectant les exigences des
différentes applications.

61
IV. Conclusion general

Face à l’évolution de l’Internet et aux besoins incessants en termes


d’évolution des applications, de sécurité et performance, ce qui pose des
problèmes sur plusieurs niveaux sur tout le niveau réseau, les ingénieurs réseau
ont conçu un nouveau protocole MPLS qui rassemble les meilleures techniques
des réseaux de routage et de commutation. Les réseaux MPLS sont capables de
s'adapter aux besoins de forte croissance de l'internet, et de prendre la place de
l'ATM(ancien protocole avant MPLS) en faisant face aux très grandes exigences du
trafic professionnel.
Jusqu'aujourd’hui, la majorité des opérateurs de télécom comme Maroc Telecom
par exemple qui a veni la première fois avec la technologie ATM, ont migré
partiellement vers le protocole MLPS. Ce protocole a été conçu pour faire face aux
contraintes imposées par les anciens protocoles de réseaux et afin qu’il puisse
développer ces contraintes.
L'objectif de ce projet de fin d'étude est d’étudier le performance de MPLS et de
réaliser un code Tcl sur ns2 pour avoir une simulation qui peut mettre en claire les
performances de mpls .
Nous avons abordé cette thématique en commençant par une étude théorique
de la technologie MPLS. Pour cela, nous avons cité dans le Chapitre I l’historique
des protocoles de puis 1970 jusqu’à MPLS. Dans le Chapitre II nous avons étudié le
principe de fonctionnement de MPLS nous avons fait le tour des concepts relatifs
à ce dernier et présenté les applications qu'il permet de réaliser. Dans le chapitre
III, nous avons entre à la troisième phase de ce projet qui est la simulation du
fonctionnement de MPLS sur NS2. Nous avons pour cela préparer l'environnement
de simulation NS2 pour qu'il soit capable de prendre en charge les mécanismes et
protocoles relatives à MPLS. Ainsi, nous avons dans le chapitre III, réussi à
implémenter un réseau MPLS et à simuler quelques unes de ses fonctionnalités.

62
63
BIBLIOGRAPHIE ET WEBOGRAPHIE :

[1.1] La couche réseau Le protocole X.25 : Michel Gardie


[1.2] X25 versus Frame Relay : Patrice NAVARRO
[1.3] Mise en œuvre d’un réseau IP/MPLS par amine AMINE Université Bachar
[1.4] Martin de Prycker, Asynchronous TransferMode, Solution forBroadbandISDN
Alcatel ; 2 éd. : Ellis Horwood, 1993 ; 2 éd. : Prentice Hall, 1995.

[2.1]: https://blog.slashroot.fr/?p=17

[2.2]: https://www.frameip.com/mpls/#6-8211-label
[2.3]: https://wapiti.telecomlille.fr/commun/ens/peda/options/st/rio/pub/exposes/
exposesrio2002ttnfa03/Bordessoules-Bret/Site/MPLS.htm
[2.4]: https://www.frameip.com/mpls-cisco/

[2.5]: http://www-igm.univ-mlv.fr/~dr/XPOSE2007/ykarkab_MPLS/
[2.6]: http://www.bonnefoy.eu/25_OSPF
[2.7]: https://www.memoireonline.com/09/13/7405/m_Conception-et-
deploiementde%20-la-technologie-MPLS-dans-un-reseau-metropolitain11.html

[2.8]: http://www-igm.univ-mlv.fr/~dr/XPOSE2007/ykarkab_MPLS/
[3.1] : BRITE: Universal Topology Generation from a User’s Perspective Alberto Medina,
Anukool Lakhina, Ibrahim Matta, John Byers

64