Notícias16 min de leitura
História da internet: o que todo dev que quer se diferenciar deveria saber
História da internet (ARPANET, TCP/IP, Web) e um laboratório caseiro: LAN, intranet, internet e P2P explicados com exemplos simples para quem programa.
- internet
- historia
- redes
- web
- tcp-ip
- intranet
- p2p
- desenvolvimento
A API responde 200 no Postman e 504 no browser. O DNS “está certo” no painel e aponta para o IP antigo por mais vinte minutos. O mobile na 4G parece lento; no Wi-Fi do escritório, não. Em todos esses casos o código da aplicação pode estar impecável. O problema mora no caminho até ela.
A maioria dos desenvolvedores aprende a entregar feature. Poucos aprendem a ler a rede. Não é snobismo: é o meio onde o software vive. Quem entende, mesmo por cima, como a internet foi desenhada, deixa de tratar latência, timeout e “caiu a internet” como magia. Vira hipótese. Isso diferencia.
Este texto é a história da internet contada para quem programa — completa o bastante para formar um mapa, sem virar curso de protocolo. Em cada era, o que mudou na engenharia e o que isso ainda muda na cabeça de quem escreve sistemas. No fim, um laboratório mental (e prático) de “internet caseira”: LAN, intranet, internet e P2P com exemplos que cabem numa mesa.
Por que redes diferenciam um desenvolvedor
CRUD e framework mudam a cada ciclo. O caminho de um request — nome → endereço → caminho → criptografia → aplicação — mudou bem menos do que o marketing sugere. Quem internaliza falha parcial, indireção de nomes e camadas independentes debuga mais rápido, desenha timeouts com intenção e conversa com infra sem traduzir tudo para “o backend”.
Na prática, a diferença aparece em três lugares. Em incidente: em vez de reiniciar serviço em loop, você pergunta se o sintoma é resolução de nome, certificado, rota ou aplicação. Em design: você evita APIs tagarelas (muitas idas e voltas) porque sabe que latência não se resolve só com CPU. Em carreira: você deixa de ser só “a pessoa do framework” e passa a ser alguém que enxerga o sistema completo — o tipo de perfil que segura produção e entrevista de senior.
Não é preciso virar network engineer. É preciso parar de achar que HTTP é a internet inteira.
Antes da rede: a ideia e os pacotes
No início dos anos 1960, J. C. R. Licklider escreveu memos sobre uma “rede intergaláctica de computadores”: acesso rápido a dados e programas em máquinas distantes. Não era produto. Era ambição de pesquisa, no contexto de tempo compartilhado e interação homem–máquina.
O obstáculo prático era o modelo de comunicação da época. Telefone e muitas redes de dados pensavam em circuito: você reserva um caminho de ponta a ponta e ocupa a linha enquanto a conversa dura. Para voz contínua, faz sentido. Para computadores que mandam rajadas irregulares de bits, desperdiça capacidade e quebra mal quando um enlace cai no meio.
A saída foi a comutação de pacotes: quebrar a mensagem em pedaços, enviar cada pedaço com endereço, e deixar a rede encaminhar como der. Paul Baran (RAND) e Donald Davies (NPL, Reino Unido) desenvolveram essas ideias em paralelo. A rede não precisa ser perfeita; precisa ser útil sob falha. Um pacote pode se perder. O sistema acima decide se reenvia, se desiste, se usa outro caminho.
Para o dev: isso é a raiz de retry, idempotência e timeout. A rede foi pensada para perder pedaços. Seu endpoint que só funciona se todas as chamadas forem bem-sucedidas na primeira tentativa está brigando com a premissa de 60 anos.
ARPANET: quatro nós, ainda não a “internet”
Em 1969, a ARPA (depois DARPA) liga os primeiros nós do ARPANET — UCLA, Stanford Research Institute, UC Santa Barbara, University of Utah. O objetivo era compartilhar recursos de computação entre centros de pesquisa, não reinventar o comércio eletrônico.
O ARPANET mostrou que máquinas diferentes podiam trocar dados em escala geográfica. E-mail e transferência de arquivos cresceram cedo. Mas ARPANET ainda era uma rede. A internet, no sentido técnico, é outra coisa: um jeito de ligar redes distintas como se fossem um sistema só.
Outros projetos importam para não contar a história só como mito americano: a rede NPL no Reino Unido e o CYCLADES na França também experimentavam pacotes e interconexão. A linha que venceu em escala global foi a que veio do ecossistema ARPA/TCP-IP — mas a ideia não nasceu num único laboratório.
Para o dev: “a rede” quase nunca é um fio único. É um conjunto de domínios administrativos colados por acordo. Quando o seu serviço “cai” só para usuários de um provedor, você está vendo essa costura.
TCP/IP: a internet como redes de redes
Nos anos 1970, Vint Cerf e Bob Kahn desenham o que vira a suíte TCP/IP: um protocolo de transporte que tenta entregar com confiabilidade razoável (TCP) sobre um protocolo de rede que só encaminha datagramas (IP). A aposta é brutalmente prática: redes locais, rádio, satélite e backbones podem ser diferentes por baixo; por cima, o mesmo endereço e o mesmo contrato de envio.
Em 1º de janeiro de 1983, o ARPANET migra de vez para TCP/IP no famoso flag day. A partir daí, “internet” passa a significar, de forma cada vez mais clara, o conjunto de redes que falam IP.
Essa separação em camadas não é detalhe acadêmico. É o motivo pelo qual você pode trocar de Wi-Fi sem reescrever a API, e o motivo pelo qual um bug pode estar no TLS enquanto o JSON está correto.
Para o dev: quando algo falha, pergunte em que camada. DNS resolveu? TCP conectou? TLS fechou o handshake? HTTP devolveu status? O corpo veio completo? Quem só olha o status code da aplicação perde metade do filme.
DNS: nomes para humanos, indireção para sistemas
Números de IP funcionam para máquinas. Para pessoas, não. O DNS (Domain Name System), consolidado no início dos anos 1980, transforma nomes (abjr.dev) em endereços. Depois disso, mudar o servidor de destino sem mudar o nome vira operação cotidiana — e também fonte clássica de incidente.
Cache, TTL, propagação “lenta”, registro A versus CNAME, e o fato de resolvers intermediários mentirem de forma otimista: tudo isso é consequência direta de um sistema distribuído de nomes, não de azar.
Para o dev: DNS é a primeira indireção da maior parte dos sistemas que você sobe. “Atualizei o IP no painel” não significa “o mundo já sabe”. Quem já peitou um cutover de produção sem olhar TTL aprendeu isso do jeito caro.
NSFNET: da academia à espinha dorsal
Em 1986, a National Science Foundation lança o NSFNET para ligar centros de supercomputação e, na prática, universidades e pesquisa em TCP/IP. O backbone cresce rápido: a NSF estima da ordem de milhares de máquinas no início para milhões no começo dos anos 1990. Enquanto o uso era tipicamente acadêmico, a política de uso aceitável restringia comércio — a rede existia para pesquisa e educação, não para loja virtual.
A pressão comercial aparece mesmo assim. Provedores surgem; o tráfego explode; o Congresso e a NSF negociam a transição. Em 30 de abril de 1995, o serviço de backbone NSFNET é desativado. A espinha dorsal deixa de ser um backbone federal único e passa a ser um mercado de provedores interligados — peering, pontos de troca, contratos. A internet “pública” que conhecemos é, em grande parte, o resultado dessa privatização da infraestrutura de transporte.
Para o dev: multi-região, CDN e “por que a latência para São Paulo é diferente da de Frankfurt” não são detalhes de DevOps. São herança direta de uma internet que deixou de ser um backbone acadêmico e virou malha comercial com custos e incentivos. Escolher região de cloud é, em parte, escolher vizinhança na topologia. Escolher CDN é admitir que o caminho até o usuário importa tanto quanto o código na origem.
A Web não é a internet
Em março de 1989, Tim Berners-Lee propõe no CERN um sistema de informação em hipertexto. Em dezembro de 1990, HTTP, HTML e URL já existem o bastante para o primeiro servidor (info.cern.ch) e o primeiro browser/editor no NeXT. Em 1991 o software se espalha; em agosto ele anuncia o projeto em newsgroups. Em 1993 o CERN coloca a Web em domínio público — decisão política que importa tanto quanto a técnica.
A World Wide Web é uma aplicação sobre a internet. E-mail, FTP, Usenet e login remoto já rodavam antes. O que a Web fez foi tornar a rede legível para não especialistas: um endereço, um clique, um documento. O browser Mosaic (NCSA, com apoio NSF) populariza páginas com texto e imagem e acelera a adoção fora da física de partículas.
Confundir Web com internet gera arquitetura ruim. Nem todo serviço crítico é HTTP. Nem todo problema de “site lento” é React. Às vezes é DNS. Às vezes é TCP retransmitindo. Às vezes é o certificado. Às vezes é o peering do provedor do usuário.
Para o dev: trate HTTP como contrato de aplicação, não como a rede. Quando você instrumenta só o tempo de resposta do handler e ignora DNS e TLS, está medindo o último quilômetro do problema.
Do dial-up às plataformas (o arco curto até hoje)
Os anos 1990 trazem acesso discado, portais, e-commerce e a bolha. De repente a internet deixa de ser clube acadêmico e vira produto de massa — com marketing, ISP, modem barulhento e a primeira geração de sites que “funcionam no Netscape”. Os 2000 trazem banda larga residencial e o fim da espera audível por conexão. Os 2010 consolidam o smartphone como cliente padrão e o HTTPS como expectativa, não exceção. Conteúdo e APIs migram para CDNs e edges; a “origem” do seu serviço muitas vezes nem é o que o usuário toca primeiro.
Nesse arco, três mudanças afetam quem programa mais do que o nostalgia de modem:
- O cliente saiu do desktop fixo. Rede móvel, NAT agressivo, troca de rede no meio da sessão. Seu app precisa tolerar reconnect e estado inconsistente.
- A criptografia virou default. TLS no caminho crítico significa handshake a mais, certificados a renovar, e falhas que parecem “site fora” quando o problema é cadeia de confiança.
- A borda ficou inteligente. Cache, WAF, balanceador e edge functions empurram lógica para perto do usuário — e empurram bugs para um lugar que o log do container não vê.
A superfície mudou. Os princípios, menos: pacotes podem se perder; nomes são indiretos; rotas são decisões locais; ninguém controla o caminho inteiro de ponta a ponta. Plataformas grandes concentram tráfego, mas ainda dependem da mesma suíte TCP/IP e do mesmo DNS.
Internet caseira: LAN, intranet, internet e P2P
A forma mais rápida de “sentir” a história não é decorar datas. É montar, em escala de brinquedo, o que a ARPANET e a internet fizeram em escala de país. Você não precisa de fibra cara. Precisa de dois ou três aparelhos e de nomes certos para o que está acontecendo.
Os termos em uma frase cada
| Termo | Em português claro | Exemplo do dia a dia |
|---|---|---|
| LAN | Rede local: aparelhos no mesmo “pedaço” (casa, escritório) | Notebook e celular no Wi-Fi de casa |
| Intranet | Rede (ou serviços) privada da organização; de fora não entra sem permissão | Portal do RH que só abre na rede da empresa ou via VPN |
| Internet | Rede de redes públicas ligadas por acordo (provedores, backbones) | Abrir google.com saindo da sua casa |
| P2P | Peer-to-peer: um dispositivo fala com outro sem depender de um servidor central no meio | Dois celulares trocando arquivo por app que conecta um ao outro; BitTorrent |
| Cliente–servidor | Um pede, outro atende (o modelo da Web clássica) | Browser pede página; servidor responde |
| Gateway / roteador | A porta entre sua rede e outra rede | O modem/roteador da operadora |
Intranet não é o oposto mágico da internet. Muitas intranets usam os mesmos protocolos (IP, HTTP, DNS interno). A diferença é política de acesso: quem pode entrar, não o fio usado.
Mini-laboratório 1: a “ARPANET da sala”
Objetivo: ver uma LAN funcionar sem “a internet”.
- Pegue dois notebooks (ou um PC e um celular com app de terminal).
- Ligue os dois no mesmo Wi-Fi — ou, se quiser o experimento puro, um cabo Ethernet entre eles e IPs manuais (ex.:
192.168.10.1e192.168.10.2). - Numa máquina, suba um servidor mínimo:
python3 -m http.server 8000numa pasta com umindex.html. - Na outra, abra
http://IP-DA-PRIMEIRA:8000.
Se a página abrir com o cabo de internet da operadora desligado (só a LAN viva), você acabou de montar o equivalente conceitual de “rede local compartilhando recurso”. Isso é o espírito do começo: máquinas falando entre si. Ainda não é a internet global — é uma rede.
Mini-laboratório 2: o “roteador” como fronteira
Objetivo: sentir a diferença entre dentro e fora.
No Wi-Fi de casa, o roteador entrega IPs privados (192.168.x.x ou 10.x.x.x). Esses endereços não são roteáveis na internet pública. Quando você acessa um site, o roteador faz NAT: traduz o seu IP privado para o IP público que a operadora te emprestou.
Experimento simples:
- Descubra o IP local do seu PC (
ip a/ipconfig). - Peça para um amigo fora da sua casa tentar abrir
http://SEU-IP-LOCAL:8000. Vai falhar (na maior parte dos casos). - Compare com o IP que aparece em um site do tipo “what is my IP” — esse é o da borda, não o do notebook.
Lição: sua casa já é uma rede. A internet começa depois do gateway. Intranet de empresa é a mesma ideia com regras mais rígidas (firewall, VPN, DNS interno intranet.empresa.local).
Mini-laboratório 3: cliente–servidor versus P2P
Cliente–servidor (Web clássica):
- Você sobe o
http.serverno PC A. - O PC B só consome. Se A desligar, B fica sem página.
- É o modelo do site, da API REST, do banco remoto.
P2P (ideia):
- Em vez de “todo mundo fala com o servidor”, cada participante pode ser cliente e servidor.
- Exemplo caseiro seguro: dois aparelhos no mesmo Wi-Fi usando um app de transferência direta (ou
scp/rsyncde um para o outro). O arquivo vai A↔B; não precisa passar por um “site no meio”. - Exemplo famoso na internet: BitTorrent — pedaços do arquivo vêm de vários peers; o tracker ou DHT só ajuda a achar quem tem o pedaço.
Cuidado didático: P2P na internet pública envolve NAT, firewall e descoberta de peers. Em casa, na LAN, o P2P parece “mágica fácil” porque não há essa fronteira. Na internet, o mesmo desenho esbarra no roteador — por isso tantos apps usam um servidor só para apresentar um peer ao outro (sinalização), e depois tentam falar direto.
Como isso se parece com a história
| Escala | Analogia caseira | História |
|---|---|---|
| Uma rede | Wi-Fi da sala + servidor de arquivo | ARPANET (uma rede) |
| Rede de redes | Duas casas, cada uma com roteador, ligadas por um “backbone” improvisado (VPN entre roteadores, ou túnel) | Internet / TCP-IP |
| Nome amigável | No /etc/hosts, mapear meu-lab.local → IP do PC A |
DNS (versão de brinquedo) |
| Conteúdo clicável | HTML no http.server |
Web em cima da rede |
Você não vai recriar o backbone da NSF com dois notebooks. Vai recriar o modelo mental: LAN ≠ intranet ≠ internet ≠ P2P. Quem confunde esses quatro termos monta arquitetura errada — por exemplo, achar que “intranet” é um protocolo especial, ou que P2P elimina a necessidade de pensar em NAT.
Um desenho mental para guardar
[Celular] ---Wi-Fi--- [Roteador de casa] ---cabo da operadora--- [Internet pública]
| |
+------ LAN/intranet caseira ------+
(IPs privados)
P2P na LAN: Celular A <--------> Notebook B (direto, mesmo Wi-Fi)
P2P na internet: muitas vezes A --> (servidor de sinalização) <-- B
e depois A <--------> B se a rede deixar
Para o dev: Docker Compose na sua máquina é uma intranet de brinquedo (serviços com nomes DNS internos). Kubernetes no cluster da empresa é intranet com política. O browser do usuário na rua é internet. WebRTC ou fila de mensagens entre edges pode ser P2P ou híbrido. Saber qual dos quatro você está desenhando evita surpresa em produção.
O kit mental do dev que entende redes
Sem curso. Um mapa que cabe na cabeça:
- Caminho de um request típico de browser: digita URL → DNS → TCP (e quase sempre TLS) → HTTP → app. Falhou? Ache o degrau. Um
curl -vbem lido já separa “não resolve nome” de “recusou conexão” de “certificado inválido” de “HTTP 500”. - Latência versus vazão. Muitos sistemas lentos não estão “sem banda”; estão esperando ida e volta demais (chatty APIs, N+1 pela rede, falta de cache). Aumentar o tamanho do payload às vezes dói menos do que fazer vinte round-trips.
- Falha parcial é o modo normal. Timeout não é grosseria; é defesa. Retry sem idempotência é incidente. Circuit breaker e fila existem porque a história da rede já avisou que o enlace some.
- Observabilidade por camada. Log de app ≠ métrica de handshake ≠ erro de resolução DNS. Se você só tem APM da aplicação, está cego no primeiro terço do caminho.
- Região e topologia têm preço. “Deploy em us-east-1” não é só compliance; é onde seus pacotes entram na malha. Usuário no Brasil falando com origem distante paga RTT — história comercial da internet em milissegundos.
- O que estudar depois, com retorno alto: DNS na prática, HTTP/1.1 e HTTP/2 o bastante para não mentir em entrevista, um pouco de TCP (janela, retransmissão), TLS do ponto de vista operacional (certificado, SNI, handshake). Wireshark é opcional; clareza de hipóteses não é.
- Monte a internet caseira uma vez. Dois aparelhos, um
http.server, o cabo da operadora desligado: LAN. Tente acessar de fora: fronteira. Troque arquivo direto entre peers: P2P. Os termos param de ser slide.
Se você só puder levar uma frase deste kit: nomeie a camada antes de culpar o código.
O que a história ainda explica no seu dia a dia
A internet foi desenhada para ligar redes heterogêneas e sobreviver a falhas locais. Por isso “a internet caiu” quase nunca é verdade literal: caiu um caminho, um resolvedor, um ASN, um certificado. Quem sabe disso não reinicia o pod em pânico na primeira 502; pergunta onde o caminho quebrou.
Também explica por que padrões abertos venceram pilhas proprietárias em escala global, e por que o seu serviço precisa ser educado com o desconhecido: clientes ruins, redes ruins, middleboxes, caches teimosos.
Fecho
Framework novo aparece todo ano. A rede em que ele roda carrega décadas de decisões — pacotes, IP, DNS, backbone comercial, Web em cima. O desenvolvedor diferenciado não memoriza RFC de cor. Ele deixa de tratar esse meio como caixa-preta.
A pergunta prática, no próximo incidente: você está debugando a aplicação, ou está debugando o caminho até ela — e sabe a diferença?
Referências
- Birth of the Commercial Internet — NSF: ARPANET, NSFNET, Mosaic e a transição comercial.
- RFC 2235 — Hobbes’ Internet Timeline — linha do tempo clássica de marcos da internet.
- Computer History Museum — Networking & The Web — contexto de ARPANET, TCP/IP e rivais (NPL, CYCLADES).
- CERN — Web History / Web at 30 — Berners-Lee, primeiro servidor, anúncio em 1991, domínio público em 1993.
- info.cern.ch — WWW Project History — cronologia interna do projeto no CERN.
- Merit — Retiring the NSFNET Backbone Service — desativação do backbone em 30 de abril de 1995.
- RFC 791 — Internet Protocol — definição clássica do IP (para quem quiser o documento-base, não o tutorial).