Vous êtes sur la page 1sur 6

USTL / IUT-A / dpt Info / Rseaux

TCP - UDP

Modle TCP/IP

RESEAUX

Application

Messages Identiques

Application

Transport

Paquets Identiques Internet Datagrammes identiques Datagrammes identiques Driver Token ring Trames identiques

Transport

Internet

Internet

TCP-UDP over IP
Rseau

Trames identiques Physique bus Ethernet


IUT A - Rseaux - 2003/2004

Driver Ethernet

Rseau

Physique

Passerelle Routeur
Jean Carle

Token ring (anneau jeton)


2

Architecture TCP/IP
Message utilisateur 5,6,7 Paquet, Segment TCP, ou Datagramme UDP

Architecture TCP/IP
Drivers Application Transport Internet Rseau

message

Application

Couche OSI 5,6,7 Couche OSI 4 Datagramme IP Couche OSI 3 Couche OSI 2 Couche OSI 1

Appli. -User-

Dmon RIP

Dmon SMTP

Dmon Telnet

Adresse IP

E-appli message
Transport

UDP ICMP
SLIP

TCP IP
Ethernet 802.x

Internet

E-TCP E-appli message E-IP E-TCP E-appli message

IGMP
PPP-OE
Modem ADSL

Adresse physique

Trame

2 Rseau / Driver

Physique

E-Trame E-IP E-TCP E-appli message F-Trame


E-xxx = Entte xxx F-Trame = Fin de trame

Physique

Port Srie

Carte rseau

IUT A - Rseaux - 2003/2004

Jean Carle

IUT A - Rseaux - 2003/2004

Jean Carle

UDP

Le protocole UDP

Niveau 4 (couche Transport) User Datagram Protocol


Transmission sans connexion (modle Postal) Pas de contrle de squencement
Lordre darrive des messages peut tre diffrent de lordre denvoie

Pas de garantie darrive

User Datagram Protocol

Mais les donnes reues sont garanties non corrompues

Non fiable mais rapide


Applications audio/vido Petits flux de donnes

IUT A - Rseaux - 2003/2004

Jean Carle

USTL / IUT-A / dpt Info / Rseaux

TCP - UDP

UDP : diffrents cas


client
1 A 1 A 2 3 4 5 6 2 4 5 3 5

Paquet UDP - Datagramme


0 16 Port UDP source Longueur totale Donnes Port UDP destination Checksum 32 serveur

rseau

RFC 768 Port UDP source : optionnel (0 si non utilis) Longueur totale en nombre doctets
Entte + donnes ; Taille thorique mini = 8 octets, maxi : 65536 octets (216)

Checksum : code de dtection derreurs, 0 si non utilis Donnes (mini : 0 octets, maxi : ~64ko (216-8 o.))
IUT A - Rseaux - 2003/2004 Jean Carle 7 IUT A - Rseaux - 2003/2004 Jean Carle 8

Paquet UDP pseudo entte


Utilis pour calculer le checksum la source et la destination. Transgression de la pile IP ; Assure une plus grande fiabilit du contrle.

Paquet UDP pseudo entte


Protocole
numro (8 bits) identifiant le protocol utilis dans le paquet IP exemples :
ICMP : 1 ; IGMP : 2 ; IP : 4 (encapsulation) ; UDP : 17 ; TCP : 6 ; IPv6 : 41;

Bourrage pour alignement sur 16 bits (obtenir un nombre pair doctets) Checksum positionn 0 avant calcul
0 8 16 @IP source @IP destination 00000000 Protocole Longueur UDP Port UDP destination Checksum Donnes Bourrage Pseudo Entte 32

Port UDP source Longueur UDP

IUT A - Rseaux - 2003/2004

Jean Carle

IUT A - Rseaux - 2003/2004

Jean Carle

10

Paquet TCP
0 4 10 Port source Squence Accus de rception (Acquittement)
Longueur den-tte

16 Port destination

32

Le protocole TCP

Rserv 000000

URG ACK PSH RST SYN FIN

Entte mini 20 octets

Taille fentre Pointeur donnes urgentes Bourrage

Checksum

Transmission Control Protocol

Options (facultatives)

Donnes

IUT A - Rseaux - 2003/2004

Jean Carle

12

USTL / IUT-A / dpt Info / Rseaux

TCP - UDP

Paquet TCP
Ports source / destination : metteur / rcepteur Squence
SYN=1 : contient une valeur non nulle et non facilement prvisible, cest le numro de squence initial (ISN1); SYN=0 : contient la position des donnes transmettre relativement ISN (1er octet de donnes = ISN+1)

Paquet TCP
Drapeaux
URG : pointeur de donnes urgentes valide
=1 : Pointeur Urgent = 1er octet non urgent

ACK : numro daccus de rception valide


=1 : Acquittement = indice 1er octet attendu

Accus de rception :
ACK = 0 : contient 0 inutilis (dbut de connexion) ACK = 1 : contient le numro de squence du prochain octet recevoir (= acquittement du dernier octet reu)

Longueur entte : indique o commence les donnes en


nombre de mot de 32 bits mini : 5 (sans option) / maxi 15 (60 octets)
1

PSH : donnes transmettre le plus vite possible lapplication (ex : telnet, rlogin) pas de tampon RST : Rinitialisation de la connexion Fermeture brutale SYN : Etablissement de connexion;
=1 : Squence = numro de squence initial (ISN)

FIN : Fin de transmission


13 IUT A - Rseaux - 2003/2004 Jean Carle 14

ISN = Initial Sequence number


IUT A - Rseaux - 2003/2004 Jean Carle

Paquet TCP
0000000 0

16 @IP source @IP destination Protocole Longueur UDP

32

Paquet TCP
Options (champ facultatif)
Octet nul : termine le champ des options ; Nop : No Operation ; Taille de segment maximum (MSS); NAK (RFC 1106) : re-mission slective
vite la retransmission globale aprs un segment erron

Taille fentre : nombre doctets que le rcepteur est capable de recevoir Checksum (contrle / dtection derreurs)
Entte + pseudo entte (c.f. UDP, protocole = 6) +
Garantir la rception correcte et au bon destinataire

donnes + bourrage avec 1 octet nul si le nombre de mots 16 bits est impair (= alignement sur 16 bits).

Facteur dchelle sur la taille de fentre utilise


Dcalage gauche sur la taille de fentre (de 16 bits maxi)

Pointeur urgent
URG = 0 : inutilis URG = 1 : position du premier octet non urgent
IUT A - Rseaux - 2003/2004 Jean Carle 15

Bourrage pour aligner sur 32 bits.


IUT A - Rseaux - 2003/2004 Jean Carle 16

TCP - Segmentation
Gestion du flot de donnes
TCP reoit un flots doctets Ce flot est divis en segments laide dun mcanisme de fentrage
Champ "Fentre" du paquet TCP

TCP - Acquittement
Garantie de rception
Contrairement UDP, TCP assure quun message envoy arrive destination En cas de perte, les deux extrmits sont prvenus grce un mcanisme dacquittement

utilisant le champ "accus de rception"


Lmetteur dun segment de donnes attend un accus de rception positif (ACK). Si au bout dun temps dfinie lavance, en gnral deux fois le temps de vie dun segment, lACK narrive pas jusqu lmetteur, ce dernier retransmet le message. TCP utilise un algorithme de retransmission adaptatif qui gre des temporisations variables pour chaque connexion (moyenne sur le temps coul entre lmission et rception de lACK dun segment non retransmis).
18 IUT A - Rseaux - 2003/2004 Jean Carle 19

Chaque segment est encapsul dans un datagramme IP

IUT A - Rseaux - 2003/2004

Jean Carle

USTL / IUT-A / dpt Info / Rseaux

TCP - UDP

Acquittement envoyer et attendre


Transmission et attente acquittement avant nouvelle transmission

Efficacit send & wait


Temps util utilisation : Temps total te te + 2 tp

A
Activation tempo
Emiss io

n msg

msg 1 reu et acquitt msg 2

1 1+ 2 tp te

ACK

Plus le temps de propagation augmente, plus lefficacit du rseau diminue.


Station A Station B

Activation tempo

Emis sion ms

g2

Fin tempo Ancien ACK rejet

Re-m is

K AC sion m sg 2 ACK

Non reu (perdu) ou Non acquitt dans les temps ou acquittement perdu alors retransmission

Te

Msg
Temps Tp Tt Te Ack Tp

Te / Tp < 1

Te / Tp > 1

IUT A - Rseaux - 2003/2004

Jean Carle

20

IUT A - Rseaux - 2003/2004

Jean Carle

21

Amlioration : Acquittement cumulatif


Utilisation dun acquittement pour un groupe de message plutt que pour chaque message.
On acquitte tous les messages (ou octets) reus avant un numro donn Ncessit de conserver les messages envoys et non encore acquitts

Acquittement cumulatif
A
Tempo 1 Tempo 2 Tempo 3 Msg 1 ok Ack 4 Msg 2, 3 et 4 ok Tempo 5
5 6 7 8 1 2 3 4

Tempo 4

Ack 1

Fin tempo 5 5 non acquitt

5 6 7 8

IUT A - Rseaux - 2003/2004

Jean Carle

22

IUT A - Rseaux - 2003/2004

Jean Carle

23

TCP Fentre glissante


Fentre glissante
Optimiser la bande passante ; Contrle de flux par le rcepteur ; Trois pointeurs par fentre ; Numrotation squentielle : un bloc = un octet.
Fentre destinataire Fentre utilisable 1 2 3 mis et acquitts 4 5 6 7 8 9 10 11 12 non missible en attente

TCP Congestion & rgulation des flots


Rseau ou machine distante engorge Initialement
fentre congestion = fentre rcepteur ; fentre mission autorise = min(fentre rcepteur, fentre congestion)

A chaque perte
Division par 2 de la taille de la fentre de congestion ; Double la valeur de la temporisation : cest le repli exponentiel.

Sur envoie de fentre de rception nulle : mission dun segment de sonde de fentre intervalle rgulier. Redmarrage (fin de congestion)
Augmentation de 1 segment chaque ACK reu Lorsque le fentre dmission atteint une fois et demi sa taille initiale, alors augmentation de un segment par fentre acquitt entirement.
24 IUT A - Rseaux - 2003/2004 Jean Carle 25

mis mais non acquitts

octets missible

IUT A - Rseaux - 2003/2004

Jean Carle

USTL / IUT-A / dpt Info / Rseaux

TCP - UDP

TCP - Congestion

TCP Diagramme dtat simplif

IUT A - Rseaux - 2003/2004

Jean Carle

26

IUT A - Rseaux - 2003/2004

Jean Carle

27

TCP - Connexion
1

TCP - Dconnexion
Serveur
SYN x

Demande dconnexion

A
FIN x
ACK x+1

Demande connexion (ouverture active) Cration Nom/port local

Client

Remarque : Une fermeture peut tre initi par nimporte quelle extrmit. Indication de dconnexion 2

Attente connexion (ouverture passive) Cration Nom/port local Rcupre Nom/port client et accepte la connexion

Ouverture OK

+1 ACK x SYN y
ACK seq y+1 = x+ 1

B termine lenvoie de ses donnes Rponse 3


FIN y

Ouverture OK

4 Confirmation

ACK y +1

Fin de connexion

IUT A - Rseaux - 2003/2004

Jean Carle

28

IUT A - Rseaux - 2003/2004

Jean Carle

29

TCP - Transmission
Appli crit 2Ko

Vide (4Ko)

Chronogramme TCP - Rsum


client tablissement connexion client
SYN

serveur tablissement connexion serveur


2 3 1 3 5 4 6 7

A
2K / se qx

B
2048 48 / fen

ACK/S YN

Appli crit 3Ko

ack x+20

2Ko

2K / se q x+204

1 2 3 4
ACK 4

ACK

Appli peut envoyer 2Ko

0 96 / fen ack x+40 2048 96 / fen ack x+40


1K / se q x+409

Plein Lapplication lit 2 Ko 2Ko

Temporisation 4
5 6 7 4

1 5

2 6

3 7 4

5 4 6 7
FIN

Terminaison connexion client 1Ko 2Ko


31 IUT A - Rseaux - 2003/2004

ACK/F IN
ACK

Terminaison connexion serveur


32

IUT A - Rseaux - 2003/2004

Jean Carle

Jean Carle

USTL / IUT-A / dpt Info / Rseaux

TCP - UDP

TCP / IP : Exemple dencapsulation


Datagramme IP vu par la machine :
0x00 0x10 0x20 0x30 45 86 80 0d 00 ce 18 93 00 0b 3e c8 40 07 bc f5 10 aa 52 42 60 aa c6 6f 40 cf 00 6e 00 85 00 6a 40 b1 01 6f 06 00 01 75 e9 9b 08 72 12 2c 0a 20 86 97 02 3a ce de 87 2d 28 36 7f 29 98 ab e4 13 E..J.`@.@.....(. ...........,..6. ..>.R........... ....Bonjour :-).

Ports de services prdfinis


http://www.iana.org/assignments/port-numbers RFC 1700 (RFC 1060) Unix : /etc/services Windows : %Windir%\System32\Drivers\etc\services

Traduction
Entte IP : de loctet dindice 0x00 0x13 inclus Version 4 Entte 20 o. Services normal Longueur totale : 64 o. (0x40) Drapeaux : DF Fragment offset: 0 Checksum: 0xe912 Identification : 0x1060 TTL : 64 (0x40) Source : 134.206.40.152 (0x86ce2898)

Protocole contenu : TCP (0x06)

Destination: 134.206.11.7 (0x86ce0b07)

Entte TCP encapsul dans IP : de loctet 0x14 0x33 inclus Source port: 43690 (0xaaaa) Destination port: 53125 (0xcf85)

Sequence number : 2969606956 (0xb1009b2c) Acquittement : 2547922603 (0x97de36ab) Entte 32 o.


IUT A - Rseaux - 2003/2004

Flags : PSH, ACK


Jean Carle

Fentre: 16060 (0x3ebc) Pointeur urgent 0 Options (12 octets)


33 IUT A - Rseaux - 2003/2004 Jean Carle 34

Checksum: 0x52c6

Visualisation ports ouverts


Connexions utilises
netstat p TCP netstat p UDP

Ports de service ouverts


netstat a

Format numrique : -n

IUT A - Rseaux - 2003/2004

Jean Carle

35