Netsplit

From Free net encyclopedia

In computer networking, specifically Internet Relay Chat (IRC), netsplit is a term used to describe the disconnection of a given node from the previously established network or between two nodes. As an IRC network is an acyclic graph, a split between any two nodes splits the entire network into two pieces.

Consider the graphic below, which will represent the computer network.

Image:Netsplit 1.gif Image:Netsplit 2.gif

Each line represents an established connection between the two nodes; each node represents either a server or a user on the network. Therefore, the server C is connected directly to A, which is also connected to B and D.

If a disruption in the connection between C and A occurs, the connection may in result be terminated. This can occur either by a socket (the device in which the server is connected) producing an error, or by excessive lag in which the far server A anticipates this case (which is called a timeout).

When the connection between A and C is severed, users that were connected to other servers which are no longer reachable on the network appear to quit. For example, if user Sara is connected to server A, user Bob is connected to server B, and user Joe is connected to C, and C splits (disconnects) from A, it will appear to Joe as if Sara and Bob both quit (disconnected from the network), and it will appear to both Sara and Bob that Joe quit. This happens because the servers in which they are connected are informed of the change in the network status, and update their local information accordingly to display the change.

Later, server C may relink (reconnect) to a server on the network and the users who appeared to have quit will rejoin; the process of sending this updated information to all servers on the network is called a netburst (or sync).

Occasionally some users will attempt to use netsplits to gain access to passworded channels. If none of the channel users were on server C, a user could join a private channel and later gain access when the servers relink. This is commonly known as riding the split; for more information, see IRC takeover.

What does a netsplit look like?

Below is an example of large netsplit. When two servers split, a user sees this as massive amount of users quitting. After the servers are reconnected, it is seen as the users rejoining again.

The following netsplit was recorded on the irc.freenode.net server in channel #reactos on December 17th 2005 at 12:31:26. The servers merge again after 22 seconds on December 17th 2005 at 12:31:48.

* mtgh has quit (niven.freenode.net irc.freenode.net)
* GurliGebis has quit (niven.freenode.net irc.freenode.net)
* Russell has quit (niven.freenode.net irc.freenode.net)
* Kernel86 has quit (niven.freenode.net irc.freenode.net)
* da-x has quit (niven.freenode.net irc.freenode.net)
* da-x_work_ has quit (niven.freenode.net irc.freenode.net)
* SeanWasHere has quit (niven.freenode.net irc.freenode.net)
* Gge has quit (niven.freenode.net irc.freenode.net)
* meppl has quit (niven.freenode.net irc.freenode.net)
* Quip has quit (niven.freenode.net irc.freenode.net)
* illissius- has quit (niven.freenode.net irc.freenode.net)
* TechBot has quit (niven.freenode.net irc.freenode.net)
* ScoTTie has quit (niven.freenode.net irc.freenode.net)
* JvA has quit (niven.freenode.net irc.freenode.net)
* Bletch_ has quit (niven.freenode.net irc.freenode.net)
* w3seek has quit (niven.freenode.net irc.freenode.net)
* polk has quit (niven.freenode.net irc.freenode.net)
* Talley has quit (niven.freenode.net irc.freenode.net)
* Hey_neken has quit (niven.freenode.net irc.freenode.net)
* dnordenberg has quit (niven.freenode.net irc.freenode.net)
* Harteex has quit (niven.freenode.net irc.freenode.net)
* chris38-home2 has quit (niven.freenode.net irc.freenode.net)

This netsplit was recorded at 18:55 on 13 April, 2006 on the channel #lunar. The irc client irssi was in use. The merge occurred roughly a minute later

18:55 -!- Netsplit niven.freenode.net <-> irc.freenode.net quits: 
chipig, fireglow, nOpROX, wawowe, Forexs, Moe, v3rt1g0, Soir, 
kelnos, Ratler,  (+2 more, use /NETSPLIT to show all of them)
18:56 -!- Netsplit over, joins: dem, Forexs, wawowe, Soir, Ratler, 
chipig, Arnald, fireglow, nOpROX, v3rt1g0 (+2 more)
de:Netsplit

es:Netsplit fr:Netsplit pl:Netsplit pt:Netsplit sv:Netsplit

</pre>