Je travaille sur un projet lié au réseau et j'utilise DTLS (TLS/UDP) pour sécuriser les communications. En lisant les spécifications pour le DTLS, j'ai noté que le DTLS exige que le drapeau DF soit réglé (Do not Fragment).Découverte de la taille maximale des paquets
Sur mon réseau local si j'essaie d'envoyer un message de plus de 1500 octets, rien n'est envoyé. Cela fait parfaitement sens. Sur Windows le sendto() rapporte un succès mais rien n'est envoyé.
Je ne peux évidemment pas désactiver le drapeau DF manuellement car il est obligatoire pour DTLS et je ne suis pas sûr que la limite de 1500 octets (MTU?) Puisse changer dans certaines situations. Je suppose que ça peut. Donc, ma question est: "Y at-il un moyen de découvrir cette limite?" utilisant des API?
Sinon, quelle serait la valeur la plus basse possible?
Mon logiciel fonctionne sous UNIX (Linux OSX/MAC) et Windows solutions pour les systèmes d'exploitation différents pour chaque système d'exploitation sont les bienvenus;)
Un grand merci.
Lancez-vous votre propre implémentation DTLS ou autre chose? La RFC suggère qu'ils devraient vérifier l'erreur "fragmentation nécessaire et DF set" et réviser le MTU estimé en conséquence. http://www.rfc-editor.org/rfc/rfc4347.txt –
Non, je ne lance pas ma propre implémentation DTLS. J'utilise OpenSSL. J'ai besoin d'obtenir le MTU pour fragmenter les paquets avant de les envoyer. Donc, j'ai besoin d'un moyen de m'assurer que mes paquets sont assez petits pour ne pas tomber. – ereOn