Ask HN: Can a website kill my internet connection? (WebRTC)

44 points by l1am0 ↗ HN
I have weird behavior when using https://zencastr.com/. The moment I join their videocall-room, my internet becomes super flacky, and drops entirely.

My connection is via WiFi, and the WiFi stays connected and everything, but no connection to neither zencastr.com, fast.com, google.com works.

The tool uses WebRTC for the call, hence I assume it might have something to do with that, but my assumption so far was always that a website I open in my browser does not have any effect to the underlying network stack or so.

When I use a competitor tool, riverside.fm or google meet (both using WebRTC as well) I don't have any of this problems.

My question: Is it possible that a bug in their WebRTC kills my internet? If yes, shouldn't that be prohibited by whatever security mechanism in my browser?

24 comments

[ 5.1 ms ] story [ 75.7 ms ] thread
Have you measured the bandwidth usage or packets per second when this happens? It is possible for websites to consume all available bandwidth. It used to be pretty universal that your internet connection was smaller than your Wi-Fi connection. This allowed various queuing and discard algorithms within your router to do their job and provide some sort of fairness to the various things competing for bandwidth. Modern internet connections can be 1gb or more which can far exceed what Wi-Fi can actually do. This kind of flips the mechanisms where the congestion is actually happening and can cause odd behavior.

Google and I imagine other specialized sites do play some trickery with how they craft their TCP packets potentially to avoid some things like this. So it is possible that it's less a bug in their web RTC and more an optimization with the other sites that don't have this same behavior.

It's really difficult to tell beyond some general speculation without some packet captures bandwidth graphs and packets per second measurements.

Measured the bandwith, nothing in the extraordinary. Roughly 10 Mbit/s peak. (With 250 Mbit/s fiber upstream and 5Ghz WiFi)
https://speed.cloudflare.com/ produces more details than many other speedtest sites. Interpreting them correctly is of course another question
Whoa! Thanks for this!

(... sorry OOKLA, there's a new site replacing my browser's "Speedtest" bookmark!)

Your WiFi and upstream are fairly well matched. When you say 10mbit, is that using the site that's causing problems or is that a speed test? As a speed test it seems slow, unless there's some congestion on the WiFi or uplink.

If it's the speed you're seeing the the site causing the problem, it makes me suspect that there is a issues with selective ack that could cause the issues you describe. Maybe some jitter or out of order arrival. Probably need to see some packet dumps to see how it's behaving and compare the ones that work well and the one that doesn't.

I've had (isp provided) modem+routers that get flakey or crash and reboot when there's certain network traffic. I did manage to get one replaced because a fragmented ipv6 packet would routinely crash it, and then in the replacement any ipv6 packet would take an absurd amount of time to traverse the router, but I 'fixed' that by running the modem as a pure bridge and running PPPoE[1] on my own systems.

If I were you, I'd confirm if the issue continues if on wired ethernet, and investigate from there. I personally won't do conferencing on wireless anything, jitter and unnecessary latency are the death of interactivity; but a lot of people disagree with me, I guess.

[1] Ugh, PPPoE is garbage, but my other choices are either worse or involve tremendous expense.

Networking problems can manifest in odd ways. One of my favorite tech support calls was when an app I supported would consistently fail to load for a specific set of people in Northern Wisconsin who all worked for the same company but worked from home in different towns. They escalated the problem and "proved" that it was our app - every other site on the web worked just fine, but ours would not load. I don't fault their logic, but I knew our site was up and running just fine.

Well, days of troubleshooting later and we found a common network segment they all hit somewhere in Wisconsin, and the owner of that physical network found a bad piece of hardware on a telephone pole. I forget the details of what the hardware was or why it threw a fit with our site but not others... but the bigger point is that there are many layers in a network, so while software might be the problem... it also might not.

So my approach has always been that if it makes no sense for software to be causing an observed problem - investigate the other layers.

I remember having similar issues with one customer who was getting denial of service every time they visited a site with a banned word. The word was fetched with an Ajax request (non https) and it would terminate any connections from the Mac address for a few hours. There was some Kind of adult filtering in place.

Took far too long to figure out what was happening.

In a similar story, in my TAC support days (I supported the PIX firewall) I got an odd case: an FTP transfer of a particular file always stopped for a customer.

At the same place. No other files were affected.

I knew that there was nothing to interfere with an active data transfer in a PIX but nonetheless. I asked him to take a sniffer trace outside the PIX.

Indeed, one TCP segment just kept getting dropped and retransmitted. I extracted the data from that particular segment, zipped it as a file, and asked him to try transferring this, much shorter file. It failed.

And this was when I spotted that each time we’d attempt to transfer the file, the CRC errors on the receiving PIX interface incremented by one.

Replacing the cable connecting to that interface had alleviated the problem. Whether it was a cable quality or a cable just not plugged correctly, will remain a mystery, but that case was helpful to always remember that somewhere low enough everything digital is still analog. And yes, having layers in the architecture is very good.

That wouldn't work anymore as connections are encrypted
Yeah, since the now the data is essentially random, probably the problem won’t even be possible to happen …
Are you sure it's your network connection, and not just the browser? Maybe something zencastr is doing is triggering a bug in the browser that somehow affects other tabs, or the browser's underlying networking code? (This may seem unlikely with the multi-process architecture Chrome and Firefox use, but who knows.)

Try doing internet-related things outside the browser, in order to rule that out. Use curl or wget from a terminal, for example. Try a different browser while this is happening. Hell, try a different browser in general and see if the same issue gets triggered with the different browser.

It's also possible that some traffic pattern that happens to occur on zencaster is triggering a bug in your router's network stack. If that's the case, it would (probably) affect other devices on the network, too, like another computer or phone.

I don’t have any suggestions but just wanted to say: please update this thread after you find out what was the reason. Would like to know.
Use a second machine (not connected to zencastr) to see if it is actually affecting your Internet connection or just the machine/browser that has loaded the site.
I have a zyxel router that crashes every time when I start a jitsi call, which uses webrtc. So yes I guess webrtc can kill your connection.
Definitely use wired connection and another device to rule out router problems. Find out what IPv4 gateway your router is using and see if you can ping that. Try pinging 1.1.1.1. Use Matt's trace route (mtr) to see if a particular hop along a connection is failing more than others.
On a properly working system, this should generally not happen, but there are sooo many things that could be going wrong.

I'd first try on a different WiFi that has both a different router and ISP. That should narrow down where you have to search for the problem.

I've had this happen when using Google earth desktop.
Lots of parts to WebRTC ( https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API ) but none that I know that can knock out something outside of your browser. It could maybe overload RAM and get killed.

Try using the offending website on a browser/OS that _doesn't_ have WebRTC such as https://caniuse.com/?search=webrtc. Or try with WebRTC disabled.

Possible you're getting throttled by your router or ISP when certain connections are made.

And there's this https://browserleaks.com/webrtc

What have you done to debug it? There isn’t much information to go on here.

Always binary search: rule out the browser by doing it a different way. Rule out the machine by trying it on a different device, etc etc.

Damn, now with all the great replies, as it goes: Now I can't reproduce the problem anymore to measure with your different ideas
bandcamp does that by overwhelming your connection. Love them tough but it forces me to download the free stuff instead of streaming it