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