Member of The Internet Defense League Últimos cambios
Últimos Cambios
Blog personal: El hilo del laberinto Geocaching

Libro Blanco de IRC ESNET

(AKA, la "WishList" de Jcea para el IRC-Hispano };-))

Última Actualización: 28 de Noviembre de 1.997 - Viernes

Borrador 1.01

Este documento pretende describir la filosofía de la red de IRC ESNET.

  1. ¿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.

  2. Ó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.

  3. 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:

    1. 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.
    2. El uso de criptografía fuerte para la autentificación de los comandos de control.
    3. 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.
    4. Replicación de todas las bases de datos fundamentales.
    5. Parches "a medida" en los servidores de IRC.
    6. 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.
    7. Sistemas de auditoría automática capaces de detectar cualquier uso indebido o abuso por parte de un componente de la red.
    8. 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.

  4. 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.


Historia

  • 28/Nov/97: Versión 1.01. Corregidos errores de redacción.

  • 26/Nov/97: Se decide constituir ESNET.ORG. Primera versión de este documento.



Python Zope ©1997 jcea@jcea.es

Más información sobre los OpenBadges

Donación BitCoin: 19niBN42ac2pqDQFx6GJZxry2JQSFvwAfS