Bonjour tout le monde.
je cherche le code en langage c pour udp et tcp checksum dans ipv6.et merci d'avance.
Bonjour tout le monde.
je cherche le code en langage c pour udp et tcp checksum dans ipv6.et merci d'avance.
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:Pour faire des graphes, essayez yEd.
- 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.
le ter nel est le titre porté par un de mes personnages de jeu de rôle
Des infos ici par exemple : http://tools.ietf.org/html/rfc2460#page-27
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
Tu peux aussi jeter un œil à cette discussion :
http://www.developpez.net/forums/d12...cksum-icmp-ip/
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.
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 ?
salut,oui c'est vrai mais moi je cherche le checksum en ipv6
et celui de la discussion est ipv4.
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.
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 #
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:Pour faire des graphes, essayez yEd.
- 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.
le ter nel est le titre porté par un de mes personnages de jeu de rôle
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 :
(tu peux regarder, ce n'est pas moi qui ait ecrit cette phrase).The IPv6 header is not protected by a checksum;
Apres, si tu veux discuter du checksum a implementer a d'autres niveaux, on peut discuter, mais c'est un autre sujet.
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.
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.
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 :
Et si on est arrive jusque la, c'est que probablement on a lu la phrase d'avant :In particular, the following
illustration shows the TCP and UDP "pseudo-header" for IPv6:
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.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.
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 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.
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.
Bonsoir,
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.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager