IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

udp et tcp checksum dans ipv6


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Février 2013
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 7
    Points : 1
    Points
    1
    Par défaut udp et tcp checksum dans ipv6
    Bonjour tout le monde.
    je cherche le code en langage c pour udp et tcp checksum dans ipv6.et merci d'avance.

  2. #2
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    bonjour.

    Tu cherches l'implémentation C du checksum utilisé par tcp et udp sur de l'ipv6?

    Je te recommande de chercher libipv6, libchecksum, libudp ou libtcp, tu devrais rapidement trouver le site officiel correspondant.

    Autre solution, tu cherches la norme ISO-truc-chose (ou IEEE) et tu auras l'algorithme à implémenter, que tu pourras faire rapidement.

    un checksum est en général une boucle sur les octets (ou mots), qui se contente d'une opération avec un accumulateur: while(hasMoreContent()) acc= operation(acc, nextContent());
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  3. #3
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 119
    Points
    28 119
    Par défaut
    Citation Envoyé par leternel Voir le message
    Autre solution, tu cherches la norme ISO-truc-chose (ou IEEE) et tu auras l'algorithme à implémenter, que tu pourras faire rapidement.
    Des infos ici par exemple : http://tools.ietf.org/html/rfc2460#page-27
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  4. #4
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par leternel Voir le message
    Autre solution, tu cherches la norme ISO-truc-chose (ou IEEE) et tu auras l'algorithme à implémenter, que tu pourras faire rapidement.
    Ca sera sûrement un RFC de l'IET, non ? http://www.ietf.org/rfc.html

    PS : il y a probablement une piste de ce côté : http://tools.ietf.org/html/rfc6282#page-18

  5. #5
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 369
    Points : 23 623
    Points
    23 623
    Par défaut
    Citation Envoyé par Matrix.007 Voir le message
    je cherche le code en langage c pour udp et tcp checksum dans ipv6.et merci d'avance.
    Tu peux aussi jeter un œil à cette discussion :
    http://www.developpez.net/forums/d12...cksum-icmp-ip/

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Février 2013
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Merci à tous mais j'ai vu hier ces propositions mais j'ai pas bien compris.
    en ce qui concerne le recherche des libcheksum ou d'autres j'ai pas trouver ce que je cherche.
    je sais pas ect ce que j'ai pas cherché bien mais à ce moment la j'ai pas encore trouvé la bonne solution.

  7. #7
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 369
    Points : 23 623
    Points
    23 623
    Par défaut
    La discussion en question contient exactement ce que tu cherches : la manière dont on calcule les checksums des protocoles Internet ainsi que le code en langage C de la personne qui est venue demander de l'aide avant toi.

    Que te faut-il de plus ?

  8. #8
    Nouveau Candidat au Club
    Inscrit en
    Février 2013
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    salut,oui c'est vrai mais moi je cherche le checksum en ipv6
    et celui de la discussion est ipv4.

  9. #9
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 369
    Points : 23 623
    Points
    23 623
    Par défaut
    Dans ce cas, la réponse est simple : il n'y a plus de checksum en IPv6.

    Les protocoles TCP et UDP, eux, restent inchangés.

  10. #10
    Nouveau Candidat au Club
    Inscrit en
    Février 2013
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Bonjour

    non c'est pas vrai car le calcul des checksum udp et tcp prend en considération l'adresse ip.et comme ip v6 est different de ipv4.
    alors ils sont #

  11. #11
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Certes différents, mais par effet de bord, ils restent calculables de la même manière.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  12. #12
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 119
    Points
    28 119
    Par défaut
    Citation Envoyé par Matrix.007 Voir le message
    Bonjour

    non c'est pas vrai
    Si. Je ne sais pas ce qu'il te faut, mais il n'y a pas de checksum en IPv6. Est-ce qu'une discussion de la part des gens de l'IETF sur le sujet te convainc ?
    Sinon, tu prends les drafts IETF sur IPv6, tu les lis tous, et comme tu ne trouveras pas de mentions d'un checksum IPv6, tu pourras en deduire tout seul comme un grand qu'il n'y a pas de checksum en IPv6. A moins que les drafts IETF ne te suffisent pas non plus ?
    Est-ce qu'un article Wikipedia serait mieux :
    The IPv6 header is not protected by a checksum;
    (tu peux regarder, ce n'est pas moi qui ait ecrit cette phrase).


    Apres, si tu veux discuter du checksum a implementer a d'autres niveaux, on peut discuter, mais c'est un autre sujet.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  13. #13
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Points : 2 505
    Points
    2 505
    Par défaut
    Obsidian et gangsoleil, vous n'avez pas compris. Il n'y a effectivement pas de checksum en IPv6. Par contre le checksum de TCP inclut une partie des informations contenues dans le header IP. En fait TCP forme un pseudo-header qui contient une partie du header IP (en particulier les adresses source et destination, mais pas seulement), et ce pseudo-header est inclu dans le calcul de la checksum TCP.

    Le pseudo-header utilisé pour le calcul de la checksum TCP n'est pas le même en IPv4 et en IPv6. Donc, l'algorithme de calcul de la checksum TCP varie suivant que TCP est encapsulé dans un packet IPv4 ou IPv6.

  14. #14
    Nouveau Candidat au Club
    Inscrit en
    Février 2013
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    oui c'est ça.

    moi je veux pas calculer le cheksum de ipv6 car n'exixte pas ce champs en ipv6,mais je veux juste le code de udp et tcp over ipv6.

  15. #15
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 119
    Points
    28 119
    Par défaut
    Citation Envoyé par matafan Voir le message
    Obsidian et gangsoleil, vous n'avez pas compris.

    Le pseudo-header utilisé pour le calcul de la checksum TCP n'est pas le même en IPv4 et en IPv6. Donc, l'algorithme de calcul de la checksum TCP varie suivant que TCP est encapsulé dans un packet IPv4 ou IPv6.
    Le premier lien que je donne, un peu plus de 2h apres la question posee, est un lien vers la RFC-2460, paragraphe 8, page 27, qui dit, lignes 4 et 5 du premier paragraphe :
    In particular, the following
    illustration shows the TCP and UDP "pseudo-header" for IPv6:
    Et si on est arrive jusque la, c'est que probablement on a lu la phrase d'avant :
    Any transport or other upper-layer protocol that includes the
    addresses from the IP header in its checksum computation must be
    modified for use over IPv6, to include the 128-bit IPv6 addresses
    instead of 32-bit IPv4 addresses.
    Entre ca et le code fournit par le lien d'Obsidian, je pense qu'il y a suffisamment d'informations pour faire le code soi-meme.
    Je peux pour le meme prix fournir un lien vers le pseudo-header TCP sur wikipedia (a verifier donc avant d'utiliser).

    Mais il est vrai que tout ca ne donne pas le code tout fait, juste a utiliser. Un peu comme si on etait sur un forum d'entre-aide, pas sur un forum qui fournit des solutions toutes cuites.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  16. #16
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Points : 2 505
    Points
    2 505
    Par défaut
    La mauvaise, foi, je rêve En lisant vos réponses il est clair que toi et Obsidian n'aviez pas réalisé que le calcul de la checksum TCP dépendait de la version d'IP. Enfin bref, tout le monde a fini par comprendre, tant mieux.

  17. #17
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Allez les mecs, zen

  18. #18
    Nouveau Candidat au Club
    Inscrit en
    Février 2013
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Bonjou à tous,
    voici un code que je l'ai modifier pour avoir un bon checksum mais apparement il ne fonctionne pas correctement si qlq peut maider je lui en serai très reconnaissant.
    Fichiers attachés Fichiers attachés

  19. #19
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 369
    Points : 23 623
    Points
    23 623
    Par défaut
    Bonsoir,

    Citation Envoyé par Matrix.007 Voir le message
    Bonjou à tous,
    voici un code que je l'ai modifier pour avoir un bon checksum mais apparement il ne fonctionne pas correctement si qlq peut maider je lui en serai très reconnaissant.
    Relis la discussion donnée en lien au commentaire numéro 5.

    Les checksums des principaux protocoles Internet sont formées par « le complément à un de la somme en complément à un » des mots de 16 bits consécutifs. Ça veut dire qu'il faut considérer tous ces mots comme étant signés et représentés en notation complément à 1, qu'il faut en faire la somme dans ce même format puis enfin trouver le complément à 1 du résultat (autrement dit : inverser tous les bits).

    Heureusement, ça se fait très simplement grâce aux astuces décrites dans la discussion en question.

Discussions similaires

  1. Le réseau dans les jeux vidéo : UDP vs TCP
    Par LittleWhite dans le forum Développement 2D, 3D et Jeux
    Réponses: 43
    Dernier message: 04/05/2015, 23h18
  2. mode udp ou tcp problème
    Par john93 dans le forum C++
    Réponses: 4
    Dernier message: 22/06/2008, 15h45
  3. Socket : UDP ou TCP
    Par lafracas dans le forum Développement
    Réponses: 2
    Dernier message: 10/04/2006, 22h43
  4. code c pour sockets (udp vers tcp et inversement)
    Par HiT dans le forum Développement
    Réponses: 11
    Dernier message: 19/11/2005, 18h03
  5. [Stratégie] Choix UDP ou TCP
    Par Yevetrovitch dans le forum Développement
    Réponses: 17
    Dernier message: 08/02/2005, 10h32

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