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í.