Extend existing IPv4 network by embedded System with its own network (different subnet)

1

I'm developing an "embedded device" using a self-made RTOS that should be connected to arbitrary customer IPv4 networks. Let's call this embedded device "master". Additionally to the NIC connected to the customer network, the "master" is also connected to another network consisting of up to hundreds(!) of networking nodes. Let's call these nodes "slaves". This additional network is a real-time industrial field bus system - but for the sake of this discussion, it should be ok to consider it being just another IP network. Let's call that network the "field bus".

The point is that each "slave" provides network services which should be accessible by the LAN and WLAN "clients" of the customer network (Windows, Linux, iOS, Android, etc.). E.g. it should be possible to open a browser on any "client" and point it to a specific "slave". In best case, arbitrary networks services should be accessible - but as an absolute minimum I require HTTP(S) and Websockets.

An important constraint is that everything should work out of the box without the need of reconfiguring the existing network infrastructure, especially not the router (as this is often not easily possible due to IT restrictions). The good thing is that I'm virtually completely free what to implement on the "master" and the "slave".

Assigning a unique IP to each "slave" seems to be a natural way to achieve this. But because the "field bus" system needs hundreds of IP addresses, one for each "slave", I claim that I must create a separate subnet for the "slaves" as the existing LAN may not provide enough free IPs for all "slaves". Putting the "slaves" into a separate subnet creates the next problem: That subnet will not be accessible by "clients" without reconfiguring IT infrastructure (because neither the router nor the "clients" do have routes defined to that subnet). To circumvent that problem, the only solution I know of is "Port Forwarding" (http://en.wikipedia.org/wiki/Port_forwarding): Spending one (Tcp) port on the "master" for each service and "slave". While this doesn't allow arbitrary network communication between "clients" and "slaves" as desired in the best case, it at least allows accessing dedicated services such as HTTP(S) and Websockets.

How would your solution to that problem look like? (Note: This question is specifically about IPv4 networks)

Zulli

Posted 2014-11-30T19:37:47.660

Reputation: 11

Although you seem to have a good question here, please reword it to make it less opinion-based—overly subjective questions are not a good fit for our Q&A model. The help center has more guidance on how to ask a good question and what kinds of questions to avoid asking.

– bwDraco – 2014-11-30T19:58:55.317

@DragonLord Thanks for your inputs. I read the linked docs and rephrased my question. But to be honest, I'm still unsure whether it's a good question now. It would be very helpful for me if you have specific critics or suggestions for improvements – Zulli – 2014-12-03T05:31:42.343

No answers