Packet Loss Test

WebRTC

WebRTC is de gloednieuwe technoglogie (in 2019) die deze site mogelijk maakt. Hij bestaat uit verschillende JavaScript APIs in WebIDL die real-time communicatie - denk aan video of spraak - mogelijk maken. Hoe het precies in elkaar steekt met STUN servers en ICE kandidaten is niet eenvoudig, maar uiteindelijk is er een systeem dat een route vind voor tweeweg communicatie tussen systemen.

De echte reden dat WebRTC belangrijk is voor deze site is dat het de eerste en enige manier is voor een browser om op een onbetrouwbare manier verbindingen te maken, zonder (wellicht trage of onveilige) plugins te gebruiken. In principe gebruikt een browser namelijk overal TCP, een protocol dat, als een pakketje niet aankomt, automatisch opnieuw zal proberen tot het lukt. Dit is natuurlijk normaal gesproken handig, omdat je nu eenmal niet wilt dat wilt dat er stukken van een webpagina of illustratie ontbreken. Maar dit maakt het wel ongeveer onmogelijk om de packet loss an een verbinding te testen. Als de computer gewoon blijft proberen tot het lukt, is er nooit een netwerkpakketje dat niet aankomt. Dankzij WebRTC kan ik een enkel pakketje precies een keer versturen zonder automatische nieuwe pogingen. Dan kan ik eenvoudig zien welke er ontbreken.

Tenslotte nog een bedankje voor Google: dankzij hun gratis STUN server kan ik verbindingen opzetten.