LES TÉLÉCOMMUNICATIONS SANS FIL ET LES RÉSEAUX DE COMMUNICATION EMBARQUÉS

LES TÉLÉCOMMUNICATIONS SANS FIL ET LES RÉSEAUX DE COMMUNICATION EMBARQUÉS

Paramètres de la Qualité de Service

La qualité de service QoS (Quality of Service) comporte une série de paramètres qui permettent de caractériser les garanties qui peuvent être fournies à chaque flux (ou connexion) transitant par un réseau de télécommunication. Ces paramètres sont généralement la bande passante, le délai de bout en bout, la gigue, la perte de données.

La bande passante

La bande passante est la quantité maximale de données pouvant être transmise d’une source vers une destination en une unité de temps. Il s’agit en fait du minimum des bandes passantes disponibles sur les liens composant le chemin de la source à la destination. La bande passante disponible sur un chemin dépend donc du support des liaisons, mais aussi du nombre et du débit des flux qui partagent ces liaisons. [12] A titre d’exemple, les applications vidéo requièrent généralement une bande passante élevée car d’une part, une image représente une grande quantité d’informations et d’autre part, le nombre d’images envoyées par unité de temps doit être suffisant pour obtenir une vision satisfaisante.

Le délai de bout en bout

Appelé aussi latence ou temps de réponse, il s’agit de la durée nécessaire à l’acheminement d’un paquet de données de bout en bout. Cette durée dépend de la qualité du support des liaisons, mais aussi du temps passé dans les différentes files d’attente du chemin. Par conséquent, le délai augmente avec la charge du réseau, par exemple, les applications de conversation sont particulièrement sensibles au délai. On estime qu’une conversation devient pénible si le temps d’acheminement dépasse 28 ms.

La gigue

La gigue est la variation du délai de bout en bout, issue des congestions instantanées lorsque plusieurs flux de données sollicitent au même moment le même port de sortie. Un bon contrôle  de la gigue est souhaité dans les applications de type vidéo à la demande, car une forte gigue entraîne des distorsions lors de l’écoute ou de la visualisation des médias. 1.3.4 La perte de données Le taux de perte est la proportion des paquets qui ne parviennent pas à leur destination. Ces pertes dépendent de :  La fiabilité du support des liaisons : un support peu fiable entraîne une dégradation fréquente des paquets. Si un paquet s’avère corrompu à l’issue de sa vérification grâce aux bits de contrôle (checksum), il sera détruit. On peut toutefois estimer qu’actuellement la fiabilité des liens dans le réseau Internet est relativement élevée, et que par conséquent, les pertes de paquets dues à des défauts de support sont très faibles [14].  L’occurrence de surcharges locales (congestions) dans le réseau : les paquets devant être placés dans une file d’attente pleine sont détruits. Lorsque le protocole de transport garantit l’arrivée de l’information transmise, les paquets perdus doivent être renvoyés. Les pertes ont donc une influence directe sur l’augmentation du délai et sur la gigue.

Intégration de la QoS dans les réseaux

Le problème de la qualité de service dans les réseaux constitue un vaste sujet de recherche et a fait l’objet de nombreuses techniques proposées dans la littérature. En dehors des techniques tendant à organiser l’architecture de communication de façon à réduire les délais d’acheminement des messages (le processus de routage) tout en garantissant une bonne disponibilité du support de transmission.

Le contrôle de congestion

Dans les réseaux de télécommunication, les protocoles de routage généralement utilisés ne tiennent pas compte de la charge du réseau. Par conséquent, il arrive que le débit des flux partageant une liaison soit trop grand, entraînant une surcharge locale du réseau. Ces surcharges sont appelées congestions. 

Définition de la congestion

Lorsqu’un paquet arrive dans un routeur, il est placé dans une file d’attente. Si le débit des paquets en entrée d’un routeur est plus grand que le débit de sortie, le nombre de paquets dans la file d’attente augmente. La taille des files étant limitée, une congestion survient lorsque la file est pleine. Les paquets devant être placés dans la file pleine sont alors détruits. Il est donc essentiel de limiter d’une part, l’apparition de congestions et d’autre part, leur durée. De nombreux travaux se sont orientés dans ce sens, notamment ceux de Van Jacobson [15] [16]. Chapitre 1 Le routage dans les réseaux de télécommunications 8 Ils ont donné naissance à un certain nombre de techniques permettant de moduler le débit des sources, et ainsi limiter l’aspect néfaste des congestions 

Routage dans les réseaux de télécommunication

Principe

Le routage est l’une des fonctionnalités principales de la couche réseau qui a la responsabilité de décider sur quelle ligne de sortie, un paquet entrant doit être retransmis. D’une manière générale, on distingue la remise directe, qui correspond au transfert d’un datagramme entre deux ordinateurs du même réseau, et la remise indirecte qui est mise en œuvre quant au moins un routeur sépare l’expéditeur initial et le destinataire final. Pour sa part, la remise indirecte nécessite de déterminer vers quel routeur envoyer un datagramme IP en fonction de sa destination finale. Ceci est rendu possible par l’utilisation d’une table de routage spécifique à chaque routeur, permettant de déterminer vers quelle voie de sortie envoyer un datagramme destiné à un réseau quelconque. Les routeurs permettent d’interconnecter les segments d’un réseau ou des réseaux entiers. Leur rôle consiste à acheminer les trames de données entre les réseaux, en fonction des informations de la couche 3. Ils prennent des décisions logiques quant au meilleur acheminement possible des données, puis redirigent les paquets vers le port de sortie approprié afin qu’ils soient encapsulés pour la transmission. Les phases d’encapsulation et de désencapsulation se produisent à chaque passage d’un paquet dans un routeur. Le routeur doit en effet désencapsuler la trame de données de la couche 2 pour accéder à l’adresse de couche 3 et l’examiner. L’encapsulation consiste à fractionner le flux de données en segments et ajouter les en-têtes et les en-queues appropriés avant de transmettre les données. Le processus de désencapsulation, quant à lui, consiste à retirer les en-têtes et les en-queues, puis à recombiner les données en un flux continu (voir figure1.2 et figure1.3). Figure 1.2 : encapsulation Réseau Liaison de données Physique Réseau En-tête Données Trame En-tete Réseau En-tête Données Trame En-queue 

La détermination du chemin

La détermination du chemin se produit au niveau de la couche réseau. Ce processus permet au routeur de comparer l’adresse de destination aux routes disponibles dans sa table de routage et de choisir le meilleur chemin possible. Les routeurs acquièrent ces chemins soit par l’intermédiaire du routage statique, soit par l’intermédiaire du routage dynamique. Les chemins configurés manuellement par l’administrateur réseau sont appelés « routes statiques ». Ceux que le routeur a acquis d’autres chemins à l’aide d’un protocole de routage sont dits « routes dynamiques ». La détermination du chemin permet au routeur de choisir le port à partir duquel d’envoyer un paquet pour que celui-ci arrive à destination. On appelle ce processus le routage d’un paquet. Chaque routeur rencontré sur le chemin du paquet est appelé un saut. Les processus impliqués dans la sélection du chemin pour chaque paquet sont illustrés dans la figure I.4 : Réseau Liaison de données Physique Réseau En-tête Données Trame En-tete Réseau En-tête Données Trame En-queue 

La table de routage

Les routeurs emploient des protocoles pour construire et gérer les tables de routage contenant les informations d’acheminement. Le processus de sélection du chemin en est ainsi facilité. Les protocoles de routage placent diverses informations d’acheminement dans les tables de routage. Le contenu de ces informations varie selon le protocole de routage utilisé. L’essentiel du contenu d’une table de routage est constitué de quadruplets (destination, passerelle, masque, interface) où :  Destination : est l’adresse IP d’une machine ou d’un réseau de destination.  Passerelle : (Gateway) est l’adresse IP du prochain routeur vers lequel on envoie le datagramme pour atteindre cette destination.  Masque : est associé au réseau de destination. Réception du paquet sur l’interface Retrait de l’en-tête de trame du paquet Retrait de l’en-tête de trame du paquet Utilisation de la première entrée de la table de routage Extraction de l’adresse IP de destination de paquet Accès à l’entrée suivante Rejet des données Transmission de la nouvelle trame Comparaison de l’adresse de destination masquée avec l’adresse réseau de l’entrée Encapsulation de paquet de données dans la trame appropriée Transmission de paquet de données à l’interface d’entrée de la table de routage Application de masque de l’entrée de la table de routage sur l’adresse IP Les données sont destinées au routeur ? Existe-il une correspondance ? Existe-il une route par défaut Existe-il une autre entrée à la table de routage ?   Interface : désigne l’interface physique par laquelle le datagramme doit réellement être y. Une table de routage contient notamment une route par défaut qui spécifie un routeur vers lequel sont envoyés tous les datagrammes pour lesquels il n’existe pas de route dans la table. Tous les routeurs mentionnés dans une table de routage doivent être directement accessibles à partir du routeur considéré. Cette technique, dans laquelle un routeur ne connaît pas le chemin complet menant à une destination, mais simplement la première étape de ce chemin, est appelée routage par sauts successifs (next-hop routing). Exemple de table de routage (tableau 1.1)  Tableau 1.1: Table de routage L’ordre de traitement de la table de routage va des masques les plus longs aux plus petits. C’est à dire que le routeur va d’abord comparer les sous-réseaux avec le masque 255.255.255.255 pour finir par comparer les sous-réseaux avec le masque 0.0.0.0. La table de routage simplifiée ci-dessus peut se traduire ainsi (dans l’ordre de traitement) : 1. Route vers l’ordinateur lui-même, « Destination réseau » et « Adresse interface » ont la même valeur. On remarquera le masque entièrement à 255 (/32 en CIDR) qui permet de désigner un réseau (une plage) limitée à une seule adresse. 2. Route vers le réseau local sur lequel est connecté l’ordinateur. « On-link » indique que l’ordinateur est directement connecté au réseau concerné, il n’y a donc pas besoin de routeur pour l’atteindre. 3. Route par défaut 0.0.0.0/0.0.0.0 : c’est la route utilisée si aucune autre route possible n’a été trouvée dans la table de routage. La taille d’une table de routage dépend de la taille du réseau. Par conséquent, afin d’accélérer la recherche de correspondances parmi les entrées d’une table, il est préférable que sa taille soit réduite. A ses débuts, l’Internet regroupait un petit nombre de machines isolées et de petits réseaux [18]. Les tables de routage étaient donc de petites tailles. Un seul protocole assurait le routage, GGP (Gateway To Gateway Protocol). Avec la fantastique expansion qui s’est produite, l’explosion des tables de routage fut l’une des raisons pour lesquelles la décision de découper l’Internet en un ensemble d’entités indépendantes fut prise. 

Algorithme et métrique de routage

L’algorithme est le résultat d’une démarche logique de résolution d’un problème pour la mise en œuvre pratique sur ordinateur et afin d’obtenir des résultats concrets, il faut passer par l’intermédiaire d’un langage spécifique de programmation. Les algorithmes de routage utilisés pour définir le port pour envoyer un paquet selon les protocoles de routage. Ils reposent sur l’utilisation de métriques pour prendre ce type de décision. Les protocoles de routage sont conçus pour répondre à un ou plusieurs des objectifs suivants :  Optimisation : capacité d’un algorithme de routage à sélectionner le meilleur chemin. Ce dernier sera choisi en fonction des métriques et de la pondération utilisées dans le calcul. Par exemple, un algorithme peut utiliser à la fois le nombre de sauts et le délai comme métriques, mais considérer que le délai doit prévaloir dans le calcul.  Simplicité et réduction du temps système : plus l’algorithme est simple et plus il sera traité efficacement par le processeur et la mémoire du routeur. Ce paramètre est important si le réseau veut pouvoir évoluer vers des proportions plus conséquentes, comme l’Internet.  Efficacité et stabilité : un algorithme de routage doit pouvoir fonctionner correctement dans des circonstances inhabituelles ou imprévues, comme les défaillances de matériels, les surcharges et les erreurs de mise en œuvre.  Flexibilité : un algorithme de routage doit pouvoir s’adapter rapidement à toutes sortes de modifications du réseau, touchant par exemple la disponibilité et la mémoire du routeur, la bande passante ou le délai réseau.  Rapidité de convergence : la convergence est le processus par lequel tous les routeurs s’entendent sur les routes disponibles. Lorsqu’un événement sur le réseau entraîne des modifications au niveau de la disponibilité d’un routeur, des mises à jour sont nécessaires afin de rétablir la connectivité du réseau. Une convergence lente des algorithmes de routage peut empêcher la livraison des données. Chacun d’eux interprète à sa façon ce qui est le mieux. L’algorithme génère un nombre, appelé valeur métrique, pour chaque chemin traversant le réseau. Les algorithmes de routage perfectionnés effectuent la sélection du chemin en fonction de plusieurs métriques combinées en une valeur composite. Généralement, les valeurs métriques indiquent le meilleur chemin. Les métriques peuvent être calculées sur la base d’une seule caractéristique de chemin, comme elles peuvent l’être sur la base de plusieurs caractéristiques. Les métriques les plus communément utilisées par les protocoles de routage sont les suivantes :  Bande passante : la bande passante représente la capacité de débit d’une liaison. Une liaison Ethernet de 10 Mbits/s est généralement préférable à une ligne louée de 64 Kbits/s.  Délai : le délai est le temps nécessaire à l’acheminement d’un paquet, pour chaque liaison, de la source à la destination. Il dépend de la bande passante des liaisons intermédiaires, de la quantité de données pouvant être temporairement stockées sur chaque routeur, de la congestion du réseau et de la distance physique.  Charge : la charge est la quantité de trafic sur une ressource réseau telle qu’un routeur ou une liaison.  Fiabilité : la fiabilité se rapporte habituellement au taux d’erreurs de chaque liaison du réseau.  Nombre de sauts : le nombre de sauts est le nombre de routeurs par lesquels un paquet doit passer avant d’arriver à destination. Dans la table de routage, parmi les routes empruntées, chaque routeur équivaut à un saut. Un nombre de sauts égal à 4 signifie que les données doivent passer par quatre routeurs pour atteindre leur destination. Lorsque plusieurs chemins sont possibles, c’est le chemin comportant le moins de sauts qui est privilégié.  Tops : délai d’une liaison de données utilisant les tops d’horloge d’un PC IBM, un top d’horloge correspondant environ à 1/18 seconde.  Coût : le coût est une valeur arbitraire, généralement basée sur la bande passante, une dépense monétaire ou une autre mesure, attribuée par un administrateur réseau. A la réception d’un paquet par un routeur, ce dernier doit déterminer vers quel routeur le transmettre, à partir de la table de routage construite par l’algorithme de routage utilisé. 

Table des matières

Chapitre 1 : Le routage dans les réseaux de télécommunications
1.1. Introduction
1.2. Introduction aux réseaux de télécommunication
1.3. Paramètres de la Qualité de Service
1.3.1. La bande passante
1.3.2 Le délai de bout en bout
1.3.3 La gigue
1.3.4 La perte de données
1.4 Intégration de la QoS dans les réseaux
1.4.1 Le contrôle de congestion
1.4.2 Définition de la congestion
1.5 Routage dans les réseaux de télécommunication
1.5.1 Principe
1.5.2 La détermination du chemin
1.5.3 La table de routage
1.5.4 Algorithme et métriques de routage
1.6. Le protocole OSPF
1.6.1 Caractéristiques du protocole OSPF
1.6.2 Fonctionnement général d’OSPF
1.6.3 Encapsulation des messages OSPF
1.6.4 Types de paquets OSPF
1.6.5 Paquet Hello
1.6.6 Les zones OSPF (unique et zone multiple)
1.7 Protocoles dérivés de protocole OSPF (QOSPF)
1.8. Conclusion
Chapitre 2 : L’algorithme de Dijkstra
2.1. Introduction
2.2. Théorie des graphes
2.2.1. Graphe
2.2.2. Arc orienté
2.2.3. Graphe orienté et graphe non orienté
2.2.4. Architecture et degré d’un graphe
2.2.5. Notion de chemin
2.2.6. Connectivité
2.2.7. Arbre sous-tendant minimum
2.2.8. Choix d’un graphe de réseau
2.2.9. Projection des flux et routage
2.2.10. Routage
2.3. L’algorithme de Dijkstra
2.3.1. LE PRINCIPE
2.3.2. INITIALISATION
2.3.3. I ÈME ÉTAPE
2.3.4. (N-2) ÈME ÉTAPE
2.3.5. EVALUATION
2.4. Description de l’algorithme de Dijkstra
2.5. Conclusion
Chapitre 3 : Les circuits logiques programmables
3.1. Introduction
3.2. L’évolution des coûts des circuits numériques
3.3. Les technologies de Mémorisation
3.4. Les circuits logiques Programmables
3.5. Les différents types des circuits Logiques Programmables
3.6. Les FPGAs
3.6.1. Critères de choix du circuit programmable FPGA
3.6.2. Différent domaines d’application des FPGA
3.6.3. Les fabricants de FPGA
3.6.4. Configuration et reconfiguration des FPGA
3.6.5. Technologies de programmation des FPGA
3.6.5.1. Technologie à base de RAM (XILINX et ALTERA)
3.6.5.2. Technologie à base d’EEPROM ou FLASH (LATTICE et ACTEL)
3.6.5.3. Technologie à base d’anti-fusibles (ACTEL)
3.7. Architecture interne des FPGA
3.7.1. Architecture MULTI-COMPOSANTS
3.7.2. Avantages et inconvénients des FPGA
3.7.3. Les deux grandes familles architecturales d’FPGA
3.8. Technologie du premier fondeur d’FPGA « XILINX »
3.8.1. Structure des CLB
3.8.2. Structure des IOB
3.8.3. Nomenclature des Virtex
3.8.4. Evolution des FPGAs XILINX famille Virtex
3.9. Etude de la VIRTEX 7
3.9.1. Présentation de la carte Virtex XC7V2000T
3.10. L’apport des FPGA à la télécommunication
3.11. Conclusion
Chapitre 4 : Les langages de description matérielle et méthodologie d’implémentation
4.1. Introduction
4.2. Les étapes d’évolution de La description matérielle
4.3. Utilité des HDL
4.3.1. Simulation
4.3.2. Synthèse
4.4. Exemples de langages de description matérielle HDL
4.4.1. VHDL (Very High Speed Integrated Circuits Hardware Description Language)
4.4.2. Verilog
4.4.3. Comparaison entre VHDL et VERILOG et choix
4.5. Le langage de description matériel VHDL
4.5.1. Structure d’un programme VHDL le couple ENTITY, ARCHITECTURE
4.5.2. Éléments du langage VHDL
4.5.3. Structure d’un programme sous VHDL
4.6. Les TESTBENCHS
4.7. Méthodologie de conception
4.7.1. Les outils de CAO pour la configuration d’un FPGA
4.8. Etapes de conception sur FPGA
4.8.1. Spécification du design
4.8.2. Développement du design
4.8.3. Synthèse
4.8.4. Placement et routage
4.8.5. Intégration et implémentation
4.9. Conclusion
Chapitre 5 : Résultats et discussion
5.1. Introduction
5.2. Description en VHDL de l’architecture proposée
5.3. Présentation de l’environnement de développement
5.4. Présentation de la démarche suivie
5.4.1. Modélisation de la topologie réseau
5.4.2. Les étapes de notre démarche
5.4.3. L’architecture de l’algorithme de Dijkstra proposée
5.4.4. Fonctionnement de l’architecture
5.5. Résultats de l’implémentation de notre architecture sur FPGA . 97
5.5.1. Description des blocs et implémentation sur FPGA
5.5.1.1. Bloc mémoire
5.5.1.2. Bloc opérateur (sum_dis)
5.5.1.3. Bloc comparateur (find_min)
5.5.1.4. Synthèse du bloc général
5.5.2. Le rapport de consommation des ressources
5.6. Résultats de comparaisons entre un FPGA et un processeur ordinaire
5.7. Transfert de la solution vers un support physique FPGA
5.8. Conclusion
Conclusion générale et perspectives
Liste des publications
Références

projet fin d'etudeTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *