Da Rede Local à Web: Dispositivos, Topologias e Serviços

por Frank de Alcantara em 08/08/2026

Da Rede Local à Web: Dispositivos, Topologias e Serviços

O artigo 1 desta série apresentou a rede como um caminho de interfaces, links, switches e roteadores. A imagem é correta, porém ainda silenciosa sobre uma pergunta incômoda: o que cada equipamento realmente decide quando recebe bits por uma porta?

Índice da Série: Redes para Engenharia de Software

A atenta leitora há de concordar comigo: responder com uma lista de aparelhos seria fácil. Também seria quase inútil.

Um engenheiro de software não precisa reconhecer a caixa pela fotografia. Precisa, porém, prever até onde uma transmissão se espalha, qual tabela muda depois de um frame, que estado desaparece quando o equipamento reinicia e qual falha ficará visível para a aplicação. Do ponto de vista do engenheiro de software, o aparelho importa porque implementa uma função, e a função importa porque cria uma fronteira.

Vamos construir essas fronteiras a partir da rede local. No caminho, vamos revisitar os temas clássicos de uma introdução a redes, como tipos de rede, dispositivos e topologias, e ligá-los às consequências observadas em sistemas distribuídos. Sim, eu sei, tradição importa. Quase todo material introdutório começa dessa forma. No final, porém, vamos separar Internet de Web e acompanhar o salto conceitual entre transportar pacotes e oferecer páginas, e-mail, conversa e voz.

1. Por que uma rede existe

Uma rede de computadores é um conjunto de sistemas capazes de trocar dados por links e protocolos compartilhados. A definição é deliberadamente mais ampla que um conjunto de computadores ligados por cabos. Um telefone em Wi-Fi, uma máquina virtual, um sensor Bluetooth e um servidor em uma nuvem pública podem ser nós da mesma comunicação sem compartilhar meio, fabricante ou administração. É o mundo moderno: completo, fascinante e cheio de dependências que não cabem na fotografia de uma caixa.

Uma rede pode ampliar a capacidade de processamento, facilitar o compartilhamento de dados e permitir que um serviço continue apesar da falha de uma máquina. Nenhum desses benefícios nasce apenas da conexão. Segurança exige controles; continuidade exige dependências independentes; eficiência exige que a comunicação custe menos do que o trabalho distribuído que ela viabiliza. Quando tudo funciona, quase não percebemos a rede. Como sempre, o problema começa no detalhe que deixamos implícito.

Para olhar com cuidado, vamos separar pelo menos quatro capacidades:

  1. A primeira é compartilhar dados, como um arquivo lido por duas aplicações.
  2. A segunda é compartilhar serviços, como um banco de dados ou uma fila.
  3. A terceira é compartilhar recursos físicos, como armazenamento e impressoras.
  4. A quarta é comunicar processos que não cabem, ou não devem caber, na mesma máquina.

O custo da conexão aparece no mesmo instante. O recurso remoto pode falhar sem que o processo local falhe; a comunicação pode atrasar, duplicar ou perder mensagens; a identidade precisa sobreviver à distância; e um componente compartilhado pode transformar uma falha pequena em uma falha coletiva.

Uma rede é útil porque amplia o alcance do sistema. Pela mesma razão, amplia o território em que alguma coisa pode dar errado.

Vamos guardar uma distinção decisiva: compartilhamento não é redundância. Manter duas cópias de um arquivo em máquinas distintas pode aumentar a disponibilidade somente se as cópias não dependerem da mesma fonte de energia, do mesmo switch e do mesmo erro de operação. Duas réplicas ligadas à mesma régua de energia continuam sendo duas cópias dentro de um único domínio de falha.

O caso da Empire Blue Cross and Blue Shield oferece uma lição mais útil do que o conhecido boato sobre servidores em uma torre e cópias na outra. A organização perdeu cerca de $480\,000$ pés quadrados de escritórios, além dos computadores e das informações armazenadas no local, durante os ataques de 11 de setembro de 2001. Mesmo assim, continuou pagando pedidos de reembolso e atendendo clientes. Segundo o estudo da Harvard Kennedy School, sete anos de investimentos em atendimento on-line, distribuição dos centros de atendimento e treinamento cruzado impediram que uma única instalação se tornasse indispensável. A lição de engenharia não está na distância medida em quilômetros, mas na independência entre os domínios de falha.

A tradição também tem valor: as classificações PAN, LAN, MAN e WAN ajudam a descrever alcance. Elas não são, porém, leis de distância.

  • Uma rede pessoal, ou PAN, de Personal Area Network (rede de área pessoal), reúne dispositivos em torno de uma pessoa. O Bluetooth oferece o exemplo mais comum.
  • Uma rede local, ou LAN, de Local Area Network (rede de área local), opera sob uma administração em uma casa, prédio ou campus. A Ethernet oferece o exemplo clássico.
  • Uma rede metropolitana, ou MAN, de Metropolitan Area Network (rede de área metropolitana), conecta locais em uma região urbana. Uma rede metropolitana de operadora é um exemplo.
  • Uma rede de longa distância, ou WAN, de Wide Area Network (rede de área ampla), atravessa cidades, países ou continentes e costuma depender de operadoras. As fibras ópticas submarinas que ligam países formam parte dessa infraestrutura.

Para a engenharia, o critério mais útil não será o número de quilômetros. Será quem controla o caminho.

Classe Exemplo Administração predominante Falha que passa a importar
PAN telefone e fone Bluetooth uma pessoa interferência, bateria e emparelhamento
LAN estações e servidores de um escritório uma organização laço de camada 2, falha do switch e broadcast excessiva
MAN prédios ligados por uma operadora metropolitana organização e operadora corte de fibra compartilhada e dependência do provedor
WAN filiais e regiões de nuvem várias operadoras e organizações política de rota, convergência e falhas correlacionadas

Tabela 1: a classificação por alcance ganha valor quando revela uma mudança de administração e de domínio de falha, não quando tenta fixar uma distância universal.

A perspicaz leitora já deve ter percebido que uma LAN pode atravessar dois prédios por fibra privada e continuar sob uma administração. Uma WAN pode ligar duas máquinas a poucos quilômetros se o tráfego atravessar a rede de uma operadora. A geografia influencia a latência; a fronteira administrativa determina quem consegue observar, mudar e reparar o caminho.

2. Nós, papéis e endereços

Definições são tão importantes quanto tradições. Vamos chamar de qualquer sistema que participa da rede. Quando o nó ocupa uma ponta e executa aplicações, ele também é um host. Um host pode ser cliente em uma interação e servidor na seguinte. O navegador atua como cliente ao pedir uma página, mas uma ferramenta de desenvolvimento pode escutar em uma porta TCP local e transformar a mesma máquina em servidor.

A palavra porta exige cuidado porque aparecerá em duas camadas diferentes. Uma porta TCP ou UDP é um identificador numérico de $16$ bits presente no cabeçalho do transporte. Como dezesseis bits representam $2^{16}=65\,536$ valores, o campo pode conter números de $0$ a $65\,535$. Cada segmento TCP e cada datagrama UDP carregam uma porta de origem e uma porta de destino. O endereço IP leva os dados até o host; a porta de destino permite que a implementação do transporte no sistema operacional os entregue ao processo receptor, enquanto a porta de origem identifica o ponto ao qual uma resposta pode retornar.

Essa porta não é o conector físico de um switch. A porta física termina um link e recebe ou transmite frames; a porta TCP ou UDP existe no protocolo de transporte e distingue comunicações que compartilham o mesmo endereço IP. Por isso, um host pode oferecer HTTPS na porta 443 e outro serviço na porta 8443. Para distinguir um fluxo, o sistema considera o protocolo de transporte, os endereços e as portas de origem e destino. O número da porta, sozinho, não prova qual aplicação gerou o tráfego.

Quem estudou grafos acaba deixando escapar vértice onde a literatura de redes prefere . Redes podem ser modeladas como grafos, e vamos explorar essa relação mais adiante na série. Os termos destacam pontos de vista diferentes sobre o mesmo elemento do modelo. Quando este pobre escriba trocar um pelo outro, a misericordiosa leitora já conhecerá a origem do vício.

Se qualquer sistema que participa da rede é um nó, cliente e servidor são papéis adotados em uma interação, não espécies de computador. O cliente inicia uma operação; o servidor espera uma operação em uma interface conhecida. Uma arquitetura entre pares, ou peer-to-peer, permite que os mesmos processos iniciem e atendam operações. Nada disso exige gabinete, monitor, operador humano ou uma máquina mais poderosa que as demais. São convenções úteis, desde que não as confundamos com propriedades físicas.

Vamos olhar o interior de um nó com um pouco mais de cuidado.

Cada ponto de conexão de um nó é uma interface de rede. Uma controladora de interface de rede, ou NIC, de Network Interface Controller, implementa uma ou mais interfaces físicas ou virtuais. Uma interface Ethernet possui um endereço da camada de link, conhecido como endereço MAC, de Media Access Control (controle de acesso ao meio). A mesma interface também pode possuir um ou mais endereços IP, que pertencem à camada Internet.

Antes de comparar esses endereços, precisamos conservar a hierarquia entre os objetos. A Figura 1 coloca processos e interfaces dentro do mesmo nó. Cliente e servidor aparecem como papéis da aplicação, enquanto cada NIC sustenta uma interface com endereços próprios e termina um link local.

Um nó host contém um processo cliente e um processo servidor, pois esses nomes descrevem papéis da aplicação. O mesmo nó possui uma interface Ethernet e uma interface Wi-Fi, cada uma implementada por uma NIC e identificada por seu próprio endereço MAC e por endereços IPv4 e IPv6. Cada interface termina em um link local diferente. Figura 1: cliente e servidor são papéis de processos no nó; os endereços MAC e IP pertencem a cada interface, por isso um único host pode manter vários de ambos.

Os endereços MAC e IP não competem.

O endereço MAC identifica uma interface no link local durante a entrega de um frame; o endereço IP identifica uma interface de origem ou destino durante o encaminhamento de pacotes entre redes. O Artigo 3 vai mostrar como uma máquina decide se entrega diretamente ao vizinho ou envia ao default gateway. Também vai explicar por que o endereço MAC do next hop muda enquanto o endereço IP de destino permanece.

Essa distinção elimina uma simplificação comum: um endereço MAC não identifica universalmente um dispositivo durante toda a vida útil. Interfaces virtuais podem receber endereços administrados por software, sistemas operacionais modernos podem aleatorizar endereços em redes sem fio e uma máquina com várias interfaces possui vários endereços. O endereço identifica uma interface dentro do contexto em que está sendo usado.

3. Equipamentos são funções em camadas

Vamos começar pelo equipamento que, normalmente, fica mais próximo do sinal. Um repetidor recebe uma representação degradada de bits e a regenera para outro segmento físico. Ele não interpreta endereços MAC nem IP. Um hub, equipamento de rede comum, é um repetidor com várias portas: o sinal recebido em uma porta é repetido para as demais. Todas as estações compartilham o mesmo domínio de colisão e a mesma capacidade.

Um switch Ethernet trabalha com frames e endereços MAC. Ele aprende em qual porta cada endereço de origem apareceu, cria uma tabela e usa essa tabela para encaminhar um frame conhecido somente à porta necessária. Um bridge executa a mesma função lógica entre segmentos de camada 2; o switch moderno é um bridge com várias portas implementado para operar em taxas de transferência realmente altas.

Um roteador trabalha com pacotes IP. Ele conecta redes diferentes, examina o endereço IP de destino, consulta uma tabela de rotas e escolhe o next hop. A escolha não será necessariamente o caminho geograficamente mais curto. Ela seguirá a rota mais específica permitida pela tabela e, entre organizações, as políticas que o Artigo 6 vai desenvolver.

Um modem, abreviação histórica de modulador e demodulador, adapta uma representação digital ao meio oferecido pela tecnologia de acesso. Por exemplo, ligando um computador a uma linha telefônica analógica, isso significava modular um sinal de áudio. Em acessos atuais, o aparelho chamado de modem pode terminar DOCSIS, DSL, fibra ou uma rede celular e ainda incorporar roteador, access point, switch e tradução de endereços no mesmo gabinete.

Por fim, gateway é um termo de função. Na configuração IP de uma estação, o default gateway é o roteador para destinos que não estão no link local. Em outros contextos, um gateway traduz protocolos ou representa um sistema diante de outro, como um gateway de API.

Cuidado! Chamar qualquer caixa que conecta redes diferentes de gateway não informa em qual camada a tradução ocorre. A engenheira ainda precisa perguntar o que foi lido e o que foi reescrito.

Função Unidade examinada Estado principal O que não decide
repetidor ou hub bits e sinais nenhum endereço aprendido destino MAC ou rota IP
switch ou bridge frame Ethernet endereço MAC de origem por porta e VLAN rota entre prefixos IP
roteador pacote IP prefixos, next hops e métricas processo de aplicação de destino
gateway de aplicação mensagem de aplicação sessões, identidades ou traduções meio físico usado em cada link

Tabela 2: a caixa ganha significado quando nomeamos a unidade que ela examina e o estado que conserva.

4. Do hub ao switch

Para começar, vamos considerar quatro estações ligadas a $1$ Gbit/s. Em um hub, todas participam do mesmo meio compartilhado. Uma transmissão de A para B, um frame, também chega fisicamente a C e D; as interfaces de C e D descartam o frame depois de ler o destino. Em um switch, cada porta forma um link separado e pode operar em full duplex, isto é, transmitir e receber ao mesmo tempo.

A Figura 2 coloca os dois regimes lado a lado. No hub, a seta se ramifica porque o próprio sinal é repetido. No switch, o frame conhecido atravessa somente o link entre as portas de A e B; C e D podem usar seus links simultaneamente.

Comparação entre um hub e um switch com quatro estações. No hub, um frame de A para B é repetido para B, C e D, e as quatro portas compartilham o domínio de colisão. No switch, a tabela MAC associa B à porta 2 e encaminha o frame somente entre A e B, enquanto C e D permanecem livres para outra comunicação. Figura 2: o concentrador repete o sinal e preserva um meio compartilhado; o switch separa os links e restringe o frame conhecido à porta aprendida.

O ganho não será simplesmente quatro vezes. Se A envia continuamente para B e C envia continuamente para D, um hub de $1$ Gbit/s oferece no máximo $1$ Gbit/s agregado ao domínio compartilhado. Um switch não bloqueante pode sustentar $1$ Gbit/s de A para B e outro $1$ Gbit/s de C para D ao mesmo tempo. Como os links são full duplex, o equipamento também pode sustentar tráfego nas direções inversas, desde que sua matriz interna tenha capacidade suficiente. A taxa escrita na porta e a capacidade agregada do equipamento são grandezas distintas.

4.1 Como o switch aprende

O switch não nasce conhecendo destinos. Ao receber um frame, ele associa o endereço MAC de origem à porta de entrada. Depois, procura o destino na tabela. Se encontrar outra porta, encaminha apenas para ela. Se não encontrar, faz broadcast de unicast desconhecido, enviando o frame às demais portas daquela VLAN. Se o destino for de broadcast, como ff:ff:ff:ff:ff:ff, também replica para as demais portas.

Tipos de Transmissão em Redes de Computadores

  • Unicast (1 para 1): Comunicação estabelecida de um único remetente para um único destinatário. No ambiente de um switch, quando o endereço físico de destino é conhecido, o equipamento encaminha o frame de dados exclusivamente para a porta física à qual o dispositivo destinatário está conectado.
  • Multicast (1 para Vários): Transmissão de um remetente para um grupo específico e delimitado de dispositivos na rede. Apenas os membros associados àquele grupo processam a informação recebida, enquanto os demais dispositivos a descartam.
  • Broadcast (1 para Todos): Envio de dados de um único remetente para todos os dispositivos presentes no mesmo segmento de rede local. A mensagem é distribuída de forma global e processada por todas as interfaces de rede ativas no domínio.

A ordem de processamento é importante.

O switch aprende com a origem porque sabe por onde o frame realmente chegou; não aprende com o destino, pois o destino ainda pode estar em qualquer porta. A Figura 3 acompanha três frames. O primeiro ensina onde A está e se espalha à procura de B. A resposta ensina B. O terceiro frame já percorre somente uma porta de saída. E assim, a tabela é criada.

Três etapas mostram a aprendizagem de uma tabela MAC em um switch de quatro portas. No primeiro frame, A entra pela porta 1 com destino B desconhecido; o switch aprende A na porta 1 e inunda as portas 2, 3 e 4. Na resposta, B entra pela porta 2 com destino A; o switch aprende B na porta 2 e encaminha apenas à porta 1. No terceiro frame, A envia novamente para B e o equipamento usa as duas entradas aprendidas para encaminhar somente da porta 1 à porta 2. Figura 3: aprender a origem transforma uma transmissão inicialmente espalhada em encaminhamento *unicast* nas conversas seguintes.

O tempo também é importante, as entradas expiram.

Sem envelhecimento, uma estação fisicamente movida da porta 2 para a porta 4 continuaria com os frames encaminhados para a porta antiga. Com envelhecimento, a tabela converge depois de observar tráfego novo ou de remover o registro ocioso. Essa convergência explica por que uma troca de cabo pode produzir alguns segundos de comportamento estranho sem que o endereço IP tenha mudado.

Nós ainda não detalhamos esse frame, mas nesta altura, a atenta leitora já deve estar fazendo os paralelos com as descrições fundamentais que fizemos sobre a física da rede no primeiro artigo da série.

4.2 Exercícios da Seção 4

1. Calcule a capacidade agregada nos dois regimes

Quatro estações usam links de $1$ Gbit/s. A envia para B e C envia para D, com fluxos saturados e independentes. Compare o máximo agregado em um hub e em um switch não bloqueante, considerando apenas uma direção por fluxo.

Solução: No hub, os quatro nós compartilham o mesmo domínio e a mesma capacidade de $1$ Gbit/s. Como os dois fluxos precisam repartir essa capacidade, o máximo agregado será

\[R_{\text{hub}} \le 1\ \text{Gbit/s}.\]

No switch, A para B ocupa um link de saída e C para D ocupa outro. Como não há porta compartilhada entre os dois fluxos e o equipamento foi declarado não bloqueante, o máximo agregado será

\[R_{\text{switch}} \le 1 + 1 = 2\ \text{Gbit/s}.\]

O switch dobra a taxa agregada neste cenário. Ele não cria capacidade em uma porta: permite que links independentes sejam usados ao mesmo tempo.

Regime Capacidade agregada máxima Interpretação
hub $1$ Gbit/s os dois fluxos dividem o mesmo domínio
switch não bloqueante $2$ Gbit/s os dois pares usam links independentes em paralelo

A comparação confirma que o ganho vem do paralelismo entre portas, sob a hipótese explícita de que o tecido interno não bloqueia os dois fluxos.

2. Construa a tabela depois de três frames

Um switch vazio recebe, nessa ordem, A para B pela porta 1, C para A pela porta 3 e B para C pela porta 2. Registre a tabela e as portas de saída de cada frame.

Solução: Cada passo começa aprendendo a origem.

Passo Tabela antes Frame de entrada Aprendizagem Portas de saída Tabela depois
1 vazia A para B, porta 1 A ocupa a porta 1 2, 3 e 4, pois B é desconhecido A:1
2 A:1 C para A, porta 3 C ocupa a porta 3 1, pois A é conhecido A:1, C:3
3 A:1, C:3 B para C, porta 2 B ocupa a porta 2 3, pois C é conhecido A:1, B:2, C:3

O primeiro frame se espalha, mas os dois seguintes já encontram destinos aprendidos. Depois de três origens observadas, a tabela contém A, B e C, independentemente de quem apareceu como destino primeiro.

3. Determine o que acontece quando uma estação muda de porta

A entrada B:2 ainda não expirou. A estação B é movida para a porta 4 e, antes de transmitir, A envia um frame para B. Em seguida, B envia um frame para A por iniciativa própria. O que acontece em cada passo?

Solução: No primeiro passo, o switch consulta a entrada antiga e envia o frame de A somente à porta 2. B está na porta 4, portanto não recebe esse frame.

No segundo passo, B transmite pela porta 4. O switch aprende novamente a origem B e substitui B:2 por B:4. Se A já estiver aprendido, o frame seguirá apenas para a porta de A. A próxima transmissão de A para B usará a porta 4.

Passo Estado de B antes Evento observado Decisão e estado depois
1 B:2 A envia para B frame sai pela porta 2; B não recebe
2 B:2 B responde pela porta 4 switch substitui a entrada por B:4
3 B:4 A envia novamente para B frame sai pela porta 4; B recebe

O movimento não é descoberto examinando o destino. Ele só se torna visível quando B aparece como origem ou quando a entrada antiga expira e um novo unicast desconhecido é difundido.

4. Separe unicast desconhecido de broadcast

Explique a diferença entre um frame destinado a 02:00:00:00:00:0b, ausente da tabela, e um frame destinado a ff:ff:ff:ff:ff:ff.

Solução: O primeiro é um unicast com destino desconhecido. O switch replica o frame porque ainda não sabe em qual porta está o único destinatário. Depois que observar esse endereço como origem, poderá restringir transmissões futuras.

O segundo é broadcast por definição. Todas as interfaces da VLAN são destinatárias, por isso o switch continuará replicando o frame mesmo que sua tabela esteja completa. A semelhança está nas portas de saída; a diferença está no contrato do destino e no fato de a aprendizagem poder eliminar apenas a primeira replicação.

Critério Unicast desconhecido Broadcast
destinatário lógico uma única interface todas as interfaces da VLAN
motivo da replicação tabela ainda não conhece a porta o endereço pede entrega coletiva
aprendizagem elimina a replicação? sim, quando o destino se torna conhecido não

Os dois frames podem sair pelas mesmas portas naquele instante, mas por razões diferentes. A tabela MAC resolve a incerteza do unicast; não altera o contrato de um broadcast.

Dois frames Ethernet de $1538$ bytes no fio, incluindo preâmbulo e intervalo entre frames contabilizado pelo modelo do Artigo 1, seguem simultaneamente por dois links de $1$ Gbit/s. Qual o tempo de serialização de cada frame e qual o tempo de parede para os dois?

Solução: Cada frame contém $1538 \times 8 = 12\,304$ bits. O tempo de transmissão será dado por

\[t_{\text{tx}} = \frac{12\,304}{10^9} = 12{,}304\ \mu\text{s}.\]

Como os links são independentes e as transmissões começam juntas, o tempo de parede é o máximo dos dois tempos, $12{,}304\ \mu\text{s}$, e não a soma $24{,}608\ \mu\text{s}$. Somar seria correto se os frames disputassem a mesma porta de saída ou o mesmo meio compartilhado.

5. Topologia física, topologia lógica e falha

Uma topologia descreve relações de conexão. Existem duas topologias importantes para nós agora.

A topologia física registra cabos, rádios e portas. A topologia lógica registra quem consegue enviar diretamente para quem segundo o protocolo. As duas podem divergir. Quatro estações ligadas fisicamente em estrela a um hub ainda compartilham logicamente um único meio; quatro estações ligadas a um switch usam links físicos em estrela, mas o equipamento cria caminhos lógicos separados para cada frame.

  • A topologia em barramento conecta os nós a um meio comum. Ela economiza cabo, porém uma falha no meio ou em uma terminação pode afetar todos os nós e apenas um transmissor usa o domínio por vez.

  • A topologia em estrela liga cada nó a um centro. A falha de um link isola uma ponta; a falha do centro afeta todas.

  • A topologia em árvore reúne estrelas em níveis e permite expansão, mas os elementos próximos da raiz concentram tráfego e impacto.

  • A malha oferece caminhos alternativos; em uma malha completa, cada par de nós possui um link próprio.

A Figura 4 marca o componente cuja falha separa a rede e mostra que redundância custa links.

Comparação de três topologias com cinco nós. Na estrela, quatro nós dependem de um switch central e a falha do centro separa todos. Na árvore, dois switches de acesso dependem de um link e de um switch de distribuição, criando pontos de falha por nível. Na malha completa, cada par de cinco nós possui um link, totalizando dez, e a falha de um único link preserva caminhos diretos entre os demais pares. Figura 4: estrela e árvore economizam links ao concentrar dependências; a malha compra caminhos alternativos com crescimento quadrático da quantidade de conexões.

Para comparar as duas topologias, vamos primeiro fixar a fronteira da contagem. O símbolo $n$ representa a quantidade de nós que desejamos interligar. Em uma estrela, o switch central é um equipamento adicional e não entra nesse valor. Como cada um dos $n$ nós precisa de um link até o centro, a quantidade de links de acesso será $n$.

Em uma malha completa não existe esse centro. Cada um dos $n$ nós mantém um link direto com todos os outros $n-1$ nós. Uma primeira contagem produziria $n(n-1)$ links, mas ela contaria cada conexão duas vezes: o link entre A e B é o mesmo link entre B e A. Em outras palavras, a** ordem dos nós não cria uma conexão diferente. É isso que significa dizer que cada link corresponde a um **par não ordenado.

Se $L_{\text{malha}}$ representa a quantidade de links de uma malha completa, precisamos dividir essa primeira contagem por dois. A quantidade será dada por

\[L_{\text{malha}} = \binom{n}{2} = \frac{n(n-1)}{2}.\]

Com cinco nós, por exemplo, teremos

\[L_{\text{malha}} = \frac{5(5-1)}{2} = \frac{5\times4}{2} = 10\]

links. Uma estrela ligando os mesmos cinco nós ao centro usaria apenas cinco links de acesso.

A diferença fica mais visível quando a rede cresce. Com cem nós, a malha completa exigirá

\[L_{\text{malha}} = \frac{100\times99}{2} = 4\,950\]

links, enquanto a estrela usará cem. A malha completa precisa, portanto, de $4\,950/100=49{,}5$ vezes mais links nesse cenário.

Esse crescimento é quadrático: quando acrescentamos um novo nó a uma malha com $n$ nós, precisamos criar mais $n$ links para conectá-lo a todos os nós existentes. Em troca, a topologia oferece caminhos alternativos que podem preservar a comunicação depois da falha de um link, desde que os protocolos de encaminhamento saibam utilizar esses caminhos.

Redes reais evitam os dois extremos. Elas costumam usar estrelas no acesso e malhas parciais no núcleo, concentrando redundância nos trechos em que uma falha produziria maior impacto. Mesmo assim, o desenho lógico não basta. Dois links aparentemente independentes continuam pertencendo ao mesmo domínio de falha quando atravessam o mesmo duto de fibra, dependem da mesma fonte de energia ou terminam no mesmo equipamento.

5.1 Exercícios da Seção 5

Quantos links são necessários para uma malha completa com $8$ nós? Compare com uma estrela que usa um switch central separado.

Solução: Na malha, cada par aparece uma vez. A quantidade de links será

\[L_{\text{malha}} = \frac{8(8-1)}{2} = \frac{56}{2} = 28.\]

Na estrela, cada um dos oito nós usa um link até o centro, portanto $L_{\text{estrela}}=8$. A malha usa $28/8=3{,}5$ vezes mais links. Ela compra conectividade direta e ausência de um centro único ao custo de crescimento quadrático.

Topologia Links com oito nós Razão diante da estrela
estrela com centro separado $8$ $1$
malha completa $28$ $3{,}5$

Para oito nós, a malha troca vinte links adicionais pela remoção do centro único e pela conectividade direta entre cada par.

Uma implantação suporta no máximo $45$ links entre nós. Qual o maior número inteiro de nós em malha completa?

Solução: A restrição imposta pelo orçamento será

\[\frac{n(n-1)}{2} \le 45.\]

Multiplicando os dois lados por dois, a desigualdade será

\[n^2-n-90 \le 0.\]

A raiz positiva da igualdade será

\[n = \frac{1+\sqrt{1+360}}{2} = \frac{1+19}{2} = 10.\]

Com dez nós, a malha usa $10 \times 9/2=45$ links. Onze nós exigiriam $11 \times 10/2=55$, ultrapassando o orçamento. O maior número é dez.

Candidato Links exigidos Cabe no orçamento de 45?
$n=10$ $45$ sim, ocupa o limite
$n=11$ $55$ não, excede por dez

A verificação dos dois inteiros vizinhos prova que dez é o máximo, não apenas um valor que satisfaz a desigualdade.

3. Compare o impacto de uma falha

Em uma estrela com oito estações e um switch central, compare uma falha em um link de acesso com uma falha no switch. Quantas estações perdem conectividade em cada caso?

Solução: A falha de um link de acesso separa somente a estação ligada a ele. Uma estação perde conectividade e as outras sete continuam alcançando o centro.

A falha do switch remove o ponto comum de todos os oito links. As oito estações deixam de se comunicar pela estrela. A forma geométrica não é redundância: ela apenas localiza as dependências. Para remover o ponto único, seria necessário duplicar o centro e fornecer caminhos independentes até ele.

Componente que falha Estações isoladas Alcance da falha
um link de acesso $1$ somente a estação daquele link
switch central $8$ toda a estrela

O componente central concentra oito vezes o impacto de uma falha isolada de acesso; a topologia permite localizar esse risco antes da implantação.

4. Calcule a disponibilidade de um caminho em série

Um caminho de uma estação até o servidor atravessa três componentes independentes, cada um com disponibilidade $99{,}9\%$. Qual a disponibilidade do caminho sob essa hipótese?

Solução: O caminho funciona somente quando os três componentes funcionam. Com $A=0{,}999$ para cada um, a disponibilidade conjunta será

\[A_{\text{caminho}} = 0{,}999^3 = 0{,}997002999.\]

Em porcentagem, o caminho oferece aproximadamente $99{,}7003\%$. Como um ano de $365$ dias contém $365\times24\times60=525\,600$ minutos, a indisponibilidade anual idealizada será

\[(1-0{,}997002999)\times 525\,600 \approx 1575{,}2\ \text{minutos}.\]

Isso corresponde a aproximadamente $1575{,}2/60=26{,}3$ horas por ano. Três noves por componente não produzem três noves no serviço em série. A conta ainda é otimista porque supõe falhas independentes.

Dois links redundantes têm disponibilidade individual de $99{,}9\%$. Sob independência, qual a disponibilidade de pelo menos um? O que muda se ambos usam o mesmo duto, cuja ruptura ocorre durante $0{,}5\%$ do tempo?

Solução: Sob independência, a probabilidade de os dois falharem juntos será

\[(1-0{,}999)^2 = 10^{-6}.\]

Logo, a disponibilidade de pelo menos um será $1-10^{-6}=99{,}9999\%$.

Com um duto compartilhado indisponível durante $0{,}5\%$ do tempo, os dois links falham juntos sempre que o duto falha. Mesmo que não houvesse outras falhas, a disponibilidade não poderia superar $99{,}5\%$. A diversidade lógica não compensa uma dependência física comum que não foi modelada.

Hipótese Disponibilidade máxima Dependência dominante
falhas independentes $99{,}9999\%$ falha simultânea dos dois links
duto compartilhado $99{,}5\%$ ruptura do duto comum

Ao revelar a infraestrutura compartilhada, o teto calculado cai quase meio ponto percentual. Dois links desenhados como caminhos distintos continuam sendo um único risco se percorrem o mesmo duto.

6. A Internet não é a Web

E lá vamos nós quebrando noções que o tempo deturpou.

A Internet é a infraestrutura, máquinas e conexões, e o conjunto de protocolos que permitem encaminhar pacotes entre redes. A World Wide Web, ou Web, é um sistema de recursos identificados por URLs e transferidos principalmente por HTTP. A Web usa a Internet; não é sinônimo dela nem a contém.

O e-mail também usa a Internet e não é Web. Conversas em tempo real podem usar WebSocket, protocolos próprios ou serviços Web, mas a conversa não se torna página por atravessar um navegador. Voz sobre IP, ou VoIP, de Voice over Internet Protocol (voz sobre o Protocolo de Internet), transporta áudio digital por pacotes e pode usar protocolos como SIP e RTP. A Figura 5 recoloca esses quatro serviços na pilha TCP/IP apresentada no Artigo 1. Web, e-mail, conversa e voz ocupam a camada de Aplicação e conservam contratos próprios; abaixo deles, Transporte, Internet e Link fornecem funções compartilhadas.

Diagrama da pilha TCP/IP em quatro camadas. Na camada de Aplicação aparecem quatro serviços separados: Web, com URL e HTTP; e-mail, com SMTP e protocolos de acesso; conversa, com mensagens em tempo real; e voz, com SIP e RTP. Todos compartilham as camadas de Transporte, Internet e Link. Uma nota distingue a camada Internet, responsável pelo encaminhamento IP, da Internet inteira. Figura 5: Web, e-mail, conversa e voz ocupam a camada de Aplicação e compartilham Transporte, Internet e Link; a camada Internet é uma parte da pilha, não a Internet inteira.

6.1 URL, navegador, página e site

Uma URL, de Uniform Resource Locator (localizador uniforme de recurso), identifica como alcançar um recurso. Na URL https://www.example.com:443/docs/rede?modo=curto#ip, https é o esquema, www.example.com é o host, 443 é a porta de transporte explícita, /docs/rede é o caminho, modo=curto é a query e ip é o fragmento interpretado pelo cliente. A URL não é apenas um endereço IP: ela contém uma gramática que liga identificação, protocolo e nome.

O navegador é um cliente capaz de resolver a URL, negociar o transporte, enviar uma requisição HTTP, interpretar a resposta e executar os formatos da Web. Um servidor Web é o processo que recebe requisições HTTP e produz respostas. A máquina física pode executar muitos servidores; um servidor pode atravessar várias máquinas; e uma resposta pode vir de uma CDN antes de alcançar a origem. Confundir servidor com computador apaga justamente a arquitetura que precisamos diagnosticar.

Uma página Web é um documento ou uma representação exibida como uma unidade de navegação. Um site é uma coleção organizada de recursos sob uma identidade e uma estrutura de navegação. A página pode ser montada a partir de HTML, folhas de estilo, JavaScript, imagens, fontes e respostas de APIs hospedadas em origens diferentes. Logo, uma página não corresponde necessariamente a um arquivo e um site não corresponde necessariamente a uma máquina.

Vamos chamar de conteúdo estático o recurso que pode ser servido sem calcular uma representação específica para cada requisição. Conteúdo dinâmico será o recurso produzido ou selecionado a partir de dados, identidade, tempo ou entrada da requisição. Uma página dinâmica pode ser entregue depressa a partir de cache; uma imagem estática pode carregar lentamente. Estático descreve como a representação é produzida, não oferece garantia de desempenho.

Hospedagem é o fornecimento de recursos computacionais e operacionais para publicar o serviço. Compartilhada, virtual privada, dedicada, sem servidor ou distribuída são formas de alocar isolamento, responsabilidade e capacidade. O rótulo comercial interessa menos que as perguntas de engenharia: quem aplica atualizações, quem escala, onde o estado reside e qual falha afeta quantos clientes?

6.2 Cookies, extensões e as gerações da Web

Um cookie HTTP é um pequeno par de nome e valor associado a regras de domínio, caminho, expiração e segurança. O servidor o cria com Set-Cookie; o navegador o devolve em requisições elegíveis no cabeçalho Cookie. O cookie não é, por definição, uma senha nem um arquivo que qualquer site pode ler. Os atributos Secure, HttpOnly e SameSite restringem transporte e acesso, mas não transformam um identificador de sessão em informação inofensiva. Se alguém rouba um cookie que representa uma sessão autenticada, pode roubar a sessão sem conhecer a senha.

Extensões e complementos acrescentam capacidades ao navegador. O antigo modelo de plug-ins binários, usado por tecnologias como Flash e Java no navegador, não é o modelo normal da Web atual. Uma extensão opera por APIs e permissões do navegador; um complemento de hardware expande a máquina e não faz parte do protocolo Web. Empilhar todos sob a palavra add-on esconde fronteiras de segurança completamente diferentes.

Os rótulos Web 2.0 e Web 3.0 descrevem períodos, propostas e estratégias de produto, não versões de um protocolo negociadas no fio. Web 2.0 ficou associado à participação do usuário e às aplicações interativas. Web 3.0 pode significar Web Semântica, aplicações descentralizadas ou outra proposta, conforme quem fala. Nenhum pacote carrega um campo que diga que a página pertence à Web 3.0. Para o diagnóstico, vamos preferir nomes verificáveis: HTTP/3, conteúdo gerado pelo usuário, dados ligados, identidade descentralizada ou execução no cliente.

6.3 Exercícios da Seção 6

1. Decomponha uma URL

Separe esquema, host, porta, caminho, query e fragmento em https://api.example.com:8443/v1/items?id=7#resultado.

Solução: A decomposição será:

Componente Valor Quem o usa principalmente
esquema https cliente para escolher o protocolo e as regras de segurança
host api.example.com DNS e política de origem
porta de transporte 8443 cliente e transporte para selecionar o processo remoto
caminho /v1/items servidor HTTP para selecionar o recurso
query id=7 aplicação para parametrizar a representação
fragmento resultado cliente para navegar dentro da representação

O fragmento não é enviado como parte da requisição HTTP normal. A separação mostra que chamar toda a URL de endereço mistura decisões realizadas em camadas e componentes diferentes.

Um cabeçalho Cookie acrescenta $320$ bytes a cada requisição. Uma página dispara $80$ requisições elegíveis ao mesmo domínio. Quantos bytes adicionais são enviados? Qual a fração diante de $200$ KiB de corpos de requisição?

Solução: O custo repetido será

\[B_{\text{cookie}} = 320 \times 80 = 25\,600\ \text{bytes}.\]

Os corpos somam $200 \times 1024 = 204\,800$ bytes. A fração em relação aos corpos será

\[\frac{25\,600}{204\,800}=0{,}125=12{,}5\%.\]

O cookie é pequeno em uma requisição e relevante quando repetido em muitas. A consequência de engenharia é restringir escopo e tamanho, não tratar cabeçalhos como custo gratuito.

3. Separe Internet de Web em quatro casos

Classifique: enviar um e-mail por SMTP, abrir uma página por HTTPS, realizar uma chamada por RTP e sincronizar arquivos por um protocolo próprio sobre QUIC.

Solução: Vamos aplicar dois critérios a cada caso. O uso da Internet exige que os dados sejam encaminhados pela pilha IP; o uso da Web exige uma interação com recursos Web por HTTP.

Caso Usa a Internet? Usa a Web? Justificativa
enviar e-mail por SMTP sim não SMTP é um protocolo de aplicação distinto de HTTP
abrir uma página por HTTPS sim sim HTTPS transporta HTTP com segurança e recupera um recurso Web
realizar uma chamada por RTP sim não RTP transporta mídia em tempo real, não recursos Web
sincronizar arquivos por protocolo próprio sobre QUIC sim não QUIC pode transportar protocolos diferentes; o protocolo descrito não é HTTP

Os quatro casos compartilham a infraestrutura IP, mas apenas a página por HTTPS pertence necessariamente à Web. Uma aplicação de e-mail, chamada ou sincronização pode oferecer uma interface Web separada; isso não muda a classificação do fluxo descrito.

4. Determine o ponto único de falha de uma hospedagem

Três servidores Web idênticos usam um único banco de dados. Cada servidor possui disponibilidade $99{,}9\%$ e o load balancer consegue usar qualquer um. O banco possui disponibilidade $99{,}5\%$. Sob independência, qual o teto de disponibilidade do serviço e qual a disponibilidade aproximada considerando as duas camadas?

Solução: A probabilidade de os três servidores falharem juntos será

\[(1-0{,}999)^3=10^{-9}.\]

A camada Web terá disponibilidade $1-10^{-9}=0{,}999999999$. Como o serviço exige também o banco, a disponibilidade conjunta será

\[A_{\text{serviço}}=0{,}999999999\times0{,}995\approx0{,}994999999.\]

Em porcentagem, o resultado permanece aproximadamente $99{,}5\%$. O banco define o teto. Multiplicar servidores em uma camada não remove a dependência compartilhada da camada seguinte.

5. Explique por que estático não significa rápido

Uma imagem estática de $20$ MiB atravessa um link de $20$ Mbit/s. Uma resposta dinâmica de $20$ KiB custa $40$ ms de processamento e usa o mesmo link. Ignore cabeçalhos e latência. Qual termina primeiro?

Solução: A imagem possui $20\times2^{20}\times8=167\,772\,160$ bits. Seu tempo de transmissão será

\[t_{\text{imagem}}=\frac{167\,772\,160}{20\times10^6}=8{,}389\ \text{s}.\]

A resposta dinâmica possui $20\times1024\times8=163\,840$ bits. Seu tempo de transmissão será dado por

\[t_{\text{tx}}=\frac{163\,840}{20\times10^6}=8{,}192\ \text{ms}.\]

Somando $40$ ms de processamento, $t_{\text{dinâmica}}=48{,}192$ ms.

Resposta Processamento Transmissão Tempo total
imagem estática de $20$ MiB desconsiderado $8{,}389$ s $8{,}389$ s
resposta dinâmica de $20$ KiB $40$ ms $8{,}192$ ms $48{,}192$ ms

O tempo da resposta estática é cerca de $8{,}389/0{,}048192\approx174$ vezes o tempo da dinâmica. Estático descreve produção; tamanho, processamento, cache e caminho determinam desempenho.

7. Uma tabela MAC reproduzível em C++23

O programa seguinte oferece uma referência didática para a decisão da Seção 4. Ele executa na CPU e não constitui um benchmark. Também não emula temporização, VLANs, protocolo de árvore de cobertura nem um switching fabric. Seu contrato é menor e verificável: aprender a origem, procurar o destino e devolver as portas de saída.

O código usa C++23 e compila no MSVC com /std:c++latest /W4 /O2 /EHsc. Os endereços MAC permanecem como texto porque o objetivo é tornar o rastreamento legível. Um encaminhador de produção usaria uma representação compacta e uma tabela projetada para a taxa de pacotes.

#include <algorithm>
#include <cstddef>
#include <iostream>
#include <stdexcept>
#include <string>
#include <string_view>
#include <unordered_map>
#include <utility>
#include <vector>

class LearningSwitch {
public:
    explicit LearningSwitch(std::size_t port_count) : port_count_{port_count} {
        if (port_count_ < 2) {
            throw std::invalid_argument{"o switch precisa de pelo menos duas portas"};
        }
        table_.reserve(port_count_);
    }

    [[nodiscard]] std::vector<std::size_t> receive(
        std::size_t ingress,
        std::string source,
        std::string_view destination) {
        validate_port(ingress);
        table_.insert_or_assign(std::move(source), ingress);

        if (destination == broadcast_address) {
            return flood_except(ingress);
        }

        const auto found = table_.find(std::string{destination});
        if (found == table_.end()) {
            return flood_except(ingress);
        }

        if (found->second == ingress) {
            return {};
        }

        return {found->second};
    }

    void print_table() const {
        std::vector<std::pair<std::string, std::size_t>> entries{
            table_.begin(), table_.end()};
        std::ranges::sort(entries, {}, &std::pair<std::string, std::size_t>::first);

        std::cout << "tabela:";
        for (const auto& [address, port] : entries) {
            std::cout << ' ' << address << "->" << port;
        }
        std::cout << '\n';
    }

private:
    static constexpr std::string_view broadcast_address{"ff:ff:ff:ff:ff:ff"};

    void validate_port(std::size_t port) const {
        if (port == 0 || port > port_count_) {
            throw std::out_of_range{"porta fora do intervalo"};
        }
    }

    [[nodiscard]] std::vector<std::size_t> flood_except(std::size_t ingress) const {
        std::vector<std::size_t> ports;
        ports.reserve(port_count_ - 1);
        for (std::size_t port = 1; port <= port_count_; ++port) {
            if (port != ingress) {
                ports.push_back(port);
            }
        }
        return ports;
    }

    std::size_t port_count_;
    std::unordered_map<std::string, std::size_t> table_;
};

void print_ports(std::string_view label, const std::vector<std::size_t>& ports) {
    std::cout << label << ':';
    if (ports.empty()) {
        std::cout << " nenhuma";
    } else {
        for (const auto port : ports) {
            std::cout << ' ' << port;
        }
    }
    std::cout << '\n';
}

int main() {
    LearningSwitch switch_model{4};

    print_ports("A para B", switch_model.receive(1, "A", "B"));
    switch_model.print_table();

    print_ports("B para A", switch_model.receive(2, "B", "A"));
    switch_model.print_table();

    print_ports("A para B", switch_model.receive(1, "A", "B"));
    switch_model.print_table();
}

7.1 Da decisão de encaminhamento ao código

Vamos agora ligar o comportamento do switch às estruturas do programa. Cada chamada de receive representa a chegada de um frame a uma porta. O parâmetro ingress informa a porta de entrada, source representa o endereço MAC de origem e destination representa o endereço MAC de destino. O método não devolve o conteúdo de um frame; devolve um std::vector<std::size_t> com os números das portas pelas quais o frame deve sair. Assim, um vetor com três elementos representa flooding para três portas, um vetor com um elemento representa encaminhamento unicast e um vetor vazio representa a decisão de não encaminhar.

O estado aprendido pelo equipamento aparece em table_. Esse std::unordered_map<std::string, std::size_t> associa uma cadeia que representa o endereço MAC ao número da porta em que a origem foi observada. O modelo mantém apenas esse par porque queremos isolar a decisão básica da Seção 4. Uma tabela real também precisaria considerar, entre outros dados, a VLAN e o tempo de envelhecimento da entrada.

Elemento da rede simulado Representação no código Relação preservada pelo modelo
switch de quatro portas LearningSwitch switch_model{4} as portas válidas são numeradas de 1 a 4
chegada de um frame receive(ingress, source, destination) cada chamada fornece a porta de entrada, a origem e o destino
tabela MAC table_ cada origem aprendida fica associada à porta de entrada
aprendizagem da origem insert_or_assign(..., ingress) uma origem nova é inserida e uma origem já conhecida pode mudar de porta
broadcast ou unicast desconhecido flood_except(ingress) o frame sai por todas as portas, exceto pela porta em que entrou
destino conhecido return {found->second} o frame sai somente pela porta registrada para o destino
destino na própria porta de entrada return {} nenhuma porta de saída é necessária

A ordem das instruções em receive reproduz a ordem da decisão do switch. Primeiro, validate_port rejeita uma porta inexistente. Em seguida, insert_or_assign aprende a origem antes de qualquer consulta ao destino. Essa posição não é acidental: o equipamento sabe onde a origem está porque acabou de receber o frame por ingress, enquanto a localização do destino ainda precisa ser procurada. Se a mesma origem reaparecer por outra porta, insert_or_assign substitui a associação anterior e representa a reaprendizagem descrita no exercício da Seção 4.

Depois da aprendizagem, o método trata os possíveis destinos. O endereço ff:ff:ff:ff:ff:ff, guardado em broadcast_address, exige broadcast e segue diretamente para flood_except. Um destino ausente de table_ produz as mesmas portas de saída, mas por outra razão: o switch ainda não sabe onde está o único destinatário. Quando a busca encontra o destino, o método devolve somente a porta armazenada. A exceção ocorre quando essa porta coincide com ingress; nesse caso, o destino já está no mesmo segmento da origem e o vetor vazio evita devolver o frame pela porta em que ele chegou.

Algumas partes do programa servem à reprodução do experimento, não à simulação do encaminhamento. print_ports apenas exibe o vetor de portas. Como std::unordered_map não mantém as chaves em ordem, print_table copia as associações para um vetor e usa std::ranges::sort para imprimi-las por endereço. Essa ordenação torna a saída estável e legível, mas não representa uma operação que o switch precise executar para encaminhar o frame.

Por fim, main reproduz os três frames da Figura 3. Na primeira chamada, A entra pela porta 1 e B ainda não está em table_; o método aprende A->1 e devolve as portas 2, 3 e 4. Na segunda, B entra pela porta 2; o método aprende B->2, encontra A e devolve apenas a porta 1. Na terceira, A volta a enviar para B; como as duas origens já foram aprendidas, a busca encontra B->2 e o método devolve somente a porta 2.

A saída será:

A para B: 2 3 4
tabela: A->1
B para A: 1
tabela: A->1 B->2
A para B: 2
tabela: A->1 B->2

A saída confirma a transição mostrada na Figura 3. O primeiro frame precisa se espalhar para descobrir B; a resposta de B completa a tabela; o terceiro frame já percorre somente a porta necessária. Temos, portanto, o mesmo mecanismo expresso em três formas verificáveis: a figura mostra o movimento dos frames, o código implementa a decisão e a saída registra o estado produzido depois de cada chamada.

8. Como auditar uma rede local e um serviço Web

Quando uma aplicação funciona em uma estação e falha em outra, vamos começar pela fronteira mais próxima e avançar somente depois de produzir evidência. Vamos confirmar se a interface está ativa, se a estação aprendeu o vizinho correto, se a VLAN permite alcançar o gateway, se existe rota para o destino, se o nome resolve e se o transporte abre. Pular diretamente para a aplicação transforma cada camada desconhecida em uma hipótese simultânea.

Em uma rede local, vamos registrar a porta, a VLAN, o endereço MAC aprendido e o instante da aprendizagem. Uma tabela MAC vazia pode ser consequência de silêncio, não de defeito. Uma tabela que alterna a mesma origem entre duas portas pode indicar um laço ou uma máquina em movimento. Uma transmissão inundada pode ser o primeiro frame legítimo, um destino expirado ou tráfego de broadcast excessivo. O mesmo sintoma visual admite mecanismos diferentes.

Em um serviço Web, vamos decompor a URL e registrar o endereço resolvido, o protocolo de transporte negociado, a resposta HTTP e a origem que a produziu. Uma página exibida pelo navegador pode ter falhado em vinte requisições auxiliares; um código 200 pode entregar uma página de erro produzida pela aplicação; um servidor saudável pode depender de um banco indisponível. A fronteira observada define o que o teste conseguiu provar.

9. Questões no estilo ENADE

Dispositivos de rede, topologias e protocolos Web só ficam claros quando cada diagnóstico respeita a fronteira que foi realmente observada. O questionário a seguir reúne cinco questões no estilo ENADE sobre switching, domínios de colisão e broadcast, VLANs, URLs e HTTP. As respostas permanecem ocultas até o final; depois da última questão, o resultado separa acertos e erros e explica cada alternativa incorreta escolhida.

10. Conclusão

Começamos com caixas e terminamos com contratos. O hub repete sinais, o switch aprende origens e encaminha frames, o roteador escolhe next hops para pacotes, e o gateway só ganha significado quando dizemos o que traduz. Topologias, por sua vez, não são desenhos decorativos: distribuem capacidade, estado e falha.

A mesma disciplina separou Internet de Web. A Internet entrega a base de conectividade sobre a qual Web, e-mail, conversa, voz e outros serviços constroem contratos próprios. Uma URL nomeia um recurso; um navegador atua como cliente; um servidor é um processo; um cookie transporta estado de aplicação. Nenhum desses objetos substitui a camada que o encaminha.

Falta agora abrir a decisão que deixamos dentro do roteador. O próximo artigo vai mostrar como um prefixo divide endereço e rede, como o algoritmo longest prefix match escolhe uma rota e como IPv4 e IPv6 entregam o mesmo contrato com mecanismos diferentes.

Antes de discutir transporte, precisamos saber para onde o pacote será transportado.

Acrônimos e Abreviações neste artigo

Acrônimo Definição em Inglês Tradução em Português
API Application Programming Interface Interface de Programação de Aplicações
ARP Address Resolution Protocol Protocolo de Resolução de Endereços
CDN Content Delivery Network Rede de Distribuição de Conteúdo
DNS Domain Name System Sistema de Nomes de Domínio
DOCSIS Data Over Cable Service Interface Specification Especificação de Interface para Dados sobre Serviço de Cabo
DSL Digital Subscriber Line Linha Digital de Assinante
HTTP Hypertext Transfer Protocol Protocolo de Transferência de Hipertexto
IP Internet Protocol Protocolo de Internet
LAN Local Area Network Rede de Área Local
MAC Media Access Control Controle de Acesso ao Meio
MAN Metropolitan Area Network Rede de Área Metropolitana
NIC Network Interface Controller Controlador de Interface de Rede
PAN Personal Area Network Rede de Área Pessoal
RTP Real-time Transport Protocol Protocolo de Transporte em Tempo Real
SIP Session Initiation Protocol Protocolo de Iniciação de Sessão
SMTP Simple Mail Transfer Protocol Protocolo Simples de Transferência de Correio
TCP Transmission Control Protocol Protocolo de Controle de Transmissão
UDP User Datagram Protocol Protocolo de Datagrama de Usuário
URL Uniform Resource Locator Localizador Uniforme de Recurso
VLAN Virtual Local Area Network Rede Local Virtual
VoIP Voice over Internet Protocol Voz sobre o Protocolo de Internet
WAN Wide Area Network Rede de Área Ampla

Referências

BARTH, A. RFC 6265: HTTP State Management Mechanism. IETF, 2011. Disponível em: https://www.rfc-editor.org/rfc/rfc6265. Acesso em: 21 ago. 2026.

BERNERS-LEE, T. Information Management: A Proposal. CERN, 1989. Disponível em: https://www.w3.org/History/1989/proposal.html. Acesso em: 21 ago. 2026.

BONAVENTURE, O. Computer Networking: Principles, Protocols and Practice. 3. ed. Université catholique de Louvain. Disponível em: https://www.computer-networking.info/. Acesso em: 21 ago. 2026.

BRADEN, R. (ed.). RFC 1122: Requirements for Internet Hosts: Communication Layers. IETF, 1989. Disponível em: https://www.rfc-editor.org/rfc/rfc1122. Acesso em: 21 ago. 2026.

EDDY, W. (ed.). RFC 9293: Transmission Control Protocol (TCP). IETF, 2022. Disponível em: https://www.rfc-editor.org/rfc/rfc9293. Acesso em: 28 ago. 2026.

FIELDING, R.; NOTTINGHAM, M.; RESCHKE, J. RFC 9110: HTTP Semantics. IETF, 2022. Disponível em: https://www.rfc-editor.org/rfc/rfc9110. Acesso em: 21 ago. 2026.

INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS. IEEE 802.1Q-2022: Bridges and Bridged Networks. IEEE Standards Association, 2022. Disponível em: https://standards.ieee.org/ieee/802.1Q/10323/. Acesso em: 21 ago. 2026.

INTERNET ASSIGNED NUMBERS AUTHORITY. Service Name and Transport Protocol Port Number Registry. Disponível em: https://www.iana.org/assignments/service-names-port-numbers/. Acesso em: 28 ago. 2026.

MICROSOFT. Microsoft C/C++ Language Conformance by Visual Studio Version. Microsoft Learn. Disponível em: https://learn.microsoft.com/en-us/cpp/overview/visual-cpp-language-conformance?view=msvc-170. Acesso em: 21 ago. 2026.

PETERSON, L.; DAVIE, B. Computer Networks: A Systems Approach. Edição aberta. Disponível em: https://book.systemsapproach.org/. Acesso em: 21 ago. 2026.

PLUMMER, D. C. RFC 826: An Ethernet Address Resolution Protocol. IETF, 1982. Disponível em: https://www.rfc-editor.org/rfc/rfc826. Acesso em: 21 ago. 2026.

POSTEL, J. RFC 768: User Datagram Protocol. IETF, 1980. Disponível em: https://www.rfc-editor.org/rfc/rfc768. Acesso em: 28 ago. 2026.

SCHULZRINNE, H.; CASNER, S.; FREDERICK, R.; JACOBSON, V. RFC 3550: RTP: A Transport Protocol for Real-Time Applications. IETF, 2003. Disponível em: https://www.rfc-editor.org/rfc/rfc3550. Acesso em: 21 ago. 2026.

SCOTT, E. The Worst Thing That Could Happen: How Empire Blue Cross and Blue Shield Survived September 11. Harvard Kennedy School Case Program, 2002. Disponível em: https://case.hks.harvard.edu/the-worst-thing-that-could-happen-how-empire-blue-cross-and-blue-shield-survived-september-11/. Acesso em: 22 ago. 2026.

WHATWG. URL Standard. Disponível em: https://url.spec.whatwg.org/. Acesso em: 21 ago. 2026.

ZÚÑIGA, J. C.; BERNARDOS, C. J.; ANDERSDOTTER, A. RFC 9724: State of Affairs for Randomized and Changing Media Access Control (MAC) Addresses. IETF, 2025. Disponível em: https://www.rfc-editor.org/rfc/rfc9724. Acesso em: 21 ago. 2026.

Índice da Série: Redes para Engenharia de Software

(Updated: )