es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Enviar múltiples paquetes UDP desde un solo socket.

Estoy implementando un mecanismo de descubrimiento para encontrar el ID de VLAN para etiquetar el paquete, es decir, cuando un dispositivo cliente se conecta a la red y no conoce el ID de VLAN de antemano, todo lo que sabe es que está conectado a un puerto trunk del switch L2 y que hay un servidor DHCP detrás del switch.

Así que estoy considerando hacer lo siguiente:

0) vid=2
1) abrir un socket SOCK_RAW para el protocolo IPPROTO_UDP
2) construir un paquete DHCPDISCOVER con el encabezado Ethernet teniendo VID=$vid
3) enviar el paquete
4) esperar la respuesta. Si se recibe la respuesta, analizar el encabezado Ethernet, extraer el ID de VLAN y configurar la interfaz (por ejemplo, crear una subinterfaz VLAN). Hecho.
5) si no hay respuesta, incrementar vid y volver al paso 2)

Mi pregunta es: ¿importa si envío cada paquete en su propio hilo, o podría hacerlo simplemente en un bucle, ejecutando, por ejemplo, send_dhcp(…) 4K veces?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Se recomienda enviar cada paquete en su propio hilo. Esto le permitirá enviar varios paquetes simultáneamente, lo que reducirá el tiempo necesario para encontrar el ID de VLAN correcto. Además, también le permitirá manejar cualquier error que pueda ocurrir mientras se envían los paquetes.

Comments are closed.