Difference between revisions of "Exemples d'extensions"

From Livre IPv6

(Exemple de fragmentation)
(Exemple de routage par la source)
Line 24: Line 24:
 
  Options TCP
 
  Options TCP
 
   
 
   
  0000: 60 00 00 00 00 40 2b 40 3f fe 03 02 00 12 00 02
+
  0000: 6<font color="blue">0 0</font>0 00 00 <font color="blue">00 40</font> 2b <font color="blue">40</font> 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
+
  0010: 00 00 00 00 00 00 00 13 <font color="blue">3f fe 03 02 00 12 00 05</font>
  0020: 02 a0 c9 ff fe aa 22 01|06 02 00 01 00 00 00 00
+
  0020: <font color="blue">02 a0 c9 ff fe aa 22 01</font>|06 <font color="blue">02</font> 00 <font color="blue">01</font> 00 00 00 00
  0030: 3f fe 03 05 10 02 00 01 02 00 c0 ff fe 11 cb a0|
+
  0030: <font color="blue">3f fe 03 05 10 02 00 01 02 00 c0 ff fe 11 cb a0</font>|
 
  0040: ff b1 00 17 17 10 7e 57 00 00 00 00 a0 02 40 00
 
  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
 
  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
 
  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.
+
Dans l'en-tête IPv6, le numéro de protocole <tt>0x2b</tt> 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 <tt>0x06</tt> pour TCP. Le champ suivant (<tt>0x02</tt>) 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 <tt>0</tt> et le champ segment restant vaut <tt>1</tt> et pointe vers l'adresse de destination.
 
La partie extension commence par l'encapsulation suivante, ici <tt>0x06</tt> pour TCP. Le champ suivant (<tt>0x02</tt>) 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 <tt>0</tt> et le champ segment restant vaut <tt>1</tt> et pointe vers l'adresse de destination.

Revision as of 18:49, 5 March 2006

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
Personal tools