1 · ¿Qué son netsplits?
Los netsplits ocurren cuando la conexión de uno o más servidores se separa de otro servidor (por alguna razón cualquiera). La red se dividirá en dos partes separadas. DALnet tiene muchos servidores, algunos de los cuales son hubs y otros tantos son leafs. Esos hubs están conectados juntos y forman una red. Los hubs también ligan uno más servidores adicionales llamados leafs. Cuando todos esos servidores están ligados entre sí, tienes una red funcionando, donde todos los servidores están directa o indirectamente conectados unos a otros.
La mejor comparación que puedes pensar es un árbol grande. El árbol tiene muchas ramas, conectadas todas. El árbol también tiene hojas, que están conectadas a alguna rama específica. Cuando pasa un netsplit, una leaf o hub se desconecta del resto de la red.
Cuando esto sucede, la red ya no está completa: hay dos partes ( o 'lados'). Un lado con algunos servidores y el otro lado con algunos otros servidores que no están conectados de ninguna forma.
Si esto suena confuso, piensa en el árbol, una rama se cae, parte del árbol sigue junto y la otra parte (la cual sería la rama con todas sus hojas) está en otro lado. Aún siendo parte de la misma red, están por el momento separados y no pueden interactuar. Aquí hay un ejemplo que puede hacerlo ver más simple.
Ej. #1)
Hub1------------Hub2 | | |-Leaf1 |-Leaf4 |-Leaf2 |-Leaf5 |-Leaf3 |-Leaf6
En este ejemplo, 2 hubs están conectados entre sí, y cada uno sostiene 3 servidores mas. En otras palabras, hay 8 servidores conectados entre sí, directa o indirectamente, y todo lo que pasa en un servidor, pasa en el otro.
Ej. #2)
Hub1 Hub2 | | |-Leaf1 |-Leaf4 |-Leaf2 |-Leaf5 |-Leaf3 |-Leaf6
Arriba puedes ver que los hubs ya no están conectados juntos, y aún cuando los hubs siguen manteniendo 3 servidores cada uno, ya no transmiten información a los otros 3 servidores.
Ej. #3)
Hub1-----------Hub2 | | | Leaf1 |-Leaf4 |-Leaf2 |-Leaf5 |-Leaf3 |-Leaf6
Aquí ambos hubs están conectados entre sí, pero el Hub1 tiene el primer servidor desconectado. Puede ser que este servidor esté aún en línea, pero mientras no se conecte al hub, solamente los usuarios en ese servidor podrán ver lo que pasa ahí.
2 · ¿Qué ven los usuarios?
-
Cuando un servidor se separa, los usuarios en cada lado del split, verán a los otros usuarios desaparecer. El mensaje de quit se verá algo como "server1.xx.xx.dal.net server2.xx.xx.dal.net", donde server1 y server2 son los servidores que se separaron entre sí. De cualquier forma, los mensajes de quit pueden variar de cliente a cliente.
Ej. #1)
Mystro (mystro@mystro.canshell.com) Quit (liberty.nj.us.dal.net vader.ny.us.dal.net)
donde Vader es el servidor donde está Mystro y liberty es el servidor al que estás conectado tú.
Sin embargo, Mystro, al otro lado del netsplit, verá algo como esto:
CualquierNick (xpersona@algunisp.com) Quit (vader.ny.us.dal.net liberty.nj.us.dal.net)
donde liberty es el servidor en que estás tú. Y Vader en el que está Mystro.
(Sólo como nota, Vader es un hub en DALnet y no permite conexiones públicas, lo he usado sólo para propósitos de demostración.
Ej. #2)
Vader----------------Hub2 | | |-Liberty |-Leaf4 |-Leaf2 |-Leaf5 |-Leaf3 |-Leaf6
Esto es alrededor de la misma cosa, pero es más fácil de entender. Todos en liberty, verán como que Vader se fue, y todos en Vader, verán como que liberty se fue.
-
En el caso de que la separación ocurrida sea donde 2 o más hubs se separen, la gente lo verá como si el hub fuera el servidor en el que están.
Ej. #1)
Vader.ny.us.dal.net y Journey.ca.us.dal.net se separan. Vader sigue sosteniendo a liberty y Journey sostiene a los demás servidores.
El mensaje de quit se vería algo como esto:
Mystro (mystro@mystro.canshell.com) Quit (vader.ny.us.dal.net journey.ca.us.dal.net)
y viceversa del otro lado.
Ej. #2)
Una forma fácil de ilustrar esto es dibujar un diagrama:
Vader Journey | | |-Liberty |-Leaf1 |-Leaf2 |-Leaf3
En esta ilustración vez que Vader está separado de journey. Mientras que Liberty sigue conectado a Vader, el resto de la red se fue. En este caso, yo vería separarse a Vader y a Journey, en lugar de a Liberty y a Journey.
-
Finalmente, cuando los servidores se reconectan, verás una inundación de gente entrando, y los servidores cambiando los modos de los canales de tal forma que todo quede igual a como estaba antes del split.
Ej.
[16:22] *** usuario1 (user1@blah.com) has joined #blah
[16:22] *** usuario2 (user2@blah.com) has joined #blah
[16:22] *** usuario3 (user3@blah.com) has joined #blah
[16:22] *** usuario4 (user4@blah.com) has joined #blah
[16:22] *** usuario5 (user5@blah.com) has joined #blah
[16:22] *** liberty.nj.us.dal.net sets mode: +ovvv usuario1 usuario2 usuario3 usuario4
Esto sería algo como lo que verías cuando un servidor se reconecta, el servidor que cambia los modos del canal, siempre será el que se fue de la red y luego regresó.
3 · Cómo se solucionan los netsplits
Aquí es donde entra en juego el Operador de IRC. Al momento en que ocurre un netsplit, un mensaje global es mandado por el servidor de IRC diciendo que ocurrió, cuál servidor y porqué. (errores de lectura, tiempo de respuesta, etc...). Ahora bien, contrario a lo que se cree, los IRCops hacen su trabajo muy bien y se ponen a trabajar en los netsplits en cuando pueden. Los Operadores de IRC intentarán de inmediato reconectar los dos o más servidores con el resto de la red. Si esto fallara, intentarán redireccionar los servidores a otros hubs que contengan líneas C/N (Líneas de Unión, sin las cuales no puedes conectar un servidor a otro) para ese servidor.
4 · Qué hacer y no hacer durante un netsplit.
-
La forma más segura de que pase un netsplit, es quedarte donde estás y esperar que los servidores se reconecten.
-
NO intentes conectarte a un servidor que está en split, para que te de op en un canal específico. Primero que nada no funcionará, ya que los servidores IRC de DALnet no permiten que la gente obtenga @ en los canales mientras hay un split ocurriendo. Segundo, los servidores resetean las opciones y modos a lo que estaba antes del split, en cuyo caso, te quitarán el op en cuanto la red regrese a la normalidad. Tercero, sólo lograrás que mucha gente se moleste contigo y eso no le gusta a nadie.
-
Si decides cambiar de servidores, asegúrate que te cambies a donde está la mayor parte de los otros usuarios, es decir, no a un servidor que está conectado a los mismos servidores en que estás en este momento. De igual modo, yo sugeriría que uses un nick diferente en caso de que alguno de los servidores tenga lag y siga manteniéndote como si estuvieras en ese servidor. Aún así, como dije antes, es mejor si te quedas donde estás y dejas que todo vuelva a la normalidad.
-
NO molestes a los IRCops si ves un netsplit, si están activos, lo vieron igual que tú, y si no están activos, no tiene caso de entrada, el molestarlos siquiera.
5 · Glosario
- IRC
-
IRC quiere decir Internet Relay Chat, (Conversación Simultánea por Internet) le permite a miles de usuarios como tu y yo, conversar con otros tantos miles de usuarios en cualquier parte del mundo al mismo tiempo.
- Operador de IRC
-
IRCop, también conocido como Operador de IRC es un usuario con acceso especial el servidor de IRC. Está ahí para ayudar a que el servidor funcione, corregir netsplits, lidiar con usuarios abusivos y mucho más. Los Operadores de IRC algunas veces son confundidos con: 'Cops' (policías) 'mIRC Cops' u otras muchas cosas. No son de ninguna manera policías. Son simplemente seres humanos normales que está en la red para hacer tu estancia más placentera.
- Hub y Leaf
-
Un 'hub' es un servidor que usualmente conecta 2 o más servidores juntos para formar una red. Una leaf por el otro lado, no puede conectar más de un servidor y en la mayoría de los casos, la leaf está conectada al hub.
6 · Conclusión
DALnet intenta hacer la estancia de cualquier IRCeador tan placentera como sea posible. Si ocurre, y cuando ocurre un netsplit, la administración (IRCops y Admins) se ponen a trabajar lo más pronto posible para componerlo solo para que los IRCeadores puedan tener una conversación tranquila. Desafortunadamente, ninguna res de IRC tiene la dicha de no tener netsplits para nada, y cuando ocurre un netsplit, lo único que pedimos es que tengas un poco de paciencia, déjalo pasar, y regresa a lo que estabas haciendo antes de que sucediera. =)
Por favor dirigir cualquier comentario, o retroalimentación acerca de este documento (no envíe solicitudes de ayuda) a docs@dal.net. Si necesita ayuda con temas no abarcados en este documento, por favor vea la siguiente información http://help.dal.net.