Introduction
Installation
Arborescences
Commandes
Astuces
Vi

Introduction
TCP/IP

Cours Linux
Cours Win 98
Cours MS DOS
Logiciel

Forum
Contact

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Historique: 

TCP/IP: Transmission Control Protocol/ Internet Protocol 

Ce protocole de communication a été mis au point à partir d’une étude commandée au début des années 1970 par le DARPA (Defense Advanced Project Research Agency) dépendant du DoD (Department of Defense) Américain. L’objectif était de mettre au point un protocole de communication permettant d’interconnecter les ordinateurs de toutes marques dont disposait l’armée des US. 

Premières implémentations au début des années 1980 . Elles introduisaient les notions de couches de communication 

Le protocole TCP/IP n’est pas normalisé OSI, même si aujourd’hui il est largement plus utilisé que le protocole OSI. 

   Principales raisons du succès de TCP/IP:

·       il est intégré dans les systèmes Unix ce qui en a assuré une grande diffusion.

·       les spécifications sont du domaine public, et elles sont facilement accessibles sur des serveurs de fichiers internationaux, ce qui a permis de nombreux développements dans les milieux universitaires et de la recherche. Les spécifications sont fournies sous la forme de RFC (Request for Comments)

·       il est maintenant disponible sur la plupart des plates-formes matérielles et systèmes d’exploitation (il est même de plus en plus souvent livré avec le système) de l’ordinateur personnel (PC ou Mac) au plus gros calculateur vectoriel (Cray, ...)

·       il est utilisable sur la plupart des réseaux physiques ( Ethernet 802.3 , Token Ring 802.5, liaisons séries ) et même à travers d’autres réseaux publics ( X25, Numéris)

·       de très nombreux logiciels ont été développés sur TCP/IP, qu’ils soient du domaine public ou vendus par des sociétés spécialisées.

Les couches IP et TCP: 

         LA “ PILE ” TCP/IP

 

                                              

 

   Ce modèle en 4 couches est parfois appelé "modèle DOD

                Les principaux composants de la pile TCP-IP sont les suivants:

·       IP (Internet Protocol) : C’est un protocole de niveau 3. Il assure le transfert des paquets TCP/IP sur le réseau local, et avec les réseaux extérieurs via des « routeurs ». Le protocole IP travaille en mode non connecté, c’est-à-dire que les paquets émis par le niveau 3 sont acheminés de manière autonome (datagrammes), sans garantie de livraison.

·       ARP ( Address Resolution Protocol) : Protocole qui permet d’associer l’adresse de niveau 3 (ie @ip) à une adresse de niveau 2 (par ex Ethernet)

·       ICMP ( Internet Control and error Message Protocol) : Utilisé pour les tests et les diagnostics 

·       TCP (Transport Control Protocol) : Protocole de niveau 4 qui fonctionne en mode connecté. Sur une connexion TCP entre deux machines du réseau, les messages (ou paquets TCP) sont acquittés et délivrés en séquence. 

·       UDP ( User Datagram Protocol) : Protocole de niveau 4 en mode non connecté : les messages (ou paquets UDP) sont transmis de manière autonome.   

Quelques applications utilisées en environnement TCP-IP sont les suivants:

·       r-commands: (ou remote commandes) : exécution d’une commande à distance sur une autre machine du réseau local

·       telnet : connexion interactive

·       ftp  ( File Transfert Protocol) : transfert de fichiers

·       smtp (Simple Mail Tranfert Protocol) : messagerie

·       nfs : (Network File System): système de fichiers répartis 

Sur un même réseau physique (Ethernet par exemple) le protocole TCP/IP peut cohabiter avec d’autres protocoles de niveau 3 . Pour cela dans la trame de niveau 2 un champ identifie le type de protocole de niveau 3.

 

                     

 

Plusieurs protocoles peuvent même cohabiter sur une même machine: le niveau 2 est géré par le pilote (driver) de la carte (Ethernet par ex), au dessus duquel il y a plusieurs « piles » de niveau supérieur. Le paquet extrait de la trame est transmis à la pile correspondant au type de protocole (cf notion de SAP -Service Access Point - du modèle OSI).

 

                         

LES ADRESSES TCP/IP:  

  L’adresse TCP/IP d’une machine est une adresse de niveau réseau codée sur 32 bits ( ie 4 octets) qui est en général notée sous la forme de 4 chiffres séparés par des points. On parle de notation en décimal pointé. Chaque champ, qui représente un octet, peut prendre des valeurs entre 0 et 255

                Exemple : 192.93.116.3 

                L’adresse IP est constituée d’un champ numéro de réseau (1,2 ou 3 octets) et d’un champ numéro de machine dans le réseau ( 3,2 ou 1 octets)

                               @ip = #réseau + #machine

                      #réseau : attribué par un organisme officiel : le NIC aux US (ou ses représentants)

                      #machine attribué localement par le gestionnaire du réseau (nota: il est possible de découper le champ de droite en sous-réseau+machine

 

                Les réseaux TCP/IP sont rangés en 3  classes A, B ou C en fonction de la taille du champ numéro de réseau:

classe A :  1 à 127 .X.X.X

classe B :  128 à 191 .X.X.X

classe C :  192 à 223 .X.X.X                     ( les adresses >223 sont réservées à d’autres usages)

 

 

                Le nombre de machines dans le réseau dépend donc de la classe du réseau. Chaque octet du champ machine peut prendre des valeurs entre 1 et 254.

                Les valeurs 0 (tous les bits à 0) et 255 (tous les bits à 1) sont réservées:

                               - un champ machine tout à 0 sert à désigner le numéro de réseau (notamment pour le routage)

                               - un champ tout à 1 indique un message de broadcast adressé à toutes les machines IP du réseau.

 

                Sur les fichiers de configuration on a un masque réseau (netmask) qui, associé à l’adresse IP,  indique le champ à prendre en compte pour #réseau (bits à 1) , et celui à prendre en compte pour #machine (bits à 0).

 

ex: dans un réseau de classe A sans sous-réseau : netmask=255.0.0.0

  

Les adresses réservées:

 

0.0.0.0                    est réservée pour la route par défaut. Tous les paquets destinés à un réseau inconnu, seront dirigés vers cette route.

 

127.0.0.0 est réservée au trafic IP de la machine locale. Une interface locale porte en générale l'adresse 127.0.0.1 appelée adresse de "loopback".

 

Certaines adresses peuvent également être librement utilisées pour monter un réseau privé:

A            10.0.0.0

B             172.16.0.0              à              172.31.0.0

C             192.168.0.0            à              192.168.255.0

Aucun paquet provenant de ces réseaux ou à destination de ces réseaux, ne sera routé sur l'internet.

 LE PROTOCOLE ARP sur ETHERNET:

 

                L’adresse Ethernet est une adresse unique sur 48 bits (6 octets) associée à la carte Ethernet.

Lorsqu’un noeud N1 du réseau TCP/IP X1.X1.X1.X1 veut émettre un paquet TCP/IP (dans une trame Ethernet) vers une machine N2 d’adresse IP (X2.X2.X2.X2), il faut qu’il connaisse l’adresse Ethernet (E2.E2.E2.E2.E2.E2).

                Pour réaliser l’association @ip / @ Ethernet l’émetteur N1 utilise le protocole ARP dont le principe est le suivant :

L’émetteur envoie une trame Ethernet de broadcast (ie @destinataire toute à 1) contenant un message ARP demandant

« qui est X2.X2.X2.X2 ? « 

 

                              

Toutes les machines IP du réseau local reçoivent la requête. N2 qui  a l’adresse X2.X2.X2.X2 se reconnaît, et elle répond à N1 ie  X1.X1.X1.X1 (ds une trame destinée à E1.E1.E1.E1.E1.E1)

 

                              

Chaque machine maintient en mémoire une table cachée de correspondances @ip / @ Ethernet pour éviter trop de requêtes ARP . Chaque entrée de la table à une durée de vie limitée.

 

Voici pour exemple ce que donne le programme tcpdump avec la commande "ping 192.168.1.2' à partir de la machine uranus alors que la table arp de l'hôte uranus est vide:

 

13:17:14.490500 arp who-has 192.168.1.2 tell uranus.planete.net

13:17:14.490500 arp reply 192.168.1.2 is-at 0:40:33:2d:b5:dd

13:17:14.490500 uranus.planete.net > 192.168.1.2: icmp: echo request

13:17:14.490500 192.168.1.2 > uranus.planete.net: icmp: echo reply

13:17:15.500500 uranus.planete.net > 192.168.1.2: icmp: echo request

13:17:15.500500 192.168.1.2 > uranus.planete.net: icmp: echo reply

 

Explications:

Ligne 1 uranus demande qui est 192.168.1.2 (requête ARP) Le paquet est diffusé à tous les hôtes du réseau.

Ligne 2 réponse ARP: je suis à l'adresse Ethernet 00:40:33:2d:b5:dd

Lignes 3 à 6 : Echanges de paquets ICMP entre les 2 hôtes.

  

Les domaines et les noms demachines:

 

Il est peu commode de désigner une machine par son adresse IP. On peut aussi utiliser un nom qui se présente en général sous la forme

                nom_machine  (ex uranus)    ou      nom_machine.sous_domaine.domaine (ex : uranus.toubet.edu)

 

Mais c’est quand même l’adresse IP qui est utilisée en interne dans les paquets au cours des échanges. Pour cela il faut un mécanisme qui permette de traduire le nom_machine en adresse IP.

  

Deux solutions sont utilisées :

                noms locaux :Sur chaque machine on crée un fichier qui contient la table de correspondance nom_machine --> @ip (par ex le fichier    /etc/hosts sur un système Unix)

 

                serveurs de noms: pour chaque domaine (par ex toubet.edu) une machine serveur de noms (serveur DNS) contient l’annuaire des machines du domaine. Les machines des utilisateurs sont configurées pour interroger le serveur. Il y a en général plusieurs serveurs DNS pour un même domaine au cas ou le serveur primaire tomberait en panne

 

                Il est également possible de combiner les deux solutions.

 

Les « passerelles » ou routeurs TCP/IP:

 

Les réseaux IP sont interconnectés par des routeurs IP de niveau 3 (appelés abusivement en terminologie IP des gateways ou passerelles)

Chaque station IP doit connaître le routeur par lequel il faut sortir pour pouvoir atteindre un réseau extérieur, c’est-à-dire avoir en mémoire une table des réseaux et des routeurs

 

                              

                               Réseau 1 --> Routeur 1

                               Réseau 2 --> Routeur 1

                               ......

                               Réseau n --> Routeur p

  

Les tables de routage peuvent être statiques dans le cas de réseaux simples, ou dynamiques dans le cas de réseaux maillés

Le protocole d’échange dynamique des tables IP sur un réseau local est RIP ( Routing Information Protocol) ou le protocole OSPF.

 

Tous les logos et marques déposées dans ce site sont la propriété de leurs propriétaires respectif.
  Design / Webmastering by Alex64

Webmaster de Rendez vous Linux


© 2003 LINPC est hébergé par Chez.com