Pregunta

Estoy trabajando en un proyecto relacionado con la red y estoy usando DTLS (TLS / UDP) para asegurar las comunicaciones.

La lectura de las especificaciones para DTLS, he notado que DTLS requiere que el conjunto DF bandera (no fragmentar) que sea.

En mi red local si intento enviar un mensaje más grande que 1500 bytes, no se envía nada. Eso tiene mucho sentido. En Windows el sendto () reporta un éxito, pero no se envía nada.

Yo, obviamente, no puedo desarmar el DF bandera de forma manual, ya que es obligatorio para DTLS y no estoy seguro de si el límite de 1500 bytes (MTU?) Podría cambiar en algunas situaciones. Supongo que puede.

Por lo tanto, mi pregunta es: "¿Hay una manera de descubrir este límite?" utilizando las API?

Si no es así, ¿cuál sería el valor más bajo posible?

Mis software se ejecuta en Unix (Linux / MAC OSX) y SO Windows soluciones diferentes para cada sistema operativo son bienvenidos;)

Muchas gracias.

¿Fue útil?

Solución

Hay una MTU mínima que debe ser soportada - 576 bytes, incluyendo las cabeceras IP. Así que si mantiene los paquetes debajo de eso, usted no tiene que preocuparse de PMTU-D (que es lo que hace DNS).

Otros consejos

es probable que tenga a 'auto tune' mediante el envío de una gama de tamaños de paquetes a la meta, y ver lo que llega. pensar binary_search ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top