Netsplit

Uit Wikipedia, de vrije encyclopedie

Netsplit is in de informatica en voornamelijk op Internet Relay Chat (IRC) een term om aan te geven dat een netwerk is uiteengevallen in twee delen, door de uitval van de verbinding tussen twee nodes. Een IRC-netwerk is een acyclische graaf, waardoor elke breuk in een verbinding tussen twee nodes het netwerk in twee delen opsplitst.

In de diagrammen rechts staat schematisch een IRC-netwerk aangegeven.

Een normaal functionerend netwerk
Een netwerk dat door een netsplit in tweeën is gedeeld

Elke lijn staat voor een verbinding tussen twee nodes, een node representeert of een server of een gebruiker op het netwerk. Server C is direct verbonden met A, die verbonden is met B en D.

Als er een storing in de verbinding tussen C en A optreedt, kan deze verbinding verbroken worden. Dit kan doordat een socket een foutmelding geeft, of doordat een grote lag (vertraging) optreedt waardoor een time-out ontstaat.

Als de verbinding tussen A en C verbroken is, dan lijken gebruikers die niet meer te bereiken te zijn af te sluiten. Als bijvoorbeeld gebruiker Sara met server A verbonden is, Bob met server B en Joe met server C, en C split (verbreekt de verbinding) met A, dan lijkt het voor Joe alsof Sara en Bob afsluiten, terwijl het voor Sara en Bob lijkt alsof Joe afsluit. Dit gebeurt omdat de servers waar zij mee verbonden zijn geïnformeerd worden over de verandering in het netwerk en hun lokale informatie daaraan aanpassen.

Later kan server C herverbinden met een server (dit hoeft niet A te zijn) op het netwerk en de gebruikers die afgesloten leken te hebben verbinden weer. Dit proces, waarbij alle informatie naar alle servers in het netwerk gestuurd wordt heet een netburst (of sync).

Een netsplit wordt soms misbruikt door gebruikers die toegang willen krijgen tot met wachtwoord beveiligde kanalen: als geen van de gebruikers in dat kanaal op server C zit, kan een gebruiker daar dat kanaal ingaan (lege kanalen houden op te bestaan). Op het moment dat de twee serverdelen weer verbinden, zit deze gebruiker in dit kanaal.

Een andere aanval die met netsplits te maken heeft is Nickname colliding. Hierbij verandert een gebruiker in een gesplitst segment van het netwerk zijn naam in die van een gebruiker aan de andere kant van het netwerk. Op het moment dat de netwerken samenkomen, worden beide gebruikers afgesloten omdat een nickname niet vaker dan eens op het netwerk voor mag komen. De aanvaller verandert op dat moment een tweede verbinding in de gewenste naam. Met moderne IRC-serversoftware is dit bijna niet meer mogelijk, maar servers die oudere software gebruiken zijn hier nog steeds vatbaar voor.