Exemples d'extensions
From Livre IPv6
Les extensions | Table des matières | Checksum au niveau transport |
Exemple de routage par la source
Le paquet suivant a été capturé lors de l'ouverture d'une connexion telnet. La commande telnet permet de spécifier des paramètres de routage par la source. Ainsi telnet @routeur1@destination permet un routage libéral vers la destination en passant par le routeur intermédiaire routeur1.
IPv6 Version : 6 Classe : 00 Label : 00000 Longueur : 64 octets (0x0040) Protocole : 43 (0x2b) En-tête de routage Nombre de sauts : 64 (0x40) Source : 3ffe:302:12:2::13 Desti. : 3ffe:302:12:5:2a0:c9ff:feaa:2201 (routeur1) Routage En-tête Suivant : 06 (0x06) TCP Longueur Extension : 0x02 => 128 bits Type de routage = 0x00 (Routage par la source) Segments restant : 0x01. Réservé 0x00 Réservé : 0x00000000 Adresse suivante : 3ffe:305:1002:1:200:c0ff:fe11:cba0 (destination) TCP Port Source, 0xffb1 Port Destination :0x0017 (Telnet) Sequence : 0x17107e57 Acquittement : 0x00000000 Offset : 0xa Drapeau : 0x02 (SYN) Fenêtre : 0x4000 Checksum : 0x356e Ptr Msg Urgent : 0x0000 Options TCP 0000: 60 00 00 00 00 40 2b 40 3f fe 03 02 00 12 00 02 0010: 00 00 00 00 00 00 00 13 3f fe 03 02 00 12 00 05 0020: 02 a0 c9 ff fe aa 22 01|06 02 00 01 00 00 00 00 0030: 3f fe 03 05 10 02 00 01 02 00 c0 ff fe 11 cb a0| 0040: ff b1 00 17 17 10 7e 57 00 00 00 00 a0 02 40 00 0050: 35 6e 00 00 02 04 05 a0 01 03 03 00 01 01 08 0a 0060: 00 9a 1d 04 00 00 00 0b
Dans l'en-tête IPv6, le numéro de protocole 0x2b indique qu'une extension de routage est insérée. Noter que le champ longueur des données utiles prend en compte la longueur de l'extension. Le champ adresse de destination de l'en-tête IPv6 contient l'adresse du routeur intermédiaire.
La partie extension commence par l'encapsulation suivante, ici 0x06 pour TCP. Le champ suivant (0x02) donne la longueur de l'extension en mots de 64 bits. La partie données contient donc une seule adresse IPv6. Il s'agit de la destination. Le type de routage vaut 0 et le champ segment restant vaut 1 et pointe vers l'adresse de destination.
Exemple de fragmentation
Les paquets suivants correspondent à l'envoi d'un datagramme de longueur 3 500 octets en UDP alors que le MTU de l'interface est 1 500.
IPv6 Version : 6 Classe : 00 Label : 00000 Longueur : 1456 octets (0x05b0) Proto. : 44 (0x2c) En-tête de frag. Nombre de sauts : 64 (0x40) Source : 3f fe 03 02 00 12 00 02 00 00 00 00 00 00 00 13 Desti. : 3f fe 03 02 00 12 00 05 02 a0 c9 ff fe aa 22 01 Fragmentation En-tête Suivant : 17 (0x11) UDP Longueur Extension : 0x02 => 128 bits Place du Fragment : 0x0000 bit M =1 Identificateur : 0x0000008e UDP Port Source : 0xf38e Port Destination : 0x000d Longueur : 3508 (0x0db4) Checksum : 0xc227
0000: 60 00 00 00 05 b0 2c 40 3f fe 03 02 00 12 00 02 0010: 00 00 00 00 00 00 00 13 3f fe 03 02 00 12 00 05 0020: 02 a0 c9 ff fe aa 22 01|11 00 00 01 00 00 00 8e| 0030: f3 8e 00 0d 0d b4 c2 27 30 31 32 33 34 35 36 37 0040: 38 39 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 0050: 4f 50 51 52 53 54 55 56 57 58 59 5a 61 62 63 64 0060: 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 0070: ...
Le bit M de l'option de fragmentation est à 1, un autre fragment va suivre.
IPv6 Version : 6 Classe : 00 Label : 00000 Longueur : 1456 octets (0x05b0) Proto. : 44 (0x2c) En-tête de frag. Nombre de sauts : 64 (0x40) Source : 3f fe 03 02 00 12 00 02 00 00 00 00 00 00 00 13 Desti. : 3f fe 03 02 00 12 00 05 02 a0 c9 ff fe aa 22 01 Fragmentation En-tête Suivant : 17 (0x11) UDP Longueur Extension : 0x02 => 128 bits Place du Fragment : 0x005a8 bit M =1 Identificateur : 0x0000008e 0000: 60 00 00 00 05 b0 2c 40 3f fe 03 02 00 12 00 02 0010: 00 00 00 00 00 00 00 13 3f fe 03 02 00 12 00 05 0020: 02 a0 c9 ff fe aa 22 01|11 00 05 a9 00 00 00 8e| 0030: 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 0040: 55 56 57 58 59 5a 61 62 63 64 65 66 67 68 69 6a 0050: 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 0060: 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 0070: 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 0080: ...
Ce fragment est la suite du précédent puisque la valeur de l'identificateur est la même (0x0000008e), le bit M étant à 1, d'autres fragments vont suivre. Le champ Place du fragment contient 1 448. Si l'on prend en compte la taille des extensions (8 octets), on retrouve bien la taille des informations utiles (1 456) transportées dans le paquet précédent.
Les extensions | Table des matières | Checksum au niveau transport |