Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf ·...

61
RHD 2009 1 Réseaux Haut Débit : où est le maillon faible ? Années 1980 LAN 10 Mb/s mais WAN ~ 100 Kb/s Années 2000 LAN 100 M, 1G, 10G ou + , WAN 2,5Gb/s, 10G , … IEEE 802.3ba : étude de ethernet 40G (LAN) et 100G (WAN) Exemple Renater5 (ouvert 2008) Liaisons à 10G Fibres noires pour Grilles de calcul (WDM)

Transcript of Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf ·...

Page 1: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 1

Réseaux Haut Débit :où est le maillon faible ?

Années 1980LAN 10 Mb/s mais WAN ~ 100 Kb/s

Années 2000LAN 100 M, 1G, 10G ou + , WAN 2,5Gb/s, 10G , …IEEE 802.3ba : étude de ethernet 40G (LAN) et 100G (WAN)

Exemple Renater5 (ouvert 2008)Liaisons à 10GFibres noires pour Grilles de calcul (WDM)

Page 2: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 2

Page 3: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 3

•Haut débit : niveau physique• Niveau physique : fibre• 10 Giga et au delà• Multiplexage en longueur d’onde

• WDM, DWDM• par exemple 10 Giga par λ

• très grandes distances• câbles transocéaniques

• => très grands progrès• pas le facteur limitatif

Page 4: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 4

Haut Débit niveaux 2 et 3Commutateurs Giga ethernet

Catalyst 3560 24 10/100/1000T + 4 SFP :4800 $ (niveau 2) 7000 $ (niveau 2/3)

Routeurs haute performanceJuniper M160

Chassis 50 000 $carte OC192/sonet (1 port 10G) 335 000 $carte routage 20 000 $carte 2 ports 1 G 43 000 $

Cisco 12816 (jusqu’à 16 slots à 40G)Cisco 12816 chassis $217,500Cisco 12816 1280Gbps Switch Fabric Card $45,000Cisco 12000 1-Port 10GE Card, 1550nm $165,000

=> limiter le nombre de routeurs (VLAN)

Page 5: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 5

Comment commuter à haut-débit ?

accélérer le « routage »meilleurs algorithmes de « longest match »MPLS

accélérer la commutation elle-mêmeswitch fabric bus, cross connect, anneau, …sans blocage = la commutation interne ne ralentit pas

pas toujours vérifiési on avait 24 ports 1G sur un bus à 10G ?

nécessite que débit fabric >> ∑ débit lignes

Page 6: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 6

Switch simpleEx : routeur PC

architecture simpleaccès mémoire simultanésbus IO de débit > somme débits interfacesdouble copie des paquetscartes interfaces simplesprocess centraliséamélioré si DMA carte => mémoire

Page 7: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 7

cartes « intelligentes »

Page 8: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 8

Cartes intelligentes (2)buffers, FIB, calculs

distribués sur les cartesaccès direct carte à cartelimitation : accès au bus

débitconcurrence

CPUsignalisation (proto routage => RIB)contrôle cartes, charge FIBsopérations + complexes (tunnels, …)

Page 9: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 9

CEF cisco express forwarding

Page 10: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 10

dCEF Distributed CEF (doc cisco)

Page 11: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 11

Switch haute performance

Page 12: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 12

Switch haute performance(2)

« switch fabric »circuit de commutationcircuit à N entrées et N sortiesentrée (et sortie) des paquets en //

remarque : systèmes « crossbar » en téléphonie

plus simple si petits paquets de taille fixevoir ATM

que se passe-t-il si 2 paquets pour la même sortie (contention) ?

Page 13: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 13

Ex : crossbar avec arbitre et buffer

si plusieurs demandes

pour même sortie

arbitre sélectionne

autres paquets : buffer

coûteux NxN buffers

Page 14: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 14

N bus broadcast

Paquet contient adresse sortieAnalogue ethernet …

Page 15: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 15

switch et blocage

2 types de blocagedans le switchen sortie

Solutionssurcapacité du switch (ou switchs //)bufferscontrôle (arbitre => buffers en entrée)

Page 16: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 16

Switchs cascadés

Elément de base 2x2Si adresse 0 => haut

sinon bassi conflit :

buffer

-Eléments de basecascadés

-utilisent bitssuccessifs adresse

Page 17: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 17

Ex : Banyan (self routing)

contention interne ou en sortie possible

000

100

110001

X

Page 18: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 18

Solutions

Buffering dans cellules intermédiairescoûteux

réservation du cheminsolutions basées sur le tri des entréesBatcher Banyan : pas de contention interne

tri (Batcher sort)détection doublons (conflits de sortie : trap)

doublons réinjectés à l’entréemélange (shuffle exchange)Banyan

Page 19: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 19

Tri par fusion

31

46

2

5

7

8

1

34

6

2

57

8

2

4

5

6

2

3

4

5

7

6

Page 20: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 20

exemple composite

Batcher-Banyan

Page 21: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 21

Où mettre les buffers ?

en entrée ?

Page 22: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 22

Buffers en entrée

le switch n’a pas besoin d’être plus rapide que les liens desortie

arbitre gère les conflits de sortieproblème du Head of Line Blocking HoL

si la tête de la file bloquée (= sortie occupée)=> paquets suivants dans la file bloquésmême si leur sortie est libre

Page 23: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 23

Buffers en sortie

Page 24: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 24

Buffers en sortie

Très courantpermet de gérer les flux concurrents

pour une sortie = utilisation lien sortantPas de HoL blockingBuffers doivent être rapides

pour ne pas bloquer les entréesau pire N fois vitesse de ligne

Page 25: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 25

Buffers partagés

adresses transmises par switchdonnées en mémoire double accès

Page 26: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 26

Solutions hybrides

buffers en entrée et en sortieet/ou dans la fabric

complexes à analyserutilisées en pratique

Page 27: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 27

Cas particulier : multicast

Eviter recopies multiplesbus en broadcast adaptésaugmente le risque de blocage dans les switchs

Page 28: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 28

Page 29: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 29

Page 30: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 30

Structure switch fabric cisco (12000)

Page 31: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 31

Files virtuelles en entrée=> évite HoL blocking

Possibilité de plusieurs switch fabricsfonctionnent en parallèleaugmentent débitEx : Cisco 12816 switch permet40 G Full Duplex sur chaque carte interface (slot)

16 slots => 1,28 Tb/sutilisé même pour ré-émission même carte (équitable)

http://www.cisco.com/en/US/products/hw/routers/ps167/products_tech_note09186a00801e1dc1.shtml

Page 32: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 32

Archi routeur ciscoFIB (Forwarding base)

distributed CEF (Cisco Express Forwarding)• paquets segmentés en cellules de 44 octets +

entête pour fabric (analogue ATM)• RP (Route Processor)

• reçoit/envoie messages routage• calcule RIB• envoie FIB/CEF aux cartes

• rem : peux prendre du temps ~ centaines ms• le tout via fabric

Page 33: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 33

Arrivée paquet cisco 12000engine 2

7 émission cellules vers fabric 1 par 16 requête fabric5 paquet fragmenté en cellules4 paquets dans CEF3 mise en file virtuelle 2 consultation CEF dans PSA (Packet Switching Asic)1 arrivée trame

Page 34: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 34

Emission paquet

8 arrivée des cellules

9 allocation buffer/réassemblage

10 mise en file de sortie (oudrop)

11 émission

Page 35: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 35

Haut débitEt la couche transport ?

limitations de TCP ?limitations des systèmes ?

Page 36: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 36

La couche transport

transport

réseau (A)

liaison liaison

réseau

liaison liaison

réseau réseau (B)

transport

physique physique physiquephysique

extrémité 1 lien 1 routeur 1 lien 2 routeur 2 lien 3 extrémité 2

sessionsession

service de bout en bout

Page 37: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 37

TCP (Transmission Control Protocol)Décrit dans les RFC 793, 1122, 1323, …

constante évolution Modèle de service TCP

orienté connexion, bidirectionnellefiable : gère les pertes, remet les données dans l’ordreassure un contrôle de flux entre émetteur et récepteurune connexion TCP est identifiée par deux extrémités (adresses

des sockets émetteur et destinataire)les données sont véhiculées sous forme de flots d’octets

pas de délimitation des messages de bout en boutéquivalent d’un tube Unix

il existe un service de données urgentes

assure (implicitement) contrôle de congestion d’Internet

Page 38: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 38

TCP : principes

un message TCP (segment) est transmis dans un paquet IPtout octet de données transmis sur une connexion TCP est

référencé par un n° de séquence (32 bits)un message TCP est formé d’un en-tête d’au moins 20 octets

suivi éventuellement d’options et de donnéesla taille d’un segment est limitée par :

la charge utile d’IP (maximum 65 535 octets)le «Path MTU discovery » peut être mis en oeuvre par TCP pour

éviter la fragmentationla fragmentation ralentit beaucoup la transmission

TCP utilise une fenêtre d’anticipation en émissionfenêtre de taille variable (contrôle de flux et congestion)et éventuellement en réception (SACK)

l’entité réceptrice acquitte avec le n° du prochain octet attendu(ACK cumulatif)

RFC 1106 implémente la retransmission sélective

Page 39: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 39

Format entête TCP

Données éventuelles (nb entier d’octets)

Options éventuelles + bourrage

Pointeur UrgentChecksum

Fenêtre WTaille entête et flags

Numéro Acquittement

Numéro Séquence

Port DestinationPort Source

bits 0 31

Page 40: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 40

Entête TCP : signification

taille de fenêtre W (16 bits) : contrôle de flux explicitesi = 0 : blocage de l’émetteursi > 0 : indique combien d’octets peuvent être

transmis à partir de N° Acquittementoption :

certaines options utilisées à la connexion (négociationdes capacités)

d’autres utilisées en cours de connexion

Page 41: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 41

Exemples d’options

MSS (Maximum Segment Size) : taille maximale quel’entité TCP peut recevoir dans son tampon(minimum du MSS des deux extrémités).

le MSS est l’unité de mesure de la fenêtre decongestion

Window scalepermet d’augmenter la taille de la fenêtre

Timestamp : horodatagePossibilité de retransmission sélective (SACK

accepted)

Page 42: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 42

Transfert de données (1)

Transfert bidirectionnel simultanéTransfert de données

la gestion des fenêtres d’anticipation est liée :aux réceptions d’acquittementsau rythme de lecture / écriture des applications

L’émetteur peut envoyer les octets compris entredernier N° ACK reçuetdernier N°ACK reçu + dernier W reçu

W permet donc au récepteur de ralentir émetteurW = « crédit émission »

Page 43: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 43

Transfert de données (2)

Fiabilitérécepteur accepte dans l’ordre et acquitteémetteur arme délai de retransmission RTO

associé au plus ancien octet non acquittési RTO se déclenche : retransmission (continue)

Efficacité dépend estimation RTOtrès variable suivant connexion

principeRTT calculé pour chaque paquet acquitté : dernierRTTNouveauRTT = a*AncienRTT + (1-a)*dernierRTTRTO = b * NouveauRTT (0 < a < 1, b > 1)algo de Karn : ne pas tenir compte paquets retransmis

Page 44: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 44

Exemple échangeSyn, S=100,A=0,W=4000

Syn,Ack, S=250, A=101, W=2000

Ack, S=101,A=251,W=4000,(1000)S=1101,A=251,(1000) S=251,A=1101,W=1000,(1500) (attente)S=2101,A=1751,W=4000,(1000) S=1751,A=2101,W=2000,(0)

S=3101,A=1751,W=4000,(1000) pertebloqué S=1751,A=2101,W=2000,(0) (pas accepté)

Retransmission timeout (RTO)S=2101,A=1751,W=4000,(1000)

X

Page 45: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 45

Contrôle de flux (1)

Débit avec TCP standardW < 64 Ko (souvent moins : paramètre

système)au plus W par RTTEx :

RTT = 1ms (LAN) Esplanade Illkirch ~0,8 ms64Ko /ms => 64 Mo/s ~500 Mb/s

RTT = 640ms (satellite)64 Ko / 640 ms ~800 Kb/s

intérêt du paramètre Wscale (Window scale)Wscale = n => multiplie W par 2n

Page 46: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 46

WscaleAnalyse des flux Osiris <=> Renater

- trace de 15’- sur plus de 435 000 connexions- moins de 126 000 utilisent option

wscale- 60 000 wscale > 0

Page 47: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 47

Contrôle de flux (2)

Emetteur bloqué dans 2 casW = 0 (récepteur saturé)

=> attendre de recevoir segment avec W >0

La fenêtre d’émission est pleineW octets envoyés et non encore acquittés

si perte d’un Ack : attendre Ack suivant (cumulatif)si perte données : attendre RTO et retransmettresi aucune erreur : attendre Ack (au plus RTT)

peut indiquer que W trop petit

Page 48: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 48

Contrôle de flux (3)

Exemple (Mac OS)paramètres TCP

sudo sysctl -a | grep net.inet.tcp.*spacenet.inet.tcp.sendspace: 32768net.inet.tcp.recvspace: 32768

fenêtres limitées à 32 KoRTT 1ms => ~256 Mb/sRTT 100 ms => 2,56 Mb/s

peut être changé, ex :sudo sysctl -w kern.ipc.maxsockbuf=2000000sysctl -w net.inet.tcp.sendspace=500000sysctl -w net.inet.tcp.recvspace=500000

Page 49: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 49

Contrôle de congestionDans Internet, contrôle distribué dans les stations émettrices

TCP s’en charge, en diminuant le débit des données émises=>TCP fait varier dynamiquement la taille de la fenêtre

d’émissionperte (et retransmission)

interprété par TCP comme congestion dans le réseau=> TCP surveille les temporisateurs de retransmission pour

détecter une congestionTCP gère deux fenêtres :

« fenêtre de contrôle de flux » : relative à la capacité durécepteur (paramètre W)

« fenêtre de congestion » : relative à la capacité duréseau (paramètre CW)

=> le nombre d’octets qui peut être envoyé doit être leminimum de ces fenêtres

FE = min (W, CW)

Page 50: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 50

Contrôle de congestion (2)

TCP basique (Tahoe, années 80)Débit initial : doit être faible (capacité réseau inconnue)La fenêtre de congestion CW est mesurée en MSSalgorithme du « démarrage lent » (Jacobson 88)

à l’établissement de la connexion, CW = 1émetteur envoie un segment de taille maximumà chaque acquittement sans timeout, CW = CW +1=> à chaque RTT sans perte CW double (croissance

exponentielle)CW est limité à W=> si W faible CW n’augmente plus

Lors d’une retransmission (Timeout)considère qu’il s’agit d’une congestionredémarre en slow start avec CW = 1

Page 51: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 51

Contrôle de congestion (3)

Tahoe (suite)Pour éviter les oscillations

quand la fenêtre CW atteint un seuil Son augmente CW de 1 par RTT (au lieu de 1 par ACK)augmentation linéairephase d’évitement de congestion

Calcul de S : initialement S = Wmax (64 Ko ou limite système)à chaque retransmission sur timeout

(= congestion)on prend S égal à la moitié du dernier CWS := CW/2CW := 1

Page 52: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 52

Pertes aux temps 4, 13, 24, 36

Page 53: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 53

Contrôle de congestion (4)

Si perte, attente RTO : peu efficace« fast retransmit » (TCP Reno)Si 3 Ack dupliqués

3 paquets sont arrivés après un « trou »réseau congestionné mais « pas trop »fast retransmit (RFC 2581) retransmettre toiut de suite

sans attendre timeoutFast recovery : ne pas repasser CW à 1S := CW/2 CW := S

évitement de congestion

si TimeoutS := CW/2CW := 1

slow start

Page 54: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 54

Perte et triple ACK au temps 4, 10,19,Timeout au temps 26

Page 55: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 55

Retransmission sélective

Nouveau mécanisme introduit RFC2018négocié à la connexion

option SACK_permitted

si récepteur détecte une perteN° Seq segment reçu > N° Seq segment attendurécepteur envoie Ack avec

option SACK : contient n fois (début, fin)indique réception de n blocs « isolés »

évite retransmission continuepermet de déclencher le fast retransmit/recovery

Page 56: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 56

Fenêtres : synthèseCôté émetteur

Ni DA S1 DE DA +FE

Ni : Numéro initial choisi par l’émetteurDA : dernier N° Ack reçuS1 : segment acquitté par SACKDE : dernier octet envoyéFE: fenêtre émission, min(W, CW)A chaque acquittement

DA avanceFE est recalculé

Envoyé Envoyé Peut être envoyéet acquitté non tous acquitté si DE < DA + FE

Page 57: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 57

Fenêtres : synthèse (2)Côté récepteur

Ni PA S1 S2 PA + W

Ni : Numéro initial choisi par l’émetteurPA : Prochain attendu = dernier N° Ack envoyéW : Fenêtre réception (fonction des capacités)S1, S2 blocs reçus dans le désordre (SACK éventuel)

non encore fournis à l’applicationA chaque segment attendu reçu

PA avanceW est éventuellement recalculéAcquittement éventuellement envoyé

Reçu et Peuvent être acceptésacquitté

Page 58: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 58

TCP : conclusionProtocole stable

amélioration algo retransmission/congestion

Optimisation pour réseaux très haut débitWscale, SACK

Manque d’efficacité si réseau peu fiableperte ≠ congestionExemple : réseaux sans fil

Page 59: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 59

TCP et haut débitProblème des Long Fat Pipe

Formule de Mathis(approchée, avec TCP Reno)calcul des « dents de scie »Si bande passante pas limitée par WBP < MSS * C / (RTT * √p )où p est la probabilité de perte de paquetEx MSS = 1500o, RTT = 100 ms, p = 1%

BP < 1500 * 8 * C /(0,1 * racine (0,01)) = 1,2 Mb/s(en prenant C = 1)

Si p = 0,0001, BP < 12 Mb/s

Page 60: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 60

TCP et haut débitfiabilitéRTT : limiter les routeurs : commutateurs

vitesse du signal : pas de gain possible (vitesse lumière)

Augmenter le MSSréseaux spécialisés avec MSS > 1500 octetsexemple myrinetproposition de jumbo frame (pb de compatibilité)

Améliorer retransmission TCP (dents de scie)A défaut

régler taille fenêtresouvrir connexions parallèles ( ~ multiplie le MSS)

Page 61: Réseaux Haut Débit : où est le maillon faiblepansiot/enseignement/RHD/haut-debit.pdf · •Multiplexage en longueur d’onde •WDM, DWDM ... CPU signalisation (proto routage =>

RHD 2009 61

sourcesRenater

http://www.renater.fr/spip.php?rubrique12Switching

An engineering approach to computer networking, S. Keshav,Addison-Wesley

Architecture CRS1documentation ciscohttp://www.cisco.com/en/US/products/ps5763/index.html

TCPles RFC