Вы находитесь на странице: 1из 22

Couche Transport :

Les protocoles TCP et UDP

Mamadou NDIAYE Ecole Suprieure Polytechnique Dpartement Gnie Electrique Cours rseaux Couche Transport version 1.0

Couche Transport TCP/UDP

M. NDIAYE

Plan du cours
Objectifs

gnraux de la couche Transport Protocole TCP Protocole UDP

Couche Transport TCP/UDP

M. NDIAYE

Un rseau au niveau IP
Routage de @IP1 vers @IP2
@IP1
802.3 RNIS

@IP2

Frame Relay 802.3

IP

IP

IP

IP

IP

IP

802.3 (couches 1 & 2)

802.3 (couches 1 & 2)

RNIS (couches 1 & 2)

RNIS (couches 1 & 2)

X.25 (couches 1,2 & 3)

Frame Relay (couches 1 & 2)

Frame Relay (couches 1 & 2)

Frame Relay (couches 1 & 2)

802.3 (couches 1 & 2)

802.3 (couches 1 & 2)

rseaux physique traverss par les datagrammes IP 3

Couche Transport TCP/UDP

M. NDIAYE

Protocole de transport (1)


Objectifs

Le

type et le nombre de rseaux physiques traverss par un datagramme IP ne concerne pas les utilisateurs du rseau IP Ncessit dun protocole de transport
Qui masque les rseaux physiques traverss Autrement dit, qui offre un service aux utilisateurs du rseau IP de bout en bout (entre lmetteur et le destinataire)
Le

service offert par un protocole de transport peut se rsumer deux primitives


send(packet) receive(packet)
M. NDIAYE

Couche Transport TCP/UDP

Protocole de transport (2)


@IP1
802.3 RNIS

Objectifs
@IP2

Frame Relay 802.3

Send(packet) Receive(packet) Protocole de Transport changes des PDUs de niveau Transport de bout en bout

Send(packet) Receive(packet)

Transport

Transport

IP

IP

IP

IP

IP

IP

802.3 (couches 1 & 2)

802.3 (couches 1 & 2)

RNIS (couches 1 & 2)

RNIS (couches 1 & 2)

X.25 (couches 1,2 & 3)

Frame Relay (couches 1 & 2)

Frame Relay (couches 1 & 2)

Frame Relay (couches 1 & 2)

802.3 (couches 1 & 2)

802.3 (couches 1 & 2)

Couche Transport TCP/UDP


M. NDIAYE

rseaux physique traverss par les datagrammes IP 5

Au dessus dIP
Deux

protocoles de Transport

TCP (rfc 793), champ numro de protocole = 6 UDP (rfc 768), champ numro de protocole = 17
TCP

: Transmission Control Protocol

TCP

UDP

Repose sur un mode connect Fiable : contrle derreurs et contrle de flux


UDP

17

: User Datagram Protocol

IP

Repose sur un mode non connect Non fiable


Couche Transport TCP/UDP
M. NDIAYE

Notion de ports (1)

Au dessus de TCP et dUDP, les applications sont dsignes par des ports
Un port = un entier cod sur 16 bits

Une application (par exemple un serveur Web) est dsign sans ambigut sur un rseau IP par le couple (@IP,nport)
L@ IP dsigne la station qui excute cette application Le port dsigne lapplication sur cette machine Ex. : (193.52.38.29,80) correspond au serveur Web de lIUT
Couche Transport TCP/UDP
M. NDIAYE

Protocoles dApplication

TCP

UDP
Numros de port

Nport

Nprotocole

IP 7

Notion de ports (2)


Les

ports sont rfrencs par le IANA

Liste disponible http://www.iana.org/assignments/portnumbers

0 1024 : well known ports 1024 49151 : registered ports 49152 65535 : private ports
La

plupart des protocoles dapplication sont structurs suivant un modle client / serveur
Protocole http (Web) Protocole ftp (transfert de fichier)

Couche Transport TCP/UDP

M. NDIAYE

Notion de ports (3)


Cest

le client qui prend linitiative daller chercher le serveur Donc


Pour un protocole dapplication donne, le port du serveur doit tre connu (=fix)
Ex. : un serveur Web (http) est install sur le port 80

Le port dune application client est allou dynamiquement ( son lancement), choisi parmi les ports
>1023 Libres
Couche Transport TCP/UDP
M. NDIAYE

Exemples de ports serveur


TCP 20 : ftp-data 21 : ftp-control 23 : telnet 25 : smtp 53 : DNS 80 : http 110 : pop3 139 : netbios session service 143 : imap 179 : bgp 443 : https
Couche Transport TCP/UDP

UDP 53 : DNS 69 : tftp 123 : ntp 137 : netbios name service 138 : netbios datagram service 161 : snmp 162 : snmptrap

M. NDIAYE

10

Exemple (1)
Connexion entre un client Web et un serveur Web
Client http
Excution dun client http, installation sur le port 1235

1235

TCP IP

@IP1

Rseau IP

Couche Transport TCP/UDP

M. NDIAYE

11

Demande de connexion au serveur Web (port destination 80) d@IP @IP2

Exemple (2)
Connexion entre un client Web et un serveur Web

Client http

1235

Echange entre (@IP1,1235) et (@IP2,80)

Serveur http

80

TCP

TCP IP

@IP1

IP

@IP2

Rseau IP

Couche Transport TCP/UDP

M. NDIAYE

12

Exemple (3)
Connexion entre un client Web et un serveur Web
Client http Protocole http
Echanges de paquets http

Serveur http

1235

80

Protocole TCP TCP


Echanges de paquets TCP entre les ports 1235 et les ports 80

TCP IP

@IP1

IP

@IP2

Routage IP entre @IP1 et @IP2


Couche Transport TCP/UDP
M. NDIAYE

13

Vue densemble
Pile de protocoles TCP/UDP - IP
Couche application Couche transport FTP HTTP SMTP POP3 IMAP TFTP NTP SNMP

TCP ICMP RARP ARP

UDP

IP

Couche rseau

Couches relevant du rseau physique (par ex. couches 1 & 2 Ethernet 100 Base T) Vers le rseau physique
Couche Transport TCP/UDP
M. NDIAYE

14

Objectifs

gnraux de la couche Transport Protocole TCP Protocole UDP

Couche Transport TCP/UDP

M. NDIAYE

15

Caractristiques gnrales

Mode connect : trois phases


Connexion Echange de donnes Libration de la connexion

Bufferisation des donnes


Utilisation dune mmoire tampon entre TCP et la couche application

Contrleur derreurs et de flux


Acquittement porte, et fentre glissante (sliding window), analogues aux mcanismes utiliss au niveau liaison (ex. HDLC, compteurs N(S), N(R) ) Contrle au niveau flux doctets (et non au niveau trame, comme pour HDLC)
Utilisation de deux numros : squence et acquittement

Couche Transport TCP/UDP

M. NDIAYE

16

Format dun paquet TCP (1)

N squence = numro du 1er octet transmis dans le segment N acquittement = numro du prochain octet attendu par lmetteur du message Fentre (danticipation) = nombre doctets que le rcepteur peut accepter (contrle de flux)
Couche Transport TCP/UDP

3-4

8-9

15-16

31 bits

Port source Numro de squence

Port destination

Numro dacquittement
Lg. Entte rserv

Fentre Pointeur message urgent

Checksum

options

Donnes

M. NDIAYE

17

Format dun paquet TCP (2)

6 bits de contrle = fonction des messages TCP


URG : indique que le pointeur message urgent est significatif ACK : message de donnes PSH : donnes reues immdiatement transmises la couche suprieure (vidage du buffer) RST : fermeture de la connexion, suite une erreur irrcuprable SYN : ouverture de connexion FIN : dconnexion

3-4

8-9

15-16

31 bits

Port source Numro de squence

Port destination

Numro dacquittement
Lg. Entte rserv

Fentre Pointeur message urgent

Checksum

options

Donnes

Couche Transport TCP/UDP

M. NDIAYE

18

Ouverture de connexion
Trois messages changs
client
Deux valeurs SYN initialises alatoirement via les horloges locales

serveur
SYN 50

SYN 200 ACK 51


Ce couple de valeurs identifie la connexion de manire unique

Connexion ouverte

ACK 201

Connexion ouverte

Couche Transport TCP/UDP

M. NDIAYE

19

Transfert de donnes
Contrle de flux via seq et ack
Envoi de 10 octets seq : 51 ack : 201

ACK

seq : 201 ack : 61 Envoi de 10 octets

ACK

Envoi de 20 octets

seq : 61 ack : 221

ACK

Couche Transport TCP/UDP

M. NDIAYE

20

Objectifs

gnraux de la couche Transport Protocole TCP Protocole UDP

Couche Transport TCP/UDP

M. NDIAYE

21

Caractristiques gnrales
Mode non connect, protocole non fiable
0 3-4 8-9 15-16 31 bits

Port source longueur

Port destination checksum

Donnes

Couche Transport TCP/UDP

M. NDIAYE

22