¿Otra red de IRC?
Existen ya numerosas redes de IRC en el mundo, pero
ESNET pretende destacarse precisamente por algunas
de las características que se describen en este documento.
Órganos de gobierno
El órgano de gobierno básico de
ESNET será la asamblea general, a la que
pertenecen todos los nodos de la red. Por necesidades
de escala y rendimiento, no obstante, todos los
estudios y análisis serán desarrollados
en comisiones con un número reducido de
miembros (3-5). La incorporación a una
comisión se justifica por la idoneidad de la
persona para la tarea, y se avala en asamblea general.
Control distribuído
La mayor parte de las redes de IRC tienen una
estructura de control muy centralizado, con la presencia de uno o
dos nodos con privilegios especiales sobre la red, un par (con suerte)
de bots de gestión de canales, etc. No obstante ello plantea
graves problemas:
- El uso de los nodos de control en caso de lag es,
como poco, penoso.
- Si hay un split y tenemos la mala suerte de estar
separados de los nodos de control, nos quedamos sin
canales y nicks registrados, control de clonos, etc.
- Si existe algún problema en los
nodos de control, repercute en toda la red.
- Los nodos de control son puntos de ataque
apetecibles.
- Los servidores en los que residen los nodos
de control tienen el dominio de la red, y el resto
de sistemas deben confiar en su "saber hacer" y
buen criterio.
- La presencia de los nodos de control puede
generar un tráfico considerable en la red.
Un caso paradigmático es el control de clonos:
la entrada de un clon prohibido es propagada por
toda la red, seguida del consiguiente kill global
por parte del nodo de control. Este tipo de eventos
deberían gestionarse de forma local y no
propagar información al resto de los nodos.
Por todo ello, en ESNET se plantea la
posibilidad de establecer un control distribuído
en la red de IRC, con lo que cada nodo pueda tomar
decisiones locales en cosas tales como la
administración de canales, el control de
clonos, etc. Con ello se pretende que:
- no exista un único nodo cuya
vulnerabilidad comprometa la red.
- las decisiones que puedan tomarse de forma local
(clonos, nicks, canales) no generen tráfico en la red.
- cada nodo (o subred que pueda formarse en un
split) pueda seguir funcionando de forma independiente
sin perder ninguna funcionalidad.
- no exista un nodo central cuyas decisiones
unilaterales sean vinculantes para toda la red.
Naturalmente un control distribuído plantea
problemas de seguridad, gestión y ejecución
importantes, que se pretenden solucionar mediante:
- Una red paralela a la red de IRC primaria, interconectando
los nodos administrativos y de control. Cada servidor de
IRC tendrá, en principio, un nodo de control asociado.
- El uso de criptografía fuerte para la
autentificación de los comandos de control.
- Esquemas de votación, automatizados y
en tiempo real, entre los nodos de control a la hora de tomar
decisiones, de forma que ningún servidor tenga control
absoluto sobre la red.
- Replicación de todas las bases de datos fundamentales.
- Parches "a medida" en los servidores de IRC.
- Esquemas de expulsión rápida, automática
y consensuada entre los nodos de control en caso de que un
nodo esté provocando eventos en contra de las
políticas definidas en ESNET, o que tenga problemas
que repercutan de forma grave en la red y no se puedan
solucionar en un plazo prudente.
- Sistemas de auditoría automática
capaces de detectar cualquier uso indebido o abuso por
parte de un componente de la red.
- Uno o dos nodos centralizados de control como "failover"
de la red de control principal, y como soporte para aquellos nodos
IRC que no dispongan (o no quieran/puedan) instalar un nodo
de control asociado.
Miembros de la red
Se pretende que la adhesión a ESNET
sea un proceso rápido y que los requisitos
para formar parte de ella sean reducidos. En principio
se distinguen tres tipos de nodos, a efectos
clasificatorios:
- Nodos A: Estos nodos disponen ya de un servidor
de IRC funcionando, por lo que están aportando
usuarios nuevos a la red.
- Nodos B: Estos nodos no disponen de servidor de IRC, o
apenas se usa, y sus usuarios están accediendo a ESNET
utilizando nuestra infraestructura. La entrada en la red de estos
nodos favorece el tráfico local dentro de ese proveedor
y reduce las necesidades de cobertura de ESNET
a usuarios externos.
- Nodos C: Estos nodos no disponen de servidor IRC y sus
usuarios no son grandes consumidores de los recursos de ESNET
(porque, por ejemplo, no usan el IRC o acceden a otras redes).
La entrada de estos nodos contribuye a repartir la carga
de usuarios de la red.
Las decisiones de alta de nuevos nodos se tomarán
en función de las necesidades en ese momento de ESNET,
y de las características del aspirante. Se atenderá
siempre a criterios exclusivamente técnicos y
estratégicos a la hora de aceptar o denegar un alta, y la
decisión será consensuada en la comisión
correspondiente y refrendada por la asamblea general ESNET.
Los nodos nuevos deberán pasar una
evaluación relativamente rigurosa en:
- Capacidad técnica e involucración de sus
operadores.
- Funcionamiento adecuado del servidor IRC y
cumplimiento escrupuloso de las políticas
definidas en ESNET.
- Rendimiento de la red con ese nuevo nodo.
Como criterio orientativo, encuentro que una caudal de
64kbps es más que suficiente para que un nodo
terminal atienda entre 100 y 150 usuarios simultaneos
muy holgadamente. Al menos si no se dan situaciones
de tasa elevada de pérdida de paquetes en la
red, como ocurre de vez en cuando, o ataques del tipo
ping flood.