RootViz: Nieuw dashboard voor de bereikbaarheid van root-DNS

Visualiseer realtime meetresulaten

Wereldkaart met oplichtende plekken op de kaart

De oorspronkelijke blogpost is Engelstalig. Dit is de Nederlandse vertaling ervan.

We hebben onlangs een open dashboard ontwikkeld, genaamd RootViz. Dit dashboard visualiseert realtime de meetgegevens die door alle Ripe Atlas probes worden geproduceerd.

Met RootViz kun je de realtime meetresultaten van de bereikbaarheid en latentie tussen alle RIPE Atlas probes en de verschillende rootservers visualiseren, voor zowel IPv4 als IPv6.

Het dashboard vormt op 2 manieren een aanvulling op DNSMON:

  • het maakt gebruik van de standaard visualisatietool voor tijdreeksen in de sector (Grafana);

  • het gebruikt een andere dataset dan DNSMON – namelijk metingen van alle Atlas probes, in plaats van alleen de robuuste anchor-probes. Het maakt gebruik van dezelfde dataset die we hebben gebruikt in een onderzoek naar anycast versus DDoS op het root-DNS-systeem.

Datasets

Atlas voert elke 4 minuten metingen uit naar alle rootservers. Daarbij sturen alle ruim 14.000 probes DNS TXT CHAOS-queries naar elke rootletter. De links naar de afzonderlijke Atlas-metingen zijn hieronder opgenomen:

Hoe RootViz werkt

Elke 30 minuten haalt RootViz nieuwe meetdata op voor alle rootletters uit de bovenstaande tabel, over het interval [t-60,t-30] minuten. Dat levert een enorme hoeveelheid informatie op.

Om de schaalbaarheid te waarborgen, berekent en bewaart RootViz alleen de geaggregeerde statistieken voor het interval, zoals het aantal time-out probes, de mediane RTT, enz.

We gebruiken het ook om een van onze autoritatieve .nl-servers te monitoren en we onderzoeken de mogelijkheid om de code open source te maken. Al het "zware werk" wordt echter gedaan door RIPE Atlas-probes, die de metingen uitvoeren: RootViz aggregeert en visualiseert deze alleen.

Dashboards

Op de landingspagina van de dashboards tonen we het percentage RIPE Atlas-probes dat een time-out krijgt tijdens hun pogingen om elke Root Server Identifier (RSI, of rootserverletters) te bereiken.

Hieronder tonen we bijvoorbeeld de time-outs van één week voor elke RSI, voor IPv4. We zien schommelingen in de periode die we later verder moeten onderzoeken. Voorlopig visualiseren we alleen de resultaten.

https://images.ctfassets.net/yj8364fopk6s/1qQ5Ohj437qUtUhLUQfrRB/7f68c81ded3c1c60d899bd4becd862b7/Root_server_timeout_probes.png

In dit proces negeren we Atlas-probes die standaard niet werken, voor IPv4 en IPv6. Atlas labelt ze dienovereenkomstig.

Waarom time-outs? Voor een rootserverbeheerder is de belangrijkste meetwaarde bereikbaarheid: het kunnen bedienen van clients. Time-outs kunnen wijzen op bereikbaarheidsproblemen tussen client en server, op het netwerk of op de server zelf. (RTT is van secundair belang, aangezien root-DNS-reacties naar verwachting 2 dagen in de cache worden bewaard.)

Het basisidee is crowdsourcing: als een paar probes (of een paar honderd) constant time-outs geven, duidt dit op een aanhoudende fout, terwijl pieken iets anders suggereren. We moeten later de implicaties van deze pieken onderzoeken.

Naast deze gecombineerde dashboards nemen we hieronder ook andere meetwaarden op:

Dashboard per RSI

We hebben ook een dashboard per Root Server Identifier (RSI) gegenereerd, waarop we 9 grafieken per tijdserver weergeven. Dit kan worden gebruikt door de beheerders of andere geïnteresseerden.

En nu?

RootViz is op dit moment vooral handig voor de visuele analyse van incidenten in realtime — om snel afwijkingen te onderkennen die anders onopgemerkt zouden kunnen blijven.

We willen het platform verder uitbreiden met automatisch anomaliedetectie en geautomatiseerde incidentanalyse. Ook is het de bedoeling om de datasets en metingen op termijn openbaar te stellen voor de internetgemeenschap, zodat andere DNS-aanbieders deze kunnen gebruiken om hun eigen diensten te monitoren.

Daarnaast stellen we de verdere ontwikkeling van RootViz voor als project voor studenten binnen het Bachelorprogramma Computer Science van de TU Delft. In dat kader ontwikkelen studenten in teamverband software als onderdeel van hun studieopdrachten. Een eerder voorbeeld is NTPinfo, een meetplatform voor NTP-servers dat voortkwam uit een vergelijkbaar studentenproject en dat we nu als openbare dienst aanbieden (zie deze oproep).

Heb je ideeën, feedback of suggesties? We horen graag van je!