Précédent   Forum du club des développeurs et IT Pro > Systèmes > Réseaux > Développement
Développement Vos questions relatives au développement réseau
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 17/11/2012, 23h37   #1
Stoicien
Invité régulier
 
Inscription : janvier 2008
Messages : 5
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 5
Points : 6
Points : 6
Par défaut Datagramme : fragmentation.

Bonjour à tous, je viens solliciter votre aide concernant un blocage à mon niveau.

Voici l'énoncée:

Un datagramme IP contenant 3028 octets de données est émis sur un réseau A de MTU=500. En passant par un routeur R1, il atteint le réseau B de MTU=1024 octets. La structure du datagramme dans le réseau A est présentée cidessous :
Version : 4
Longueur d'en-tête : 5
Type de service : 0
Longueur totale : ????????
Identification : 1234
Drapeau : 010
Décalage fragment : 0
Durée de vie : 32

Proposition de solution:

Si l'interface de sortie offre un IP MTU de 1024 B, cela signifie qu'on pourra envoyer :
1024-20=1004 B de data.

Voici comment se déroule la fragmentation :

a- Le routeur reçoit le paquet IP et isole le champ data par décapsulation :
3048 B – 20 B = 3028 B.

b- Le routeur calcule le nombre de paquets nécessaires pour fragmenter le paquet original :

nombre de paquets = ENT(3028/1004)+1 = 4 paquets

c- Le routeur réserve ses buffers :
Paquet 1= 1004 B data + 20 B header
Paquet 2= 1004 B data + 20 B header
Paquet 3= 1004 B data + 20 B header
Paquet 4= 16 B data + 20 B header

Aider moi à comprendre cette partie s'il vous plait.
Peut on emmètre 1004 octets à partir de MTU= 500 ?
Stoicien est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2012, 10h51   #2
IP_Steph
Modérateur
 
Avatar de IP_Steph
 
Homme Steph
Architecte réseau
Inscription : février 2012
Messages : 1 282
Détails du profil
Informations personnelles :
Nom : Homme Steph
Localisation : France

Informations professionnelles :
Activité : Architecte réseau
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : février 2012
Messages : 1 282
Points : 2 716
Points : 2 716
Salut,

ce que je comprends de l'énoncé, c'est qu'il faut fragmenter un paquet IP de longueur 3028B afin de l'envoyer sur un réseau de MTU IP 500B (le réseau A). Le réseau B étant de MTU supérieur à celui de A, les paquets seront routés sans modification... Donc je ne vois pas ce que le routeur vient faire dans l'énoncé. Ca aurait été plus simple de poser la question sous la forme : un PC doit envoyer un paquet IP de 3028B sur un réseau de MTU 500B, donner le détail de l'IP Frag.

Ou bien...

C'est une erreur d'énoncé, le réseau A est de MTU 1024B et le réseau B de MTU 500B. Auquel cas, tu dois donner le détail de l'IP Frag 3028B -> réseau MTU 1024B puis l'IP Frag faite par le routeur pour passer les paquets dans le réseau B...

En revanche, avec un drapeau à 010, le routeur va dropper les paquets qui demandent à être fragmentés...

Steph
__________________
"#define QUESTION ((bb) || !(bb))" - Shakespeare
IP_Steph est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 18/11/2012, 18h50   #3
ram-0000
Rédacteur/Modérateur

 
Avatar de ram-0000
 
Homme Raymond
Inscription : mai 2007
Messages : 9 246
Détails du profil
Informations personnelles :
Nom : Homme Raymond
Localisation : France

Informations forums :
Inscription : mai 2007
Messages : 9 246
Points : 29 275
Points : 29 275
Citation:
Envoyé par IP_Steph Voir le message
Ou bien...

C'est une erreur d'énoncé...
Ou une autre solution, la personne qui a fait l'énoncé a oublié que les routeurs intermédiaires ne ré-assemblaient pas les paquets. C'est la destination et uniquement la destination qui ré-assemble.
__________________
Raymond
Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbe Un logiciel de conjugaison des verbes de la langue française.

Ma page personnelle sur DVP
.
ram-0000 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 19/11/2012, 08h52   #4
gangsoleil
Modérateur
 
Avatar de gangsoleil
 
R&D en systemes informatiques bas niveau Unix/Linux
Inscription : mai 2004
Messages : 7 301
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : R&D en systemes informatiques bas niveau Unix/Linux

Informations forums :
Inscription : mai 2004
Messages : 7 301
Points : 18 470
Points : 18 470
Citation:
Envoyé par Stoicien Voir le message
Peut on emmètre 1004 octets à partir de MTU= 500 ?
Non.

L'emetteur va emettre des paquets avec le plus petit MTU connu : soit celui du lien auquel il est branche, soit celui de la route s'il utilise des algorithmes de PMTUD (Path MTU Discovery). Dans ton cas, c'est 500.

Pour moi, le piege de l'enonce est justement ici : on te fait reflechir plein sur la suite, alors que la contrainte est au debut. Et comme l'ont dit justement les autres posteurs, un routeur ne re-assemble pas. Donc hop, paquets de 500, ca passe partout, et destinataire qui reassemble.
__________________
Modérateur "C", "Informatique Générale & Hardware" et "Unix"
Les règles du forum
gangsoleil est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 19/11/2012, 15h12   #5
Stoicien
Invité régulier
 
Inscription : janvier 2008
Messages : 5
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 5
Points : 6
Points : 6
Par défaut Datagramme - Fragmentation.

Voici comment je l'ai résolu dans ce cas:

a- Le routeur calcule le nombre de paquets nécessaires pour fragmenter le paquet original :

nombre de paquets = ENT(3028/ 480)+1 = 7 paquets

b- Le routeur réserve ses buffers :

Paquet 1= 480 B data + 20 B header
Paquet 2= 480 B data + 20 B header
Paquet 3= 480 B data + 20 B header
Paquet 4= 480 B data + 20 B header
Paquet 5= 480 B data + 20 B header
Paquet 6= 480 B data + 20 B header
Paquet 7= 148 B data + 20 B header

On retrouve bien les 3028 B de data IP du paquet original en utilisant au maximum l'IP MTU de l'input interface.

c- Le routeur construit ensuite les headers des 3 paquets. Voyons comment sont renseignés les champs.
* longueur totale
Paquet 1= 480 B data + 20 B header
Paquet 2= 480 B data + 20 B header
Paquet 3= 480 B data + 20 B header
Paquet 4= 480 B data + 20 B header
Paquet 5= 480 B data + 20 B header
Paquet 6= 480 B data + 20 B header
Paquet 7= 148 B data + 20 B header

* drapeau (3 bits)
- le 1er bit n'est pas utilisé et toujours égal à 0
- le DF bit est toujours mis à 0 dans le cadre d'une IP Frag
- le MF (More Fragment) bit est mis à 1 sur tous les fragments hormis le dernier.
Donc :
MF(Paquet 1) = MF(Paquet 2) = MF(Paquet 3)= MF(Paquet 4) = MF(Paquet 5) = 1 ;
MF(Paquet 6) = 1 et MF(Paquet 7) = 0.
D'où :
drapeau(Paquet 1) = drapeau(Paquet 2) = drapeau(Paquet 3) = drapeau(Paquet 4) =001 ;
drapeau(Paquet 5) = drapeau(Paquet 6) = 001 et drapeau(Paquet 7) = 000.
drapeau_pkt3 = 000
* offset/décalage
L'offset permet à la machine destinataire de reconstituer le datagramme original. Exprimé en multiple de 8B, c'est un pointeur qui indique la position du fragment dans le datagramme original. Voici le détail des offsets :

offset_pkt1 = 0 (octets 1 à 1004 du datagramme original)
offset_pkt2 = 1004/8 = 123 (octets 1005 à 2008 du datagramme original)
offset_pkt3 = 2008/8 = 246 (octets 2009 à 2048 du datagramme original)

offset(Paquet 1) = 0 (1 octet à 480 octets du datagramme original)
offset(Paquet 2)= 480/8=60 (octets 481 à 960 du datagramme original)
offset(Paquet 3)= 960/8=120 (octets 961 à 1440 du datagramme original)
offset(Paquet 4)= 1440/8 =180 (octets 1441 à 1920 du datagramme original)
offset(Paquet 5)=1920/8=240 (octets 1921 à 2400 du datagramme original)
offset(Paquet 6)=2400/8=300 (octets 2401 à 2880 du datagramme original)
offset(Paquet 7)=2880/8=360 (octets 2881 à 3028 du datagramme original)


* identification
Tous les fragments construits possèdent l'identifiant du paquet original.
En conclusion,

Paquet 1
Version : 4
Longueur d'en-tête : 5
Type de service : 0
Longueur totale : 500
Identification : 1234
Drapeau : 001
Décalage fragment : 0

Paquet 2
Version : 4
Longueur d'en-tête : 5
Type de service : 0
Longueur totale : 500
Identification : 1234
Drapeau : 001
Décalage fragment : 60

Paquet 3
Version : 4
Longueur d'en-tête : 5
Type de service : 0
Longueur totale : 500
Identification : 1234
Drapeau : 001
Décalage fragment : 120

Paquet 4
Version : 4
Longueur d'en-tête : 5
Type de service : 0
Longueur totale : 500
Identification : 1234
Drapeau : 001
Décalage fragment : 180

Paquet 5
Version : 4
Longueur d'en-tête : 5
Type de service : 0
Longueur totale : 500
Identification : 1234
Drapeau : 001
Décalage fragment : 240



Paquet 6
Version : 4
Longueur d'en-tête : 5
Type de service : 0
Longueur totale : 500
Identification : 1234
Drapeau : 001
Décalage fragment : 300

Paquet 7
Version : 4
Longueur d'en-tête : 5
Type de service : 0
Longueur totale : 500
Identification : 1234
Drapeau : 000
Décalage fragment : 360


Est-ce normal ?

Cordialement,
Stoicien est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2012, 16h23   #6
IP_Steph
Modérateur
 
Avatar de IP_Steph
 
Homme Steph
Architecte réseau
Inscription : février 2012
Messages : 1 282
Détails du profil
Informations personnelles :
Nom : Homme Steph
Localisation : France

Informations professionnelles :
Activité : Architecte réseau
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : février 2012
Messages : 1 282
Points : 2 716
Points : 2 716
Oui, ça a l'air correct !

Hormis que dans ce cas de figure, c'est la station émettrice qui fragmente le datagramme original de 3028B, ça n'est pas le routeur...

Finalement, la station émet ses 7 paquets, qui seront routés sans problème par le routeur puisque le MTU du réseau B est supérieur à celui du réseau A.

Steph
__________________
"#define QUESTION ((bb) || !(bb))" - Shakespeare
IP_Steph est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 19/11/2012, 16h55   #7
Stoicien
Invité régulier
 
Inscription : janvier 2008
Messages : 5
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 5
Points : 6
Points : 6
Par défaut Datagramme - Fragmentation.

Cependant, il ya une derniere question qui m'embête un peu.

Etant donné que la fragmentation a lieu ici dans le routeur A,
pourquoi cette cdernière question:

3. Pourquoi le ré-assemblage de paquets IP n'est-il réalisé que par le
destinataire final
et pas par un nTmud intermédiaire ?
Stoicien est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2012, 17h16   #8
IP_Steph
Modérateur
 
Avatar de IP_Steph
 
Homme Steph
Architecte réseau
Inscription : février 2012
Messages : 1 282
Détails du profil
Informations personnelles :
Nom : Homme Steph
Localisation : France

Informations professionnelles :
Activité : Architecte réseau
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : février 2012
Messages : 1 282
Points : 2 716
Points : 2 716
Citation:
Etant donné que la fragmentation a lieu ici dans le routeur A
Non !

Encore une fois, les calculs que tu as faits s'appliquent à une station connectée à un réseau de MTU 500B voulant envoyer un datagramme IP de 3028B. Le stack IP de la station effectue donc la fragmentation en 7 paquets, la station envoie les 7 paquets sur réseau, et les 7 paquets sont par la suite "forwardés" par le routeur dans le réseau B.


Citation:
Pourquoi le ré-assemblage de paquets IP n'est-il réalisé que par le
destinataire final
et pas par un nTmud intermédiaire ?
Parce que chaque noeud intermédiaire n'a aucune connaissance des différents MTU le long d'un chemin. Donc si un routeur intermédiaire réassemblait les paquets IP, il y aurait des chances que le datagramme soit à nouveau fragmenté lorsqu'il doit passer au travers d'un lien de faible MTU. Au final, entre la source et la destination du datagramme, on aurait de multiples fragmentation/réassemblage pour expédier le datagramme...

D'autre part, ce serait extrêmement intensif pour le routeur. Et surtout gourmand en mémoire/buffer. En effet, lorsque le routeur recevrait le premier fragment, il serait obligé de buffériser tous les fragments IP jusqu'à ce que le but MF soit nul. Il n'y a aucune information dans l'en-tête IP qui renseigne sur le nombre de fragments, il faudrait donc allouer la taille maximale (64kB) d'un datagramme IP dès que le réassemblage se déclenche.

Steph
__________________
"#define QUESTION ((bb) || !(bb))" - Shakespeare
IP_Steph est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 19/11/2012, 19h00   #9
Stoicien
Invité régulier
 
Inscription : janvier 2008
Messages : 5
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 5
Points : 6
Points : 6
Par défaut Remerciement !

Bonsoir à tous, je vous remercie tous pour votre aide et soutien.

Je remercie particulièrement ram-0000, et les Modérateurs gangsoleil et IP_Steph pour leur inlassable soutien.

Cordialement,
Stoicien est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 19/11/2012, 20h43   #10
ram-0000
Rédacteur/Modérateur

 
Avatar de ram-0000
 
Homme Raymond
Inscription : mai 2007
Messages : 9 246
Détails du profil
Informations personnelles :
Nom : Homme Raymond
Localisation : France

Informations forums :
Inscription : mai 2007
Messages : 9 246
Points : 29 275
Points : 29 275
Citation:
Envoyé par Stoicien Voir le message
Je remercie particulièrement ram-0000, et les Modérateurs gangsoleil et IP_Steph pour leur inlassable soutien.
Les remerciements nominatifs étant particulièrement rares en ces temps de crise, je te remercie de cette attention (du moins pour mon cas).
__________________
Raymond
Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbe Un logiciel de conjugaison des verbes de la langue française.

Ma page personnelle sur DVP
.
ram-0000 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 20/11/2012, 08h28   #11
gangsoleil
Modérateur
 
Avatar de gangsoleil
 
R&D en systemes informatiques bas niveau Unix/Linux
Inscription : mai 2004
Messages : 7 301
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : R&D en systemes informatiques bas niveau Unix/Linux

Informations forums :
Inscription : mai 2004
Messages : 7 301
Points : 18 470
Points : 18 470
Citation:
Envoyé par Stoicien Voir le message
Je remercie particulièrement ram-0000, et les Modérateurs gangsoleil et IP_Steph pour leur inlassable soutien.
Je te remercie aussi de cette attention. Pour information, avant d'etre moderateur, nous sommes surtout des utilisateurs du forum .

Ravi d'avoir pu t'aider.
__________________
Modérateur "C", "Informatique Générale & Hardware" et "Unix"
Les règles du forum
gangsoleil est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 20/11/2012, 18h56   #12
IP_Steph
Modérateur
 
Avatar de IP_Steph
 
Homme Steph
Architecte réseau
Inscription : février 2012
Messages : 1 282
Détails du profil
Informations personnelles :
Nom : Homme Steph
Localisation : France

Informations professionnelles :
Activité : Architecte réseau
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : février 2012
Messages : 1 282
Points : 2 716
Points : 2 716
Citation:
Envoyé par Stoicien Voir le message
Je remercie particulièrement ram-0000, et les Modérateurs gangsoleil et IP_Steph pour leur inlassable soutien.
Oui, merci pour ces bons mots, ça fait toujours plaisir

Steph
__________________
"#define QUESTION ((bb) || !(bb))" - Shakespeare
IP_Steph est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 22h38.


 
 
 
 
Partenaires

Hébergement Web