Réseaux TD n° 2 : Encapsulation et PDU
Transcription
Réseaux TD n° 2 : Encapsulation et PDU
Université de La Rochelle Master CCI Réseaux TD n° 2 : Encapsulation et PDU Exercice 1 : 1. Qu’est ce que l’encapsulation ? L’encapsulation consiste à transporter des données (PDU) d’un protocole donné à l’intérieur de structures (PDU) appartenant à un autre protocole. Dans le modèle OSI, c’est l’insertion des données de la couche supérieure dans la structure de données de la couche inférieure. 2. Décodez la trame Ethernet suivante en vous servant des formats joints en annexe (ne donner que les champs en gras) : 0000 0010 0020 0030 0040 0050 0060 0070 0080 0090 00a0 00b0 00c0 00d0 00e0 00f0 0100 0110 0120 0130 0140 0150 00 01 00 16 6a 0d 65 67 30 6f 20 20 70 69 63 2d 6e 61 38 67 40 20 04 4f 03 d0 43 0a 70 65 20 6e 4c 74 65 6d 65 67 74 72 2c 75 65 73 76 06 80 78 47 43 2d 6e 28 71 69 65 67 61 70 7a 69 73 20 61 75 65 f0 cf 09 f1 45 6f 41 74 63 75 6e 78 2c 67 74 69 74 65 2a 67 72 72 fb 40 00 00 54 6e 6c 3a 6f 65 75 74 20 65 2d 70 79 74 0d 65 6f 76 b5 00 50 00 20 6e 69 20 6d 72 78 2f 69 2f 45 2c 0d 3a 0a 3a 2c 43 00 40 85 01 2f 65 76 4d 70 6f 29 2a 6d 2a 6e 20 0a 20 41 20 20 33 06 06 e6 01 20 63 65 6f 61 72 0d 2c 61 2c 63 67 41 41 63 66 65 30 5b b1 67 08 48 74 0d 7a 74 2f 0a 20 67 20 6f 7a 63 6e 63 72 6e 39 c2 6f 33 0a 54 69 0a 69 69 32 41 69 65 2a 64 69 63 79 65 2c 0d 0d f5 c0 03 00 54 6f 55 6c 62 2e 63 6d 2f 2f 69 70 65 2c 70 20 0a 0a 9e a8 6c 09 50 6e 73 6c 6c 32 63 61 70 2a 6e 2c 70 20 74 66 48 0d 08 00 42 62 2f 3a 65 61 65 2d 65 67 6e 0d 67 20 74 75 2d 72 6f 0a 00 17 f4 11 31 20 72 2f 3b 31 70 65 67 0a 3a 69 2d 74 4c 5f 73 45 c0 80 0b 2e 4b 2d 35 20 31 74 2f 2c 41 20 64 43 66 61 46 74 00 a8 18 5a 31 65 41 2e 4b 3b 3a 6a 20 63 78 65 68 2d 6e 52 3a ..v.....[.....E. .O..@[email protected]...... .....P..g3.lB... ..x.........b..Z jCGET / HTTP/1.1 ..Connection: Ke ep-Alive..User-A gent: Mozilla/5. 0 (compatible; K onqueror/2.2-11; Linux)..Accept: text/*, image/j peg, image/png, image/*, */*..Ac cept-Encoding: x -gzip, gzip, ide ntity..Accept-Ch arset: Any, utf8, *..Accept-Lan guage: fr, fr_FR @euro, en..Host: servC309.... Trame Ethernet Paquet IP Segment TCP Ethernet : - Adresse destination : 00 04 76 f0 fb b5 - Adresse source : 00 06 5b c2 f5 9e - Type : 00 80 → le contenu de champ « Information » est au format IP Décodage de la partie IP : - Version : 4 → il faut utiliser le format de la version 4 de IP (autre possibilité : 6) - LET ou Longueur d'En-Tête : 5 → taille de l'entête 5*4 octets= 20 octets - Type de Service : ne nous intéresse pas, on saute 1 octet - Longueur Totale : 01 4f = 335 octets – facilement vérifiable sur la trame capturée - Identification : - Flags : - Position relative : - Durée de vie : ne nous intéressent pas, on saute 5 octets - Protocole : 06 → TCP, ce qui suit l’entête IP est au format TCP (important pour la suite) - Checksum d'en-tête : ne nous intéresse pas, on saute 2 octets - Adresse source : c0 a8 00 17 → 192.168.0.23 - Adresse destination : c0 a8 00 17 → 192.168.0.03 - Options : - Bourrage : il n'y en a pas car les champs présents représentent déjà 20octets, taille spécifiée par le 2e champ Université de La Rochelle Master CCI TPDU (segment) du Protocole TCP : - Port source : 80 09 → 32777 (est inférieur à 1024, donc non réservé, attribué par le système) - Port Destinataire : 00 50 → 80 (est inférieur à 1024, donc réservé à une application particulière en l’occurrence HTTP) - Numéro de séquence : - Accusé de réception: ne nous intéressent pas, on saute donc 8 octets - Data Offset : 8*4octets = 32 octets → taille de l’entête - Réservé : - Fenêtre : - Checksum : - Pointeur de données urgentes : - Options : - Bourrage (padding) : ne nous intéressent pas 3. À votre avis, quel est le protocole transporté à l’intérieur du segment TCP et quelle est l’application qui l’utilise ? Sous quelle forme se présentent les champs de ce protocole ? HTTP car l’un des ports TCP est un port HTTP (80). On peut également le voir sur les données transmises par TCP. Cette trame est envoyée par un navigateur Web à un serveur pour récupérer une page Web. Dans la requête on constate la présence de diverses directives (définies par le protocole HTTP) notamment le navigateur utilisé : Konqueror sous Linux. Ce sont ces directives qui constituent les divers champs du format de message du protocole HTTP. En plus de ces directives (qui sont optionnelles), il y a la commande envoyée par l’émetteur (ici GET), qui apparaît au tout début du PDU HTTP. Les directives sont sous la forme : « nom: valeur ». Ainsi, on peut voir : Connection: Keep-Alive → demande du maintien ouverte de la connexion avec le serveur User-Agent: Mozilla… → application qui utilise HTTP Accept: text/*, image… → types et formats des données acceptées par le client Exercice 2 : Dans un réseau basé sur le modèle de la pile de protocoles TCP/IP, on définit un protocole MDTP (Master Data Transfer Protocol) de la couche application pour transférer des données entre 2 machines. Lorsqu’une machine veut transférer des données en utilisant ce protocole, elle émet un (ou plusieurs) datagrammes contenant les données à transférer à la machine destinatrice. Ainsi, au niveau de MDTP le protocole se résume à un monologue (envoi unidirectionnel de PDU). Ce protocole utilise au niveau de la couche transport le protocole UDP (User Datagram Protocol), protocole en mode non connecté sans acquittements. Quelle est l’efficacité du transfert, en sachant que : - les données à transférer occupent 3 Ko - l’entête MDTP a une taille fixe de 60 octets - l’entête UDP a une taille fixe de 8 octets - le format des paquets IP et des trames Ethernet vous sont données dans l’annexe - le protocole IP n’utilise pas son champ « Options » Pour calculer l’efficacité, on doit calculer le nombre total d’informations circulant sur le réseau toutes entêtes comprises. Il est donc nécessaire de déterminer le nombre de trames nécessaires. Taille donnée : Data = 3Ko = 3072 octets Taille PDU MDTP (PDU applicatif) = entête MDTP + Data = 3132 octets Le PDU MDTP doit être transporté par des TPDU (segments) UDP, qui sont encapsulés dans des NPDU (paquets) IP qui à leur tour sont transportés pas des LPDU (trames) Ethernet. Etant donné que les trames ont une taille maximale, les paquets et les segments sont également bornés. Taille max Ethernet = 1518 octets dont 18 octets champs de contrôle → taille max données utiles Ethernet = 1500 octets → taille max IP = 1500 dont 20 octets entête → taille max données utiles IP = 1480 octets → taille max UDP = 1480 octets dont 8 octets entête → taille max données utiles UDP = 1472 octets → on ne peut transporter que seg_u = 1472 octets de MTDP à la fois Université de La Rochelle Master CCI seg_u = taille max données utiles dans un segment nb_trames = PDU IDTP / seg_u = 3132 / 1472 = 2,12 qu’on arrondit à 3 car on a besoin de 2 trames remplies complétement et une troisième trame pour transporter le peu qui reste. Pour transmettre Data octets, on a transmis en plus : 3 entête Ethernet, 3 entête IP, 3 entête UDP, 1 entête MDTP. Données totales = 3 x (18 + 20 + 8) + 60 + 3072 = 3270 octets Données utiles = Data = 3072 octets => Efficacité = 3072/3270 = 0,94