Vous êtes sur la page 1sur 27

Chapitre 4

Le Modèle TCP/IP

1-1
1 Présentation du Modèle TCP/IP et comparaison avec OSI
Le modèle TCP/IP est né en 1973 grâce aux travaux de recherches des Ingénieurs
Chercheurs (à l’époque) Robert Elliot Kahn (Bob Kahn) et Vinton Gray Cerf (Vint
Cerf), considérés tous les deux comme les pères d’Internet. Le modèle propose
une suite de protocoles permettant d’interconnecter des réseaux hétérogènes.
Comme tout modèle de réseau, TCP/IP est définit sur une architecture de type
couches. Il en propose 4. Dans certaines représentations, on en trouve 5. Chacune
devra répondre à un certain nombre de besoins liés à la transmission des données
à travers le réseau. Ce modèle ne se préoccupe pas du contenu (message à
transmettre), il se contente de remplir des fonctions qui facilitent les
communications, le partage et la diffusion de ce contenu. Comparé au modèle
OSI, cela donne :

Rappelons ici que le modèle TCP/IP est né avant le modèle OSI. Le premier est une
réelle « Implémentation », le second n’est qu’une représentation «Fonctionnelle»
théorique.

1-2
Les unités d’informations prennent des noms et des formes différentes d’une
couche à une autre.

1.1 Application Layer


Cette couche regroupe l’ensemble des protocoles sur lesquels s’appuient les
applications (niveau utilisateur) pour accéder aux services réseaux. Elle s’exécute
sur les machines hôtes. Parmi ces protocoles nous citons :
• SMTP: Simple Mail Transfer Protocol
• SSH: Secure Shell
• FTP: File Transfer Protocol
• SFTP: Secure File Transfer protocol
• SCP: Secure Copy Protocol
• DHCP: Dynamic Host Configuration protocol
• HTTP: Hyper Text Transfer Protocol
• POP: Post Office Protocol
• IMAP: Internet Message Access Protocol

1.2 Transport Layer (TCP)


Cette couche, parfois appelée également couche hôte à hôte, doit assurer le
dialogue entre les hôtes terminaux d’une communication et plus précisément
entre deux processus (ou programmes) au niveau des deux interlocuteurs. Pour
en faire, elle propose deux modes : TCP et UDP.
Dans le premier mode, nommé TCP pour Transport Control Protocol, la
communication est dite fiable. C’est un protocole orienté-connexion. La

1-3
communication est faite entre des processus (applications) s’exécutant au niveau
de la source et de la destination. Ceci ressemble à une liaison fictive entre les
deux bouts.

Les unités logiques d'informations véhiculées par cette couche sont appelées
segments. Le contrôle de la fiabilité s’appuie sur les messages d’acquittement
(ACKnowlodge) envoyés par le récepteur à la destination de l’Émetteur pour lui
rassurer que les données envoyées ont été correctement reçue.

Lorsque l’émetteur (source) envoie un segment de données, trois situations


peuvent surgir :
- soit les données arrivent correctement à leur destinataire, qui va répondre par
un message d’acquittement.
- soit les données arrivent endommagées à leur destinataire.
- soit les données n'arrivent jamais à destination.
Pour que l’émetteur puisse réagir à ces différentes situations, il doit d’abord
stocker le segment à envoyer dans un Buffer. En cas d’acquittement positif (si le
contrôle du CheckSum est satisfaisant alors le segment sera annoncé
correctement reçu), le Buffer sera libéré et il peut de nouveau envoyé un autre
segment. En cas d’absence d’acquittement après un certain temps, géré par une

1-4
temporisation que l’émetteur lance après chaque envoie, le segment sera
considéré comme perdu et l’émetteur va renvoyé le même segment à partir de la
copie qu’il a dans son Buffer.

Avant toute transmission de données (messages utiles), une connexion TCP doit
être établie entre l’émetteur et le récepteur. Elle s’effectue de la façon suivante :
• L’émetteur qui va initier la connexion envoie un segment de type
"ouverture de connexion" avec le n° de séquence N (dans ce segment ne
figure aucune donnée).
• Le destinataire renvoie un segment de type "ouverture de connexion" avec
le n° de séquence M et en acquittant la séquence N envoyée par
l’émetteur.
• L’émetteur renvoie un acquittement au destinataire du segment n° M, de
cette façon chaque machine connaît le n° de séquence de l'autre et
l'échange d'information peut débuter.
Exemple de connexion TCP:

1-5
Un segment TCP obéit à une structure. La même structure est utilisée quelques soit
son usage dans une communication TCP (établissement de connexion, transfert de
données, émission des acquittements, fermeture de connexions). Ce segment est
constitué d’un en-tête TCP et de données.

• Port Source (16 bits): Port relatif à l'application (processus émetteur) en cours sur
la machine source
• Port Destination (16 bits): Port relatif à l'application (processus destinataire) en
cours sur la machine de destination (ex. : HTTP = 80)
• Numéro d'ordre (32 bits): Lorsque le drapeau SYN (Synchronisation) est à 0, le
numéro d'ordre est celui du premier mot du segment en cours. Si le drapeau SYN
vaut 1, ce champ définit le numéro de séquence initial (ISN).

1-6
• Numéro d'accusé de réception (32 bits): Le numéro d'accusé de réception
(numéro d'acquittement) correspond au numéro (d'ordre) du prochain segment
attendu.
• Décalage des données (4 bits): cette valeur définit la position du début de
données dans le paquet. Le décalage est ici essentiel car le champ d'options est de
taille variable.
• Réservé (6 bits): Champ inutilisé actuellement mais prévu pour l'avenir
• Drapeaux (flags) (6x1 bit): Les drapeaux représentent des informations
supplémentaires :
• URG: si ce drapeau est à 1 le paquet doit être traité de façon urgente.
• ACK: si ce drapeau est à 1 le paquet est un accusé de réception.
• PSH (PUSH): si ce drapeau est à 1, le paquet fonctionne suivant la méthode
PUSH.
• RST: si ce drapeau est à 1, la connexion est réinitialisée.
• SYN: Le Flag TCP SYN indique une demande d'établissement de connexion.
• FIN: si ce drapeau est à 1 la connexion s'interrompt.
• Fenêtre (16 bits): Taille de la fenêtre, c'est à dire le nombre d'octets disponibles
(libres) dans le buffer du récepteur, à partir du numéro d'acquittement.
• Somme de contrôle (Checksum): La somme de contrôle est réalisée en faisant la
somme des champs de données de l'en-tête, afin de pouvoir vérifier l'intégrité de
l'en-tête.
• Pointeur d'urgence (16 bits): Indique le numéro d'ordre (position) à partir duquel
l'information devient urgente et passe devant la file d’attente du récepteur de ce
segment.
• Options (Taille variable): Des options diverses
• Remplissage (ou bourrage): On remplit l'espace restant après les options avec
des zéros pour avoir une longueur multiple de 32 bits.

Dans une communication TCP, le couple @IP:port_TCP est utilisé pour identifier avec
précision le type d’application (ou protocole) qui va traiter les données au niveau du
destinataire. Ce couple est nommé : Socket (ou prise en français). Pour une session
de communication donnée, la source et la destination possèdent chacun son propre
Socket. Un canal logique de transmission est établie entre la source et la destination.

1-7
Source Destination
Canal logique de transmission
Socket Socket

Voici quelques associations N° de port – protocoles :

Dans une communication TCP, les deux interlocuteurs ne sont pas toujours
techniquement identiques. Le récepteur par exemple peut ne pas avoir les mêmes
capacités de traitement des données en terme de rapidité. Dans ce cas, l’émetteur ne
pourra pas continuer à lui envoyer les segments que s’il (le récepteur) arrive à les
traiter à temps. Le protocole doit assurer le maintient de cette communication
(connexion).
Pour y arriver, il procède à un contrôle de flux de données, selon le schéma
suivant :
• le récepteur utilise un Buffer (Mémoire temporaire ou Tampon) dans lequel il
stocke les segments reçus.
• Ce Buffer_Récepteur possède une capacité de stockage (taille) limite.
• Il ne peut recevoir d’autres données que s’il a encore de la place libre. C'est la
taille de cette place qui détermine la quantité de données que le récepteur
peut encore recevoir. Il doit informer alors l’émetteur de la taille de la place

1-8
libre. Cette information est transmise à chaque segment d’acquittement.
C’est le champ « fenêtre » dans l’en-tête TCP . Dans ce cas, un émetteur
n’enverra jamais un segment dépassant cet espace libre du Buffer. Cette
« place libre » est appelée : « fenêtre glissante ». C’est une fenêtre dont la
taille est fixée par le récepteur à chaque émission d'acquittement.
• Dès qu’il n’y a plus de place libre, il arrêtera de recevoir des données
(segments) jusqu’à ce qu’il libère de nouveau des places (octets).

Le protocole TCP est implémenté sous forme logicielle. Il représente ainsi une
interface avec les processus utilisateur ou applicatifs et un protocole de niveau
inférieur du type Internet Protocol. L'interface avec les applicatifs est composée
d’un ensemble de commandes. On trouvera des commandes pour établir et
rompre une communication et pour envoyer ou recevoir des données sur une
connexion ouverte.

Dans le second mode, nommé UDP pour User Datagram Protocol, la


communication n’a pas la garantie d’être fiable. Il est souvent utilisé dans des
environnements de communication à faible bruit et/où la fiabilité n’est pas une
première priorité. Les applications multimédia en temps réel est l’un des
domaines d’utilisation de l’UDP. Il offre ainsi un débit bien meilleur que celui

1-9
offert par le mode TCP, où la gestion de la fiabilité réduit (relativement) le débit
de transmission du message utile. C’est un protocole non-connecté et non-fiable.

Un paquet UDP, appelé Datagramme Utilisateur (User Datagram), a le format


suivant :

0 16 31

Port Source Port Destination

Longueur Checksum

Données

L’en-tête est composée de 4 champs, chacun ayant une taille de 2 Octets.


• Port Source et Source Destination
• Longueur du paquet UDP (en-tête + données).
• Checksum : Valeur de vérification de l’intégrité des données contenues
dans le paquet, qui est optionnelle.

Exemple :
Soit l’en-tête ayant la valeur hexadécimale CB84000D001C001C. En se basant sur
le format, on peut déduire les valeurs des différents champs, à savoir :
Port Source = CB84 => 52100 en décimal
Destination Source = 000D => 13 en décimal (protocole : DayTime)
Longueur = 001C => 28 Octets en décimal
CheckSum = 001C => 28 en décimal

1.3 Internet Layer (IP)


Cette couche sert à déterminer les meilleurs chemins à travers les réseaux en
fonction des adresses IP (IPv4 ou IPv6). Elle est responsable de l'adressage
logique du réseau, de l'acheminement de l'information d'un nœud du réseau à un
autre. La couche IP de l’émetteur ne rentre pas en dialogue direct avec celle du
destinataire. Il n’y a aucune connexion entre les deux couches. Chaque
datagramme est géré indépendamment des autres.

1 - 10
Les unités logiques d'informations véhiculées par cette couche sont appelées des
datagrammes. Elles respectent le format suivant :

1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Version IHL Type de service Longueur Totale

Identification Drapeaux Décalage du Fragment (Offset)

Durée de Vie (TTL) Protocole Somme de contrôle de l’en-tête

Adresse IP Source

Adresse IP Destination

Options IP Bourrage

Données

• Version. Il indique le numéro de version du protocole utilisé (sur 4 bits) : 4 pour


IPv4 et 6 pour IPv6. Tout logiciel IP est tenu de vérifier ce champ afin de vérifier
que son format correspond à ce qu'il attend.
• IHL (Taille de l’en-tête IP) : Ce champ codé sur 4 bits indique la longueur de l'en-
tête IP en mots de 32 bits. La valeur minimale est de 5 mots (20 octets, pour un
datagramme sans options).
• Type de Service : Ce champ codé sur 8 bits indique comment un datagramme IP
doit être traité. Il se décompose dans sa première version en cinq parties :

0 1 2 3 4 5 6 7

Priorité D T R Inutilisé

◦ 3 premiers bits: précisent le niveau de priorité


◦ 4ème bit D : délai
◦ 5ème bit T : débit
◦ 6ème bit R : fiabilité

1 - 11
◦ 2 derniers bits : réservés pour une utilisation future.
Notons que la structure du champ « Type de Service » a vu d’autres modifications.
• Taille Totale. Ce champ donne la longueur complète du datagramme : en-tête et
données. Au maximum, un datagramme fera 216, soit 65535 octets.

• ID [Identification]. Ce champ de 16 bits est un identificateur de fragment du


datagramme en cas de fragmentation.

• Drapeaux [Flags]. Codé sur 3 bits, en partant de la gauche on trouve un bit


réservé à 0, puis le bit DF [Don't Fragment] qui s'il est à 1 interdit la fragmentation
et enfin le bit MF [More Fragment] qui s'il est à 1 fait partie d'un fragment et
sinon qu'il est le dernier fragment d'un datagramme (ou le seul).

• Position du Fragment. Ce champ de 13 bits indique, par multiple de blocs de 8


octets, la position des données dans un datagramme fragmenté relative au
premier datagramme. La fragmentation peut se faire au niveau des routeurs.

• TTL [Time To Live]. C’est un paramètre qui est décrémenté à chaque passage par
un routeur. Initialement, il contient une valeur, codée sur 8 bits, exprimant la
durée de vie du datagramme. S'il parvient à la valeur 0, le datagramme est détruit,
ce qui évite les boucles infinies dans l'Internet. Un datagramme ICMP de
type « Temps dépassé » est réémis vers la source pour l'informer de cette
destruction.

• Protocole. Ce champ de 8 bits permet d'identifier le protocole de haut niveau


(TCP, UDP, ICMP ...) encapsulé dans le datagramme IP.

• Somme de contrôle de l'en-tête. Cette valeur permet au récepteur de vérifier


l’intégrité du datagramme reçu.

• Adresse IP source. Adresse IPv4 sur 32 bits de l'émetteur.

• Adresse IP destination. Adresse IPv4 sur 32 bits du destinataire.

• Options. Ce champ de longueur variable peut s'étendre sur une longueur de 0 à


11 octets. Ce champ est rarement utilisé en pratique.

• Bourrage. Champ utilisé pour compléter le dernier mot du datagramme, à une


longueur de 32 bits, dans un paquet contenant des options (activées).

1 - 12
La couche IP est responsable du routage des données. Elle doit trouver le meilleur
chemin possible pour acheminer les données vers leur destination finale. Le routage
peut être statique, dans le cas par exemple d’une seule route entre deux réseaux,
comme il peut être dynamique (le cas le plus générale) où les routeurs
communiquent entre eux des informations utiles sur l’état des différentes routes.
Pour faire, elle se base sur une table nommée : Table de Routage. Le fonctionnement
est le suivant :

• rechercher une correspondance sur une adresse d'hôte


• rechercher une correspondance sur une adresse réseau
• rechercher une entrée par défaut (elle est dénotée généralement par un
identifiant réseau à 0).
Exemple d’une table de routage :

La table de routage du routeur sera :


Masque de Sous
Destination Passerelle Interface  
réseau
sortie de la passerelle vers le
192.168.10.0 255.255.255.0 192.168.10.99 192.168.10.99
sous-réseau 10
sortie de la passerelle vers le
192.168.20.0 255.255.255.0 192.168.20.99 192.168.20.99
sous-réseau 20
sortie de la passerelle vers le
192.168.30.0 255.255.255.0 192.168.30.99 192.168.30.99
sous-réseau 30

1 - 13
La couche Internet (IP) de la suite TCP/IP définit un certain nombre de protocoles.
Parmi les plus utilisés :
• ARP : Le protocole ARP (Address Resolution Protocol) permet de connaître
l'adresse physique (MAC) d'un adaptateur réseau à partir d’une adresse IP
reçue.
• RARP : Le protocole RARP (Reverse Address Resolution Protocol) permet
de connaître l'adresse IP d'un adaptateur réseau à partir d’une adresse
MAC reçue.
• ICMP : Nous avons déjà vu que le protocole IP ne gère pas les erreurs de
communication. Ces dernières sont gérées au niveau transport (TCP).
Cependant, un problème peut surgir lorsqu’un datagramme passe à travers
les routeurs. Pour que l’émetteur puisse réagir à cet événement (erreurs), il
doit être informé. C’est ici que vient le rôle du protocole ICMP (Internet
Control Message Protocol ) qui permet d’échanger les informations sur
l’état de la communication. Il possède une structure (en-tête) propre à lui
répartie sur 8 octets :
Bits 0 – 7 Bits 8-15 Bits 16-23 Bits 24-31
0 Type Code Somme de Contrôle
32 Informations de l’en-tête ICMP

Le champ « Information de l’en-tête ICMP » contient :


- L’en-tête du datagramme IP concerné par l’erreur
- les 8 premiers octets de la partie « Données » du datagramme IP concerné par
l’erreur
Cette structure est encapsulée dans la partie « Données » d’un datagramme IP.
Lorsqu’un datagramme IP encapsule un message de type ICMP, le champ « Type
de Protocole » du datagramme doit contenir la valeur 1 :
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Version = 4 IHL Type de service = 0 Longueur Totale

Identification Drapeaux Décalage du Fragment (Offset)

Durée de Vie (TTL) Protocole = 1 Somme de contrôle de l’en-tête

1 - 14
Adresse IP Source

Adresse IP Destination

Options IP Bourrage

Données = Message ICMP

Les messages ICMP appartiennent à deux principales catégories :


• Messages d’indications d’erreurs.
• Messages de requêtes.

Messages d’Erreurs Messages de Requêtes


Type Code Description Type Code Description
03 0 à 15 Destination inaccessible 08 et 00 0 Demande et Réponse « Echo »
Demande et Réponse « Heure
04 0 Extinction de la source 13 et 14 0
d’envoi »
05 0à3 Redirection 15 et 16 0 Demande et Réponse @IP
11 0 et 1 Temps dépassé Demande et Réponse Masque
17 et 18 0
12 0 et 1 Problème de Paramètre sous-réseau

En-tête ICMP des Messages d’Erreurs


Type Code Somme de Contrôle
Reste de l’en-tête
Données Message ICMP

En-tête ICMP des Messages de Requêtes (Demandes) :


Type Code Somme de Contrôle
Identificateur Numéro de Séquence
Données Message ICMP

Dans la première catégorie, les messages informent sur des erreurs survenues
soit au niveau des routeurs soit au niveau des postes hôtes lors du traitement des
datagramme IP. Le champ « Données » du message ICMP (longueur variable), qui
vient juste après le reste de l’en-tête, doit contenir des informations (En-tête IP +
8 premiers Octets du datagramme concerné) permettant de repérer le
datagramme objet de ces erreurs. Dans ces 8 octets de données, on trouvera l’en-

1 - 15
tête issue de la couche Transport qui contient le numéro de port utilisé (TCP ou
UDP) ainsi que le numéro de séquence (pour TCP). Ces deux informations vont
permettre à l’émetteur (source) d’informer la couche supérieure (TCP ou UDP) de
cette erreur.

La figure suivante schématise ce contenu à partir d’un datagramme IP reçu, à base


duquel ce récepteur va composer puis envoyer son nouveau Datagramme IP :
8 Premiers
Reste
En-tête Octets des
Données
Datagramme IP Reçu Datagramme IP Données
Datagramme
Reçu Datagramme IP
IP reçu
reçu

8 Premiers
En-tête Octets des
En-tête
Message ICMP Datagramme IP Données
ICMP
Reçu Datagramme IP
reçu

8 Premiers
Nouveau Datagramme IP En-tête Octets des
En-tête
A Envoyer (Contenant Un En-tête IP Datagramme IP Données
ICMP
Message ICMP) Reçu Datagramme IP
reçu

Dans la deuxième catégorie, les messages sont utilisés pour récupérer des
informations soit des routeurs soit des postes hôtes. Ils circulent en couple
(message Demande, message Réponse). Le champ « Données » du message, qui
vient juste après le reste de l’en-tête, doit contenir des informations
complémentaires liées au type de requête. Le couple le plus utilisé est : (la
Demande Echo, la Réponse Echo), pour tester la présence d’autres nœuds du
réseau (postes hôtes ou routeurs). La commande PING est un exemple concret de
l’utilisation de ce couple :

1 - 16
me@me-pc:~$ ping www.google.dz
PING www.google.dz (216.58.198.67) 56(84) bytes of data.
64 bytes from dub08s02-in-f3.1e100.net (216.58.198.67): icmp_seq=1 ttl=55 time=61.6 ms
64 bytes from dub08s02-in-f3.1e100.net (216.58.198.67): icmp_seq=2 ttl=55 time=89.6 ms
64 bytes from dub08s02-in-f3.1e100.net (216.58.198.67): icmp_seq=3 ttl=55 time=88.1 ms
64 bytes from dub08s02-in-f3.1e100.net (216.58.198.67): icmp_seq=4 ttl=55 time=86.4 ms
64 bytes from dub08s02-in-f3.1e100.net (216.58.198.67): icmp_seq=5 ttl=55 time=73.5 ms
^C
--- www.google.dz ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 61.566/79.837/89.643/10.771 ms

On y voit la présence des numéros de séquences des messages ICMP envoyés par
la commande PING (Couche Applicative).

1.4 Network Access Layer


Cette couche gère le flux binaire des données et identifie physiquement les
hôtes. Elle opère directement sur les supports physiques et sur les différents
standards réseaux.

2 L’encapsulation dans le modèle TCP/IP


Dans le modèle TCP/IP, les données passe par un processus d’encapsulation à
l’émission et de décapsulation à la réception. Les schémas suivant illustrent ces
deux processus.

1 - 17
Voici un exemple d’une trame Ethernet où on peut clairement voir les valeurs des
en-tête TC, IP et Ethernet.

Étude pratique d’un cas :


Voici un exemple pratique qui va nous permettre de mieux assimiler le
fonctionnement de ce modèle.

Le scénario proposé est le suivant : Un utilisateur veut ouvrir dans son navigateur
une page Web qui se trouve sur un site web (fictif dans notre exemple) ayant
comme URL: http://www.site.dz et @IPv4 : 192.168.1.102, hébergé sur un serveur
(dans cet exemple, le serveur n’est qu’une carte de développement, reliée au
LAN).

1 - 18
Sur le plan technique, ceci va se dérouler de la manière suivante :
• Au niveau de la couche Application : Le navigateur WEB va «transmettre» à
la couche « Application » un message ressemblant à ceci : « Serveur HTTP
www.site.dz, envoies-moi ta page /index.html ». C’est une sorte de
« commande » Cette dite « Requête » sera traitée par le protocole HTTP
de la couche Application de la machine hôte (utilisateur). Dans d’autres
exemples, d’autres types de requêtes (ou de messages) peuvent être
traitées par d’autres protocoles de la même couche.

1 - 19
• Au niveau de la couche Transport : La commande formulée à la couche
« Application » sera « encapsulée » par un protocole de la couche
« Transport », tel que : TCP. C’est ce protocole qui donne l’impression à la
machine hôte qu’elle est connectée directement au serveur WEB distant.
La connexion est établie entre deux ports, un de chaque coté. TCP initie
alors cette connexion, la maintient, contrôle le flux de données et réagit en
cas d’erreur de transmission (par une reprise de la transmission), et pour
terminer met fin à cette connexion.

• Au niveau de la couche Internet : L’échange des messages ne peut se faire


entre les deux « interlocuteurs » que s’ils connaissent leurs identificateurs.
Ces derniers se présentent sous forme d’Adresses IP (@IP_Source et
@IP_Destination), qui respecte un format précis. Ces informations,
indispensables à la communication, sont ajoutées au niveau de la couche
Internet. Ces messages vont passer par d’autres équipements
d’interconnexion (tels que : Switchs dans un LAN, Routeurs dans un WAN).
Dans le cas de WAN (Internet), c’est aux Routeurs d’assurer le rôle de
Relais, ça ressemble aux athlètes des 4x400m Relais où chacun, à la fin de
sa course, devra remettre à son successeur le Témoin (le message dans le
cas des réseaux informatiques), tout en évitant toute erreur qui risque de
les disqualifier de la compétition. Les routeurs se basent sur les
@IP_destinations pour choisir la bonne « Route », qui mènera au bout de
chemin vers le « bon destinataire ». L’ajout des adresses IP formera ainsi le
paquet (datagramme IP). Par la suite, l’ajout des adresses MAC formera la
trame.

1 - 20
+ N°Ports

• Les données requises par la machine hôte se trouve sur un serveur WEB. En
pratique, ce serveur n’est qu’une machine (calculateur) sur lequel, en plus
d’un système d’exploitation, est installé un logiciel de type : Serveur WEB.
Apache, développé par « The Apache Software Foundation » est l’un des
plus utilisés dans ce domaine. Ce logiciel écoute en permanence l’arrivée de
requêtes à travers les cartes réseaux de du serveur, sur des @IP et des
Ports bien précis (selon la configuration). Par défaut, le port 80 est celui
utilisé par le service WEB (HTTP). Le « Destination Socket » sera donc :
@IP_Destination:80.

• Le contenu du fichier sera interprété puis affiché par le navigateur WEB sur
la machine hôte de l’utilisateur.

1 - 21
3 Système d’Adressage :
Dans un réseau informatique, chaque objet connecté doit avoir son adaptateur
réseau par lequel la connexion est assurée. Cet adaptateur (carte réseau) doit être
facilement identifiable au sein du réseau par les autres objets connectés au même
réseau. Cette identification est réalisée de deux manières :
• Matériellement par l’adresse MAC que nous avons déjà abordé. Elle est
unique pour chaque adaptateur. Elle n’est reconnaissable que par la
couche 2 du modèle OSI (Liaison de données). Un Switch identifie les
objets connectés sur ses ports à travers leurs @MAC.
• Logiquement par l’adresse IP.
3.1 Adressage IPv4
Une adresse IP version 4 est un code numérique composé de 4 octets, séparés par
un point. Dans un réseau local, chaque adaptateur réseau connecté doit avoir sa
propre adresse.
O1.O2.O3.O4
Exemple :
192.168.0.20 : ceci est une adresse IPv4 d’un adaptateur réseau dans un LAN.

En terme de visibilité il existe deux types d’adresse IP : Publique et Privé.


Une @IP publique est une adresse visible et accessible par les Routeurs. Donc,
par tous. Une @IP privée n’est pas visible par les Routeurs. Elle ne l’est qu’à
l’intérieure du réseau auquel elle appartient (réseau local).
3.1.1 Adressage par Classes d'adresses
Avec l’apparition des premiers réseaux, les spécialistes du domaines ont réfléchi
sur la manière d’organiser ces réseaux. Ils ont pensées en premier à classifier les
réseaux en fonction de leurs adresses IPv4. L’espace IPv4 existant totalise 4 294
967 296 adresses distinctes. Un tel nombre est difficilement gérable dans un seul
réseau, les tables de routage des routeurs seront vite saturées et le réseau
atteindra rapidement sa congestion, ce qui mènera à une lenteur du trafic. La
subdivisions de cet espace est la solution qui a été proposée. En partant d’un seul
espace de plus de 4 milliards d’adresses, on définit de nouveaux sous-espaces
d’adressage adressant chacun un nombre plus au moins important d’objets. Ceci a
donné naissances à 5 classes. Chacune est reconnue par un intervalle d’adresses IP

1 - 22
et par un masque de sous-réseau distinct attribué par défaut, qui limité ainsi le
nombre d’objets adressables à l’intérieur de cet intervalle. Les premiers bits
d’adresses IP informe sur le type de classe. Le tableau suivant résume ces deux
aspects des 5 Classes :
Nombre
Premier Adresse IP Adresse IP Masque de Sous- d’objets
Classe
Octet Début Fin réseau adressab
les

16
A 0xxx xxxx 0.0.0.0 127.255.255.255 255.0.0.0
Millions

B 10xx xxxx 128.0.0.0 191.255.255.255 255.255.0.0 65536

C 110x xxxx 192.0.0.0 223.255.255.255 255.255.255.0 256

D 1110 xxxx 224.0.0.0 239.255.255.255 Réservée pour Multicast

Réservée pour une future


E 1111 xxxx 240.0.0.0 255.255.255.255
utilisation

L’attribution des adresses IP publiques (reconnues par les routeurs) à un client


internet est régie par L'Internet Assigned Numbers Authority (IANA), créé en
1988, qui est un département de l'Internet Corporation for Assigned Names and
Numbers (ICANN) (la Société pour l'attribution des noms de domaine et des
numéros sur Internet). IANA est une société américaine privée chargé de la
supervision de l'allocation globale des adresses IP, l'allocation des numéros de
systèmes autonomes et la gestion de la zone racine dans les Domain Name
System (DNS).

Classe A : Classe d@IP réservées pour les premiers et grands établissement
américains (Défense, MIT et autres). Elle ne contient que 256 Réseaux. Chacun
peut adressé plus de 16 millions d’objets (nombre pratiquement non atteignable
pour un seul réseau).
Classe B : Cette Classe définit plus de 65000 réseaux où chacun peut adressé plus
de 65000 objets.

1 - 23
Classe C : C’est l’une des classes les plus utilisée. Elle définit plus de 16 Millions
de Réseaux où chacun peut adresser jusqu’à 256 objets.
Classe D : Les adresses IP appartenant à cette classe désignent des adresses de
Multi-Cast. Elles ne sont pas routables (utilisées uniquement dans un réseau local
ou privé).
Classe E : Les adresses IP appartenant à cette classe sont restées réservés.

3.2 Segmentation des réseaux, Masque de sous réseau, sous-réseaux


La segmentation des réseaux est une opération qui consiste à découper un seul
domaine réseau en plusieurs segments ou sous-domaines. Chaque domaine
possédera son adresse réseau. Dans un segment, toutes les machines peuvent
communiquer entre elles. Ce découpage apportera certains avantages, tels que :
• l’amélioration de la sécurité par la séparation des domaines de diffusion
• l’amélioration la fluidité du réseau par la séparation des domaines de
collision
De cette segmentation sont nés les sous-réseaux qui trouvent leur utilité dans la
minimisation du phénomène de congestion que vivent souvent les réseaux
informatiques. Cette congestion qui ralentit considérablement la transmission
des données est souvent due à une surcharge fonctionnelle du réseau. Son
découpage en sous-réseaux permettra de regrouper les postes du réseau selon
des critères (fonctionnels, géographiques ou autres). Chaque sous-réseau aura un
domaine propre à lui et sera complètement isolé des autres. Le passage d’un
sous-réseau vers un autre se fera via des routeurs.
Un sous-réseau est définit par :
• Adresse IP du sous-réseau (ou réseau).
• Masque de sous-réseau
Un masque de sous-réseau doit aussi être identique pour tous les adaptateurs
réseaux connectés au même sous-réseau. C’est un code numérique exprimé sur 4
Octets, séparés par un « point ». Exemple : 255.255.255.0.
A partir d’un adresse IP d’un hôte et du masque de sous-réseau auquel il
appartient, les routeurs arrivent à trouver l’adresse IP du réseau exact.

1 - 24
Tous les PCs doivent appartenir logiquement (par adressage) au même réseau
(sous-réseau). Ils doivent avoir la même adresse réseau. Cette dernière est dans
notre exemple : 192.168.0.0. C’est en se basant sur cette adresse et le masque de
sous-réseau (255.255.255.0 dans notre cas) qu’on peut affecter des adresses IP
aux différents postes. Les adresses possibles sont définies entre 192.168.0.1 et
192.168.0.254. L’adresse 192.168.0.255 est l’adresse de diffusion générale
(BraodCasting). Elle sert à envoyer le même message à l’ensemble des postes du
réseau. Dans notre cas, le réseau appartient à la classe C, définit par son @IP :
192.168.0.0 et par son masque de sous-réseau 255.255.255.255.

Les trois premières classes, en plus des adresses publiques proposent. Cependant,
elles contiennent aussi des plages d’adresses à usage privé.
• Les adresses privées de la classe A : 10.0.0.0 à 10.255.255.255
• Les adresses privées de la classe B : 172.16.0.0 à 172.31.255.255
• Les adresses privées de la classe C : 192.168.1.0 à 192.168.255.255
Ces adresses ne sont pas routables, elles ne peuvent exister que dans des réseaux
locaux.

3.3 Système d’Adressage sans Classes (CIDR), les sur-réseaux :


Un nouveau concept normalisé en 1993 est celui de sur-réseau. Il désigne un
regroupement de plusieurs sous-réseaux en un seul sur-réseau. Il est donné par la
norme notée RFC1519 : Classless Inter-Domain Routing (CIDR). C’est le système
qui est actuellement utilisé. La naissance de cette nouvelle norme est justifiée par
la croissance remarquable de la taille des tables de routage suite à la croissance
d’Internet et par conséquent des adresses IP à router. Un autre problème du
système d’adressage par classes qui a conduit à son remplacement est le
gaspillage d’adresses IP (pourcentage assez élevé de perte d'adresses non
utilisées dans les classes). C’est un système d’adressage qui répond alors à deux
principaux objectifs : l’Économie des adresses IP et la Facilitation du Routage.

Dans cette nouvelle norme, le système d’adressage par classes a été remplacé par
un nouveau, dans lequel il n’ y a plus de Classes de Réseaux. Un Réseau est

1 - 25
désigné par une adresse IP à laquelle on associe un nombre entier désignant le
nombre de bits définissant le masque.

Avec ce système d’adressage, un nouveau concept est apparu, celui de sur-


réseau. C’est une fusion de plusieurs sous-réseaux en un seul sur-réseau. Du coté
utilité, la définition d’une seule adresse réseau à partir de plusieurs sous-réseaux,
qui sera utilisée dans les tables de routage au niveau des routeurs, évitera d’en
définir plusieurs routes (adresses), ce qui réduira considérablement la taille de ces
tables et la durée de traitement au niveau des routeurs.

Exemple de sur-réseau :
Soit une architecture réseau d’une entreprise composé des 4 sous-réseaux
suivant :

Sous-Réseau 1 :
@IP_réseau = 192.168.0.0 Masque de sous-réseau = 255.255.255.0
Sous-Réseau 2 :
@IP_réseau = 192.168.1.0 Masque de sous-réseau = 255.255.255.0
Sous-Réseau 3 :
@IP_réseau = 192.168.2.0 Masque de sous-réseau = 255.255.255.0
Sous-Réseau 4 :
@IP_réseau = 192.168.3.0 Masque de sous-réseau = 255.255.255.0

Dans chaque sous-réseau, on peut adresser jusqu’à 254 machines (pour le premier
sous réseau : de 192.168.0.1 jusqu’à 192.168.0.254, l’adresse 192.168.0.0 est
réservée au sous-réseau, et l’adresse 192.168.0.255 est réservée à la diffusion
générale). Au total, on aura au maximum 254x4=1016 machines.

1 - 26
La fusion des ces 4 domaines aboutira à un sur-réseau dont l’adresse est la plus
petite entres celles des sous-réseaux fusionnés , dans notre exemple ça sera donc :
192.168.0.0, le nouveau masque peut être déduit à partir de la représentation
binaire des adresses IP de chaque sous réseau :

192.168.0.0 soit 11000000. 10101000. 00000000.00000000


192.168.1.0 soit 11000000. 10101000. 00000001.00000000
192.168.2.0 soit 11000000. 10101000. 00000010.00000000
192.168.3.0 soit 11000000. 10101000. 00000011.00000000

Les bits communs, qui sont dans notre exemple au nombre de 22, forme le
nouveau masque de sur-réseau : 255.255.252.0. Il peut adresser jusqu’à 1022
machines, de 192.168.0.1 jusqu’à 192.168.3.254.

Du coté utilité, la définition d’une seule adresse pour le routage (192.168.0.0/22),


qui sera utilisée dans les tables de routage au niveau des routeurs, évitera d’en
utiliser 4 routes (4 adresses), ce qui réduira considérablement la taille de ces
tables et la durée de traitement au niveau des routeurs.

1 - 27

Vous aimerez peut-être aussi