Vous êtes sur la page 1sur 85

Couche Rseau (Premire partie)

RSEAUX ET TLCOMMUNICATIONS

Table des matires (Couche rseau - Premire partie)

Les problmes de conception Routage Contrle de congestion Qualit de services

Les problmes de conception

1. 2. 3. 4.

Environement Service sans connexion Service avec connexion Comparaison

Environement
Application Transport Rseau Liaison de donnes Support physique

Environement ...

Services fournis a la couche transport ...


Quelques requis fondamentaux Indpendance du nombre, du type te la technologie des routeurs Adressage universel (I.e valable sur tous les types de rseaux) Deux types de services Sans connexion Avec connexion

Services sans connexion ...


Datagrammes
Injects individuellement dans le sous rseau Dcision de routage prise pour chaque paquet

Similaire au systme postal

Services sans connexion ...


Example
H1 envoie paquets 1, 2, 3 et 4 a H2 travers sous rseau de routeurs Table de routage initiale utilise pour paquest 1, 2, et 3 Table de routage mise jour utilise pour paquet 4

Services sans connexion ...

Services avec connexion ...


Circuit virtuel
Connexion Ouverture de circuit Tous les paquets empruntent le mme chemin

Services avec connexion


Example
H1 tablit une connexion numrote 1 avec H2, travers le sous rseau H3 tablit une connexion numrote 1 avec H2, travers le sous-rseau Routeur A change le numro de la connexion H3 a H2 pour que C puisse faire la diffrence entre les deux connexions.

Services avec connexion ...

Comparaison ...
Critres
Phase d tablissement d une connexion Adressage Routage Impact d une panne de routeur Qualit de service Contrle de congestion

Comparaison ...
Datagramme Circuit virtuel

Phase d tablissement d une connexion Necessaire Adressage adresse destinataire Routage Pour chaque paquet Impact d une panne de routeur Mineur Qualit de service Difficile Contrle de congestion Difficile

Pas necessaire Numro circuit Pour chaque circuit Majeur Facile Facile

Algorithmes de routage

1. 2. 3. 4.

Principes gnraux Routage sans table Routage avec table Routage multicast

Principaux gnraux ...


Les deux processus
Remplissage de la table de routage (s il y en a une) Dcision de routage

Quelques requis
Exatitude Simplicit Robustesse quit

Principaux gnraux ...


Critres de classification
Avec ou sans table de routage Adaptifs/dynamiques vs. non adaptifs / statiques Centraliss vs. distribus

Routage sans table ...


Rarement utilis
Rseaux spcialiss Certains rseaux militaires Utilis comme complment de certaines techniques de routage avec table Diffusion de table de routage Inodation pure Chaque paquet recu par un noeud est envoy a tous les noeuds adjacents sauf celui duquel il est recu Processus reitr jusqu a ce que le paquet atteigne la destination finale

Routage sans table ...


Routage par inondation Avantages
- Rapidit - Robustesse

Desavantages
- Nombre lev de paquets injects dans le rseau - Nombre lev de paquets recus par la destination

Routage sans table ...


Quelques amiliorations a l inondation pure 1. Destinataire envoie par inondation accus de reception a tous les noeuds des reception de la premiere copie
Noeuds cessent envoie du paquet acquitt Base: source et destination Paquets deja transmis ne sont pas re-transmis Chaque paquet a une valeur V Chaque lien a un poids P Valeur V dcrmente du poids P chaque fois que le paquet traverse le lien Paquet ne peut traverser lien de poids P que si sa valeur V est superieure au poids P

2. Noeuds numerotent squentiellement paquets transmis

3. Inondation controle

Routage sans table ...


Autres techniques de routage sans table
Routage aleatoire - Chaque noeud envoie tout paquet recu a un noeud adjacent slectionn alatoirement - Exclusion du noeud duquel le paquet a t recu - Processus re-itr jusqu a ce que le destinataire recoive le paquet Routage par la source - Expediteur indique dans le paquet le chemin a suivre - Force routeurs a expdier sur routeurs adjacents indiqus dans paquets - Parfois utilis dans Internet
Chemin indiqu dans paquet IP

Routage avec table ...


Remplissage de table de routage
Principe du chemin le plus court Plusieurs mtriques sont possibles Cout Distance
Nombre de sauts Distance en kilomtres

Autre
Bande passante

Algorithme de Dijkstra - Methode de base pour calcul de la distance la plus courte - Utilis seul ou - Comme base d autres algorithmes plus complexes

Routage avec table ...


Algorithme de Dijkstra
Si N est sur le plus court chemin entre S et T, le plus court chemin entre S et N ou le plus court chemin entre N et T est connu Ce constat peut tre utilis itrativement pour construire le chemin le plus court entre S et T Les noeuds sont diviss en 3 ensembles Premier ensemble: Les noeuds pour lesquels le plus court chemin partant de S est connu Deuxime ensemble: Les noeuds qui sont candidats pour passer dans le premier ensemble Troisime ensemble: Tous les autres noeuds

Routage avec table ...


Algorithme de Dijkstra

Routage avec table ...


Algorithme de Dijkstra #define MAX_NODES 1024 /* nombre maximal de nuds */ #define INFINITY 1000000000 /* nombre suprieur tout chemin maximal */ int n, dist[MAX_NODES][MAX_NODES];/* dist[i][j] est la distance de i j */ void shortest_path(int s, int t, int path[]) { struct state { /* le chemin en cours danalyse */ int predecessor; /* nud prcdent */ int length; /* longueur entre la source et le nud en cours */ enum {permanent, tentative} label; /* tat de ltiquette */ } state[MAX_NODES]; int i, k, min; struct state *p; for (p = &state[0]; p < &state[n]; p++) { /* tat dinitialisation */ p->predecessor = 1; p->length = INFINITY; p->label = tentative; }

Routage avec table...


Algorithme de Dijkstra state[t].length = 0; state[t].label = permanent; k = t; /* k est le nud actif initial */ do { /* Y a-t-il un meilleur chemin partir de k ? */ for (i = 0; i < n; i++) /* ce graphe possde n nuds */ if (dist[k][i] != 0 && state[i].label == tentative) { if (state[k].length + dist[k][i] < state[i].length) { state[i].predecessor = k; state[i].length = state[k].length + dist[k][i]; } } /* Trouve le nud provisoire avec la plus faible valeur dtiquette */ k = 0; min = INFINITY; for (i = 0; i < n; i++) if (state[i].label == tentative && state[i].length < min) { min = state[i].length; k = i; } state[k].label = permanent; } while (k != s); /* Copie le chemin dans le tableau de rsultats */ i = 0; k = s; do {path[i++] = k; k = state[k].predecessor; } while (k >= 0); }

Routage avec table ...


Algorithme vecteur de distance Approche dynamique Utilis dans Arpanet jusqu en 1979
Table de routage mise a jour avec information recue des routeurs voisins Table indexe par destination possible contenant Ligne de sortie prfre Cout (e.g. temps, distance)

Routage avec table ...


Algorithme vecteur de distance Principe de re-construction dynamique de la table de routage
Chaque noeud :
connait le cout pour aller vers les noeuds adjacents Envoie priodiquement a chacun des noeuds adjacents (et recoit priodiquement de chacun d entre eux) le cout pour aller vers les destinations Recalcule priodiquement le cout total pour aller vers chaque destination, pour chaque possibilit Choisit le la route avec le cout le plus bas

Routage avec table ...


Algorithme vecteur de distance Processus dans chaque noeud
Envoie priodique de vecteur de distance (table indexe) a chaque voisin Rception priodique de vecteur de distance de chaque voisin Calcul priodique de la nouvelle table de routage Principe du moindre cout

Routage avec table ...


Algorithme vecteur de distance Exemple
Noeud J avec 4 voisins A, I, H, K recoit 4 vecteurs de distance Distance vers un noeud donn X = Plus courte distance indique par les voisins + distance vers ce voisin

Routage avec table ...


Algorithme vecteur de distance

Routage avec table ...


Algorithme vecteur de distance Le problme de la valeur infinie Les bonnes nouvelles se propagent rapidement (a) et les mauvaises lentement (b) (Note: B manque a gauche) (a) Routeur A qui tait en panne se remet en marche (b) Routeur A qui tait en marche tombe en panne Notes: A et B manquent sur la figure de gauche

Routage avec table ...


Algorithme vecteur de distance Le problme de la valeur infinie Les bonnes nouvelles se propagent rapidement (a) et les mauvaises lentement (b)

Routage avec table ...


Algorithme tat de lien Remplace algorithme vecteur de distance en 1979 Largement dploye sur Internet Apporte une solution au problme fondamental de l algorithme vecteur distance
Problme Lenteur de la propagation des mauvaises nouvelles (problme du comptage infini) Racine Compter uniquement sur les voisins Confiance absolue en eux et en l information qu ils donnent
Voisins ne peuvent donner que l information qu ils ont

Routage avec table ...


Algorithme tat de lien Chaque noeud compte sur tous les autres noeuds du rseau
Permet d avoir sa propre vue du rseau au lieu de la vue dcrite par les voisins Permet d avoir les mauvaises nouvelles plus rapidement

Routage avec table ...


Algorithme tat de lien 1. Dcouvrir les voisins et leur adresse de rseau 2. Calculer le cout pour atteindre chacun d eux 3. Construire un paquet spcial contenant l information 4. Envoyer ce paquet a tous les autres routeurs 5. Calculer le plus court chemin vers chaque routeur en utilisant l information recue de tous les autres routeurs

Routage avec table ...


Algorithme tat de lien 1. Dcouvrir les voisins et leur adresse de rseau
Paquet spcial HELLO

2.

Calculer le cout pour atteindre chacun d eux


Paquet spcial ECHO Mesure du temps pris pour l aller-retour Division par 2

Routage avec table ...


Algorithme tat de lien Construire un paquet spcial contenant l information

Routage avec table ...


Algorithme tat de lien
Distribution de paquets d tats de liens Inondation amiliore (utilisation de numeros de squence) Calcul du chemin le plus court Algorithme de Dijkstra

Routage avec table ...


Routage hirarchique
Rduction de la grosseur des tables de routage Rduction de la mmoire requise Rduction des resources processeur requises Trs utilis dans les rseaux tlphoniques Principes Dcoupage en rgions Chaque routeur a une table complte pour les noeuds qui sont dans sa rgion Utilisation d un point d entre et d un seul par rgion pour toutes les autres rgions

Routage avec table ...


Routage hirarchique

Routage multicast ...


Paquet destin a plusieurs destinations au lieu d une seule
Travail de groupe Deux aspects Gestion de groupe
Creation de groupe et assignation d une seule addresse au groupe Inscription Retrait Information sur les groupes propage dans tout le rseau Envoye directement par les hotes Envoye sur demande

Routage multicast
Indpendant du processus de gestion de groupe

Routage multicast ...


Routage multicast
Mthodes naives et peu efficaces Expditeur envoie aux membres 1 par 1 Inondation

Routage multicast ...


Routage multicast
Mthode efficace 1. Construction d un arbre recouvrant par chaque routeur - Routeurs relis aux hotes appartenant aux groupe multicast - Autres routeurs 2. Elagage des lignes menant aux hotes n appartenant pas aux groupes multicast
Cas de routage par tat des liens Facile car connaissance totale du rseau et connaissance des groupes Parcours commencant par la fin et remontant vers la racine et elagage de tous les routeurs qui ne participent pas au routage pour le group concern

Routage multicast ...


Routage multicast
Mthode efficace

Controle de congestion

1. 2. 3. 4. 5.

Principes de base Boucle ferme Boucle ouverte Cas des sous-rseaux de circuits virtuels Cas des sous-rseaux de datagrammes

Principes de base ...


Congestion
Plus de paquets que le sous-rseau ne peut traiter Resultat: dgradation de performance Facteurs: Pas assez de mmoire Expiration de la validit des paquets meme si memoire infinie Processeurs lents Ligne a faible bande passante

Principes de base ...


Objectif
S assurer que le sous rseau puisse transporter le traffic qui y est inject Problme global impliquant Hotes Routeurs

Principes de base ...


Congestion

Principes de base ...


Congestion
Deux approches: Boucle ferme 1. Dtecter quand et ou 2. Informer les noeuds qui peuvent agir 3. Agir Boucle ouverte Eviter que le problme ne se produise

Boucle ferme ...


Exemples de mtriques pour dtection
Pourcentage de paquets limins par manque d espace Longueurs des files d attente Nombre de paquets retransmis par cause de dlai expir

Boucle ferme ...


Exemples de mthodes pour communiquer l information
Paquets spciaux Bits dans paquets ordinaires

Boucle ferme ...


Agir
Augmenter les resources (ex: augmentation de la puissance d mission d un satellite, utilisation de routeurs de secours) Diminuer la charge (e.g. dlestage)

Boucle ouverte ...


Stratgies au niveau rseau
circuits virtuels vs. datagrammes Stratgies de files d attente et de services (e.g. paquets prioritaires) Dlestage Gestion de la dure de vie des paquets Algorithme de routage (e.g. rpartition optimale de traffic sur toutes les voies possibles)

Cas des sous rseaux de circuits virtuels ...


Controle d admission
Eviter d tablir de nouveaux circuits quand il y a congestion Brutale, mais simple a appliquer

Contournement des zones de congestion - Etablir de nouveaux circuits quand il y a congestion


Eviter les zones de congestion

Cas des sous rseaux de circuits virtuels ...


Contournement des zones de congestion

Cas des sous rseaux de datagrammes ...


Paquet de rtention avec effet sur source (choke packet)
Routeur sur un itinraire surcharg Envoie a la source un paquet avec adresse de destination - Active un bit dans paquet original pour que routeurs en aval ne gnerent de nouveaux choke paquets Source - Rduit traffic vers destination de X pour cent - Ignore autres paquets recus pour destination pendant un intervalle dfini

Cas des sous rseaux de datagrammes ...


Paquet de rtention avec effet par pallier Plus efficace sur les rseaux longue distance a cause du temps mis par choke paquet pour aller a source
Routeur sur un itinraire surcharg Envoie a la source un paquet - Active un bit dans paquet original pour que routeurs en aval ne gnerent de nouveaux choke paquets Noeud sur chemin du choke packet - Rduit traffic vers destination de X pour cent - Ignore autres paquets recus pour destination pendant un intervalle dfini

Cas des sous rseaux de datagrammes ...

Qualit de service

1. 2. 3. 4. 5.

Principes de base Services intgrs Services diffrencis Cas des sous-rseaux de circuits virtuels Cas des sous-rseaux de datagrammes

Principes de base ...


Qualit de services (QoS Quality of Service) - Exigence des squences de paquet traversant le rseau
Fiabilit:
Pas d erreur dans les bits

Dlai Guigue (jitter):


Variation dans le temps d arrive des paquets

Bande passante

Principes de base ...


Qualit de services (QoS Quality of Service) Exigence des squences de paquet traversant le rseau
Courrier lectronique Transfer de fichier Accs au Web Session a distance Audio a la demande Vido a la demande Tlphonie Vido confrence

Principes de base (Exigences) ... Fiabilite


Courrier lectronique Transfer de fichier Accs au Web Session a distance Audio a la demande Vido a la demande Tlphonie Vido confrence lev lev lev lev Bas Bas Bas Bas

Delai Guigue Bande passante


Bas Bas Moyen Moyen Bas Bas lev lev Bas Bas Bas Moyen lev lev lev lev Bas Moyen Moyen Bas Moyen lev Bas lev

Principes de base
Examples de solutions simples Sur-dimensionnement

Approche classique utilise en tlphonie Avantage


Rsous tous les problmes (ou presque) Cout

Dsavantage majeure

Principes de base
Examples de solutions simples: Tampon

Principes de base
Examples de solutions simples Tampon

Avantage
Rsous le problme de la guigue Augmente le dlai Pa d impact sur la fiabilit et la bande passante

Dsavantage

Architecture de services intgrs


Qualit de services bout bout
- Guarantie les exigences (delai, bande passante) des applications

Architecture de services intgrs


Comment?
Quelques caractristiques essentielles Reservation de resources l avance
Protocole de rservation de ressource

Police Application ne peut pas utiliser plus qu elle n a demand Controle l admission Nouvelles applications non admises quand il n y a plus de resources Classification Gestion de queue

Architecture de services intgrs


Protocole de rservation de ressources
Deux messages
PATH De lmetteur vers le rcepteur RESV
Direction oppose

Architecture de services intgrs


Example
Diffusion restreinte Deux metteurs 1 et 2 Trois rcepteurs 2, 4, 5

Services Intgrs

Architecture de services intgrs


Example
Rcepteur 3 rserve un cannal allant 1
Utilisation de messages PATH and RESV

Rcepteur 3 rserve un cannal allant 2


Utilisation de messages PATH and RESV

Rcepteur 5 rserve un cannal allant 1

Services Intgrs

Services Intgrs
Dsavantages
1. Mise a jour majeure du logiciel des routeurs
Reservation de resources l avance
Protocole de rservation de ressource

Police Application ne peut pas utiliser plus qu elle n a demand Controle l admission Nouvelles applications non admises quand il n y a plus de resources Classification Gestion de queue

Services Intgrs
Dsavantages
2. Charge additionnelle induite sur le rseau
Messages PATH et RESV

3. Ne marche que si tous les routeurs du rseau supportent l architecture

Services Diffrencis - DiffServ


Approche beaucoup plus simple qui rsoud la plupart des problmes de l architecture service intgrs
Garantie relative au lieu de garantie absolue

Services Diffrencis - DiffServ


Principe fondamental:
Un champ dans le paquet dit au routeur comment traiter ce paquet par rapport d autres paquets
Plusieurs possibilits pour la dfinition du nombre de catgories de paquets

Services Diffrencis - DiffServ


Example: Paquets acclrs vs. paquets ordinaires
Deux queues dans le routeur, une poue chaque catgorie de paquet
Bande passante plus importante alloue la premire catgorie

Services Diffrencis - DiffServ

Services Diffrencis - DiffServ


Example: Paquets avec priorits 1, 2, 3, 4

Services Diffrencis - DiffServ

Services Diffrencis - DiffServ


Avantages
Mise jour moins importante des routeurs Pas de charge additionnelle induite sur le rseau Marche mme si tous les routeurs du rseau ne le supportent pas.

Services Diffrencis - DiffServ


Dsavantage
Garantie relative au lieu de garantie absolue

Rfrences
1.

...

A. Tanembaum, Rseaux, 4eme dition, Pearson Education 2003 (Chapitres 5)