Précédent   Forum du club des développeurs et IT Pro > C et C++ > C > Réseau
Réseau Forum d'entraide sur la programmation réseau en C
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 03/09/2012, 09h44   #1
snowpy
Membre éprouvé
 
Inscription : mars 2010
Messages : 429
Détails du profil
Informations forums :
Inscription : mars 2010
Messages : 429
Points : 463
Points : 463
Par défaut Fragmentation IP/ POSIX

Bonjour à tous

Voici ma problématique, je dois envoyer via des sockets une data supérieur au MTU, il est donc nécessaire de fragmenter la payload (jusque la pas de souci), ma question est comment modifier le header IP pour inclure les informations nécessaire (offset, ipident ...) à la fragmentation ?

Pour l'instant l'envoi se fait à l'aide d'un sendto.

Merci.
snowpy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2012, 09h50   #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,

un exemple concret de fragmentation IP :

http://www.developpez.net/forums/d12...datagramme-ip/

Steph
__________________
"#define QUESTION ((bb) || !(bb))" - Shakespeare
IP_Steph est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2012, 10h04   #3
snowpy
Membre éprouvé
 
Inscription : mars 2010
Messages : 429
Détails du profil
Informations forums :
Inscription : mars 2010
Messages : 429
Points : 463
Points : 463
Citation:
Envoyé par IP_Steph Voir le message
Salut,

un exemple concret de fragmentation IP :

http://www.developpez.net/forums/d12...datagramme-ip/

Steph
Merci bien.

Je n'ai pas de problème concernant la théorie mais dans l'application, la fonction sendto prenant en paramètre la payload (fragmenté), il faut donc soit modifier le header IP de chaque sendto ou utiliser une autre fonction. Je n'ai pas de routeur juste une liaison client/serveur.
snowpy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2012, 10h10   #4
snowpy
Membre éprouvé
 
Inscription : mars 2010
Messages : 429
Détails du profil
Informations forums :
Inscription : mars 2010
Messages : 429
Points : 463
Points : 463
http://melem.developpez.com/tutoriel...sockets/#LIV-B

Il faut changer le type de socket utilisé et passé en RAW SOCKET.
snowpy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2012, 10h45   #5
matafan
Membre Expert
 
Homme
Ingénieur développement logiciels
Inscription : octobre 2008
Messages : 1 482
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : octobre 2008
Messages : 1 482
Points : 2 438
Points : 2 438
Tu travailles à quel niveau ? Si tu travailles au niveau applicatif, tu n'as pas à te soucier de la fragmentation, qui est gérée automatiquement par la stack réseau. Tu envoies les données que tu as à envoyer, quelle que soit leur taille, et elles seront fragmentées par la stack tcp/ip.
matafan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 16h54.


 
 
 
 
Partenaires

Hébergement Web