Site A.T.L.A.N.T.I.C-83
COURS = Comprendre internet (Chapitre_5) - VERSION: 1.0 (M.A.J: 19/06/10)
- AUTEUR(s): Bernard GIACOMONI
Ecran large mobile
Retour
sommaire cours

V.MECANISMES DES SERVICES RESEAU:


V.1.NOTION DE PROCESSUS LOGICIEL:


Pour tre utilisable, votre ordinateur doit tre quip d'un certain nombre de PROGRAMMES INFORMATIQUES (navigateurs, traitements de textes, etc.). Cet programmes sont enregistrs dans des fichiers sur des supports de masse (disque dur, clef USB, etc...). Ces fichiers contiennent donc les instructions et les donnes qui constituent le CODE EXECUTABLE du programme.


Pour utiliser ce programme, il est ncessaire, avant d'en lancer l'excution, de copier son code excutable dans la mmoire vive de l'ordinateur, puis de lui attribuer un PROCESSEUR capable de l'excuter. C'est le systme d'exploitation qui ralise ces opration lorsqu'il reoit une requte de lancement d'un programme provenant soit d'un utilisateur (double clic sur le lien d'un fichier excutable), soit d'un autre programme en cours d'utilisation.


Rien n'empche de faire plusieurs copies du code excutable d'un programme en mmoire vive et de lancer simultanment l'excution de chacune ces copies (il suffit de disposer de suffisamment de processeurs ou de disposer d'un systme d'exploitation capable de partager le processeur entre les diffrentes copies). A un instant donn, plusieurs copies (ou instances) d'un programme donn peuvent donc tre en cours d'excution dans la mme machine: vous pouvez vrifier vous mme qu'il est possible de lancer simultanment plusieurs instances de votre navigateur ou de la calculette, (si vous tes sous windows), et que chaque instance est utilisable.


Chaque instance en cours d'excution d'un programme donn constitue un PROCESSUS LOGICIEL (notion ne pas confondre avec la notion de PROCESSEUR, qui dsigne le circuit intgr qui excute les logiciels). Par la suite, nous utiliserons le terme processus pour dsigner un programme en cours d'utilisation, car cela allge beaucoup la rdaction.

V.2.NOTION DE PROTOCOLE DE COMMUNICATION:


Dans le domaine technologique, un PROTOCOLE DE COMMUNICATION est un ensemble de rgles destines rgir la communication entre deux entits (par exemple, deux htes d'un rseau). Ces rgles peuvent concerner:
  • La reprsentation des informations changes (codage, format).
  • Les mcanismes de transmission (adressage, squencement et synchronisation des changes, segmentation et rassemblage, etc.).
  • Les mcanismes de scurisation de la transmission (contrle de l'intgrit des donnes transmises, mcanismes d'acquittement, de signalisation ou de correction d'erreurs, etc.).


V.3.ADRESSAGE DES MACHINES HOTES D'UNE INTERCONNEXION DE RESEAUX:


Nous avons vu au chapitre prcdent que les mcanismes d'ADRESSAGE PHYSIQUE prsentaient les inconvnients d'tre lis la fois la technologie de liaison utilise et au composant matriel assurant la liaison. Ces deux caractristiques les rendent inappropris pour adresser des machines situes sur des rseaux interconnects qui peuvent tre de technologie diffrente et trs loigns dans l'espace.
De ce fait, il est ncessaire d'utiliser au niveau des services rseaux (et en particulier dans la couche OSI RESEAU) un autre systme d'adressage non li la technologie de liaison, l'ADRESSAGE LOGIQUE.


V.4.ADRESSAGE DES PROCESSUS SUR UNE INTERCONNEXION DE RESEAUX:


Nous avons tabli prcdemment que la communication sur internet se droulait toujours entre deux programmes informatiques en cours d'excution, c'est dire entre deux processus logiciels. Pour que ces processus puissent changer des messages, il est ncessaire qu'ils disposent d'un moyen de s'identifier mutuellement sans ambigut sur le rseau. Il faut donc disposer d'un mcanisme d'identification des processus valide pour l'ensemble du rseau. L'adresse d'un processus sera donc constitue:
  • De l'ADRESSE LOGIQUE de la machine sur laquelle il s'excute.
  • D'un identifiant interne la machine appel PORT RESEAU. Un port rseau est la plupart du temps un simple nombre entier naturel (entier positif).
REMARQUES:
  • Les PORTS RESEAU sont attribus aux processus lorsque ceux-ci en ont besoin pour ouvrir une communication rseau. Lorsque la communication est termine, ils peuvent tre rattribus un autre processus en fonction des besoins. Un port rseau est donc une entit phmre (de mme, d'ailleurs, que les processus).
  • Si un processus communique simultanment avec plusieurs autres processus, il peut se voir attribuer plusieurs ports de communication. De ce fait, si un numro de port permet d'identifier un processus, l'inverse n'est pas vrai.


V.5.LA SUITE DE PROTOCOLES TCP-IP:


V.5.1.GENERALITES:

TCP-IP est en fait une suite de deux protocoles:
  • Le protocole I.P. (Internet Protocol), qui correspond la couche 3 du modle OSI (routage de paquets sur une interconnexion de rseaux).
  • Le protocole T.C.P. (Transmission Control Protocol), qui correspond la couche 4 du modle OSI (transport de messages constitus de plusieurs segments sur un rseau).
L'ensemble correspond aux mcanismes du NIVEAU DES SERVICES RESEAUX dfini au chapitre prcdent. TCP-IP, qui tait l'origine un protocole propritaire, c'est dire li un constructeur particulier (XEROX), est petit petit devenu un standard, en particulier sur internet, en particulier grce au bon niveau de scurit qu'il permet d'obtenir.

V.5.2.ADRESSAGE D'UN PROCESSUS SOUS TCP-IP:

TCP-IP inclue un mcanisme d'identification des processus bas sur un couple de donnes:
  • La premire de ces donnes permet d'identifier la machine dans laquelle le processus s'excute: c'est l'ADRESSE LOGIQUE, communment appele ADRESSE IP. Vous avez certainement rencontr ce type d'adresse, qui se note le plus souvent sous la forme de quatre nombres spars par des points (Exemple: 94.23.63.201 est l'adresse IP du serveur hbergeant le site de l'association ATLANTIC). Il est important de se souvenir que la donne d'une adresse IP permet de reprer sans ambiguit une machine connecte sur internet.
  • La deuxime donne est un simple nombre entier naturel, que l'on nomme NUMERO DE PORT. Un PORT du protocole TCP dfinit un point d'accs un processus logiciel l'intrieur d'une machine donne. Contrairement l'adresse IP, il s'agit donc d'une donne valable localement. A l'intrieur d'une mme machine, l'attribution des numros de ports est contrle par le systme d'exploitation. Deux ports ne peuvent donc avoir le mme numro. De ce fait, un instant donn, un numro de port permet d'identifier sans ambigut un des processus actifs d'une machine.
Le couple {ADRESSE-IP + Numro de PORT TCP} dfinit donc sans ambiguit un processus donne tournant sur une machine connecte internet. Il constitue un systme d'adressage des processus valable sur tout l'espace du web et depuis n'importe quel point de cet espace.


REMARQUES:
  • En fait, une adresse IP repre non pas une machine, mais une des connexions physiques de cette machine sur le rseau. Une machine peut donc avoir plusieurs adresses IP, si elle est connecte plusieurs rseaux. En revanche, une adresse IP correspond une connexion et une seule.
  • De mme, un processus donn peut dclarer plusieurs ports (correspondant plusieurs services que ce processus peut offrir). Ces ports auront des numros diffrents. En revanche, un numro de port correspond un processus local et un seul.
  • Le couple [ADRESSE LOGIQUE+NUMRO DE PORT] est appel SOCKET par les dveloppeurs (mot anglais que l'on peut traduire par support de connexion).
  • Un PORT n'existe que pendant le temps o le processus qui l'a dclar existe. Ds qu'un processus est termin, le systme d'exploitation limine tous les ports que ce processus a dclar et peut rallouer leurs numros d'autres ports ds l'instant que d'autres processus en font la demande.
  • Il existe actuellement deux versions d'adressage IP, appeles respectivement IP-V4 et IP-V6. Une adresse IP-V4 est reprsente par un groupe de 4 octets (c'est dire 32 bits) alors qu'une adresse IP-V6 en comprend 16 (128 bits). L'IP-V6 permet donc de disposer de beaucoup plus de capacit d'adressage, alors que la capacit de l'IP-V4 commence tre insuffisante pour les besoins du web. Cependant, l'IP-V4 constitue encore l'adressage de base sur internet et le constituera srement encore pendant quelques annes.


Le schma suivant reprsente le mcanisme TCP-IP d'adressage des processus sur internet:


Adressage des processus


COMMENTAIRES:

  • Le schma ci-dessus reprsente deux machines connectes internet (machines A et B). Le reste du rseau internet est volontairement reprsent par un nuage, car on n'a pas besoin de connatre sa structure interne.
  • La machine A est connecte internet par deux points de connexion physique diffrents. Ces connexions sont repres par les adresses IP 192.43.127.78 et 201.85.67.22. La machine B est connecte internet par une seule connexion physique, dont l'adresse IP est 177.28.76.43.
  • Dans la machine A s'excute le processus logiciel A1. Celui-ci a dclar 3 ports, de numros 5110, 5300 et 4203. Le processus A1 est en cours de communication sur les sockets [192.43.127.78 + 5110], [192.43.127.78 + 5300], [201.85.67.22 + 5300], et [201.85.67.22 + 4203]. On peut supposer que chacun des trois ports ouverts par le processus A1 correspond un service particulier que ce processus peut offrir.
  • Dans la machine B s'excutent les processus logiciel B1 et B2. Le processus B1est en cours de communication sur son port 5300, via l'adresse IP 177.28.76.43 (donc, sur le socket rseau [177.28.76.43+5300]). Il communique galement sur le socket [177.28.76.43+6000].
  • Pour envoyer un message vers le port 5110 du processus A1, un processus s'excutant sur la machine B devra donc utiliser soit le socket [192.43.127.78, 5110], soit le socket [201.85.67.22, 5110].

V.5.3.PROTOCOLE TCP ET MECANIQUE DE TRANSMISSION PAR PAQUETS:

V.5.3.1.JUSTIFICATION:

Lorsqu'un processus du niveau des services applicatifs doit transmettre un message un processus distant, il utilise des mcanismes du niveau des services rseau: sur internet, ces mcanismes sont ceux qui supportent la suite de protocoles TCP-IP.
Cette activation se traduit par le lancement de logiciels accompagn de la fourniture des donnes transmettre. Celles-ci sont parfois trs volumineuses: elles peuvent, par exemple, correspondre au contenu d'un fichier photographique de plusieurs mga-octets. Si de tels volumes de donnes pouvaient tre transmis en un seul bloc sur internet, occupant ainsi certains segments de mdia pendant plusieurs secondes, ils bloqueraient pendant cette dure les transmissions en provenance d'autres machine, y compris les messages courts ou urgents. Le rsultat en termes de rendement serait catastrophique.
De ce fait, le protocole TCP inclue un mcanisme qui segmente les messages volumineux en PAQUETS de dimensions plus modestes (moins de 65536 octets).


V.5.3.2.PRINCIPES DE FONCTIONNEMENT:

Ce procd permet d'intercaler sur le mdia des paquets appartenant diffrents messages. Ainsi, un message court M2 peut tre transmis sans attendre la fin d'un autre message M1, mme si celui-ci est en cours de transmission, en intercalant ses paquets dans les paquets de M1:


Segmentation en paquets


Ce mcanisme de segmentation implique la mise en oeuvre d'un mcanisme de rassemblage des paquets chez le rcepteur. Pour contrler ce procd, viter les erreurs (perte de paquets, mauvais rassemblage, etc.) ou recommencer la transmission si ncessaire, un certain nombre d'octets de de service sont ajouts aux donnes de chaque paquet:
  • Un numro de squence qui permet de reprer l'ordre de chaque paquet dans le message).
  • Le numro de port du destinataire.
  • Et d'autres paramtres qu'il est inutile de dtailler ici...
Ces octets de service sont nomms enveloppe TCP. En rsum, la sortie des mcanismes TCP:
un MESSAGE application => Une suite de PAQUETS Un PAQUET = [ Un SEGMENT DE MESSAGE] + [une ENVELOPPE TCP (octets de service)]

V.5.3.3.MECANISMES DE SECURISATION:

Le protocole TCP de transmission par paquets est trs scuris. En effet, la rception de chaque paquet par le destinataire donne lieu l'envoi d'un message d'acquittement vers l'metteur. Ce mcanisme, associ la gestion des numros de squences, permet l'metteur de s'assurer que ces paquets ont bien t transmis, ou bien, en cas de dysfonctionnement, de rpter les envois dfectueux. Le rcepteur d'un paquet doit donc pouvoir identifier son metteur durant toute la dure de la transmission. De ce fait, on dit que TCP est un protocole de transport en MODE CONNECTE.


L'avantage de TCP est la grande scurisation des changes de donnes. L'inconvnient est que l'on ne peut garantir la dure d'une transmission. De ce fait, TCP possde une variante non scurise, sans mcanisme de segmentation ni d'acquittement, le sous-protocole Unconnected Datagram Protocol (U.D.P). Certaines applications rseau n'exigeant pas une grande scurit de transmission ou bien assurant elles-mme cette scurit, utilisent U.D.P. plutt que TCP.


V.5.4.PROTOCOLE IP ET ROUTAGE INTER-RESEAUX:

Nous avons vu que, d'un point de vue physique, INTERNET tait constitu par l'interconnexion de diffrentes DORSALES haut dbit. Chacune de ces dorsale, qui constitue un sous-rseau, peut utiliser des solutions technologiques qui lui sont propres. De ce fait, les modalits de transmission des informations (codage, protocole de liaison entre les htes, etc.) peuvent tre totalement diffrentes d'une dorsale l'autre. Il en est de mme en ce qui concerne les rseaux locaux raccords internet. De ce fait, le passage d'un sous-rseau un autre par un point d'interconnexion ncessite un travail de transcodage des informations.


D'autre part, les systmes d'adressage physique entre les htes d'un rseau dpendent aussi de la technologie utilise. Il peuvent donc tre diffrents et incompatibles d'un rseau l'autre. Un hte donn ne peut donc pas, en utilisant le mcanisme d'adressage propre la technologie de son rseau, adresser des informations un hte d'un rseau diffrent. TCP-IP rsoud le problme en utilisant un mcanisme de ROUTAGE INTER-RESEAUX, support par des quipements d'interconnexion appels ROUTEURS. Les routeurs sont quips de logiciels mettant en oeuvre le mcanisme de routage du protocole IP (Internet Protocol), dont voici la description sommaire:


Routage inter-reseaux


COMMENTAIRES:

Le schma ci-dessus reprsente l'interconnexion de deux rseaux locaux par l'intermdiaire d'un routeur.


A chaque point de connexion d'un hte, l'adresse physique et l'adresse logique de la connexion sont reprsentes par les symbles AP1 (adresse physique 1), AL1 (adresse logique 1), AP2, AL2, etc...


A l'intrieur de chaque rseau local, les htes peuvent communiquer entre eux en utilisant les adresses physiques (ex: l'intrieur du rseau R1, tous les htes sont reprs par leurs adresses physiques AP1, AP2, AP3. Ils peuvent donc communiquer en utilisant ces adresses, par les mcanismes du niveau gestion du lien physique). En revanche, les htes du rseau R1 ne peuvent pas forcment connatre les adresses physiques du rseau R2. En effet, ces adresses dpendent des composants de liaison dont la gestion ne dpend pas forcment de l'administrateur de R1. De plus, le format de ces adresses, dpendant de la technologie de liaison employe pour R2, n'est pas forcment compatibles avec les mcanismes de liaison disponibles sur R1.


Un hte de R1 ne peut donc pas utiliser l'adresse physique d'un hte de R2 pour lui adresser des donnes. En revanche, il peut utiliser son adresse logique, qui ne dpend pas de la technologie de liaison et qui est valable sur tout l'ensemble des rseaux interconnects. Le mcanisme est le suivant:
  • L'hte de R1 expdie sur le mdia de R1 un message contenant l'adresse logique du destinataire (ex: AL4) et l'adresse physique du routeur sur le rseau R1 (AP7).
  • Le routeur reconnat son adresse physique dans l'enveloppe de la couche liaison des trames. Il rcupre alors (dans l'enveloppe de la couche rseau) l'adresse logique du destinataire (AL4).
  • Le routeur maintient en permanence une table de correspondance (TABLE DE ROUTAGE) entre les adresses physiques et les adresses logiques de chaque rseau, grce un protocole particulier appel A.R.P. (Adress Resolution Protocol). Il est donc capable de dterminer quelle adresse physique correspond l'adresse logique AL4 (c'est dire AP4). Il remplace donc dans les trames l'adresse physique AP7 par AP4, puis il met le message sur le rseau R2.
  • L'hte d'adresse physique AP4 est donc en mesure de recevoir ce message, puisqu'il est bien adress son adresse physique.
  • S'il existait plusieurs routeurs entre l'metteur et le destinataire, chaque routeur intermdiaire, constatant que le destinataire n'est pas dans sa table de routage, adresserait le message au routeur suivant, jusqu' ce que le rseau du destinataire soit atteint.

V.5.5.TCP-IP ET LE MODELE CLIENT-SERVEUR:

V.5.5.1.RAPPELS SUR LE MODELE CLIENT-SERVEUR ET CONSEQUENCES:

Nous avons vu que sur internet, la communication fonctionnait suivant le modle CLIENT-SERVEUR, dont nous rappellerons les particularits suivantes:
  • Lors d'une transaction entre client et serveur, c'est toujours le client qui prend contact avec le serveur et non l'inverse.
  • Chaque client, en fonction de ses besoins, tablit un contact avec le serveur afin de lui adresser une demande de service appele REQUETE. Lorsque le serveur a satisfait cette requte, le client peut rompre le contact et il n'est pas ncessaire que le serveur conserve une trace de lui;
De ce qui prcde, on peut dduire qu'un client peut tre une entit ephmre: un processus est lanc dans une machine, ce processus tablit le contact avec le processus serveur, demande un service, puis romp le contact et disparat. En revanche, le processus serveur doit tre une entit durable, car il faut qu'il reste l'coute des demandes des clients sur ses diffrents ports.


De ce fait, la machine supportant le serveur doit imprativement possder tout moment une adresse logique unique et fixe sur le rseau: dans le cas contraire, aucun client ne pourrait la contacter. En revanche, un client n'a besoin de possder une adresse logique que durant la transaction avec le serveur. Celui-ci aura alors besoin de cette adresse pour lui renvoyer les messages ncessaires la transaction). L'adresse du client peut donc tre envoye au serveur uniquement au moment de la prise de contact. Elle peut varier chaque transaction.


Au moment de l'tablissement du contact du client avec le serveur, celui-ci a besoin de connatre le numro de port sur lequel on peut tablir la communication avec ce serveur. Ce numro de port doit donc rester disponible en permanence. En revanche, le numro de port du processus client peut tre cr uniquement au dbut de la transaction et transmis au serveur lors de l'tablissement du contact avec celui-ci.


V.5.5.2.CAS DE TCP-IP ET DU WEB:

TCP-IP permet la communication suivant un modle CLIENT-SERVEUR. En effet:
  • Lors de l'ouverture d'une communication, un processus donn peut tre dclar CLIENT ou SERVEUR.
  • Un processus dclar CLIENT peut communiquer uniquement avec un SERVEUR.
  • Un SERVEUR peut traiter simultanment plusieurs CLIENTS.
Lorsqu'un processus se dclare en tant que SERVEUR TCP, il se met immdiatement en attente de DEMANDES DE CONNEXION d'ventuels CLIENTS TCP. Lorsqu'il dtecte une telle demande, il renvoie ce client un message d'acceptation, en utilisant l'adresse IP et le numro de port trouv dans la demande de connexion. La communication entre le client et son serveur peut alors se drouler, jusqu' la survenue d'un message de dconnexion de la part du client. Aprs dconnexion, le serveur perd toute trace du client, et celui-ci devra se reconnecter pour pouvoir de nouveau communiquer avec le serveur. Plusieurs clients peuvent tre connects simultanment au mme serveur.


Les htes internet qui offrent des services permanents, tels que l'accs des sites web, le tlchargement de fichier ou la messagerie lectronique sont dclars en tant que SERVEURS (serveur web, serveurs de messagerie, etc.), alors que les logiciels des usagers fonctionnent en tant que CLIENTS (votre navigateur est un CLIENT WEB, outlook est un CLIENT DE MESSAGERIE, etc.).


V.5.6.ATTRIBUTION DES ADRESSES I.P. AUX HOTES D'INTERNET:

V.5.6.1.ATTRIBUTION DES ADRESSES IP AUX POSTES CLIENTS:

En vertu des remarques exprimes plus haut, les htes internet abritant uniquement des logiciels CLIENTS ne sont obligs de disposer d'une adresse IP valable sur le net que durant leur connexion un SERVEUR. En dehors de ces priodes, elle leur est inutile. Une adresse IP leur est fournie par leur Fournisseur d'Accs Internet (F.A.I.) lors de leur connexion celui-ci.
Ds que le poste client s'est vu attribuer cette adresse IP par son F.A.I, il devient visible sur le net comme n'importe quel hte, et ceci, jusqu' ce qu'il se dconnecte de son F.A.I. Il peut donc dialoguer sur le net en utilisant TCP-IP, et mme, la rigueur, lancer un serveur chez lui.
Une fois le client dconnect, il perd son adresse IP et le F.A.I. peut rattribuer celle-ci un autre hte. Un client change donc d'adresse IP chaque fois qu'il se connecte (ou reconnecte) son F.A.I.


REMARQUE:
On estime qu'un poste informatique quelconque crant une connexion TCP-IP sur internet dispose d'une dizaine de minutes en moyenne avant de subir une attaque quelconque. Or, mener une telle attaque exige d'utiliser l'adresse IP du poste. Il n'est donc pas trs raisonnable, mme si l'on dispose d'un pare-feu et d'un anti-virus performant et jour, de laisser son ordinateur connect en permanence internet: quelques dconnexions-reconnexions de temps autres permettent de changer l'adresse IP du poste, ce qui complique considrablement le travail d'ventuels hackers.


V.5.6.2.ATTRIBUTION DES ADRESSES IP AUX POSTES SERVEURS:

En revanche, les postes abritant des logiciels serveurs doivent presque obligatoirement disposer d'adresses IP fixes (voir remarque ci-dessous). Il est donc difficile de connecter ces postes par l'intermdiaire de fournisseurs d'accs. De ce fait, les postes serveurs sont la plupart du temps relis directement aux dorsales internet par des lignes ddies.


REMARQUE:
En fait, il ne serait pas impossible de connecter un serveur par l'intermdiaire d'un fournisseur d'accs, condition de pouvoir faire une mise jour des systmes de rsolution de noms de domaines (D.N.S) chaque fois que l'adresse IP du serveur change (voir les chapitres suivant).


L'attribution d'adresses IP permanentes sur internet est contrle par des organismes nationaux et internationaux de rgulation. Chaque fournisseur d'accs dispose d'un certain nombre d'adresses disponibles pour les clients qui accdent internet par son intermdiaire. Ce nombre tant forcment limit, il est possible qu' certaines heures de forte utilisation du rseau, votre F.A.I. n'ait plus d'adresse disponible: ceci peut expliquer certains refus de connexion ou mme certaines dconnexions intempestives.


Retour accs cours Retour sommaire cours