Administrer son réseau IP
Les utilitaires de base
Le ping Deux programmes doivent faire partie du « kit de survie » de tout administrateur réseau : ping et Traceroute. La commande de base est le ping (Packet Internet Groper, ou ping-pong). Ce programme permet de savoir si une station IP est active et, plus généralement, si le réseau fonctionne correctement entre deux points, par exemple, entre votre PC à Paris et le serveur de Londres. Autre fonction intéressante, le programme donne également le temps de réponse mesuré. Figure 16-1. Le ping. La commande ping s’appuie sur le protocole ICMP (Internet Control Message Protocol) qui fait partie de la couche IP. Ce protocole est utilisé pour toutes les opérations qui ont trait à la gestion du réseau IP, et ce, de façon transparente pour les utilisateurs. FR 10.0.2.50 switch switch Paris Londres 10.0.2.40 10.0.0.1 172.16.0.9 172.16.0.10 10.12.0.1 10.12.1.60 10.12.1.100 ICMP_ECHO_REQUEST ICMP_ECHO_REPLY ① ② Sous Windows NT, le TTL par défaut est de 128. Vous pouvez le modifier dans la base des registres Windows : HKEY_LOCAL_MACHINE\System\ CurrentControlSet\Services\Tcpip\Parameters\DefaultTTL. Le temps de réponse varie entre 80 ms et 90 ms. C’est le temps mis par le paquet ICMP_ECHO_REQUEST pour aller jusqu’au serveur + le temps mis par le paquet ICMP_EGHO_REPLY pour revenir jusqu’au PC. © Éditions Eyrolles Administrer son réseau IP CHAPITRE 16 351 Le traceroute L’autre commande de base est le traceroute. Ce programme utilise des mécanismes propres à IP et ICMP pour afficher à l’écran la route empruntée par un paquet IP en plus du temps de réponse. Son principe de fonctionnement est le suivant : • Le programme envoie un paquet ICMP_echo_request à destination de la machine cible avec un TTL (Time To Live) égal à 1. • Le premier routeur reçoit ce paquet, décrémente le TTL de 1, et constate qu’il est égal à 0. Il détruit le paquet, et renvoie à l’émetteur un message ICMP_Time_exceeded. • Le programme enregistre l’adresse IP du routeur qui a envoyé de ce message ainsi que le temps écoulé depuis l’émission du paquet ICMP_Echo_request. • Le programme continue de même en incrémentant le TTL de 1 à chaque paquet ICMP_Echo_request émis. Le paquet ira donc un saut plus loin que le précédent, et le routeur suivant répondra. Le mécanisme du TTL (Time To Live) est expliqué dans l’encart « Le point sur IP v4 «, au chapitre 7. Certaines implémentations de traceroute utilisent un paquet UDP sur un port quelconque à la place d’un paquet ICMP_Echo_request. La RFC 1393 (statut expérimental) propose, quant à elle, un autre algorithme qui repose sur un message ICMP_Traceroute (type 30). Il est cependant rarement implémenté, aussi bien sur les stations que sur les routeurs. Figure 16-2. Le traceroute. FR 10.0.2.50 switch switch Paris Londres 10.0.2.40 10.0.0.1 172.16.0.9 172.16.0.10 10.12.0.1 10.12.1.60 10.12.1.100 ICMP_TIME_EXCEEDED 1 ICMP_ECHO_REQUEST, TTL=1 TTL-1 = 0 TTL-1 = 1 TTL-1 = 0 ICMP_TIME_EXCEEDED 2 ICMP_ECHO_REQUEST, TTL=2 TTL-1 = 2 TTL-1 = 1 ICMP_ECHO_REQUEST, TTL=3 ICMP_ECHO_REPLY issus de la station cible (fin de la recherche) 3 © Éditions Eyrolles Gérer son réseau 352 La commande ping sera plutôt utilisée pour savoir si un nœud IP est actif et joignable ainsi que le temps de réponse de bout en bout. Elle offre en outre davantage de possibilités de paramétrage (taille et nombre des paquets, enregistrement de la route, etc.). La commande traceroute permet, quant à elle, de savoir quelle route est empruntée (par exemple, le chemin principal ou celui de backup) et quelles parties du réseau engendrent les temps de réponse les plus longs. De nombreux utilitaires de ce type sont disponibles sur les sites ftp.lip6.fr, tucows.clubinternet.fr et www.winsite.com. La version Windows NT de traceroute procède à trois essais à chaque saut et affiche trois temps de réponse. Les adresses affichées sont celles des interfaces des routeurs qui ont émis le message ICMP_TIME_EXCEEDED et, en dernier, celle de la station cible qui, elle, renvoie un ICMP_ECHO_REPLY. LE POINT SUR ICMP (RFC 792, 950 ET 1256) ICMP (Internet Control Message Protocol) regroupe près de trente types de messages permettant aux nœuds d’un réseau d’échanger des informations de gestion relatives à IP. Type de message Checksum portant sur le message Code Données dépendant du type et du code du message 4 bits 8 bits 4 bits Excepté pour les messages Echo des Timestamp, le paquet ICMP contient une copie partielle du paquet original ayant causé l’erreur (en-tête IP + 8 premiers octets des données). Le tableau de la page suivante recense les types et codes existants à ce jour. Lorsque cela n’est pas précisé, les messages sont générés par les routeurs et les stations IP. Sauf indication contraire, les messages ICMP sont définis dans la RFC 792. LE POINT SUR ICMP (RFC 792, 950 ET 1256 – SUITE) Type Message Code et description 3 Destination Unreachable 0 network unreachable : le routeur ne connaît pas la route host unreachable : le routeur ne peut pas trouver la station 2 protocol unreachable : le protocole demandé n’est pas actif. 3 port unreachable : aucun programme ne répond sur ce port TCP ou UDP. 4 fragmentation needed and DF set : le routeur a reçu un fragment alors que la fragmentation est interdite (bit DF du paquet IP positionné à ). 5 source route failed Time exceeded 0 Si un routeur reçoit un paquet avec un TTL à 0, il envoie ce message à l’émetteur. Si une station n’obtient pas tous les fragments d’un message dans le temps imparti, elle envoie ce message à l’émetteur. 2 Parameter Problem 0 Des paramètres incorrects ou inconsistants dans l’en-tête du paquet IP ont été détectés (un pointeur indique la position de l’erreur dans l’entête) 4 Source Quench 0 Le routeur, ou la station, est congestionné (ou régule le trafic selon un algorithme propre) et demande à l’émetteur de réduire son flux. Les paquets en excès peuvent être détruits. 5 Redirect 0 for the Network : le routeur a détecté une meilleure route et indique à la station quel routeur solliciter for the Host : idem pour une station 2 for the TOS and Network : idem avec le champ TOS correspondant. 3 for the TOS and Host : idem pour une station. 8 Echo request 0 Demande au récepteur de renvoyer un Echo reply (un identifiant et un numéro de séquence identifient le message). 0 Echo reply 0 Réponse à un Echo request. Les données contenues dans le message Echo request doivent être reportées dans ce message. 3 Timestamp 0 Indique le nombre de millisecondes écoulé depuis 00h00 GMT lorsque le message Timestamp a été envoyé. Utilisé pour évaluer le temps de transit. 4 Timestamp reply 0 Indique le nombre de millisecondes écoulé depuis 00h00 GMT lorsque le message Timestamp a été reçu, ainsi que la valeur de ce nombre lorsque la réponse a été envoyée. 5 Information request 0 (obsolète) Permettait aux stations d’obtenir leur adresse IP. Mécanisme remplacé par les protocoles RARP, puis BOOTP et DHCP. 6 Information reply 0 Idem (obsolète). 7 Mask request 0 (RFC 950) Permet à une station d’obtenir le masque IP de son sousréseau. 8 Mask reply 0 (RFC 950) Réponse du routeur à une demande de masque.
Observer ce qu’il se passe sur son réseau
Si votre réseau présente un dysfonctionnement et que, malgré toutes vos investigations, vous n’avez pas trouvé d’où provient le problème, il ne vous reste plus qu’à l’ausculter, c’est-àdire observer les données qui y circulent. Même lorsque le réseau semble bien fonctionner, il n’est pas inutile d’y jeter un coup d’œil, car bien souvent des erreurs (collision, paquets corrompus, flux non identifié, trafic censé ne pas être présent sur ce segment, etc.) se produisent. Ces erreurs ne sont alors pas perceptibles, mais peuvent le devenir sous certains conditions, par exemple lorsque la charge réseau augmente. Une maintenance préventive permet donc d’éviter le pire. L’analyseur réseau est l’outil tout indiqué pour ce type de situation. Il permet : • de capturer toutes les trames qui circulent sur un segment Ethernet ; • d’analyser le contenu de toutes les couches réseau, de la trame aux données applicatives en passant par le paquet IP ; • de déterminer si des erreurs se produisent (collision, erreur de transmission, etc.) et en quelle proportion ; • de connaître les temps de réponse précis (au millième de seconde près). En positionnant des filtres, il est possible de suivre précisément les échanges entre deux stations, soit à partir de leurs adresses MAC, soit à partir de leurs adresses IP. LE POINT SUR ICMP (RFC 792, 950 ET 1256 – FIN) Type Message Code et description 9 Router Advertisement 0 (RFC 256) Émis périodiquement par un routeur pour indiquer l’adresse IP de son interface. Permet aux routeurs de découvrir leurs voisins, et aux stations de découvrir leur passerelle par défaut. 0 Router Sollicitation 0 (RFC 256) Lors de son initialisation, une station peut demander à un routeur de s’annoncer immédiatement. Les routeurs n’envoient, en principe, aucune sollicitation, mais attendent les annonces. L’IANA recense d’autres messages ICMP, soit expérimentaux, soit pour IPv6.