Like many other consumers, I have some ‘smart appliances’ in my home, and a harmless example which I will use, is my Dyson Air Purifier. It gives me features (beyond) what I would have requested, but a feature which I do appreciate, is the ability to access its settings etc., from an app on my smart-phone, regardless of whether I’m connected to my own Wi-Fi, the way the appliance is, or whether I’m outside somewhere. And this is a feature which most smart appliances offer.
But a question which I could easily picture a consumer asking would be, ‘Why is it necessary for this device to log in to a cloud server, just so that I can access it? Why can this arrangement not work autonomously?’
And I can visualize all sorts of answers, which some consumers could come up with, that might include, ‘Because Big Brother Is Watching Us.’ I tend to be sensitive to certain privacy issues, but also know that in this case, this would not be the main answer. Is Big Brother really so curious about what the air quality is in our homes?
A big reason why these devices need to be logged in to a cloud server, has to do with that last part of what they offer: To give us access to the appliance and its controls, even when we are not on our own LAN (Local Area Network).
The way Local Area Networks tend to work, at least with the older, IPv4 addresses, is that our routers / modems will perform Network Address Translation, which also has an acronym: NAT. In short, what it means is that devices have one IP address on our LAN, that includes the Wi-Fi, but that our entire LAN has another IP address on the WAN – the Wide Area Network.
Our ability to connect to these devices requires that two conditions be satisfied:
- The device on our LAN needs to have a port on the WAN-side of the router, by which they can be communicated with,
- The smart-phone app, which in this case counts as a client, needs to be aware of what the WAN IP address of our home is. Without that, the client has no idea what to connect to, as soon as we are not on our LAN anymore.
In general, when our smart appliances power up, the first thing they do is establish a client connection to their cloud server. This causes something in our routers, which is called ‘Port Triggering’. In other words, the device doesn’t just connect to its cloud server; it also provides the means for data from the cloud server – in the form of packets – to be sent back to it. What the cloud server next does is, to record what the WAN IP Address of the appliance was, and that ultimately gives the client the information it needs, in order to communicate with the appliance, though not connected internally to the Wi-Fi, nor to the LAN in any other way.
Now, people exist who know how all this works, and who might also be able to set this up manually. Because I have set up my Web-server to exist on my LAN, and to be retrievable by anybody who knows the URL of my blog, I happen to be one of those people. But most consumers do not fall into that category, and would find the whole subject rather complicated. And so, this primary purpose of the cloud log-in, has been achieved for the user.
I suppose that the reader could next ask, whether it would change much, if his ISP offers IPv6 addresses, instead of IPv4 addresses. And the answer would be, that it doesn’t change everything. In that case, the appliance could have a single, unique LAN IP address, on the entire Internet. But both the conditions I listed above would still need to be met. It might be a bit easier to design a smart-phone app then, that records the appliance’s two IP addresses once, while it’s on the LAN, and reconnects using those repeatedly. This could especially be facilitated, by something akin to ‘an IPv6 STUN Server‘. That appliance has the onus of telling the router to make it visible on the WAN.
And yet, much of the Internet is still using IPv4 addresses.