Cours Réseaux Informatiques Description et usages
Cours Réseaux Informatiques Description et usages
...
Les travaux de l'ARPA (Advanced Research Project Agency) débutèrent au milieu des années 70 et avaient pour but de développer un réseau à commutation de paquets pour relier ses centres de recherches dans le but de partager des équipements informatiques et échanger des données et du courrier. Le but était de concevoir un réseau résistant à des attaques militaires. Il ne fallait donc pas qu'il comporte de points névralgiques dont la destruction aurait entraîné l'arrêt complet du réseau. C'est ainsi, que dès le départ le réseau ARPANET fut conçu sans n ud particulier le dirigeant, et de telle sorte que si une voie de communication venait à être détruite, alors le réseau soit capable d'acheminer les informations par un autre chemin. C'est vers 1980 qu'est apparu le réseau Internet, tel qu'on le connaît maintenant, lorsque l'ARPA commença à faire évoluer les ordinateurs de ses réseaux de recherche vers les nouveaux protocoles TCP/IP et qu'elle se mit à subventionner l'université de Berkeley pour qu'elle intègre TCP/IP à son système d'exploitation Unix (BSD). Ainsi la quasi totalité des départements d'informatique des universités américaines put commencer à se doter de réseaux locaux qui en quelques années seront interconnectés entre eux sous l'impulsion de la NSF (National Science Foundation).2 Même si dès son origine Internet comprenait des sociétés privées, celles-ci étaient plus ou moins liées à la recherche et au développement, alors qu'à l'heure actuelle les activités commerciales s'y sont considérablement multipliées, et ceci surtout depuis l'arrivée du web en 1993.
Figure 2.1: Les grandes dates d'Internet.
La figure 2.1 (source ISOC, www.isoc.org) donne un résumé des grandes étapes de l'évolution d'Internet au niveau mondial qui comportait en 1996 plus de 100 000 réseaux différents permettant de regrouper presque 10 millions d'ordinateurs dans le monde. Mais les statistiques sont difficiles à établir et sont parfois fantaisistes ou biaisées par des considérations politiques ou commerciales.
Figure: Évolution du nombre de machines connectées à Internet
Une bonne source d'information est encore l'ISOC dont sont extraites les données de la figure 2.2. Pour ce qui est de la France, après des tentatives avortées de constitution d'un réseau de la recherche, puis l'apparition du réseau EARN (European Academic and Research Network) basé sur des protocoles et des ordinateurs IBM, un début de réseau bâti sur des ordinateurs Unix et TCP/IP apparu sous le nom de FNET. C'est à la fin des années 80 que les campus universitaires s'équipèrent massivement de réseaux Ethernet et créèrent des réseaux régionaux basés sur TCP/IP. L'ouverture à l'Internet mondial (à l'époque presque exclusivement nord-américain) eut lieu en 1988 et ensuite la création de Renater (RÉseau National de Télécommunications pour l'Enseignement et la Recherche) en 1994 sont les grandes dates de l'évolution d'Internet en France.
Comme l'ensemble des protocoles TCP/IP n'est pas issu d'un constructeur unique, mais émane de la collaboration de milliers de personnes à travers le monde, une structure de fonctionnement originale a été imaginée dès le début. Après des évolutions successives, c'est maintenant l'IAB (Internet Architecture Board) qui est le comité chargé de coordonner l'architecture, les orientations, la gestion et le fonctionnement d'Internet. L'IAB comporte deux branches principales :
- l'IETF (Internet Engineering Task Force, www.ietf.org) s'occupe des problèmes techniques à court et moyen terme et est divisé en 9 zones (applications, sécurité, routage et adressage, etc...) chacune dotée d'un responsable.
- l'IRTF (Internet Research Task Force, www.irtf.org) coordonne les activités de recherche relatives à TCP/IP.
Par ailleurs, il existe l'ISOC (The Internet Society ) qui est liée à l'IAB et qui aide ceux qui souhaitent s'intégrer à la communauté d'Internet. De nombreux renseignements sur le fonctionnement et les organismes liés à Internet sont disponibles sur le web de l'ISOC www.isoc.org.
Aucun constructeur, ou éditeur de logiciel, ne peut s'approprier la technique TCP/IP, les documentations techniques sont donc mises à disposition de tous par l'INTERNIC (Internet Network Information Center à partir de son site web ds.internic.net/ds/dspg1intdoc.html). Les documents relatifs aux travaux sur Internet, les nouvelles propositions de définition ainsi que les modifications de protocoles, tous les standards TCP/IP, y sont publiés sous la forme de RFC (Request For Comments, appels à commentaires). Tous les RFC sont publiés par un membre de l'IAB et sont numérotés séquentiellement, une proposition de RFC s'appelle un Internet Draft qui sera discuté, modifié, et enfin adopté ou rejeté par les membres du domaine concerné par la note technique.
2.2 Architecture des protocoles TCP/IP.
Figure 2.3: Architecture d'une pile TCP/IP
Les logiciels TCP/IP sont structurés en quatre couches de protocoles qui s'appuient sur une couche matérielle comme illustré dans la figure 2.3.
- La couche de liens est l'interface avec le réseau et est constituée d'un driver du système d'exploitation et d'une carte d'interface de l'ordinateur avec le réseau.
- La couche réseau ou couche IP (Internet Protocol) gère la circulation des paquets à travers le réseau en assurant leur routage. Elle comprend aussi les protocoles ICMP (Internet Control Message Protocol) et IGMP (Internet Group Management Protocol)
- La couche transport assure tout d'abord une communication de bout en bout en faisant abstraction des machines intermédiaires entre l'émetteur et le destinataire. Elle s'occupe de réguler le flux de données et assure un transport fiable (données transmises sans erreur et reçues dans l'ordre de leur émission) dans le cas de TCP (Transmission Control Protocol) ou non fiable dans le cas de UDP (User Datagram Protocol). Pour UDP, il n'est pas garanti qu'un paquet (appelé dans ce cas datagramme) arrive à bon port, c'est à la couche application de s'en assurer.
- La couche application est celle des programmes utilisateurs comme telnet (connexion à un ordinateur distant), FTP (File Transfert Protocol), SMTP (Simple Mail Transfert Protocol), etc...
Figure: Communication entre deux machines du même réseau
Cette architecture et ces différents protocoles permettent de faire fonctionner un réseau local, par exemple sur un bus Ethernet reliant un ordinateur client A qui interroge un serveur FTP B, comme illustré dans la figure 2.4 Mais, ceci permet surtout de constituer un internet, c'est-à-dire une interconnexion de réseaux éventuellement hétérogènes comme illustré dans la figure 2.5.
Figure: Interconnexion de deux réseaux
Ici les ordinateurs A et B sont des systèmes terminaux et le routeur est un système intermédiaire. Comme on peut le voir, la remise du datagramme nécessite l'utilisation de deux trames différentes, l'une du réseau Ethernet entre la machine A et le routeur, l'autre du réseau Token-Ring entre le routeur et la machine B. Par opposition, le principe de structuration en couches indique que le paquet reçu par la couche transport de la machine B est identique à celui émis par la couche transport de la machine A.
Lorsqu'une application envoie des données à l'aide de TCP/IP les données traversent de haut en bas chaque couche jusqu'à aboutir au support physique où elles sont alors émises sous forme se suite de bits.
Figure: Encapsulation des données par la pile des protocoles TCP/IP.
L'encapsulation illustrée dans la figure 2.6 consiste pour chaque couche à ajouter de l'information aux données en les commençant par des en-têtes, voire en ajoutant des informations de remorque. Dans le cas du protocole UDP à la place de TCP, les seuls changements sont que l'unité d'information passé à IP s'appelle un datagramme UDP dont l'en-tête a une taille de 8 octets.
2.3 Adressage.
Chaque ordinateur du réseau Internet dispose d'une adresse IP unique codée sur 32 bits. Plus précisément, chaque interface dispose d'une adresse IP particulière. En effet, un même routeur interconnectant 2 réseaux différents possède une adresse IP pour chaque interface de réseau. Une adresse IP est toujours représentée dans une notation décimale pointée constituée de 4 nombres (1 par octet) compris chacun entre 0 et 255 et séparés par un point. Ainsi 193.49.144.1 est l'adresse IP d'une des principales machines du réseau de l'université d'Angers.
Figure 2.7: Les cinq classes d'adressses IP
Plus précisément, une adresse IP est constituée d'une paire (id. de réseau, id. de machine) et appartient à une certaine classe (A, B, C, D ou E) selon la valeur de son premier octet, comme détaillé dans la figure 2.7. Le tableau ci-après donne l'espace d'adresses possibles pour chaque classe.
classe adresses
A 0.0.0.0 à 127.255.255.255
B 128.0.0.0 à 191.255.255.255
C 192.0.0.0 à 223.255.255.255
D 224.0.0.0 à 239.255.255.255
E 240.0.0.0 à 247.255.255.255
Ainsi, les adresses de classe A sont utilisées pour les très grands réseaux qui comportent plus de 216=65 536 ordinateurs. Au niveau mondial, il ne peut exister plus de 127 tels réseaux, par exemple celui de la défense américaine ou du MIT, mais la politique actuelle est de ne plus définir de tels réseaux. Les adresses de classe B sont utilisées pour les réseaux ayant entre 28=256 et 216=65 536 ordinateurs, 14 bits définissent l'adresse du réseau et 16 bits celle d'une machine sur le réseau. Seules 256 machines sont possibles sur un réseau de classe C dont le nombre possible dépasse les 2 millions (=221). L'obtention d'une adresse IP pour créer un nouveau réseau est gérée par l'INTERNIC de manière décentralisée, à savoir qu'un organisme national gère les demandes pour chaque pays. En France c'est l'INRIA (Institut National de Recherche en Informatique et Automatique) qui est chargé de cette tâche. Au lieu d'utiliser un adressage plat 1, 2, 3, ... la méthode retenue est plus efficace car elle permet une extraction rapide du numéro de réseau à l'intérieur d'une adresse IP ce qui facilitera le routage.
Toutes les combinaisons mathématiquement possibles pour identifier un réseau ou une machine ne sont pas permises car certaines adresses ont des significations particulières.
- 0.0.0.0 est utilisée par une machine pour connaître sa propre adresse IP lors d'une processus d'amorçage par exemple
- <id. de réseau nul>.<id. de machine> est également utilisée pour désigner une machine sur son réseau lors d'un boot également
- <id. de réseau>.<id. de machine nul> n'est jamais affectée à une machine car elle permet de désigner le réseau lui-même
- <id. de réseau>.<id. de machine avec tous ses bits à 1> est une adresse de diffusion ou de broadcasting, c'est-à-dire qu'elle désigne toutes les machines du réseau concerné. Un datagramme adressé à cette adresse sera ainsi envoyé à toutes les machines du réseau.
- 255.255.255.255 est une adresse de diffusion locale car elle désigne toutes les machines du réseau auquel appartient l'ordinateur qui utilise cette adresse. L'avantage par rapport à l'adresse précédente est que l'émetteur n'est pas obligé de connaître l'adresse du réseau auquel il appartient.
- 127.X.Y.Z est une adresse de rebouclage qui est utilisée pour permettre les communications inter-processus sur un même ordinateur ou réaliser des tests de logiciels car tout logiciel de communication recevant des données pour cette adresse les retourne simplement à l'émetteur.
- Les adresses de classe A de 10.0.0.0 à 10.255.255.255, de classe B de 172.16.0.0 à 172.31.255.255 et de classe C de 192.168.0.0 à 192.168.255.255 sont réservées à la constitution de réseaux privés autrement appelés intranet2.1.
Le système des adresses IP permet également la définition d'adresses de sous-réseaux en découpant la partie réservée à l'adresse des machines sur un réseau en deux parties dont la première sera un identificateur de sous-réseau. Ainsi un seul réseau de classe B, sur lequel on pourrait nommer 65 536 machines pourra être décomposé en 254 sous-réseaux de 254 machines, de la manière décrite ci-dessous.
<id. de réseau sur 16 bits>.<id. de sous-réseau sur 8 bits>.<id. de machine sur 8 bits>
L'administrateur d'un réseau peut décider de découper où il veut la zone des identificateurs de machines, mais le découpage «autour du .» facilite le travail des routeurs. On peut également adopter le même principe pour un réseau de classe C. Cette technique a pour effet de provoquer un routage hiérarchique.
Figure: Adressage de sous-réseau
La figure illustre le cas d'un réseau X.Y.0.0 découpé en deux sous-réseaux X.Y.1.0 et X.Y.2.0. Pour tout le reste d'Internet, il n'existe qu'un seul réseau X.Y.0.0 et tous les routeurs traitent les datagrammes à destination de ce réseau de la même façon. Par contre, le routeur R se sert du troisième octet (égal à 1 ou 2) de l'adresse contenue dans les datagrammes qui lui proviennent pour les diriger vers le sous-réseau auquel ils sont destinés assurant ainsi un routage hiérarchique.
Outre l'adresse IP, une machine doit également connaître le nombre de bits attribués à l'identificateur du sous-réseau et à celui de la machine. Cette information est rendue disponible grâce à un masque de sous-réseau ou subnet netmask qui est un mot de 32 bits contenant des bits à 1 au lieu et place de l'identificateur de réseau et de sous-réseau et des bits à 0 au lieu et place de l'identificateur de machines. Ainsi le masque2.2255.255.255.0 indique que les 24 premiers bits d'une adresse désignent le sous-réseau et les 8 derniers une machine. Le masque 255.255.255.192 ( (192)10=(11000000)2) indique que les 26 premiers bits désignent le sous réseau et les 6 derniers une machine. De cette manière à partir de l'adresse d'un datagramme et de son masque de sous-réseau une machine peut déterminer si le datagramme est destiné à une machine sur son propre sous-réseau, à une machine sur un autre sous-réseau de son réseau ou à une machine extérieure à son sous-réseau. Par exemple, dans le cadre du réseau de la figure où le masque de sous-réseau est 255.255.255.0 supposons que notre machine soit celle identifiée par l'adresse IP X.Y.1.2.
- Si l'adresse de destination est X.Y.1.1, un «et» entre la représentation binaire de cette adresse est de celle du masque de sous-réseau donne X.Y.1.0 à savoir l'adresse du sous-réseau de notre machine, donc le datagramme est destiné à une machine de ce même sous-réseau.
- Si l'adresse de destination est X.Y.2.1, un calcul du même genre donne X.Y.2.0 c'est-à-dire l'adresse d'un autre sous-réseau du même réseau.
- Si l'adresse de destination est S.T.U.V (avec ) le résultat sera l'adresse d'un réseau différent de celui auquel appartient notre machine.
Bien que la numérotation IP à l'aide d'adresses numériques soit suffisante techniquement, il est préférable pour un humain de désigner une machine par un nom. Mais se pose alors le problème de la définition des noms et de leur mise en correspondance avec les numéros IP. Au début des années 80, le réseau ARPANET comportait un peu plus de 200 ordinateurs et chacun possédait un fichier /etc/hosts identifiant les noms de ces ordinateurs suivis de leur numéro IP. Lorsqu'une modification intervenait, il suffisait de mettre à jour ce fichier. Pour faire face à l'explosion du nombre d'ordinateurs reliés à Internet, il a été mis en place un système de base de données distribuées : le système de noms de domaines (DNS : Domain Name System) qui fournit la correspondance entre un nom de machine et son numéro IP.
Figure: Système de noms de domaines.
En fait, le DNS est un espace de noms hiérarchisé comme illustré dans la figure 2.9. Chaque n ud a un nom d'au plus 63 caractères et la racine de l'arbre a un nom nul (les minuscules et majuscules sont indifférenciées). Une zone est un sous-arbre de cette hiérarchie. Le nom de domaine d'un n ud est la concaténation de son nom avec celui de ses ancêtres dans l'arbre. La responsabilité du nommage est subdivisée par niveau, les niveaux supérieurs déléguant leur autorité aux sous-domaines qu'ils créent eux-mêmes. Il faut bien avoir à l'esprit que le découpage n'a dans certains cas aucune base géographique ; on trouve des domaines .com partout dans le monde.
Le mécanisme qui permet la résolution d'un nom en une adresse IP est géré par des serveurs de noms qui représentent une base de données distribuée des noms de domaine. Quand une personne a reçu l'autorité de gérer une zone elle doit maintenir au moins deux serveurs de noms : un primaire et un ou plusieurs secondaires. Les secondaires ont des serveurs redondants par rapport au primaire de manière à faire face à une défaillance d'un système. Lorsqu'une machine est ajoutée à une zone, l'administrateur de la zone doit ajouter son nom et son numéro IP dans le fichier disque du serveur primaire qui se reconfigure alors en fonction de ces nouvelles données. Quant à eux, les serveurs secondaires interrogent régulièrement (toutes les 3 h) le primaire et fait les mises à jour nécessaires en cas d'évolution de la base de données. Lorsqu'un serveur de noms reçoit une demande, il vérifie si le nom appartient à l'un des sous-domaines qu'il gère. Si c'est le cas il traduit le nom en une adresse en fonction de sa base de données et renvoie la réponse au demandeur. Sinon, il s'adresse à un serveur de nom racine qui connaît le nom et l'adresse IP de chaque serveur de noms pour les domaines de second niveau. Ce serveur de nom racine lui renvoie alors l'adresse d'un serveur de noms à contacter, et ainsi de suite, par interrogations successives de serveurs de noms il sera capable de fournir l'adresse demandée. Pour éviter de faire trop souvent de telles requêtes, tout serveur de noms stocke dans une mémoire cache les correspondances (numéro IP, nom de machine) de manière à pouvoir fournir la réponse immédiatement si une même demande lui parvient ultérieurement.
2.4 La couche liaison d'Internet.
Le but de la couche de liens de la pile TCP/IP est d'envoyer et recevoir des datagrammes IP pour la couche IP, d'envoyer des requêtes ARP (respt. RARP) et de recevoir des réponses pour le module ARP (respt. RARP). Nous examinons ici les caractéristiques des deux premières couches du modèle OSI (couches physique et de liens) dans le cas d'un réseau local Ethernet et d'une liaison série reliant un ordinateur à Internet via un modem connecté sur le port série de cet ordinateur.
...
2.4.1 Le réseau Ethernet
Ethernet est le nom donné à une des technologies les plus utilisées pour les réseaux locaux en bus. Elle a été inventée par Xerox au début des années 70 et normalisée par l'IEEE (Institute for Electrical and Electronics Engineers) vers 1980 sous la norme IEEE 802.
Tout d'abord, il existe plusieurs technologies physiques pour établir un réseau Ethernet.
- 10 base 5 ou thick Ethernet est un réseau à base de câble coaxial de 1,27 cm de diamètre, d'une longueur de 500 m maximum et terminé à chaque extrémité par une résistance. Chaque ordinateur est relié, par un cordon AUI Attachment Unit Interface), à un boîtier appelé transceiver lui-même connecté au câble par l'intermédiaire d'une prise « vampire ». Le transceiver est capable de détecter si des signaux numériques transitent sur le câble et de les traduire en signaux numériques à destination de l'ordinateur, et inversement.
- 10 base 2 ou thin Ethernet est un réseau à base d'un câble coaxial plus fin et plus souple, moins résistant aux perturbations électromagnétiques que le 10 base 5, mais d'un coût inférieur. Le transceiver et le câble AUI ne sont plus utiles car l'ordinateur est relié directement au câble par l'intermédiaire d'une prise BNC en T intégrée à la carte Ethernet de l'ordinateur.
- 10 base T ou twisted pair Ethernet est un réseau dans lequel chaque ordinateur est relié, par un câble de type paire torsadée, à un point central appelé hub qui simule l'effet d'un transceiver et de son câble AUI. La connexion des câbles se fait par l'intermédiaire d'une prise RJ45 et les hubs doivent être alimentés électriquement. Ils simulent ainsi le fonctionnement d'un bus alors que la topologie physique du réseau est une étoile.
Majoritairement, les réseaux Ethernet ont un débit de 10Mbit/s2.3 et les informations sont transmises sur le bus sans garantie de remise. Chaque transceiver capte toutes les trames qui sont émises sur le câble et les redirige vers le contrôleur de l'ordinateur qui rejettera les trames qui ne lui sont pas destinées et enverra au processeur celles qui le concernent, c'est-à-dire celles dont l'adresse de destination est égale à celle de la carte réseau. Comme il n'y a pas d'autorité centrale qui gère l'accès au câble, il est possible que plusieurs stations veuillent émettre simultanément sur le câble. C'est pourquoi chaque transceiver écoute le câble pendant qu'il émet des données afin de détecter des éventuelles perturbations. Si une collision est détectée par le transceiver, celui-ci prévient le coupleur qui arrête d'émettre et attend un laps de temps aléatoire compris entre 0 et une certaine durée avant de réémettre ses données. S'il y a encore un problème de collision, alors un nouveau temps d'attente est tiré au sort entre 0 et , puis entre 0 et , etc... jusqu'à ce que la trame soit émise. Ce principe est justifié par le fait que si une première collision se produit, il y a de fortes chances que les délais d'attente tirés au sort par chacune des 2 stations soient très proches, donc il ne sera pas surprenant d'avoir une nouvelle collision. En doublant à chaque fois l'intervalle des délais d'attente possibles on augmente les chances de voir les retransmissions s'étaler sur des durées relativement longues et donc de diminuer les risques de collision. Cette technologie s'appelle CSMA/CD (Carrier Sense Multiple Access with Collision Detect). Elle est efficace en générale mais a le défaut de ne pas garantir un délai de transmission maximal après lequel on est sûr que la trame a été émise, donc cela ne permet pas de l'envisager pour des applications temps réel.
Les adresses physiques Ethernet sont codées sur 6 octets (48 bits) et sont censées être uniques car les constructeurs et l'IEEE gère cet adressage de manière à ce que deux coupleurs ne portent pas la même adresse2.4. Elles sont de trois types
- unicast dans le cas d'une adresse monodestinataire désignant un seul coupleur
- broadcast dans le cas d'une adresse de diffusion générale (tous les bits à 1) qui permet d'envoyer une trame à toutes les stations du réseau
- multicast dans le cas d'une adresse multidestinataire qui permet d'adresser une même trame à un ensemble de stations qui ont convenu de faire partie du groupe que représente cette adresse multipoint.
On voit donc qu'un coupleur doit être capable de reconnaitre sa propre adresse physique, l'adresse de multicast, et toute adresse de groupe dont il fait partie.
Au niveau des trames, la normalisation IEEE 8022.5définit un format de trame légèrement différent de celui du véritable Ethernet. Ainsi, le RFC 894 définit les trames Ethernet et le RFC 1042 définit celles des réseaux IEE 802 comme illustré dans la figure 2.10.
Figure 2.10: Encapsulation Ethernet et IEEE 802.3.
Mais la variante la plus usitée est l'Ethernet.
Les deux trames utilisent des adresses matérielles source et destination de 6 octets (adresse Ethernet) et un CRC de 4 octets mais différent sur les points suivants.
- Dans le format Ethernet le troisième champ contient le type de données transmises selon que c'est un datagramme IP, une requête ou réponse ARP ou RARP. Puis, viennent les données transmises qui peuvent avoir une taille allant de 46 à 1500 octets. Dans le cas de données trop petites, comme pour les requêtes et réponse ARP et RARP (voir la sous-section 2.4.4) on complète avec des bits de bourrage ou padding.
- Dans le format IEEE 802, le troisième champ indique le nombre d'octets de la trame sans compter le CRC. Étant donné qu'aucune des valeurs possibles pour le champ type de la trame Ethernet ne peut représenter une longueur de trame, ce champ peut permettre de distinguer les encapsulations. Pour la sous-couche LLC le champ DSAP (Destination Service Access Point) désigne le ou les protocoles de niveau supérieur à qui sont destinées les données de la trame et le champ SSAP (Source Service Access Point) désigne le protocole qui a émis la trame. Ici leur valeur hexadécimale est AA, c'est-à-dire la valeur désignant le protocole SNAP (Sub-Network Access Protocol). Le champ de contrôle ctrl est mis égal à 3 et les 3 octets du champ org code sont mis à 0. Ensuite, on trouve le champ type qui a la même signification que celui de la trame Ethernet.
De nombreux équipements matériels interviennent dans la constitution physique d'un réseau Ethernet, ce paragraphe décrit quelques uns de ceux qui interviennent aux niveaux 1 et 2 du modèle OSI.
- Un répéteur opére de manière physique uniquement, donc au niveau de la couche 1 du modèle OSI. Il se contente de retransmettre et d'amplifier tous les signaux qu'il reçoit, sans aucun autre traitement. Un « hub » est un répéteur 10 base T multiport qui renvoie donc le signal qu'il reçoit par l'un de ses ports vers tous ses autres ports.
- Un pont est un équipement qui intervient dans l'architecture d'un réseau en reliant deux segments disjoints de ce réseau. Le pont appartient à la couche 2 du modèle OSI car il va filtrer les trames du réseau en fonction de leur origine et destination, mais il ne se préoccuppe pas du logiciel réseau de niveau supérieur (TCP/IP, DECNet, IPX, ...).
Figure 2.11: Fonctionnement d'un pont..
- Dans la configuration de la figure 2.11 le pont sera capable de déterminer que les ordinateurs A et B sont sur le segment 1 et les ordinateurs C et D sur le segment 2. Il peut obtenir ces informations car il « voit passer » toutes les trames provenant des ordinateurs appartenant aux deux segments qu'il relie et grâce aux adresses d'origine contenues dans les trames, il peut se construire une table d'adresses mémorisant la cartographie du réseau. Ainsi, si une trame est envoyée de A vers B, ou de C vers D, elle ne franchira pas le pont car celui-ci aura détecté que c'est inutile. Mais si la trame provenant de A est destinée à C ou D, elle le traversera sans aucun autre traitement.
- L'utilisation d'un pont peut ainsi améliorer le débit d'un réseau car toutes les trames ne sont pas transmises sur tout le réseau. D'autre part, cela peut permettre d'augmenter la confidentialité du réseau en isolant certains ordinateurs des autres de manière à ce que certaines trames soient impossibles à capturer par des ordinateurs « espions » collectionnant toutes les trames qui circulent sur le réseau, même celles qui ne lui sont pas destinées.
- Un commutateur est en fait un pont multiport qui va aiguiller chacune des trames qu'il reçoit vers le segment sur lequel se trouve l'ordinateur de destination de la trame. Cependant, chacun de ses ports est habituellement relié à un segment contenant un nombre restreint d'ordinateurs, voire à un seul s'il s'agit par exemple d'un serveur très sollicité.
2.4.2 La liaison SLIP
SLIP (Serial Link Internet Protocol, RFC 1055) est un protocole permettant d'envoyer des paquets IP entre deux ordinateurs reliés par une liaison série (par exemple, grâce à deux modems branchés sur les ports RS-232 et une ligne téléphonique). Dans ce cas il n'y a pas besoin de prévoir un adressage de niveau 2, puisque la liaison est point à point (une seule machine à chaque extrémité du lien). Par contre, il s'agit de délimiter le début et la fin des paquets IP. L'encapsulation d'un paquet IP avant de l'envoyer sur la ligne consiste simplement à le faire terminer par le caractère spécial END (Oxc0) comme illustré dans la figure 2.12.
Figure 2.12: Encapsulation SLIP.
Pour éviter des problèmes de bruit, certaines implantations de SLIP font également débuter l'envoi du paquet IP par un caractère END. Pour qu'un caractère END faisant partie des données du paquet IP ne soit pas interprété comme la fin du paquet, l'émetteur le remplace par la séquence d'échappement SLIP_ESC ESC_END (0xdb 0xdc). Si le caractère SLIP_ESC fait partie des données à transmettre, alors la séquence SLIP_ESC ESC_ESC (0xdb 0xdd) est transmise à sa place.
Un des défauts de ce protocole est qu'il faut que les deux extrémités aient fixé préalablement leurs adresses IP, car la liaison SLIP ne leur permet pas de se les échanger. Si un site offre via un seul modem l'accès à Internet à plusieurs personnes, cela ne posera pas de problème. En effet, chaque personne aura configuré son ordinateur avec le numéro IP fournit par l'administrateur du réseau et comme une seule connexion est possible à la fois la duplication du même numéro IP n'est pas gênante. Seulement, si le site offre un deuxième modem sur le même numéro téléphonique, les utilisateurs ignoreront à quel modem ils sont connectés. À ce moment là, il faudra que le système indique à chaque utilisateur comment configurer son ordinateur en fonction de l'utilisation ou non de l'autre modem de telle manière que la même adresse IP ne soit pas donnée à deux personnes différentes simultanément. Dans ce genre d'utilisation SLIP a le défaut de ne pas offrir d'accès contrôler par mot de passe. De plus, il n'y a pas de champ type donc la ligne ne peut pas être utilisée en même temps pour un autre protocole. Et enfin, il n'y a pas de contrôle de la transmission. Si une trame subit des perturbations, c'est aux couches supérieures de de le détecter. Malgré tout, SLIP est un protocole largement utilisé et existe aussi dans une version améliorée CSLIP (Compressed SLIP).
2.4.3 La liaison PPP
PPP (Point to Point Protocol) (RFC 1661) est un protocole qui corrige les déficiences de SLIP en offrant les fonctionnalités suivantes.
- utilisation sur des liaisons point à point autres que série, comme X25 ou RNIS
- le transport de protocoles de niveau 3 (IP, Decnet, Appletalk, ...)
- la compression des en-têtes IP et TCP pour augmenter le débit de la liaison
- gestion d'un contrôle d'accès au réseau par authentification selon le protocole PAP qui nécessite la donnée d'un mot de passe au début de la communication ou le protocole CHAP qui permet l'échange de sceaux cryptés tout au long de la communication
- détection et correction d'erreurs de transmission
- ne pas utiliser des codes qui risquent d'être interprétés par les modems
- configuration automatique de la station client selon ses protocoles de couche réseau (IP, IPX, Appletalk).
Le protocole PPP est celui classiquement utilisé par les fournisseurs d'accès à Internet pour connecter leurs abonnés selon le schéma de la figure 2.13.
Figure: Connexion à Internet par modem et PPP.
Le processus de connexion d'un client équipé d'un ordinateur sous Windows, MacOS, Linux ou autre est le suivant.
- Le modem du client appelle le numéro de téléphone du fournisseur et la connexion téléphonique s'établit si l'un au moins de ses modems est libre.
- L'identification du client se fait par envoi d'un nom d'utilisateur et d'un mot de passe soit directement par l'utilisateur, soit selon l'un des protocoles PAP ou CHAP. Pour PAP (Protocol Authentification Protocol) le serveur de communication envoie à l'ordinateur un paquet pour demander le nom d'utilisateur et le mot de passe et l'ordinateur renvoie ces informations directement. CHAP (Challenge Handshake Authentification Protocol) fonctionne de la même manière sauf que le serveur de communication envoie d'abord une clef qui va permettre de crypter l'envoi du nom d'utilisateur et du mot de passe.
- Une fois l'identification du client controlée, le serveur de communication envoie une adresse IP, dite dynamique car elle varie selon les connexions, à l'ordinateur du client qui à partir de là se retrouve intégré au réseau Internt avec une adresse IP pour tout le temps que durera sa connexion.