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”.

  1. Pegue dois notebooks (ou um PC e um celular com app de terminal).
  2. 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.1 e 192.168.10.2).
  3. Numa máquina, suba um servidor mínimo: python3 -m http.server 8000 numa pasta com um index.html.
  4. 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:

  1. Descubra o IP local do seu PC (ip a / ipconfig).
  2. Peça para um amigo fora da sua casa tentar abrir http://SEU-IP-LOCAL:8000. Vai falhar (na maior parte dos casos).
  3. 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.server no 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/rsync de 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:

  1. Caminho de um request típico de browser: digita URL → DNS → TCP (e quase sempre TLS) → HTTP → app. Falhou? Ache o degrau. Um curl -v bem lido já separa “não resolve nome” de “recusou conexão” de “certificado inválido” de “HTTP 500”.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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 é.
  7. 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

  1. Birth of the Commercial Internet — NSF: ARPANET, NSFNET, Mosaic e a transição comercial.
  2. RFC 2235 — Hobbes’ Internet Timeline — linha do tempo clássica de marcos da internet.
  3. Computer History Museum — Networking & The Web — contexto de ARPANET, TCP/IP e rivais (NPL, CYCLADES).
  4. CERN — Web History / Web at 30 — Berners-Lee, primeiro servidor, anúncio em 1991, domínio público em 1993.
  5. info.cern.ch — WWW Project History — cronologia interna do projeto no CERN.
  6. Merit — Retiring the NSFNET Backbone Service — desativação do backbone em 30 de abril de 1995.
  7. RFC 791 — Internet Protocol — definição clássica do IP (para quem quiser o documento-base, não o tutorial).

Adelson de Bittencourt Junior

Desenvolvedor full-stack em Criciúma, SC, com passagem por suporte de telefonia VoIP e redes. Escreve sobre redes, segurança, infraestrutura e bancos de dados. Sobre o site · Enviar correção