Academia.eduAcademia.edu

Cours 13 Pujolle

Cours réseaux et télécoms Avec exercices corrigés 3 e édition

Guy Pujolle Cours réseaux et télécoms Avec exercices corrigés Avec la contribution de Olivier Salvatori 3e édition © Groupe Eyrolles, 2000, 2004, 2008, ISBN : 978-2-212-12414-9 C O U R S Les réseaux IP C’est le réseau Internet qui a introduit le protocole IP. Ce protocole a été ensuite repris pour réaliser des réseaux privés, tels les réseaux intranets et extranets ou les réseaux mis en place pour la domotique. Ces réseaux IP présentent de nombreuses propriétés communes. Ce cours examine ces propriétés en décrivant le fonctionnement des réseaux IP puis en détaillant les principaux protocoles à mettre en œuvre pour obtenir un réseau performant. ■ Les environnements IP ■ Les protocoles ARP et RARP ■ DNS (Domain Name Service) ■ ICMP (Internet Control Message Protocol) ■ RSVP (Resource reSerVation Protocol) ■ RTP (Real-time Transport Protocol) ■ NAT (Network Address Translation) ■ IP Mobile ■ Fonctions supplémentaires 259 13 ■ Les environnements IP DARPA (Defense Advanced Research Projects Agency).– Agence du ministère de la Défense américain chargée des projets de recherche militaire. Arpanet.– Premier réseau à commutation de paquets développé aux États-Unis par la DARPA. NSF (National Science Foundation).– Fondation de l’État américain qui subventionne les projets de recherche importants. Le principal intérêt du protocole IP est son adoption quasi universelle. C’est au milieu des années 70 que l’agence américaine DARPA (Defense Advanced Research Projects Agency) développe un concept de réseaux interconnectés, Internet. L’architecture et les protocoles de ce réseau acquièrent leur forme actuelle vers 1977-1979. À cette époque, la DARPA est connue comme le premier centre de recherche sur les réseaux à transfert de paquets, et c’est elle qui crée le réseau Arpanet, à la fin des années 60. Le réseau Internet démarre véritablement en 1980, au moment où la DARPA commence à convertir les protocoles du réseau de la recherche à TCP/IP. La migration vers Internet est complète en 1983, quand le bureau du secrétariat de la Défense américain rend obligatoires ces protocoles pour tous les hôtes connectés aux réseaux étendus. En 1985, la NSF (National Science Foundation) commence à développer un programme destiné à mettre en place un réseau autour de ses six centres de supercalculateurs. En 1986, elle crée un réseau fédérateur, le NSFNET, pour relier tous ses centres de calcul et se connecter à Arpanet. C’est l’ensemble de ces réseaux interconnectés qui forme Internet, auquel viennent s’ajouter petit à petit de nombreux réseaux nouveaux. L’adoption des protocoles s’élargit alors aux entreprises privées, qui, à la fin des années 80, sont pour la plupart reliées à Internet. De plus, elles utilisent les protocoles TCP/IP pour leurs réseaux d’entreprise, même s’ils ne sont pas connectés à Internet. Ces réseaux privés s’appellent des intranets. Le prolongement permettant aux utilisateurs externes de s’interconnecter sur un intranet s’appelle un extranet. C’est alors que se développent des opérateurs offrant des accès au réseau Internet, les FAI (fournisseurs d’accès à Internet), encore appelés ISP (Internet Service Provider). Aujourd’hui, les ISP développent leurs propres réseaux, ou intranets, qui ne sont autres que des réseaux Internet contrôlés par un seul opérateur. À terme, on peut anticiper la disparition du réseau Internet d’origine au profit d’une dizaine de réseaux intranets mondiaux. Cette croissance rapide induit des problèmes de dimensionnement et encourage les chercheurs à proposer des solutions pour le nommage et l’adressage de la nouvelle population. De nos jours, des centaines de sociétés importantes commercialisent des produits TCP/IP. Ce sont elles qui décident de la mise sur le marché de nouvelles technologies, et non plus les chercheurs, comme à l’origine. Pour prendre en compte cette nouvelle réalité politique et commerciale, l’IAB (Internet Activities Board) s’est réorganisé en 1989. Depuis, la structure de l’IAB comprend 260 Cours 13 ● Les réseaux IP deux organismes : l’IRTF (Internet Research Task Force) et l’IETF (Internet Engineering Task Force). L’IETF se concentre sur les problèmes de développement à court et moyen terme. Cet organisme existait déjà dans l’ancienne organisation. Son succès a été l’un des motifs de sa restructuration. L’IETF s’est élargi pour prendre en compte des centaines de membres actifs travaillant sur plusieurs sujets en même temps. Il se réunit au complet pour écouter les rapports des groupes de travail et pour débattre des modifications et des ajouts portant sur TCP/IP. L’IRTF coordonne les activités de recherche sur les protocoles TCP/IP et l’architecture Internet en général. Sa taille est moins importante que celle de l’IETF. Les documents de travail sur Internet, les propositions pour l’ajout ou la modification de protocoles et les normes TCP/IP sont publiés sous la forme d’une série de rapports techniques, appelés RFC (Request For Comments). Les RFC sont disparates ; elles peuvent couvrir des sujets précis ou vastes et faire figure de normes ou seulement de propositions. Récemment, l’IAB a commencé à prendre une part active dans la définition des normes. Tous les trois mois, il publie une RFC, appelée IAB Official Protocol Standards, qui rend compte du processus de normalisation et des nouvelles normes. L’IAB attribue à chaque protocole de TCP/IP un état et un statut. L’état du protocole spécifie l’avancement des travaux de normalisation de la façon suivante : • Initial (initial) : le protocole est soumis pour être examiné. • Norme proposée (proposed standard) : le protocole est proposé comme norme et subit la procédure initiale. • Norme de travail (draft standard) : le protocole a passé l’examen initial et peut être considéré comme étant dans sa forme semi-finale. Au moins deux implémentations indépendantes sont produites, et le document les décrivant est étudié par le groupe de travail ad hoc. Des modifications avant la norme finale sont souvent introduites après ces premières expérimentations. • Norme (standard) : le protocole a été examiné et est accepté comme une norme complète. Il fait officiellement partie de TCP/IP. • Expérimental (experimental) : le protocole n’est pas soumis à normalisation mais reste utilisé dans des expérimentations. • Historique (historic) : le protocole est périmé et n’est plus utilisé. Normalement, les protocoles soumis doivent être passés en revue par le groupe de travail correspondant de l’IETF. L’IAB vote ensuite pour son avancement dans le processus de normalisation. Les environnements IP 261 Le statut du protocole indique sous quelles conditions il doit être utilisé. Ces différents statuts sont les suivants : • Exigé (required) : toutes les machines et passerelles doivent implémenter le protocole. • Recommandé (recommended) : toutes les machines et passerelles sont encouragées à implémenter le protocole. • Facultatif (elective) : on peut choisir d’implémenter ou non le protocole. • Utilisation limitée (limited use) : le protocole n’est pas spécifié pour une utilisation générale (par exemple, un protocole expérimental). • Non recommandé (non recommended) : l’utilisation du protocole n’est pas recommandée (par exemple, un protocole périmé). Comme expliqué précédemment, l’architecture IP implique l’utilisation du protocole IP, qui possède comme fonctions de base l’adressage et le routage des paquets IP. Le niveau IP correspond au niveau paquet de l’architecture OSI, mais avec une forte différence entre IPv4 et IPv6. IPv4 correspond à un protocole très simple, qui ne résout que les problèmes d’interconnexion, tandis qu’IPv6 a pour vocation de représenter complètement le niveau paquet. Au-dessus d’IP, deux protocoles ont été choisis : TCP et UDP, qui sont abordés au cours 11, « Les protocoles de niveau supérieur ». Ces protocoles correspondent au niveau message (couche 4) de l’architecture OSI. Ils intègrent une session élémentaire, grâce à laquelle TCP et UDP prennent en charge les fonctionnalités des couches 4 et 5. La différence réside dans leur mode : avec connexion pour TCP et sans connexion pour UDP. Le protocole TCP est très complet, ce qui garantit une bonne qualité de service, en particulier sur le taux d’erreur des paquets transportés. Étant un protocole en mode sans connexion, UDP supporte des applications moins contraignantes en qualité de service. Le niveau application, qui se trouve au-dessus de TCP-UDP dans le modèle Internet, regroupe les fonctionnalités des couches 6 et 7 de l’OSI. Le cours 12, « Exemples d’applications », détaille quelques applications des réseaux IP. Questions-réponses Question 1.– Pourquoi les ISP préfèrent-ils développer leur propre réseau plutôt qu’employer le réseau Internet ? Réponse.– Le réseau Internet étant une interconnexion de réseaux, il ne permet pas d’offrir une qualité de service. En développant leur propre réseau intranet, les ISP contrôlent beaucoup mieux la qualité de service de leur réseau. Question 2.– Quels avantages les sociétés peuvent-elles tirer de l’utilisation du protocole IP ? Réponse.– Le Web étant devenu un grand standard, les entreprises ont développé des systèmes d’information compatibles et se sont placées dans l’environnement IP. 262 Cours 13 ● Les réseaux IP Question 3.– Le réseau Internet propose un service de type best effort. Il est impossible d’y garantir un temps de réponse précis, d’où la difficulté de faire passer dans ce réseau de la parole téléphonique, qui demande un temps maximal de traversée de 300 ms. Dans le cadre de l’application de parole téléphonique, montrer que ce temps maximal de traversée du réseau peut être remplacé par un temps de traversée de 300 ms pour au moins 95 p. 100 des paquets. Réponse.– Si suffisamment de paquets arrivent à temps au récepteur, la parole téléphonique peut encore se dérouler. En effet, un paquet IP de téléphonie transporte entre 20 et 50 ms de parole. Aujourd’hui, les récepteurs savent prendre en compte ces trous de quelques dizaines de millisecondes, à condition qu’il n’y en ait pas trop. Une perte de 5 p. 100 de paquets est en général acceptable (le pourcentage acceptable dépend du degré de compression). Question 4.– En supposant des débits suffisamment importants des accès au réseau Internet (2 Mbit/s, par exemple), peut-on réaliser simplement de la télévision diffusée ? Réponse.– Oui, car la télévision diffusée accepte un retard important. Si le débit du réseau est suffisant, il est possible de resynchroniser le canal de télévision. ■ Les protocoles ARP et RARP Internet propose l’interconnexion de réseaux physiques par des routeurs. C’est un exemple d’interconnexion de systèmes ouverts. Pour obtenir l’interfonctionnement des différents réseaux, la présence du protocole IP est nécessaire dans les nœuds qui effectuent le routage entre les réseaux. Globalement, Internet est un réseau à transfert de paquets. Les paquets traversent plusieurs sous-réseaux pour atteindre leur destination, sauf bien sûr si l’émetteur se trouve dans le même sousréseau que le récepteur. Les paquets sont routés dans les passerelles situées dans les nœuds d’interconnexion. Ces passerelles sont des routeurs. De façon plus précise, ces routeurs transfèrent des paquets d’une entrée vers une sortie, en déterminant pour chaque paquet la meilleure route à suivre. Le réseau Internet a été développé pour mettre en relation des machines du monde entier, auxquelles on a pris soin d’attribuer des adresses IP. Ces adresses IP n’ont aucune relation directe avec les adresses des cartes coupleurs qui permettent aux PC de se connecter au réseau. Ces dernières sont des adresses physiques. Pour envoyer un datagramme sur Internet, le logiciel réseau convertit l’adresse IP en une adresse physique, utilisée pour transmettre la trame. La traduction de l’adresse IP en une adresse physique est effectuée par le réseau sans que l’utilisateur s’en aperçoive. Le protocole ARP (Address Resolution Protocol) effectue cette traduction en s’appuyant sur le réseau physique. ARP permet aux machines de résoudre les adresses sans utiliser de table statique. Une machine utilise ARP pour déterminer l’adresse physique du destinataire. Elle diffuse pour cela sur le sousréseau une requête ARP qui contient l’adresse IP à traduire. La machine posLes protocoles ARP et RARP résolution d’adresse.–Détermination de l’adresse d’un équipement à partir de l’adresse de ce même équipement à un autre niveau protocolaire. On résout, par exemple, une adresse IP en une adresse physique ou en une adresse ATM. table statique.– Table de correspondance qui n’est pas modifiée automatiquement par le réseau lorsque interviennent des changements dans la configuration. 263 sédant l’adresse IP concernée répond en renvoyant son adresse physique. Pour rendre ARP plus performant, chaque machine tient à jour, en mémoire, une table des adresses résolues et réduit ainsi le nombre d’émissions en mode diffusion. Ce processus est illustré à la figure 13-1. Adresses IP 132.52.21.1 PC 1 1 Adresses Ethernet 132.52.21.2 PC 2 2 240458288710 132.52.21.3 PC 3 032468124013 3 074750364213 Message ARP en diffusion Le PC1 recherche l’adresse physique de la station qui possède l’adresse IP 132. 52. 21.3 PC 1 1 PC 2 2 PC 3 3 Réponse du PC3 pour donner son adresse physique Figure 13-1. Fonctionnement du protocole ARP. adresse logique.– Adresse qui n’est pas physique, c’est-à-dire qui n’est pas attachée à une connexion déterminée par son emplacement géographique. Les adresses logiques Internet sont les adresses IP. De façon inverse, une station qui se connecte au réseau peut connaître sa propre adresse physique sans avoir d’adresse IP. Au moment de son initialisation (bootstrap), cette machine doit contacter son serveur afin de déterminer son adresse IP et ainsi de pouvoir utiliser les services TCP/IP. Dans ce cas, le protocole RARP (Reverse ARP) permet à la machine d’utiliser son adresse physique pour déterminer son adresse logique sur Internet. Par le biais du mécanisme RARP, une station peut se faire identifier comme cible en diffusant sur le réseau une requête RARP. Les serveurs recevant le message examinent leur table et répondent au client. Une fois l’adresse IP obtenue, la machine la stocke en mémoire vive et n’utilise plus RARP jusqu’à ce qu’elle soit réinitialisée. Dans la version IPv6, les protocoles ARP et RARP ne sont plus utilisés et sont remplacés par un protocole de découverte des voisins, appelé ND (Neighbor Discovery), qui est un sous-ensemble du protocole de contrôle ICMP, que nous examinerons ultérieurement. 264 Cours 13 ● Les réseaux IP Questions-réponses Question 5.– Montrer que le mécanisme ARP marche bien si le réseau physique sous-jacent permet une diffusion simple. Les réseaux Ethernet et ATM peuvent-ils répondre à cette contrainte ? Réponse.– Le réseau physique doit effectuer une diffusion pour autoriser la correspondance d’adresse. Le réseau Ethernet est particulièrement adapté pour répondre à cette contrainte. En revanche, le réseau ATM n’est pas un réseau permettant d’effectuer de la diffusion simplement. Il faut donc utiliser d’autres mécanismes, comme la simulation d’une diffusion, en s’adressant à un serveur qui connaisse les correspondances d’adresses. Question 6.– Montrer que l’utilisation du protocole RARP par un ISP peut lui permettre de gérer efficacement un ensemble d’adresses IP. Réponse.– Les ISP ayant un grand nombre d’abonnés, ils n’ont pas la possibilité d’avoir suffisamment d’adresses IP pour les prendre tous en charge simultanément. Dans ce cas, au fur et à mesure des demandes de connexion, les ISP décernent des adresses via le protocole RARP. Infonet.– Nom des réseaux IP interconnectant les équipements domotiques (capteurs, équipements domestiques, etc.). domotique.– Désigne le processus d’informatisation de la maison, depuis les commandes automatiques et à distance jusqu’aux réseaux domestiques. Question 7.– Les réseaux Infonet correspondent aux réseaux IP pour la domotique. Pourquoi le protocole IP semble-t-il intéressant pour ce type de réseau ? Réponse.– Plusieurs raisons peuvent être évoquées. La première concerne l’adressage. Il existe suffisamment d’adresses dans IPv6 pour en affecter une à tous les appareils domestiques : ampoules, branchements, capteurs, etc. Le protocole IP devenant un standard de connexion, il est tentant de connecter les réseaux de domotique à Internet. Enfin, les protocoles du monde IP correspondent assez bien aux types d’applications des réseaux de domotique. ■ DNS (Domain Name Service) Comme expliqué précédemment, les structures d’adresses sont complexes à manipuler, dans la mesure où elles se présentent sous forme de groupes de chiffres décimaux séparés par un point ou deux-points, de type abc:def:ghi:jkl, avec une valeur maximale de 255 pour chacun des quatre groupes. Les adresses IPv6 tiennent sur 8 groupes de 4 chiffres décimaux. Du fait que la saisie de telles adresses dans le corps d’un message deviendrait vite insupportable, l’adressage utilise une structure hiérarchique différente, beaucoup plus simple à manipuler et à mémoriser. Le DNS permet la mise en correspondance des adresses physiques et des adresses logiques. La structure logique prend une forme hiérarchique et utilise au plus haut niveau des domaines caractérisant principalement les pays, qui sont indiqués par deux lettres, comme fr pour la France, et des domaines fonctionnels comme : • com (organisations commerciales) ; • edu (institutions académiques) ; DNS (Domain Name Service) 265 • • • • • org (organisations, institutionnelles ou non) ; gov (gouvernement américain) ; mil (organisations militaires américaines) ; net (opérateurs de réseaux) ; int (entités internationales). Serveur racine Serveur .fr Serveur lip6.fr 2 Serveur reseau.lip6.fr 1 Serveur systeme.lip6.fr Serveur [email protected] 3 5 2 4 1 4 2 6 3 1 Figure 13-2. Fonctionnement du DNS. À l’intérieur de ces grands domaines, on trouve des sous-domaines, qui correspondent à de grandes entreprises ou à d’importantes institutions. Par exemple, lip6 représente le nom du laboratoire LIP 6, ce qui donne l’adresse lip6.fr pour le personnel de ce laboratoire. Ce domaine peut lui-même être décom- 266 Cours 13 ● Les réseaux IP posé en deux domaines correspondant à des départements différents, par exemple reseau.lip6.fr et systeme.lip6.fr. À ces différents domaines correspondent des serveurs, qui sont capables d’effectuer la correspondance d’adresse. Les serveurs de noms du DNS sont hiérarchiques. Lorsqu’il faut retrouver l’adresse physique IP d’un utilisateur, les serveurs qui gèrent le DNS s’envoient des requêtes de façon à remonter suffisamment dans la hiérarchie pour trouver l’adresse physique du correspondant. Ces requêtes sont effectuées par l’intermédiaire de petits messages, qui portent la question et la réponse en retour. La figure 13-2 illustre le fonctionnement du DNS. Dans cette figure le client [email protected] veut envoyer un message à [email protected]. Pour déterminer l’adresse IP de [email protected], une requête est émise par le PC de Guy Pujolle, qui interroge le serveur de noms du domaine réseau.lip6.fr. Si celui-ci a en mémoire la correspondance, il répond au PC. Dans le cas contraire, la requête remonte dans la hiérarchie et atteint le serveur de noms de lip6.fr, qui, de nouveau, peut répondre positivement s’il connaît la correspondance. Dans le cas contraire, la requête est acheminée vers le serveur de noms de systeme.lip6.fr, qui connaît la correspondance. C’est donc lui qui répond au PC de départ dans ce cas. serveur de noms.– Serveur pouvant répondre à des requêtes de résolution de nom, c’est-à-dire capable d’effectuer la traduction d’un nom en une adresse. Les serveurs de noms d’Internet sont les serveurs DNS. Le format d’une requête DNS est illustré à la figure 13-3. Identificateur Contrôle Nombre de questions Nombre de réponses Nombre d’autorités Nombre de champs supplémentaires Questions Réponses Autorités Champs supplémentaires Figure 13-3. Format d’une requête DNS. Les deux premiers octets contiennent une référence. Le client choisit une valeur à placer dans ce champ, et le serveur répond en utilisant la même valeur de sorte que le client reconnaisse sa demande. Les deux octets suivants contiennent les bits de contrôle. Ces derniers indiquent si le message est une requête du client ou une réponse du serveur, si une demande à un autre site doit être effectuée, si le message a été tronqué par manque de place, si le message de réponse provient du serDNS (Domain Name Service) 267 veur de noms responsable ou non de l’adresse demandée, etc. Pour le récepteur qui répond, un code de réponse est également inclus dans ce champ. Les six possibilités suivantes ont été définies : • 0 : pas d’erreur. • 1 : la question est formatée de façon illégale. • 2 : le serveur ne sait pas répondre. • 3 : le nom demandé n’existe pas. • 4 : le serveur n’accepte pas la demande. • 5 : le serveur refuse de répondre. La plupart des requêtes n’effectuent qu’une demande à la fois. La forme de ce type de requête est illustrée à la figure 13-4. Dans la zone Question, le contenu doit être interprété de la façon suivante : 6 indique que 6 caractères suivent ; après les 6 caractères de réseau, 4 désigne les 4 caractères de lip6, 2 les deux caractères de fr et enfin 0 la fin du champ. Le champ Autorité permet aux serveurs qui ont autorité sur le nom demandé de se faire connaître. Enfin, la zone Champs supplémentaires permet de transporter des informations sur le temps pendant lequel la réponse à la question est valide. Indicateur = 0x1234 Contrôle = 0x0100 Nombre de question = 1 Nombre de réponse = 0 Nombre d’autorité = 0 Nombre de champ supplémentaire = 0 Question 6 e l 2 r a i f e u p r s 4 6 0 Figure 13-4. Requête DNS avec une seule demande. Questions-réponses Question 8.– L’application DNS peut utiliser les protocoles aussi bien TCP qu’UDP. Lequel des deux protocoles est-il utilisé dans les deux cas suivants : pour la requête d’un utilisateur vers le serveur et pour la requête d’un serveur vers un autre serveur afin de mettre à jour sa table de routage ? Réponse.– Dans le premier cas UDP, pour aller vite. Dans le second cas TCP, de façon à garantir que les informations sont transportées de façon fiable. 268 Cours 13 ● Les réseaux IP Question 9.– Quelle est la difficulté posée par les configurations dynamiques sur le DNS ? (La station IP qui se connecte réclame une adresse IP, qui lui est fournie par le routeur de rattachement.) Montrer que la sécurité devient un service prépondérant dans ce cas de gestion dynamique. Réponse.– Le DNS doit pouvoir être mis à jour de façon dynamique. Dès qu’une station reçoit une nouvelle adresse, elle doit en avertir le DNS local. La sécurité devient un service important puisqu’un utilisateur pourrait assez facilement se faire passer pour un autre. Question 10.– Proposer plusieurs solutions de gestion du DNS pour gérer un client mobile. Réponse.– Une première solution consisterait à mettre à jour les DNS de façon continuelle, mais cela se révèle particulièrement complexe dès que le nombre d’utilisateurs mobiles augmente et que les clients changent de domaine. Une seconde possibilité est de leur affecter des adresses provisoires au fur et à mesure des changements et de tenir à jour la correspondance entre ces adresses provisoires et l’adresse de base. ■ ICMP (Internet Control Message Protocol) La gestion et le contrôle sont des processus fortement imbriqués dans les nouvelles générations de réseaux IP. La différence entre les deux processus s’estompe de fait par l’accroissement de la vitesse de réaction des composants, de telle sorte qu’un contrôle, qui demande une réaction en temps réel, n’est plus très loin d’un processus de gestion. Dans le système en mode sans connexion, chaque passerelle et chaque machine fonctionnent de façon autonome. De même, le routage et l’envoi des datagrammes se font sans coordination avec le récepteur. Ce système marche bien tant que les machines ne rencontrent pas de problème et que le routage est correct, mais cela n’est pas toujours le cas. Outre les pannes matérielles et logicielles du réseau et des machines qui y sont connectées, des problèmes surviennent lorsqu’une station est déconnectée du réseau, que ce soit temporairement ou de façon permanente, ou lorsque la durée de vie du datagramme expire, ou enfin lorsque la congestion d’une passerelle devient trop importante. Pour permettre aux machines de rendre compte de ces anomalies de fonctionnement, on a ajouté à Internet un protocole d’envoi de messages de contrôle, appelé ICMP (Internet Control Message Protocol). Le destinataire d’un message ICMP n’est pas un processus application mais le logiciel Internet de la machine. Ce logiciel IP traite le problème porté par le message ICMP à chaque message reçu. Les messages ICMP ne proviennent pas uniquement des passerelles. N’importe quelle machine du réseau peut envoyer des messages à n’importe quelle autre machine. Les messages permettent de rendre compte de l’erreur ICMP (Internet Control Message Protocol) 269 avalanche.– Grande quantité de messages ou de paquets qui sont émis quasiment simultanément. en remontant jusqu’à l’émetteur d’origine. Les messages ICMP prennent place dans la partie données des datagrammes IP. Comme n’importe quels autres datagrammes, ces derniers peuvent être perdus. En cas d’erreur d’un datagramme contenant un message de contrôle, aucun message de rapport de l’erreur n’est transmis, afin d’éviter les avalanches. Comme pour le protocole IP, deux versions du protocole ICMP sont disponibles, la version associée à IPv4 et celle associée à IPv6. La version ICMPv6 est particulièrement importante, car elle regroupe tous les messages de contrôle et d’information de différents protocoles de la première génération. Version Priorité Référence de flot (Flow Label) Champ En-tête Nombre de nœuds traversés suivant : 58 (Next) (Hop Limit) Longueur de données (Payload Length) Adresse émetteur En-tête IPv6 Adresse récepteur Type ICMP Code ICMP Message ICMP Checksum Corps du message ICMP Figure 13-5. Format des messages ICMP. La figure 13-5 illustre le format des messages ICMP. L’en-tête de la partie ICMP comprend un octet « type » de message, suivi d’un octet « code », suivi de deux octets de checksum. Le type et le code différencient les différents messages ICMP. Il en existe 14 types différents. Ces messages sont les suivants : • 1 : message d’erreur, impossible d’atteindre la destination ; • 2 : message d’erreur, paquet trop volumineux ; • 3 : message d’erreur, temps dépassé ; • 4 : message d’erreur, problème de paramètre ; • 128 : message de requête d’écho ; • 129 : message de réponse d’écho ; • 130 : requête d’entrée dans un groupe ; 270 Cours 13 ● Les réseaux IP • 131 : rapport sur l’entrée dans un groupe ; • 132 : fin d’appartenance à un groupe ; • 133 : sollicitation d’un routeur ; • 134 : émission d’un routeur ; • 135 : sollicitation d’un voisin (Neighbor Solicitation) ; • 136 : émission d’un voisin (Neighbor Advertisement) ; • 137 : message de redirection. Le checksum ne s’applique ni au paquet IP, ni à la partie ICMP, mais à un ensemble de champs qui contiennent la partie ICMP, tels que les adresses émetteur et récepteur, la zone de longueur du paquet IP et le champ indiquant ce qui est encapsulé, c’est-à-dire la valeur 58, dans le cas présent. ICMP prend encore beaucoup plus d’importance dans la version IPv6. Le protocole ARP (Address Resolution Protocol) disparaît et est remplacé par une fonction d’ICMP : ND (Neighbor Discovery). Cette fonction permet à une station de découvrir le routeur dont elle dépend ainsi que les hôtes qu’elle peut atteindre localement. La station se construit une base de connaissances en examinant les paquets transitant par son intermédiaire. Elle est ainsi à même de prendre ultérieurement des décisions de routage et de contrôle. La correspondance entre l’adresse IP d’une station et les adresses locales représente la fonction de résolution d’adresses. C’est le travail de ND. La station qui utilise ND émet une requête Neighbor Solicitation sur sa ligne. L’adresse du destinataire est FF02::1:pruv:wxyz, qui représente une adresse multicast complétée par la valeur pruv:wxyz des 32 derniers bits de l’adresse de la station. La valeur du champ Next Header, ou En-tête suivant (voir le cours 10, « Les protocoles de niveau paquet »), dans le format IPv6 est 58. Cela indique un message ICMP, dont le code est 135, indiquant une requête Neighbor Solicitation. Si la station n’obtient pas de réponse, elle effectue ultérieurement une nouvelle demande. Les stations qui se reconnaissent au moment de la diffusion émettent vers la station d’émission un Neighbor Advertisement. Pour discuter avec un utilisateur sur un autre réseau, la station a besoin de s’adresser à un routeur. La requête Router Solicitation est utilisée à cet effet. La fonction ND permet au routeur gérant la station de se faire connaître. Le message de réponse contient de nombreuses options, comme le temps de vie du routeur : si le routeur ne donne pas de nouvelles dans un temps donné, il est considéré comme indisponible. multicast.– Mode de diffusion correspondant à une application multipoint. Une adresse multicast indique une adresse de groupe et non pas d’une seule entité. Les messages Router Solicitation et Router Advertisement ne garantissent pas que le routeur qui s’est fait connaître soit le meilleur. Un routeur peut s’en apercevoir et envoyer les paquets de la station vers un autre routeur grâce à une redirection (Redirection) et en avertissant le poste de travail émetteur. ICMP (Internet Control Message Protocol) 271 Une dernière fonction importante de ND provient de la perte de communication avec un voisin. Cette fonction est effectuée grâce à une requête Neighbor Unreachability Detection (message spécifique portant le type 136). La figure 13-6 illustre les messages de la fonction ND. Routeur A Routeur AA Message Neighbor Solicitation BB B B Routeur A A Message Neighbor Advertisement Routeur Message Router Solicitation Message Router Advertisement B B Figure 13-6. Messages de la fonction ND (Neighbor Discovery). Questions-réponses pseudo-header.– En-tête modifié par le retrait ou l’ajout de certains champs, pris en compte par la zone de détection d’erreur dans son calcul. Entête partiel d’un paquet ICMP ne reprenant que les zones les plus importantes. 272 Question 11.– Montrer que les valeurs des messages ICMP comprises entre 1 et 127 correspondent à des messages de rapport d’erreur et que, à partir de 128, ce sont des messages d’information. Réponse.– 4 valeurs seulement sur 127 sont utilisées dans les paquets ICMP, et ce sont bien des messages qui présentent un rapport d’erreur. À partir de la valeur 128, les paquets ICMP transportent des messages contenant des informations. Question 12.– Pourquoi le checksum s’applique-t-il à des zones particulières et non pas seulement à la partie ICMP ? Réponse.– Parce qu’il faut protéger les messages de contrôle efficacement. En particulier, il faut protéger les adresses d’émission et de réception de façon à être sûr de l’identité de l’émetteur et du récepteur. Il faut aussi protéger la longueur du paquet et s’assurer que le paquet interne est bien un paquet ICMP. La valeur 58 doit donc aussi faire partie de cette zone protégée que l’on appelle le pseudo-header. Cours 13 ● Les réseaux IP Question 13.– À quoi peuvent servir les messages ICMP de types 130, 131 et 132 ? Réponse.– Le protocole ICMPv6 reprend les fonctionnalités du protocole IGMP (Internet Group Multicast Protocol) de première génération. Ces fonctionnalités consistent à gérer les adresses multicast, c’est-à-dire à accepter de nouveaux entrants dans un groupe d’utilisateurs, ainsi quà gérer ceux qui sortent du groupe et à indiquer la fin de vie du groupe. ■ RSVP (Resource reSerVation Protocol) RSVP semble le plus intéressant des protocoles de nouvelle génération. Il s’agit d’un protocole de signalisation, qui a pour fonction d’avertir les nœuds intermédiaires de l’arrivée d’un flot correspondant à des qualités de service déterminées. Cette signalisation s’effectue sur un flot (flow) envoyé vers un ou plusieurs récepteurs. Ce flot est identifié par une adresse IP ou un port de destination, ou encore par une référence de flot (flow-label dans IPv6). Dans la vision des opérateurs de télécommunications, le protocole est lié à une réservation qui doit être effectuée dans les nœuds du réseau, sur une route particulière ou sur les routes déterminées par un multipoint. Les difficultés rencontrées pour mettre en œuvre ce mécanisme sont de deux ordres : comment déterminer la quantité de ressources à réserver à tout instant et comment réserver des ressources sur une route unique, étant donné que le routage des paquets IP fait varier le chemin à suivre ? Dans la vision des opérateurs informatiques, le protocole RSVP ne donne pas d’obligation quant à la réservation de ressources ; c’est essentiellement une signalisation de passage d’un flot. Le protocole RSVP effectue la signalisation (avec ou sans réservation) à partir du récepteur, ou des récepteurs dans le cas d’un multipoint. Cela peut paraître surprenant à première vue, mais cette solution s’adapte à beaucoup de cas de figure, en particulier au multipoint. Lorsqu’un nouveau point s’ajoute au multipoint, celui-ci peut réaliser l’adjonction de réservations d’une façon plus simple que ne pourrait le faire l’émetteur. Les paquets RSVP sont transportés dans la zone de données des paquets IP. La partie supérieure des figures 13-7 à 13-9 illustre les en-têtes dIPv6. La valeur 46 dans le champ En-tête suivant d’IPv6 indique qu’un paquet RSVP est transporté dans la zone de données. RSVP (Resource reSerVation Protocol) 273 Version Priorité Référence de flot Longueur des données En-tête suivant : 46 Nombre de nœuds traversés En-tête IPv6 Adresse émetteur Adresse récepteur Version Drapeaux Type RSVP Longueur de message Checksum Réservé Identificateur du message Réservé Position du fragment Paquet RSVP Plus de fragments Message RSVP Figure 13-7. Format du message RSVP. Les champs du protocole RSVP Outre deux champs réservés, le paquet RSVP contient les dix champs suivants : • Le premier champ indique le numéro de la version en cours de RSVP. • Les quatre bits Flags (drapeaux) sont réservés pour une utilisation ultérieure. • Le type caractérise le message RSVP. Actuellement, deux types sont les plus utilisés : le message de chemin et le message de réservation. Les valeurs qui ont été retenues pour ce champ sont les suivantes : 1 : path message ; 2 : reservation message ; 3 : error indication in response to path message ; 4 : error indication in response to reservation message ; 5 : path teardown message ; 6 : reservation teardown message. • Le champ Checksum permet de détecter des erreurs sur le paquet RSVP. • La longueur du message est ensuite indiquée sur 2 octets. • Un premier champ est réservé aux extensions ultérieures. • La zone Identificateur du message contient une valeur commune à l’ensemble des fragments d’un même message. • Un champ est réservé pour des extensions ultérieures. • Le bit Plus de fragments indique que le fragment n’est pas le dernier. Un zéro est mis dans ce champ pour le dernier fragment. 274 Cours 13 ● Les réseaux IP • Le champ Position du fragment indique l’emplacement du fragment dans le message. La partie Message RSVP regroupe une série d’objets. Chaque objet se présente de la même façon, avec un champ Longueur de l’objet, sur 2 octets, puis le numéro de l’objet, sur 1 octet, qui détermine l’objet, et enfin 1 octet pour indiquer le type de l’objet. Les spécifications de RSVP contiennent les descriptions précises des chemins suivis par les messages, y compris les objets nécessaires et l’ordre dans lequel ces objets apparaissent dans le message. 2 0 Checksum Type 1 Longueur du message : 100 0 Identificateur du message : 0 x 12345678 0 Position du fragment : 0 Adresse récepteur 0 Drapeau Longueur de l’objet Hop : 24 Port de destination Classe : 1 Type : 2 Adresse du dernier nœud (Hop) Interface logique du dernier nœud (Hop) Longueur de l’objet Temps : 12 Classe : 5 Type : 1 Période de rafraîchissement (en milliseconde) Période maximale de rafraîchissement (en milliseconde) Longueur de l’objet Émetteur : 24 Classe : 11 Type : 3 Adresse émetteur 0 Référence de flot (Flow Label) que le récepteur doit utiliser Figure 13-8. Partie message permettant de déterminer le chemin RSVP. RSVP (Resource reSerVation Protocol) 275 Les figures 13-8 et 13-9 donnent deux exemples de messages RSVP. La figure 13-10 décrit en complément le format d’indication des erreurs dans RSVP. 2 0 Checksum Type 2 Longueur du message 0 Identificateur du message Longueur de l’objet Session : 24 Classe : 1 Type : 2 Adresse récepteur 0 Drapeau Port de récepteur Longueur de l’objet Nœud (Hop) : 24 Classe : 3 Type : 2 Adresse du dernier nœud Interface logique du dernier nœud Longueur de l’objet Temps : 12 Classe : 5 Type : 1 Période de rafraîchissement (en milliseconde) Période maximale de rafraîchissement (en milliseconde) Longueur de l’objet Style : 8 Style ID : 2 Classe : 8 Type : 1 Vecteur de l’option de style : 0 w 00000A Longueur de l’objet Spécification du flot (Flowspec) Classe : 9 Type Objet Spécification du flot Longueur de l’objet Spécification du filtre (Filterspec) Classe : 10 Adresse émetteur 0 Référence de flot (Flow Label) Figure 13-9. Paquet de réservation de RSVP. 276 Cours 13 ● Les réseaux IP Type : 3 Longueur de l’objet Erreur (Error) : 24 Classe : 6 Type : 2 Adresse récepteur Drapeau Code de l’erreur Valeur de l’erreur Figure 13-10. Format d’indication des erreurs dans RSVP. Questions-réponses Question 14.– La réservation RSVP s’effectue du récepteur vers l’émetteur. Montrer que cette solution est bien adaptée lorsque les récepteurs ont des caractéristiques différentes. Réponse.– Lorsque l’émetteur effectue la réservation, la demande est uniforme jusqu’au récepteur puisque l’émetteur ne connaît pas les terminaux récepteurs. Il peut toutefois se produire un gâchis de bande passante. Lorsque la réservation remonte depuis le récepteur, celui-ci fait sa demande pour son cas particulier. S’il ne peut recevoir que 64 Kbit/s, ce n’est pas la peine d’ouvrir un canal à 2 Mbit/s, comme pourrait le proposer l’émetteur. Aux points de jonction des demandes de réservation RSVP (routeur de concentration de trafic), un calcul doit être effectué pour que tous les récepteurs concernés soient satisfaits. Question 15.– Montrer que RSVP prend assez bien en compte la dynamique du transport, c’est-àdire la possibilité de changer de route. Réponse.– Le protocole RSVP utilise des soft-state (états mous). Cela signifie qu’à défaut de rafraîchissements réguliers, les références de la route s’effacent automatiquement. Le protocole RSVP peut donc ouvrir une nouvelle route n’importe quand sans trop se soucier de l’ancienne route. Cela offre une bonne dynamique à l’ensemble du processus. Question 16.– Comment associer les paquets qui arrivent dans un routeur avec les réservations qui ont pu être effectuées par un protocole RSVP ? Réponse.– L’association entre les ressources réservées et les paquets d’un flot s’effectue grâce au numéro de flow-label (référence du flot) du protocole IPv6, lorsque ce protocole est utilisé. Dans le cas d’IPv4, la solution préconisée est d’utiliser le protocole UDP pour encapsuler le paquet RSVP de façon à récupérer les numéros de ports qui permettent de reconnaître le flot. flow-label (référence de flot).– Référence associée à un flot IP. Tous les paquets du flot porte la même référence. ■ RTP (Real-time Transport Protocol) L’existence d’applications temps réel, comme la parole numérique ou la visioconférence, est un problème pour Internet. Ces applications demandent une qualité de service (QoS) que les protocoles classiques d’Internet ne peuvent offrir. RTP (Real-time Transport Protocol) a été conçu pour résoudre ce proRTP (Real-time Transport Protocol) 277 blème, qui plus est directement dans un environnement multipoint. RTP a à sa charge aussi bien la gestion du temps réel que l’administration de la session multipoint. Les fonctions de RTP sont les suivantes : • Le séquencement des paquets par une numérotation. Cette numérotation permet de détecter les paquets perdus, ce qui est important pour la recomposition de la parole. La perte d’un paquet n’est pas un problème en soi, à condition qu’il n’y ait pas trop de paquets perdus. En revanche, il est impératif de repérer qu’un paquet a été perdu de façon à en tenir compte et à le remplacer éventuellement par une synthèse déterminée en fonction des paquets précédent et suivant. • L’identification de ce qui est transporté dans le message pour permettre, par exemple, une compensation en cas de perte. estampille.– Marque indiquant des valeurs de paramètres temporelles. tramage.– Façon de construire des structures (les trames) dans lesquelles sont entreposées les informations à transporter. • La synchronisation entre médias, grâce à des estampilles. • L’indication de tramage : les applications audio et vidéo sont transportées dans des trames (frames), dont la dimension dépend des codecs effectuant la numérisation. Ces trames sont incluses dans les paquets afin d’être transportées. Elles doivent être récupérées facilement au moment de la dépaquétisation pour que l’application soit décodée simplement. • L’identification de la source. Dans les applications en multicast, l’identité de la source doit être déterminée. RTP utilise le protocole RTCP (Real-time Transport Control Protocol), qui transporte les informations supplémentaires suivantes pour la gestion de la session : gigue.– Paramètre indiquant la variance d’une distribution. La gigue d’un réseau, ou plutôt du temps de réponse d’un réseau, permet de savoir si les paquets arrivent à peu près régulièrement ou au contraire très irrégulièrement. • Retour de la qualité de service lors de la demande de session. Les récepteurs utilisent RTCP pour renvoyer vers les émetteurs un rapport sur la QoS. Ces rapports comprennent le nombre de paquets perdus, la gigue et le délai aller-retour. Ces informations permettent à la source de s’adapter, c’est-àdire, par exemple, de modifier le degré de compression pour maintenir la QoS. • Synchronisation supplémentaire entre médias. Les applications multimédias sont souvent transportées par des flots distincts. Par exemple, la voix et l’image, ou même une application numérisée sur plusieurs niveaux hiérarchiques, peuvent voir les flots générés suivre des chemins distincts. • Identification. Les paquets RTCP contiennent des informations d’adresse, comme l’adresse d’un message électronique, un numéro de téléphone ou le nom d’un participant à une conférence téléphonique. • Contrôle de la session. RTCP permet aux participants d’indiquer leur départ d’une conférence téléphonique (paquet Bye de RTCP) ou simplement une indication de leur comportement. 278 Cours 13 ● Les réseaux IP Le protocole RTCP demande aux participants de la session d’envoyer périodiquement les informations ci-dessus. La périodicité est calculée en fonction du nombre de participants à l’application. Deux équipements intermédiaires, les translateurs (translator) et les mixeurs (mixer), permettent de résoudre des problèmes d’homogénéisation lorsqu’il y a plusieurs récepteurs. Un translateur a pour fonction de traduire une application codée dans un certain format en un autre format, mieux adapté au passage par un sous-réseau. Par exemple, une application de visioconférence codée en MPEG-2 peut être décodée et recodée en MPEG-4 si l’on souhaite réduire la quantité d’informations transmises. Un mixeur a pour rôle de regrouper plusieurs applications correspondant à plusieurs flots distincts en un seul flot conservant le même format. Cette approche est particulièrement intéressante pour les flux de paroles numériques. Comme nous venons de le voir, pour réaliser le transport en temps réel des informations de supervision, le protocole RTCP (Real Time Control Protocol) a été ajouté à RTP, les paquets RTP ne transportant que les données des utilisateurs. Le protocole RTCP autorise les cinq types de paquets de supervision suivants : • 200 : rapport de l’émetteur ; • 201 : rapport du récepteur ; • 202 : description de la source ; • 203 : au revoir ; • 204 : application spécifique. Ces différents paquets de supervision indiquent aux nœuds du réseau les instructions nécessaires à un meilleur contrôle des applications temps réel. Le format des messages RTP Le format des messages RTP est illustré à la figure 13-11. Les deux premiers octets contiennent six champ distincts. Les deux premiers bits indiquent le numéro de version (2 dans la version actuelle). Le troisième bit indique si des informations de bourrage (padding) ont été ajoutées. Si la valeur de ce bit est égale à 1, le dernier octet du paquet indique le nombre d’octets de bourrage. Le bit suivant précise s’il existe une extension au champ d’en-tête de RTP, mais, en pratique, aucune extension n’a été définie jusqu’à présent par l’IETF. Le champ suivant, Contributor Count, indique le nombre d’identificateurs de contributeurs à la session RTP qui doivent être spécifiés dans la suite du message (jusqu’à 15 contributeurs peuvent être recensés). Le bit Marker met à la disposition de l’utilisateur une marque indiquant la fin d’un ensemble de données. Les sept éléments binaires suivants complètent les deux premiers octets et indiquent ce qui est transporté dans le paquet RTP. Suite p. 280 RTP (Real-time Transport Protocol) 279 Suite de la page 279 Les valeurs possibles de ces éléments sont les suivantes : 0 : PCMU audio 1 : 1016 audio 2 : G721 audio 3 : GSM audio 4 : audio 5 : DV14 audio (8 kHz) 6 : DV14 audio (16 kHz) 7 : LPC audio 8 : PCMA audio 9 : G722 audio Version 10 : L16 audio (stéréo) 11 : L16 audio (mono) 12 : LPS0 audio 13 : VSC audio 14 : MPA audio 15 : G728 audio 16-22 : audio 23 : RGB8 video 24 : HDCC video 25 : CelB video Priorité 26 : JPEG video 27 : CUSM video 28 : nv video 29 : PicW video 30 : CPV video 31 : H261 video 32 : MPV video 33 : MP2T video Référence de flot Longueur de la charge En-tête suivant : 17 Nombre de nœuds traversés Adresse émetteur En-tête IP Adresse récepteur Version Padding Extension Compteur Marqueur Type de charge Port émetteur : 5004 Port récepteur : 5004 Longueur du datagramme Checksum En-tête UDP Numéro de séquence Horodatage (Timestamp) Identificateur de la source de synchronisation Identificateur de la source de contribution (le premier) Message RTP Identificateur de la source de contribution (le dernier) Données de l’application Figure 13-11. Format des messages RTP. Viennent ensuite un champ de numéro de séquence, qui permet de déterminer si un paquet est perdu, puis un champ d’horodatage (Timestamp), suivi des identificateurs de sources de synchronisation (SSRC) et de sources contributrices (CSRC). 280 Cours 13 ● Les réseaux IP Questions-réponses Question 17.– Quel protocole de niveau transport est-il préférable d’employer pour transporter des messages RTP ? Réponse.– Le protocole préconisé est UDP, qui permet d’atteindre plus facilement un temps réel. Question 18.– RTP peut-il effectuer des réservations de ressources dans les routeurs traversés ? De ce fait, peut-il vraiment apporter une qualité de service sur un flot à débit constant ? Réponse.– Non, RTP ne travaille qu’au niveau applicatif. De ce fait, RTP ne peut garantir aucune qualité de service sur un flot à débit constant. RTP travaille justement à optimiser le flot par rapport à la capacité du réseau. Question 19.– Les routeurs d’extrémité peuvent recevoir des translateurs et des mixeurs capables de modifier le flot RTP. Quelle application peut-on en faire ? Réponse.– Ces translateurs et ces mixeurs peuvent modifier un flot pour l’adapter au récepteur. Si l’on suppose que deux récepteurs distincts acceptent de faire partie d’une même conférence audio, avec chacun un codage différent, il faut au moins un translateur pour transformer le flot destiné à l’un des récepteurs en une syntaxe acceptable. Un mixeur peut, quant à lui, rassembler deux images émanant de deux stations terminales et les assembler sous un même document. ■ NAT (Network Address Translation) Le protocole IP version 4, que nous utilisons massivement actuellement, offre un champ d’adressage limité et insuffisant pour permettre à tout terminal informatique de disposer d’une adresse IP. Une adresse IP est en effet codée sur un champ de 32 bits, ce qui offre un maximum de 232 adresses possibles, soit en théorie 4 294 967 296 terminaux raccordables au même réseau. Pour faire face à cette pénurie d’adresses, et en attendant la version 6 du protocole IP, qui offrira un nombre d’adresses beaucoup plus important sur 128 bits, il faut recourir à un partage de connexion en utilisant la translation d’adresse, ou NAT (Network Address Translation). Ce mécanisme se rencontre fréquemment à la fois en entreprise et chez les particuliers. Il distingue deux catégories d’adresses : les adresses IP publiques, c’est-à-dire visibles et accessibles de n’importe où (on dit aussi routables sur Internet), et les adresses IP privées, c’est-à-dire non routables sur Internet et adressables uniquement dans un réseau local, à l’exclusion du réseau Internet. Le NAT consiste à établir des relations entre l’adressage privé dans un réseau et l’adressage public pour se connecter à Internet. NAT (Network Address Translation) adresse IP publique.– Adresse IP qui est comprise par l’ensemble des routeurs d’Internet et qui peut donc être routée sur Internet. adresse IP privée.– Adresse IP qui n’est pas comprise par les routeurs d’Internet. C’est une adresse qui n’est comprise que dans un environnement privé. 281 Adresses privées et adresses publiques Dans le cas d’un réseau purement privé, et jamais amené à se connecter au réseau Internet, n’importe quelle adresse IP peut être utilisée. Dès qu’un réseau privé peut être amené à se connecter sur le réseau Internet, il faut distinguer les adresses privées des adresses publiques. Pour cela, chaque classe d’adresses IP dispose d’une plage d’adresses réservées, définies comme des adresses IP privées, et donc non routables sur Internet. La RFC 1918 récapitule ces plages d’adresses IP, comme l’indique le tableau 13.1. Classe d’adresses Plages d’adresses privées Masque réseau Espace adressable A 10.0.0.0 à 10.255.255.255 255.0.0.0 B 172.16.0.0 à 172.31.255.255 255.240.0.0 Sur 20 bits, soit 1 048 576 terminaux Sur 24 bits, soit 16 777 216 terminaux C 192.168.0.0. à 192.168.255.255 255.255.0.0 Sur 16 bits, soit 65 536 terminaux Tableau 13-1. Plages d’adresses privées Dans ce cadre, et avant d’introduire la notion de NAT, les utilisateurs qui possèdent une adresse IP privée ne peuvent communiquer que sur leur réseau local, et non sur Internet, tandis qu’avec une adresse IP publique, ils peuvent communiquer avec n’importe quel réseau IP. L’adressage privé peut être utilisé librement par n’importe quel administrateur ou utilisateur au sein de son réseau local. Au contraire, l’adressage public est soumis à des restrictions de déclaration et d’enregistrement de l’adresse IP auprès d’un organisme spécialisé, l’IANA (Internet Assigned Numbers Authority), ce que les FAI effectuent globalement en acquérant une plage d’adresses IP pour leurs abonnés. FAI (fournisseur d’accès Internet).– En anglais ISP (Internet Service Provider) : opérateur qui commercialise des accès à Internet. La figure 13-12 illustre un exemple d’adressage mixte, dans lequel on distingue les différentes communications possibles, selon un adressage de type privé ou public. Partager une adresse IP privée Moyennant la souscription d’un accès Internet auprès d’un FAI, ce dernier fournit à ses utilisateurs une adresse IP privée. Dans un même foyer ou une même entreprise, deux utilisateurs ne peuvent communiquer en même temps sur Internet avec cette seule adresse IP fournie. Les adresses IP privées conviennent généralement pour couvrir un réseau privé, de particulier ou d’entreprise, mais pas pour communiquer directement avec les réseaux publics. 282 Cours 13 ● Les réseaux IP 132.10.11.121 (adresse IP publique) 132.10.11.122 (adresse IP publique) Réseau local 2 10.0.0.2 (adresse IP privée) Réseau Internet Réseau local 1 10.0.0.1 (adresse IP privée) 132.227.165.11 (adresse IP publique) Figure 13-12 Adressage mixte privé-public Pour résoudre ce problème et permettre à un terminal disposant d’une adresse IP privée de communiquer avec le réseau public, le processus de NAT fait intervenir une entité tierce entre un terminal, ayant une adresse IP privée, et tout autre terminal ayant une adresse IP publique. Ce mécanisme consiste à insérer un boîtier entre le réseau Internet et le réseau local afin d’effectuer la translation de l’adresse IP privée en une adresse IP publique. Aujourd’hui, la plupart des boîtiers, ou InternetBox, des FAI proposent à leurs abonnés cette fonctionnalité. Toutes les machines qui s’y connectent reçoivent par le biais du service DHCP (Dynamic Host Configuration Protocol) une adresse IP privée, que le boîtier se charge de translater en une adresse IP publique. La figure 13-13 illustre un exemple dans lequel une passerelle NAT réalise une translation d’adresses pour quatre terminaux. Cette passerelle possède deux interfaces réseau. La première est caractérisée par une adresse IP publique (132.227.165.221). Connectée au réseau Internet, elle est reconnue et adressable normalement dans le réseau. La seconde interface est caractérisée par une adresse IP non publique (10.0.0.254). Connectée au réseau local, elle ne peut communiquer qu’avec les terminaux qui possèdent une adresse IP non publique de la même classe. Lorsqu’un terminal ayant une adresse IP privée tente de se connecter au réseau Internet, il envoie ses paquets vers la passerelle NAT. Celle-ci remplace l’adresse IP privée d’origine par sa propre adresse IP publique (132.227.165.221). On appelle cette opération une translation d’adresse. De NAT (Network Address Translation) 283 cette manière, les terminaux avec une adresse IP privée sont reconnus et adressables dans le réseau Internet par une adresse IP publique. 10.0.0.1 (adresse IP privée) 10.0.0.2 (adresse IP privée) 10.0.0.254 (adresse IP privée) 132.227.165.221 (adresse IP privée) Réseau Internet Passerelle NAT 10.0.0.3 (adresse IP privée) 10.0.0.4 (adresse IP privée) Figure 13-13 Translation d’adresses La translation d’adresse est bien sûr réalisée dans les deux sens d’une communication, afin de permettre l’émission de requêtes aussi bien que la réception des réponses correspondantes. Pour cela, le boîtier NAT maintient une table de correspondance des paquets de manière à savoir à qui distribuer les paquets reçus. 10.0.0.3 (adresse IP privée) 10.0.0.254 (adresse IP privée) 132.227.165.221 (adresse IP privée) Passerelle NAT 1 Envoi d’un paquet Adresse source : 10.0.0.3 Port source : 12345 Adresse source : 132.227.165.221 Port source : 23456 2 Table de NAT de la passerelle Port d’envoi 23456 (IP source, Port source) (10.0.0.3, 12345) 3 Réception d’un paquet Adresse source : 10.0.0.3 Port source : 12345 Figure 13-14 Modification de paquets lors du NAT 284 Cours 13 ● Les réseaux IP Adresse source : 132.227.165.221 Port source : 23456 Réseau Internet Par exemple, si un émetteur dont l’adresse IP est 10.0.0.3 envoie vers la passerelle NAT un paquet à partir de son port 12345, la passerelle NAT modifie le paquet en remplaçant l’adresse IP source par la sienne et le port source par un port quelconque qu’elle n’utilise pas, disons le port 23456. Elle note cette correspondance dans sa table de NAT. De cette manière, lorsqu’elle recevra un paquet à destination du port 23456, elle cherchera cette affectation de port dans sa table et retrouvera la source initiale. Ce cas est illustré à la figure 13-14. Avantages du NAT Le premier atout du NAT est de simplifier la gestion du réseau en laissant l’administrateur libre d’adopter le plan d’adressage interne qu’il souhaite. Étant privé, le plan d’adressage interne ne dépend pas de contraintes externes, que les administrateurs ne maîtrisent pas toujours. Par exemple, si une entreprise utilise un plan d’adressage public et qu’elle change de FAI, elle doit modifier l’adresse de tous les terminaux qui composent son réseau. Au contraire, avec le NAT et un plan d’adressage privé, le choix d’un nouveau fournisseur d’accès Internet n’a pas d’impact sur les terminaux. Dans ce cas, l’administrateur n’a pas besoin de reconfigurer les adresses IP de tous les terminaux de son réseau. Il lui suffit de modifier, au niveau de la passerelle NAT, le pool d’adresses IP publiques, qui est affecté dynamiquement aux adresses IP privées des terminaux du réseau local. Le deuxième atout du NAT est d’économiser le nombre d’adresses IP publiques. Le protocole réseau IP, qui est utilisé dans l’Internet actuel dans sa version 4, présente une limitation importante, car le nombre d’adresses IP disponible est faible comparé au nombre de terminaux susceptibles d’être raccordés au réseau Internet. Comme cette ressource est rare, sa mise à disposition à un coût pour les administrateurs qui souhaitent en bénéficier. Le NAT comble cette pénurie d’adresses propre à la version 4 d’IP en offrant la possibilité d’économiser les adresses IP à deux niveaux distincts. Tous les terminaux d’un réseau local n’ont pas forcément besoin d’être joignables de l’extérieur, mais peuvent se limiter à une connexion interne au réseau. Par exemple, des serveurs d’intranet, des annuaires d’entreprise, des serveurs dédiés aux ressources humaines avec des informations confidentielles de suivi du personnel ou bien encore des serveurs de tests n’ont pas à être joignables à partir du réseau Internet, mais seulement en interne au sein de l’entreprise. En conséquence, ces serveurs peuvent se suffire d’une adresse IP privée, qui ne sera jamais « nattée » par le boîtier NAT puisque ces serveurs reçoivent des requêtes mais n’en émettent jamais. NAT (Network Address Translation) 285 Un deuxième niveau d’économie d’adresses IP publique est opéré avec le mécanisme que nous avons mentionné à la section précédente, qui permet de masquer plusieurs terminaux disposant chacun d’une adresse IP privée avec une seule adresse IP publique, en jouant sur les ports utilisés. Cette méthode est très couramment employée, car elle n’impose aucune condition quant au nombre de terminaux susceptibles d’accéder à Internet dans le réseau local. Un autre avantage important du NAT concerne la sécurité. Les terminaux disposent en effet d’une protection supplémentaire, puisqu’ils ne sont pas directement adressables de l’extérieur. En outre, le boîtier NAT offre la garantie que tous les flux transitant entre le réseau interne et l’extérieur passent toujours par lui. Si un terminal est mal protégé et ne dispose pas d’un pare-feu efficace, le réseau dans lequel il se connecte peut ajouter des mécanismes de protection supplémentaires au sein de la passerelle NAT, puisqu’elle représente un passage obligé pour tous les flux. Globalement, l’administrateur concentre les mécanismes de sécurisation à un point de contrôle unique et centralisé. Cela explique que, bien souvent, les boîtiers NAT sont couplés avec des pare-feu filtrant les flux. Les trois catégories de NAT Le mécanisme de NAT que nous avons pris comme exemple précédemment, consistant à jouer sur les ports pour masquer plusieurs terminaux avec une adresse IP unique, est un cas particulier. Il repose sur une translation de port appelée NPT (Network Port Translation). Lorsqu’elle se combine avec le NAT, on parle de NAPT (Network Address and Port Translation). Bien que les concepts soient différents, le processus de NAT inclut fréquemment par abus de langage le processus de NPT. En réalité, il faut distinguer trois formes de NAT, le NAT statique, le NAT dynamique et NATP. Ces formes peuvent se combiner selon les besoins de chaque utilisateur et les politiques d’administration établies dans un réseau. D’autres formes de classification du NAT sont possibles. La RFC 3489 en recense quatre types, par exemple. Nous nous contenterons de détailler dans les sections suivantes les formes les plus courantes. Le NAT statique Dans le NAT statique, à toute adresse IP privée qui communique avec l’extérieur, une adresse IP publique fixe lui est affectée. Avec ce type de NAT, les utilisateurs du réseau local sont joignables de l’extérieur, car la passerelle réalise la correspondance d’une adresse IP locale en une adresse IP publique dans les deux sens. C’est un avantage indéniable, en particulier pour la téléphonie, car un utilisateur à l’extérieur du réseau privé peut appeler un abonné à l’intérieur du réseau privé puisqu’il connaît son adresse IP fixe. Ce cas de figure est illustré à la figure 13-15. Le terminal ayant l’adresse IP privée 10.0.0.4 n’a pas de correspondance d’adresse IP publique, car c’est un serveur interne. Les administrateurs font l’économie d’une adresse IP pour ce serveur et s’assurent en outre que ce dernier n’est pas joignable directement de l’extérieur. Un changement de FAI ne remet pas en cause le plan d’adressage en local. 286 Cours 13 ● Les réseaux IP 10.0.0.1 (adresse IP privée) Passerelle NAT Réseau Internet 10.0.0.2 (adresse IP privée) 10.0.0.3 (adresse IP privée) Table de NAT de la passerelle Adresse privée 10.0.0.1 10.0.0.2 10.0.0.3 Adresse publique 132.227.165.221 132.227.165.222 132.227.165.223 10.0.0.4 (adresse IP privée) Figure 13.15 Le NAT statique Le NAT dynamique Avec le NAT dynamique, une plage d’adresses IP publiques est disponible et partagée par tous les utilisateurs du réseau local. Chaque fois qu’une demande d’un utilisateur local (avec une adresse privée) parvient à la passerelle NAT, celle-ci lui concède dynamiquement une adresse IP publique. Elle maintient cette correspondance pour une période fixe, mais renouvelable selon l’activité de l’utilisateur, qui assure le suivi des communications. Avec ce type de NAT, les utilisateurs locaux ne sont joignables de l’extérieur que s’ils ont une entrée dans la table de la passerelle NAT, autrement dit que s’ils entretiennent une activité avec le réseau Internet. En effet, les correspondants externes ne peuvent s’adresser qu’à la passerelle NAT pour envoyer leur flux. Or tant que le correspondant interne n’a pas d’activité réseau, aucune entrée ne lui est attribuée dans la table de NAT. De plus, l’adresse IP qui leur est affectée est temporaire et peut être différente à la prochaine connexion, ce qui restreint les possibilités d’être joignable de l’extérieur. Il existe même une forme de NAT particulière, appelée NAT symétrique ou « full cone » dans la RFC 3489, qui consiste à établir une correspondance entre l’adresse IP privée et publique selon la destination d’une communication. Autrement dit, un utilisateur du réseau local aura une certaine adresse IP publique lorsqu’il communique avec un correspondant extérieur et une autre adresse IP publique lorsqu’il communique avec une autre destination. Le modèle dynamique offre une plus grande souplesse d’utilisation que le modèle statique puisque les associations d’adresses IP privées et publiques n’ont pas besoin d’être mentionnées statiquement par l’administrateur, mais sont attribuées automatiquement. En outre, il présente l’avantage d’optimiser au maximum les ressources. Si un utilisateur n’exploite pas sa connexion Internet et se contente de sa connexion locale, la passerelle NAT n’a pas besoin de lui attribuer une adresse IP. Le NAT dynamique est cependant plus complexe puisqu’il impose à la passerelle NAT de maintenir les Suite p. 288 NAT (Network Address Translation) 287 Suite de la page 287 états des connexions pour déterminer si les utilisateurs exploitent leur adresse IP publique ou s’il est possible, passé un certain délai, de les réutiliser. Ce modèle ressemble à celui déployé avec la téléphonie RTC. Le nombre de lignes sortantes d’un commutateur téléphonique d’entreprise et même d’immeubles de particuliers est généralement inférieur au nombre de lignes entrantes. Autrement dit, tous les abonnés disposent d’un téléphone, mais tous ne peuvent appeler en même temps. Dans la pratique, il est assez exceptionnel que tous les abonnés appellent en même temps, si bien que ces derniers ne perçoivent pas cette restriction, qui permet aux opérateurs de limiter le nombre de lignes. Avec le NAT dynamique, les notions sont différentes, mais le principe est le même : l’attribution des adresses IP se fait à la demande, avec les limitations du nombre d’adresses IP publiques disponibles que cela suppose. Le NAPT Variante du NAT dynamique, le NAPT (Network Address Port Translation) est en fait celui que nous avons présenté précédemment sans le nommer. Il consiste à attribuer une même adresse IP à plusieurs utilisateurs d’un même réseau local. Comme nous l’avons expliqué, pour associer une même adresse IP publique à deux terminaux ayant une adresse privée distincte, la passerelle NAT joue sur les ports des applications : une requête envoyée à partir du port A d’une source est retransmise avec le port B de la passerelle, tandis qu’une requête émise à partir du port C d’une autre source est retransmise avec le port D de la passerelle. De cette manière, la passerelle peut contrôler et distinguer chacune des demandes qui lui parviennent. L’inconvénient de cette méthode est que seuls les utilisateurs du réseau local peuvent amorcer une communication vers l’extérieur. Autrement dit, ils ne peuvent répondre à une communication qu’ils n’ont pas préalablement initiée. Les correspondants externes à la passerelle NAT ne possèdent en effet des entrées que pour une adresse IP et un port source privés. Or si le port source est mentionné, c’est qu’une application a déjà été ouverte par le terminal du réseau local. Le correspondant externe n’a aucun moyen d’établir une telle association en lieu et place du terminal dont il ignore la véritable adresse IP. Le NAPT est sans conteste la méthode la plus économe puisqu’elle permet de masquer tout un réseau local avec une seule adresse IP. Elle est la plus couramment employée chez les particuliers et les petites et moyennes entreprises. Questions-réponses Question 20.– Pourquoi IPv6 permet-il de se passer de la technique NAT ? Que cela change-t-il ? Réponse.– Parce que le nombre d’adresses en IPv6 est suffisant pour donner une adresse IP à chaque machine. Cela implique que chaque objet connecté à Internet pourra garder une adresse unique, ce qui supprime les tables de correspondance. Question 21.– Les InternetBox utilise-t-elles des NAT ? Réponse.– Oui. Les opérateurs n’ayant pas suffisamment d’adresses IP publiques, ils utilisent pour le grand public des NAT. En revanche, pour les InternetBox d’entreprise, des adresses publiques sont en général utilisées pour permettre aux entreprises d’avoir une adresse IP fixe. 288 Cours 13 ● Les réseaux IP Question 22.– Le NAT est-il utilisé pour connecter les équipements du domicile derrière une InternetBox ? En déduire qu’il est possible de mettre deux NAT l’un derrière l’autre. Réponse.– Oui. L’InternetBox gère en général un NAT pour interconnecter plusieurs équipements dans le domicile. Comme l’adresse de l’InternetBox peut être une adresse privée, il est possible de mettre deux NAT en série. ■ IP Mobile Le protocole IP est de plus en plus souvent présenté comme une solution possible pour résoudre les problèmes posés par les utilisateurs mobiles. Le protocole IP Mobile peut être utilisé sous la version 4 d’IP, mais le manque potentiel d’adresses complique la gestion de la communication avec le mobile. La version 6 d’IP est utilisée pour son grand nombre d’adresses disponibles, ce qui permet de donner des adresses temporaires aux stations en cours de déplacement. Une station possède une adresse de base et un agent qui lui est attaché. Cet agent a pour rôle de suivre la correspondance entre l’adresse de base et l’adresse temporaire. agent.– Programme qui effectue la liaison entre deux entités. Lors d’un appel vers la station mobile, la demande est acheminée vers la base de données détenant l’adresse de base. Grâce à l’agent, il est possible d’effectuer la correspondance entre l’adresse de base et l’adresse provisoire et d’acheminer la demande de connexion vers le mobile. Cette solution est illustrée à la figure 13-16. Tunnel HA FA Réseau IP Client souhaitant envoyer un message à A HA : agent Home FA : agent Foreign Mobile A Figure 13-16. Mise en place d’une communication dans IP Mobile. Ce dispositif est semblable à celui utilisé dans les réseaux de mobiles, qu’il s’agisse de la version européenne GSM ou américaine IS 95. IP Mobile 289 La terminologie en vigueur dans IP Mobile est la suivante : • Nœud mobile (Mobile Node) : terminal ou routeur qui change son point d’attachement d’un sous-réseau à un autre sous-réseau. • Agent mère, ou encore agent Home (Home Agent) : correspond à un routeur du sous-réseau sur lequel est enregistré le nœud mobile. • Agent visité, ou encore agent Foreign (Foreign Agent) : correspond à un routeur du sous-réseau visité par le nœud mobile. tunnelling.– Action de mettre un tunnel entre deux entités. Un tunnel correspond à un passage construit pour aller d’un point à un autre sans tenir compte de l’environnement. Dans un réseau, un tunnel correspond à un transport de paquets entre les deux extrémités. Ce transport doit être transparent, c’est-àdire indépendant des équipements ou des couches de protocoles traversés. L’environnement IP Mobile est formé des trois fonctions relativement disjointes suivantes : • Découverte de l’agent (Agent Discovery) : le mobile, lorsqu’il arrive dans un sous-réseau, recherche un agent susceptible de le prendre en charge. • Enregistrement : lorsqu’un mobile est hors de son domaine de base, il enregistre sa nouvelle adresse (Care-of-Address) auprès de son agent Home. Suivant la technique utilisée, l’enregistrement peut s’effectuer soit directement auprès de l’agent Home, soit par l’intermédiaire de l’agent Foreign. • Tunnelling : lorsqu’un mobile se trouve en dehors de son sous-réseau, il faut que les paquets lui soient délivrés par une technique de tunnelling, qui permet de relier l’agent Home à l’adresse Care-of-Address. Les figures 13-17 et 13-18 illustrent les schémas de communication mobiles en vigueur dans IPv4 et IPv6. HA FA 2 Réseau IP 1 3 4 CA HA : agent Home FA : agent Foreign CA : Care-of-Address Figure 13-17. La communication IP Mobile dans IPv4. 290 Cours 13 ● Les réseaux IP Réseau A HA HA : agent Home AP : Point d’attachement INTERNET Réseau D Réseau B HA Réseau C AP AP (a AP (a (a Figure 13-18. La communication IP Mobile dans IPv6. Questions-réponses Question 23.– Le schéma de base proposé par IP Mobile consiste à passer par le réseau mère (Home) lors d’une émission d’une source vers le mobile et à émettre directement vers le récepteur lorsqu’il s’agit d’une communication du mobile vers un récepteur. Peut-on envisager de ne plus passer par le réseau mère dans le cas d’une réception par le mobile ? Réponse.– L’un des choix possibles proposés par l’IETF consiste, pour l’agent visité (Foreign), à envoyer à l’agent mère (Home) un message BU (Binding Update) lui demandant d’indiquer à un correspondant qui veut le joindre son adresse temporaire. Question 24.– Comment un mobile peut-il acquérir une adresse temporaire puisqu’il ne connaît rien a priori du réseau dans lequel il entre ? Réponse.– Les agents Home et Foreign indiquent leur présence sur la partie du réseau sur laquelle ils opèrent par l’émission régulière d’agents Advertisement, qui sont décrits à la section consacrée à ICMP. Les mobiles sont à l’écoute et en déduisent s’ils sont dans leur réseau mère ou dans un réseau visité. Si le mobile se situe sur un réseau visité, il acquiert une adresse temporaire (Care-of-Address). Une autre solution consiste pour le mobile à envoyer une demande de sollicitation, toujours en utilisant le protocole ICMP. message BU (Binding Update).– Message de contrôle, de l’agent visité (Foreign) à l’agent mère (Home) pour lui demander d’avertir un émetteur de la nouvelle adresse de son correspondant (adresse Care-ofAddress). Question 25.– La micromobilité indique un changement de cellule de la part du mobile sans que l’agent mère (Home) en soit averti. Comment considérer cette micromobilité ? Réponse.– La micromobilité peut sexercer lorsqu’un même agent visiteur gère plusieurs sous-réseaux, ou cellules. Dans ce cas, c’est l’agent visiteur qui gère de façon transparente les changements de sous-réseaux. Cette micromobilité devient particulièrement utile lorsque l’utilisateur change très souvent de sous-réseau, ou de cellule pour les portables GSM ou UMTS. IP Mobile 291 IPsec La solution proposée par le protocole IPsec (IP sécurisé) introduit des mécanismes de sécurité au niveau du protocole IP, de telle sorte que le protocole de transport peut être absolument quelconque. Le rôle de ce protocole est de garantir l’intégrité, l’authentification, la confidentialité et la protection contre les techniques rejouant des séquences précédentes. L’utilisation des propriétés d’IPsec est optionnelle dans IPv4 et obligatoire dans IPv6. L’authentification a pour fonction de garantir l’identité de l’émetteur. Pour cela, une signature électronique est ajoutée dans le paquet IP. La confidentialité doit être garantie pour les données ainsi que, éventuellement, pour leur origine et leur destination. La façon de procéder consiste à chiffrer par des algorithmes ad hoc tout ou partie du paquet. Nous explicitons ce chiffrement un peu plus loin dans cette section. Des associations de sécurité peuvent être mises en place, de façon à permettre à deux utilisateurs de partager une information secrète, appelée un secret. Cette association doit définir des paramètres de sécurité communs. IPsec autorise deux types de passerelles de sécurité, l’une mettant en relation deux utilisateurs de bout en bout, l’autre servant d’intermédiaire entre une passerelle et une autre ou entre une passerelle et un hôte. Le format des paquets IPsec est illustré à la figure 13-18. La partie la plus haute de la figure correspond au format d’un paquet IP dans lequel est encapsulé un paquet TCP. La partie du milieu illustre le paquet IPsec, et l’on voit qu’entre l’en-tête IP et l’en-tête TCP vient se mettre l’en-tête d’IPsec. Dans cette solution, le chiffrement commence avec l’en-tête IPsec, et l’en-tête du paquet IP n’est pas chiffré. Un attaquant peut au moins déterminer le couple de stations terminales en train de communiquer. La partie basse de la figure 13-19 montre le format d’un paquet dans un tunnel IP. On voit que la partie intérieure correspond à un paquet IP encapsulé dans un paquet IPsec de telle sorte que même les adresses des émetteurs et des récepteurs sont cachées. Le nouvel en-tête IP comporte les adresses des passerelles où sont chiffrés et déchiffrés les paquets. Dans un tunnel IPsec, tous les paquets IP d’un flot sont transportés de façon totalement chiffrée, même les en-têtes des paquets IP. Il est de la sorte impossible de voir les adresses IP ou même les valeurs du champ de supervision du paquet IP encapsulé. La figure 13-20 illustre un tunnel IPsec. Ici, les adresses IP portées par le nouvel en-tête sont les adresses des passerelles d’entrée et de sortie de l’entreprise. 292 Cours 13 ● Les réseaux IP En-tête IP En-tête TCP Données En-tête IP En-tête IPsec En-tête TCP En-tête IP En-tête IPsec En-tête TCP Données En-tête IP Données Figure 13-19. Formats des paquets IPsec. Figure 13-20. Un tunnel IPsec. Questions-réponses Question 26.– Une possibilité d’attaque consisterait à capturer tous les paquets qui transitent dans un tunnel sans les comprendre, puisqu’ils sont chiffrés, puis à rejouer ce flot de paquets. Comment peut-on contrer une telle attaque ? Réponse.– Pour contrer cette attaque, il est possible de placer la valeur d’un compteur dans la partie chiffrée qui est vérifiée à la réception du paquet. Si l’on rejoue une séquence, le numéro du compteur n’est plus valable et le récepteur rejette les paquets. ■ Fonctions supplémentaires L’installation et l’exploitation des logiciels TCP/IP requièrent une certaine expertise. Une première extension de ces logiciels consiste à automatiser l’insFonctions supplémentaires 293 tallation et la maintenance des logiciels, de façon à permettre à un utilisateur de relier sa machine au réseau sans avoir à valoriser les paramètres manuellement. De ce fait, un utilisateur peut connecter son ordinateur à Internet sans faire appel à un spécialiste pour installer les logiciels et mettre à jour les paramètres de configuration et de routage. En particulier, il est possible d’obtenir une configuration automatique d’un calculateur par de nouveaux protocoles permettant à une machine d’obtenir et d’enregistrer automatiquement toutes les informations sur les noms et adresses dont elle a besoin. Des groupes de travail examinent les améliorations qui peuvent encore être apportées à ces techniques d’autoconfiguration. Le groupe consacré à l’apprentissage des routeurs travaille sur des protocoles qui permettent à une machine de découvrir les routeurs qu’elle peut utiliser. Actuellement, il est nécessaire de configurer l’adresse d’un routeur par défaut. Le protocole permettra de découvrir les adresses des passerelles locales et de tester en permanence ces adresses pour savoir lesquelles peuvent être utilisées à tout instant. Le protocole DHCP (Dynamic Host Configuration Protocol) est utilisé pour initialiser et configurer dynamiquement une nouvelle machine connectée. Le protocole NDP (Neighbor Discovery Protocol) permet, grâce aux protocoles ARP et ICMP, l’autoconfiguration des adresses et la configuration de la MTU (Maximum Transmission Unit). Nous allons détailler cette dernière. overhead.– Partie des informations transportées qui ne provient pas de l’utilisateur mais de la gestion et du contrôle du réseau. Le calcul de la MTU, ou taille maximale des données pouvant être contenues dans une trame physique, permet à une machine de rechercher la plus petite MTU sur un chemin particulier vers une destination donnée. La taille optimale d’un segment TCP dépend de la MTU, car les datagrammes plus grands que la MTU sont fragmentés, tandis que les datagrammes plus petits augmentent l’overhead. Si la MTU est connue, TCP peut optimiser le débit en construisant des segments assez larges, de façon à tenir dans un datagramme, ce dernier étant transporté dans une seule trame physique, la plus grande possible. De la même façon, UDP peut améliorer le débit en tenant compte de la MTU pour choisir la taille des datagrammes. TCP/IP rend possible une interopérabilité universelle. Cependant, dans plusieurs environnements, les administrateurs ont besoin de limiter cette interopérabilité pour protéger les données privées. Ces restrictions correspondent au problème général de la sécurité. La fiabilité d’Internet est toutefois plus difficile à mettre en œuvre que celle d’un simple ordinateur, car Internet offre des services de communication beaucoup plus puissants. Le problème est de savoir comment un utilisateur s’appuyant sur TCP/IP peut s’assurer de la protection de ses machines et de ses données contre les accès non autorisés. Un groupe de travail a exploré la question de la sécurisation de la messagerie en expérimentant un service de messagerie privée amélioré. L’idée est de permettre à l’émetteur de chiffrer son message et de l’envoyer sur un Internet ouvert sans permettre à une personne autre que le destinataire de le décrypter. 294 Cours 13 ● Les réseaux IP Des travaux sur le filtrage des paquets dans les passerelles ont produit une variété de mécanismes, qui permettent aux administrateurs de fournir des listes explicites de contrôle d’accès. Une liste d’accès spécifie un ensemble de machines et de réseaux au travers desquels la passerelle peut router les datagrammes. Si l’adresse n’est pas autorisée, le datagramme est détruit. Dans la plupart des implémentations, la passerelle enregistre la tentative de violation dans un journal. Ainsi est-il possible d’utiliser des filtres d’adresses pour surveiller les communications entre les machines. Questions-réponses Question 27.– Comment un routeur indique-t-il au routeur précédent qu’il ne peut pendre en compte une fragmentation, parce que, par exemple, le bit de non-fragmentation a été positionné dans le paquet IPv4 ? Réponse.– Le routeur concerné envoie vers le routeur précédent un message ICMP avec le type 4 : « Message d’erreur, problème de paramètre ». Question 28.– Pourquoi le choix de la bonne valeur de la MTU est-il si important ? Réponse.– Le processus de fragmentation-réassemblage est lourd, ce qui pénalise énormément les performances. C’est la raison pour laquelle IPv6 utilise une procédure de détection de la bonne valeur de la MTU. Question 29.– Un pare-feu, ou firewall, est un organe qui protège l’accès d’un réseau privé et plus pré- cisément des ports des protocoles TCP ou UDP. Comment peut procéder le pare-feu pour empêcher les accès à un certain nombre d’applications ? Réponse.– Il suffit que le pare-feu refuse tous les paquets qui possèdent un numéro de port correspondant à une application que l’on souhaite éviter. Par exemple, si l’on veut interdire les accès du protocole d’accès à distance Telnet, on rejette tous les paquets de port 23. Fonctions supplémentaires fragmentation-réassemblage.– Fonction de base du niveau transport consistant à fragmenter le message en paquets puis à réassembler ces paquets à la sortie pour retrouver le message de départ. Telnet.– Application permettant à un équipement terminal de se connecter à un serveur distant. C’est ce que l’on nomme une émulation de terminal (le logiciel Telnet rend le terminal compatible avec le serveur). 295 Exercices 1 Les corrigés de ces exercices se trouvent pp. 478-480. On considère la connexion d’un PC, appelé PCA, à un autre PC, appelé PCB, par l’intermédiaire d’un réseau ATM. Les deux PC travaillent sous un environnement IP. a Expliquer comment s’effectue le transport d’un PC à l’autre. b Si PCA connaît PCB par son adresse logique IP, comment peut s’effectuer la communication ? Peut-on utiliser le protocole ARP ? c Si l’adresse de PCA est 127.76.87.4 et celle de PCB 127.76.14.228, ces deux stations étant sur un même réseau, à quelle classe d’adresse IP appartient ce réseau ? d On suppose maintenant que les deux PC ne soient plus sur le même réseau mais sur deux réseaux ATM interconnectés par un routeur. Si, comme à la question 2, PCA connaît PCB par son adresse logique IP, comment peut s’effectuer la communication ? e On suppose que le réseau sur lequel PCA est connecté possède un serveur d’adresses, c’est-à-dire un serveur capable d’effectuer la correspondance entre les adresses IP du réseau et les adresses physiques des coupleurs ATM sur lesquels sont connectés les PC. Que se passe-t-il si PCA lui envoie une requête de résolution de l’adresse IP de PCB ? f Montrer que si chaque sous-réseau qui participe au réseau Internet — sous-réseaux appelés LIS (Logical IP Subnetwork) — possède un tel serveur d’adresses, le problème global de la résolution d’adresse peut être résolu. 2 Avec les commandes demande d’écho (Echo Request) et réponse d’écho (Echo Reply) d’ICMP, il est possible de tester un réseau IP. La commande Ping est un petit programme qui intègre ces deux commandes pour réaliser des tests facilement. La commande Ping envoie un datagramme à une adresse IP et demande au destinataire de renvoyer le datagramme. a Que mesure la commande Ping ? b En retour de la commande Ping, on reçoit un message ICMP portant le numéro de type 3. Ce message indique que le paquet IP qui transporte le message ICMP de demande d’écho a vu la valeur de son champ Temps de vie, ou TTL (Time To Live), dépasser la limite admissible. Que faut-il en déduire ? c Si l’on est sûr de l’adresse IP du correspondant mais que le message de retour soit un message ICMP avec Destinataire inaccessible , que faut-il en déduire ? d En règle générale, la commande Ping ne génère pas une seule commande d’écho mais plusieurs (souvent 4). Quelle en est la raison ? 296 Cours 13 ● Les réseaux IP 3 Soit un réseau IP utilisant le protocole RSVP. a Montrer que RSVP est un protocole de signalisation. b RSVP effectue une réservation dans le sens retour, c’est-à-dire du récepteur vers l’émetteur. Pourquoi ? c RSVP est un protocole multipoint, c’est-à-dire qu’il peut ouvrir des chemins allant de l’émetteur à plusieurs récepteurs. Montrer que la réservation s’effectuant des récepteurs vers l’émetteur est une bonne solution dans ce cas. d Le protocole RSVP peut très bien ne faire aucune réservation explicite. Quel est dans ce cas l’intérêt de RSVP ? 4 Soit une application téléphonique sur Internet utilisant le protocole RTP/RTCP. a L’émetteur et le récepteur doivent-ils posséder plusieurs ou un seul codec, un codec permettant de compresser plus ou moins la voix ? b Le protocole RTCP a pour objectif d’indiquer au récepteur les performances du réseau. Est-ce un protocole indispensable à RTP ? c Cette solution de gestion de la qualité de service au niveau de l’émetteur en adaptant les flux aux contraintes internes du réseau vous paraît-elle conforme à la philosophie d’Internet ? d Si le réseau est capable d’offrir lui-même une qualité de service, le protocole RTP/RTCP est-il encore utile ? 5 Soit un réseau IP proposant de la qualité de service au travers d’une technique DiffServ. a Les clients EF (Expedited Forwarding) ont la priorité la plus haute. Expliquer pourquoi les clients EF peuvent obtenir une qualité de service garantie. b Montrer que, dans certains cas, cette garantie peut être remise en cause. c Dans la classe AF (Assured Forwarding), il existe trois sous-classes. Montrer qu’aucune de ces sous-classes ne peut espérer obtenir une garantie sur le temps de transit du réseau. d Montrer que les clients de la classe AF doivent être soumis à un contrôle de flux. e Pourquoi les normalisateurs de l’IETF ont-ils proposé quatre classes, dites classes de precedence, ou priorité, dans chacune des trois classes de base ? f Les clients best effort ont-ils le même service que dans l’Internet classique, n’offrant que la classe best effort ? Exercices 297 6 Soit un réseau composé de terminaux mobiles IP qui peuvent se déplacer dans des cellules. Un client est enregistré dans la cellule où il a pris son abonnement. a Pourquoi son adresse IP n’est-elle pas suffisante pour que le réseau le retrouve lorsqu’il se déplace ? b Si l’on donne à un utilisateur qui ne se trouve pas dans la cellule où il s’est enregistré une nouvelle adresse IP, comment peut-on faire le lien entre son adresse de base et sa nouvelle adresse ? c Si l’utilisateur émet un paquet, doit-il utiliser son adresse de base ou l’adresse que le réseau lui a affectée ? d Dans quel cas pourrait-il être intéressant de donner à un utilisateur qui souhaite joindre notre client son adresse provisoire, décernée par la cellule dans laquelle il se trouve ? 298 Cours 13 ● Les réseaux IP