4 ms·
> “Your smart home pings Google at the same time every hour in order to determine whether or not it’s connected to the internet,” Dhruv tells me. “Which is funn
by bpicolo 8y ago
> “Your smart home pings Google at the same time every hour in order to determine whether or not it’s connected to the internet,” Dhruv tells me. “Which is funny to me because these devices’ engineers decided to determine connectivity to the entire internet based on the uptime of a single company. It’s a good metaphor for how far the internet has strayed from its original promise to decentralize control.”
The alternative is effectively DDoSing random websites from 100 million devices, which is definitively an uncool move.
- jm_l 8y agoThe requests wouldn't be synchronized, so probably wouldn't cause a DoS
- bpicolo 8y agoOnce an hour means they're doing ~30k qps if they have 100 million devices (and traffic is well-distributed, which admittedly is pretty easy to do), though 100 million is potentially an overestimate. Point is, you can't just fire that traffic into the nether / to domains you don't control from IoT devices. Those providers will happily cut off your automated traffic.
- johnchristopher 8y ago> Point is, you can't just fire that traffic into the nether / to domains you don't control from IoT devices. Those providers will happily cut off your automated traffic. Which reminds me: https://news.ycombinator.com/item?id=15911501 https://news.ycombinator.com/item?id=15911501 TP-Link firmware sends six DNS requests and one NTP query every 5 seconds https://www.ctrl.blog/entry/tplink-aggressive-ntp https://www.ctrl.blog/entry/tplink-aggressive-ntp
- puzzle 8y agoEven if they don't start synchronized, something as simple as a hiccup on the receiving side of all such pings would make them more and more synchronized over time. Such is the life of anyone operating large sites.
- convolvatron 8y agothis is a really good paper on this effect - https://ee.lbl.gov/papers/sync_94.pdf they suggest factoring out the service time from the timer scheduling to defeat it. a generally more robust approach is to select a timeout interval from a distribution.
- quest88 8y agoThis was what every tech support agent had me do in the early 2000s when I was having trouble with my home internet: 'Please type ping www.yahoo.com'.
- sofaofthedamned 8y agoMeraki used to ping 8.8.8.8, which is Google, to determine connectivity. Not the smartest move.
- jclay 8y agoWhat did they switch to?
- sofaofthedamned 8y agoNo idea, I ditched my Meraki after leaving CSCO.
- tivert 8y ago> The alternative is effectively DDoSing random websites from 100 million devices, which is definitively an uncool move. The alternative is that the devices: * ping an IP controlled by their manufacturer, and/or * try to ping one of a catalog of multiple large sites (e.g. Google, Apple, Amazon, Facebook, etc.) instead of relying just on Google, and/or * allow the user to override the IP they use.
- smeyer 8y ago> ping an IP controlled by their manufacturer Who is the manufacturer? For many smart home devices, Google either is the manufacturer or at least the creator of the software, so it sounds like they might already be doing what you're proposing.
- tivert 8y ago>>>> “Your smart home pings Google at the same time every hour in order to determine whether or not it’s connected to the internet,” Dhruv tells me. “Which is funny to me because these devices’ engineers decided to determine connectivity to the entire internet based on the uptime of a single company. It’s a good metaphor for how far the internet has strayed from its original promise to decentralize control.” > Who is the manufacturer? For many smart home devices, Google either is the manufacturer or at least the creator of the software Probably not Google, since the whole point of his experiment was to remove Google from his life. Also, the original quote doesn't make much sense if you assume he was talking about Google-manufactured devices.
- dTal 8y agoNot really. It can ping whatever resource it needs "the internet" for in the first place. After all, if that's down, then no amount of "internet" connectivity will help. I put "internet" in quotes because it's not really a well-formed concept. How much of the global network needs to be accessible to count as "internet access"? Your home LAN? Your country? A specific server in Larry Page's basement?
- rtkwe 8y agoWhen it's connecting to a wifi access point your phone or device doesn't know what resource you'll actually request so instead it pings the most resilient thing a Google engineer could think of at the time without risking DDoSing someone which is Google.
- KeepFlying 8y agoWe are talking about smart home things here though, which usually depend on their own services anyway. This is more of a problem with things like Windows reaching out to msftconnecttest.com or some other generic internet service. But in the case of a smart home device it's needs are usually more well defined. This becomes harder with a consumer router trying to determine if it is online though unfortunately because of exactly what you describe.
- shados 8y agoIf you're trying to figure out if a failure is from the service you're trying to hit, or if it's the connection of the current device, you need to hit a separate, third resource. To be resilient/fast enough, for most product you'd probably hit a static file on a well known CDN. If you work at google, google.com is honestly not a bad idea. If you just try to ping the resource you were going to access, for all you know it's the resource that's down.
- sdinsn 8y agoOr the alternative is not pinging, and instead determining internet connectivity when the device actually needs to use the internet for something.
- bpicolo 8y agoThe issue is that you need the server-side to have an expectation on the phone home, otherwise you have no idea that the device has lost connectivity, because you can't report that from the device if the device is lacking connectivity.
- bootlooped 8y agoA Google smart home device requires Google services to do just about anything useful, so it makes a lot of sense to just ping Google.
- reaperducer 8y agoThe alternative is effectively DDoSing random websites from 100 million devices, which is definitively an uncool move. FWIW, I use whitehouse.gov. I figure it's my tax dollars at work.
- webninja 8y agoI like this idea but what if there’s a government shutdown?
- cco 8y agoThat is the only alternative in your mind? It seems odd that required functionality of your home automation solution would not be built and maintained by you, the company creating it.
- 3xblah 8y agoI just ping a .com nameserver. For me, these are the most important servers for the www. More important than Google's. Never thought to use a "random website". Is that your idea?
- 3xblah 8y agoAlthough at some point you might find yourself behind a captive portal where port 53 is being redirected. In that case, you could ping a recursive nameserver on the open internet that listens on a non-standard port.