The IoT platforms examined include Microsoft Azure, PTC ThingWorx and the Eurotech Everyware Cloud. The result is a client-server application in Java. It can be used in standalone mode and in conjunction with existing IoT platforms.
What is an IoT tunnel solution needed for?
This is a question that I was asked a lot during my bachelor thesis. In the Internet of Things networked Things increasingly connected via IoT platforms. Telemetry data is often sent to the platform and there may be the option to do so, Send messages from the platform to the thing. However, direct access to a networked device via the Internet is not initially possible. This requires a Network tunnel set up become. When it comes to network tunnels, many people may think of VPN. However, VPNs are comparatively heavyweight and rather unsuitable for mass use in the Internet of Things.
Requirements for an IoT tunnel solution
To analyze the IoT platforms and as a basis for my own development, I have identified requirements for an IoT tunnel solution. The most important of these are:
- Firewall neutrality - the network tunnel must function without firewall adjustments
- Network performance & stability - The tunnel must offer sufficient performance and the connection must be maintained without interruptions
- API for integration - the tunnel system must have an API for control and integration into existing IoT platforms
Structure of the IoT tunnel solution

The illustration shows the rough structure of the tunnel system. The IoT device is the destination to which a tunnel connection is to be established. In the same network, the Tunnel Listener installed. He builds a Websocket tunnel with the Tunnel server on. In another network, the Tunnel clientwhich also establishes a web socket tunnel with the tunnel server. The tunnel connection is marked blue in the illustration. The tunnel client can now create a TCP connection with the IoT device. This can be, for example, a database connection, a SSH tunnel or an HTTP query be. The IoT platform can communicate with the tunnel server and thus determine which connection should be established to which IoT device.
For the decision to use the Websocket protocol as a transport for the tunnel for several reasons. Websockets use the same ports as HTTP and therefore do not need to be taken into account in the firewall settings. In contrast to HTTP, it can also be used to bidirectional communication can be used. One disadvantage is that proxy servers still offer rather poor support for web socket connections, which, if configured incorrectly, means that no connection can be established.
One of the biggest challenges was the Implementation of a protocol for the tunnel.
There were a lot of questions to be answered, starting with "How do I transfer TCP data via a web socket connection?" about "How do I identify a tunnel connection?"or "How do I coordinate the set-up and dismantling of a connection?" up to "What actually happens if there are several TCP connections for a tunnel?".
The last question was only answered when I suddenly got the same image displayed in all possible places while tunneling a website. The browser had opened several HTTP/TCP connections, but my implementation had only reckoned with one. As a result, the TCP segments could no longer be assigned correctly and the same image appeared everywhere on the website.
The solution was One web socket connection per TCP connection to create, whereby however the Connection setup considerably more complex was.
Integration of tunnel systems into an IoT
To prove the integrability, I used the Tunnel solution integrated with the Thingworx platform and Microsoft Azure as an example. For this purpose, both the tunnel listener and the tunnel client Interfaces definedwhich had to be implemented for this purpose.
It was noticeable here that the Time to establish a connection between the IoT platforms varies greatly. The delay was due to the protocols used in each casewhich the platforms use for device communication.
Conclusion: Network tunnels for IoT devices - even without VPN
In my bachelor thesis, I showed how IoT devices Establish network tunnel without having to set up a VPN network. In a prototype implementation, the Integration with the IoT platforms Microsoft Azure and PTC Thingworx proven become.
One subject area that was not considered in my bachelor thesis is the Security aspect, which is critical for productive use with networked devices.
Want to find out more about the technical implementation of IoT solutions?


