-
[contagem decrescente: 7, 6, 5, 4, 3, 2, 1]
-
A Internet:
Pacotes, encaminhamento e fiabilidade
-
Olá, o meu nome é Lynn.
-
Sou engenheira de software aqui no Spotify
-
e serei a primeira a admitir que muitas vezes
tomo como garantida a fiabilidade da Internet.
-
A enorme quantidade de informação
a pairar na internet é espantosa.
-
Mas como é possível que cada pedaço de
dados te sejam entregues de forma fiável?
-
Digamos que queres ouvir
uma canção no Spotify.
-
Parece que o teu computador se liga
diretamente aos servidores do Spotify,
-
e que o Spotify te envia uma canção
numa linha direta, exclusiva.
-
Mas, na verdade,
não é assim que a Internet funciona.
-
Se a Internet fosse feita de ligações diretas e dedicadas,
seria impossível manter as coisas a funcionar
-
à medida que milhões de utilizadores fossem entrando,
especialmente porque não nada nos garante
-
que cada fio e computador
esteja sempre a funcionar.
-
Em vez disso, os dados viajam
na Internet de forma muito menos direta.
-
Há muitos anos atrás, no início dos anos 70,
o meu parceiro Bob Kahn e eu começámos
-
a trabalhar na concepção daquilo
a que agora chamamos a Internet.
-
O Bob e eu tínhamos a responsabilidade e a oportunidade
de conceber os protocolos da Internet e a sua arquitectura.
-
Por isso continuámos a participar
no crescimento da Internet e na sua evolução
-
durante todo este tempo
e até aos dias de hoje.
-
A forma como a informação é transferida
de um computador para outro é bastante interessante.
-
Ela não precisa de seguir um caminho fixo.
Na verdade, o seu caminho pode mudar
-
no meio de uma conversa entre computadores.
-
A informação na Internet vai
de um computador para outro
-
no que chamamos
um pacote de informação,
-
sendo que um pacote viaja
de um lugar para outro na Internet
-
de forma muito parecida a como nós
vamos de um lugar para outro num carro.
-
Dependendo do congestionamento do tráfego
ou das condições da estrada,
-
poderás escolher ou ser forçado
a seguir uma rota diferente
-
para chegar ao mesmo lugar
a cada vez que viajas. E apenas
-
E assim como se pode transportar todo o tipo de coisas
dentro de um carro, muitos tipos de informação digital podem
-
também podemos enviar muitos tipos de informação
digital em pacotes IP, com alguns limites.
-
E se, por exemplo, for preciso mover um
vaivém espacial do sítio onde foi construído
-
para o local onde será lançado.
-
O vaivém não vai caber só num camião,
então é preciso desmontá-lo em peças,
-
transportando-o recorrendo a uma frota
de camiões.
-
Todos os camiões podem seguir diferentes rotas
e podem chegar ao destino em diferentes momentos,
-
mas uma vez que todas as peças estejam no mesmo sítio,
podemos montar as peças para ficar com o vaivém inteiro
-
e ele estará pronto para o lançamento.
-
Na Internet os detalhes funcionam
de forma semelhante.
-
Se tiveres uma imagem muito grande que queres
enviar a um amigo ou carregar para um website,
-
essa imagem pode ser composta
por dezenas de milhões de bits de 1s e 0s,
-
demasiados para enviar num só pacote.
-
Uma vez que os dados estão num computador,
o computador que envia a imagem pode rapidamente
-
dividi-la em centenas ou mesmo milhares de
partes mais pequenas, chamadas pacotes.
-
Ao contrário dos automóveis ou camiões,
estes pacotes não têm motoristas e não escolhem o seu percurso.
-
Cada pacote tem o endereço de Internet de onde veio
e para onde vai.
-
Computadores especiais na internet,
chamados routers,
-
actuam como gestores de tráfego para manter
os pacotes em movimento nas redes sem percalços.
-
Se uma rota estiver congestionada,
pacotes individuais podem percorrer rotas diferentes
-
através da Internet e podem chegar a
o destino em alturas ligeiramente diferentes
-
ou mesmo fora de ordem.
-
Vamos falar sobre como funciona.
Como parte do protocolo da Internet,
-
cada router mantém o registo
de múltiplos caminhos para enviar pacotes,
-
e escolhe o mais "barato" para cada
pedaço de dados,
-
com base no endereço IP
de destino do pacote.
-
Mais "barato", neste caso, não tem a ver com custos,
mas com tempo e factores não técnicos
-
tais como políticas e relações
entre empresas.
-
Muitas vezes, a melhor rota para os dados
viajarem não é necessariamente a mais direta.
-
Ter opções de caminhos
torna a rede tolerante a falhas.
-
Isto significa que a rede pode continuar
a enviar pacotes mesmo se algo correr muito, muito mal.
-
Esta é a base para um
princípio-chave da internet: fiabilidade.
-
Agora, e que pedires alguns dados e nem
todos eles forem entregues?
-
Digamos que queres ouvir uma música.
-
Como podes ter 100% de certeza que todos os dados
serão entregues para que a canção toque na perfeição?
-
Apresentando o seu novo melhor amigo, TCP!
O protocolo de controle de transmissão.
-
O TCP gere o envio e recepção de todos
os teus dados na forma de pacotes.
-
Pensa nisto como um correio registado.
-
Quando pedes uma canção no teu dispositivo,
o Spotify envia-te a canção dividida em muitos pacotes.
-
Quando os teus pacotes chegam, o TCP faz um inventário completo
e envia em resposta um recibo por cada pacote recebido.
-
Se todos os pacotes estiverem presentes,
o TCP "assina" a entrega e está feito!
-
[música]
-
Se o TCP der pela falta de alguns pacotes,
não assinara a entrega,
-
caso contrário a música não soaria tão bem,
ou poderiam ficar a faltar partes dela.
-
O Spotify enviará de novo cada um
dos pacotes em falta ou incompletos.
-
Quando o TCP verificar a entrega dos
muitos pacotes pedidos para a canção,
-
a tua música começará a tocar.
-
[música]
-
O melhor do TCP e dos sistemas router
é que são escaláveis,
-
podendo funcionar com 8
ou com 8 mil milhões de dispositivos.
-
Na verdade, devido a estes princípios
de tolerância a falhas e redundância,
-
quanto mais routers acrescentarmos,
mais fiável a Internet se torna.
-
O que é também ótimo é que podemos
crescer e escalar a Internet
-
sem interromper o serviço para qualquer
pessoa que a esteja a utilizar.
-
A Internet é feita de
centenas de milhares de redes
-
e milhares de milhões de computadores
e dispositivos ligados fisicamente.
-
Estes diferentes sistemas que compõem
a Internet ligam-se entre si,
-
comunicam uns com os outros,
-
e trabalham em conjunto, usando as normas acordadas
para a forma como os dados são enviados na Internet.
-
Dispositivos de computação,
ou routers, espalhados pela Internet,
-
ajudam todos os pacotes a chegar ao destino,
onde são remontados, se necessário, por ordem.
-
Isto acontece milhares de milhões de vezes por dia,
-
quer tu ou outras pessoas estejam a enviar
um e-mail, a visitar uma página web,
-
em vídeochamada, a usar uma app móvel,
ou quando sensores ou dispositivos na Internet
-
falam com um ao outro.