Da Rede Local à Web: Dispositivos, Topologias e Serviços
por Frank de Alcantara em 08/08/2026
O artigo 1 desta série apresentou a rede como um caminho de interfaces, enlaces, comutadores 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
- 1. A Pilha TCP/IP e a Física da Rede
- 2. Da Rede Local à Web: Dispositivos, Topologias e Serviços (Você está aqui)
- 3. Camada IP: Endereçamento, Sub-redes e Encaminhamento
- 4. Transporte: TCP, UDP e QUIC
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 quadro, 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, correio, conversa e voz.
1. Por que uma rede existe
Uma rede de computadores é um conjunto de sistemas capazes de trocar dados por enlaces 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:
- A primeira é compartilhar dados, como um arquivo lido por duas aplicações.
- A segunda é compartilhar serviços, como um banco de dados ou uma fila.
- A terceira é compartilhar recursos físicos, como armazenamento e impressoras.
- 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 comutador 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 comutador e difusão 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 nó qualquer sistema que participa da rede. Quando o nó ocupa uma ponta e executa aplicações, ele também é um hospedeiro, ou host. Um hospedeiro 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 abrir uma porta local e transformar a mesma máquina em servidor.
Quem estudou grafos acaba deixando escapar vértice onde a literatura de redes prefere nó. 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 enlace, 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 enlace local.
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 hospedeiro pode manter vários de ambos.
Os endereços MAC e IP não competem.
O endereço MAC identifica uma interface no enlace local durante a entrega de um quadro; 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 gateway padrão. Também vai explicar por que o endereço MAC do próximo salto 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 comutador Ethernet, também chamado de switch, trabalha com quadros 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 quadro conhecido somente à porta necessária. Uma ponte, ou bridge, executa a mesma função lógica entre segmentos de camada 2; o switch moderno é uma ponte com várias portas implementada 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 próximo salto. 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, ponto de acesso, comutador 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 gateway padrão é o roteador para destinos que não estão no enlace 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 |
| comutador ou ponte | quadro Ethernet | endereço MAC de origem por porta e VLAN | rota entre prefixos IP |
| roteador | pacote IP | prefixos, próximos saltos 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 enlace |
Tabela 2: a caixa ganha significado quando nomeamos a unidade que ela examina e o estado que conserva.
4. Do hub ao comutador
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 quadro, também chega fisicamente a C e D; as interfaces de C e D descartam o quadro depois de ler o destino. Em um comutador, cada porta forma um enlace 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 comutador, o quadro conhecido atravessa somente o enlace entre as portas de A e B; C e D podem usar seus enlaces simultaneamente.
Figura 2: o concentrador repete o sinal e preserva um meio compartilhado; o comutador separa os enlaces e restringe o quadro 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 comutador 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 enlaces 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 comutador aprende
O comutador, o switch, não nasce conhecendo destinos. Ao receber um quadro, 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 difusão de unicast desconhecido, enviando o quadro às demais portas daquela VLAN. Se o destino for de difusão, 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 quadro 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 quadro realmente chegou; não aprende com o destino, pois o destino ainda pode estar em qualquer porta. A Figura 3 acompanha três quadros. O primeiro ensina onde A está e se espalha à procura de B. A resposta ensina B. O terceiro quadro já percorre somente uma porta de saída. E assim, a tabela é criada.
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 quadros 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 quadro, 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 enlaces 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 comutador 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 comutador, A para B ocupa um enlace 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 comutador dobra a taxa agregada neste cenário. Ele não cria capacidade em uma porta: permite que enlaces 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 |
| comutador não bloqueante | $2$ Gbit/s | os dois pares usam enlaces 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 quadros
Um comutador 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 quadro.
Solução: Cada passo começa aprendendo a origem.
| Passo | Tabela antes | Quadro 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 quadro 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 quadro para B. Em seguida, B envia um quadro para A por iniciativa própria. O que acontece em cada passo?
Solução: No primeiro passo, o comutador consulta a entrada antiga e envia o quadro de A somente à porta 2. B está na porta 4, portanto não recebe esse quadro.
No segundo passo, B transmite pela porta 4. O comutador aprende novamente a origem B e substitui B:2 por B:4. Se A já estiver aprendido, o quadro 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 | quadro sai pela porta 2; B não recebe |
| 2 | B:2 | B responde pela porta 4 | comutador substitui a entrada por B:4 |
| 3 | B:4 | A envia novamente para B | quadro 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 difusão
Explique a diferença entre um quadro destinado a 02:00:00:00:00:0b, ausente da tabela, e um quadro destinado a ff:ff:ff:ff:ff:ff.
Solução: O primeiro é um unicast com destino desconhecido. O comutador replica o quadro 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 é difusão por definição. Todas as interfaces da VLAN são destinatárias, por isso o comutador continuará replicando o quadro 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 | Difusão |
|---|---|---|
| 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 quadros 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 uma difusão.
5. Calcule o tempo para transmitir um quadro em enlaces independentes
Dois quadros Ethernet de $1538$ bytes no fio, incluindo preâmbulo e intervalo entre quadros contabilizado pelo modelo do Artigo 1, seguem simultaneamente por dois enlaces de $1$ Gbit/s. Qual o tempo de serialização de cada quadro e qual o tempo de parede para os dois?
Solução: Cada quadro 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 enlaces 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 quadros 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 enlaces físicos em estrela, mas o equipamento cria caminhos lógicos separados para cada quadro.
-
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 enlace 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 enlace próprio.
A Figura 4 marca o componente cuja falha separa a rede e mostra que redundância custa enlaces.
Figura 4: estrela e árvore economizam enlaces 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 comutador central é um equipamento adicional e não entra nesse valor. Como cada um dos $n$ nós precisa de um enlace até o centro, a quantidade de enlaces de acesso será $n$.
Em uma malha completa não existe esse centro. Cada um dos $n$ nós mantém um enlace direto com todos os outros $n-1$ nós. Uma primeira contagem produziria $n(n-1)$ enlaces, mas ela contaria cada conexão duas vezes: o enlace entre A e B é o mesmo enlace 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 enlace corresponde a um **par não ordenado.
Se $L_{\text{malha}}$ representa a quantidade de enlaces 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\]enlaces. Uma estrela ligando os mesmos cinco nós ao centro usaria apenas cinco enlaces 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\]enlaces, enquanto a estrela usará cem. A malha completa precisa, portanto, de $4\,950/100=49{,}5$ vezes mais enlaces nesse cenário.
Esse crescimento é quadrático: quando acrescentamos um novo nó a uma malha com $n$ nós, precisamos criar mais $n$ enlaces 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 enlace, 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 enlaces 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
1. Conte os enlaces de uma malha completa
Quantos enlaces são necessários para uma malha completa com $8$ nós? Compare com uma estrela que usa um comutador central separado.
Solução: Na malha, cada par aparece uma vez. A quantidade de enlaces será
\[L_{\text{malha}} = \frac{8(8-1)}{2} = \frac{56}{2} = 28.\]Na estrela, cada um dos oito nós usa um enlace até o centro, portanto $L_{\text{estrela}}=8$. A malha usa $28/8=3{,}5$ vezes mais enlaces. Ela compra conectividade direta e ausência de um centro único ao custo de crescimento quadrático.
| Topologia | Enlaces 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 enlaces adicionais pela remoção do centro único e pela conectividade direta entre cada par.
2. Inverta a fórmula para um orçamento de enlaces
Uma implantação suporta no máximo $45$ enlaces 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$ enlaces. Onze nós exigiriam $11 \times 10/2=55$, ultrapassando o orçamento. O maior número é dez.
| Candidato | Enlaces 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 comutador central, compare uma falha em um enlace de acesso com uma falha no comutador. Quantas estações perdem conectividade em cada caso?
Solução: A falha de um enlace 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 comutador remove o ponto comum de todos os oito enlaces. 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 enlace de acesso | $1$ | somente a estação daquele enlace |
| comutador 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.
5. Mostre por que dois enlaces podem continuar sendo um único risco
Dois enlaces 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 enlaces 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 enlaces |
| duto compartilhado | $99{,}5\%$ | ruptura do duto comum |
Ao revelar a infraestrutura compartilhada, o teto calculado cai quase meio ponto percentual. Dois enlaces 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.
Correio eletrônico 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, correio, conversa e voz ocupam a camada de Aplicação e conservam contratos próprios; abaixo deles, Transporte, Internet e Enlace fornecem funções compartilhadas.
Figura 5: Web, correio, conversa e voz ocupam a camada de Aplicação e compartilham Transporte, Internet e Enlace; 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 hospedeiro, 443 é a porta explícita, /docs/rede é o caminho, modo=curto é a consulta 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, hospedeiro, porta, caminho, consulta 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 |
| hospedeiro | api.example.com |
DNS e política de origem |
| porta | 8443 |
transporte para escolher o processo remoto |
| caminho | /v1/items |
servidor HTTP para selecionar o recurso |
| consulta | 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.
2. Calcule o custo de um cookie repetido
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 correio 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 correio, 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 balanceador 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 enlace de $20$ Mbit/s. Uma resposta dinâmica de $20$ KiB custa $40$ ms de processamento e usa o mesmo enlace. 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 uma matriz de comutação. 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 comutador 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 comutador às estruturas do programa. Cada chamada de receive representa a chegada de um quadro 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 quadro; devolve um std::vector<std::size_t> com os números das portas pelas quais o quadro deve sair. Assim, um vetor com três elementos representa uma inundação para três portas, um vetor com um elemento representa um 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 |
|---|---|---|
| comutador de quatro portas | LearningSwitch switch_model{4} |
as portas válidas são numeradas de 1 a 4 |
| chegada de um quadro | 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 |
| difusão ou unicast desconhecido | flood_except(ingress) |
o quadro sai por todas as portas, exceto pela porta em que entrou |
| destino conhecido | return {found->second} |
o quadro 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 comutador. 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 quadro 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 difusão e segue diretamente para flood_except. Um destino ausente de table_ produz as mesmas portas de saída, mas por outra razão: o comutador 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 quadro 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 comutador precise executar para encaminhar o quadro.
Por fim, main reproduz os três quadros 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 quadro precisa se espalhar para descobrir B; a resposta de B completa a tabela; o terceiro quadro 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 quadros, 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 quadro legítimo, um destino expirado ou tráfego de difusão 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. Conclusão
Começamos com caixas e terminamos com contratos. O hub repete sinais, o comutador aprende origens e encaminha quadros, o roteador escolhe próximos saltos 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, correio, 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 a correspondência pelo prefixo mais longo 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 |
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.
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.
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.
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
- 1. A Pilha TCP/IP e a Física da Rede
- 2. Da Rede Local à Web: Dispositivos, Topologias e Serviços (Você está aqui)
- 3. Camada IP: Endereçamento, Sub-redes e Encaminhamento
- 4. Transporte: TCP, UDP e QUIC
(Updated: )