Séances de TD 4, 5 et 6 COUCHE RESEAU INTERNET
Transcription
Séances de TD 4, 5 et 6 COUCHE RESEAU INTERNET
INSTITUT GALILEE Réseaux et Transmission de Données Séances de TD 4, 5 et 6 COUCHE RESEAU INTERNET PROTOCOL, ROUTAGE 1. FORMATS 1.1. La trame Ethernet 64 bits 48 préambule adresse destination 48 adresse source 16 type 32 données CRC « préambule » détermine le début d’une trame ; « adresse destination » détermine la destination de la trame ; « adresse source » détermine l’expéditeur de la trame ; « type » définit le type de contenu de la trame ; ainsi il est possible de déterminer quel protocole va utiliser le paquet reçu : type 0200 0201 0600 0800 0801 0802 0803 0804 0805 0806 0807 6001 à 6006 8035 8098 utilisation XEROX PUP PUP Address Trans. XEROX NS IDP DoD Internet X.75 Internet NBS Internet ECMA Internet ChaosNet X.25 niveau 3 ARP XNS DEC RARP Appletalk « données » sont les données brutes de la trame à passer au protocole déterminé par le champ « type » ; « CRC » est le checksum (contrôle de parité) de la trame permettant d’assurer son intégrité. 10/07/2003 Page 1 INSTITUT GALILEE Réseaux et Transmission de Données 1.2. Le datagramme IP 32 bits version IHL Type Of Service total length identification Time To Live flags Protocol fragment offset header checksum source address destination address options padding data L’en-tête IP est alignée sur des mots de 32 bits. Sa longueur est donc multiple de 4 octets. Par défaut, sans option, l'en-tête IP fait 20 octets de long. « Version » indique le format de l'en-tête. Ce champ sert à l'identification de la version courante du protocole. La version décrite ici (et aujourd’hui utilisée) porte le n°4 ; « IHL (IP Header Length) » est la longueur de l'en-tête IP exprimée en mots de 32 bits (5 au minimum) ; « TOS (Type Of Service) » définit le type de service à appliquer au paquet en fonction de certains paramètres comme le délai de transit, la sécurité. Codé sur 8 bits, il comprend les champs suivants : P Champ « Precedence » (3 bits) décrit la priorité « Delay » décrit le souhait en matière de temps de traversée « Throughput » décrit le souhait en matière de débit « Reliability » décrit le souhait en termes de fiabilité D T R 0 0 Valeur 111 contrôle du réseau 110 contrôle inter-réseaux 101 CRITIC/ECP 100 flash prioritaire 011 flash 010 immédiat 001 prioritaire 000 routine 0 normal 1 privilégier les chemins à temps de traversée faible 0 normal 1 privilégier les chemins à débit élevé 0 normal 1 privilégier les chemins à fiabilité élevée « Total Length » est la longueur totale du datagramme, en-tête et données inclus, exprimée en octets ; 10/07/2003 Page 2 INSTITUT GALILEE Réseaux et Transmission de Données « Identification » est une valeur fournie par l'émetteur aidant au réassemblage des différents fragments du datagramme. Le seul usage de ce champ est donc de permettre à une entité réceptrice de reconnaître les datagrammes qui appartiennent à un même datagramme initial et qui doivent donc faire l'objet d'un réassemblage ; « Flags » est utilisé par la fragmentation. Il est composé de deux indicateurs : DF (Don’t Fragment) pour interdire la fragmentation et de MF (More Fragment) pour signifier des fragments à suivre : 0 DF MF DF 0 = May Fragment 1 = Don’t Fragment MF 0 = Last Fragment 1 = More Fragments « Fragment Offset » indique la position relative du fragment dans le datagramme initial, le déplacement étant donné en unités de 64 bits ; « Time To Live » représente une indication de la limite supérieure du temps de vie d'un datagramme. Cette valeur est comprise entre 0 et 255 ; « Protocol » indique le protocole (de niveau supérieur) utilisé pour le champ de données du datagramme : Code (déc) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [18..35] 36 37 [38..44] 45 46 47 48 [49..53] 54 55-60 [61..100] 101-254 255 Abréviation ICMP IGMP GGP IP ST TCP UCL EGP IGP BBN-RCC-MON NVP-II PUP ARGUS EMCON XNET CHAOS UDP ... XTP DDP ... IDRP RSVP GRE MHRP ... NHRP Nom du protocole Reserved Internet Control Message Internet Group Management Gateway-to-Gateway IP in IP (encapsulation) Stream Transmission Control UCL Exterior Gateway Protocol any private interior gateway BBN RCC Monitoring Network Voice Protocol PUP ARGUS EMCON Cross Net Debugger Chaos User Datagram Reference [RFC792] [RFC1112] [RFC823] [RFC1190] [RFC793] [RFC888] [RFC741] [RFC768] XTP Datagram Delivery Protocol Inter-Domain Routing Protocol Reservation Protocol General Routing Encapsulation Mobile Host Routing Protocol NBMA Next Hop Resolution Protocol Unassigned ... Unassigned Reserved « Header Checksum » est une zone de contrôle d'erreur portant uniquement sur l’en-tête du datagramme ; « Source Address » est l’adresse IP de la source du datagramme ; « Destination Address » est l’adresse IP de destination du datagramme ; 10/07/2003 Page 3 INSTITUT GALILEE Réseaux et Transmission de Données « Options » sert à des fonctions de contrôle utiles dans certaines situations (estampillage temporel, sécurité, routage particulier, etc.). Le champ est donc de longueur variable. Il est constitué d'une succession d'options élémentaires, également de longueurs variables. Les options sont codées sur le principe TLV (type, longueur, valeur). La longueur indique la taille complète de l'option en octets. Les options possibles sont : Type (déc.) 0 1 130 131 68 133 7 136 137 Option Objet End of Options List (EOOL) No Operation (NOP) Security (SEC) Utilisée si la fin des options ne coïncide pas avec la fin de l'en-tête. Pour aligner le début de l'option suivante sur 32 bits. Permet aux hôtes d'indiquer des restrictions liées à la sécurité (ex : non classifié, confidentiel, restreint, top secret, …). Loose Source Route Permet à la source du datagramme de fournir des (LSR) informations à utiliser par les passerelles pour le routage du datagramme vers sa destination et d'enregistrer l'information concernant la route (série d'adresses Internet) ; un routeur ou une route peut utiliser n'importe quelle route avec un nombre quelconque de passerelles intermédiaires pour atteindre la prochaine adresse indiquée dans la route. Time Stamp (TS) Enregistrement de l'heure de chaque passage de passerelle. Extended Security (E-SEC) Record Route (RR) Permet d'enregistrer la route d'un datagramme (en fait, l'adresse de chaque passerelle traversée). Stream ID (SID) Permet de véhiculer un identifieur de flux ; utilisée à des fins de débogage et de mesure. Strict Source Route Idem LSR, si ce n'est qu'un routeur ou un hôte doit envoyer (SSR) directement le datagramme à la prochaine adresse indiquée dans la route. A titre d’exemple, la structure de l'option RR est : type lg ptr (type=7) adresse « Padding » permet d’aligner l'en-tête sur 32 bits. 10/07/2003 Page 4 INSTITUT GALILEE Réseaux et Transmission de Données 1.3. Le paquet ARP (Address Resolution Protocol) / RARP (Reverse ARP) Le protocole ARP permet à une machine d’obtenir l’adresse Ethernet (physique) d’une autre machine, connaissant son adresse IP. Le protocole RARP fait l’inverse. Un paquet ARP (ou RARP) est structuré de la façon suivante : 0 15 16 31 Hardware Protocol Operation Hlen Plen Sender HA (octets 0-3) Sender HA (octets 4-5) Sender IA (octets 0-1) Sender IA (octets 2-3) Target HA (octets 0-1) Target HA (octets 2-5) Target IA (octets 0-3) « Hardware » définit le type d' interface pour laquelle l' émetteur cherche une réponse ; « Protocol » définit le type de protocole pour lequel une requête a été émise ; « Hlen » définit la taille de l’adresse physique en octets ; « Plen » définit la taille de l’adresse au niveau protocolaire ; « Operation » décrit le type d’opération à effectuer par le récepteur ; « Sender HA » définit l’adresse Ethernet (physique) de l’émetteur ; « Sender IA » définit l’adresse de niveau protocolaire (IP) demandé de l’émetteur ; « Target HA » définit l’adresse Ethernet du récepteur ; « Target IA » définit l’adresse de niveau protocolaire demandé du récepteur. 1.4. Le message ICMP (Internet Control Message Protocol) Le protocole ICMP est utilisé lorsqu’un imprévu se produit ou pour tester Internet. Les messages ICMP ont tous en commun la même format pour le premier mot de 32 bits. 1 Type Type 0 3 4 5 8 11 12 13 14 15 16 17 18 10/07/2003 Message Echo Reply Destination Unreachable Source Quench Redirect Echo Time Exceeded Parameter Problem Timestamp Timestamp Reply Information Request Information Reply Address Mask Request Address Mask Reply 1 Code 2 Checksum Objet Réponse en écho. Destination inaccessible. Interruption de la source. Redirection, changement de route. Demande d' écho. Temps de vie d' un datagramme dépassé. Datagramme mal formé. Demande de date d' estampillage. Réponse à une demande d' estampillage. Demande d' information. Réponse à une demande d' information. Demande de masque d' adresse. Réponse à une demande de masque d' adresse. Page 5 INSTITUT GALILEE Réseaux et Transmission de Données A titre d’exemple, l’échange de messages Echo et Echo reply fonctionne de la manière suivante. L' adresse source dans un message Echo (type = 8) sera l' adresse destinataire du message Echo Reply (type = 0). Pour constituer un message Echo Reply, les adresses source et destination sont simplement inversées. Les données reçues dans un message Echo doivent être retournées dans le message Echo Reply. Deux champs du message, identifier et sequence number, sont utilisés par l' émetteur de « l' écho » pour mettre en correspondance les réponses avec les requêtes. Par exemple, l' identificateur peut correspondre à un port TCP ou UDP pour identifier une session et le numéro de séquence être incrémenté pour chaque requête d' écho émise. Le répondeur retourne les mêmes valeurs dans sa réponse. 32 bits 8 ou 0 0 identificateur checksum compteur données optionnelles 2. LE PROTOCOLE IP 2.1. Exercice 2.1.1. Décoder les trames Ethernet suivantes et en déduire le but de l’échange (les trames sont données sans préambule). FF 01 08 02 FF 08 00 08 FF 00 20 00 FF 20 02 20 FF 02 45 07 FF 45 9E 0B 08 9E 08 94 00 81 00 81 20 68 20 68 02 FE 07 FE 45 06 0B 05 9E 00 94 08 08 00 08 00 06 00 06 20 00 00 00 02 01 00 01 45 08 00 08 9E 00 81 00 81 06 68 06 68 04 FE 04 FE 00 05 00 06 2.2. Problème Un analyseur de réseau est disposé sur un réseau local Ethernet afin de permettre l'observation des trames circulant effectivement sur le support physique de communication. La structure du dispositif de mesure est la suivante : machine X analyseur passerelle A passerelle B On y voit deux réseaux Ethernet appartenant à la même organisation, interconnectés via un routeur A, ainsi qu'une connexion vers l'extérieur réalisée via le routeur B. Une trace a été obtenue par l'analyseur : 10/07/2003 Page 6 INSTITUT GALILEE Réseaux et Transmission de Données 08 00 9f 00 00 00 0e 1e 2e 00 7c 06 00 00 00 0f 1f 2f 20 cb 07 00 00 29 10 20 30 0a c9 27 00 00 36 11 21 31 ac 00 04 00 00 8c 12 22 32 96 00 00 00 00 41 13 23 33 08 ff 00 00 00 00 14 24 34 00 01 00 00 00 03 15 25 35 20 b9 00 00 00 86 16 26 36 0a 7f 00 00 00 2b 17 27 37 70 84 00 00 08 08 18 28 66 e3 00 00 00 09 19 29 08 3d 00 00 a2 0a 1a 2a 00 05 00 00 56 0b 1b 2b 4f c0 00 00 2f 0c 1c 2c 00 21 00 00 00 0d 1d 2d 08 00 3d 05 1a 00 0e 1e 2e 00 7c 05 c0 84 00 0f 1f 2f 20 3f 07 21 e3 29 10 20 30 0a 86 27 9f 3c 36 11 21 31 70 00 28 02 1e 8c 12 22 32 66 00 84 c0 84 41 13 23 33 08 fb e3 21 e3 00 14 24 34 00 01 3c 9f 3d 03 15 25 35 20 49 20 06 87 86 16 26 36 0a af c0 c0 00 2b 17 27 37 ac c0 2c 46 00 08 18 28 96 21 41 47 00 09 19 29 08 9f 12 06 aa 0a 1a 2a 00 06 c0 c0 56 0b 1b 2b 4f 84 46 2c 2f 0c 1c 2c 00 e3 47 41 00 0d 1d 2d 2.2.1. Décoder les deux trames précédentes. 2.2.2. Quel est le but de cet échange ? 2.2.3. A quoi sert le champ TTL d'IP ? En cours de réassemblage, une machine réceptrice est censée décrémenter ce champ toutes les secondes environ pour les datagrammes composant le datagramme initial, tant que tous les datagrammes "fragments" ne sont pas arrivés. Dans ce cas, ce champ est considéré comme un délai d'expiration de réassemblage2.2.4. Dans l'architecture TCP/IP, est-ce IP qui repose sur ICMP ou l'inverse ? 2.2.5. Quelles sont les classes d'adressage IP utilisées sur les réseaux émetteur et destinataire ? 2.2.6. A quoi correspondent les différents champs d'adresses véhiculés dans les trames ? 2.2.7. Combien y-a-t-il d'octets de bourrage (cadrage) dans l'en-tête du premier datagramme et à quoi servent-ils ? 2.2.8. Peut-il y avoir eu, pour le deuxième datagramme, un enregistrement de route incomplet ? 2.2.9. Quel est le nombre de routeurs traversés ? 2.2.10. Déduire un schéma symbolique des différents réseaux et passerelles empruntés par les datagrammes. Représenter sur ce shéma les différentes adresses Ethernet et IP utilisées. 3. ADRESSAGE ET SUBDIVISION DE RESEAU 3.1. Rappels La subdivision de réseau est un procédé qui permet de découper logiquement des réseaux de grande taille en sous-réseaux de plus petites tailles. Pour ce faire, on applique, grâce à une formule mathématique, à partir d’une adresse de base, un masque de sous-réseau. Le résultat est une plage d’adresses de machines continues mais de taille réduite par rapport à la plage d’adresses initiales. 10/07/2003 Page 7 INSTITUT GALILEE Réseaux et Transmission de Données 3.2. Exercices 3.2.1. L’adresse de la machine PC22 sur le site ie2 est 193.55.28.152. De quelle classe est cette adresse ? Quel est le masque du sous-réseau correspondant à cette classe d’adresses ? Définir l' adresse de diffusion restreinte sur tout le sous-réseau. 3.2.2. On désire subdiviser un réseau possédant le préfixe 129.178 en 60 sous-réseaux. Combien de machines au maximum pourra-t-on connecter sur chaque sous-réseau ? Quel sera le masque du sous-réseau ? 3.2.3. Un réseau utilisant une suite d’adresses de classe B a un masque réseau égal à : 255.255.248.0. Ces trois stations d' adresses respectives : 129.148.208.26, 129.148.216.145 et 129.148.210.32 appartiennent-elles à un même sous-réseau ? Quelle est la plage d’adresses utilisée ? Définir l' adresse de diffusion restreinte. 4. FRAGMENTATION 4.1. Exercices 4.1.1. On considère la figure ci-dessous. Donnez la table de routage de la passerelle C. A 10.0.0.20 10.0.0.10 B 20.0.0.10 20.0.0.20 C 30.0.0.20 30.0.0.10 D 40.0.0.10 4.1.2. Le sous-réseau 20 n’accepte que des paquets IP dont la taille ne dépasse pas 492 octets. Cette valeur est fixée par le format de trame utilisé pour transporter ces paquets. Les autres sousréseaux sont des Ethernet dont la taille maximum de la trame est de 1518 octets. a. Rappeler en quoi consiste le mécanisme de fragmentation de IP. b. Décrire ce qui se passe aux niveaux Ethernet et IP, au passage de la passerelle B lorsqu’une trame de 1500 octets vient du réseau 10 pour aller vers le réseau 30. 5. PROTOCOLES DE ROUTAGE IP 5.1. Exercice vecteur de distance Soit le réseau composé des 4 nœuds A, B, C et D, et des 4 liaisons Vab, Vad, Vbc et Vdc. Chaque liaison est supposée symétrique et a coût exprimé en distance égale à 1. 10/07/2003 Page 8 INSTITUT GALILEE Réseaux et Transmission de Données A Vab Vbc Vad D B Vdc C L’algorithme utilisé par le protocole de routage est de type Ford-Fulkerson (type "vecteur de distance"). On suppose que le réseau vient d'être initialisé en démarrant en même temps tous les nœuds (démarrage à froid) et que chaque nœud a une connaissance minimale (locale) de la configuration (son adresse, les liaisons auxquelles il est branché. Dans ces conditions initiales, les tables de routage sont réduites au minimum, avec une seule entrée pour le nœud lui-même. Par exemple, la table de A est : Noeud A liaison coût A locale 0 A résume cette table dans un vecteur de distance, qui a exactement un élément : VA A 0 La séquence des échanges des vecteurs de distance est la suivante : T1 B, D reçoivent VA T2 A, C reçoivent VB T3 B, D reçoivent VC T4 A, C reçoivent VD T5 B, D reçoivent VA Donner l'évolution de la table de routage (incluant les distances) de chaque nœud lorsque cette séquence de vecteurs est déroulée. T1 B, D reçoivent VA Noeud B liaison coût A … … B locale 0 Noeud D liaison Coût A … … D locale 0 10/07/2003 Page 9 INSTITUT GALILEE Réseaux et Transmission de Données T2 A, C reçoivent VB T3 B, D reçoivent VC T4 A, C reçoivent VD T5 B, D reçoivent VA 5.2. Exercice convergence RIP Soit le réseau suivant comportant quatre routeurs avec RIP comme protocole de routage. Le coût de chaque lien est de 1. A C D Réseau cible B Pour chaque routeur nous avons initialement les routes suivantes vers le réseau cible de la figure : A: B: C: D: vers vers vers vers destination, destination, destination, destination, par C, coût 3 par C, coût 3 par D, coût 2 direct, coût 1 Suite à une panne, le lien entre C et D est indisponible. On observe alors l'évolution suivante de la route vers le réseau cible dans chacun des routeurs (échelle de temps verticale): Routeur A par C, 3 idem idem -, infini par B, 5 idem par B, 7 idem … Etc. … 10/07/2003 Routeur B par C, 3 idem -, infini par A, 4 idem par A, 6 idem par A, 8 … Etc. … Routeur C par D, 2 PANNE -, infini par A, 4 idem par A, 6 idem par A, 8 … Etc. … Page 10 INSTITUT GALILEE Réseaux et Transmission de Données idem par A, 14 idem -, infini idem par B, 13 idem par B, 15 idem -, infini idem par A, 14 idem -, infini idem Expliquer l'évolution observée. On NE DEMANDE PAS d'apporter des solutions au problème ! 6. PLAN DE ROUTAGE 6.1. Exercices de bases 6.1.1 Quel est le principe fondamental du routage des datagrammes IP ? 6.1.2 Quelles sont les informations essentielles contenues dans une table de routage? 6.1.3 Donner dans les grandes lignes l'algorithme de routage utilisé par un routeur ou un hôte. 6.2. Exercice table de routage Soit la table de routage suivante. bash> netstat -rn Destination -------------------127.0.0.1 default 132.227.60.0 132.227.61.0 132.227.200.0 132.227.202.0 132.227.72.0 132.227.72.120 Gateway -------------------127.0.0.1 132.227.60.3 132.227.60.32 132.227.61.135 132.227.60.3 132.227.60.3 132.227.61.22 132.227.61.22 Flags ----UH UG U U UG UG UG UHG Ref ----11 8 38 31 0 0 1 1 Use Interface ------ --------7224440 lo0 742298 le0 6849769 le0 261408829 le1 259 le0 2459 le0 25980175 le1 251234 le1 Flags: •U •G route active (Up) route indirecte vers un routeur (Gateway). Si G est absent, alors la destination est directement accessible • H route vers une machine (Host).Si H est absent, alors la destination est une adresse de réseau (netID, subnetID) • D route créée par un message ICMP redirect • M route modifiée par un message ICMP redirect 6.2.1 Que déduisez vous de la topologie du réseau après examen de cette table ? Faites un schéma. 6.2.2 Y a-t-il des entrées superflues ? Si oui, indiquer lesquelles. 10/07/2003 Page 11