• Aucun résultat trouvé

Couche Transport

N/A
N/A
Protected

Academic year: 2022

Partager "Couche Transport"

Copied!
25
0
0

Texte intégral

(1)

JLA 2015, AG 2021

Couche Transport

(2)

JLA 2015, AG 2021

Multiplexage/Démultiplexage

(3)

JLA 2015, AG 2021

UDP

IP

Interface Matérielle TCP

Applications

Adresses

Ethernet IP dest source Protocole Données

Adresses Ethernet IP dest source Protocole

Données

Port source destination Port source destination

CRC

CRC

(4)

JLA 2015, AG 2021

Émission

L'application émet des données

La couche TCP/UDP ajoute les ports source/destination

IP ajoute l'identifiant du protocole

Le paquet est éventuellement découpé pour

constituer des fragments de tailles compatibles avec la couche matérielle

Chaque fragment est encapsulé dans une trame

(5)

JLA 2015, AG 2021

La trame est validée en comparant l'adresse

Ethernet de destination avec celle de l'interface et transmet le paquet IP à la couche IP

IP valide le paquet reçu en examinant l'adresse IP de destination

IP assemble les différents fragments si besoin IP transmet les données du paquet au protocole désigné par le champ protocole, UDP ou TCP, du paquet

Le protocole transmet les données à l'application en examinant le port destination

L'application traite les données

Réception

(6)

JLA 2015, AG 2021

User Datagram Protocol

(7)

JLA 2015, AG 2021

Protocole en mode non connecté

Les datagrammes arrivent dans un ordre quelconque Ils peuvent être perdus ou dupliqués

Nécessité d'une programmation rigoureuse Bidirectionnel

Non fiable

Datagramme de taille limité : 65 535

Assure le multiplexage/démultiplexage sur la base du numéro de port

(8)

JLA 2015, AG 2021

Datagramme UDP

Port

Dest. Taille CRC Données Port

Source

16 16 16 16

65535 octets

(9)

JLA 2015, AG 2021

TCP

(10)

JLA 2015, AG 2021

Protocole en mode connecté : une connexion est un préalable à toute transmission

Bidirectionnel

Fiable :chaque paquet est acquité

Assure le contrôle du contenu des paquets Assure la retransmission en cas d'erreur Message ou segment de taille illimité

Les données constituent un flot non structuré

Nécessité d'un format des données pour pouvoir les interpréter

(11)

JLA 2015, AG 2021

N u m é r o d e s é q u e n c e P or t S ou r c e

0 4 1 0 1 6 2 4 3 1

P or t De s t in a t ion N u m é r o d 'a c q u it t e m e n t

Ta illeRé s e r vé Cod e F e n ê t r e

Con t r ôle P oin t e u r U r g e n t

Op t ion s Bit s Bou r r a g e

Don n é e s

(12)

JLA 2015, AG 2021

Numéro de séquence du premier octet de données contenues dans le segment IP

Numéro d’acquittement: numéro du caractère attendu (si = n signifie que n-1 caractères ont été reçus)

Fenêtre: indique la taille maximale des données que l'on peut accepter lors de la réception d'un segment (MTU)

(13)

JLA 2015, AG 2021

Code: caractérise le contenu du segment 0x20 URG message urgent

0x10 ACK acquittement

0x08 PSH transmission forcée

0x04 RST réinitialisation de la connexion 0x02 SYN segment de début de connexion 0x01FIN indicateur de fin de connexion

(14)

JLA 2015, AG 2021

Pointeur urgent: indique la position du caractère urgent dans les données si code = URG

La somme de contrôle est calculée en ajoutant en tête et uniquement pour le calcul le pseudo en-tête qui n'est pas transmis

Adresse IP source Adresse IP destination

00000000 Protocole Longueur TCP

(15)

JLA 2015, AG 2021

Établissement d'une connexion : Poignée de main en 3 parties

(Three Way Handshaking)

(16)

JLA 2015, AG 2021

le serveur se met en attente d'une connexion:

connexion passive

le client envoi un segment de synchronisation : SYN contenant un numéro de séquence initial 4760 par exemple

le serveur répond par un segment SYN/ACK (4761) acquittant le segment précédent contenant son

numéro de séquence initial 7544 par exemple le client répond par un segment ACK (7545) acquittant le segment précédent du serveur et contenant les premières données utilisateur

(17)

JLA 2015, AG 2021

Clie n t S e r ve u r

S YN 4 7 6 0

S YN ,ACK= 4 7 6 1 ,7 5 4 4

ACK= 7 5 4 5 e t d on n é e s RS T(c on n e xion r e fu s é e )

(18)

JLA 2015, AG 2021

TERMINAISON

(19)

JLA 2015, AG 2021

Chaque partie termine la connexion en envoyant un segment contenant le bit FIN valant 1

Les segments FIN peuvent contenir des données Chaque extrémité acquitte avec un segment ACK le segment FIN qui lui a été envoyé

Double poignée de main (to-way handshake)

Lorsqu'elle est réalisée la connexion est terminée Les deux parties ne terminent pas forcément la connexion au même instant

Passage de Bi-directionnel à Uni-directionnel

(20)

JLA 2015, AG 2021

Clie nt Se rve ur

Etat actuel Action Etat suivant Etat actuel Action Etat suivant

ESTABLISHED FIN-WAIT-1 ESTABLISHED

FIN-WAIT-1 ESTABLISHED CLOSE-WAIT

FIN-WAIT-1 FIN-WAIT-2 CLOSE-WAIT

FIN-WAIT-2 CLOSE-WAIT LAST-ACK

FIN-WAIT-2 TIME-WAIT LAST-ACK CLOSED

TIME-WAIT LAST-ACK CLOSED

TIME-WAIT CLOSED CLOSED

CLOSED Connexion terminée CLOSED Connexion terminée

Envoi d'un segment FIN

Attend le ACK de son segment FIN

Envoi un ACK pour acquitter le FIN et attend la fin de l'application

A reçu le ACK, attend

la fin du serveur Attend la fin de

l'application

Le client attend le segment FIN venant du serveur

L'application locale s'est terminée les serveur envoi un segment FIN

Le client acquitte ACK le segment FIN reçu du serveur

Attente de la réception d'un segment ACK

Le client attend un temps égal au double de la durée de vie d'un segment pour être sûr que ACK est reçu

Le serveur a reçu les segment ACK du client

Le délai d'attente est expiré la connexion est terminée

Connexion terminée du côté serveur

(21)

JLA 2015, AG 2021

CONNEXION DANS TCP

Une connexion est caractérisée par un quintuplet:

{Protocole,

Adresse IP source, Port Source,

Adresse IP destination, Port Destination}

Les descripteurs des sockets ne font pas partie du quintuplet

À chaque extrémité de la connexion les cinq informations sont connues

Plusieurs processus peuvent partager l'utilisation du même port du moment qu'il ne sont pas

connectés au même processus (serveur parallèle

par exemple)

(22)

JLA 2015, AG 2021

Fiabilité

Pour assurer une transmission fiable des données chaque paquet est acquitté

Acquittement : accusé de réception d'un paquet envoyé à l'émetteur par le récepteur

Peut être contenu dans un paquet de données envoyées par l’émetteur au récepteur

Le récepteur conserve les données envoyées jusqu'à la réception de l’acquittement

Si l’acquittement ne parvient pas au bout d'un certain temps à l'émetteur celui-ci envoie à nouveau le paquet

(23)

JLA 2015, AG 2021

Fiabilité : problèmes

Perte d'un acquittement : le paquet est envoyé en double et le récepteur le reçoit deux fois

L’acquittement arrive après le délai d'attente : paquet en double

Les temps d'attente doivent être suffisamment longs pour permettre l'arrivée du paquet

Pas trop important pour conserver un bon débit À l'établissement de la connexion il est déterminé un délai d'attente

(24)

JLA 2015, AG 2021

Fenêtre glissante

Technique permettant d'accélérer la transmission de paquets avec acquittement

Plusieurs paquets, 8 par exemple, sont transmis sans attendre les acquittements

Quand l’acquittement du premier paquet est reçu on déplace la fenêtre et on émet immédiatement le

paquet suivant

(25)

JLA 2015, AG 2021

1 2 3 4 5 6 7 8 9 10 11

Fenêtre

Acquittement du paquet 3

1 2 3 4 5 6 7 8 9 10 11

Fenêtre

1 2 3 4 5 6 7 8 9 10 11

Fenêtre

1 2 3 4 5 6 7 8 9 10 11

Fenêtre

1 2 3 4 5 6 7 8 9 10 11

1 2 3 4 5 6 7 8 9 10 11

1 2 4 5 6 7 8 9 10 11

1 2 3 4 5 6 7 8 9 10 11

Références

Documents relatifs

Montrer qu'une fonction en escalier sur [a, b] est bornée sur son intervalle de dénition.. Théorème

(Sommes de Riemann, -) Calculer la limite des suites de terme général 1. En déduire la valeur

• Un quadrilatère non croisé dont deux côtés opposés sont parallèles et ont même longueur est un parallélogramme.. Parallélogrammes particulier

Tracer le symétrique d’une figure par rapport à une droite : c’est compléter la figure pour que la droite devienne l’axe de symétrie de l’ensemble.. Géom…

//On associe un paquet à un buffer vide pour la réception DatagramPacket paquet =new DatagramPacket(buffer,buffer.length());. //On crée un socket pour écouter sur le

Serveur en gestion multi--clients clients en en mode connecté. mode

Two processes potentially contribute to this role: a surface diffusion barrier seg- regating the somatodendritic and axonal membrane proteins and an intracellular filter

Un constructeur automobile achète des pneus à 3 fournisseurs dans les proportions suivantes : 20% au premier fournisseur , 50% au deuxième fournisseur et 30% au