0:00:00.120,0:00:07.950 [contagem regressiva e música 7, 6, 5, 4, 3, 2, 1] Pacotes da Internet, Roteamento e Confiabilidade 0:00:07.950,0:00:13.650 Olá, meu nome é Lynn. Sou [br]engenheira de software aqui na Spotify e sou a primeira a admitir 0:00:13.650,0:00:18.970 que muitas vezes menosprezo a confiabilidade da internet. O volume extremo de informações 0:00:18.970,0:00:23.170 que circulam pela internet é impressionante. Mas como é possível entregar todos esses 0:00:23.170,0:00:29.080 dados ao usuário de forma confiável? Digamos que você queira ouvir uma música no Spotify. É como 0:00:29.080,0:00:33.989 se o seu computador se conectasse diretamente aos servidores do Spotify, que enviariam uma música por 0:00:33.989,0:00:39.410 uma linha direta e dedicada. Mas na verdade, não é assim que a internet funciona. Se a internet 0:00:39.410,0:00:43.640 fosse feita de conexões diretas [br]e dedicadas, seria impossível [br]manter as coisas funcionando, 0:00:43.640,0:00:48.050 com milhões de usuários conectados. Particularmente, porque não há [br]garantia de que todos os cabos e 0:00:48.050,0:00:52.350 computadores estejam funcionando o tempo todo. O que ocorre é que os dados viajam pela internet de forma 0:00:52.350,0:00:53.350 muito menos direta. Há muitos e muitos anos, no no início dos anos 1970, eu e meu parceiro Bob Kahn começamos a 0:00:53.350,0:01:01.210 trabalhar no projeto do que chamamos hoje de internet. Eu e o Bob tínhamos a responsabilidade 0:01:01.210,0:01:06.870 e a oportunidade de projetar os protocolos [br]e a arquitetura da internet. Então, persistimos 0:01:06.870,0:01:14.790 na nossa participação no crescimento e na e evolução da internet por todo esse tempo e continuamos até hoje 0:01:14.790,0:01:20.000 A forma como as informações são transferidas de um computador para 0:01:20.000,0:01:25.500 outro é bastante interessante. Não é preciso seguir um percurso fixo. Na verdade, o percurso pode mudar 0:01:25.500,0:01:30.900 no meio de uma troca de dados entre computadores. As informações na internet passam de um 0:01:30.900,0:01:36.100 computador para o outro no que chamamos de pacotes de informações, e os pacotes viajam de um 0:01:36.100,0:01:42.050 lugar para outro na internet de forma semelhante ao deslocamento de um carro de um ponto a outro 0:01:42.050,0:01:46.360 Conforme o engarrafamento ou as condições da via, você pode escolher uma rota alternativa 0:01:46.360,0:01:51.420 por opção ou por obrigação, para chegar ao mesmo lugar, toda vez que você viajar. E da mesma forma 0:01:51.420,0:01:59.000 que você pode transportar todo tipo de carga no seu carro, muitos tipos de informações digitais podem 0:01:59.000,0:02:03.980 ser enviados em pacotes IP, mas há um certo limite. E se, por exemplo, você precisar transportar uma 0:02:03.980,0:02:10.359 nave espacial da fábrica para o local do lançamento. A nave não 0:02:10.359,0:02:14.200 caberia em um caminhão. Portanto, será preciso enviá-la em vários pedaços, transportados por uma frota 0:02:14.200,0:02:18.780 de caminhões. Os caminhões podem tomar caminhos diferentes e podem chegar ao destino em horários 0:02:18.780,0:02:23.099 diferentes. Mas quando todas as peças tiverem chegado, você pode remontar 0:02:23.099,0:02:28.109 a nave e ela estará pronta para o lançamento. Na internet, o dados funcionam da mesma forma. 0:02:28.109,0:02:34.329 Se você tiver uma imagem muito grande que quiser enviar para um amigo ou para um site, 0:02:34.329,0:02:40.090 essa imagem pode ser subdividida em milhões de bits de 1s e 0s, que não cabem em um único pacote. 0:02:40.090,0:02:44.819 Como são dados em um computador, o computador que enviar a imagem pode desmembrá-la rapidamente em 0:02:44.819,0:02:49.810 centenas ou até milhares de partes menores, conhecidas como pacotes. Ao contrário dos carros 0:02:49.810,0:02:55.719 ou caminhões, esses pacotes não tem motoristas e não escolhem sua rota. 0:02:55.719,0:03:00.230 Cada pacote tem um endereço de internet do ponto de origem e do destino. Computadores especiais 0:03:00.230,0:03:04.650 na internet, conhecidos como rotea-dores, atuam como guardas de trânsito e mantém os pacotes em movimento 0:03:04.650,0:03:09.430 pelas redes, sem contratempos. Se um rota estiver congestionada, pacotes individuais podem seguir rotas 0:03:09.430,0:03:15.239 diferentes pela internet, e podem chegar ao destino em horários ligeiramente diferentes 0:03:15.239,0:03:20.370 ou até fora de ordem. Vamos falar sobre como funciona essa transferência. Como parte do protocolo de internet, 0:03:20.370,0:03:26.569 todo roteador monitora os diversos percursos de envio dos pacotes, e escolhe o mais viável 0:03:26.569,0:03:31.169 disponível para cada dado, conforme o endereço IP do destino do pacote. 0:03:31.169,0:03:37.079 O mais viável, no caso, é o que permite o menor tempo e fatores não técnicos, como políticas e relacionamentos 0:03:37.079,0:03:42.120 entre empresas. Muitas vezes a melhor rota para os dados não é necessariamente a mais direta 0:03:42.120,0:03:47.499 As opções de percursos garantem a tolerância da rede a falhas. Isto significa 0:03:47.499,0:03:53.150 que a rede pode continuar enviando pacote, mesmo se algo terrível, desastroso, acontecer. 0:03:53.150,0:03:57.700 Esta é a base para um princípio-chave da confiabilidade da internet. [br]Mas e se você quiser 0:03:57.700,0:04:04.849 solicitar dados e não receber o [br]pacote completo? Digamos que [br]você queira ouvir uma música. 0:04:04.849,0:04:09.349 Como pode pode ter a certeza de que os dados serão entregues para que a música toque com perfeição? 0:04:09.349,0:04:14.829 Conheça seu novo melhor amigo: o TCP (protocolo de controle de transmissão). O TCP gerencia o envio 0:04:14.829,0:04:21.440 e o recebimento de todos os dados na forma de pacotes. Pense nele como um serviço de correios com garantia. 0:04:21.440,0:04:25.530 Quando você solicita uma música no seu dispositivo, o Spotify envia um música desmembrara em muitos 0:04:25.530,0:04:26.530 pacotes. Quando seu pacote chegar, o TCP gera um inventário completo e envia o reconhecimento de cada pacote 0:04:26.530,0:04:31.669 recebido ao remetente. Se todos os pacotes estiverem lá, o TCP assina a entrega e o processo está 0:04:31.669,0:04:37.210 concluído. [música tocando] Se o TCP contatar que algum pacote está faltando, ele não assina, ou sua 0:04:37.210,0:04:42.840 música terá problemas de som trechos incompletos. Para cada pacote faltante 0:04:42.840,0:04:54.819 ou incompleto, o Spotify os reenvia. Uma vez confirmada a entrega pelo TCP de todos os pacotes 0:04:54.819,0:04:59.930 conforme a música solicitada, a reprodução se inicia ao final de entrega. O melhor do TCP 0:04:59.930,0:05:05.930 e dos sistemas roteadores é que são escalonáveis. Eles funcionam tanto com 8 quanto com 8 bilhões de dispositivos. 0:05:05.930,0:05:13.370 Na verdade, devido a esses princípios de tolerância a falhas e redundâncias, quanto mais roteadores adicionarmos, 0:05:13.370,0:05:19.220 mais confiável se torna a internet. [br]E é ótimo saber que podemos [br]crescer em escala na internet, 0:05:19.220,0:05:23.449 sem interromper o serviço para qualquer usuário. A internet é feita de centenas de milhares 0:05:23.449,0:05:28.069 de redes e bilhões de computadores e dispositivos conectados fisicamente. Esses diferentes 0:05:28.069,0:05:34.379 sistemas que formam a internet se conectam uns aos outros e se comunicam uns com os outros, 0:05:34.379,0:05:39.280 e trabalham juntos, graças aos padrões acordados sobre como os dados são enviados pela internet. 0:05:39.280,0:05:44.360 Dispositivos de computação ou roteadores pela internet permitem que todos os pacotes cheguem ao 0:05:44.360,0:05:51.289 destino, onde são remontados, se necessário, na ordem correta. Isto acontece bilhões 0:05:51.289,0:05:56.000 de vezes por dia, não importa se as pessoas estão enviando e-mails, visitando sites na internet, 0:05:56.000,0:06:02.789 batendo papo, usando um aplicativo móvel, ou quando sensores ou dispositivos na internet se comunicam 0:06:02.789,0:06:08.889 entre si.