Enviar un mensaje UDP a una computadora dentro de una red

Enviar un mensaje UDP a una computadora dentro de una red

Digamos que tengo la dirección IP y Mac de una computadora dentro de una red y deseo enviarle un mensaje UDP. Al inicializar las direcciones mac e ip del mensaje enviado en el dado, cuando el enrutador de red recibe el mensaje, debe pasarlo a la computadora con la misma dirección mac... ¿verdad?

Lo pregunto porque un programa que escribo no parece manejar esta limitación. Funciona muy bien cuando está en la misma red, pero por lo demás... nada.

Gracias

Respuesta1

Si está creando una aplicación que abre un socket UDP y envía tráfico a un objetivo en particular, lo único que debe preocuparle son las direcciones IP. Si su oyente funciona en la capa 2, es decir, cuando ambos sistemas están en la misma subred, entonces debería funcionar exactamente de la misma manera cuando pase a la capa 3, siempre que su red esté configurada correctamente. Si eso falla, intente usar algo para probarlo que sepa que funciona. Existen muchas aplicaciones de diagnóstico, pero probablemente la más sencilla seanetcat, instálalo y prueba esto:

En su sistema de destino:

nc -l -u -p 1234 

En su sistema fuente

nc -u -p 1234

Cambie el número de puerto al que está usando para su aplicación y, si debería poder ver todo lo que escriba en el origen, aparecerá en la consola de destino, siempre que su red de capa 3 esté configurada correctamente y no bloquee UDP. ese puerto.

Si está incrustando la dirección MAC en la carga útil, entonces eso es una cosa, pero el enrutador cambiará las direcciones MAC de origen (y destino) incrustadas en la trama Ethernet, así es como funciona. Si su aplicación espera que sigan siendo los mismos en ambos extremos de la conversación, entonces fallará, pero en general no debería profundizar tanto en la pila de la red. ¿Qué estás usando para construir esto?

Respuesta2

Tienes dos casos:

1- Si está enviando el paquete a un host dentro de la misma subred, se enviará directamente a él utilizando las direcciones MAC e IP de la máquina de destino.

2- Si lo envía a un host en otra subred, debe enviarse a su enrutador. Así, la MAC de destino será la del router y la IP de destino será la del destino final.

Sabes cuál es tu caso examinando la IP y la máscara de subred.

Respuesta3

Si sus computadoras están en la misma subred, no se necesita ningún enrutador para comunicarse. Si corrió hacia el enrutador, el enrutador cambia la dirección MAC de origen a la MAC del enrutador. Cuando el enrutador recibe el paquete, vuelve a la MAC interna.

información relacionada