Suscriptor digital

Internet pegó el estirón y ahora está en apuros

Ariel Torres
(0)
30 de agosto de 2014  

Fuente: AP

Hace 5 años y medio un proveedor de Internet checo metió la pata y dejó a casi todo el planeta sin conexión a la Red durante una hora. No parece mucho, pero una hora offline equivale a millones de dólares en pérdidas.

Los únicos países que se salvaron fueron la Argentina, India, Kazakhstán, Sudáfrica, Turquía y un par más. Fue un buen susto y una gran lección que trajo a la luz uno de los mecanismos más ocultos y a la vez más vitales de la red de redes: el protocolo de ruteo externo o BGP, por Border Gateway Protocol.

Suena más complicado de lo que es. En Internet todo lo que importa es que los paquetes de datos lleguen de un punto a otro. Para eso necesitan conocer las rutas disponibles. Cada proveedor de Internet, cada universidad, cada laboratorio y, en general, cada organización que administra de forma independiente sus rutas (se los conoce como sistemas autónomos) debe difundir tus tablas de rutas mediante el protocolo de ruteo externo.

Para no atragantarnos con el desayuno, simplifiquemos un poco: que Internet funcione depende de que cada sistema autónomo intercambie con los demás sus tablas de rutas. Eso es todo. Los paquetes de datos necesitan saber por dónde encaminarse para que puedas ver una página Web, chatear, mandar un mail o hablar por Skype. De eso se ocupan los routers, basándose en las tablas de rutas. Es como el GPS de los paquetes de datos.

Funciona muy bien, pero en 2009 quedó en evidencia uno de sus puntos débiles del BGP. Un operador checo difundió una tabla de rutas mal compuesta, un error tonto que, sin embargo, causó un efecto de dominó y trajo consecuencias muy serias.

Ahora, el BGP está otra vez en la picota. A medida que Internet crece, la cantidad de rutas aumenta. Y adivinen qué. Exacto, por todos lados existen límites de hardware y software. Internet no está exenta de esta ley de la vida.

Nada fabricado por el hombre puede ser infinito, así que los límites son inevitables. Pero hemos tenido amargas y en ocasiones tragicómicas experiencias con ellos. Hay una frase, a menudo atribuida a Bill Gates, pero cuya autoría está en discusión, que es célebre en el ambiente informático: "640 kilobytes de memoria RAM deberían ser suficientes para todos". Pues bien, hoy una computadora promedio tiene más de 6000 veces esa cantidad de RAM. Y es poco para ciertas aplicaciones. Puesto en términos más cotidianos, es como haberte comprado un departamento de 100 metros cuadrados en 1981 y encontrarte hoy necesitando uno de 600.000 metros cuadrados como mínimo. Eso es 10 veces el Louvre. O 78 canchas de fútbol. La buena noticia es que te costaría 13 centavos de dólar.

Otro límite que dio que hablar. Hace 14 años, el que se usaran sólo dos dígitos para el año en muchos antiguos sistemas informáticos nos regaló el célebre Bug del 2000 o Y2K. Al principio me costó creer que algo así fuera real, así que le pedí a IBM que me mostrara ejemplos de código fuente afectado. Y allí estaba. Clarito e ineluctable. Para esas funciones en particular el año 2000 iba a ser idéntico a 1900. En 2038, aunque por razones diferentes, podríamos enfrentarnos a otra crisis como la del Y2K.

Un límite que trajo, trae y seguirá trayendo inconvenientes es el del espacio para direcciones del Protocolo de Internet versión 4 (o IPv4). Ese espacio es de 32 bits, lo que significa que se pueden crear algo más de 4200 millones de direcciones únicas de Internet. En su momento, cuando la Red era un experimento académico, parecía muchísimo. Pero ahora, con 3000 millones de personas conectadas, 2500 millones de PC, más de 1000 millones de sitios, unos 2000 millones de smartphones, más la muy mentada Internet de las cosas (esto es, semáforos, cámaras de seguridad, lavarropas, lamparitas y heladeras online, entre otras), el IPv4 está más que agotado. No obstante, y como se verá enseguida, el que se lo siga explotando (en lugar de implementar la nueva versión, IPv6) empeora la crisis con la que Internet se topó la semana última.

Entra en escena el límite de los 512K (por 512.000). Ésa es la cantidad de rutas que se pueden almacenar en la memoria algunos antiguos ruteadores y switches que todavía siguen operando. En rigor el número real es 524.288 (2 elevado a la 19), pero 512K tiene más punch.

Como suele ocurrir con los límites, al principio parecen lejanos. Que la Red alcanzara más de medio millón de rutas parecía algo muy difícil en el mediano plazo. Pero fue lo empezó a ocurrir hace unos 15 días. Por primera vez, Internet superó las 512.000 rutas y los dispositivos afectados por el límite de los 512K no supieron qué hacer con esa situación. Como toda vez que el BGP tiene problemas, la conectividad se volvió inestable y hubo sitios a los que no se podía llegar (como el del administrador de contraseñas LastPass y el de comercio electrónico eBay). Duró poco y sus consecuencias fueron menores. En la Argentina prácticamente no se sintió.

La razón de este límite es simple: la memoria donde se almacenan las rutas debe ser por fuerza muy rápida, porque un router procesa millones de paquetes en un pestañeo. Pues bien, esa clase de memoria es muy cara, y lo era mucho más hace algunos años. Por lo tanto, se instalaba en los equipos un monto razonable para el tamaño de las tablas de rutas de la época.

Pero Internet no va a dejar de crecer porque todavía existan routers algo seniles por ahí. Más aún, la adhesión a IPv4 está haciendo que la cantidad de rutas crezca más rápido de lo esperado y más rápido de lo que lo haría si se usara IPv6, que por su diseño reduce el tamaño de las tablas de rutas. Así que hablé por teléfono con Hernán Contreras, Consulting Systems Engineer de Cisco, uno de los principales fabricantes de routers y switches, para que me explique qué es lo que está pasando y cuáles pueden ser las verdaderas consecuencias.

"Toda la información que viaja por Internet –me dijo– va en paquetes, en cuya cabecera está la dirección IP del destino. Por ejemplo, cuando querés conectarte con Google, lo primero que hace tu computadora es averiguar la dirección IP de Google, por medio de lo que se llaman servidores de DNS. Si bien la gente se conecta a sitios Web con nombres, en realidad los equipos van a servidores que tienen direcciones numéricas, números IP. Así, la computadora arma el paquete con la dirección de destino, y también le coloca la dirección de origen, es decir, la de tu máquina. Y se lo envía a tu proveedor de servicio de conexión. Cuando tu proveedor lo recibe, debe ver cómo encaminar ese paquete hasta Google. Obviamente, la ruta que tomará el paquete va a depender del destino.

–¿Qué es una ruta?

–Es el siguiente router al que debe ir el paquete. Ese segundo router le dirá a cuál ir a continuación, y así. Originalmente, eran rutas estáticas, entradas manuales en los routers. A medida que Internet empezó a crecer, es decir, cuando comenzó a aumentar el número de direcciones de destino, este mecanismo dejó de ser adecuado. Además, si fallaba algo en la red, las rutas seguían apuntando a un lugar que no existía. Así que se inventaron los protocolos de ruteo dinámicos, que funcionan así: yo te digo a vos a qué destinos IP llego y vos me decís a mí a qué destinos llegás. BGP es uno de esos protocolos, diseñado para intercambiar información de ruteo entre sistemas autónomos.

–¿Qué es un sistema autónomo?

–Es un conjunto de routers administrados bajo un mismo dominio. La Internet está basada en que esta información de alcanzabilidad esté siempre disponible. En el fondo significa que vos recibís la lista de los prefijos que podés alcanzar cuando te conectás a Estados Unidos, Chile, Brasil, etcétera. Reunís esa información (hay muchos prefijos que están duplicados) y tomás la decisión de cuál es la ruta óptima; el protocolo de Internet te ofrece atributos para tomar esa decisión. Para volver al ejemplo anterior, lo que obtenés en una sesión BGP es el listado de sistemas autónomos que hay entre vos y Google. En principio, si por una ruta tengo que pasar por menos sistemas autónomos, entonces es mejor que aquella que me impone más sistemas autónomos intermedios.

–¿Cuál es el problema de los 512K?

–Como Internet ha ido creciendo, cada vez hay más dispositivos, cada vez hay más direcciones IP ocupadas. Hay cada vez más prefijos. Los prefijos representan un número de dispositivos cuyas direcciones IP empiezan con los mismos números. Por ejemplo, los servidores de DNS públicos de Google tienen la dirección 8.8.8.8, la información de alcanzabilidad que recibís es cómo llegar a todas las direcciones que empiezan con 8.8.8. Eso es un prefijo IP, que puede ser más o menos largo, tener más o menos bits, de acuerdo a cuantos números contenga. Hoy las tablas de un router de un proveedor de Internet pueden tener cientos de miles de esas entradas, con extensiones de entre 8 y 32 bits (el promedio es de 20 bits).

"En 1994 las tablas contenían unos 20.000 prefijos; 10 años después estábamos en 130.000 y en 2009 habíamos alcanzado los 300.000 prefijos. Ahora superamos el medio millón, una cifra que coincide más o menos con los límites que tenían algunas plataformas. Esos límites venían dados por hardware o por la configuración predeterminada del equipo. Creo que en muchos casos se debió que nunca pensamos que íbamos a llegar a este número.

–¿Cuál es impacto que estiman que tendrá este problema?

–Afortunadamente, estos límites aplican a plataformas más bien antiguas. Como el volumen de tráfico ha crecido tan brutalmente en los últimos años, la mayoría de los proveedores de Internet ha renovado su equipamiento. Las nuevas plataformas no tienen estos límites. Así que te diría que de los proveedores grandes probablemente muy pocos podrían verse afectados por esta condición. Más bien puede darse en ISP medianos y chicos. Estoy viendo ahora unas estadísticas que dicen que con el incidente de hace 15 días se vieron afectados 1400 sistemas autónomos, y eso es menos del 10% del total de sistemas autónomos.

–Es poco, ¿pero el problema en un sistema autónomo podría afectar a toda la ruta, puede producir un efecto de cascada?

–No necesariamente, porque la mayoría de los proveedores tienen un número de rutas a su disposición, se conectan con otros 2, 3 o 4 proveedores. En teoría, lo deseable, es que si un sistema autónomo se ve afectado, los paquetes tomen una ruta alternativa de forma dinámica. Podría ocurrir, sin embargo, que el router, por no poder manejar la tabla de rutas, empiece a descartar paquetes, pero que siga funcionando desde el punto de vista del protocolo BGP. En la mayoría de los routers que usan los ISP las áreas de control y de forwarding (los que leen los paquetes) están separadas, por lo tanto podría ocurrir algo así como que el cerebro sigue funcionando, pero no le dan las manos para pasar los paquetes. En ese caso, sí, podría haber un efecto en cadena, de hecho lo hubo, pero no causaría una catástrofe como en otros casos, donde la falla se produce en el nivel de BGP. Por ejemplo, que se difundan prefijos inválidos, como ocurrió en 2009, y eso sí que produce un efecto en cadena muy serio.

***

Nota del estribo para administradores de sistemas que necesitan discutir presupuestos con esos personajes que no saben nada de TCP/IP, no quieren saber nada de TCP/IP y hasta un poco desprecian a los ingenieros, confiados en que sus reclamos son "pavadas técnicas". En algunos de los routers y switches afectados se puede modificar la cantidad de memoria asignada a rutas IPv4. De forma predeterminada son 512 K, y otros 512 K para IPv6. Como la adopción de IPv6 viene lenta, en las series Catalyst 6500 y 7600 de Cisco es posible ampliar el espacio para IPv4 a expensas de IPv6. Hasta que autoricen el presupuesto para comprar un equipo nuevo, el truco puede salvar el día. Aquí el procedimiento: http://www.cisco.com/c/en/us/support/docs/switches/catalyst-6500-series-switches/117712-problemsolution-cat6500-00.html

ENVÍA TU COMENTARIO

Ver legales

Los comentarios publicados son de exclusiva responsabilidad de sus autores y las consecuencias derivadas de ellos pueden ser pasibles de sanciones legales. Aquel usuario que incluya en sus mensajes algún comentario violatorio del reglamento será eliminado e inhabilitado para volver a comentar. Enviar un comentario implica la aceptación del Reglamento.

Para poder comentar tenés que ingresar con tu usuario de LA NACION.

Usa gratis la aplicación de LA NACION, ¿Querés descargala?