Datagramme IP - Excercice

Fermé
prath - 7 févr. 2008 à 15:59
francisolivier123 Messages postés 2 Date d'inscription vendredi 4 février 2011 Statut Membre Dernière intervention 4 février 2011 - 4 févr. 2011 à 18:51
Bonjour à ts,
Merci beaucoup pour votre aide. Je sais qu'il a plein de cours sur internet sur ce sujet ms je ne comprends pas quelque truc.
voilà:

Exercice 1:

00: 45 00 00 40 07 20 00 00 02 06 E3 5F 83 FE 3D 0A
10: C0 2C 4D 04 00 0F 00 80 00 00 01 C0 50 00 08 00
20: 50 10 04 00 3E 11

Question :
1 - Quelle est le longueur de l'entete du datagramme ?
Réponse : La lonhueur de l'en-tete est de 20 octets (4 derniers bit de l'octet offset 0 = 5: 5*4 octet = 20 octets)
c'est quoi offset et 4 octets ?
Question :
2 - Quelle est la longueur des données du datagramme
Réponse : La longueur totale du datagramme est de 0040 hexa soit 64 octets (offset 2 et 3). La longueur des donnés 64-20 = 44 octets.
Pourquoi l'offset 2 et 3 ? Il faut tjs soustraire 20 octets ?

2 réponses

brupala Messages postés 109443 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 23 avril 2024 13 620
7 févr. 2008 à 16:40
Salut,
si tu ne sais pas ce que c'est qu'un octet et que tu essaies de faire de l'analyse de protocole, tu vas avoir du mal .
donc , déjà: https://www.commentcamarche.net/informatique/technologies/24919-code-binaire-principe-codage-regles-symboles/
ensuite , offset: décalage .
ensuite , notre référence: https://www.commentcamarche.net/contents/530-le-protocole-ip
ou bien: https://www.frameip.com/entete-ip/
si on prend ton datagramme tel qu'il est aligné en mémoire:
00: 45 00 00 40 07 20 00 00 02 06 E3 5F 83 FE 3D 0A
10: C0 2C 4D 04 00 0F 00 80 00 00 01 C0 50 00 08 00
20: 50 10 04 00 3E 11
l'octet 0 a pour valeur 45 et l'offset 0
l'octet d'offset 1 a pour valeur 00
l'octet d'offset 3 a pour valeur 40
l'octet d'offset 15 (0F en hexadécimal) a pour valeur 0A
l'octet d'offset 16 (10 en hexa) a pour valeur C0
l'octet 32 (0x20) a pour valeur 50 (80 en décimal) ... jusqu'à l'octet 37 qui vaut 0x11
la longueur de l'entête ip est donc le 5 de 45 (offset 0)
pour les 4 octets:
3.2 - IHL

IHL signifie "Internet header lengh". ce champ est codé sur 4 bits et représente la longueur en mots de 32 bits de l'entête IP. Par défaut, il est égal à 5 (20 octets), cependant, avec les options de l'entête IP, il peut être compris entre 6 et 15.
en fait le 5 signifie 5 fois 32 bits , donc 5 fois 4 octets , un octet étant 8 bits comme nous l'avons vu plus haut .
question 2:
3.4 - Longueur totale

Le champ Longueur totale est codé sur 16 bits et représente la longueur du paquet incluant l'entête IP et les Data associées. La longueur totale est exprimée en octets, ceci permettant de spécifier une taille maximum de 216 = 65535 octets. La longueur des Data est obtenu par la combinaison des champs IHL et Longueur totale :

Longueur_des_data = Longueur_totale - ( IHL * 4 );

donc dans ton cas la longueur des données utiles après l'entête est bien longueur totale du datagramme 0x0040 soit 64 moins 20 (indiqué par IHL) soit 44 octets .
3
Merci pour ton aide.
Encore une question:
comment on sait qu'un datagramme est premier, dernier ou intermédiaire ?
0
brupala Messages postés 109443 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 23 avril 2024 13 620
8 févr. 2008 à 01:15
3.7 - Position fragment

Le champ Position fragment est codé sur 13 bits et indique la position du fragment par rapport à la première trame. Le premier fragment possède donc le champ Position fragment à 0.

à l'offset 6 et 7 .
0
francisolivier123 Messages postés 2 Date d'inscription vendredi 4 février 2011 Statut Membre Dernière intervention 4 février 2011
4 févr. 2011 à 18:51
Bonjour

J'ai un souci qui est plus ou moins du même ordre que la demande initiale.

Exo:

00: 0800 2018 ba40 0800 0400 1fc8 0800 4500
16: 0028 e903 4000 3f06 ac21 a3ad 2041 a3ad
32: 80d4 0558 0017 088d dee0 ba77 8925 5010
48: 7d78 1972 0000 ...


Q1) - Déterminer l' Offset de Début du Datagramme ?
Q2) - Déterminer l' Offset de la fin de l' entête du Datagramme ?
Q3) - Déterminer l' Offset de la fin de l'entête Transport. ?
0