En este post vamos a intentar ilustrar qué es un sistema Autónomo (AS) y cuál es su papel e importancia en el mundo de las redes.
Internet nace, a grandes rasgos, de la necesidad de intercambiar y acceder a datos desde cualquier parte de un territorio de forma segura. Recordad que este concepto tiene origen en un entorno militar donde se quiso crear un entorno seguro con varios nodos de manera que si uno de ellos quedase comprometido la red siguiera funcionando correctamente y los datos no perecieran.
La introducción del protocolo IP a nuestras vidas hizo que se empezara a tener un poco de conciencia de lo que se estaba haciendo y por lo tanto se empezara a tener la necesidad de organizar un poco las cosas.
Para ello nacen organismos (IANA) que gestionan la asignación de IPs, como ya se ha contado en la serie de podcasts “Agotamiento IPV4”. Y lo mismo para la asignación de los Sistemas Autónomos.
Un Sistema Autónomo (AS en sus siglas en inglés) se define como una entidad que posee un conjunto de redes IP y posee también una política de rutas propia asociadas a sus redes y a las redes de otros AS.
¿Por qué surge esta necesidad?
Pongamos que tengo un servidor con contenido que quiero compartir. A niveles muy básicos (sin internet, routers o switches de por medio) si yo quisiera que todo el mundo consumiera mi contenido, necesitaría que se conectaran con un cable (o con un Pendrive USB para copiarse el contenido y verlo después en su máquina) a mi ordenador. Eso implica varios cables/dispositivos conectados a mi máquina desde diferentes usuarios:
Esto… es inviable y menos si los usuarios están lejos de mi.
Pongamos ahora que tenemos más gente con contenido (más servidores) que quieren compartir y tenemos que usar varios cables para conectarnos al que nos guste, de manera que nos quedaría un esquema tal como este:
Pero volvemos a lo mismo… físicamente es imposible y mucho menos a gran escala. No obstante, pensad que esa manera de trabajar fue el nacimiento de internet, usando una red totalmente conmutada como la del teléfono tradicional. Fue más tarde cuando se creó el protocolo TCP/IP el cual no detallaremos en este post, pero que ayudó a centralizar la información y que esta viajara de forma eficiente a través de las máquinas que se interconectaban entre sí. De esta manera, no necesitábamos una conexión de “todos con todos” para acceder a todo el contenido disponible.
Y ya no solo eso, sino, ahora me pregunto… ¿Cómo hago para que la gente (servidores/distribuidores) con contenido tengan visibilidad entre ellos? Ya que si tienen contenido y servicios, seguramente quieran consumirlo en sus propias plataformas de otros servidores de contenido también.
Pues bien, el primer paso será asignar un número a cada elemento de la red, a cada elemento que quiera consumir o generar contenido dentro de la red. Ese “número” será la dirección IP.
Luego, cada elemento de la red debería saber qué número tienen asignados todos los demás elementos para saber a quién preguntar por un contenido concreto, esto se supone que lo sabemos (ahora os digo como), lo que no sabemos tan «fácilmente» es qué camino tomar para llegar, es decir hacia dónde enviar nuestra petición para que nos envíen el contenido que queremos.
Es por eso que nacen unas entidades capaz de centralizar y gestionar toda esa información:
Como véis en la foto anterior, el proveedor de tránsito/tráfico (la nube azul) conoce donde están todos los elementos de la red y cómo llegar a ellos ya que todos están conectados a él. De manera que cuando un usuario (4, 5 o 6) quiera un contenido concreto (1, 2 o 3), el proveedor sabrá hacia dónde dirigir el tráfico.
Además, el proveedor consigue centralizar las conexiones de manera que un usuario o un servidor de contenido solo necesita un “cable” para conectarse a la red. Con ese cable, el proveedor conoce donde están todos los elementos de la red pero para conocer qué caminos nos llevan a cada uno del contenido de cada elemento necesitamos que nos anuncie las «rutas» para llegar a todo su contenido mediante por ejemplo con BGP.
No obstante hoy en día no existe un único proveedor de tránsito, sino que hay muchos y cada uno de ellos tiene su propio bloque de IPs, de manera que, cada proveedor conoce una parte de red y se interconectan a su vez entre ellos para anunciarse mutuamente esas redes y conocer la red en su mayor totalidad, todo esto es un poco mas complejo pero quiero simplificar mucho para que todo el mundo lo entienda.
Además, existen diferentes niveles de proveedores. Es decir, aquellos que conectan usuarios finales (Proveedores de Servicio) como pueden ser Telefónica, ONO/Vodafone, Jazztel/Orange etc. y los que conectan Proveedores de Servicio (Proveedores de tráfico/tránsito) como puede ser GTT, NTT, Cogent, etc.
Pues bien, cada uno de ellos (proveedores de servicio y proveedores de tránsito/tráfico) es un AS diferente, que tiene asignado un número (ASN) de 16 o 32 bits que sirve entre otras cosas para identificarse y poder realizar conexiones BGP entre ellos para poder intercambiarse las IPs de otros proveedores y conocer así la mayor parte de la red posible. Además cada ASN debe ser único, ninguna entidad puede tener el mismo número de AS, obteniendo un esquema similar a este:
Como hemos dicho las conexiones entre ellos se hacen mediante BGP y dicho protocolo queda explicado en detalle en el Curso de BGP que hemos realizado y esperamos os resulte muy interesante.
No obstante y como podéis observar en la última imagen, un ejemplo muy básico sería ese, donde proveedores de tráfico y proveedores de servicio se conectan entre sí para dar servicio a los usuarios finales.
Finalmente, comentar que también existen unas entidades llamadas “Puntos Neutros” que proveen tránsito (y no tráfico) y que complementan la visibilidad de la red. Por decirlo de alguna manera, gracias a ellos la calidad de internet aumenta. En otro post veremos porqué y cómo lo hace.