Tengo un dispositivo de borde FPGA. Quiero enviar y recibir paquetes de Ethernet a mi computadora portátil a través del dispositivo enrutador + módem en mi casa. Mi computadora portátil está conectada al enrutador + módem a través de wifi (para Internet) y estoy conectando mi placa FPGA al enrutador + módem a través de un cable Ethernet.
¿Qué protocolos y apretones de manos debo implementar en mi FPGA para que cuando envíe un paquete de Ethernet con la dirección IP+MAC de destino de mi computadora portátil al dispositivo enrutador+módem, reenvíe ese paquete de Ethernet a mi computadora portátil conectada a través de wifi?
Y de la misma manera, cuando mi computadora portátil envía un paquete Ethernet con la dirección IP + MAC de destino de mi FPGA al enrutador, ¿lo reenvía a mi FPGA conectado a través del cable Ethernet?
¿Cómo sabrá exactamente el enrutador cuál es la dirección IP+MAC de mi FPGA (qué protocolo de enlace guardará esa información en el enrutador)?
Si la FPGA puede realizar un protocolo de enlace TCP de 3 vías, responder a solicitudes ARP y solicitudes de ping, ¿será eso suficiente para realizar la tarea requerida que indiqué en la parte superior? ¿Cómo harán esto posible estos apretones de manos? ¿Qué sucede exactamente cuando el cable Ethernet se conecta al enrutador y qué apretones de manos necesita el enrutador?
Respuesta1
Supongo que tiene un dispositivo de uso doméstico/personal que se comercializa como un "enrutador" que en realidad incluye un conmutador de capa 2 para la LAN y un enrutador de capa 3 (quizás con NAT) para interconectar la LAN con la PÁLIDO.
¿Qué protocolos y apretones de manos debo implementar en mi FPGA para que cuando envíe un paquete de Ethernet con la dirección IP+MAC de destino de mi computadora portátil al dispositivo enrutador+módem, reenvíe ese paquete de Ethernet a mi computadora portátil conectada a través de wifi?
Si tiene una dirección IP estática para la FPGA, simplemente necesita establecer y entrenar el enlace Ethernet, y luego estará listo para enviar datos con direcciones IP y MAC de origen y destino fijas. Si desea una IP dinámica para la FPGA, debe admitir DHCP (y todo lo demás en lo que se basa, como UDP)
Y de la misma manera, cuando mi computadora portátil envía un paquete Ethernet con la dirección IP + MAC de destino de mi FPGA al enrutador, ¿lo reenvía a mi FPGA conectado a través del cable Ethernet?
Si la FPGA tiene una IP estática, solo necesita ARP para permitir que la computadora portátil descubra la dirección de capa 2 correcta para usar en el encabezado de la capa de enlace del marco. No es necesario realizar ninguna acción especial para que el conmutador sepa en qué puerto está la FPGA. Va asolo trabajoinundando el paquete a todos los puertos del switch al principio, y luego descubriendo el puerto correcto a usar tan pronto como la FPGA transmita su primera trama decualquiertipo con la configuración MAC de origen correcta.
¿Cómo sabrá exactamente el enrutador cuál es la dirección IP+MAC de mi FPGA (qué protocolo de enlace guardará esa información en el enrutador)?
El enrutador no necesariamente necesita saber esto para manejar adecuadamente los datos que viajan hacia y desde la FPGA. Podría incluirlo (en su página de estado) como un dispositivo desconocido, o no incluirlo en absoluto.
Si la FPGA puede realizar un protocolo de enlace TCP de 3 vías, responder a solicitudes ARP y solicitudes de ping, ¿será eso suficiente para realizar la tarea requerida que indiqué en la parte superior? ¿Cómo harán esto posible estos apretones de manos? ¿Qué sucede exactamente cuando el cable Ethernet se conecta al enrutador y qué apretones de manos necesita el enrutador?
Véase más arriba. El entrenamiento del enlace Ethernet establece la capa 1 (física). En la capa 2 (capa de enlace), el conmutador descubrirá la dirección MAC -> asignaciones de puertos durante la comunicación e inundará los paquetes a todos los puertos (los dispositivos que no son de destino ignorarán esos paquetes) si necesita enviar una trama antes de conocer el puerto correcto. Las direcciones IP de capa 3 se resuelven en direcciones MAC gracias a ARP, y las direcciones IP mismas se pueden configurar de forma estática o mediante DHCP.