Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours...

53
ETRS507 83 Routage dynamique / protocoles de routage Deux technologies de routage : Routage statique ou non adaptatif la route est déterminée par l’administrateur puis configurée « manuellement ». Méthode à réserver pour les réseaux d'extrémité-stub (1 seule route – route par défaut). Routage dynamique ou adaptatif : les routeurs s’échangent des informations sur : la topologie, le débit des liens, le taux d'occupation des liens ... A partir de ces informations chaque routeur construit sa table de routage. « Adaptatifs » : lors des changements de topologie ou de trafic ils adaptent automatiquement les tables de routage. Garantissent que la « meilleure » route est inscrite dans la table de routage. Avantages : en cas de rupture d'un lien ou de dysfonctionnement d'un équipement, les routeurs reconstruisent automatiquement les chemins. Inconvénients : génère du trafic de routage (informations échangées entre les routeurs), occupent des ressources (mémoire, temps processeur). Il existe 3 grandes catégories d'algorithme de routage : Vecteur de distance (RIP) Etats de liens (OSPF, IS-IS) Vecteur de chemins (vecteur de distance amélioré) : BGP

Transcript of Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours...

Page 1: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 83

Routage dynamique / protocoles de routage

➢ Deux technologies de routage :– Routage statique ou non adaptatif 

● la route est déterminée par l’administrateur puis configurée « manuellement ».

● Méthode à réserver pour les réseaux d'extrémité-stub (1 seule route – route par défaut).

– Routage dynamique ou adaptatif :●  les routeurs s’échangent des informations sur : la 

topologie, le débit des liens, le taux d'occupation des liens ...

● A partir de ces informations chaque routeur construit sa table de routage. 

● « Adaptatifs » : lors des changements de topologie ou de trafic ils adaptent automatiquement les tables de routage. Garantissent que la « meilleure » route est inscrite dans la table de routage. 

● Avantages : en cas de rupture d'un lien ou de dysfonctionnement d'un équipement, les routeurs reconstruisent automatiquement les chemins.

●  Inconvénients : génère du trafic de routage (informations échangées entre les routeurs), occupent des ressources (mémoire, temps processeur).

➢ Il existe 3 grandes catégories d'algorithme de routage : – Vecteur de distance (RIP)– Etats de liens (OSPF, IS-IS)– Vecteur de chemins (vecteur de distance amélioré) : 

BGP

Page 2: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 84

Différences EGP - IGPOrganisation d'Internet / Systèmes autonomes 

➢ Internet = internetwork = réseau constitué d'interconnexions de réseaux

➢ En réalité une unité de regroupement plus grande que le réseau IP (machines ayant le même préfixe) est utilisée : le système autonome.

➢ AS (autonomous système) = plusieurs réseaux IP gérés par une même autorité administrative (entreprise publique ou privée, association)

➢ Chaque système autonome dépend d’une autorité administrative. C’est cette autorité (exemple un FAI) qui s'occupe de l’acheminement des données à l'intérieur de son système autonome.

➢ Chaque AS est identifié par un numéro compris entre 1 et 65535. 

➢ Numéros AS attribués par RIPE, ARIN, APNI ... en même temps qu'une plage d'adresses publiques

➢ Un protocole de routage extérieur EGP (Exterior Gateway Protocol) est utilisé pour l'échange d'informations de routage entre systèmes autonomes. Un seul EGP utilisé : BGP (Border Gateway Protocol)

➢ Des protocoles de routage intérieur IGP (Interior Gateway Protocol) sont utilisés à l'intérieur d'un système autonome. RIP, IGRP, OSPF

Page 3: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 85

Différences EGP - IGPOrganisation d'Internet / Systèmes autonomes 

Exemple de système autonome

AS 12322 : Proxad (Free)

Tous les clients, routeurs, serveurs de Free.Tous les préfixes de Free :  91.160.0.0/12 88.190.0.0/15 88.176.0.0/12 88.160.0.0/12 88.160.0.0/11 88.120.0.0/13 83.214.0.0/16 83.158.0.0/15 83.152.0.0/13 82.64.0.0/15 82.64.0.0/14 82.248.0.0/13 82.240.0.0/12 82.224.0.0/12 82.224.0.0/11 82.142.0.0/18 81.56.128.0/17 81.56.0.0/15 78.224.0.0/11 78.192.0.0/11 78.192.0.0/10 62.147.0.0/16 213.36.0.0/16 213.228.0.0/18 212.27.32.0/19

Tous les routeurs de Free sont gérés par le même service, configurés avec le même algorithme de routage : OSPF ou IS-IS choisi par Free.Comment les clients de Free peuvent-ils communiquer avec toutes les autres machines d'Internet ?

Il faut que Free - « s'abonne » à un fournisseur de transit -  ou passe des accords de peering.

Page 4: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 86

Différences EGP - IGPOrganisation d'Internet / Systèmes autonomes 

Abonnement à un fournisseur de transit

AS 12322Free

Fournisseur de transitAS 174Cogent

AS 36856Mozilla

AS 11834Drexel univ

...Free envoie tous ses préfixes IP

Préfixes de Free annoncés à Drexel

Type de protocole de routage à l'intérieur d'un système autonome ?

Free s'est par exemple abonné à Cogent. Free paye au Go de données allant de Rx à Ry. 

Rx

Ry

Type de protocole de routage entre système autonome ?

Page 5: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 87

Différences EGP - IGPOrganisation d'Internet / Systèmes autonomes

AS2200Renater

AS2917France Télécom

AS 3356AS de transit (Level 3 )

R1R2 R3

R4

Systèmes autonomes

Internet

R1 et R2 utilisent un EGP (BGP) pour s'échanger leurs informations de routage.Un EGP doit prendre en compte les accords commerciaux ou politiques entre les systèmes autonomes.

Renater et FT souhaitent faire des économies : pouvoir communiquer entre eux sans passer par le fournisseur de transit (ici Level 3). Ils passent un accord de « peering ». Ils mettent en place une liaison (R5-R6). Ces routeurs utilisent un EGP (BGP) pour construire leur tables de routage.

Autre exemple :

Page 6: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 88

Eléments communs des protocoles de routage

Métrique

➢ Métrique d'une route = distance : valeur associée à une route (pour comparer les routes). Plus la métrique est petite, meilleure est la route. La métrique peut être fonction (selon le protocole) de :

– nombre de sauts – bande passante / capacité – taux d'occupation d'un lien – Fiabilité ...

➢ La métrique peut être une synthèse de plusieurs éléments.

➢ Métrique/distance administrative : permet d'associer des niveaux de confiance à des protocoles de routage.

Convergence

➢ Il y a convergence lorsque tous les routeurs ont la même vision de la topologie du réseau. Tant que la convergence n'a pas eu lieu :

– des boucles peuvent se former → surcharge du réseau → le trafic de routage circule mal → les tables de routage sont difficilement mises à jour ==> la boucle ne disparaît pas.

– des destinations sont inaccessibles

Page 7: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 89

Protocoles de routage à vecteur de distance

Principes généraux

➢ Les routes son exprimées en terme de vecteur :– direction --> saut suivant vers la destination– distance --> métrique– Algorithmes Bellman-Ford ou Ford-Fulkerson.

➢ Deux routeurs voisins s'envoient : – leur table de routage (on verra plus loin qu'ils n'envoient 

pas toute la table de routage)– périodiquement (dans le cas de RIP toutes les 30s)

➢ Principal protocole de routage à vecteur de distance : RIP (Routing Internet Protocol).

➢ RIP : rarement utilisé dans les réseaux actuels. Actuellement : OSPF ou IS-IS.

➢ Mais RIP bon protocole d'étude.

RA RBNet_X

Net_X – coût 0

RA est mon voisinSi RA sait joindre Net_X avec un coût de 0

Alors je peux joindre Net_X par RA avec un coût de 1

Page 8: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 90

Protocoles de routage à vecteur de distance

A B

Net_X

C D

Net_ZNet_Y

Net_W Net_T

Les quatre routeurs démarrent au même instant (t0).Compléter les tables de routage ci-dessous à différents instants.

Routeur A Routeur B Routeur C Routeur D

A t=t0+DT (les routeurs s'envoient leur table de routage)

A t=t0+2DT

A t=t0+3DT

A t=t0

Exercice

Page 9: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 91

Vecteur de distance – Split Horizon

Split horizon

➢ Mécanisme Split horizon : mécanisme inclus par défaut dans RIP. Empêche à un routeur de renvoyer une information à propos d'une route en utilisant l'interface par laquelle il l'a apprise  (an interface will not advertise route information back out an interface from where it originated).Exemple :

➢ C sait qu'il est à une distance 2 de A via B (c'est B qui lui a donné cette information). Avec Split Horizon, C, n'ayant pas d'autre route vers A, ne redit pas à B qu'il est à une distance 2 de A. Pourquoi ? Examinons le cas suivant si  pas de Split Horizon :

Etat initial : A en fonctionnement.B, C, D, E sont respectivement à une distance 1, 2,  3, 4 de A.

A tombe en panne (ou la ligne entre A et B, mais on considère que l'interface de B reste active).Au bout de TimeOut, B n'a plus de message de A, mais C lui dit qu’il se trouve à une distance de 2 de A.

A B C D E

3 2 43

Après TimeOut+ DTA B C D E

3 4 43Après TimeOut+2  DT

Après TimeOut+3  DT

A B C D E

3 4 43

A B C D E

3 4 43

Après TimeOut+4  DTA B C D E

3 4 43

A B C D E

1 2 43

A B C D E

Page 10: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 92

Boucle de routage et valeur infinie

On a un algo de routage à vecteur de distance avec Split Horizon.

Etat initial : le réseau a convergé. Donner les tables de routage simplifiées de R1 et R2.

Donner les annonces de routes envoyées par R2 à R1 et celles envoyées de R1 à R2.

On considère le réseau suivant :

R0R2

R1

Net_0

Net_2

Net_10

Net_20

Net_21

Net_1

Page 11: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 93

Boucle de routage et valeur infinie

➢ On démontre dans cette partie que le processus de split horizon n'empêche pas une convergence lente du réseau.

➢ Imaginons : à t=0 Net_0 devient injoignable

➢ A t=timeout : – R0 envoie une maj à R2 et R1 : Net_0 injoignable 

(distance=16). ● R2 supprime l'entrée Net_0 | R0 | 1 ds sa RIB.● Imaginons R1 reçoit la maj avec un temps de 

retard (Net_10 surchargé)

➢ A t=timeout +  e     :– R1 envoie sa maj habituelle à R2 (Net_0  | R1 | 2). 

R2 rajoute ds sa RIB : Net_0 | R1 | 2

➢ A t=timeout +  e + b: – R1 reçoit la maj émise par R0 : Net_0 injoignable . 

R1 supprime l'entrée Net_0 | R0 | 1 dans sa RIB

R0R2

R1

Net_0

Net_2

Net_1

Net_10

Net_20

Net_21

Page 12: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 94

Boucle de routage et valeur infinie

➢ A t=timeout +  e + b +c   : – R2 envoie à  R0 Net_0  | R2 | 3.

● Cette mise à jour viole-t-elle le mécanisme de split horizon ?

Justifier. Pourquoi la métrique est-elle de 3 ?

➢ A t=timeout +  e + b + DT : R0 envoie une maj à R1. 

● Quel est le contenu de la mise à jour ? Que se passe-t-il par la

suite ?

Page 13: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 95

Boucle de routage et valeur infinie - RIP

➢ Pour chaque routeur, la route est conservée dans les tables de routage avec une distance qui augmente continuellement sans jamais s'arrêter. 

➢ Pendant ce temps les paquets à destination de Net_0 encombrent le réseau inutilement.

➢ Il faut fixer une distance à partir de laquelle on considère le réseau comme injoignable.  Pour RIP (distance infinie = 16).

– Un réseau ne peut pas avoir plus de 15 sauts.– Pour annoncer un réseau injoignable il suffit de 

l'annoncer avec un coût de 16.

Page 14: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 96

Protocole de routage à vecteur de distance

Défaillance d'un réseau

➢ Dès qu'un réseau tombe en panne le protocole de routage ne se contente pas d'arrêter de l'annoncer mais l'annonce avec une distance infinie (16 pour RIP).

– Exemple : dans le cas précédent si le câble Net_W est débranché alors A envoie une mise à jour à B avec une métrique infinie pour le réseau Net_W.

➢ Imaginons maintenant que A et B ne peuvent plus communiquer (lien coupé ou B  inactif). Mais B a toujours son lien actif.  Au bout de combien de temps B considère-t-il que A et Net_W ne sont plus joignables ?

➢ A chaque route entrée dans la table de routage, on associe un temporisateur/timer. Si les màj n'arrivent plus, le temporisateur expire et la route est marquée comme injoignable. Temporisateur d'invalidation de route (Route invalidation timer). 

➢ Route Invalidation Timer = 6 x  DT (généralement)

A B

Net_X

C D

Net_ZNet_Y

Net_W Net_T

Page 15: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 97

Protocole de routage à vecteur de distance

Améliorations supplémentaires

➢ Deux améliorations supplémentaires sont généralement mises en place dans les protocoles de routage à vecteur de distance (cf paragraphe suivant) : 

– Triggered update– Compteur de retenu (propriétaire cisco)

Exemple de protocole : RIP 

➢ Routing Internet Protocol

➢ Algorithme de routage IGP type vecteur de distance.

➢ 3 versions de RIP : – RIPv1 (RFC 1058) : pas de sécurité, classfull 

uniquement– RIPv2 : authentification, classless– RIPNg : support d'IPv6

➢ Points importants : – Les routeurs s'échangent toutes les 30 secondes leur 

table de routage.– Métrique utilisée : nombre de sauts jusqu'à la destination– Si au bout de 180 s on n'a pas reçu de maj pour une 

route : supprimée.– Inconvénients : convergence lente lorsqu'une mauvaise 

nouvelle se propage (valeur infinie).

Page 16: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 98

RIP – Routing Internet Protocol

➢ Améliorations du protocole RIP : – Triggered/Flash Update (mises à jour déclenchées) : 

lorsque une destination devient inaccessible, une mise à jour est envoyée immédiatement plutôt que d'attendre l'expiration du timer  (proche du link-state). 

R1 R2

Net1Net2

F0/0 F0/0 F0/1F0/1R3

Si F0/1 de R1 devient inactive, R1 envoie sans attendre une mise à jour à R2 indiquant que le réseau Net1 n'est plus joignable. R2 reçoit cette mise à jour et la retransmet directement à R3.

Si F0/0 de R1 devient inactive, l'interface F0/0 de R2 reste active. R2 attend que le timer « invalid » expire et envoie alors instantanément une mise à jour déclenchée sans attendre le prochain envoi de maj normal.

On aura presque simultanément 2 mises à jour envoyées : - mise à jour classique toutes les 30s (le timer expire au bout de 6 fois 30s)- mise à jour déclenchée Les mises à jour déclenchées accélèrent la convergence du réseau.

Page 17: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 99

RIP 

➢ Compteur de retenue (Hold down) : Fonctionnalité propre à Cisco. Si un routeur reçoit une mise à jour dans laquelle le coût d'une route déjà connue augmente, le routeur arme un temporisateur de retenue et refuse toute nouvelle information concernant cette route tant que le timer n'a pas expiré.

➢ RIP version 1– Apparu en 1982  Routed.– Protocoles classfull (ne transporte pas les masques 

associés au réseau).– UDP port 520– Envoie des messages en broadcast (255.255.255.255).

Page 18: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 100

RIP v2

– Classless : supporte les masques.– Sécurisé : processus d'authentification– Multicast : utilisation d'adresses multicast : 224.0.0.9.– Spécifie le prochain saut

Timers Rip : – Mise à jour (update) : valeur par défaut = 30s.– Invalidation (route-timeout) : définit combien de temps 

une route peut rester dans la table de routage sans que le routeur reçoive de màj la concernant. valeur par défaut = 180s.

– Retenue (hold-down) : chaque fois q'un routeur reçoit une maj dans laquelle le coût est supérieur, le routeur arme ce timer et refuse toutes les maj. Attention ce timer n'est pas utilisée dans le cas où on reçoit une route avec un coût de 16.

– Effacement (route flush) : valeur par défaut : 240s, 60s au-delà du Route-Timeout. Pendant ces 60s, la route est marquée injoignable mais reste ds la RIB. Elle est donc annoncée injoignable dans les maj. 

Que signifie 0.0.0.0 ?

Page 19: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 101

Configuration de RIP (Cisco)

➢ A router needs to know which local interfaces it should use for communication with other routers, as well as which locally connected networks it should advertise to those routers.

➢ To enable RIP routing for a network, use the  network network-address router configuration mode command.

– Note: If a subnet address is entered, the IOS automatically converts it to the classful network address. For example, entering the network 192.168.1.32 command would automatically be converted to network 192.168.1.0 in the running configuration file. The IOS does not give an error message, but instead corrects the input and enters the classful network address.

➢ By default, RIP updates are forwarded out all RIP enabled interfaces. However, RIP updates really only need to be sent out interfaces connecting to other RIP enabled routers.

– R1(config)# router rip– R1(config-router)#passive-interface g0/0

Page 20: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 102

Configuration de RIP dans les routeurs

➢ Route par défaut– In earlier versions of RIP, the default route created using 

the ip route 0.0.0.0 0.0.0.0 was automatically advertised by RIP routers. In Cisco IOS Software Release 12.0T and later, RIP does not advertise the default route if the route is not learned via RIP. It may be necessary to redistribute the route into RIP.

● Exercice : donner les commandes pour configurer RIP pour R1

(routeur Cisco)

R1

R2

RFAI

192.168.1.0/24

192.168.3.8/30

10.0.1.0/24

F0/0

F0/1

S0/0

S0/0

F0/1

Page 21: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 103

Agrégation de routes - route summarization

➢ Problème actuel : taille des tables de routage (cf bug en Aout 2014 → routeurs non prévus pour gérer plus de 512k routes).

➢ Objectif de l'agrégation de routes : réduire la taille des tables de routage. Lors de l'annonce, un protocole de routage envoie un résumé plutôt que toutes les routes qu'il a reçues.

➢ Exemple : un FAI a obtenu le prefixe 82.6.192.0/20. Il a ensuite attribué des plages à plusieurs clients :

– 82.6.192.0/24 → C0, 82.6.193.0/24 → C1, 82.6.194.0/24 → C2, 82.6.195.0/24 → C3 … 82.6.207.0/24 → C15.

● Vérifier que les plages d'adresses ci-dessus correspondent bien

à la plage d'adresses allouée au FAI.

Page 22: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 104

Agrégation de routes - route summarization

➢ Schéma du réseau

➢ R0, R1, R2, … R15 annonce chacun le réseau qu'il ⇒desserve   RFAI reçoit a des informations concernant 

chaque sous-réseau, si RFAI annonce telle qu'elle ces informations à Rtransit, tous les routeurs d'Internet auront dans leur table de routage 16 entrées qui correspondent au même réseau.

➢ Il faut que RFAI réalise une agrégation de routes. 

➢ Comment ? En repérant les bits les plus significatifs qui sont en correspondance exacte dans toutes les adresses.

➢ Exemple : RFAI reçoit les infos de routage suivantes :– 82.6. 1100 0000 . 0/ 24– 82.6. 1100 0001 . 0/ 24– 82.6.  – 82.6.

➢ RFAI agrège ces routes et annonce le réseau : 

RFAI RTransit

R082.6.192.0/24

R182.6.193.0/24

R282.6.194.0/24

R1582.6.207.0/24

Page 23: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 105

Agrégation de routes - route summarization

➢ Deux avantages : réduit la taille des tables de routage, réduit le nombre de maj de routage 

– exemple sans agrégation, si R2 tombe en panne RFAI signale l'information à RTRANSIT. Avec agrégation RFAI continue d'envoyer la route agrégée. Lorsqu'il reçoit un paquet à destination de 82.6.193.0/24 il supprime le paquet.

➢ Inconvénient : la vision des routeurs d'Internet est moins précise.

Exercice

➢ Trouver la route résumée pour les réseaux suivants :– 202.100.0.0 /16– 202.102.0.0 /16– 202.104.0.0 /16– 202.101.0.0 /16

Page 24: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 106

Aggrégation de routes – route summarization

Cas particulier d'agrégation de routes : la route par défaut

➢ Pour envoyer un message à destination des réseaux 1.0.0.0/8 jusqu'à 255.0.0.0/8 (tous l'espace @IPv4), le routeur R2 doit renvoyer le message à R1.

➢ Essayons de définir une route représentant l'agrégation de tous ces réseaux.

– On s'intéresse à l'agrégation des réseaux 1.0.0.0/8 jusqu'à 127.0.0.0/8. Ces réseaux peuvent être résumés en une seule route : 

– On s'intéresse à la route désignant : 128.0.0.0/8  jusqu'à 255.0.0.0/8. Ces réseaux peuvent être résumés en une seule route : 

➢ Agrégation de 0.0.0.0/1 et 128.0.0.0/1 on obtient : 

1.0.0.0 / 82.0.0.0 / 83.0.0.0 / 8

127.0.0.0 / 8

128.0.0.0 / 8129.0.0.0 / 8130.0.0.0 / 8

255.0.0.0 / 8

R1 R2

192.168.5.0/24

Page 25: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 107

Protocoles de routage à état de liens – OSPF

➢ Fin des années 80, RIP commence à montrer ses faiblesses : principalement son incapacité à changer d'échelle (scalability).

➢ 1991 la RFC 1247 décrivant le fonctionnement d'OSPF v2 est publiée.

➢ Etude succincte, plus approfondie au 2ème semestre.

Principe de fonctionnement. 

➢ Chaque nœud : – Entre en relation avec ses voisins (paquet hello)– Détermine le coût pour joindre chacun de ses voisins et 

diffuse l’information dans tout le réseau Link State Advertisement LSA. 

– Entretient une table LSDB (link state database) contenant pour chaque routeur les réseaux connectés ainsi que le coût associé. LSDB= cartographie complète du réseau. 

– Calcule la table de routage en utilisant l'algo du plus court chemin (algo de Dijkstra)

– En cas de modification de l’état d’un lien le nœud diffuse l’information dans le réseau sous la forme (A, B, c) le lien du nœud A vers le nœud B a un coût de c;

Page 26: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 108

OSPF – Exemple

➢ R0 envoie à tous les autres routeurs qu'il est connecté à Net_A (cout de 1), Net_R0R3 coût de 10 et Net_R0R1 coût de 1. R1 et R3 reçoivent ces informations et les font suivre à tous leurs voisins et ainsi de suite.

➢ R1 envoie à tous les autres routeurs qu'il est connecté à Net_B (cout de 1), Net_R0R1 coût de 1 et Net_R1R2 coût de 64. R0 et R2 reçoivent ces informations et les font suivre à tous leurs voisins et ainsi de suite.

➢ ...

R2

R1

R0

R3 R4

Net_D

Net_A

Net_B

Net_C

Net_R0R3Net_R0R1

Net_R1R2 Net_R2R3

Net_R3R4

Page 27: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 109

OSPF – Exemple

A partir des informations échangées tous les routeurs ont la même vision du réseau LSDB (Link State Database), suivant :

Une fois que cette table est construite, chaque routeur utilise l'algorithme du SPF (Shortest Path First – plus court chemin d'abord-Algo de Disjstra) pour construire sa table de routage.

Page 28: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 110

OSPF – Exemple - cas de R0

➢ Après l'algorithme du plus court chemin, R0 obtient la table de routage suivante : 

Page 29: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 111

Implémentation d'OSPF

➢ Découverte des routeurs voisins – Un routeur doit connaître ses voisins et déterminer l’état 

du lien qui les relie. Lorsque le processus de routage OSPF est lancé sur un routeur des paquets HELLO sont envoyés sur chaque interface où le routage est activé, en multicast 224.0.0.5. 

– Ces paquets ont pour but d’initier de nouvelles adjacences.

➢ Echange d'informations de liens– Lorsqu'un routeur reçoit une information d'états de liens 

(LSA-Link State Advertisement), il la rediffuse à tous les routeurs avec lequel il a créé des relations d'adjacence.

Comparaison vecteur de distance / états de liens

RIP

Avantages Inconvénients

Limité aux petits réseaux (16 sauts)Métrique liée au nombre de saut uniquementConvergence lente

Simple

OSPF

Convergence rapidePassage à l'échelleMétrique : débit des liens

Ressources utilisées : mémoires et processeurs.Nécessite de bonnes compétences pour l'optimisation dans le cas de grands réseaux.

Page 30: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 112

Translation d'adresses NAT et PAT

VOIR COURS MOODLE

Page 31: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 113

Introduction Firewall

➢ Pare-feu : composant ou ensemble de composants restreignant l'accès entre un réseau externe (généralement Internet) et un réseau interne (dit réseau de confiance) ou d'autres ensembles de réseaux. Un pare-feu possède au minimum deux interfaces réseaux.

➢ Les pare-feu se retrouvent au sein des routeurs, des systèmes d'exploitation ou au travers de logiciels dédiés.

➢ Ils s'appuient sur les informations contenues dans les en-tête IP et TCP. Ils comparent les en-têtes des paquets aux règles définies pour autoriser ou non un paquet à entrer/sortir.

➢ Remarques– il existe également des pare-feu « personnels » qui 

installés sur les postes utilisateurs et qui filtrent uniquement les accès entrant ou sortant de la machine.

– Un pare-feu opère par filtrage. Suivant le type de pare-feu utilisé, on peut filtrer tout ou partie du flux TCP/IP mais également la partie (DATA).

Réseau externe

Réseau interne

A

...

B

Page 32: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 114

Couche transport. Introduction

➢ Couche transport doit assurer un échange de données fiable et performant entre les 2 extrémités.

➢ Lors de la transmission 2 problèmes peuvent se poser :– Erreur de transmission (les données arrivent mais 

erronées)– Perte de données (les données n'arrivent pas)

➢ La couche transport doit pallier à ces 2 problèmes.

➢ La couche transport doit également identifier l'application (couche supérieure cf : ports source et destination).

Modèle TCP/IP définit 2 protocoles de transport : 

➢ TCP (Transport Control Protocol) : – Gère les problèmes d'erreur(s) de transmission et de 

perte(s) de données. – On dit qu'il est orienté connexion.– Il établit une connexion de bout en bout.– Il assure un transport fiable des données.

➢ UDP (User Datagram Protocol) : – Il ne gère pas les erreurs ni la perte de données. – C'est le programmeur de l'application qui doit 

implémenter des fonctionnalités de reprise sur erreur. – Il est non fiable.

➢ Il existe plusieurs implémentations de TCP : Végas, Reno, Tahoe, New Reno, Cubic qui différent essentiellement de la méthode utilisée pour éviter les congestions.

Page 33: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 115

Couche transport. Contrôle de l'intégrité

➢ Principe : on ajoute de la redondance dans les données pour détecter les erreurs de transmission.

➢ TCP : somme de contrôle.

Page 34: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 116

Généralités.Fiabilisation d'un échange de données

A (émetteur) B (récepteur)

Data

ACKACK

Data

Data

Le timer expire, A n’ayant pas reçu d’ACK retransmet les données

Data

Que se passe-t-il si c'est l'ACK qui se perd ? 

==> Paquet/segment reçu 2 fois et traité 2 fois ==> nécessité de numéroter les données.

Page 35: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 117

Généralités.Fiabilisation d'un échange de données

Que se passe-t-il si l'ACK arrive mais retardé ?

A (émetteur) B (récepteur)

ACK

Data

Data

ACK

0

Ns=0

Nr=0

0Le récepteur 

ayant reçu le bloc 0 incrémente Nr

Nr=1

Data1

Data2

Le récepteur s’attend à recevoir le bloc 1, il reçoit le bloc 0, il le rejette et l’acquitte

Data0Data0

Data2

Nr=1

Le récepteur s’attend à recevoir le bloc 1, il reçoit le bloc 2, il le rejette

==> Nécessité de N° les ACK.

TCP :➢ Chaque octet de données est numéroté (champ n° de séquence)➢ Chaque octet de données est acquitté (champ n° d'ACK) 

TCP indique dans ACK le numéro du prochain octet qu'il s'attend à recevoir.

Page 36: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 118

TCP : Numérotation des octets et des ACK

Numérotation des segments et des ACK

➢ Dans l'implémentation TCP chaque octet de donnée utile envoyé et reçu et numéroté.

– La numérotation des octets envoyés : champ numéro de séquence de l'en-tête TCP. 

– La numérotation des octets acquittés : champ numéro d'ACK de l'en-tête TCP. 

Exercice : Quelle est la taille du champ numéro de séquence ?

Au bout de combien de temps ce champ reboucle dans le cas

d'une connexion TCP à 10 Gbit/s ? Y-a-t-il un risque de

confusion dans les numéros d'ACK ?

Page 37: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

INFO 625 119

 Implémentation-Ouverture de connexion TCP

➢ TCP doit garantir la fiabilité de la transmission : lorsque TCP indique qu'un segment a été correctement transmis, l'application est sûre que c'est bien le cas !!! 

➢ L'ouverture de connexion se fait en 3 temps (three way handshake). Durant cette phase, chaque entité indique à l'autre le numéro de séquence qu'elle va choisir pour numéroter le premier octet de données utiles qu'elle enverra.

➢ A envoie un premier paquet avec le bit SYN à 1 et choisit aléatoirement un numéro de séquence.

➢ B accuse réception (Ack) en indiquant le numéro du prochain octet qu'il s'attend à recevoir (x+1). B effectue lui aussi une demande de connexion SYN et choisit un n° de séquence (y)

➢ A accuse réception ; A envoie les données

A BApplication 

write

Application read

Ouverture de la connexion

Rmq : ne contient pas de donnée, mais si ce segment en avait contenu, l'octet aurait eu comme numéro x+1

Page 38: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 120

Implémentation TCP

● Echange TCP sans erreur à compléter.

834 octets

21 octets

A B

35 octets35 octets

A compléter.

Page 39: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 121

Implémentation – Fin de connexion TCP

A B

Application shutdown Deliver EOF 

to application

Application writeApplication

 read

Although TCP connections are full duplex, to understand how connections are released it is best to think of them as a pair of simplex connections. Each simplex connection is released independently of its sibling. To release a connection, either party can send a TCP segment with the FIN bit set, which means that it has no more data to transmit. When the FIN is acknowledged, that direction is shut down for new data.

TCP peut envoyer un seul ACK accusant réception de plusieurs octets contenus dans plusieurs segments (cas de retransmission de segments).

Page 40: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 122

Implémetation TCP - Divers

flag PSH : PUSH : Les données doivent être délivrées le plus rapidement possible à l'application destinatrice ==> pas de stockage dans des buffer d'émission ni de réception.

Port source Port destination

Numéro de séquence

Numéro d'accusé de réception

Lg en Tête Taille de fenêtre

FIN

SYN

RST

ACK

URG

Total de contrôle Pointeur d'urgence

Options (0,1 ou plusieurs mots de 32 bits)

Données

Page 41: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 123

Transport. Performances d'un échange

Efficacité du protocole  send&wait et anticipation

➢ Considérons un canal satellite à 50 kbit/s avec un délai de propagation aller-retour de 500 ms.

➢ Utilisation du protocole précédent, paquets de taille L=1000 bits.

– t=0, l’émetteur commence à envoyer le premier segment– t=20 ms, le premier segment a été complètement émis– t=270 ms le segment arrive au récepteur

➢ Au plus tôt le segment d’acquittement est reçu à t=..........

➢ L’émetteur se trouve bloqué ….../........= …... du temps ==>  on n’utilise que …... de la BP disponible.

t=0

t=L/d

RTT/2

ACK

P0

t=

L

Page 42: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 124

Transport. Performances et fenêtre d'anticipation

– Remarques : ● On pourrait également considérer que le satellite n'est 

pas le destinataire final du message mais qu'il se contente uniquement de retransmettre → doubler le RTT.

● La taille de l'ACK est très petite : ACK/d << RTT

● Actuellement les débits sont très grands, donc L/d << RTT.

➢ Solution : il faut autoriser l'émetteur à envoyer n segments successivement sans attendre d'ACK. Le terme associé à ce concept est : fenêtre d'anticipation. On parle de fenêtre d'anticipation de taille n.

t=0

RTT/2

ACK P0

P0

t=RTT

P1

P2

P3

P4

P5 ACK P1

ACK P2P6

L0 /d

L1/d

L2 /d

À t= RTT, on a transmis : L0 + L1 + L2 + … bits

Page 43: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 125

Transport. Fenêtre d'anticipation et pertes de paquets

Quels sont les nouveaux besoins qui apparaissent lorsqu'on met en œuvre un protocole avec anticipation ?

➢ En cas de perte de paquet : – L'émetteur doit pouvoir renvoyer le segment perdu : il 

faut que l'émetteur garde en mémoire les segments envoyés non acquittés (mémoire tampon).

– Doit-on renvoyer tous les segements après celui défaillant ? Surcharge réseau.

– Doit-on renvoyer seulement le segment défaillant ? Dans ce cas le récepteur doit mémoriser les segment pour pouvoir les remettre dans l'ordre. Rejet Sélectif. Solution retenue pour TCP.

➢ ==> Nécessité d'avoir des mémoires tampons sur l'émetteur et le récepteur.

Calcul de la taille minimale des mémoires tampons (taille de la fenêtre d'anticipation)

➢ Idéalement, il faut que la transmission se fasse sans interruption due à l'attente d'un ACK. 

➢ Un ACK arrive RTT secondes après la transmission du paquet correspondant. En RTT on a transmis : L0 + L1 + L2 + … bits

➢ Combien de bits n transmet-on pendant une durée RTT sur un canal ayant un débit d ?

Page 44: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 126

Transport. Efficacité du protocole et anticipation

➢ Pour une efficacité maximale : n = RTTxd  (n : taille de la fenêtre d'anticipation/taille des buffers, d : débit de la liaison, RTT : round trip time).

● Exercice : Montrer qu'avec une fenêtre d'anticipation de taille

n, Débit_utile = débit de la liaison.

● Calculer la taille de la mémoire utilisée par TCP dans le cas où on

a 3 connexions TCP ayant les paramètres suivants (connexion 1 :

10 Mbit/s, RTT=100ms ; connexion 2 : 100 Mbit/s, RTT=50ms ;

connexion 3 : 1 Gbit/s, RTT=80ms)

Page 45: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 127

Transport. Gestion du Timer de retransmission

➢ Principe :– armer un timer de retransmission pour chaque segment 

émis– désactiver le timer lors de la réception d'un ack– retransmettre le segment à expiration du timer (ce 

dernier est réarmé).

Comment choisir la durée du Timer ? 

➢ Couche transport doit fonctionner si émetteur et récepteur  sont géographiquement proches mais aussi très éloignés.

– Si TCP choisit un timeout trop petit ==> beaucoup de retransmission inutile

– Si TCP choisit un timeout trop grand ==> temps de réaction important ==>  débit utile faible.

➢ La durée des timers est évaluée et adaptée en fonction du temps nécessaire pour faire l'aller/retour (RTT : Round Trip Time).

➢ A tout moment une congestion peut arriver ==> ajuster la valeur du timeout en temps réel.

➢ TCP gère une estimation du RTT à partir des mesures successives du temps mis pour recevoir un ACK correspondant à un segment. 

➢ Timeout = 2xEstimationRTT 

Page 46: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 128

Contrôle de flux et de congestion

➢ Si on a mis en œuvre tous les mécanismes :– numérotation segments, – numérotation ACK,– fenêtre d'anticipation de taille correcte– timer de retransmission calculé de manière efficace

➢ Alors on a une connexion de transport fiable et performante. Parfois trop performante.

➢ Trop performante car il y a le risque :– d'envoyer plus de données que le récepteur peut en 

recevoir– d'envoyer plus de paquets que le (sous-)réseau de 

communications peut en recevoir →  créer une congestion. Sous-réseau partagé.

➢ Contrôle de flux : – asservir le débit d'émission d'une source en fonction de 

la capacité de réception du destinataire (le récepteur ne peut pas accepter autant de données que l'émetteur lui en envoie – récepteur trop lent).

– Le contrôle de flux se fait généralement simplement : le récepteur envoie périodiquement la taille des données qu'il est prêt à recevoir.

➢ Contrôle de congestion– asservir le débit d'émission d'une source en fonction de 

la capacité du/des sous-réseaux traversés.– contrôle de congestion est plus compliqué que le 

contrôle de flux. Il faut que l'émetteur adapte en temps réel son débit d'émission aux capacités réelles du réseau.

– Pour TCP, une perte de segment est interprété comme une congestion. L'émetteur réduit alors son débit d'émission.

Page 47: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 129

Contrôle de flux et de congestion

➢ Exemple : Les machines A, D, E et F communiquent avec Z via TCP.

1Gbit/s

A doit envoyer une grande quantité de données à Z. Quel mécanisme permet de ne pas surcharger Z ? Comment ce mécanisme est-il implémenter dans TCP ?

Quel est le débit du lien en sortie de A ? Quel est le débit du lien en sortie de R1 ? Que va-t-il se passer si A envoie toutes ses données à un débit de 1 Gbit/s ? Que faut-il mettre en place ? 

Page 48: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 130

Contrôle de flux et de congestion TCP

➢ Pour avoir des performances satisfaisantes, il faut utiliser le mécanisme d'anticipation avec une taille de fenêtre d'anticipation dont la valeur est w=RTT x débit_du_lien.

➢ Le débit utile de la connexion TCP vaut alors : débit_utile = débit_du_lien.

➢ On a vu également qu'un système trop performant pouvait causer :

– la surcharge du récepteur– la surcharge du réseau

➢ Pour ne pas surcharger ni le récepteur ni le réseau ==> limiter le débit d'émission. Comment ? En réduisant la taille de la fenêtre d'anticipation.

➢ Ainsi il faut établir deux limites : – une pour éviter la surcharge du récepteur (contrôle de 

flux)– l'autre pour éviter la surcharge du réseau (contrôle de 

congestion).

➢ La plus petite de ces 2 limites sera utilisée comme taille de la fenêtre d'anticipation.

➢ Malheureusement le jargon TCP peut être source de confusion. En effet à la place du terme  limite, on voit apparaître le terme fenêtre. Ainsi chaque émetteur gère ce qui est appelé dans le jargon TCP :

– Une fenêtre de contrôle de flux– Une fenêtre de congestion Cwnd (Congestion Window)

Page 49: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 131

Contrôle de flux TCP

➢ Fenêtre de contrôle de flux : le récepteur envoie dans le champ fenêtre(en tête TCP) le nombre d'octets qu'il est prêt à recevoir.

A BTampon de réception 

TCP0 4ko

Envoi de 2Ko 1ko

1ko0 4ko2ko

Envoi de 2Ko 1ko

1koApplication lit 1ko

0 4ko2ko

Envoi de 1Ko 1ko 0 4ko2ko

Envois bloqués Application lit 2ko

0 4ko2ko

Deux problèmes supplémentaires à gérer :➢ le syndrome de la fenêtre stupide (silly Window)➢ l'attente infini si l'émetteur ne reçoit pas le segment indiquant une augmentation de la taille de la fenêtre

Page 50: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 132

Contrôle de congestion TCP

➢ Contrôle de congestion beaucoup plus complexe que contrôle de flux. 

– Le réseau n'indique pas le nombre de paquets qu'il est prêt à accepter (IP n'assure pas de contrôle à ce niveau)

– Il faut donc que l'émetteur « devine » à chaque instant le nombre de segments qu'il peut envoyer sans provoquer de congestion.

➢ Les concepteurs de TCP sont partis du principe que toute perte de segment est due à un état de congestion. 

➢ Au cours d'une connexion, TCP augmente progressivement la taille de la fenêtre de congestion et donc le débit jusqu'à ce qu'il y ait une perte de paquet (signe d'une congestion), il diminue alors la taille de la fenêtre de congestion et donc le débit.

➢ Plusieurs algorithmes de gestion de la fenêtre de congestion ont été développés au cours du temps. On s'intéresse ici au premier développé : TCP Tahoe.

SiSiSiSiSiSi

SiSiSiSiSiSi

SiSiSiSiSiSi SiSiSiSiSiSi

SiSiSiSiSiSi

A B C

1Gbit/s

1Gbit/s

10Mbit/s

SiSiSiSiSiSi

SiSiSiSiSiSi

SiSiSiSiSiSi

SiSiSiSiSiSi

SiSiSiSiSiSi

1Gbit/s

SiSiSiSiSiSi

SiSiSiSiSiSi

SiSiSiSiSiSi

SiSiSiSiSiSi

SiSiSiSiSiSi

Page 51: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 133

Contrôle de congestion TCP

A l'établissement connexion : phase appelée slow start.

➢ cwnd = 1MSS (MSS=Maximum Segment Size=taille maximum d'un segment). L'émetteur peut envoyer un segment de cette taille. Typiquement 1 MSS = 1460 octets.

➢ Pour chaque ACK reçu on augmente cwnd de 1 MSS (multiplication par 2 de CWND par RTT). 

➢ Exemple : on considère une connexion TCP entre A et B où A à beaucoup de données à envoyer et B peut les accepter.

A Bt=0, Cwnd = 1MSS (1460o) 

S0 : 1460 o

ACK

t=.........., Cwnd = ...........

S1 : 1460 o

t=.........., Cwnd = ...........

ACK S0ACK S1

S2 : 1460 oS3 : 1460 oS4 : 1460 oS5 : 1460 o

ACK S2ACK S3ACK S4ACK S5

t=.........., Cwnd = ...........

Page 52: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 134

Contrôle de congestion

Si expiration du timer (due à une perte de paquet) – congestion avoidance

➢ On met dans une variable SS_threshold (slow start threshold) la valeur de la fenêtre de congestion divisée par 2 : SS_Threshold= cwnd /2

➢ On continue l'envoi de segments : cwnd est remise à 1 et la croissance de cwnd se fait en 2 phases : 

– 1ère phase : on double jusqu'à atteindre SS-threshold– 2ème phase on augmente la taille de la fenêtre de 1 

MSS phase collision avoidance

➢ Si perte de segment on recommence.

 

Pour l’exemple précédent, donner l'expression littérale du débit de la connexion TCP  pour 2RTT<t<3RTT. 

Page 53: Routage dynamique / protocoles de routageflorent.lorne.free.fr/pdf/L3TR/ETRS507/Transparents Cours ETRS507 … · ETRS507 83 Routage dynamique / protocoles de routage Deux technologies

ETRS507 135

Contrôle de congestion TCP

● Exercice : Identifier les phases de slow-start et de congestion

avoidance

● Exercice : On considère deux machines A et B reliées par un

réseau à 100 Mbit/s. Le temps mis par un paquet pour aller de A

à B est de 50 ms. La taille de segment maximale est de 1400

octets. Calculer le temps mis pour atteindre le débit maximum

de la connexion TCP entre A et B.