1
00:00:00,120 --> 00:00:02,772
[contagem decrescente: 7, 6, 5, 4, 3, 2, 1]
2
00:00:02,856 --> 00:00:07,876
A Internet:
Pacotes, encaminhamento e fiabilidade
3
00:00:07,950 --> 00:00:09,820
Olá, o meu nome é Lynn.
4
00:00:09,840 --> 00:00:12,193
Sou engenheira de software aqui no Spotify
5
00:00:12,193 --> 00:00:16,881
e serei a primeira a admitir que muitas vezes
tomo como garantida a fiabilidade da Internet.
6
00:00:17,631 --> 00:00:20,871
A enorme quantidade de informação
a pairar na internet é espantosa.
7
00:00:20,871 --> 00:00:25,283
Mas como é possível que cada pedaço de
dados te sejam entregues de forma fiável?
8
00:00:26,033 --> 00:00:28,540
Digamos que queres ouvir
uma canção no Spotify.
9
00:00:28,590 --> 00:00:31,697
Parece que o teu computador se liga
diretamente aos servidores do Spotify,
10
00:00:31,697 --> 00:00:35,091
e que o Spotify te envia uma canção
numa linha direta, exclusiva.
11
00:00:35,311 --> 00:00:37,826
Mas, na verdade,
não é assim que a Internet funciona.
12
00:00:38,920 --> 00:00:43,440
Se a Internet fosse feita de ligações diretas e dedicadas,
seria impossível manter as coisas a funcionar
13
00:00:43,440 --> 00:00:47,015
à medida que milhões de utilizadores fossem entrando,
especialmente porque não nada nos garante
14
00:00:47,015 --> 00:00:49,612
que cada fio e computador
esteja sempre a funcionar.
15
00:00:50,045 --> 00:00:54,340
Em vez disso, os dados viajam
na Internet de forma muito menos direta.
16
00:00:55,180 --> 00:01:01,210
Há muitos anos atrás, no início dos anos 70,
o meu parceiro Bob Kahn e eu começámos
17
00:01:01,210 --> 00:01:04,150
a trabalhar na concepção daquilo
a que agora chamamos a Internet.
18
00:01:04,410 --> 00:01:12,763
O Bob e eu tínhamos a responsabilidade e a oportunidade
de conceber os protocolos da Internet e a sua arquitectura.
19
00:01:12,763 --> 00:01:17,517
Por isso continuámos a participar
no crescimento da Internet e na sua evolução
20
00:01:17,517 --> 00:01:20,657
durante todo este tempo
e até aos dias de hoje.
21
00:01:21,637 --> 00:01:26,654
A forma como a informação é transferida
de um computador para outro é bastante interessante.
22
00:01:26,654 --> 00:01:30,900
Ela não precisa de seguir um caminho fixo.
Na verdade, o seu caminho pode mudar
23
00:01:30,900 --> 00:01:33,896
no meio de uma conversa entre computadores.
24
00:01:33,896 --> 00:01:37,140
A informação na Internet vai
de um computador para outro
25
00:01:37,140 --> 00:01:40,828
no que chamamos
um pacote de informação,
26
00:01:40,828 --> 00:01:43,734
sendo que um pacote viaja
de um lugar para outro na Internet
27
00:01:43,734 --> 00:01:46,993
de forma muito parecida a como nós
vamos de um lugar para outro num carro.
28
00:01:47,323 --> 00:01:50,273
Dependendo do congestionamento do tráfego
ou das condições da estrada,
29
00:01:50,273 --> 00:01:53,471
poderás escolher ou ser forçado
a seguir uma rota diferente
30
00:01:53,471 --> 00:01:56,180
para chegar ao mesmo lugar
a cada vez que viajas. E apenas
31
00:01:59,000 --> 00:02:03,580
E assim como se pode transportar todo o tipo de coisas
dentro de um carro, muitos tipos de informação digital podem
32
00:02:03,580 --> 00:02:06,960
também podemos enviar muitos tipos de informação
digital em pacotes IP, com alguns limites.
33
00:02:08,070 --> 00:02:11,895
E se, por exemplo, for preciso mover um
vaivém espacial do sítio onde foi construído
34
00:02:11,895 --> 00:02:13,327
para o local onde será lançado.
35
00:02:13,327 --> 00:02:17,049
O vaivém não vai caber só num camião,
então é preciso desmontá-lo em peças,
36
00:02:17,049 --> 00:02:19,432
transportando-o recorrendo a uma frota
de camiões.
37
00:02:19,432 --> 00:02:23,685
Todos os camiões podem seguir diferentes rotas
e podem chegar ao destino em diferentes momentos,
38
00:02:23,685 --> 00:02:28,479
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
39
00:02:28,479 --> 00:02:30,642
e ele estará pronto para o lançamento.
40
00:02:31,334 --> 00:02:34,175
Na Internet os detalhes funcionam
de forma semelhante.
41
00:02:34,175 --> 00:02:39,407
Se tiveres uma imagem muito grande que queres
enviar a um amigo ou carregar para um website,
42
00:02:39,507 --> 00:02:43,819
essa imagem pode ser composta
por dezenas de milhões de bits de 1s e 0s,
43
00:02:43,819 --> 00:02:45,856
demasiados para enviar num só pacote.
44
00:02:45,856 --> 00:02:49,810
Uma vez que os dados estão num computador,
o computador que envia a imagem pode rapidamente
45
00:02:49,810 --> 00:02:53,281
dividi-la em centenas ou mesmo milhares de
partes mais pequenas, chamadas pacotes.
46
00:02:54,520 --> 00:02:59,439
Ao contrário dos automóveis ou camiões,
estes pacotes não têm motoristas e não escolhem o seu percurso.
47
00:02:59,439 --> 00:03:03,342
Cada pacote tem o endereço de Internet de onde veio
e para onde vai.
48
00:03:03,342 --> 00:03:05,120
Computadores especiais na internet,
chamados routers,
49
00:03:05,120 --> 00:03:11,025
actuam como gestores de tráfego para manter
os pacotes em movimento nas redes sem percalços.
50
00:03:11,675 --> 00:03:15,239
Se uma rota estiver congestionada,
pacotes individuais podem percorrer rotas diferentes
51
00:03:15,239 --> 00:03:20,370
através da Internet e podem chegar a
o destino em alturas ligeiramente diferentes
52
00:03:20,370 --> 00:03:21,712
ou mesmo fora de ordem.
53
00:03:22,999 --> 00:03:26,569
Vamos falar sobre como funciona.
Como parte do protocolo da Internet,
54
00:03:26,569 --> 00:03:29,854
cada router mantém o registo
de múltiplos caminhos para enviar pacotes,
55
00:03:29,854 --> 00:03:33,201
e escolhe o mais "barato" para cada
pedaço de dados,
56
00:03:33,201 --> 00:03:36,239
com base no endereço IP
de destino do pacote.
57
00:03:36,809 --> 00:03:41,120
Mais "barato", neste caso, não tem a ver com custos,
mas com tempo e factores não técnicos
58
00:03:41,120 --> 00:03:43,686
tais como políticas e relações
entre empresas.
59
00:03:44,056 --> 00:03:48,353
Muitas vezes, a melhor rota para os dados
viajarem não é necessariamente a mais direta.
60
00:03:48,834 --> 00:03:52,363
Ter opções de caminhos
torna a rede tolerante a falhas.
61
00:03:52,363 --> 00:03:56,909
Isto significa que a rede pode continuar
a enviar pacotes mesmo se algo correr muito, muito mal.
62
00:03:57,700 --> 00:04:01,322
Esta é a base para um
princípio-chave da internet: fiabilidade.
63
00:04:03,559 --> 00:04:07,704
Agora, e que pedires alguns dados e nem
todos eles forem entregues?
64
00:04:07,704 --> 00:04:09,409
Digamos que queres ouvir uma música.
65
00:04:09,409 --> 00:04:14,502
Como podes ter 100% de certeza que todos os dados
serão entregues para que a canção toque na perfeição?
66
00:04:14,829 --> 00:04:19,295
Apresentando o seu novo melhor amigo, TCP!
O protocolo de controle de transmissão.
67
00:04:19,867 --> 00:04:23,677
O TCP gere o envio e recepção de todos
os teus dados na forma de pacotes.
68
00:04:23,920 --> 00:04:26,600
Pensa nisto como um correio registado.
69
00:04:26,600 --> 00:04:31,669
Quando pedes uma canção no teu dispositivo,
o Spotify envia-te a canção dividida em muitos pacotes.
70
00:04:32,749 --> 00:04:38,726
Quando os teus pacotes chegam, o TCP faz um inventário completo
e envia em resposta um recibo por cada pacote recebido.
71
00:04:39,476 --> 00:04:43,481
Se todos os pacotes estiverem presentes,
o TCP "assina" a entrega e está feito!
72
00:04:43,481 --> 00:04:49,863
[música]
73
00:04:49,863 --> 00:04:53,819
Se o TCP der pela falta de alguns pacotes,
não assinara a entrega,
74
00:04:53,819 --> 00:04:58,427
caso contrário a música não soaria tão bem,
ou poderiam ficar a faltar partes dela.
75
00:04:58,700 --> 00:05:02,700
O Spotify enviará de novo cada um
dos pacotes em falta ou incompletos.
76
00:05:02,745 --> 00:05:07,475
Quando o TCP verificar a entrega dos
muitos pacotes pedidos para a canção,
77
00:05:07,480 --> 00:05:09,055
a tua música começará a tocar.
78
00:05:09,055 --> 00:05:11,550
[música]
79
00:05:11,610 --> 00:05:15,122
O melhor do TCP e dos sistemas router
é que são escaláveis,
80
00:05:15,122 --> 00:05:18,480
podendo funcionar com 8
ou com 8 mil milhões de dispositivos.
81
00:05:18,480 --> 00:05:21,729
Na verdade, devido a estes princípios
de tolerância a falhas e redundância,
82
00:05:21,729 --> 00:05:25,473
quanto mais routers acrescentarmos,
mais fiável a Internet se torna.
83
00:05:25,659 --> 00:05:28,069
O que é também ótimo é que podemos
crescer e escalar a Internet
84
00:05:28,069 --> 00:05:30,621
sem interromper o serviço para qualquer
pessoa que a esteja a utilizar.
85
00:05:31,649 --> 00:05:34,379
A Internet é feita de
centenas de milhares de redes
86
00:05:34,379 --> 00:05:38,243
e milhares de milhões de computadores
e dispositivos ligados fisicamente.
87
00:05:38,520 --> 00:05:42,232
Estes diferentes sistemas que compõem
a Internet ligam-se entre si,
88
00:05:42,232 --> 00:05:44,000
comunicam uns com os outros,
89
00:05:44,000 --> 00:05:50,243
e trabalham em conjunto, usando as normas acordadas
para a forma como os dados são enviados na Internet.
90
00:05:50,833 --> 00:05:53,877
Dispositivos de computação,
ou routers, espalhados pela Internet,
91
00:05:53,877 --> 00:06:00,071
ajudam todos os pacotes a chegar ao destino,
onde são remontados, se necessário, por ordem.
92
00:06:00,940 --> 00:06:03,869
Isto acontece milhares de milhões de vezes por dia,
93
00:06:03,869 --> 00:06:08,889
quer tu ou outras pessoas estejam a enviar
um e-mail, a visitar uma página web,
94
00:06:08,889 --> 00:06:13,320
em vídeochamada, a usar uma app móvel,
ou quando sensores ou dispositivos na Internet
95
00:06:13,320 --> 00:06:14,910
falam com um ao outro.