-
Internet:
Paquetes, enrutamiento y confiabilidad
-
Hola, soy Lynn, ingeniera de software
en Spotify y la primera en admitir
-
que suelo dar por sentada la fiabilidad
de Internet. La cantidad de información
-
que hay Internet es asombrosa.
Pero, ¿cómo es posible que cada dato
-
se envíe de forma fiable? Digamos que
quieres reproducir una canción de Spotify.
-
Es como si la computadora se conectase
directo a los servidores y Spotify enviase
-
la canción directamente. En realidad,
no es así como funciona Internet. Si
-
estuviese hecha de conexiones directas,
sería imposible que todo funcionase para
-
millones de usuarios a la vez. Sobre todo,
porque no hay garantía de que cada cable
-
y computadora funcionen al mismo tiempo.
Los datos viajan por Internet de manera
-
menos directa. Hace muchos años, a inicios
de los 70, mi socio Bob Khan y yo
-
comenzamos a trabajar en el diseño de
Internet. Teníamos la responsabilidad
-
y la oportunidad de diseñar sus protocolos
y arquitectura. Así que seguimos siendo
-
parte del crecimiento y la evolución
de Internet desde aquel momento,
-
hasta el presente. La forma en que la
información va de una computadora a otra
-
es muy interesante. No necesita seguir un
camino fijo. De hecho, tu camino puede
-
en el medio de una conversación entre
computadoras. La información en Internet
-
va como paquete de una computadora a otra,
y ese paquete viaja de un lugar
-
a otro en Internet, como si uno fuese
de un lugar a otro en un automóvil.
-
Si hay mucho tráfico o el camino está mal,
puedes elegir o verte obligado a tomar
-
un camino diferente para llegar al mismo
lugar cada vez que viajas. Y así como
-
puedes llevar todo tipo de cosas dentro de
un auto, se pueden enviar muchos tipos de
-
información digital con paquetes. Pero hay
algunos límites. Por ejemplo, si tienes
-
que mover un transbordador espacial desde
donde fue construido a donde se lanzará,
-
el vehículo no cabrá en un camión, por lo
que debes dividirlo y transportarlo en
-
varios camiones, que podrían tomar
distintos caminos y llegar a destino en
-
diferentes momentos. Una vez allí, puedes
reunir las piezas, armar el transbordador
-
y prepararlo para el lanzamiento. En
Internet, los detalles son parecidos. Si
-
tienes una imagen muy grande que quieres
enviar a un amigo o subir a un sitio web,
-
esa imagen puede estar hecha de decenas de
millones de bits de 1 y 0, demasiados para
-
enviar un solo paquete. Como están en una
computadora, la imagen se divide
-
en cientos o miles de partes más pequeñas
llamadas paquetes. A diferencia de los
-
autos o camiones, estos paquetes no tienen
conductores que eligen sus rutas. Cada
-
paquete tiene la dirección de Internet de
origen y hacia dónde va. Las computadoras
-
en Internet, llamadas enrutadores, son
los que dirigen el tráfico para que los
-
paquetes se muevan en las redes. Si una
ruta se congestiona, los paquetes toman
-
otras rutas en Internet y llegan a destino
en momentos un poco diferentes o
-
pueden quedar fuera de servicio. Hablemos
sobre esto. Como parte del protocolo,
-
cada enrutador registra las diversas rutas
de envío de los paquetes, y elige la menos
-
costosa para cada dato según la dirección
IP de destino para el paquete.
-
Pero no tiene que ver con el costo, sino
con el tiempo y factores no técnicos, como
-
política y relaciones entre empresas. La
mejor ruta para los datos no siempre es
-
la más directa. Al tener opciones de rutas
la red puede manejar las fallas. Así,
-
la red puede enviar paquetes aunque algo
salga muy, muy mal.
-
Esta es la base para el principio clave
de Internet: la fiabilidad. Ahora, ¿qué
-
pasa si pediste datos y no todo llegó?
Digamos que quieres escuchar una canción.
-
¿Cómo puedes estar 100% seguro de que los
datos se enviarán y la canción sonará?
-
Te presentamos al protocolo de control
de transmisiones, TCP, tu nuevo amigo.
-
TCP maneja el envío y recepción de datos
como paquetes, como un servicio de correo.
-
Si quieres una canción en tu dispositivo,
Spotify la envía como muchos paquetes.
-
Cuando llegan, el TCP hace un inventario
completo y envía confirmaciones
-
de cada paquete recibido. Si todos están
allí, el TCP firma tu entrega y listo.
-
(canción) Si el TCP no encuentra algunos
paquetes, no firmará, y tu canción
-
no sonará como debe o faltarán algunas
partes. Spotify reenviará cada paquete
-
perdido o incompleto. Una vez que el TCP
verifica la entrega de muchos paquetes
-
para la canción que pediste, esta empezará
a sonar. Lo genial del TCP y los sistemas
-
de enrutadores es que son escalables.
Pueden funcionar con 8 u 8 millones de
-
dispositivos. Gracias a la tolerancia de
fallas y la redundancia, cuantos más
-
enrutadores haya, más confiable será
Internet. Además, lo genial es que puede
-
crecer sin interrumpir el servicio.
Internet está hecha de cientos de miles
-
de redes y miles de millones de
computadoras y dispositivos conectados
-
físicamente. Estos sistemas se conectan,
comunican y funcionan entre sí según
-
estándares comunes sobre cómo se envían
los datos a través de Internet.
-
Los dispositivos, o los enrutadores en
Internet, ayudan a los paquetes a llegar
-
a destino, donde son reensamblados, si es
necesario. Esto ocurre miles de millones
-
de veces al día, cuando envías un email,
visitas una página web, hablas por video
-
o usas una app móvil, o cuando los
sensores o dispositivos en Internet
-
hablan entre sí.