1 00:00:00,120 --> 00:00:07,950 Internet: Paquetes, enrutamiento y confiabilidad 2 00:00:07,950 --> 00:00:13,650 Hola, soy Lynn, ingeniera de software en Spotify y la primera en admitir 3 00:00:13,650 --> 00:00:18,970 que suelo dar por sentada la fiabilidad de Internet. La cantidad de información 4 00:00:18,970 --> 00:00:23,170 que hay Internet es asombrosa. Pero, ¿cómo es posible que cada dato 5 00:00:23,170 --> 00:00:29,080 se envíe de forma fiable? Digamos que quieres reproducir una canción de Spotify. 6 00:00:29,080 --> 00:00:33,989 Es como si la computadora se conectase directo a los servidores y Spotify enviase 7 00:00:33,989 --> 00:00:39,410 la canción directamente. En realidad, no es así como funciona Internet. Si 8 00:00:39,410 --> 00:00:43,640 estuviese hecha de conexiones directas, sería imposible que todo funcionase para 9 00:00:43,640 --> 00:00:48,050 millones de usuarios a la vez. Sobre todo, porque no hay garantía de que cada cable 10 00:00:48,050 --> 00:00:53,350 y computadora funcionen al mismo tiempo. Los datos viajan por Internet de manera 11 00:00:53,350 --> 00:01:01,210 menos directa. Hace muchos años, a inicios de los 70, mi socio Bob Khan y yo 12 00:01:01,210 --> 00:01:06,870 comenzamos a trabajar en el diseño de Internet. Teníamos la responsabilidad 13 00:01:06,870 --> 00:01:14,790 y la oportunidad de diseñar sus protocolos y arquitectura. Así que seguimos siendo 14 00:01:14,790 --> 00:01:20,000 parte del crecimiento y la evolución de Internet desde aquel momento, 15 00:01:20,000 --> 00:01:25,500 hasta el presente. La forma en que la información va de una computadora a otra 16 00:01:25,500 --> 00:01:30,900 es muy interesante. No necesita seguir un camino fijo. De hecho, tu camino puede 17 00:01:30,900 --> 00:01:36,100 en el medio de una conversación entre computadoras. La información en Internet 18 00:01:36,100 --> 00:01:42,050 va como paquete de una computadora a otra, y ese paquete viaja de un lugar 19 00:01:42,050 --> 00:01:46,360 a otro en Internet, como si uno fuese de un lugar a otro en un automóvil. 20 00:01:46,360 --> 00:01:51,420 Si hay mucho tráfico o el camino está mal, puedes elegir o verte obligado a tomar 21 00:01:51,420 --> 00:01:59,000 un camino diferente para llegar al mismo lugar cada vez que viajas. Y así como 22 00:01:59,000 --> 00:02:03,980 puedes llevar todo tipo de cosas dentro de un auto, se pueden enviar muchos tipos de 23 00:02:03,980 --> 00:02:10,359 información digital con paquetes. Pero hay algunos límites. Por ejemplo, si tienes 24 00:02:10,359 --> 00:02:14,200 que mover un transbordador espacial desde donde fue construido a donde se lanzará, 25 00:02:14,200 --> 00:02:18,780 el vehículo no cabrá en un camión, por lo que debes dividirlo y transportarlo en 26 00:02:18,780 --> 00:02:23,099 varios camiones, que podrían tomar distintos caminos y llegar a destino en 27 00:02:23,099 --> 00:02:28,109 diferentes momentos. Una vez allí, puedes reunir las piezas, armar el transbordador 28 00:02:28,109 --> 00:02:34,329 y prepararlo para el lanzamiento. En Internet, los detalles son parecidos. Si 29 00:02:34,329 --> 00:02:40,090 tienes una imagen muy grande que quieres enviar a un amigo o subir a un sitio web, 30 00:02:40,090 --> 00:02:44,819 esa imagen puede estar hecha de decenas de millones de bits de 1 y 0, demasiados para 31 00:02:44,819 --> 00:02:49,810 enviar un solo paquete. Como están en una computadora, la imagen se divide 32 00:02:49,810 --> 00:02:55,719 en cientos o miles de partes más pequeñas llamadas paquetes. A diferencia de los 33 00:02:55,719 --> 00:03:00,230 autos o camiones, estos paquetes no tienen conductores que eligen sus rutas. Cada 34 00:03:00,230 --> 00:03:04,650 paquete tiene la dirección de Internet de origen y hacia dónde va. Las computadoras 35 00:03:04,650 --> 00:03:09,430 en Internet, llamadas enrutadores, son los que dirigen el tráfico para que los 36 00:03:09,430 --> 00:03:15,239 paquetes se muevan en las redes. Si una ruta se congestiona, los paquetes toman 37 00:03:15,239 --> 00:03:20,370 otras rutas en Internet y llegan a destino en momentos un poco diferentes o 38 00:03:20,370 --> 00:03:26,569 pueden quedar fuera de servicio. Hablemos sobre esto. Como parte del protocolo, 39 00:03:26,569 --> 00:03:31,169 cada enrutador registra las diversas rutas de envío de los paquetes, y elige la menos 40 00:03:31,169 --> 00:03:37,079 costosa para cada dato según la dirección IP de destino para el paquete. 41 00:03:37,079 --> 00:03:42,120 Pero no tiene que ver con el costo, sino con el tiempo y factores no técnicos, como 42 00:03:42,120 --> 00:03:47,499 política y relaciones entre empresas. La mejor ruta para los datos no siempre es 43 00:03:47,499 --> 00:03:53,150 la más directa. Al tener opciones de rutas la red puede manejar las fallas. Así, 44 00:03:53,150 --> 00:03:57,700 la red puede enviar paquetes aunque algo salga muy, muy mal. 45 00:03:57,700 --> 00:04:04,849 Esta es la base para el principio clave de Internet: la fiabilidad. Ahora, ¿qué 46 00:04:04,849 --> 00:04:09,349 pasa si pediste datos y no todo llegó? Digamos que quieres escuchar una canción. 47 00:04:09,349 --> 00:04:14,829 ¿Cómo puedes estar 100% seguro de que los datos se enviarán y la canción sonará? 48 00:04:14,829 --> 00:04:21,440 Te presentamos al protocolo de control de transmisiones, TCP, tu nuevo amigo. 49 00:04:21,440 --> 00:04:26,530 TCP maneja el envío y recepción de datos como paquetes, como un servicio de correo. 50 00:04:26,530 --> 00:04:31,669 Si quieres una canción en tu dispositivo, Spotify la envía como muchos paquetes. 51 00:04:31,669 --> 00:04:37,210 Cuando llegan, el TCP hace un inventario completo y envía confirmaciones 52 00:04:37,210 --> 00:04:42,840 de cada paquete recibido. Si todos están allí, el TCP firma tu entrega y listo. 53 00:04:42,840 --> 00:04:54,819 (canción) Si el TCP no encuentra algunos paquetes, no firmará, y tu canción 54 00:04:54,819 --> 00:04:59,930 no sonará como debe o faltarán algunas partes. Spotify reenviará cada paquete 55 00:04:59,930 --> 00:05:05,930 perdido o incompleto. Una vez que el TCP verifica la entrega de muchos paquetes 56 00:05:05,930 --> 00:05:13,370 para la canción que pediste, esta empezará a sonar. Lo genial del TCP y los sistemas 57 00:05:13,370 --> 00:05:19,220 de enrutadores es que son escalables. Pueden funcionar con 8 u 8 millones de 58 00:05:19,220 --> 00:05:23,449 dispositivos. Gracias a la tolerancia de fallas y la redundancia, cuantos más 59 00:05:23,449 --> 00:05:28,069 enrutadores haya, más confiable será Internet. Además, lo genial es que puede 60 00:05:28,069 --> 00:05:34,379 crecer sin interrumpir el servicio. Internet está hecha de cientos de miles 61 00:05:34,379 --> 00:05:39,280 de redes y miles de millones de computadoras y dispositivos conectados 62 00:05:39,280 --> 00:05:44,360 físicamente. Estos sistemas se conectan, comunican y funcionan entre sí según 63 00:05:44,360 --> 00:05:51,289 estándares comunes sobre cómo se envían los datos a través de Internet. 64 00:05:51,289 --> 00:05:56,000 Los dispositivos, o los enrutadores en Internet, ayudan a los paquetes a llegar 65 00:05:56,000 --> 00:06:02,789 a destino, donde son reensamblados, si es necesario. Esto ocurre miles de millones 66 00:06:02,789 --> 00:06:08,889 de veces al día, cuando envías un email, visitas una página web, hablas por video 67 00:06:08,889 --> 00:06:13,870 o usas una app móvil, o cuando los sensores o dispositivos en Internet 68 00:06:13,870 --> 00:06:14,910 hablan entre sí.