Dossier TCP/IP 1/3
Partie I : Les Bases des protocoles TCP/IP
L'histoire commence en 1969 quand l' "US Defence Advanced Research Projects Agency " (DARPA) commenca un projet de dévellopement d'un réseau de communication pour relier les différents postes de recherches . Le systeme s'appella : ARPANET .
Le systeme eut un fort succès malgré les nombreux "crashs" et la lenteur de l'installation . En 1974 , ce fut le tournant de cette technologie avec Vinton Cerf and Robert Kahn qui proposèrent deux nouveaux protocoles pour remplacer les premiers.Les protocoles étaient Internet Protocol (IP) et Transmission Control Protocols (TCP).
De nos jous ces termes sont - on ne peut plus - employés allant même les citer dans des publicités . La première intégration de ces protocoles fut celle de l'Université de Californie en 1983 . La grande aventure TCP/IP était née.
Il est fondamental de comprendre ce qui suit pour continuer a lire cet article . TCP/IP possède quelques caractéristiques très importantes et je vais donc tenter de vous les enseigner ou de vous les rappeller .
Je ne m'attarderai pas sur cette section puisque toutes les caractéristiques seront détaillés dans les chapitres suivants .
- L'adressage logique
Prenons l'exemple d'un réseau de quelques ordinateurs . Chaque ordinateur possède une carte réseau qui contient une adresse physique (attribué lors de sa fabriquation) . Les données sont transmises par x protocoles a traver le réseau . Sur une liaison Ethernet , le premier poste expédie les messages sur la laision et la carte réseau se charge d'extraire les informations consernant sa propre adresse .
Bien sur ceci est un exemple local et sur un grand réseau comme Internet cela deviendrai impossible . C'est ici qu'intervient la segmentation des réseaux . Pour mieux maitriser le trafic sur un réseau , un administrateur peut , au moyen de routeurs , segment son réseau . Il faut donc ensuite subdiviser le réseau en plusieurs sous-réseaux hiérarchisés .
- Résolution des noms et adresses
Vous avez surement tous entendu parler de résolution d'adresses , de noms , de DNS , d' IP sans trop savoir a quoi cela correspond il . Brievement , comme nous l'avons vu précédemment chaque poste possède une adresse physique et une adresse logique . Ces deux adresses sont indisociables .
TCP/IP offre la possibilité d'adresser en un language compréhensible une structure par le biais de DNS ( Domain Names Services ) . Cette association adresse logique-physique est appelée résolution d'adresses .
- Le routage
Un routeur est un ensemble de moyens qui permet de lire les adresses logiques et transmet les donneés aux destinataires . Comme un petit croquis vaut mieux qu'un long discours (napoléon) je vous propose un petit dessin .
merci a Gousse200 pour ses shémas
On appelle modèle OSI le modèle standard à sept couches utilisé par les réseaux . Ce modèle a été concu pour harmoniser les protocoles réseaux , et favoriser l'interconnection . Voivi un shéma descriptif de la différance entre le modeèle OSI et le TCP/IP .
Ce shéma vous présente les différences entre le modèle OSI et TCP/IP
Voici brièvement les fonctions des différentes couches du modèle TCP/IP . (Ces fonctions seront détaillées dans "Les couches des protocoles TCP/IP")
- Couche application : elle fournit l'application d'un programme ou d'un processus . Par exemple la 1ère couche traîte les protocoles File Transfer Protocol (FTP), Simple Mail Transfer Protocol (SMTP), Network News Transfer Protocol (NNTP), and Hypertext Transfer Protocol (HTTP) que tout le monde connaît .
- Couche présentation : elle met le données au format standard , elle gère également le cryptage et la compression .
- Couche session : Comme son nom l'indique elle gère les différentes sessions .
- Couche transport : elle effectue la communication entre les couches et contrôle le flux .
- Couche réseau : Elle envoie et recoit les informations et les transmet par le meilleur chemin . Cette couche utilise le protocole Internet Protocol (IP). Elle gère l'adressage logique et le routage .
- Couche liaison de donneés : Elle entretient la liaison et assure l'interface avec la carte réseau .
- Couche physique : C'est la couche la plus basse . Elle recoit et envoie un flot de données vers le système .
Le paquetage des donneés est une étape très importante des processsus TCP/IP . En effet chaque message circulant entre les couches subit des transformations . Il en résulte des changements de noms .
Les données "descendent" les différentes couches . En descendant chaque couche rajoute une "en-tête" . Encore une fois je vais être vous expliquer cela par un petit shéma .
merci a Gousse200 pour ses shémas
Tout commence au niveau de la couche application on le message arrive . Arrivé dans la couche transport , le message est "encapsulé" sous forme d'un segment (protocole TCP) ou sous forme de datagrammes (protocole UDP)
Ensuite la couche internet encapsule les segments de la couche précédente sous forme de datagrammes . Lorsque il y a encapsulation au niveau de la couhe Acces Réseau il se produit des trames (trian de bits dans la sous couche de plus bas niveau de la couche acces réseau) .
Dans cette partie nous allons voir en détail les différentes couches qui composent le modèle TCP/IP .
Comme vous avez pu le remarquer sur le schéma
des couches la couches application est au sommet de la pile .
Chaque couche possède son environnement et des fonctions
spécifiques . Cette couche se compose de différents logiciels
qui permettent une gestion de transmission des données . On peut
nommer entre autre , netbios ou X window.
La résolution des noms ou l''impression de fichiers (voir n°2 de ce dossier) sont des services qui composent cette couche .
Résolution des noms
Je ne m'attarderai pas trop sur cette partie puisqu'elle sera dévellopée longuement dans la 2ème partie de ce dossier . Il est important pour la suite de savoir que les services de noms se situent au niveau de la couche application . Encore ici se trouve Netbios .
Impressions des fichiers
Les données imprimées traversent les différentes couches jusqu'a les couches application qui gèrent les impressions du réseaux .
- NetBios est une interface qui permet d'accéder aux ressources réseau . Il localise les sites par leur nom de machine et convertit les adresses IP . Il utilise pour cela un systeme de résolution indépendant du DNS . (voir NetBios)
- NetWare est un systeme de gestion des réseaux LAN . Elle est intégré dans les protocole IPX/STX .
Comme son nom l'indique , cette couche assure le transport des données mais également le contrôle des erreurs et des flux des données .
Le multiplexage et le démultiplexage permet a la couche transport de recevoir et de transmettre les informations du réseaux et de les acheminer a travers les couches :
Le multiplexage permet de recevoir les données des couches et de les envoyer à travers une sortie .
Le démultiplexage , au contraire , est un envoie de données . La grande différence réside dans le fait que cet envoie est répartie dans plusieurs directions .
Deux architectures composent la couche transport :
Un protocole orienté réseaux (TCP)
Lorsqu'un envoie est opéré , une connexion entre deux machines d'un réseau est établie . Dans cet envoie , le récepteur "répond" a l'emmeteur en lui validant son envoie . Ce protocole est basé sur un jeu de questions/réponses . En effet , l'emmeteur préviens d'un envoie , et le recepteur valide l'envoie en renvoyant une information .
Un protocole non orienté réseaux (UDP)
Ce protocole qui n'est pas très fiable due a un controle d'erreur de bas niveau est utilisé pour les transferts rapides et qui ne demandent pas un taux de fiabilité extrème .
A l'inverse du protocole orienté réseaux , celui ci ne préviens pas le récepteur de l'envoie et le récepteur ne valide pas l'envoie .
Le contrôle d'erreur
Le contrôle des erreurs est une fonction essentielle de la couche transport . Nous avons vu que ce contrôle est plus ou moins "strict" selon qu'il s'agit d'un protocole orienté réseaux ou non .
Le couche vérifie si le réseau n'est pas saturé de données ( --> voir les articles sur le buffer overflow dont celui de _rix (un pote :) ) et peut donner des priorités à certaines informations .
Les ports de communication
Les ports TCP
|
|
Les ports UDP
N° de Port | Service |
7 | Echo |
9 | Discard |
11 | Systat |
37 | Time |
42 | Name |
43 | Whois |
53 | Domain |
53 | Name Server |
69 | Tftp |
123 | Ntp |
161 | Snmp |
Le couche internet est sans doute la plus complexe est la plus exhaustive .
Tout d'abord il faut savoir que 3 protocoles fondamentaux composent cette couche . Il s'agit de IP , ARP , ICMP .
Le protocole IP
Ce protocole est à la base de tout , le Internet Protocole (IP) est un formidable outil d'harmonisation des systemes à travers le monde . Comme nous l'avons vu précédemment l'adressage assure ce transfert
Le jeu de l'adressage change cependant d'un réseau a un autre et c'est a ce point la que ARP intervient . En effet ce protocole assure la conversion de tous les adressages différents . ARP est un outil de compatibilité ! Dans ces protocoles l'acheminement se fait par datagrammes . Chaque données récupère une entete au passage de chaque couche . Ces entetes contiennent l'adresse de l'expéditeur et du récepteur .
L'adressage IP est composé de ID de réseau et le l'ID hôte . Dans un réseau local , toutes les machines ont le même ID réseau . Par contre le ID hôte est spécifique a chaque machine . Ces deux combinés constituent une adresse complète et unique .
Le protocole ARP
Le rôle de ce protocole , composante essentielle de la couche Internet , est de faire correspondre l'adresse logique avec l'adresse physique . Sans trop développer il faut savoir que ARP interroge la machine pour résoudre ces noms . Toute les informations relatives à des envoies ou réceptions de données sont stockées dans la mémoire cache ARP .
Le protocole ICMP
Troisième et dernier pilier de la couche Internet , ICMP est le messager des flux des données . En effet ce protocole a pour but de prévenir les eventuelles erreurs rencontrées dans le réseau . Dans ce cas la ICMP renvoie un message d'erreur .
Ethernet
Ethernet est favorable au petit réseau car son cout est moindre et ses protocoles peu développés . En effet le protocole d'Ethernet CSMA/CD est assez limité . Il fonctionne ainsi :
Lorsqu'une information part , le protocole vérifie que le cable soit libre . Si ce n'est pas le cas l'information attendra son tour . Imaginez si un réseau est composé de 50 poste réliés en Ethernet . Cela devient invivable du fait du nombre d'informations circulant entre ces cables .
L'anneau à jeton
La principale caractéristique de ce procédé de réseau réside dans le fait que les informations sont transmises comme dans un relais . Chaque poste compose un relais ou circulent ces informations .
Ce procédé est moins limité qu'Ethernet .
J'espère que cette première partie vous aura appris quelque chose en tout cas tel était mon but . Je tient à remercier toute l'équipe d'Xplosif et celle de 912 ainsi que les auteurs des différents ouvrages que j'ai lu et qui m'ont appris tant de choses . Dans la partie II de ce dossier vous trouverez :
Les passerelles et les routeurs
Le réseau téléphonique
Les Daemons
et bien d'autres choses .
Merci de m'avoir lu jusqu'au bout et à bientot je l'espère
Kheops , leader de Xplosif Team