1 00:00:00,120 --> 00:00:07,950 [contagem regressiva e música 7, 6, 5, 4, 3, 2, 1] Pacotes da Internet, Roteamento e Confiabilidade 2 00:00:07,950 --> 00:00:13,650 Olá, meu nome é Lynn. Sou engenheira de software aqui na Spotify e sou a primeira a admitir 3 00:00:13,650 --> 00:00:18,970 que muitas vezes menosprezo a confiabilidade da internet. O volume extremo de informações 4 00:00:18,970 --> 00:00:23,170 que circulam pela internet é impressionante. Mas como é possível entregar todos esses 5 00:00:23,170 --> 00:00:29,080 dados ao usuário de forma confiável? Digamos que você queira ouvir uma música no Spotify. É como 6 00:00:29,080 --> 00:00:33,989 se o seu computador se conectasse diretamente aos servidores do Spotify, que enviariam uma música por 7 00:00:33,989 --> 00:00:39,410 uma linha direta e dedicada. Mas na verdade, não é assim que a internet funciona. Se a internet 8 00:00:39,410 --> 00:00:43,640 fosse feita de conexões diretas e dedicadas, seria impossível manter as coisas funcionando, 9 00:00:43,640 --> 00:00:48,050 com milhões de usuários conectados. Particularmente, porque não há garantia de que todos os cabos e 10 00:00:48,050 --> 00:00:52,350 computadores estejam funcionando o tempo todo. O que ocorre é que os dados viajam pela internet de forma 11 00:00:52,350 --> 00: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 12 00:00:53,350 --> 00:01:01,210 trabalhar no projeto do que chamamos hoje de internet. Eu e o Bob tínhamos a responsabilidade 13 00:01:01,210 --> 00:01:06,870 e a oportunidade de projetar os protocolos e a arquitetura da internet. Então, persistimos 14 00:01:06,870 --> 00:01:14,790 na nossa participação no crescimento e na e evolução da internet por todo esse tempo e continuamos até hoje 15 00:01:14,790 --> 00:01:20,000 A forma como as informações são transferidas de um computador para 16 00:01:20,000 --> 00:01:25,500 outro é bastante interessante. Não é preciso seguir um percurso fixo. Na verdade, o percurso pode mudar 17 00:01:25,500 --> 00:01:30,900 no meio de uma troca de dados entre computadores. As informações na internet passam de um 18 00:01:30,900 --> 00:01:36,100 computador para o outro no que chamamos de pacotes de informações, e os pacotes viajam de um 19 00:01:36,100 --> 00:01:42,050 lugar para outro na internet de forma semelhante ao deslocamento de um carro de um ponto a outro 20 00:01:42,050 --> 00:01:46,360 Conforme o engarrafamento ou as condições da via, você pode escolher uma rota alternativa 21 00:01:46,360 --> 00:01:51,420 por opção ou por obrigação, para chegar ao mesmo lugar, toda vez que você viajar. E da mesma forma 22 00:01:51,420 --> 00:01:59,000 que você pode transportar todo tipo de carga no seu carro, muitos tipos de informações digitais podem 23 00:01:59,000 --> 00:02:03,980 ser enviados em pacotes IP, mas há um certo limite. E se, por exemplo, você precisar transportar uma 24 00:02:03,980 --> 00:02:10,359 nave espacial da fábrica para o local do lançamento. A nave não 25 00:02:10,359 --> 00:02:14,200 caberia em um caminhão. Portanto, será preciso enviá-la em vários pedaços, transportados por uma frota 26 00:02:14,200 --> 00:02:18,780 de caminhões. Os caminhões podem tomar caminhos diferentes e podem chegar ao destino em horários 27 00:02:18,780 --> 00:02:23,099 diferentes. Mas quando todas as peças tiverem chegado, você pode remontar 28 00:02:23,099 --> 00:02:28,109 a nave e ela estará pronta para o lançamento. Na internet, o dados funcionam da mesma forma. 29 00:02:28,109 --> 00:02:34,329 Se você tiver uma imagem muito grande que quiser enviar para um amigo ou para um site, 30 00:02:34,329 --> 00: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. 31 00:02:40,090 --> 00:02:44,819 Como são dados em um computador, o computador que enviar a imagem pode desmembrá-la rapidamente em 32 00:02:44,819 --> 00:02:49,810 centenas ou até milhares de partes menores, conhecidas como pacotes. Ao contrário dos carros 33 00:02:49,810 --> 00:02:55,719 ou caminhões, esses pacotes não tem motoristas e não escolhem sua rota. 34 00:02:55,719 --> 00:03:00,230 Cada pacote tem um endereço de internet do ponto de origem e do destino. Computadores especiais 35 00:03:00,230 --> 00:03:04,650 na internet, conhecidos como rotea-dores, atuam como guardas de trânsito e mantém os pacotes em movimento 36 00:03:04,650 --> 00:03:09,430 pelas redes, sem contratempos. Se um rota estiver congestionada, pacotes individuais podem seguir rotas 37 00:03:09,430 --> 00:03:15,239 diferentes pela internet, e podem chegar ao destino em horários ligeiramente diferentes 38 00:03:15,239 --> 00:03:20,370 ou até fora de ordem. Vamos falar sobre como funciona essa transferência. Como parte do protocolo de internet, 39 00:03:20,370 --> 00:03:26,569 todo roteador monitora os diversos percursos de envio dos pacotes, e escolhe o mais viável 40 00:03:26,569 --> 00:03:31,169 disponível para cada dado, conforme o endereço IP do destino do pacote. 41 00:03:31,169 --> 00: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 42 00:03:37,079 --> 00:03:42,120 entre empresas. Muitas vezes a melhor rota para os dados não é necessariamente a mais direta 43 00:03:42,120 --> 00:03:47,499 As opções de percursos garantem a tolerância da rede a falhas. Isto significa 44 00:03:47,499 --> 00:03:53,150 que a rede pode continuar enviando pacote, mesmo se algo terrível, desastroso, acontecer. 45 00:03:53,150 --> 00:03:57,700 Esta é a base para um princípio-chave da confiabilidade da internet. Mas e se você quiser 46 00:03:57,700 --> 00:04:04,849 solicitar dados e não receber o pacote completo? Digamos que você queira ouvir uma música. 47 00:04:04,849 --> 00: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? 48 00:04:09,349 --> 00:04:14,829 Conheça seu novo melhor amigo: o TCP (protocolo de controle de transmissão). O TCP gerencia o envio 49 00:04:14,829 --> 00:04:21,440 e o recebimento de todos os dados na forma de pacotes. Pense nele como um serviço de correios com garantia. 50 00:04:21,440 --> 00:04:25,530 Quando você solicita uma música no seu dispositivo, o Spotify envia um música desmembrara em muitos 51 00:04:25,530 --> 00:04:26,530 pacotes. Quando seu pacote chegar, o TCP gera um inventário completo e envia o reconhecimento de cada pacote 52 00:04:26,530 --> 00:04:31,669 recebido ao remetente. Se todos os pacotes estiverem lá, o TCP assina a entrega e o processo está 53 00:04:31,669 --> 00:04:37,210 concluído. [música tocando] Se o TCP contatar que algum pacote está faltando, ele não assina, ou sua 54 00:04:37,210 --> 00:04:42,840 música terá problemas de som trechos incompletos. Para cada pacote faltante 55 00:04:42,840 --> 00:04:54,819 ou incompleto, o Spotify os reenvia. Uma vez confirmada a entrega pelo TCP de todos os pacotes 56 00:04:54,819 --> 00:04:59,930 conforme a música solicitada, a reprodução se inicia ao final de entrega. O melhor do TCP 57 00:04:59,930 --> 00:05:05,930 e dos sistemas roteadores é que são escalonáveis. Eles funcionam tanto com 8 quanto com 8 bilhões de dispositivos. 58 00:05:05,930 --> 00:05:13,370 Na verdade, devido a esses princípios de tolerância a falhas e redundâncias, quanto mais roteadores adicionarmos, 59 00:05:13,370 --> 00:05:19,220 mais confiável se torna a internet. E é ótimo saber que podemos crescer em escala na internet, 60 00:05:19,220 --> 00:05:23,449 sem interromper o serviço para qualquer usuário. A internet é feita de centenas de milhares 61 00:05:23,449 --> 00:05:28,069 de redes e bilhões de computadores e dispositivos conectados fisicamente. Esses diferentes 62 00:05:28,069 --> 00:05:34,379 sistemas que formam a internet se conectam uns aos outros e se comunicam uns com os outros, 63 00:05:34,379 --> 00:05:39,280 e trabalham juntos, graças aos padrões acordados sobre como os dados são enviados pela internet. 64 00:05:39,280 --> 00:05:44,360 Dispositivos de computação ou roteadores pela internet permitem que todos os pacotes cheguem ao 65 00:05:44,360 --> 00:05:51,289 destino, onde são remontados, se necessário, na ordem correta. Isto acontece bilhões 66 00:05:51,289 --> 00:05:56,000 de vezes por dia, não importa se as pessoas estão enviando e-mails, visitando sites na internet, 67 00:05:56,000 --> 00:06:02,789 batendo papo, usando um aplicativo móvel, ou quando sensores ou dispositivos na internet se comunicam 68 00:06:02,789 --> 00:06:08,889 entre si.