0% ont trouvé ce document utile (0 vote)
56 vues43 pages

Cours de Réseaux Informatiques

Transféré par

mar iem
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
56 vues43 pages

Cours de Réseaux Informatiques

Transféré par

mar iem
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Cours Services des Réseaux

Chapitre 1

Sonia GAIED
[email protected]

2ème année L. Info 2023/2024


Modèle OSI
• IP correspond au niveau 3 du
modèle ISO à savoir adressage,
routage et contrôle des flux.
• TCP correspond au niveau 4
« transport » du modèle OSI.

TCP/IP a été développé à partir de 1969 sur la base du


projet DARPA Defense Advanced Research Project Agency. Sa
véritable mise en place date de 1983-1986.
TCP/IP est une pile de protocoles qui existent comme des
standards tels que DNS Domain Name Service, FTP File
Transfert Protocol, SMTP Standard Mail Transfert Protocol, …
Protocole
• Un ensemble de convention préétablies pour réaliser
un échange de données entre deux entités
• Il définit le format des données et les règles
d'échanges
– Syntaxe et sémantique de message...
• En particulier :
– format des données et les règles d’échange
– délimitation des blocs de données échangés
– organisation et contrôle de l’échange
– contrôle de la liaison
Communication en réseau : protocoles organisés en
plusieurs couches
Modèle TCP/IP
COUCHE TRANSPORT

LES PROTOCOLES
DE TRANSPORT :

TCP, UDP

5
La couche transport
On trouve typiquement au dessus du protocole IP
(couche réseau - 3), les protocoles de transport
(couche 4)
Deux protocoles permettant la communication
entre applications utilisatrices :
• TCP (Transmission Control Protocol) en mode
orienté connexion

• UDP (User Datagram Protocol) en mode sans


connexion
6
La couche transport
• Les protocoles orientés connexion :
- un contrôle de transmission des données pendant une
communication établie entre deux machines.
- La machine réceptrice envoie des accusés de réception lors de la
communication,
- la machine émettrice est garante de la validité des données qu'elle
envoie.

TCP est un protocole orienté connexion

• Les protocoles non orientés connexion :


- la machine émettrice envoie des données sans prévenir la machine
réceptrice,
- la machine réceptrice reçoit les données sans envoyer d'avis de
réception à la première.

UDP est un protocole non orienté connexion


7
La couche transport
TCP : Protocole orienté connexion

• Etablissement et maintien d'une connexion entre 2 machines

Hé, tu m'écoutes ?
Oui, je t'écoute
J'ai le cours réseau
OK
Je vais te l'envoyer TCP
OK
Transport Control Protocol
Tu l'as reçu ?
Oui, c'est bon !
Salut
Salut
8
La couche transport
Protocole non orienté connexion

• Expédition des données

Je t'envoie le cours réseau


UDP
User Datagram Protocol
• Moins fiable que TCP
Contrôles d'erreurs, ordonnancement
• + rapide

9
La couche transport : TCP
1. Établissement et libération fiables des
connexions: mécanismes en trois étapes

2. Service de bout en bout orienté connexion

3. Service de transport fiable (accusés de


réception, retransmissions

4. Contrôle de flux et de congestion par connexion


(mécanisme de fenêtre glissante - sliding
window)
• d

10
La couche transport : TCP
1. Établissement et libération fiables des
connexions: mécanismes en trois étapes :

2.- Service
Etablissement
de boutd’une connexion
en bout duplex point à
orienté connexion
point (circuit virtuel) de bout en bout entre le port
source de l’émetteur et le port de destination du
3. récepteur
Service de transport fiable (accusés de
réception, retransmissions
- Transmission des données sur cette connexion
- Libération de la connexion
4. Contrôle de flux et de congestion par connexion
(mécanisme de fenêtre glissante - sliding
window)
• d

11
La couche transport : TCP
2. Service de bout en bout orienté connexion

192.168.1.24 192.168.1.32

IP source : 192.168.1.21 Port source : 4257


IP dest : 192.168.1.32 Port dest : 23 n° 1 Hello

IP source : 192.168.1.24 Port source : 4257


IP dest :192.168.1.32 Port dest : 23 n° 2 World !

12
La couche transport : TCP
4. Contrôle de flux et de congestion par connexion
(mécanisme de fenêtre glissante - sliding
window)
• Les données transmises à TCP constituent un flot d'octets de
longueur variable.
– TCP divise ce flot de données en segments en utilisant un
mécanisme de fenêtrage.
• Un contrôle des données transférées (données endommagées,
perdues et/ou dupliquées) et un re-séquencement si la couche
IP ne les délivre pas dans l'ordre.
• Un niveau de priorité. Les données transmises dans un
message peuvent être traitées avec plus ou moins de priorité.
13
LE MESSAGE TCP
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Port source Port destination


Numéro de séquence
Acquittement

RST
SYN
FIN
URG
ACK
PSH
HLEN Réservé Fenêtre
CheckSum Pointeur message Urgent

Options
Bourrage

Données

14
La couche transport : TCP
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Port source Port destination


Numéro de séquence
Acquittement

RST
SYN
FIN
URG
ACK
PSH
HLEN Réservé Fenêtre
CheckSum Pointeur message Urgent

Options
Bourrage

Port Source - Port Destination Données

L'adresse IP, au niveau 3, permet de situer une


machine.
Une fois la machine trouvée, il faut pouvoir
déterminer l'application qui doit traiter les
données.

L'application est désignée par un NUMERO DE PORT.


Le RFC 1700 donne l'affectation des numéros de port
aux applications connues 15
La couche transport : TCP
Plusieurs applications réseaux peuvent s’exécuter en parallèle sur un
ordinateur
Problème : comment un émetteur peut-il préciser à quelle application
est adressé un message ?
La solution retenue sur Internet est l’utilisation de destinations
abstraites : les ports (ne pas confondre avec les ports physiques des
hubs/switchs)
– entiers positifs sur 16 bits
– UDP et TCP fournissent chacun un ensemble de ports
indépendants : le port n de UDP est indépendant du port n de TCP
– le système permet aux applications de se voir affecter un port
UDP et/ou TCP
– certains numéros de port sont réservés et correspondent à des
services particuliers 16
La couche transport : TCP
L’adresse d’une application Internet est le triplet : (adresse IP, protocole
de transport, numéro de port)

17
La couche transport : TCP
LE MESSAGE TCP : Numéros de ports
• Socket :combinaison d’une adresse IP et d’un numéro
de port

• L’association de 2 sockets définit totalement une


connexion TCP ou un échange UDP.

Exemple : (130.190.5.1, 23) et (147.171.150.2, 1094)


connexion entre le processus client numéro 1094 sur
l’hôte 147.171.150.2 et le serveur (deamon) telnetd sur
l’hôte 130.190.5.1 (port 23 réservé au serveur Telnet)
18
La couche transport : TCP
 Exemples de numéro de PORT (extrait du RFC 1700)
Services Numéro du Port
TELNET 23
HTTP 80
Port Données FTP 20
Port Contrôle FTP 21
Kerberos 88

- Le protocole Telnet définit un protocole standard 'Internet qui autorise


les communications entre un client et un serveur.
- le protocole http établit une liaison entre un ordinateur (client) et un
serveur Web. Le premier, via un navigateur Web, envoie une requête au
second qui lui apporte une réponse presque instantanée.
- Un serveur FTP (File Transfer Protocol) est un logiciel utilisé dans le
transfert de fichiers entre deux ordinateurs.
- Kerberos est un protocole d'authentification réseau qui repose sur un
mécanisme de clés secrètes et non de mots de passe en clair. 19
La couche transport : TCP
LE MESSAGE TCP

Transfert fiable:
1. les accusés de (bonne) réception (ACK)
2. la numérotation des paquets (ou données)
3. des temporisateurs : alarmes qui expirent
(timeout)

20
La couche transport : TCP
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Port source Port destination


Numéro de séquence
Acquittement

RST
SYN
FIN
URG
ACK
PSH
HLEN Réservé Fenêtre
CheckSum Pointeur message Urgent

Options
Bourrage

Données

LA CONNEXION TCP

• Gestion d'une connexion TCP

Les champs numéro de séquence, acquittement et


flags sont utilisés par le protocole TCP à gérer la
communication de bout en bout (couche 4)
21
La couche transport : TCP
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Port source Port destination


Numéro de séquence
Acquittement

RST
SYN
FIN
URG
ACK
PSH
HLEN Réservé Fenêtre

LE MESSAGE TCP CheckSum Pointeur message Urgent

Options

Principe : Pour la fiabilité Bourrage

de la transmission les octets sont


Données

numérotés.
Numéro de séquence (32 bits)
– numéro de séquence du premier octet dans le segment
– valeur initiale fixée à l’établissement de la connexion
Numéro d’acquittement (32 bits)
– numéro de séquence du prochain octet attendu par le
récepteur (N indique la bonne réception des octets jusqu’à
N-1)
– valeur validée par l’indicateur ACK
– valeur initiale fixée à l’établissement de la connexion
22
La couche transport : TCP
Acquittement de messages: Accusés de réception (ACK,
Acknowledgement)

TCP garantit l'arrivée des messages, c'est à dire qu'en cas de


perte, les deux extrémités sont prévenues.
Ce concept repose sur les techniques d’acquittement de
message:
• lorsqu'une source S émet un message Mi vers une destination
D, S attend un acquittement Ai de D avant d'émettre le
message suivant Mi+1.
Si l’acquittement Ai ne parvient pas à S, S considère au bout d'un
certain temps que le message est perdu et reémet Mi :

23
La couche transport : TCP

Les Acquittement de messages


Source Réseau Destination
Emission de Mi
Temporisation Mi n‘est pas reçu
armée Ai non envoyé

Ai n’est pas reçu


Tempo. echue
Réemission de Mi
Réception de Mi
Emission de Ai

Réception de Aj

24
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Port source Port destination

La couche transport Numéro de séquence


Acquittement

RST
SYN
FIN
URG
ACK
PSH
Réservé Fenêtre
TCP : Protocole orienté connexion
HLEN

CheckSum Pointeur message Urgent

LE MESSAGE TCP Options


Bourrage

Données

 Champ réservé Pour un usage futur et positionné à


0
 HLEN ou Déplacement
• taille, en mots de 32 bits, de l’en-tête TCP, y compris
la zone optionnelle (indique donc le début des
données)

Avec aucune option, déplacement = 5 (20 octets).

25
La couche transport : TCP
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Port source Port destination


Numéro de séquence
Acquittement

RST
SYN
FIN
URG
ACK
PSH
HLEN Réservé Fenêtre
CheckSum Pointeur message Urgent

LA CONNEXION TCP Options


Bourrage

Données

Une application qui appelle le module TCP utilise


les appels systèmes suivants :

– OPEN pour ouvrir la connexion. On distingue :

• OPEN PASSIF qui est un open type serveur. Il reste à


l'écoute et accepte les requêtes qui lui arrive.

• OPEN ACTIF qui est un open type client qui après une
connexion sur un open passif enverra des données.
26
La couche transport : TCP
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Port source Port destination


Numéro de séquence
Acquittement

RST
SYN
FIN
URG
ACK
PSH
HLEN Réservé Fenêtre
CheckSum Pointeur message Urgent

LA CONNEXION TCP Options


Bourrage

Données

– CLOSE pour fermer la connexion

– SEND pour envoyer les données après un OPEN

– RECEIVE pour recevoir des données

– STATUS pour obtenir des informations sur la


connexion.
27
La couche transport : TCP
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Port source Port destination


Numéro de séquence
Acquittement

RST
SYN
FIN
URG
ACK
PSH
HLEN Réservé Fenêtre

LE MESSAGE TCP CheckSum Pointeur message Urgent

Options
Bourrage

Champ des bits de contrôle (Flag) Données

6 Bits pour définir la fonction des message et la validité de


certains champs :

URG : Message urgent - Les données doivent être traitées


sans attendre que le récepteur ait traité les octets envoyés
dans le flux.

ACK : Indique la validité du champ acquittement.

PSH : Les données reçues doivent être immédiatement


remises à la couche supérieure.

28
La couche transport : TCP
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Port source Port destination


Numéro de séquence
Acquittement

RST
SYN
FIN
URG
ACK
PSH
HLEN Réservé Fenêtre

LE MESSAGE TCP CheckSum Pointeur message Urgent

Options
Bourrage

Champ des bits de contrôle (Flag) Données

6 Bits pour définir la fonction des message et la validité de


certains champs :

RST (Reset) : Réinitialisation de la connexion suite à une


erreur irrécupérable.

SYN : Indique l'ouverture d'une connexion.

FIN : Fermeture normale d'une connexion

29
La couche transport : TCP
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Port source Port destination


Numéro de séquence
Acquittement

RST
SYN
FIN
URG
ACK
PSH
HLEN Réservé Fenêtre
CheckSum Pointeur message Urgent

LA CONNEXION TCP Options


Bourrage

Données

• L'ouverture d'un connexion TCP se négocie en 3


temps à l'aide des flags SYN et ACK :

SYN = 1 ACK = 0 Demande d'ouverture


SYN = 1 ACK = 1 Acceptation de l'ouverture
SYN = 0 ACK = 1 Données

30
La couche transport : TCP
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Port source Port destination


Numéro de séquence
Acquittement

RST
SYN
FIN
URG
ACK
PSH
HLEN Réservé Fenêtre
CheckSum Pointeur message Urgent

LA CONNEXION TCP Options


Bourrage

Données

• Le contrôle de flux se fait à l'aide des champs


numéro de séquence (noté #SEQ) et
acquittement (noté #ACK). La valeur initiale de
#SEQ est produite à partir d'une horloge et d'un
compteur incrémenté toutes les 4 ms. Il permet
de numéroter les octets de données.
• Avec ces éléments un schéma d'une connexion
TCP sera le suivant (il existe d'autres séquences de protocole) :
31
Exemple

Maximum Segment Lifetime)

32
SYN=1 ACK=0
ACTIVE OPEN
#SEQ = 55
Demande d'ouverture de
connexion par le client #ACK = 0

PASSIVE OPEN
Par le serveur

SYN=1 ACK=1
Envoi de 10 octets #SEQ = 202
#ACK = 56
Quand SYN=0 et ACK=1 :

• #SEQ reprend le #ACK SYN=0 ACK=1


reçu #SEQ = 56
Envoi de 20 octets
#ACK = 203
• #ACK = #SEQ reçu +
Nombre d'octets reçu + 1

• #ACK donne le numéro du SYN=0 ACK=1


prochain octet attendu #SEQ = 203
#ACK = 67 (56+10+1)
33
SYN=0 ACK=1
#SEQ = 67
Envoi de 10 octets #ACK = 224 (203+20+1)

Envoi de 30 octets

SYN=0 ACK=1 Copie du message dans


#SEQ = 224 une file d'attente.
Panne de réseau
#ACK = 78 Reprise de l'envoi si
aucun ACK n'est reçu
avant le temps "t".
t =Time Out

SYN=0 ACK=1
#SEQ = 224
#ACK = 78

34
Réexpédition des 30 octets

SYN=0 ACK=1
#SEQ = 224
Envoi de n octets
#ACK = 78

SYN=0 ACK=1
#SEQ = 78 Envoi de n octets
#ACK = 255

Etc.

35
La couche transport : TCP
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Port source Port destination


Numéro de séquence
Acquittement

RST
SYN
FIN
URG
ACK
PSH
Réservé Fenêtre

LE MESSAGE TCP
HLEN

CheckSum Pointeur message Urgent

Options
Fenêtrage Bourrage

Données

• La technique acquittement simple pénalise les


performances puisqu'il faut attendre un acquittement
avant d'émettre un nouveau message.
d

• Le fenêtrage améliore le rendement des réseaux.


d

• La technique du fenêtrage : une fenêtre de taille T, permet


l'émission d'au plus T messages "non acquittés" avant de
ne plus pouvoir émettre

36
La couche transport : TCP
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Port source Port destination


Numéro de séquence
Acquittement

RST
SYN
FIN
URG
ACK
PSH
Réservé Fenêtre

LE MESSAGE TCP
HLEN

CheckSum Pointeur message Urgent

Options
Bourrage

Données

• Champ fenêtre (16 bits)


Ce champ est une implémentation du contrôle de flux.

• Nombre d'octets qu'il est possible de recevoir par


rapport au numéro d'acquittement (max : 65535) .

• Il est calculé par le récepteur en fonction de la taille


encore disponible dans son buffer d'entrée.
37
La couche transport : TCP
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Port source Port destination


Numéro de séquence
Acquittement

RST
SYN
FIN
URG
ACK
PSH
Réservé Fenêtre

LE MESSAGE TCP
HLEN

CheckSum Pointeur message Urgent

Options
Fenêtrage Bourrage

Données

Source Réseau Destination


Emission de Mi
Emission de Mi+1 Réception de Mi
Emission de Mi+2 Emission de Ai

Reception de Ai

Fenêtrage de taille 3
38
La couche transport : TCP
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Port source Port destination


Numéro de séquence
Acquittement

RST
SYN
FIN
URG
ACK
PSH
Réservé Fenêtre

LE MESSAGE TCP
HLEN

CheckSum Pointeur message Urgent

Options
Fenêtrage Bourrage

Données

39
40
41
La couche transport : TCP
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Port source Port destination


Numéro de séquence
Acquittement

RST
SYN
FIN
URG
ACK
PSH
Réservé Fenêtre

LE MESSAGE TCP
HLEN

CheckSum Pointeur message Urgent

Options
Bourrage

Données

 CheckSum (16 bits) :


calcul du champ de contrôle : utilise un pseudo-
en-tête et s'applique à la totalité du segment
obtenu (PROTO =6) :
 si erreur : pas d’acquittement

42
La couche transport : TCP
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Port source Port destination


Numéro de séquence
Acquittement

RST
SYN
FIN
URG
ACK
PSH
Réservé Fenêtre

LE MESSAGE TCP
HLEN

CheckSum Pointeur message Urgent

Options
Bourrage

Données

 Pointeur message Urgent (16 bits)

 valeur validée par l’indicateur URG Pointe sur les


octets qui doivent être traités en priorité.

 indique la position du dernier octet des données


urgentes

43

Vous aimerez peut-être aussi