p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Membre expérimenté
    Inscrit en
    mars 2010
    Messages
    439
    Détails du profil
    Informations forums :
    Inscription : mars 2010
    Messages : 439
    Points : 520
    Points
    520

    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.

  2. #2
    Modérateur
    Avatar de IP_Steph
    Homme Profil pro
    Architecte réseau
    Inscrit en
    février 2012
    Messages
    2 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    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 : 2 215
    Points : 4 788
    Points
    4 788
    Billets dans le blog
    3

    Par défaut

    Salut,

    un exemple concret de fragmentation IP :

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

    Steph
    A statistician is someone who can put their head in a hot oven, and their feet in a bucket of ice, and say, “on the average, I feel fine.”
    Russ White

  3. #3
    Membre expérimenté
    Inscrit en
    mars 2010
    Messages
    439
    Détails du profil
    Informations forums :
    Inscription : mars 2010
    Messages : 439
    Points : 520
    Points
    520

    Par défaut

    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.

  4. #4
    Membre expérimenté
    Inscrit en
    mars 2010
    Messages
    439
    Détails du profil
    Informations forums :
    Inscription : mars 2010
    Messages : 439
    Points : 520
    Points
    520

    Par défaut

    http://melem.developpez.com/tutoriel...sockets/#LIV-B

    Il faut changer le type de socket utilisé et passé en RAW SOCKET.

  5. #5
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

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

    Informations forums :
    Inscription : octobre 2008
    Messages : 1 515
    Points : 2 486
    Points
    2 486

    Par défaut

    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 17
    Dernier message: 18/03/2005, 15h56
  2. Fragment & vertex program
    Par charly dans le forum OpenGL
    Réponses: 5
    Dernier message: 19/03/2004, 19h47
  3. fragment program sur geForce4 Ti4200
    Par sebh dans le forum OpenGL
    Réponses: 6
    Dernier message: 03/12/2003, 22h31
  4. question sur les variables globales et les thread posix
    Par souris_sonic dans le forum POSIX
    Réponses: 5
    Dernier message: 13/06/2003, 13h59
  5. Fragmentation du DD
    Par guillaume_pfr dans le forum Administration système
    Réponses: 5
    Dernier message: 05/06/2003, 17h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo