Академический Документы
Профессиональный Документы
Культура Документы
TCP/UDP
ENPC Transport 1
1 Services de la couche transport
2 Multiplexage et démultiplexage
3 Transport sans connexion: UDP
4 Principes du transfert fiable de données
5 Transport orienté connexion: TCP
ENPC Transport 2
Services et protocoles transport
fournit une communication application
logique entre les processus transport
réseau
applicatifs exécutés sur des liaison
physique
réseau
tr
sites différents
liaison
réseau
an
physique
liaison
sp
Les protocoles transport physique
or
s’exécutent sur les sites
t
réseau
po
liaison
in
physique réseau
émetteur: divise le
t
liaison
à
message en segments, les physique
po
in
passe à la couche réseau réseau
t
lo
liaison
g
physique
récepteur: reforme le
iq
iu
message à partir des
e
application
segments obtenus de la
transport
réseau
couche réseau liaison
physique
ENPC Transport 4
protocoles internet transport
fiable, délivrance dans application
transport
l’ordre (TCP) réseau
liaison réseau
physique
Contrôle de congestion
tr
liaison
réseau
an
physique
liaison
sp
Contrôle de flux physique
or
t
réseau
Connexion
po
liaison
in
physique réseau
t
liaison
Non fiable, dans le
à
physique
po
in
désordre: UDP réseau
t
lo
liaison
g
physique
iq
extension du protocole
iu
e
“best-effort” IP application
transport
réseau
services non disponibles: liaison
physique
ENPC Transport 5
1 Services de la couche transport
2 Multiplexage et démultiplexage
3 Transport sans connexion: UDP
4 Principes du transfert fiable de données
5 Transport orienté connexion: TCP
ENPC Transport 6
Multiplexage/démultiplexage
Multiplexage
Demultiplexage sur le site rcpt : sur le site emetteur:
Assembler les données de
livre les segments reçus
plusieurs sockets, ajouter
à la bonne socket
un entête (utilisé ensuite
pour le demultiplexage),
= socket = process
application P3 P1
P1 application P2 P4 application
site 2 site 3
site 1
ENPC Transport 7
Principe du démultiplexage
Le site reçoit des datagrammes
chaque datagramme a l’adresse 32 bits
IP de l’émetteur et du
destinataire source port # dest port #
ENPC Transport 9
Sans connexion
DatagramSocket serverSocket = new DatagramSocket(6428);
P3 P1
P1
P2
ENPC Transport 10
Démulptiplexage orienté connexion
ENPC Transport 11
démultiplexage orienté
connexion
P3 P2 P4 P1
P1
PS: 80 PS: 80
PD: 9157 PD: 5775
ENPC Transport 12
1 Services de la couche transport
2 Multiplexage et démultiplexage
3 Transport sans connexion: UDP
4 Principes du transfert fiable de données
5 Transport orienté connexion: TCP
ENPC Transport 13
UDP: User Datagram Protocol [RFC 768]
Protocole de transport
simple, sans valeur ajoutée pourquoi UDP?
Service “best effort”, les Pas d’établissement de
segments UDP peuvent connexion (qui ajoute des
être: délais)
Perdus Simple: sans état connexion
Livrés dans le désordre à la source et au receveur
aux applications Entête de segment petit
Sans connexion: Pas de contrôle de
Pas de “poignée de congestion: UDP peut
main” entre émetteur et circuler aussi vite que
récepteur possible
Chaque segment UDP
est traité
indépendamment des
ENPC
autres Transport 14
Utilisé pour les flux d’appli
multimedia 32 bits
ENPC Transport 15
Somme de contrôle UDP
But: détecter les “erreurs” (ex: bits inversés) dans le
segment transmis
Emetteur Récepteur:
Traite le segment comme Calcule la somme de contrôle
une séquence d’entiers du segment reçu
16-bit Contrôle si la somme calculée
Somme de contrôle: correspond au champ ad hoc
addition du contenu du du segment reçu:
segment NON - erreur détectée
L’émetteur met la somme OUI – pas d’erreur
de contrôle dans le champ détectée
ad hoc du segment UDP Mais peut être présente ….
ENPC Transport 16
1 Services de la couche transport
2 Multiplexage et démultiplexage
3 Transport sans connexion: UDP
4 Principes du transfert fiable de données
5 Transport orienté connexion: TCP
ENPC Transport 17
Principes du transfert fiable
important dans les couches applications, transport, liaison
un des sujets importants pour les réseaux
ENPC Transport 19
Et si les ACK/NACK sont corrompus?
ENPC Transport 21
stop-et-attend
émetteur receveur
Premier bit du paquet transmis
t=0, t = L / R
U L/R .008
émetteur= = 30.008 = 0.00027
RTT + L / R microsec
onds
ENPC Transport 22
protocoles en pipeline (avec
anticipation)
Pipelining: l’émetteur envoie “avec anticipation”
plusieurs paquets, çà acquitter par le récepteur
La plage des numéros de séquence doit être étendue
Tampons chez l’émetteur et/ou le récepteur
ENPC Transport 24
Selective repeat: fenêtre chez l’émetteur
et le récepteur
ENPC Transport 25
1 Services de la couche transport
2 Multiplexage et démultiplexage
3 Transport sans connexion: UDP
4 Principes du transfert fiable de données
5 Transport orienté connexion: TCP
ENPC Transport 26
TCP: Résumé RFCs: 793, 1122, 1323, 2018, 2581
Bi-directionnel:
point à point: Flux bi-directionnel dans la
Un émetteur,un receveur même connexion
fiable, flux ordonné d’octets
MSS: (maximum segment
size) taille maximum d’un
Pas de limites des messages segment pour les données
En pipeline: applicatives
Largeur de la fenêtre Orienté connexion:
affectée par les contrôles Poignée de main (échange
de flux et de congestion de message de contrôle),
initialise états émetteur et
tampons: émetteur et récepteur avant l’échange
récepteur des données
Aucun élément de la
connexion TCP dans les
différents éléments du
réseau entre l’émetteur et
le rcpt
application
Contrôle de flux:
application
Données à envoyer Données à lire
socket
L’émetteur ne débordera
socket
TCP TCP
pas le récepteur
tampon émetteur tampon récepteur
segment
ENPC Transport 27
TCP structure d’un segment
32 bits
URG: donnée urgente Compté en octes
(non utilisé en général) N° port source N° port dest
de données
N° de séquence (Pas en segment)
ACK: n°ACK valide
N°séquence d’acquittement
PSH: délivrance taille non
en têteutilisé U A P R S F Fenêtre de rcpt
immédiate
# octets que le
(non utilisé en général) Somme ctrl Ptr donnée urgente
rcvr peut
RST, SYN, FIN: accepter
Options (longueur variable)
Établissement de
la connexion
(commandes)
Données de l’application
Somme de contrôle
Internet (longueur <MSS)
(comme dans UDP)
ENPC Transport 28
TCP: Gestion de la connexion
Rappel: l’émetteur et le client: initie la connexion
récepteur établissent Socket clientSocket = new
une “connexion” avant
Socket("hostname","port
ENPC Transport 29
3-poignée de main
(Three way handshake):
ENPC Transport 30
TCP gestion de la connexion
Fermer une connexion:
client serveur
Le client ferme la socket:
clientSocket.close(); close
FIN
Attente finie
A CK
fermé
fermé
ENPC Transport 31
Pas 3: le client reçoit FIN, client serveur
répond avec ACK.
close
Entre dans une attente FIN
Attente finie
A CK
fermé
fermé
ENPC Transport 32
TCP: Transfert fiable
TCP crée un service Retransmissions
fiable au dessus du effectuées si:
Un évt timeout
service non-fiable d’IP
Acks dupliqués
Protocole en pipeline
Acks groupés
TCP utilise un seul
timer pour la
retransmission
ENPC Transport 33
TCP: contrôle de flux
Contrôle de flux
Le coté receveur de TCP a L’émetteur ne fait pas
un tampon de réception: déborder le tampon de
rcpt en transmettant
trop vide
Service d’alignement
des débits: aligner le
débit de l’émetteur au
débit de lecture de
Le processus applicatif
l’application réceptrice
peut être lent dans sa
lecture des données du
tampon
ENPC Transport 34
Contrôle de congestion
Congestion:
Informellement: “trop de sources envoient trop de données
trop vite pour que le réseau qui les gère”
Différent du contrôle de flux
Manifestations:
Perte de paquets (débordements des tampons dans les
routeurs)
Délais longs (attente dans les tampons des routeurs)
Un problème important pour les réseaux
ENPC Transport 35
Approches pour le contrôle de la
congestion
2 grandes approches à l’égard du contrôle de la
congestion:
Gestion par les systèmes Gestion assistée par le
terminaux: réseau:
Sans info-en-retour Les routeurs donnent de l’info-
explicite du réseau en-retour aux systèmes
terminaux
Congestion déduite par les
systèmes terminaux en Un seul bit indique la
observant les pertes et les congestion (SNA, DECbit,
délais TCP/IP ECN, ATM)
Approche choisie par TCP Explicite la vitesse de
transmission de l’émetteur
ENPC Transport 36