Estender a rede IPv4 existente pelo sistema embarcado com sua própria rede (sub-rede diferente)

1

Estou desenvolvendo um "dispositivo incorporado" usando um RTOS feito por você mesmo que deve ser conectado a redes IPv4 arbitrárias de clientes. Vamos chamar esse dispositivo incorporado de "mestre". Além da NIC conectada à rede do cliente, o "mestre" também está conectado a outra rede que consiste em até centenas (!) De nós de rede. Vamos chamar esses nós de "escravos". Essa rede adicional é um sistema de barramento de campo industrial em tempo real - mas, por causa dessa discussão, não há problema em considerá-la apenas outra rede IP. Vamos chamar essa rede de "field bus".

O ponto é que cada "escravo" fornece serviços de rede que devem ser acessíveis pelos "clientes" de LAN e WLAN da rede do cliente (Windows, Linux, iOS, Android, etc.). Por exemplo. deve ser possível abrir um navegador em qualquer "cliente" e apontá-lo para um "escravo" específico. Na melhor das hipóteses, os serviços de redes arbitrárias devem ser acessíveis - mas, como um mínimo absoluto, eu preciso de HTTP (S) e Websockets.

Uma restrição importante é que tudo deve funcionar de maneira automática sem a necessidade de reconfigurar a infraestrutura de rede existente, especialmente o roteador (pois isso não é facilmente possível devido a restrições de TI). O bom é que eu estou virtualmente completamente livre do que implementar no "mestre" e no "escravo".

Atribuir um IP exclusivo a cada "escravo" parece ser uma maneira natural de conseguir isso. Mas como o sistema "bus de campo" precisa de centenas de endereços IP, um para cada "escravo", afirmo que devo criar uma sub-rede separada para os "escravos", pois a LAN existente pode não fornecer IPs suficientes para todos os "escravos". . Colocar os "escravos" em uma sub-rede separada cria o próximo problema: essa sub-rede não será acessível por "clientes" sem reconfigurar a infraestrutura de TI (porque nem o roteador nem os "clientes" têm rotas definidas para essa sub-rede). Para contornar esse problema, a única solução que conheço é o "Port Forwarding" ( link ): Gastar uma porta (Tcp) no "mestre" para cada serviço e "escravo". Embora isso não permita a comunicação arbitrária de rede entre "clientes" e "escravos" conforme desejado, no melhor dos casos, pelo menos permite acessar serviços dedicados como HTTP (S) e Websockets.

Como seria a sua solução para esse problema? (Nota: Esta questão é especificamente sobre redes IPv4)

    
por Zulli 30.11.2014 / 20:37

0 respostas