Dos 'bichos molestos' dejaron K.O. a Vodafone
La actuación coincidente y fortuita de dos bugs (literalmente, bicho molesto) residentes en el software de dos equipos distintos (STP y SDD) del sistema de señalización fueron los causantes del colapso de la red de Vodafone en España el pasado 20 de febrero entre las ocho de la mañana y las doce horas del mediodía, según se puede leer en el informe sobre este suceso que la filial de la multinacional británica remitió hace un par de semanas al Gobierno.
Cuando en una aplicación de software aparece un pequeño defecto subsanable que no afecta a su correcto funcionamiento, los técnicos hablan de la existencia de un bug. Ocurre a veces que, en circunstancias excepcionales, un bug puede 'armar la marimorena'. Y así ocurrió en la red de Vodafone el pasado 20-F.
Las redes de telefonía móvil digitales GSM son consideradas como las máquinas más sofisticadas y extensas que se hayan construido jamás. Junto a unos escasos hierros que soportan las antenas y los materiales plásticos y de silicio que componen las tripas de los equipos de conmutación celular, el auténtico cerebro, corazón y músculo de estos poderosos ingenios es un sofisticado entramado de programas de software que facilitan el diálogo entre todos los elementos que componen una red (incluidos, evidentemente, los teléfonos móviles).
Pero este diálogo automático no sólo se da en el interior de la red de un operador, sino que, a través de la itinerancia (roaming), se extiende al resto de las redes GSM que existen hoy en el mundo: más de 150.
Los expertos explican que 'cualquier software, por definición, es mejorable'. Reconocen con ello que los complejos algoritmos que componen los programas informáticos presentan siempre pequeñas disfunciones (bug), que 'no afectan a la eficacia de la aplicación, pero que, a pesar de ello, son sistemáticamente perseguidos y depurados'.
Para comprender cómo dos insignificantes bichos molestos pudieron dejar K.O. a una máquina tan moderna, es necesario conocer que cualquier red de telefonía móvil celular cuenta con un número amplio -según su cobertura territorial o poblacional- de equipos de conmutación celular desplegado a lo largo de la geografía. Estos equipos son los encargados de transportar los contenidos de voz y datos que los usuarios generan desde sus teléfonos móviles.
Por encima de este entramado y con la intención de que sirva de puente de mando para el encaminamiento razonable del ingente tráfico de contenidos que genera esta red, se sitúa una estructura denominada de señalización. Sus funciones principales son dos, que se implementan a través de la recepción de mensajes. La primera consiste en conocer dónde se encuentra cada teléfono móvil de la red propia y de las redes de competidores conectadas y, segundo, determinar cuál es la ruta más eficiente que debe seguir en cada momento una comunicación establecida.
En el caso de Vodafone en España los equipos principales de esta estructura de señalización son cuatro nodos (STP) situados en Valencia, Barcelona, Madrid y Sevilla. El sistema está diseñado de forma que los nodos trabajan asociados en parejas, con un nivel máximo de ocupación del 30%, de manera que, si uno de los nodos se cae, su compañero le toma el relevo y aún en esta situación quedará un colchón de capacidad del 40% para cumplir la función de ambos.
Programas
Es en el software de estos cuatro equipos, 'instalado y operativo' desde hace meses 'sin que se observara ningún problema', donde se escondía uno de los dos bichos molestos (bug), que tomaría contundente protagonismo en la mañana del 20-F.
Otro equipo relevante de la estructura de señalización son los 'equipos de optimización del camino' (SDD), que en el caso de la red de Vodafone son dos que dialogan con los cuatro nodos de señalización. En la mañana del 20 de febrero se había procedido a actualizar el software de estos equipos y la nueva versión del programa contenía el segundo bicho molesto protagonista del drama.
Para los técnicos de Vodafone la madrugada de autos les encontró precisamente ocupados en la tarea de actualizar el software de los equipos SDD, una tarea que se califica de 'rutinaria'. Poco antes de las ocho de la mañana se detectó una anomalía 'de impacto masivo' en el nodo de señalización de (STP) de Valencia, que, aunque tumbó este equipo, 'no dejó fuera de servicio la red'. De inmediato, se pusieron en marcha los dos planes de contingencia previstos para situaciones de máxima alerta.
Los técnicos volvieron a poner en marcha el nodo caído, aunque no lograron detectar cuál era la causa del problema. A las nueve de la mañana la situación se agravó con la caída de los nodos de Madrid y Sevilla, lo que llevó a la red a una situación de 'inestabilidad generalizada' que duró hasta las 12 del mediodía. En ese momento los técnicos lograron hacerse cargo de la situación, tras haber detectado cuál era el origen del problema.
Los problemas se mantuvieron por la tarde, pero ya fue como consecuencia de la saturación de la red.
Incapaz de tirar mensajes imprevistos
El desencadenante del colapso fue una disfunción en el software de los equipos SDD. La disfunción se detecta en ciertos mensajes que este equipo envía para informar a los nodos de señalización de la dirección de determinadas conexiones: el bug hacía que la dirección fuera incorrecta. El segundo paso hacia el colapso tiene lugar cuando los mensajes llegan al nodo STP. El correcto funcionamiento de estos nodos les obliga a desechar los 'mensajes imprevistos' que el equipo no está capacitado para entender. El bug de los nodos afectaba precisamente en la función de expulsión de mensajes inaceptables y en aquellas horas el sistema se mostró incapaz de excluirlos del sistema.Los técnicos explican que, en cualquier circunstancia, el enquistamiento de un mensaje causa el colapso de un equipo. El hundimiento en reiteradas ocasiones de los nodos el 20-F no se debió a un efecto dominó, sino a que la circunstancia de la combinación de los dos errores de software se presentó en distintas ocasiones en los cuatro nodos, antes de detectarlos y eliminarlos.