Un fallo en una versión de Skype para Windows causó la ‘caída’ del servicio

El director general de información de Skype, Lars Rabbe, ha explicado en el blog de la compañía que la ‘caída’ que hizo que su servicio no estuviera disponible durante más de un día la semana pasada tuvo su origen en una versión del programa para Windows.

En primer lugar, para explicar el fallo hay que entender que el servicio de Skype está basado en una red P2P, un sistema en el que “todos los nodos de una red se unen para trabajar juntos de forma dinámica y participar en el enrutamiento, proceamiento y tareas intensivas de ancho de banda que, de otro modo, serían llevadas por servidores centrales”.

Dentro de esta red hay unos ‘supernodos’, que son importantes porque “toman responsabilidades adicionales en comparación con los nodos normales y actúan como un directorio apoyando a otros clientes de Skype, ayudando a establecer conexiones entre ellos y creando grupos locales de varios cientos de nodos por cada ‘supernodo'”.

Según explica Rabbe, el día 22 un grupo de servidores dedicado a la mensajería instantánea ‘offline’ se saturó. Como resultado de esto, los clientes recibieron respuestas con retraso y, en una versión de Skype para Windows (la 5.0.0152), las respuestas que provenían de los servidores saturados no pudieron ser procesadas, por lo que el programa falló en esta versión.

El problema está en que alrededor de la mitad de los usuarios de Skype utilizan esta versión de Skype y el fallo afectó al 40% de los mismos. Estos clientes incluían a un porcentaje de entre el 25 y el 30% de todos los ‘supernodos’ disponibles públicamente, que también fallaron como resultado del problema.

De este modo, “aunque el equipo de Skype respondió de forma rápida para deshabilitar los servidores saturados y eliminar las peticiones que los clientes hacían a ellos, un número significante de ‘supernodos’ ya había fallado”.

“Una vez que un ‘supernodo’ ha fallado, incluso cuando se reinicia, necesita cierto tiempo hasta que vuelve a estar disponible como un recurso para una red P2P de nuevo”, continúa Rabbe. Por ello, al haber entre un 25 y un 30% menos de ‘supernodos’ disponibles, los que sí estaban disponibles recibieron una carga de trabajo “desporporcionada”.

Además, al haber un gran número de clientes reiniciando cuando se dio el problema, se aumentó la carga cuando se reconectaban a la ‘nube’ P2P. A esto se le unió el hecho de que la ‘caída’ inicial se dio justo antes de la ‘hora punta’ diaria, por lo que el tráfico en los ‘supernodos’ era “alrededor de 100 veces” el que se espera normalmente a esa hora del día.

Los ‘supernodos’ tienen un mecanismo que les hace protegerse para evitar un impacto adverso en los sistemas que los hospedan cuando los parámetros no están dentro de los rangos esperados. Al excederse algunos de estos parámetros, más ‘supernodos’ comenzaron a desactivarse, lo que, a su vez, aumentó la carga en los disponibles causando una reacción en cadena que llevó a la ‘caída’ casi completa del sistema.

Para solucionar el problema, la compañía introdujo cientos de ‘mega-supernodos’ dentro de la red P2P para acelerar la recuperación de la red. Además, se utilizaron recursos que normalmente están destinados a la función de videollamada en grupo, por lo que esta función tuvo que ser desactivada.

Rabbe también explicó que, para evitar que esto vuelva a ocurrir, examinarán su ‘software’ para encontrar posibles fallos como el que causó esta ‘caída’. Además, analizarán su programa de pruebas para buscar mejores formas de encontrar problemas y evitar fallos que puedan afectar al sistema.

Regresar a LogicOnline

Anuncios

A %d blogueros les gusta esto: