Couches TCP/IP
Stéphane Vialle
Stephane.Vialle@supelec.fr
http://www.metz.supelec.fr/~vialle
1
Couches TCP/IP
1
couches TCP/IP
1 - Principes de fonctionnement
du modèle TCP/IP
couches TCP/IP
Détails de la couche « Interface Réseau »
2
couches TCP/IP
1 - Principes de fonctionnement
du modèle TCP/IP
couches TCP/IP
Acheminement des datagrammes
IP sur PPP
Point d ’accès
Ordinateur personnel Boucle locale Fournisseur
+ Modem d'accès
Routeur
IP sur Ethernet
Protocole
Message IP
Fournisseur
propre au réseau de services
3
couches TCP/IP
Détails de la couche « Interconnexion »
• IP : protocole Internet
- routage à travers Internet
- règles d’adressage au sein d’Internet (adresses logiques IP)
• Protocoles associés de:
- contrôle de l’Internet (ICMP) : discussions entre routeurs
- conversion d’adresses logiques en adresses physiques : ARP
- conversion d’adresses physiques en adresses logiques : RARP7
couches TCP/IP
Détails de la couche « Interconnexion »
• Les routages et
relais entre réseaux
sont assurés par la
couche IP
• Protocole de
routage le plus
connu : RIP
(Routing Information
Protocol) …
Recherche de routes de
moindre coût, par les
routeurs … 8
4
couches TCP/IP
Détails de la couche « Interconnexion »
Usage
futur
couches TCP/IP
Détails de la couche « Interconnexion »
• Contenu
d’une trame
IPv4
• Version
courante
d’IP
5
couches TCP/IP
Détails de la couche « Interconnexion »
• Règles d’adressage en IPv6 :
- 3 types d’adresses :
- « Point à point » (unicast)
- « Un exactement » (anycast)
- « Multipoint » (multicast)
- Adresse point à point (unicast)
- Identifie une interface réseau unique
- Routage par le plus court chemin
- 3 niveaux de hiérarchie :
• Topologie publique (global) : routage sur l'internet
• Site individuel (site-local) : routage limité à un site
• Interface réseau individuelle (link-local) : non routable
11
couches TCP/IP
Détails de la couche « Interconnexion »
• Règles d’adressage en IPv6 :
- Adresse un exactement (anycast)
- Même format que les adresses point à point
- Identifie un groupe d'interfaces réseau
- Routage au membre (unique) du groupe accessible
par le plus court chemin
- Adresse multipoint (multicast)
- Identifie un groupe d'interfaces réseau
- Routage vers toutes les interfaces du groupe
- Utilisation réglementée (un peu …)
• Problème du passage IPv4 → IPv6 :
- Interconnexion d’îlots IPv6 via un réseau IPv4 ?
- Connexions de machines IPv6 isolées sur un réseau IPv4 ?
- Interconnexion d’applications IPv4 et IPv6 ?
12
6
couches TCP/IP
Détails de la couche « Interconnexion »
0 4 8 16 31
Versi Priori
Identificateur de flot de données
• Contenu on té
d’une trame Prochaine Nb max de
Longueur charge utile
entête sauts
IPv6 Adresse de l ’émetteur (128 bits)
…
Adresse du destinataire (128 bits)
…
[ Entête complémentaire ]
…
...
Données de la couche supérieure
…
couches TCP/IP
Détails de la couche « Interconnexion »
• Protocole ICMP de la couche IP :
- ICMP = Internet Control Message Protocol
- une série de services pour les besoins internes des réseaux IP
7
couches TCP/IP
Détails de la couche « Interconnexion »
• Protocole ICMP de la couche IP :
• Adaptation de la taille des datagrammes IP à la taille des PDU
des réseaux traversés (respecte le MTU Maximum Transfer Unit)
→ Fragmentation dans les routeurs
→ Ré-assemblage dans le système destinataire
Internet
Routeur Routeur
fragmentation ré-assemblage
15
couches TCP/IP
Détails de la couche « Interconnexion »
@IP
@MAC 16
8
couches TCP/IP
Détails de la couche « Interconnexion »
• Protocole RARP de la couche IP :
- but : @physique (MAC) → @logique (IP)
- ex : une station diskless qui boot en réseau ne connaît pas
son @IP
- fonctionnement :
- elle veut connaître son @IP à partir de son @MAC
- sur le réseau il doit exister des serveurs RARP :
tables : @MAC ↔ @IP
- la station diskless diffuse une requête RARP avec son @MAC
- le (les) serveurs RARP répondent : envoient son @IP
@IP 17
couches TCP/IP
1 - Principes de fonctionnement
du modèle TCP/IP
18
9
couches TCP/IP
Détails de la couche « Transport »
couches TCP/IP
Détails de la couche « Transport »
0 16 31
Détail de Port Source Port Destination
Longueur du message Checksum
l’entête UDP : (en octets) (calcul facultatif)
[ Données ]
…
10
couches TCP/IP
Détails de la couche « Transport »
0 4 8 16 31
Détail de Port Source Port Destination
Numéro de séquence
l’entête TCP : Numéro d ’acquittement
Pt data Réservé U A P R S F Taille de la fenêtre
Checksum Pointeur données urgentes
Options
[ Données ]
…
couches TCP/IP
1 - Principes de fonctionnement
du modèle TCP/IP
22
11
couches TCP/IP
Détails de la couche « Application »
couches TCP/IP
Détails de la couche « Application »
12
couches TCP/IP
Détails de la couche « Application »
Exemple d’applications directement utilisées par l’utilisateur :
• OutLook : utilise
- SMTP pour envoyer du mail
- POP pour lire du mail sur le serveur de mail
- un annuaire LDAP pour les diverses identifications
• ICQ : utilise
- un protocole natif qui attaque UDP
- un protocole natif qui attaque TCP
- un annuaire LDAP pour les diverses identifications ??
couches TCP/IP
2 - Déroulement des
communications UDP/IP
26
13
couches TCP/IP
telnet
mail
Ports UDP :
- files d’attentes telnet
ftp
- démultiplexent la réseau
telnet
telnet
telnet
connexion réseau
vers différentes applis.
exécutées (en parallèle)
sur la machine N° de port
@ IP mail
réseau ftp
telnet
27
couches TCP/IP
14
couches TCP/IP
Application
Données Application
Datagramme Utilisateur (UDP)
Interconnexion (IP)
Interface avec le réseau
En-tête Zone de données UDP
UDP
En-tête
dtgm IP Datagramme IP (paquet IP)
En-tête de
la trame Trame de bits
29
couches TCP/IP
UDP s’utilise typiquement sur des LAN très fiables, avec des
délais de transmission courts.
30
15
couches TCP/IP
3 - Déroulement des
communications TCP/IP
31
couches TCP/IP
16
couches TCP/IP
t t
- Permet des débits plus
Transmission (correcte) avec élevés que l’acquittement
fenêtre glissante de 3
positif simple
33
couches TCP/IP
17
couches TCP/IP
Déroulement de comm. TCP/IP
Etablissement d’une connexion en TCP :
• Une fois la connexion établie, les données circulent dans les 2 sens
• Connexion en 3 étapes :
1- demande de connexion, émission du n° de séq. initial venant de A
2- acceptation de la connexion, accusé de réception du n° de
séq. initial venant de A, émission du n° de séq. initial venant de B
3- accusé de réception du numéro de séq. initial venant de B
→ machines d’accord, et connaissent leurs n° de séquence initiaux
SYN seq=x 1
Reception SYN - Ack : n° de séquence du
Reception 2 SYN seq=y prochain octet attendu
SYN et ACK ACK x+1
3
- TCP ignore les demandes
ACK y+1
Reception ACK de connexion alors que
t t celle-ci est déjà établie
A B 35
couches TCP/IP
18
couches TCP/IP
Transmission Control Protocol
Bilan : propriétés de TCP
• RFC 793 - 1981
• Transport de données fiable
• Support direct des protocoles applicatifs
• Mode connecté
– Connexion/Déconnexion en 3 temps
– Connexion orientée Client/Serveur
– Transfert de données full duplex et transparent
– Contrôle d’erreur par Checksum
– Correction d’erreur par retransmission
– Contrôle de flux avec fenêtre dynamique
– Séquencement par numérotation du flux d ’octets
– Données urgentes
37
19