INTERNET

TCP/IP

 

1° IP Internet Protocol

2° Les adresses IP

3° TCP Transport Control Protocol

4° ARP et RARP

5° Domaine Server
6° le Routeur et le Routage

 

La défense américaine (DOD), devant le foisonnement de machines utilisant des protocoles de communication différents et incompatibles, a décidé de définir sa propre architecture. Cette architecture est la source du réseau     Internet.

Du fait de la nature ouverte des protocoles TCP/IP il est indispensable de diffuser des documents relatant des modifications et changements de ces protocoles.
Il existe 3 modes de diffusions.

- Les notes techniques Internet (IEN : Internet Engineering Notes) qui sont de moins en moins utilisées.

- Les RFC (Request For Comments) qui contiennent les dernières les versions des spécifications de tous les protocoles TCP/IP standard.

- Les standard militaires (MIL : Military standard).

Les RFC sont beaucoup moins rigoureux que la plupart des documents standard mais contiennent une quantité d'informations intéressantes et utiles qui ne se limite pas à la spécification formelle des protocoles de données.

TCP/IP est souvent assimilée à une architecture complète, or, c'est au sens strict l'ensemble de 2 protocoles:

  • IP (Internet Protocol), un protocole de niveau réseau assurant un service sans connexion;
  • TCP (Transmission Control Protocol), un protocole de niveau transport qui fournit un service fiable avec connexion.

Au sens le plus large, il faut en compter 3 autres:

  • FTP (File Transfert Protocol), un protocole de transfert de fichiers ASCII, EBCDIC et binaires;
  • SMTP (Single Mail Transfert Protocol), un protocole de messagerie électronique;
  • TELNET Protocol, un protocole de présentation d'écran.

Ces protocoles se présentent sous la forme d'une architecture en couches qui inclut également, sans qu'elle soit définie, une interface d'accès au réseau.Cette architecture est représentée ci dessous.

 

 

1. IP Internet Protocol

Le Protocole Internet ou IP (Internet Protocol) qui correspond au niveau 3 de l'architecture de référence, est la partie la plus fondamentale d'Internet. Si vous voulez envoyer des données sur Internet, vous devez les "emballer" dans un paquet IP, appelés datagrammes

Les paquets IP, outre l'information, sont constitués d'un en-tête contenant l'adresse IP de l'expéditeur (votre ordinateur) et celle du destinataire (l'ordinateur que vous voulez atteindre), ainsi qu'un nombre de contrôle déterminé par l'information emballée dans le paquet : ce nombre de contrôle, permet au destinataire de savoir si le paquet IP a été "abîmé" pendant son transport.

Les paquets sont indépendants les uns des autres et sont routés individuellement dans le réseaux par chaque commutateur. La sécurisation apportée par ce protocole est très faible : pas de détection de paquets perdus ou de possibilités de reprise sur erreur.
Le protocole IP utilise un mode non-connecté, c'est à dire que l'émetteur envoie ses paquets sans tenir compte de l'état du récepteur, dès lors qu'il est présent.

Une partie du protocole IP Correspond au protocole ICMP défini dans le RFC 792. Ce protocole est une partie intégrante de la couche Internet et réalise les fonctions suivantes.

- Contrôle de flux : Lorsque les datagrammes arrivent trop rapidement pour être traités, l'élément destination renvoie un message de congestion qui indique à la source de suspendre temporairement l'envoi de datagrammes.

- Détection de destination inaccessible : Lorsqu'une destination s'avère inaccessible, le système qui détecte le problème envoie un message "Destination inaccessible" à la source. Si la destination est un réseau ou une machine-hôte, le message est envoyé via une passerelle intermédiaire. En revanche, si la destination est un port le machine de destination envoie le message.

- Redirection des voies : Une passerelle envoie le message de redirection afin d'indiquer à une machine-hôte d'utiliser une autre passerelle, probablement parce que l'autre passerelle constitue un meilleur choix.

- Vérification des machines-hôtes à distances : Une machine-hôte peut envoyer le message d'écho ICMP pour vérifier que le protocole Internet du système à distance est opérationnel.

1.1. L'adresse IP

Une des choses les plus intéressantes du protocole TCP/IP est d'avoir attribué un numéro fixe, à chaque ordinateur connecté sur Internet; ce numéro est appelé l'adresse IP. Ce sont des adresses logiques, à distinguer des adresses physiques (des cartes Ethernet par ex.). Les adresses sont codés sur 32 bits. Ainsi, tout ordinateur sur Internet, se voit attribuer une adresse de type a.b.c.d (où a,b,c,d sont des nombres compris entre 0 et 255), par exemple 162.13.150.1. Dès ce moment, vous êtes le seul sur le réseau à posséder ce numéro, et vous y êtes en principe directement atteignable.

Comment est définie cette adresse :

  • Une adresse IP est composée de 4 nombres séparés par un point.
  • Chacun de ces nombres est codé sur 1 octet et peut donc prendre une valeur comprise entre 0 et 255 inclu.

    Exemple : 202.15.170.1

    • les deux premiers octets (les deux premiers nombres) identifient un réseau particulier
    • les deux nombres suivants identifient un hôte sur ce réseau.

Pour l'ordinateur, cette adresse IP est codée en binaire (4 x 8 bits = 32 bits).
Par exemple,

202 15 170 1
11001010 00001111 10101010 00000001

Il est clair que pour nous, il est plus facile de retenir 202.15.170.1 que 11001010000011111010101000000001

1.2. Les différentes classe d'adresse IP

L'adressage a été structuré logiquement dans une architecture de réseaux et de sous-réseaux. N'importe qui ne peut s'approprier librement une adresse IP : ces dernières sont régies par un organisme international, l'Internic, qui délivre les différentes adresses ou plutôt les classes de réseaux.

Le rôle de ces classes est essentiellement de diviser l'adresse en deux parties: une partie dédiée au réseau, et une partie dédiée aux hôtes (équipements).

Classe A (128 réseaux et 16 777 216 hôtes)

La classe A est caractérisée par une adresse réseau sur 8 bits dont le premier bit est à O.
Les adresses A sont du type rrr.hhh.hhh.hhh, où rrr désigne un octet de l'adresse du réseau, et hhh un octet de l'adresse de l'hôte. La partie rrr est compris entre 1 et 127.
Il existe moins de 128 numéros de réseau de classe A; chaque réseau de classe A peut être constitué de millions d'hôtes.

Classe B (16384 réseaux et 65 535 hôtes)

La classe B est caractérisée par une adresse réseau sur 16 bits, dont les deux premiers sont 10.
Les adresses de classe B sont du type rrr.rrr.hhh.hhh. Leur premier octet est compris entre 128 et 191.
Il existe des milliers de numéros de réseau de classe B et chaque réseau de classe B peut-être constitué de milliers d'hôtes.

Classe C (2 097 152 réseaux et 256 hôtes)

La classe C est caractérisée par une adresse réseau sur 24 bits dont les trois premiers bits sont à 110.
Les adresses de classe C sont du type rrr.rrr.rrr.hhh. Leur premier octet est compris entre 192 et 223.
Chaque réseau de classe C comporte moins de 254 hôtes.

Pour les trois classes d'adresses, il est impossible d'avoir tout les bits à 0 ou tous les bits à 1.

Si les 3 premiers bits de l'adresse sont 111, il s'agit d'une adresse spéciale réservée. Ces adresses sont parfois appelées adresse de classe D, mais elles ne correspondent pas à des réseaux spécifiques. Les numéros attribués dans cette classe correspondent à des adresses multidestinataire. Les adresses multidestinataire sont utilisées pour adresser des groupes d'ordinateurs simultanément. Les adresses multidestinataire permettent d'identifier un groupe d'ordinateurs partageant un protocole commun, par opposition à un groupe d'ordinateurs partageant un réseau commun.

1.3 Les masques de sous-réseaux

Pour laisser un maximun de souplesse du mode de décomposition de l’adresse IP en sous réseaux, la norme TCP/IP de sous adressage permet de choisir l’interprétation des sous réseaux indépendament pour chaque réseau. Une fois qu’une décomposition en sous-réseaux a été choisie, toute les machines du réseau doivent s’y conformer

La création de sous-réseaux divise une adresse réseau en plusieurs adresses de sous-réseaux uniques, de sorte qu’une adresse spécifique puisse être attribué à chaque réseau physique. Voir dossier.

2. TCP Transport Control Protocol

Le protocole TCP (Transport Control Protocol) regroupe les fonctionnalités de niveau 4 du modèle de référence. Le protocole TCP est en mode connecté, contrairement au deuxième protocole disponible dans cette architecture qui s'appelle UDP. Ce protocole UDP se positionne aussi au niveau transport mais dans un mode sans connexion et avec pratiquement aucune fonctionnalité.

Ce protocole a été développé pour assurer des communications fiables entre deux hôtes sur un même réseau physique, ou sur des réseaux différents.

Les protocoles au-dessus de TCP ou UDP sont de type applicatif et proviennent en grande partie du monde Unix.

2.1. Principe

Le protocole TCP est chargé de couper le flot de données transmis par la couche supérieur en segments, qui constituent les unités de données véhiculées par TCP.
Pour éviter la perte éventuelle d'information entre les hôtes, TCP utilise un mécanisme d'acquittement positif avec retransmission. Ce mécanisme consiste, pour une station désireuse d'envoyer un paquet vers un autre, à l'envoyer à intervalle régulier jusqu'au moment où elle reçoit un acquittement positif. TCP utilise un numéro de séquence pour identifier chaque segment afin d'éviter les duplications. Néanmoins, un hôte ne délivre pas d'acquittement à chaque segment reçu, ce qui ralentirait excessivement la communication. Le nombre maximal de segments qu'une station destinataire s'autorise à recevoir sans délivrer d'acquittement s'appelle une "fenêtre".

2.2. Format d'un segment TCP

 

  • Numéro port source et destination : Ce sont des entiers sur 16 bits qui identifient le point de communication.
  • Numéro de séquence : permet de rétablir l'ordre des paquets reçus et d'écarter les paquets dupliqués. Ce numéro est incrémenté d'une unité chaque fois qu'un octet est envoyé.
  • Numéro d'acquittement : Si le flag ACK est présent, ce champs désigne le prochain numéro de séquence attendu. Il constitue donc un acquittement de tous les segments dont le numéro de séquence est inférieur.
  • Offset données : champ de 4 bits qui indique le nombre de mots de 32 bits dans l'en-tête TCP. La valeur minimale est 5, la valeur maximale est 15.
  • Réservé : Cette zone de 6 bits est toujours à zéro.
  • Drapeau : Cette zone contient sous forme binaire un certain nombre de drapeaux qui ont la signification suivante :

- URG : indique qu'il s'agit d'un segment à traiter en urgence, le champ pointeur urgent doit être rempli.
- ACK : le segment transporte un numéro d'acquittement significatif.
- PUSH : lorsqu'un paquet reçu au niveau TCP porte le flag PUSH, TCP le transmet immédiatement à la couche supérieure sans attendre d'autre segments . Cela permet d'avoir un fonctionnement correct de l'écho lorsque des consoles sont connectées sur des systèmes informatiques. En l'absence de ce drapeau, TCP attend de rassembler plusieurs segments pour les transmettre à la couche supérieure, pour des raisons d'efficacité.
- RST : provoque un reset de la connexion. Cela permet de couper brusquement une connexion ou de refuser une demande de connexion.
- SYN : synchronisation des numéros de séquence. Ce flag est utilisé lors de l'établissement de la connexion.
- FIN : demande de fin de connexion

  • Fenêtre : Nombre d'octets disponibles dans la fenêtre de réception, c'est-à-dire le nombre d'octets qui peuvent être reçus avant acquittement.
  • Somme de contrôle : C'est le complément à 1 de la somme des compléments à 1 des mots de 16 bits composant l'en-tête et les données.
  • Pointeur urgent : Champ valide si le drapeau URG est positionné. Pointeur sur l'octet de donnée urgente, exprimé en déplacement par rapport au numéro de séquence du segment.
  • Options : Facultative.
  • Bourrage : Permet d'aligner l'en-tête TCP sur des mots de 32 bits.
  • Données : Ce sont les données à acheminer, en provenance ou à destination de la couche supérieure de l'émetteur et encapsulées par des segments TCP.

3. UDP

UDP (User Datagram Protocol) est un protocol du niveau de la couche transport, tout comme TCP. Contrairement à ce dernier, il est non-fiable, et travaille en mode non-connecté. Il assure la détection d'erreur, mais pas la reprise sur erreur. Il n'utilise pas les accusés de réception pour garantir que les données ont été correctement réceptionnées, ne reséquence pas les messages reçus ni n'assure de mécanisme de contrôle de flux pour permettre au récepteur de maîtriser le flot des données. Les datagrammes UDP peuvent donc être perdus, dupliqués ou déséquencés.

Néanmoins, la grande qualité d'UDP est sa simplicité. L'absence de mécanisme de connexion accélère l'échange des données. UDP fonctionne de manière très satisfaisante et performante en réseau local, ces derniers étant très fiables et minimisant les risques d'erreurs.

3.1. Le format d'un datagramme UDP

La significations des champs est exactement la même que celle des champs du segment TCP qui portent le même nom.

4. Les protocoles ARP et RARP

Les adresses physiques des hôtes sont stockées en PROM sur les cartes d'interface avec le réseau, tandis que les adresses logiques sont stockées dans des fichiers sur disques.
A l'intérieur d'un même réseau physique (ou sous réseau), deux machines ne peuvent communiquer que si elles connaissent leurs adresses physiques respectives. Il est donc nécessaire d'établir un mécanisme de mise en correspondance de ces adresses physique et logiques.

Prenons le cas d'un réseau Ethernet : l'adresse Ethernet d'un hôte est stockée sur 6 octets, alors que son adresse Internet est stockée sur 4 octets. Comment convertir une adresse logique sur 32 bits en adresse physique sur 48 bits? La solution à ce problème est offerte par le protocole ARP (Address Resolution Protocol).

4.1.Principe du protocole ARP

Un hôte A veut émettre un message à l'attention d'un hôte B. Or A ne connaît que l'adresse logique B (c'est-à-dire address IP). A émet un message spécifique, contenant :

- sa propre adresse logique
- son adresse physique
- l'adresse logique de B.

Ce message est destiné à tous les hôtes de son réseau (broadcast). Seul l'hôte B reconnaît son adresse Internet, et le récupère. Il retourne alors à A (dont il connaît les adresses physique et logique) un message contenant son adresse physique.
La diffusion broadcast étant un mécanisme très coûteux en ressources du réseau, il n'est évidemment pas question, à chaque échange de message, de procéder de la manière décrite précédemment. Chaque hôte gère un cache, contenant une table de mise en correspondance des adresses logiques et physiques dont il a récemment fait l'acquisition. Avant de diffuser un message général, le protocole s'assure que l'adresse physique qu'il ne se trouve pas dans le cache.
4.2.Principe du protocole  RARP
L'hôte du réseau qui veut faire l'acquisition de son adresse logique émet un message RARP contenant son adresse physique. ce message est émis à destination de tous les hôtes du réseau local. Un seul hôte du réseau, configurer dans cette optique, reconnaît le message RARP. Ce serveur d'adresses possède une table de mise en correspondance des adresses physiques des stations sans disque, et de leurs adresses logiques. Il retourne donc un message à la station sans disque, contenant son adresse logique.
Afin d'éviter des problèmes de surcharge du serveur d'adresses, le réseau comporte souvent plusieurs serveurs, tous susceptibles de répondre aux message RARP.
Ce protocole n'est utilisé que par les hôtes du réseau qui n'ont pas d'informations sur leur adresse logique, par exemple des stations sans disques.
5. Les autres protocoles de la famille de TCP/IP
5.1. Le protocole GGP
Gateway to Gateway Protocol, permet à deux passerelles d'échanger des informations de routage, pour remettre à jour dynamiquement leurs tables de routage. Il ne se conçoit qu'à travers des réseaux longue distance, lorsqu'il y a une multitude de chemins différents pour atteindre le même hôte. Il est totalement inutile en réseau local. Les unités de données GGP sont encapsulées dans des datagrammes IP.
Les informations véhiculées par GGP sont des couples d'adresse de réseau et de distance. La distance d'un réseau est exprimée en nombre de passerelles à traverser pour l'atteindre. Une passerelle qui maintient ce type d'information peut alors faire le meilleur choix pour acheminer une unité de données.
5.2. Le protocole SMTP
Simple Mail transfert Protocol est le protocole standard d'échange de courrier électronique sur réseau TCP/IP.
5.3. Le protocole SNMP
Simple Network Management Protocol, permet l'acquisition de données sur le fonctionnement du réseau