Cours : Rappels sur l'interconnexion de réseau et le protocole TCP/IP
1 Le modèle client serveur
1.1 Introduction
Le modèle de communication client serveur est un modèle de communication asymétrique. D'un côté, le serveur ouvre un service
et attend des requêtes provenant de clients. Pour chacune de ces requêtes, le serveur effectue un traitement puis renvoie
une réponse. De l'autre côté, le client émet des requêtes, puis attend la réponse du serveur. Le client et le serveur étant
placés sur des machines différentes, la communication entre ces deux entités s'effectue par messages.
1.2 Les différents types de serveur
Il est possible de caractériser un serveur selon deux critères :
Définition : Serveur itératif
Un serveur itératif est un serveur qui ne peut traiter qu'une seule requête client à la fois. Il est composé d'un processus
unique qui effectue les opérations de réception de requêtes, de traitement de requêtes et d'émission des réponses.
Définition : Serveur parallèle
Un serveur parallèle est un serveur qui peut traiter plusieurs requêtes client à la fois. Il est composé d'un processus père
qui effectue les opérations de réception de requêtes et pour chaque requête reçue, d'un processus fils qui effectue le traitement
de la requête et l'émission de la réponse.
Définition : Serveur sans état
Un serveur sans état est un serveur qui ne conserve aucune informations sur les requêtes en cours de traitements. C'est un
serveur sans mémoire qui en cas de panne, repart "à zéro".
Définition : Serveur à états
Un serveur à état est un serveur qui conserve, sur un support non volatile, des informations sur les requêtes en cours de
traitements. C'est un serveur à mémoire qui en cas de panne, peut restaurer une partie de son état au moment de la panne et
reprendre des requêtes en cours.
2 L'interconnexion de réseau
Linterconnexion de réseaux a pour but dinterconnecter entre eux des réseaux hétérogènes. Le but recherché est de créer un
réseau virtuel qui masque complètement les réseaux physiques empruntés. Une machine M1 dialoguant avec une machine M2 passe
par différents réseaux physiques sans en avoir conscience. Le masquage des réseaux physiques empruntés suppose de disposer
de deux éléments :
- Il faut un adressage des différentes machines appartenant au réseau virtuel construit indépendamment de ladressage physique
particulier à chaque réseau traversé : Cest ladressage IP.
- Il faut un protocole de trans
port
de bout en bout permettant dacheminer les données dune machine M1 vers la machine M2 à travers le réseau virtuel : cest
la pile de protocoles TCP/IP.
2.1 Ladressage IP dans le réseau virtuel
Dans le réseau virtuel, une machine est désignée par une adresse que lon appelle ladresse IP. Une adresse IP est un entier
32 bits divisé en deux parties : une partie adresse du réseau et une partie adresse de la machine dans le réseau. Comme le
montre la figure ci-dessous, il existe trois classes dadresse IP, la classe A, le la classe B, et la classe C, qui permettent
chacune dadresser plus ou moins de machines dans un réseau. On associe à une
adresse IP
une notation que lon appelle la notation décimale pointée qui associe à chacun des octets composant lentier de 32 bits sa
valeur décimale séparé par un point.
Définition : Adresse IP
Une adresse IP est un entier 32 bits divisé en deux parties : une partie adresse du réseau et une partie adresse de la machine
dans le réseau. Elle permet de désigner une machine dans linterconnexion de réseau. On associe à une adresse IP une notation
que lon appelle la notation décimale pointée qui associe à chacun des octets composant lentier de 32 bits sa valeur décimale
séparé par un point. Exemple : 128.163.10.12.
 |
Fig 1 : Ladressage IP
|
|
À chaque adresse IP, correspond un nom symbolique formé de caractères alphanumériques. La composition du nom symbolique repose
sur la notion de domaine. Le domaine correspond à un groupe géographique (fr, jp) ou institutionnel (com , mil, edu). Le nom
symbolique dune machine est alors formé de son nom suivi de lensemble des domaines auxquels elle appartient, chaque élément
étant séparés par un point. Ainsi la machine fermi.cnam.fr correspond à la machine de nom fermi dans le domaine cnam, appartenant
lui-même au domaine fr. Le nom symbolique est utilisé pour désigner une machine parce quétant composés de caractères alphanumériques,
il est plus aisément manipulable par un être humain. Ce
nom symbolique
ne correspond à rien pour le réseau virtuel et doit être converti en ladresse IP correspondante. Cette conversion seffectue
grâce à des serveurs de nom et sappelle la résolution de noms. Enfin lors de la traversée des réseaux physiques, ladresse
IP doit être reconvertie vers ladresse physique du réseau, par exemple ladresse ethernet pour un réseau de type Ethernet.
Cette conversion de ladresse IP vers ladresse physique s'appelle la résolution dadresses.
Définition : Nom symbolique
À chaque adresse IP, correspond au nom symbolique formé de caractères alphanumériques. La composition du nom symbolique repose
sur la notion de domaine. Le domaine correspond à un groupe géographique (fr, jp) ou institutionnel (com , mil, edu). Le nom
symbolique d'une machine est alors formé de son nom suivi de l'ensemble des domaines auxquels elle appartient, chaque élément
étant séparés par un point. Exemple : fermi.cnam.fr.
 |
Fig 2 : Ladressage dans linterconnexion de réseau
|
|
2.2 La couche de protocoles TCP/IP
La figure 3 ci-dessous représente la couche de protocoles pour linterconnexion de réseaux, cette couche de protocoles étant
couramment appelée couche de protocole TCP/IP. La couche IP correspond au niveau réseau. Elle permet de faire un adressage
de machine à machine par le biais des adresses IP de chacune des machines. La communication au niveau de la couche IP est
une communication en mode minimal, cest-à-dire en mode non connecté et sans fiabilité : il ny a pas de garantie de bon transfert
des datagrammes IP, lesquels sont acheminés indépendamment les uns des autres. La remise peut être faite dans le désordre,
il peut y avoir perte de datagrammes ainsi que des duplications.
 |
Fig 3 : La pile de protocoles TCP/IP
|
|
La couche supérieure UDP/TCP correspond au niveau transport. A ce niveau, ladressage seffectue dapplications à applications
par le biais de la notion de port. Un port est un entier de 16 bits qui permet de désigner une application à travers le réseau.
Pour chacun des protocoles transport, il existe des ports. Parmi ces ports, certains sont réservés aux applications courantes
du réseau. Par exemple le port UDP 513 correspond à lapplication who. Le port TCP 21 correspond à lapplication ftp tandis
que le
port
TCP 23 correspond à lapplication telnet.
Définition : Port
Le port est un entier de 16 bits permettant dadresser une application sur la couche de protocole TCP/IP.
Le protocole UDP est en protocole transport non fiable basé sur IP. Les datagrammes UDP sont acheminés indépendamment les
uns des autres, il sensuit quil peut y avoir perte de datagrammes, duplication de datagrammes et la remise nest pas forcément
effectuée selon lordre démission. Le protocole TCP/IP, au contraire est un protocole de transport fiable orienté connexion,
également basé sur IP. Avant léchange des données, une connexion est établie entre les deux entités communicantes : cette
connexion est fiable : il ne peut pas y avoir de perte de messages, il n'y a pas de duplication et la remise seffectue dans
lordre démission.
Communication inter processus sur le réseau
Rappels sur l'interconnexion de réseau et le protocole TCP/IP
|