utilizarse una tipos redes qué que por network funciona debe datagrama configurar como address java c udp nat

una - sockets datagrama en java



Cómo enviar un paquete UDP a través de IP pública a través de NAT? (1)

Mi pregunta es porque mi dispositivo está más allá de NAT; la dirección IP y el número de puerto que obtengo son NAT o el dispositivo real.

La IP y el puerto que identifica del paquete son aquellos en los que el NAT creó una asignación para el cliente. En palabras simples, es el IP y el puerto del NAT al que está conectado el dispositivo.

¿Cómo enviar el paquete UDP a ese dispositivo a través de NAT?

Debe responder en el IP y puerto detectado por el servidor del paquete que recibió del cliente. Más claramente necesita implementar UDP Holepunching .

Supongo que primero deberías entender los problemas de red relacionados con la conexión a dispositivos que funcionan bajo un NAT. Varios RFC s están disponibles para NAT Traversal y UDP Punching .

Aquí hay algunas fuentes:

http://en.wikipedia.org/wiki/Network_address_translation

http://en.wikipedia.org/wiki/UDP_hole_punching

http://tools.ietf.org/html/rfc4787

https://tools.ietf.org/html/rfc5128

Tengo un servidor UDP ejecutándose en mi red privada. Tengo un dispositivo que está más allá de NAT que envía paquetes UDP a mi servidor a través de IP pública. Puedo recibir los paquetes UDP, analizarlos y puedo ver la carga de pago, el src y el puerto de destino. Ahora necesito enviar un mensaje ACK a ese dispositivo, así que he capturado los números de puerto y de IP y le he enviado un paquete UDP. Pero no pude ver ningún paquete UDP en ese dispositivo.

Mi pregunta es porque mi dispositivo está más allá de NAT; la dirección IP y el número de puerto que obtengo son NAT o el dispositivo real.

¿Cómo enviar el paquete UDP a ese dispositivo a través de NAT?