Vous êtes sur la page 1sur 11

Université 8 mai 54 de Guelma 3eme ELN et TLC

Faculté de Sciences et de technologie Réseaux informatique locaux


Département ELN et TLC Chargé de cours : Mr. Mahri

Protocoles TCP/IP
I. Historique
En 1969, fut créé aux États-Unis le réseau Arpanet sous l’impulsion du DARPA (Defense
Advanced Research Projects Agency). Ce réseau avait un double objectif : permettre aux
universités, aux militaires et à certains centres de recherche d’échanger des informations et
d’expérimenter les techniques de commutation par paquets. Il permettait notamment d’étudier
comment des communications pouvaient être maintenues en cas d’attaque nucléaire. Largement
subventionnés, le réseau et la recherche sur les protocoles se sont considérablement développés.
Devant le déploiement parallèle d’autres réseaux et des réseaux locaux d’entreprise, il apparut
intéressant de pouvoir les relier entre eux, indépendamment de leurs technologies respectives
pour offrir un service de réseau global. Deux protocoles furent alors développés et prirent leur
forme définitive dans les années 77-79 : TCP, Transport Control Protocol, et IP, Internet
Protocol. Ces protocoles furent implantés sur le réseau Arpanet qui devint la base du réseau
Internet au début des années 80. La DARPA sépara d’Arpanet le réseau militaire qui prit le nom
de Milnet.
Pour favoriser l’adoption des nouveaux protocoles, la DARPA créa une société chargée de les
développer et subventionna l’université de Berkeley pour qu’elle les intègre à son système
d’exploitation Unix, lui-même distribué à bas prix aux universités. TCP, IP et l’ensemble des
protocoles et applications développés autour d’eux touchèrent ainsi rapidement 90% des
universités américaines, ce qui créa un effet d’entraînement sur l’ensemble de la communauté
scientifique. Cet ensemble de protocoles est souvent baptisé architecture TCP/IP ou modèle
TCP/IP.
II. Objectifs et hypothèses de bases d’Internet
Internet ne constitue pas un nouveau type de réseau physique. Il offre, par l’interconnexion de
multiples réseaux, un service de réseau virtuel mondial basé sur les protocoles TCP et IP. Ce
réseau virtuel repose sur un adressage global se plaçant au-dessus des différents réseaux utilisés.
Les divers réseaux sont interconnectés par des routeurs.
Lorsque des données empruntent plusieurs réseaux, la qualité de l’échange est globalement
donnée par le réseau le plus faible : il suffit qu’un seul des réseaux empruntés perde des paquets
pour que l’échange ne soit pas fiable. Internet offre donc un service non fiable de remise de
paquets en mode sans connexion.
Soulignons que la commutation par paquets permet une utilisation efficace des lignes de
transmission au sein du réseau grâce à l’aspect “ multiplexage statistique’’. Le service sans
connexion fait qu’il est possible à tout moment d’échanger des informations avec n’importe quel
ordinateur du réseau : les dialogues sont donc beaucoup plus souples et faciles que sur les réseaux
téléphoniques ou Transpac. La fiabilisation des dialogues, lorsqu’elle est nécessaire, est réalisée
aux niveaux des extrémités par TCP qui est un protocole de transport fiable. D’autres applications
qui n’ont pas besoin de cette fiabilité peuvent utiliser un autre protocole de transport : UDP, User
Datagram Protocol.
La grande force d’Internet est d’offrir un service de communication universel entre ordinateurs.
L’adoption généralisée des protocoles TCP/IP offre un service indépendant des constructeurs, de
L’architecture matérielle et des systèmes d’exploitation des ordinateurs. Par ailleurs, le choix
d’une architecture de protocoles en couches permet une indépendance vis-à-vis des technologies
des réseaux qu’Internet utilise.

1
Université 8 mai 54 de Guelma 3eme ELN et TLC
Faculté de Sciences et de technologie Réseaux informatique locaux
Département ELN et TLC Chargé de cours : Mr. Mahri

III. Architecture en couches


L’architecture globale d’Internet comporte quatre couches. Celle-ci est différente de la
normalisation mais se base sur la même philosophie globale :
– découpage en différents niveaux de détail, chacun assurant un service spécifique
indépendamment des autres,
– principe d’encapsulation. Le niveau le plus haut comprend les applications. Il correspond
globalement à l’ensemble des couches hautes du modèle OSI. Le niveau le plus bas comprend les
opérations à effectuer pour s’adapter aux réseaux physiques utilisés. Il correspond donc aux
protocoles des couches basses : 1 et 2 pour un réseau local ou une liaison spécialisée, 1, 2 et 3
pour un réseau grande distance. L’ensemble des opérations effectuées par les réseaux traversés
n’est pas pris en compte dans le modèle. Le protocole IP a pour rôle principal le routage ou
l’acheminement des données à travers l’interconnexion. TCP et UDP sont des protocoles de
transport, ils se situent au niveau intermédiaire entre IP et les applications. Ils ont pour objectif
d’offrir aux applications la qualité de service dont elles ont besoin.

IV. Famille de protocoles :

V. Applications basées sur TCP/IP :

2
Université 8 mai 54 de Guelma 3eme ELN et TLC
Faculté de Sciences et de technologie Réseaux informatique locaux
Département ELN et TLC Chargé de cours : Mr. Mahri

Partie 1 : Protocole IP
I. Définition :
Le protocole IP assure un service non fiable sans connexion de remise des données. Il comprend
la définition du plan d’adressage, la structure des informations transférées (le datagramme IP) et
les règles de routage. L’envoi de messages d’erreur est prévu en cas de destruction de
datagrammes, de problèmes d’acheminement ou de remise.
Les datagrammes sont constitués d’un en-tête et d’un champ de données ; ils sont indépendants
les uns des autres et sont acheminés à travers l’Internet, en fonction des adresses IP publiques
(origine et destination) que contient l’en-tête. Les différents routeurs assurent le choix d’un
chemin à travers les réseaux ; ils fragmentent, si nécessaire, les datagrammes lorsqu’un réseau
traversé n’accepte que des messages de plus petite taille. Une fois le datagramme morcelé, les
fragments sont acheminés comme autant de datagrammes indépendants jusqu’à leur destination
finale où ils doivent être réassemblés. L’entête de ces différents fragments contient alors les
indications nécessaires pour reconstituer le datagramme initial.
Pour trouver un chemin jusqu’au destinataire, les routeurs s’échangent, dans des messages
spéciaux, des informations de routage concernant l’état des différents réseaux. Ces informations
sont véhiculées par IP dans le champ de données d’un datagramme. Elles sont régulièrement
mises à jour dans les tables de routage et indiquent, pour chaque identifiant de réseau, si les
machines situées dans le réseau sont accessibles directement ou non. Le routage est direct si les
machines appartiennent au même réseau, sinon il est indirect. Lorsque le routage est indirect, le
routeur émetteur envoie le datagramme au routeur le plus proche ; la coopération des deux
routeurs permet de bien acheminer le datagramme. Des protocoles comme GGP (Gateway to
Gateway Protocol), EGP (Exterior Gateway Protocol), RIP (Routing Information Protocol),
OSPF (Open Shortest Path Protocol) sont utilisés entre les différents types de routeurs pour
échanger et effectuer la mise à jour des informations de routage.
II. Fragmentation :
Si la liaison sortante du routeur ne supporte pas la taille maximale des paquets de données, IP
fragmente le segment mais fait parvenir au destinataire le segment original (ex: token ring 4027
octets vers ethernet 1500 octets). MTU = maximum transmission unit
Les fragments ont des longueurs multiples de 8 octets.

3
Université 8 mai 54 de Guelma 3eme ELN et TLC
Faculté de Sciences et de technologie Réseaux informatique locaux
Département ELN et TLC Chargé de cours : Mr. Mahri

Durée de vie :
Un datagramme a une durée de vie maxi pour éviter qu'il erre indéfiniment dans le réseau suite à
une erreur de routage. Ce temps de vie est décrémenté dans chaque routeur traversé. Un
datagramme dont le temps de vie arrive à zéro n'est pas réémis (le routeur envoie un message
d'erreur à l'expéditeur).
III. Format des paquets IP :
Aperçu de l’encapsulation des paquets dans les trames :

Sur un réseau Ethernet,


- l’entête MAC-LLC comporte le préambule de synchro, les adresses MAC destination et source,
le champ longueur/type
- l’enqueue MAC comporte le FCS ou CRC

III.1. format de l'entête des paquets IP (chaque ligne comporte 32bits ou 4 octets):

Version : 4 bits numéro de version, actuellement IP V4, prochainement IP V6


Longueur de l’entête : 4 bits nombre de mots de 32bits (sans les data)
Type de service : 8 bits 3 bits « priorité » + 4 bits « service » + 0
Telnet : 1000 FTP contrôle : 1000
FTP data : 0100 SNMP : 0010
Longueur totale : 16 bits longueur totale du datagram (entête et data) permet de distinguer le
bourrage dans une trame Ethernet
Identification : 16 bits permet d’identifier un datagram en cas de fragmentation
flags 3 bits 0 + DF + MF (DF=don’t fragment MF=more fragments)
Place du fragment : 13 bits indique la position du 1er octet du fragment dans le datagram
d'origine non fragmenté, en multiples de 8 octets.
Durée de vie : 8 bits décrémenté par chaque routeur traversé
Protocole : 8 bits indique le protocole de couche supérieure (RFC1700) :
1 = 01h = ICMP
6 = 06h = TCP
17 = 11h = UDP
Checksum : 16 bits recalculé par chaque routeur avant retransmission
Adresses : 32 bits adresse source et destination IP sur 4 octets chacune
Options : longueur variable, peut être nulle,
Bourrage : éventuel pour former un multiple de 32 bits

4
Université 8 mai 54 de Guelma 3eme ELN et TLC
Faculté de Sciences et de technologie Réseaux informatique locaux
Département ELN et TLC Chargé de cours : Mr. Mahri

ICMP : Internet Control and error Message Protocol ( RFC 792 )


Ces paquets servent à transmettre des messages d’erreur et de contrôle entre machines et routeurs.
ICMP ne fait que rendre compte des erreurs, sans les corriger.
Bien que les paquets ICMP soient encapsulés dans des paquets IP, c’est un protocole de niveau 3
et non 4. La commande PING utilise les paquets ICMP echo et reply.

IV. Adresse IP
La classe d’une adresse IP peut être déterminée à partir des bits de poids fort. Les adresses de
classe A affectent 7 bits à l’identité de réseau et 24 bits à l’identité de machine.
Les adresses de classe B affectent 14 bits à l’identité de réseau et 16 bits à l’identité de machine.
Enfin,
les adresses de classe C allouent 21bits à l’identité de réseau et 8 bits à l’identité de machine. Les
adresses de classe D sont réservées pour mettre en oeuvre le mécanisme de diffusion de groupe.

Les très grands réseaux ont des adresses de classe A. Une adresse de classe A comporte 8
bits d’identifiant de réseau dont le premier bit est à 0. Les 7 autres bits servent à identifier 126
réseaux différents. Chaque réseau de classe A possède 24 bits d’identifiant de machine, ce qui
permet d’adresser 224 – 2, soit 16 777 214 machines (les deux identifiants 0 et 16 777 215 sont,
par convention, réservés à un autre usage). Les réseaux de taille moyenne ont des adresses de
classe B, commençant en binaire par 10 et affectant 14 bits à l’identifiant de réseau. Il reste 16
bits pour identifier les machines, soit au maximum 65 534 (pour la même raison que
précédemment, les identifiants 0 et 65 535 ne sont pas attribués à une machine). Enfin, pour les
petits réseaux, les adresses de classe C commencent en binaire par 110 et allouent 21 bits à
l’identifiant de réseau, 8 bits à l’identifiant de machine. On peut ainsi adresser jusqu’à 254
machine (les identifiants 0 et 255 ne sont pas utilisés). Les adresses de classe D, commençant en
binaire par 1110, sont réservées à la mise en oeuvre d’un mécanisme de diffusion de groupe.

L’adresse IP sur 32 bits peut être vue comme une suite de quatre octets. Elle est écrite
pour l’être humain en représentation dite décimale pointée : quatre octets écrits en décimal et
séparés par un point. Ainsi 10001001 11000010 110000000 00010101 s’écrit 137.194.192.21. Il
s’agit en l’occurrence d’une adresse de classe B.

5
Université 8 mai 54 de Guelma 3eme ELN et TLC
Faculté de Sciences et de technologie Réseaux informatique locaux
Département ELN et TLC Chargé de cours : Mr. Mahri

IV.1 Masque de sous-réseau :


Le masque de sous-réseau sert à indiquer quelle est la partie "réseau" et la partie "machine" dans
l'adresse IP. Pour écrire le masque, tous les bits 'réseau' sont mis à 1 et tous les bits 'host' sont mis
à 0.
masques par défaut :
- classe A : 255.0.0.0
- classe B : 255.255.0.0
- classe C : 255.255.255.0

Sous-réseaux :
Une grande entreprise reçoit l'adresse 190.120.0.0 (classe B). Elle ne met pas 65000 machines sur
un seul réseau Ethernet. On crée des sous-réseaux.

Cas simple :
On prend le 3e octet pour désigner le sous-réseau mais si on n'a pas 254 sous-réseaux, des
adresses sont gaspillées le masque de sous-réseau est :

Cas plus évolué :


On ne prend que 3 bits pour désigner le sous-réseau
8 valeurs possibles : 000, 001, 010, 011, 100, 101, 110, 111
On ne prend pas les valeurs 000 ni 111, il reste 6 possibilités de sous-réseaux
Le masque de sous-réseau est :

6
Université 8 mai 54 de Guelma 3eme ELN et TLC
Faculté de Sciences et de technologie Réseaux informatique locaux
Département ELN et TLC Chargé de cours : Mr. Mahri

Passerelle par défaut :


Les paquets envoyés d'un host vers un host d'un sous-réseau différent sont transmis par les
routeurs. Les routeurs trouvent le meilleur chemin (le plus court, ou le plus rapide, ou le moins
cher). Le host qui émet doit seulement connaître le 1er routeur qui permet de "sortir" de son sous-
réseau : c'est la passerelle par défaut.
Service DNS :
L’utilisateur humain préfère désigner une machine par un nom plutôt qu ’une adresse IP.
Il est plus facile de retenir http://linux1 que http://192.168.12.2
Le service DNS convertit les noms en adresses IP pour le système.
Dans la configuration d’un host, on indique l’adresse IP du serveur DNS.
Serveur DHCP :
si on ne veut pas configurer manuellement les adresses IP des postes, on peut faire appel à
un serveur DHCP. Il contient une liste d'adresses disponibles qu'il distribue automatiquement.
Au démarrage du poste, celui-ci demande une adresse au DHCP. Il la conserve pendant une
durée déterminée (durée de bail). Le serveur DHCP peut aussi fournir au poste d'autres
paramètres (passerelle par défaut, adresse du DNS, etc...).
V. Le routage
Le but d’un protocole de routage est très simple : fournir l’information nécessaire pour effectuer
un routage, c’est-à-dire la détermination d’un chemin à travers le réseau entre une machine
émettrice et une machines réceptrices, toutes deux identifiées par leur adresse. Les protocoles de
routages établissent des règles d’échange des messages d'état entre routeurs pour mettre à jours
leurs tables selon des critères de coût comme, par exemple, la distance, l'état de la liaison, le
débit, et ainsi améliorer l'efficacité du routage.
Le réseau Internet est organisé comme une collection de « systèmes autonomes», chacun d’entre
eux étant en général administré par une seule entité. Un système autonome, ou SA, est constitué
d'un ensemble de réseaux interconnectés partageant la même stratégie de routage , plus
précisément tous routeurs internes à ce système obéissent à un même protocole de routage , régi
par une autorité administrative (un département responsable spécifique comme un fournisseur
d'accès ou toute autre organisation).
Le protocole de routage utilisé à l’intérieur d’un système autonome est référencé en tant que
protocole interne à des passerelles, ou IGP. Un protocole séparé, appelé EGP (protocole externe à
des passerelles, est utilisé pour transférer des informations de routage entre les différents
systèmes autonomes.
V.1. RIP
RIP (Routing Information Protocol) a été conçu pour fonctionner en tant qu’IGP dans des
systèmes autonomes de taille modérée. RIP utilise un algorithme d’une classe connue sous le
nom d’«algorithmes à vecteurs de distance», il recherche le plus court chemin au sens d’un
critère de coût où seul le nombre de routeurs traversés intervient, un coût unitaire étant associé à
la traversée de chaque réseau.

7
Université 8 mai 54 de Guelma 3eme ELN et TLC
Faculté de Sciences et de technologie Réseaux informatique locaux
Département ELN et TLC Chargé de cours : Mr. Mahri

Le protocole est limité aux réseaux dont le plus long chemin (le diamètre du réseau)
implique 15 routeurs maximum. Il est mal adapté au traitement de boucles dans les chemins et
utilise des « métriques » fixes pour comparer les routes alternatives. Cela n’est pas toujours
approprié pour les situations où les routes doivent être choisies en fonction de paramètres temps
réel comme un délai, une fiabilité ou une charge mesurés.
Partie 2 : Protocoles UDP et TCP
I. Encapsulation :

On donne ci-dessous un exemple d’encapsulation pour un reseau dont la couche physique est du
type Ethernet.

La couche réseau ou couche IP gère la circulation des paquets a travers le réseau la couche transport
assure une communication de bout en bout en régulant le flux de données et en assurant un
transport fiable des données.
le protocole TCP (Transmission Control Protocol) assure un transport fiable des données.
l’UDP ne garantit pas cette fiabilité (User Datagram Protocol) c’est la couche application qui doit
s’en assurer.

8
Université 8 mai 54 de Guelma 3eme ELN et TLC
Faculté de Sciences et de technologie Réseaux informatique locaux
Département ELN et TLC Chargé de cours : Mr. Mahri

La couche application est celle des programmes utilisateurs (ftp (File Transfert Protocol),
SMTP(simple mail transfert protocol), http)
Lorsqu’une application envoie des données a l’aide de TCP-IP les données traversent de haut en bas
chaque couche jusqu’a aboutir au support physique ou elles sont emises sous formes d’une suite de
bits.

II. UDP ( user datagram protocol ) :


Protocole de couche 4 (transport), il utilise des datagrams, comme IP. Service sans connexion,
qui ne garantit pas que les données arrivent à destination. UDP n'a pas d'acquittement, n'assure
pas que les données sont dans l'ordre et non dupliquées. C'est la couche supérieure qui doit s'en
charger. Par contre, UDP effectue un contrôle d'erreur (checksum).
Applications qui utilisent UDP : RIP, DNS, TFTP, SNMP, IP tunnel, PC-NFS.
II.1. Format de l'entête de paquet UDP : Chaque ligne comporte 32bits ou 4 octets

III. TCP ( transport control protocol ) :


TCP établit et libère les connexions dont les applications ont besoin. Une application peut établir
plusieurs connexions et plusieurs applications peuvent utiliser en même temps TCP.
Quand un client sur un Host demande l'établissement d'une connexion à une application serveur
sur un autre Host, cette connexion TCP est référencée de chaque côté par une adresse IP et un
numéro de port (comparer le n° de port au n° de quai d'une gare).
Sur le serveur, le N° de port est fixé par l'application :
FTP (data) 20 tcp
FTP (control) 21 tcp
TELNET 23 tcp
TFTP(UDP) 69 udp
HTTP 80 tcp
SMTP 25 tcp
POP3 110 tcp
Sur le client, le port quelconque est décidé à la connexion (>1023).
Une connexion est identifiée par un socket (= adr. IP + n° de port).

9
Université 8 mai 54 de Guelma 3eme ELN et TLC
Faculté de Sciences et de technologie Réseaux informatique locaux
Département ELN et TLC Chargé de cours : Mr. Mahri

III.1. Segmentation :
TCP segmente les données venant de l'application (la taille des segments est négociée à la
connexion), y ajoute une entête gérant des compteurs en émission et réception. Le client et le
serveur possèdent 2 mémoires tampon où ils stockent les segments à émettre et les segments
reçus. Les compteurs SEQ et ACK indiquent les adresses des emplacements où sont stockés ces
segments. Chacun peut envoyer des segments en anticipation (avant que le précédent ne soit
acquitté), ce qui augmente le débit utile. Le destinataire contrôle le flux en indiquant la taille des
tampons libres (fenêtre).
A la réception, TCP contrôle l'absence d'erreur, vérifie qu'il n'y a pas de données perdues, sinon
demande la retransmission du seul segment perdu. TCP remet dans l'ordre les segments et délivre
les données originales à l'application.
III.2. Format de l'entête de paquet TCP : Chaque ligne comporte 32bits ou 4 octets

n° de séquence : 32 bits indique le N° du 1er octet transmis dans le segment


n° d’acquittement : 32 bits indique le N° du prochain octet attendu par l'émetteur de ce message
offset (déplacement) : 4 bits taille en mots de 32 bits (ou groupe de 4 octets) de l'entête
Contrôles : 6 bits URG : la valeur du champ "pointeur message urgent" est significative
ACK : la valeur du champ "acquittement" peut être prise en compte
PSH : le données doivent être immédiatement transmises à la couche supérieure
RST : fermeture de la connexion à cause d'une erreur irrécupérable
SYN : ouverture de la connexion
FIN : fin de connexion (plus de data à émettre)
Fenêtre : 16 bits nombre d'octets que le récepteur peut accepter
Pointeur de message urgent : 16 bits indique les octets qui doivent être traités en priorité

10
Université 8 mai 54 de Guelma 3eme ELN et TLC
Faculté de Sciences et de technologie Réseaux informatique locaux
Département ELN et TLC Chargé de cours : Mr. Mahri

Ouverture de session TCP :

Les 3 premières étapes forment l'établissement de la communication


- chaque extrémité communique la valeur initiale (aléatoire) de son compteur SEQ à l'autre, les
compteurs sont synchronisés après cette phase
- seul le 1er paquet a le bit ACK à zéro, un firewall peut interdire les ouvertures de session TCP
en filtrant les paquets dont le bit ACK=0

Libération d'une connexion TCP :

Le paquet avec le bit FIN à 1 indique une demande de déconnexion


- l'extrémité qui reçoit une demande de déconnexion l'acquitte tout de suite, et puis émet à son
tour une demande de déconnexion

11