通过嵌入式系统及其自己的网络(不同的子网)扩展现有的 IPv4 网络

通过嵌入式系统及其自己的网络(不同的子网)扩展现有的 IPv4 网络

我正在使用自制的 RTOS 开发一个“嵌入式设备”,该设备应连接到任意客户 IPv4 网络。我们将此嵌入式设备称为“主设备”。除了连接到客户网络的 NIC 之外,“主设备”还连接到另一个由多达数百个网络节点组成的网络。我们将这些节点称为“从设备”。这个附加网络是一个实时工业现场总线系统 - 但为了讨论方便,可以将其视为另一个 IP 网络。我们将该网络称为“现场总线”。

重点是每个“从属”都提供网络服务,这些服务应该可以由客户网络(Windows、Linux、iOS、Android 等)的 LAN 和 WLAN“客户端”访问。例如,应该可以在任何“客户端”上打开浏览器并将其指向特定的“从属”。在最佳情况下,应该可以访问任意网络服务 - 但作为绝对最低限度,我需要 HTTP(S) 和 Websockets。

一个重要的约束是,所有东西都应该开箱即用,无需重新配置现有网络基础设施,尤其是路由器(因为 IT 限制,这通常不容易实现)。好处是,我几乎可以完全自由地决定在“主”和“从”上实现什么。

为每个“从属”分配一个唯一的 IP 似乎是实现此目的的自然方法。但由于“现场总线”系统需要数百个 IP 地址,每个“从属”一个,我声称必须为“从属”创建一个单独的子网,因为现有 LAN 可能无法为所有“从属”提供足够的可用 IP。将“从属”放入单独的子网会产生下一个问题:如果不重新配置 IT 基础设施,“客户端”将无法访问该子网(因为路由器和“客户端”都没有定义到该子网的路由)。为了解决这个问题,我知道的唯一解决方案是“端口转发”(http://en.wikipedia.org/wiki/Port_forwarding): 在“主服务器”上为每个服务和“从服务器”分配一个 (Tcp) 端口。虽然这在最佳情况下无法实现“客户端”和“从服务器”之间的任意网络通信,但至少可以访问 HTTP(S) 和 Websockets 等专用服务。

你会如何解决这个问题?(注意:这个问题专门针对 IPv4 网络)

相关内容