Vous êtes sur la page 1sur 14

Bases des réseaux TCP/IP

 "TCP/IP" fait référence à une multitude de protocoles de


Chapitre 5 communication. Il tient son nom de deux de ses protocoles: Le
"Transmission Control Protocol" et le "Internet Protocol".

 Architecture TCP/IP
Principes des réseaux
 Résultat de recherches conduites sur ARPANET, financés par DARPA
TCP/IP (Department of Defence USA)
 Coeur de l’Internet
 Les protocoles sont indépendants des architectures matérielles et des systèmes
d’exploitation.
 Le mode d’adressage est commun à tous les utilisateurs de TCP/IP quelle que
soit la plate-forme qui l’utilise
 La majeurs partie des informations relatives à ces protocoles sont publiées
1 dans les RFCs (Requests For Comments) 2

Bases des réseaux TCP/IP Les protocoles de l’architecture TCP/IP


Niveau applicatif (La couche application)
 Architecture TCP/IP HTTP - HyperText Transport Protocol

FTP - File Transfer Protocol

Couche Contient la logique nécessaire au support d’applications usagers (ftp, TELNET - TELetypewriter Network Protocol
telnet, http etc.) Chaque application requière un module différent SMTP - Simple Mail Transfer Protocol
Application
DNS - Domain Name System

Couche Sûreté de la transmission/réception (contrôle d’erreur, séquençage, SNMP - Simple Network Management Protocol
contrôle de flux)
Transport
La couche transport : Protocoles de transport de données
Couche Internet Fonctions de routage à travers des réseaux multiples. Implémenté
aussi bien dans les systèmes terminaux que les routeurs. TCP (Transmission Control Protocol) : transfert fiable de données en mode connecté

UDP (User DatagramProtocol)


DatagramProtocol) : transfert non garanti de données en mode non connecté

au
Couche Liaison Concerne l’échange de données entre systèmes terminaux et le réseau La couche Réseau : Protocole IP et Protocoles de contrôle de l'Internet
cès (adressage, priorité, etc). Dépend du type de réseau.
ac u • IP (Internet Protocol) : gère la circulation des paquets à travvers le réseau en assurant leur routage.
che sea • ICMP (Internet Control and error Message Protocol)
u Couche
ré Couvre l’interface physique au réseau. Caractéristiques
Co Mécaniques, électriques, fonctionnelles et procédurales du médium • ARP (Address Resolution Protocol)
Physique physique 3 4
• RARP (Reverse ARP)
Concept de l’interconnexion Concept de l’interconnexion
• Communications sans routeur • Communications avec routeur (s)
• • Prise en compte de l'hétérogénéité
Deux machines sur un même sous réseau

TCP TCP TCP TCP

L ’architecture TCP/IP permet surtout de constituer un Internet, c. a. d. une interconnexion de réseaux


L ’architecture TCP/IP permet de faire fonctionner un réseau local : par exemple sur un réseau Ethernet éventuellement hétérogènes comme illustré dans la figure. Ici les ordinateur A et B sont des systèmes terminaux et
reliant un ordinateur client A qui interroge un serveur FTP B 5 le routeur est un système intermédiaire. La remise du datagramme nécessite l ’utilisation de deux6 trames
différentes, l ’une du réseau Ethernet entre la machine A et le routeur, l ’autre du réseau Token-Ring entre le
routeur et la machine B

Caracté
Caractéristiques d’IP
• Implémente la couche réseaux par rapport au modèle OSI.
• Définit l’adressage logique des machines ainsi que le routage des
données entre les nœuds.
• C’est un protocole non fiable car il ne garanti pas la remise des
données à la destination final.
Le Protocole IP • C’est un protocole sans connexion car il n’y a pas de circuit établi au
préalable et les paquets sont acheminés indépendamment les uns des
autres.

(Internet Protocol) • Le protocole IP définit :


• L'unité de donnée transférée dans
les interconnexions (le Datagramme).

• La fonction de routage.

7 8
IP : Internet Protocol (le datagramme)
datagramme) IP : Internet Protocol (le datagramme)
datagramme)
• VERS : numéro de version de protocole IP, (IPv4 ou IPv6).
• Le datagramme IP: L'unité de transfert de base dans un réseau
• HLEN : longueur de l'en-tête en mots de 32 bits, généralement égal à 5 (sans
Internet est le datagramme qui est constituée d'un en-tête et d'un d'options)
champ de données:
0 4 8 16 19 24 31 • Longueur totale : longueur totale du datagramme (en-tête + données).
VERS HLEN Type de service Longueur totale
• Type de service : indique comment le datagramme doit être géré: traitement
Identification Flags Offset fragment normal, haute priorité, haut débit, haute fiabilité.
Durée de vie Protocole Somme de contrôle Header • Longueur totale : taille du fragment et non pas celle du datagramme initial, à
Adresse IP Source partir du dernier fragment (TOTAL LENGTH, FRAGMENT OFFSET et FLAGS)
on peut déterminer la taille du datagramme initial.
Adresse IP Destination
Options IP (éventuellement) Padding • Identification, Flags, Fragment Offset : informations utilisées par IP pour la
reconstitution d’un paquet IP fragmenté.
Données
... • IDENTIFICATION : entier qui identifie le datagramme initial (utilisé pour la
9 reconstitution à partir des fragments qui ont tous la même valeur). 10

IP : Internet Protocol (le datagramme)


datagramme) L’adressage IP
• FLAGS contient un bit appelé "do not fragment" (01X) • But : fournir un service de communication universel permettant à toute machine de
communiquer avec toute autre machine de l’interconnexion
• un autre bit appelé "More fragments" (FLAGS = 001 signifie d'autres fragments à
suivre) permet au destinataire final de reconstituer le datagramme initial en identifiant les • Une machine doit être accessible aussi bien par des humains que par d'autres machines
différents fragments (milieu ou fin du datagramme initial)
• Une machine doit être identifiée par :
• Durée de vie : Ce champ indique en second, la durée maximale de transit du datagramme • Un nom (mnémotechnique pour les utilisateurs),
sur Internet. Chaque passerelle diminue la valeur du TTL d’au moins 1 avant de le router. • Une adresse qui doit être un identificateur universel de la machine,
• Une route précisant comment la machine peut être atteinte.
• Protocole : Ce champ identifie le protocole de niveau supérieur dont le message est
porté par le champs données du datagramme : • Solution : Un adressage binaire assurant un routage efficace
6 : TCP 17 : UDP 1 : ICMP • Utilisation de noms pour identifier des machines (réalisée à un autre niveau que les
protocoles de base)
• Somme de contrôle de l’en-tête : Ce champ permet de détecter les erreurs survenant dans
l'en-tête du datagramme, et par conséquent l'intégrité du datagramme. Le total de • Les classes d'adressage
contrôle d'IP porte sur l'en-tête du datagramme et non sur les données véhiculées. • Une adresse = 32 bits dite « Internet Address" ou "IP Address" constituée d'une paire (netid, hostid) où
netid identifie un réseau et hostid identifie une machine sur ce réseau.

• OPTIONS : Le champ OPTIONS est facultatif et de longueur variable. Les options


concernent essentiellement des fonctionnalités de mise au point. Une option est définie
par un champ octet. 11 12
L’adressage IP L’adressage IP
0
Structure d’une adresse IP 31 0 8 16 24 31

Identifiant Réseau Identifiant Machine Classe A 0 Net-id Host-id

• La partie réseau: est un identifiant commun pour un Classe B 1 0 Net-id Host-id


groupe de machines connectées sur le même réseau
physique et/ou logique.
• La partie host: identifie une machine donnée dans le réseau Classe C 1 1 0 Net-id Host-id
physique et/ou logique, identifié par l’identifiant réseau.
Classe D 1 1 1 0 Multicast
Cette paire est structure d’une manière à définir 5 classes
d’adresses IP.
Classe E 1 1 1 1 0 Réservé

13 14

L’adressage IP L’adressage IP
Adresses particulières:
• Notation décimale • Adresse réseau : adresse IP dont la partie hostid ne comprend que des zéros : 191.20.0.0 désigne
le réseau de classe B 191.20.
L'interface utilisateur concernant les adresses IP consiste en la
• Adresse machine locale : adresse IP dont le champ réseau (netid) ne contient que des zéros:
notation de quatre entiers décimaux séparés par un point, chaque 0.0.1.2
entier représentant un octet de l'adresse IP : • Netid = 0 et hostid = 0 (=> tout à zéro), l'adresse est utilisée au démarrage du système afin de
connaître son adresse IP (DHCP).
10000000 00001010 00000010 00011110 est écrite : • Adresse de diffusion limitée : Netid = 1 et hostid = 1 (=> tout à 1) : l'adresse constituée concerne
uniquement le réseau physique associé. (255.255.255.255)

• L'adresse de diffusion dirigée : netid est une adresse réseau spécifique et hostid = 1  la
diffusion concerne toutes les machines situées sur le réseau spécifié : 192.20.255.255 désigne
toutes les machines du réseau 192.20.

• Adresse de boucle locale : l'adresse réseau 127.0.0.1 (localhost) est réservée pour la désignation
128.10.2.30 de la machine locale, c'est à dire la communication intra-machine. Elle permet de tester la pile
TCP/IP locale sans passer par une interface matérielle
Les adresses réseaux sont distribuées par un organisme international à but non
lucratif : ICANN (Internet Corporation for Assigned Names and Numbers) puis
décentralisé au niveaude chaque pays 15 16
L’adressage IP L’adressage IP
• Notion d’Interface :
Une adresse IP => une interface physique => une connexion
0 8 16 24 31
désigne la machine réseau.
Tout à zéro
courante
A une machine, est associé un certain nombre N d'adresses IP.
machine Host-id
Tout à zéro Host-id sur le réseau courant Si N > 1 la machine (ou passerelle) est multi-domiciliée.
diffusion limitée sur
Tout à un le réseau courant 193.49.60.41 193.49.60.43 193.49.60.1
192.100.1.2
diffusion dirigée sur
Net-id Tout à un le réseau Net-id 192.100.1.1

La passerelle est multi-domiciliée:


127 N’importe quoi (souvent 1) boucle locale
interface 1 : Ethernet 193.49.60.1
interface 2 : Token Ring 192.100.1.1 192.100.1.7
17 18

L’adressage IP : Notion de Masque. L’adressage IP : Limites de l’adressage IP classique


• Le masque réseau est un entier sur 32 bits, constitué d’une suite de 1 suivi par une suite Problèmes (fin des années 80)
de 0 :
11111111 11111111 11111111 0000000 – Problèmes d ’allocation des adresses:
1- épuisement de la classe B :
• Le masque sert à identifier l’adresse Réseau qui correspondant à une adresse IP donnée. 254 machines < sites << 64K machines
• En appliquant un and logique entre une adresse IP quelconque et le masque associé on 2- utilisation rapide des classes C
obtient la partie réseau de l’adresse (l’adresse réseau). 3- accroissement des tables de routages
@ip-machine AND Masque = @network
– Solutions =>
• Par exemple le masque associé a une adresse de classe A est:
- Allouer exactement la quantité nécessaire
- sous adressage
1111 1111 0000 0000 0000 0000 0000 0000 - super adressage ou bien CIDR et adressage privé)
- Agrégation d’adresses dans les tables de routage
• Ce qui correspond en notation décimal : 255.0.0.0

19 20
L’adressage IP : Le sous-adressage (subnetting) L’adressage IP : Le sous-adressage
• Le sous-adressage est une extension du plan d’adressage • Réseau vu de l'extérieur:
initial. Partie Réseau Partie locale
• Devant la croissance du nombre de réseaux de l’Internet, il a
été introduit afin de limiter la consommation d’adresses IP . • En interne, découpage en pseudo classes
Partie Réseau Réseau sous réseau Identifiant Machine
• Principes
• A l’intérieur d’une entité associée à une adresse IP de classe A, B ou C, plusieurs réseaux
physiques partagent cette adresse IP. Une adresse IP comporte désormais 3 partie:
• l’identifiant réseau «Partie Réseau» (NetId) : il à la même signification que celui du plan d’adressage
• On dit alors que ces réseaux physiques sont des sous-réseaux (subnet) du réseau d’adresse •
initial.
l’identifiant du sous-réseau : identifie un segment ou un sous-réseaux.
IP initial. • l’identifiant de la machine : identifie la machine sur le segment ou le sous-réseaux.
• Le principe est qu’une adresse de réseau d’une classe A, B ou C peut être découpée en • La somme des longueurs de l’identifiant sous-réseau et l’identifiant de la machine doit toujours donner
plusieurs sous-réseaux. la longueur de la partie hôte dans l’adressage classique
• Les champs «sous Réseau» et «identifiant Machine» sont de taille variable.
21 22

L’adressage IP : Le sous-adressage (subnetting) L’adressage IP : CIDR (Classless Inter Domain Routing)


Algorithme de calcul des sous-réseau: • CIDR= Classless Inter Domain Routing
• Déterminer le nombre de bits dans la partie sous-réseau qui permet d’avoir le nombre de sous-
• Le besoin:
réseaux voulu.
• Au début de l’Internet, Les adresses IP allouées pour les Grands FAI et les Grandes firmes
• Déterminer le nombre de bits dans la partie machine qui permet d’avoir le nombre de machines. étaient des adresses de classe B.
• Déterminer le masque qui va être utilisé pour ses sous-réseaux. • Au début des années 90 ce types d’adresses commençaient à devenir rares, et les adresses de
• Écrire sous forme binaire l’adresse IP initial. classe C étaient insuffisantes pour ce type d’organisations.
• Écrire sous forme binaire le masque initial. • La solution:
• Écrire sous forme binaire le nouveau masque. • L’introduction par l’IETF de la notion de CIDR RFC 1338-1518-1519.
• Déduire les adresses de sous-réseaux en incrémentant la partie de sous-réseau dans l’adresse initial. • ça consiste à allouer exactement le nombre de classes C nécessaires pour un organisme
• Déduire l’adresse du broadcast en remplaçant par des 1 tous les bits de la partie machine de donné.
l’adresse IP. • Les adresses de classes C doivent être contiguës, en parle alors de super réseaux.
• Enfin déduire les adresses utilisables. • Par exemple les adresses de classe C qui commencent de 192.168.64.0 jusqu’à 192.168.95.0
forment un seul bloc d’adresses de 32 classes C contiguës.
Exemple:
• On note ce bloc par 192.168.64.0/19 car le nombre de bits commun pour toutes les classes
Nous voulons découper le réseau de classe C 192.168.64.0/24 en 8 réseaux de 30 machines d’adresse qui forment ce bloc est 19.
pour chaque réseau. • Un réseau de 4 classe C consécutif est souvent appelé « slash 22 ».
23 24
L’adressage IP : CIDR (Classless Inter Domain Routing) L’adressage IP : CIDR (Classless Inter Domain Routing)
• Au niveau des routeurs une seule entrée dans la table de routage désigne tout le bloc • Exemple 2:
d’adresses. • Le bloc 193.194.64.0/19 regroupe les classes adresses allant de 193.194.64.0 jusqu’à
• On parle alors d’agrégation des adresses, et ça représente l’avantage de soulager la 193.194.95.0
table de routage au niveau des routeurs. 0 8 16 19 24 31
• Exemple 1: 1100 0001 1100 0010 010 0 0000 0000 0000 : 193.194.64.0
• Le bloc 192.168.0.0/23 permet d’assigner 2 classes C a l’utilisateur. 1111 1111 1111 1111 111 0 0000 0000 0000 : 255.255.224.0
• 192.168.0.0/23
1100 0001 1100 0010 010 0 0000 0000 0000 : 193.194.64.0
0 23 24 31
1100 0000 10101000 0000 0000 0 000 0000
1100 0001 1100 0010 010 0 0001 0000 0000 : 193.194.65.0
1111 1111 11111111 1111 1111 0 000 0000 1100 0001 1100 0010 010 0 0010 0000 0000 : 193.194.66.0 193.194.64.0/19
192.168.0.0/24 192.168.1.0/23 1100 0001 1100 0010 010 0 0011 0000 0000 : 193.194.67.0
1100 0001 1100 0010 010 0 0100 0000 0000 : 193.194.68.0
1100 0000 10101000 0000 0001 0 000 0000
1111 1111 11111111 1111 1111 0 000 0000
1100 0001 1100 0010 010 0 0101 0000 0000 : 193.194.69.0
192.168.1.0/24 ……………
1100 0001 1100 0010 010 1 1111 0000 0000 : 193.194.95.0

25 26

L’adressage IP : CIDR (Classless Inter Domain Routing) L’adressage IP : Adressage Privé et NAT
• Un exemple Pratique • Adresses privées (RFC 1918)
• des adresses qui ne seront jamais attribuées (adresses illégales) et qui ne sont pas
192.168.64.0 routables sur l'Internet
.1 .2 .3 .4 • Ils peuvent être utilisé si :
– Le réseau n’est pas connecté à Internet.
Internet P A B C
– Sur un réseau avec un FireWall.
.1 ⇒ il sera dans tous les cas impossible de connecter directement à l’Internet un tel réseau
(il faudra utiliser un traducteur d’adresse -NAT- )
192.168.65.0 .6 .2 .9 • Si une entreprise qui utilise des adresses privées souhaitent tout de même disposer
d'une connexion à l'Internet, il faut demander une adresse publique faire des
192.168.64.0/23 D E F
conversions adresse privée <--> adresse publique
les plages d’adresses privées
Un site avec deux réseaux physiques utilisant le super adressage de manière à ce que ces
deux réseaux soient couverts par une seule adresse IP. – classe A : 10/8 : 10.0.0.0 10.255.255.255.
– classe B : 172.16/12 : 172.16.0.0  172.31.255.255.
La passerelle P accepte tout le trafic destiné au réseau 192.168.64.0/23 et sélectionne le sous- – classe C : 192.168/16: 192.168.0.0 192.168.255.255.
réseau en fonction du troisième octet de l’adresse destination. 27 28
• Ces adresses ne doivent jamais être annoncées au niveau des tables de routage
vers l ’Internet.
L’adressage IP : Adressage Privé et NAT La fragmentation des datagrammes IP (RFC 791 & 815)
• NAT (RFC 3022) - Network Address Translator • Quand un datagramme est fragmenté, il n’est rassemblé
• mise en correspondance d'une adresse privée et d'une adresse publique
• traduction statique ou dynamique (lors de la connexion) que par la couche IP destinatrice finale. Cela implique
• une solution au manque d'adresses IP publiques : trois remarques :
• quelques adresses IP publiques pour beaucoup d'adresses IP privées mais le NAT est coûteux en
performance • Cette opération est absolument transparente pour les
couches de transport qui utilisent IP.
• Chaque fragment est acheminé de manière indépendante
• Un temporisateur de réassemblage sur le destinataire est
armé quand le premier fragment arrive
• la perte d'un fragment IP provoque la retransmission de
l'ensemble du datagramme

29 30

La fragmentation des datagrammes IP Le routage IP


• Routeur :
• passerelle entre sous-réseaux
• une adresse IP par interface (par sous-réseau)
• communications à l'intérieur d'un même sous-réseau se fait sans passer par un routeur
• acheminement à partir de l'@ destination (& logique avec le netmask de chaque entrée de la table
de routage)

• Mise à jour de la table de routage :


• Manuelle = routage statique
• commande "route" des stations unix
• langage de commande des routeurs (ip route ...)
• Automatique = routage dynamique
• processus sur les stations et les routeurs
• échanges d'informations de routage : protocoles de routage
31 32
Le routage IP Le routage IP
• Routage statique • exemple

• La commande route permet d’indiquer une route : sur la machine B :
• ifconfig eth0 164.64.203.1 netmask 255.255.255.0 broadcast 164.64.203.255
• vers un réseau (net) ou vers un équipement (host) • route add [net] 195.132.92.0 164.64.203.10 1
• route add 194.57.137.0 164.64.203.11 1
• ou une route par défaut (default) • sur le routeur R2 : (station unix)

• Syntaxe : •
ifconfig le0 164.64.203.10 ...
Ifconfig le1 204.27.1.11 ...
• route add |delete [net|host] destination |default gateway metric • route add 195.132.92.0 204.27.1.10 1
• route add 194.57.137.0 164.64.203.11 1
• En général, sur les équipements non routeur, on définit uniquement une route par défaut • route add default 164.64.203.12 1
164.64.203.0 /24
195.132.92.0 /24 • sur la machine A :
Réseau 2 • ifconfig le0 195. 132.92.1 ...
• route add default 195.132.92.10 1
A .1
B • sur le routeur R1 :
Réseau 1 .1
204.27.1.0 /24 • ifconfig eth0 195.132.92.10 ...
.10
• ifconfig eth1 204.27.1.10 ...
Routeur R1 .10 Routeur R2
.10 • route add default 204.27.1.11 1
.11

.11
Routeur R3
C
.11 .10
194.57.137.0 /24 33 34

Réseau 3

Le routage IP : Les protocoles de routage de l'Internet Le routage IP - Exemple : Le routage RIP


• Autonomous System (AS) • Principe
• ensemble de réseaux et de routeurs sous une administration unique (entreprise, réseau régional, cœur de réseau • Un nœud construit sa table de routage en fonction des vecteurs de distance reçus de ses voisins
• distance = nombre de sauts (entre 1 et 15) ,16 = valeur maximum (représente l'infini)
national, …) • utilisable uniquement à l'intérieur de domaines peu étendus
• permet de limiter les échanges d'informations de routage • Le routeur diffuse toutes les 30 secondes un message RIP à ses voisins contenant la liste des réseaux qu'il peut atteindre avec
leur distance
• chaque AS se voit attribuer un numéro d'AS (16 bits) • si aucun message pendant 180s, route inaccessible (d=16)
• Protocoles de routage internes (intra-AS) (IGP) • Implantation : sous Unix ou matériel propriétaire (Cisco, …)
• RIP (RFC 1058), RIP-2 (RFC 1721 à 1724) (Routing Information Protocol)
• Message RIPv1
• OSPF - Open Short Path First (RFC 2178)
• Encapsulé dans un
datagramme UDP
• Protocoles de routage externes (inter-AS) (port 520)
• EGP - Exterior Gateway Protocol (RFC 827)
• BGP - Border Gateway Protocol (RFC 1771)

35 36
Le routage IP : Le routage RIP Le protocole ICMP
• Avantages Le besoin
• très utilisé et très répandu sur tous les équipements • Le protocole ICMP (Internet control message Protocol) permet d’envoyer des messages de
• s'adapte automatiquement (panne, ajout de réseau, …) contrôle, de diagnostique ou d’erreur vers d’autres machines ou passerelles.
• Désavantages • ICMP rapporte les messages d’erreur à l’émetteur initial.
• la distance ne tient pas compte de la charge, du débit, du coût des lignes, …
• • utilisé par des utilitaires (ping, traceroute, Network Time Protocol)
distance maximale = 15
• trafic important (toutes les 30s) + temps de convergence • permet de pallier au manque de service d'IP
• pas d'authentification des messages (attaques de routeurs en générant des "faux" messages RIP)
• Beaucoup d’erreurs sont causées par l’émetteur, mais d’autres sont dues à des problèmes
• Conclusion d’interconnexions rencontrées sur l’Internet :
• utiliser RIP sur un petit réseau que l'on contrôle est très efficace mais pas adapté aux grands domaines
– Machine destination déconnectée.
• RIPv2
• – Durée de vie du datagramme expirée.
Remédie à certains inconvénients de RIPv1 en restant compatible (et en utilisant les champs 0x0)
• permet le routage des sous-réseaux (véhicule le netmask dans le vecteur de distance) – Congestion de passerelles intermédiaires.
• possibilité d'authentification (cryptée ou non) des messages • Format des messages ICMP

37 38

Le protocole ICMP
Le protocole ICMP
Signification des messages ICMP:
TYPE 8 bits; type de message 0 et 8 Echo Reply / Echo Request : Demande et réponse écho: utilisé par la commande ping
et traceroute pour déterminer si une machine est opérationnel, et également pour déterminer
CODE 8 bits; informations complémentaires la validité du chemin emprunté.
CHECKSUM 16 bits; champ de contrôle 3 Destination Unreachable : Message d’erreur émis par un routeur si une destination est
HEAD-DATA en-tête datagramme + 64 premiers bits des inaccessible.
données. 4 Source Quench : message émis par un routeur pour demander a une machine de diminuer
sa vitesse d’émission afin d’éviter la congestion.
TYPE Message ICMP TYPE Message ICMP 5 Redirect (change a route) : message émis en cas de détection d’un chemin plus court pour
0 Echo Reply 13 Timestamp Request atteindre une destination donnée.
3 Destination Unreachable 14 Timestamp Reply 11 Time Exceeded (TTL) : lorsqu’un paquet atteint un routeur avec un TTL=0 ce dernier le
4 Source Quench détruit et génère un message d’erreur a l’émetteur (utilisé aussi par traceroute).
15 Information Request
(obsolete) 12 Parameter Problem with a Datagram: Message d’erreur émis lorsqu’une erreur est détécté
5 Redirect (change a route)
sur l’entête d’un datagaramme et le type de cette erreur n’est pas couvert par les message
8 Echo Request 16 Information Reply ICMP.
11 Time Exceeded (TTL) (obsolète) 13 et 14 Timestamp Request / Timestamp Reply : Demande et réponse d’horodatage: utilisé
12 Parameter Problem with a 17 Address Mask Reques pour la synchronisation entre les horloges des machines sur le réseau.
Datagram 18 Address Mask Reply 15 et 16 Information Request / Information Reply (obsolète)
39 17 et 18 Address Mask Request / Address Mask Reply : demande et réponse pour l’obtention40
du masque de sous réseau.
ICMP Echo Request (ping)
Ping: - ICMP Echo Request
- Echo Reply

41 42

ICMP Echo Reply (ping)

Le protocole UDP
(RFC 768)
User Datagram Protocol

43 44
Le protocole UDP Le protocole UDP : Notion de ports
• UDP : protocole de transport sans connexion pour les applications : • Identification du service : les ports
– Protocole de transport le plus simple – Les adresses IP désignent les machines entre lesquelles les communications sont
– Émission de messages applicatifs : sans établissement de connexion au préalable (chaque établies. Lorsqu'un processus désire entrer en communication avec un autre
message UDP est traité indépendamment des autres). . processus, il doit s’adresser au processus s'exécutant sur cette machine.
– L'arrivée des messages ainsi que l’ordonnancement ne sont pas garantis (elle sont à la – L'adressage de ce processus est effectué selon un concept abstrait indépendant du
charge de l’application). (les messages UDP peuvent être perdus ou arrivés dans le système d'exploitation des machines: les ports
désordre) • Les ports
• Pourquoi un service non fiable sans connexion ? – Se sont des destinations abstraites permettant d'adresser
– simple donc rapide (pas de délai de connexion, pas d'état entre émetteur/récepteur) un service applicatif qu’on appelle ports de protocole.
– petit en-tête donc économie de bande passante – L'émission d'un message se fait sur la base d'un port
– sans contrôle de congestion donc UDP peut émettre aussi rapidement qu'il le souhaite source et un port destinataire.
– Les processus disposent d'une interface système leur
• Souvent utilisé pour les applications qui envoient peu de données et qui ne nécessitent pas
permettant de s’attacher à un port particulier (socket)
un service fiable
– Les accès aux ports sont généralement synchrones,
– exemples : DNS, SNMP, BOOTP/DHCP les opérations sur les ports sont tamponnés (files d'attente).
• Autres utilisations d'UDP : applications multimédias
– tolérantes aux pertes
45 46
– sensibles au débit

Les protocoles UDP et TCP : Multiplexage


• UDP : multiplexe et démultiplexe les datagrammes en sélectionnant les numéros de ports
• TCP : multiplexe et démultiplexe les connexions TCP en sélectionnant les numéros de
ports

telnet, port 23 telnet, port 23

Client: Web, port 80


• Port Destination = 23 (telnet)
multiplexage IP démultiplexage Web, port 80

• Port Source = 1028 (assigné dynamiquement)


mail, port 25 mail, port 25
Serveur:
• Port Destination = 1028 (port source du client)
• Port Source = 23 (telnet) 47 48
Le protocole UDP : les ports standards
• Certains ports sont réservés (well-kown port assignements) :
No port Mot-clé Description
7 ECHO Echo
11 USERS Active Users
13 DAYTIME Daytime
TCP : Transmission Control Protocol
37
42
TIME
NAMESERVER
Time
Host Name Server
(RFC 793, 1122, 1323, 2018, 2581)
53 DOMAIN Domain Name Server
67 BOOTPS Boot protocol server
68 BOOTPC Boot protocol client
69 TFTP Trivial File transfert protocol
123 NTP Network Time Protocol
161 SNMP Simple Network Management prot.

• D'autres numéros de port (non réservés) peuvent être assignés dynamiquement aux
applications. 49 50

Le protocole TCP Le protocole TCP : Structure d’un segment


• C’est le protocole de transport fiable de la technologie TCP/IP: • Segment : unité de transfert du protocole TCP.
• Assure la fiabilité des échanges. – échangés pour établir les connexions.
• Connexions bidirectionnelles et simultanées entre deux adresses de transport – transférer les données.
(@IP src, port src) --> (@IP dest, port dest) – émettre des acquittements.
• Service en mode connecté – fermer les connexions.
• Garantie de non perte de messages ainsi que de l'ordonnancement
Numéro du premier 0 4 10 16 24 31
• réalise le contrôle de flux et le contrôle de congestion (à l'aide d'une fenêtre d'émission) octet du segment
Port source Port destination
Numéro du prochain
La connexion octet attendu NS Numéro de séquence
• Une connexion de type circuit virtuel est établie avant que les données ne soient Longueur en-tête en NR Numéro d’acquittement
échangées : appel + négociation + transferts. multiple de 4 octets HLEN réservé Codes Taille fenêtre réception
(HLEM * 32bits)
• Ce processus s’appelle three way handshack : prise de main en trois étape Checksum pointeur données urgentes
• Une connexion est identifiée par une paire d'extrémités de connexion Options éventuelles Bourrage
• Une extrémité de connexion = couple (adresse IP, port) Données . . .
• Exemple de connexion : ((124.32.12.1, 1034), (19.24.67.2, 21)) Checksum sur tout le
segment (cf. UDP)
• Une extrémité de connexion peut être partagée par plusieurs autres extrémités de
connexions (multi-instanciation). Les données comprises entre le premier octet Nb d'octets que le
51 DATA et la valeur du Ptr sont urgentes : TCP récepteur peut recevoir 52
• l'application lit/écrit des octets dans un tampon interrompt l'application pour forcer la lecture
Le protocole TCP : Structure d’un segment Le protocole TCP : ports standards
• Numéro de séquence : le numéro de séquence du premier octet (NSP) de ce segment.
C’est un entier généré aléatoirement au début d’une connexion TCP.
• Numéro d’acquittement : le prochain numéro de séquence NS attendu par l’émetteur
No port Mot-clé Description
de cet acquittement.
• Taille fenêtre réception: la quantité de données que l’émetteur de ce segment est
capable de recevoir; ceci est mentionné dans chaque segment (données ou 20 DATA File Transfer [Default Data]
acquittement). 21 FTP File Transfer [Control]
• Code bits : indique la nature du segment :
23 TELNET Telnet
– URG : données urgente.
– ACK : le numéro d ’acquittement est valide. 25 SMTP Simple Mail Transfer
– PSH : les données doivent être délivrées dans l’immédiat, sans attendre le reste du flux 37 TIME Time
(exemple telnet).
– RST : indique qu’il faut réinitialiser la connexion. 43 NICNAME Who Is
– SYN : segment d’initialisation de la connexion (demande do connexion). 79 FINGER Finger
– FIN : segment de fin de la connexion (demande de déconnexion ;le destinataire n'est pas
obligé de s'exécuter : fermeture négociée) 80 HTTP WWW
110 POP3 Post Office Protocol - Version 3
• Checksum : contrôle l’intégrité du segment.
53
111 SUNRPC SUN Remote Procedure Call 54

Le protocole TCP : l’établissement d’une connexion Le protocole TCP : Le Fenêtrage


• Le contrôle du flux/congestion:
• Connexion en trois phases • Condition:
émetteur récepteur – TCP constate qu’un certain nombre de segments sont perdus (c’est-à-dire non
acquités par l’autre extrémité après un time-out)
- Bit SYN=1
• Action:
-Initialisation aléatoire d’un numéro de – TCP diminue la taille de la fenêtre d’émission (divise par deux cette taille)
séquences initiale ISN – TCP continue de diminuer à chaque fois qu’il constate une perte de segments.
-Bit SYN=1
- Envoi d’un segment TCP d’initiation • Condition de reprise
-Bit ACK=1
-Initialisation aléatoire d’un numéro de
– Si après une certaine durée il n y a plus de perte de segments TCP multiplie par deux
séquences initiale la taille de la fenêtre d’émission
-Bit SYN=0
- Envoi d’un segment TCP d’acquittement
-Bit ACK=1
-Incrémenter le numéro de séquence
-Session établi

55 56

Vous aimerez peut-être aussi