Logo English Web Page
Accueil Association BSD Linux Dev Reseau Infologisme Mac OSX
tl tr
Sujet Adresse IP Date 20-12-2010
Titre Description du Protocole TCP/IP et Classes d'Adresses Réseaux Privés Section Dev Reseau
Article

Avant-propos

Description sommaire du protocole TCP/IP (Transfert Contrôle Protocole/Internet Protocole) et des Classes d‘Adresses Réseaux Privés, mais rien ne remplacera la lecture de la RFC791 et RFC793. Pour une approche de débutant avec TCP/IP, cela peut convenir aussi à un utilisateur désireux de se familiariser avec ce vocabulaire pour régler réseau et Routeur. Un étudiant découvrant IP pourra défricher le sujet, ce n‘est pas un article de fond sur TCP/IP.

Auparavant, je conseillais de lire ce livre de chez O‘Reilly :

TCP/IP - Administration de réseau
3e édition, octobre 2002
ISBN : 2-84177-221-7 - 787 pages

Les Éditions O‘Reilly France ont fermé définitivement en Mai 2008, ce livre est devenu un « Collector ». Il est possible de lire ce livre en langue anglaise sur le Web : TCP/IP Network Administration, 3rd Edition

Trouvant sur le Web la partie de l‘article qui décrit les Classes d‘Adresses Réseaux Privés, Estimant que cette représentation numérique est très explicite. De ce fait, remercions Christian Martin – documents.ref-union.org – auteur d‘une partie de ce document que j‘ai seulement étayer de la description concernant le Datagramme IP. Une présentation qui diffère peut aider à la compréhension.

Internet Protocole IP

IP (Internet Protocol) est le protocole utilisé sur le réseau mondial Internet et sur le réseau Packet-radio, après AX25. Il définit les méthodes de communication des ordinateurs reliés à ces réseaux.

Le nom de « TCP/IP » fait référence à une suite complète de protocoles de communication de données. Cet ensemble tire son nom de deux des protocoles qui le composent : Transmission Control Protocol (TCP) et le protocole Internet (IP). TCP/IP est le nom usuel pour cet ensemble de protocoles, qui est le nom utilisé partout sur la Planète. Le protocole TCP/IP est également parfois nommé Internet Protocol Suite (IPS). Ces deux appellations sont acceptables.

Les classes publiques et privées

Il existe cinq classes d‘adresses IP seules les trois premières sont utilisées pour adresser des machines.
Classe A de 0.0.0.0 à 127.255.255.255. 126 plages sont disponibles dans cette classe. La plage 10.0.0.0 est réservée pour les réseaux privés et la classe 127.0.0.0 est réservée pour les tests locaux de chaque machine :

localhost adresse loopback 127.0.0.1 – ne jamais supprimer.

Le service radioamateur dispose d‘un réseau dans cette classe : c‘est le 44.x.x.x. Le deuxième octet définit le pays, le numéro 151 pour la France, le troisième octet indique le département et le quatrième octet la station.
Classe B de 128.0.0.0 à 191.255.255.255. 16 368 plages sont disponibles dans cette classe. Les plages 172.16.0.0 à 172.31.255.255 sont réservées pour les réseaux privés.
Classe C de 192.0.0.0 à 223.255.255.255. 2 097 251 plages sont disponibles dans cette classe. La plage 192.168.0.0 est réservée pour les réseaux privés.
Les paquets des réseaux privés ne sont pas routés en dehors du réseau privé.

Pour chaque plage de chaque classe, la première adresse est l‘adresse du réseau et la dernière est réservée à la diffusion de requêtes et d‘informations à destination de toutes les machines du réseau. Pour gagner de la place, les plages peuvent être divisées en sous-réseaux.

Le masque de sous-réseau

Le masque de sous-réseau permet de définir des sous-réseaux à l‘intérieur d‘une classe.

Il est plus facile de s‘y retrouver en le décomposant en binaire : sans découpage, chaque bit du masque de sous-réseau correspondant à celui de l‘adresse réseau est à 1 et chaque bit correspondant à celui de l‘adresse machine est à 0. Un masque de sous-réseau est donc composé d‘une suite de 1 successifs puis de 0 successifs.

Si l‘on prend pour exemple une plage dans chacune des classes :
Classe A 44.151.54.7 Le premier octet donne l‘adresse du réseau : 44, les autres sont propres à chaque machine. Le masque de sous-réseau non découpé est : 255.0.0.0
Classe B 152.81.208.101 Les deux premiers octets donnent l‘adresse du réseau : 152.81, les autres sont propres à chaque machine. Le masque de sous-réseau non découpé est : 255.255.0.0
Classe C 192.151.54.7 Les trois premiers octets donnent l‘adresse du réseau : 192.151.54, le dernier est propre à chaque machine. Le masque de sous-réseau non découpé est : 255.255.255.0
Supposons maintenant que l‘on veuille découper une classe en sous-réseaux. Notre classe 44 s‘y prête très bien. Dans 44.151.54.7, le 2e octet est attribué au pays et le 3e au département. Le masque correspondant au découpage par pays serait 255.255.0.0, celui au découpage par départements 255.255.255.0.

Dans chaque sous-réseau, l‘adresse la plus basse est réservée au réseau et l‘adresse la plus haute à la diffusion générale (broadcast).

Le masque de sous-réseau sert également au système à calculer l‘adresse de broadcast du sous-réseau : le système effectue un ou exclusif sur la partie correspondant à l‘adresse machine du masque avec des 1 et l‘ajoute à l‘adresse réseau.

Exemples : Soient les adresses et masques : 44.151.54.7 – 255.240.0.0 et 192.151.54.7 – 255.255.255.240
11111111.11110000.00000000.00000000 11111111.11111111.11111111.11110000
xor 11111111.11111111.11111111 xor 11111111
00101100.00001111.11111111.11111111 11000000.10010111.00110110.00001111
   44    .    15    .    255    .    255 192    .    151    .    54    .    15   
Leurs adresses de diffusion sont donc 44.15.255.255 et 192.151.54.15.

Voici pour chaque classe les découpages possibles en sous-réseaux, avec le masque de sous-réseau en binaire, le nombre de sous-réseaux, le nombre d‘adresses disponibles dans le sous-réseau et le masque de sous-réseau exprimé en décimal.

Classe A

Masque binaire Réseaux Adresses Masque
11111111.00000000.00000000.00000000 1 16 777 214 255.0.0.0
11111111.10000000.00000000.00000000 2 8 388 606 255.128.0.0
11111111.11000000.00000000.00000000 4 4 194 302 255.192.0.0
11111111.11100000.00000000.00000000 8 2 097 150 255.224.0.0
11111111.11110000.00000000.00000000 16 1 048 574 255.240.0.0
11111111.11111000.00000000.00000000 32 524 286 255.248.0.0
11111111.11111100.00000000.00000000 64 262 142 255.252.0.0
11111111.11111110.00000000.00000000 128 131 070 255.254.0.0
11111111.11111111.00000000.00000000 256 65 534 255.255.0.0
11111111.11111111.10000000.00000000 512 32 766 255.255.128.0
11111111.11111111.11000000.00000000 1 024 16 382 255.255.192.0
11111111.11111111.11100000.00000000 2 048 8 190 255.255.224.0
11111111.11111111.11110000.00000000 4 096 4 094 255.255.240.0
11111111.11111111.11111000.00000000 8 192 2 046 255.255.248.0
11111111.11111111.11111100.00000000 16 384 1 022 255.255.252.0
11111111.11111111.11111110.00000000 32 768 510 255.255.254.0
11111111.11111111.11111111.00000000 65 536 254 255.255.255.0
11111111.11111111.11111111.10000000 131 072 126 255.255.255.128
11111111.11111111.11111111.11000000 262 144 62 255.255.255.192
11111111.11111111.11111111.11100000 524 288 30 255.255.255.224
11111111.11111111.11111111.11110000 1 048 576 14 255.255.255.240
11111111.11111111.11111111.11111000 2 097 152 6 255.255.255.248
11111111.11111111.11111111.11111100 4 194 304 2 255.255.255.252

Classe B

Masque binaire Réseaux Adresses Masque
11111111.11111111.00000000.00000000 1 65 534 255.255.0.0
11111111.11111111.10000000.00000000 2 32 766 255.255.128.0
11111111.11111111.11000000.00000000 4 16 382 255.255.192.0
11111111.11111111.11100000.00000000 8 8 190 255.255.224.0
11111111.11111111.11110000.00000000 16 4 094 255.255.240.0
11111111.11111111.11111000.00000000 32 2 046 255.255.248.0
11111111.11111111.11111100.00000000 64 1 022 255.255.252.0
11111111.11111111.11111110.00000000 128 510 255.255.254.0
11111111.11111111.11111111.00000000 256 254 255.255.255.0
11111111.11111111.11111111.10000000 512 126 255.255.255.128
11111111.11111111.11111111.11000000 1 024 62 255.255.255.192
11111111.11111111.11111111.11100000 2 048 30 255.255.255.224
11111111.11111111.11111111.11110000 4 096 14 255.255.255.240
11111111.11111111.11111111.11111000 8 192 6 255.255.255.248
11111111.11111111.11111111.11111100 16 384 2 255.255.255.252

Classe C

Masque binaire Réseaux Adresses Masque
11111111.11111111.11111111.00000000 1 254 255.255.255.0
11111111.11111111.11111111.10000000 2 126 255.255.255.128
11111111.11111111.11111111.11000000 4 62 255.255.255.192
11111111.11111111.11111111.11100000 8 30 255.255.255.224
11111111.11111111.11111111.11110000 16 14 255.255.255.240
11111111.11111111.11111111.11110000 32 6 255.255.255.248
11111111.11111111.11111111.11111100 64 2 255.255.255.252

Passerelle

Avec l‘adresse de réseau et le masque de sous-réseau, une machine peut déterminer à quelles machines elle peut envoyer ses datagrammes. Ainsi, la machine d‘adresse IP 44.151.54.7 avec le masque de sous-réseau 255.255.255.240 fait partie du réseau 44.151.54.0 contenant les machines d‘adresses 44.151.54.1 à 44.151.54.14 ; l‘adresse de diffusion pour ce sous-réseau est 44.0.0.15. Cette machine peut donc s‘adresser directement à chacune des machines de ce sous-réseau. Si par contre elle a besoin de connecter la machine 44.151.54.54, celle-ci ne faisant pas partie de son réseau, elle doit passer par l‘intermédiaire d‘une machine appelée Passerelle qui est chargée d‘envoyer la requête à la machine désirée. Il y a au moins une Passrerelle dans un réseau interconnecté, souvent un Routeur fait office de Passrerelle.

Nom de Domaine DNS

Il est extrêmement plus facile pour un être humain de mémoriser un Nom de Domaine, par exemple c-extra.com plutôt que son adresse IP allouée 193.252.173.102. Un nom unique est donc affecté à chaque machine d‘un réseau. Pour résoudre un DNS (Domain Name System), un programme tourne en permanence sur un ou plusieurs Serveurs du réseau et fait la correspondance entre le Nom de machine et leur Adresse IP, qui sont les seules comprises sur un réseau.

Paramètres système

Les paramètres TCP/IP à fournir à un système d‘exploitation réseau sont donc l‘adresse IP de la machine, son masque de sous-réseau, la ou les adresses DNS et l‘adresse de la passerelle par défaut. Lorsque la machine se connecte à un réseau via une ligne téléphonique, c‘est généralement le serveur de communications qui attribue une Adresse IP, le masque de sous-réseau, l‘adresse des DNS et de la passerelle pat défaut. Le protocole utilisé s‘appelle DHCP (Dynamic Host Control Protocol).
Adressage manuel TCP/IP pour un Serveur de Nom de Domaine – DNS
Adresse IP 192.168.1.1
Sous Réseaux 255.255.255.0
Passerelle 192.168.1.254
DNS Primaire 192.168.1.1
DNS Secondaire 80.10.246.2
DNS Tertiaire 80.10.246.129
Adressage manuel TCP/IP pour un Poste Utilisateur Client – DNS
Adresse IP 192.168.1.20
Sous Réseaux 255.255.255.0
Passerelle 192.168.1.254
DNS Primaire 80.10.246.2
DNS Secondaire 80.10.246.129
DNS Tertiaire
Pour un Intranet sur le poste Client modifier le fichier hosts en ajoutant les lignes suivantes :

#
192.168.1.1        nom-site.net www.nom-site.net ftp.nom-site.net
#
192.168.1.1        nom-site2.net www.nom-site2.net ftp.nom-site2.net
#


Pour un Serveur DNS voir BIND Système Nom Domaine - FreeBSD

Remarque : Adresse IP des Serveurs DNS primaire et secondaire de Orange.fr – 80.10.246.2 – 80.10.246.129

Encapsulation

L‘ensemble des informations de l‘en-tête et les données contenues dans un paquet IP s‘appellent un datagramme. Sa longueur maximum est de 65536 octets. Le datagramme est encapsulé dans une trame physique, Ethernet ou AX25 par exemple.
En-tête Datagramme Données
En-tête Trame Encapsulation En-tête Datagramme & Données
Encapsulation

Fragmentation

Comme les trames voyagent de machine en machine, elles peuvent subir des découpages dûs au fait que certains Routeurs sont limités en nombre d‘octets contenus dans une trame. Par exemple la limite de transfert d‘Ethernet est de 1 500 octets par trame, mais elle peut descendre à moins de 128 octets. Cette limite s‘appelle MTU (Maximum Tranfer Unit). Un datagramme peut donc être découpé en datagrammes plus petits selon le MTU du Routeur. Une fois découpé, les fragments d‘un datagramme sont transmis tels quels jusqu‘à leur destination finale. La machine destinatrice des datagrammes se charge de les réassembler pour restituer le datagramme original.

Le datagramme IP

Le datagramme IP comprend trois parties : L‘en-tête, les données et les contrôles. Il y a deux champs contrôle, un portant sur l‘en-tête, l‘autre sur les données, permettant ainsi aux Routeurs de traiter plus rapidement les datagrammes selon les données de l‘en-tête et permettant aux applications générant les données d‘avoir leur propre méthode pour générer et vérifier les contrôles pour les données.

L‘en-tête est composée de mots de 32 bits

0 4 8 12 16 20 24 28 32
Version IHL Type of Service Total Length
Identification Flags Fragment Offset
Time to Live Protocol Header Checksum
Source Address
Destination Address
Options Padding
Inception of Data zone
Exemple d‘en-tête de Datagramme Internet
Version IPV4 – Version du protocole est la version 4 qui atteint sa limite d‘adressage actuellement. Cette version cohabite avec la Version IPV6 beaucoup plus dispendieuse en terme d‘adressage. Le logiciel de traitement vérifie ce champ d‘abord et ne traite pas les datagrammes d‘une version inconnue afin de prévenir les erreurs d‘interprétation.

Internet Header Length (IHL) : Longueur de l‘en-tête en mots de 32 bits, généralement 5.

Type of Service : Type de service. Ce champ se décompose comme suit :

Type de Service 8 bits

Le Type de Service donne une indication sur la qualité de service souhaitée, qui reste cependant un paramètre « abstrait ». Ce paramètre est utilisé pour « guider » le choix de paramètres des services actuels lorsqu‘un datagramme transite dans un réseau particulier. Certains réseaux offrent un mécanisme de priorité, traitant préférentiellement un tel trafic par rapport a un trafic moins prioritaire (en général en acceptant seulement de véhiculer des paquets d‘un niveau de priorité au dessus d‘un certain seuil lors d‘une surcharge momentanée). Principalement, le choix offert est une négociation entre les trois contraintes suivantes : retard faible (Low Delay), taux faible d‘erreur (High Relibility) et haut débit (High Throughput).
Bit  0-2:  Precedence.
Bit    3:  0 = Normal Delay,      1 = Low Delay.
Bit    4:  0 = Normal Throughput, 1 = High Throughput.
Bit    5:  0 = Normal Relibility, 1 = High Relibility.
Bit  6-7:  Reserved for Future Use.
0 1 2 3 4 5 6 7
PRECEDENCE D T R 0 0
Precedence
  111 - Network Control
  110 - Internetwork Control
  101 - CRITIC/ECP
  100 - Flash Override
  011 - Flash
  010 - Immediate
  001 - Priority
  000 - Routine
Precedence, (Priorité)
Normal Delay,(Retard standard)
Low Delay, (Retard faible)
Normal Throughput, (Débit standard)
High Throughput, (Haut débit)
Normal Relibility, (Taux d‘erreur standard)
High Relibility, (Taux d‘erreur faible)
Reserved for Future Use, (Réservé pour usage futur)

Precedence : Importance du datagramme, de 0 (normal) à 7 (contrôle réseau).

D, T, R : Type de transport désiré.

D (delay) : Délai faible.
T (throughput) : Traversée rapide.
R (reliability) : Haute fiabilité.

Total length : Longueur totale en octets du datagramme IP, y compris l‘en-tête. Comme ce champ est codé sur 16 bits, le maximum possible est 216, soit 65 536 octets.

Identification : Numéro unique qui identifie le datagramme. Une valeur d‘identification assignée par l‘émetteur pour identifier les fragments d‘un même datagramme. Si un Routeur doit couper le datagramme en plusieurs fragments pour pouvoir le router, chaque fragment contiendra cet identificateur.
En-tête Datagramme Données 600 Octets Données 600 Octets Données 200 Octets
En-tête Fragment 1 Données 600 Octets  Fragment 1
 Fragment offset =  0, More Fragments = 1
En-tête Fragment 2 Données 600 Octets  Fragment 2
 Fragment offset = 75, More Fragments = 1
En-tête Fragment 3 Données 200 Octets  Fragment 3
 Fragment offset =150, More Fragments = 0
Identification

Flags : Bits de contrôle.

Do not fragment : Si ce bit est positionné, la fragmentation est interdite. Si le Routeur doit fragmenter, il renvoie un message d‘erreur.

More fragments : Si ce bit est positionné, il indique qu‘il y a encore d‘autres fragments du datagramme original qui suivent.

Fragment offset : Décalage dans le datagramme original des données transportées dans le fragment, en blocs de 8 octets.

Time to live (TTL) : Durée en secondes pendant laquelle le datagramme peut transiter sur le réseau. Au bout de ce délai, le Routeur détruit le datagramme et envoie un message d‘erreur à l‘expéditeur. Chaque Routeur traversé doit décrémenter le TTL de un ou de la durée en secondes du transfert. Ceci évite les bouclages dûs à des tables de routage corrompues et les longs délais dûs à des Routeurs surchargés.

Protocol : Identification du protocole ayant généré les données contenues dans le champ data.

Header checksum : Assure de l‘intégrité des valeurs de l‘en-tête. Il est formé en considérant l‘en-tête comme une séquence d‘entiers sur 16 bits, additionnés en complément arithmétique à 1 et en prenant le complément à 1 du résultat. Pour les besoins du calcul, le champ Header checksum est supposé contenir des zéros.

Source IP address : Adresse IP de l‘émetteur sur 32 bits.

Destination IP address : Adresse IP du destinataire sur 32 bits.

Options : Champ optionnel de longueur variable.

Padding : Champ dépendant des options sélectionnées.


Article connexe du sujet

Datagramme IP
RFC 791 - Internet Protocol IP
RFC 793 - Transmission Control Protocol TCP

Auteur
Eric Douzet
Début de page
bl br
C-extra.com v. 1.2.2 © 2000-2014, tous droits réservés  –  Mise à jour le 12 Avril 2014 Infologisme.com