Présentation de TCP/IP
TCP/IP est l'abréviation de Transmission Control Protocol/Internet Protocol. Ce protocole a été développé, en environnement UNIX, à la fin des années 1970 à l'issue d'un projet de recherche sur les interconnexions de réseaux mené par la DARPA (Defense Advanced Research Projects Agency) dépendant du DoD (Department of Defense) Américain.TCP/IP ,devenu standard de fait, est actuellement la famille de protocoles réseaux qui gère le routage la plus répandue sur les systèmes informatiques (Unix/Linux, Windows, Netware...) et surtout, c'est le protocole de l'Internet.
Plusieurs facteurs ont contribué à sa popularité :
Maturité, Ouverture, Absence de propriétaire, Richesse (il fournit un vaste ensemble de fonctionnalités), Compatibilité (différents systèmes d'exploitation et différentes architectures matérielles), et le développement important d'Internet.
La famille des protocoles TCP/IP est appelée protocoles Internet, et a donné son nom au réseau du même nom. Leurs spécifications sont définies dans des documents du domaine public appelés RFC (Request For Comments - Appels à commentaires). Ils sont produits par l'IETF ( Internet Engineering Task Force) au sein de l'IAB (Internet Architecture Board).
La RFC 826, par exemple, définit le protocole ARP.
OSI et TCP/IP
Bien que le protocole TCP/IP ait été développé bien avant que le modèle OSI apparaisse, ils ne sont pas totalement incompatibles. L'architecture OSI est définie plus rigoureusement, mais ils disposent tous deux d'une architecture en couches.Les protocoles TCP et IP ne sont que deux des membres de la suite de protocoles TCP/IP qui constituent le modèle DOD (modèle en 4 couches). Chaque couche du modèle TCP/IP correspond à une ou plusieurs couches du modèle OSI (Open Systems Interconnection) défini par l'ISO (International Standards Organization) :
Figure 1.1. OSI et TCP/IP

TCP/IP peut utiliser une grande variété de protocoles en couche de niveau inférieur, notamment X.25, Ethernet et Token Ring. En fait, TCP/IP a été explicitement conçu sans spécification de couche physique ou de liaison de données car le but était de faire un protocole adaptable à la plupart des supports.
Les protocoles TCP/IP se situent dans un modèle souvent nommé "famille de protocoles TCP/IP".
Les protocoles TCP et IP ne sont que deux des membres de la suite de protocoles IP.
IP (Internet Protocol, Protocole Internet)
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.
Le datagramme correspond au format de paquet défini par le protocole Internet. Les cinq ou six (sixième facultatif) premier mots de 32 bits représentent les informations de contrôle appelées en-tête.
Figure 1.2. datagramme IP

Le protocole Internet transmet le datagramme en utilisant l'adresse de destination contenue dans le cinquième mot de l'en-tête. L'adresse de destination est une adresse IP standard de 32 bits permettant d'identifier le réseau de destination et la machine hôte connectée à ce réseau.
Dans un réseau TCP/IP, on assigne généralement une adresse IP à chaque hôte. Le terme d'hôte est pris dans son sens large, c'est à dire un "noeud de réseau". Une imprimante, un routeur, un serveur, un poste de travail sont des noeuds qui peuvent avoir également un nom d'hôte, s'ils ont une adresse IP.
TCP (Transmission Control Protocol,Protocole de contrôle de la transmission)
La fiabilité de TCP a son prix. Les en-têtes TCP requièrent l'utilisation de bits supplémentaires pour effectuer correctement la mise en séquence des informations, ainsi qu'un total de contrôle obligatoire pour assurer la fiabilité non seulement de l'en-tête TCP, mais aussi des données contenues dans le paquet. Pour garantir la réussite de la livraison des données, ce protocole exige également que le destinataire accuse réception des données.
Ces accusés de réception (ACK) génèrent une activité réseau supplémentaire qui diminue le débit de la transmission des données au profit de la fiabilité. Pour limiter l'impact de cette contrainte sur la performance, la plupart des hôtes n'envoient un accusé de réception que pour un segment sur deux ou lorsque le délai imparti pour un ACK expire.
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)
UDP
est un complément du protocole TCP qui
offre un service de datagrammes sans
connexion qui ne garantit ni la remise ni l'ordre des paquets
délivrés. Les sommes de contrôle des données sont facultatives dans le
protocole UDP. Ceci permet d'échanger des données sur des réseaux à
fiabilité élevée sans utiliser inutilement des ressources réseau ou du
temps de traitement. Les messages (ou paquets UDP) sont transmis de
manière autonome (sans garantie de livraison.).Le protocole UDP prend également en charge l'envoi de données d'un unique expéditeur vers plusieurs destinataires.
Ex: TFTP(trivial FTP) s'appuie sur UDP, DHCP également, Windows utilise UDP pour les Broadcast en TCP-IP
ICMP (Internet Control Message Protocol)
ICMP
est un protocole de
maintenance utilisé pour les tests et les diagnostics, qui
véhicule des messages de contrôle. Il permet à deux systèmes d'un réseau
IP de partager des informations d'état et d'erreur.La commande ping utilise les paquets ICMP de demande d'écho et de réponse à un écho afin de déterminer si un système IP donné d'un réseau fonctionne. C'est pourquoi l'utilitaire ping est utilisé pour diagnostiquer les défaillances au niveau d'un réseau IP ou des routeurs.
RIP (Routing Information Protocol)
ARP (Address Resolution Protocol
Figure 1.3. Protocoles TCP/IP et OSI

Fonctionnement général
Les protocoles du niveau application les plus connus sont :
- HTTP (Hyper Text Transfer Protocol) permet l'accès aux documents HTML et le transfert de fichiers depuis un site WWW
- FTP (File Transfer Protocol) pour le transfert de fichiers s'appuie sur TCP et établit une connexion sur un serveur FTP
- Telnet pour la connexion à distance en émulation terminal, à un hôte Unix/Linux.
- SMTP (Simple Mail Transfer Protocol) pour la messagerie électronique (UDP et TCP)
- SNMP (Simple Network Management Protocol) pour l'administration du réseau
- NFS (Network File System)
pour le partage des fichiers Unix/Linux.
Les applications TCP-IP
Modèle client/serveur
Prenons par exemple telnet.
Figure 1.4. Exemple TelnetFigure 1.5. Modèle client/serveurL'adressage des applicatifs : les ports
- sur la machine cliente, l'utilisateur (usager ou programme) effectue une requête vers une machine IP serveur sur le réseau. (par exemple telnet host ou ftp host ). Cela se traduit par la réservation d'un port de sortie TCP ou UDP et l'envoi d'un paquet IP à la machine serveur. Ce paquet contient un message TCP ou UDP avec un numéro de port correspondant à l'application demandée sur le serveur.
- sur le serveur, la requête est réceptionnée par le pilote IP, aiguillée vers TCP ou UDP puis vers le port demandé. Le processus serveur correspondant est à l'écoute des appels sur ce port (par ex: le daemon telnetd traite les requêtes telnet, le daemon ftpd traite les requêtes ftp).
- processus client et processus serveur échangent ensuite des messages.
D'autres numéros de port sont disponibles pour les applications développées par les utilisateurs (1024 à 65535).
Figure 1.6. Ports applicatifs
Par exemple, les serveurs HTTP dialoguent de manière traditionnelle par le port 80 :
http ://www.sncf.com/index.htm <=> http :// www.sncf.com:80/index.htm
Les numéros de protocole et de port sont inclus dans le datagramme.
Une fois la connexion établie entre le client et le serveur, ceux-ci peuvent s'échanger des informations selon un protocole défini selon l'applicatif. Le client soumet des requêtes auxquelles répondra le serveur.
Ce mode de communication s'appuie sur la couche "socket". Cette couche est une interface entre la couche présentation et transport. Elle permet la mise en place du canal de communication entre le client et le serveur. On peut schématiquement dire qu'un socket fournit un ensemble de fonctions. Ces fonctions permettent à une application client/serveur d'établir un canal de communication entre 2 ou plusieurs machines, qui utilisent un protocole de transport (TCP ou UDP) et un port de communication.Les ports prédéfinis à connaître
Service réseau N° de Port Type Commentaire ICMP 7 TCP/UDP Commandes Ping Netstat 15 TCP/UDP Etat du réseau FTP 21 TCP Transfert de fichiers SSH 22 TCP/UDP SSH Remote Login Protocol Telnet 23 TCP Connexion via terminal réseau SMTP 25 TCP Envoi de courrier DNS 53 TCP/UDP Serveurs de noms de domaine HTTP 80 TCP Serveur Web Pop3 110 TCP Réception de courrier nntp 119 TCP Service de news ntp 123 UDP Protocole temps réseau nbname 137 TCP/UDP Service de Nom Netbios netbios-ssn 139 TCP/UDP Service de Session Netbios imap 143 TCP/UDP Protocole d'accès messagerie Internet SNMP 161 UDP Administration de réseau
Commentaires
Enregistrer un commentaire