Redes e a Internet
Circuitos, pacotes, camadas e encapsulamento, com contas de transmissão em série.
Um portátil pede um ficheiro a um servidor. Os dados seguem em pacotes, que os routers encaminham entre redes. O portátil pode usar TCP para recuperar perdas, mas o serviço IP que transporta os pacotes não garante chegada, ordem ou ausência de duplicados.
Um bit é um 0 ou 1, e um byte são 8 bits. Aqui usamos kbit/s e Mbit/s decimais; e bits por segundo.
Circuitos e pacotes
Na comutação de circuitos, reservas capacidade antes de transmitir. FDM reserva bandas de frequência e TDM reserva intervalos de tempo. A reserva dá débito previsível, mas fica ocupada mesmo quando a origem não envia.
Na comutação de pacotes, os fluxos partilham capacidade conforme a necessidade. Um router liga redes e escolhe o caminho de cada pacote; recebe um pacote, escolhe a saída e espera que fique livre. Na multiplexagem estatística, a capacidade da saída não fica reservada a um fluxo, por isso quando um fica sem dados outro pode usá-la; em compensação, pode criar filas e perdas quando a procura excede o serviço.
Uma rede de pacotes pode usar datagramas, com decisão de encaminhamento por pacote, ou circuitos virtuais, com estado de ligação no caminho. IP usa datagramas. Uma ligação TCP entre aplicações não transforma a rede IP numa rede de circuitos virtuais: o TCP corre nos terminais, por cima de datagramas independentes.
Num circuito virtual, a tabela pode associar (porta de entrada, identificador do circuito) a (porta de saída, novo identificador). A associação (1, 12) → (3, 22) manda um pacote que entra na porta 1 com identificador 12 sair na porta 3 com identificador 22. A consulta é exata e os identificadores podem mudar por ligação, ao contrário do endereço IP de destino, que cada router consulta por prefixo sem alterar. Um circuito virtual também não implica, por si só, capacidade reservada: isso depende do serviço estabelecido, não do mecanismo de consulta.
Store-and-forward e segmentação
Em store-and-forward, um equipamento só começa a enviar um pacote depois de o receber inteiro. Para pacotes iguais de bits, através de ligações iguais de débito , sem propagação, filas ou processamento:
O primeiro pacote ocupa tempos de transmissão. Os restantes chegam espaçados de , porque as ligações trabalham em paralelo.
Exemplo. Divide 3 Mbit em três pacotes de 1 Mbit. Há duas ligações de 1 Mbit/s. O primeiro chega em 2 s, o segundo em 3 s e o terceiro em 4 s. Sem divisão, o pacote único demoraria 6 s. Com mais cabeçalhos ou pacotes menores, muda a quantidade transmitida.
Cada bloco mostra a transmissão completa de um pacote numa ligação. Entre 1 e 2 s, a origem envia P2 enquanto o router envia P1, porque já o recebeu inteiro; esta sobreposição entre ligações mantém o store-and-forward, pois nenhuma segunda transmissão começa antes de terminar a primeira.
Neste modelo, cada transmissão demora s. O primeiro pacote precisa de intervalos para atravessar as duas ligações e cada um dos pacotes restantes acrescenta um intervalo até à última chegada; por isso, contamos intervalos, e não transmissões feitas uma de cada vez.
Para um circuito com capacidade de 1 Mbit/s, estabelecimento de 0,5 s e propagação desprezável, a mensagem demoraria s. O circuito ganha neste exemplo isolado. Isso não prova que aproveite melhor uma rede com muitos utilizadores intermitentes.
Se os débitos forem diferentes, desenha início e fim de cada transmissão, porque a expressão acima exige ligações iguais. A transmissão seguinte começa quando o pacote já chegou inteiro e a saída está livre; usa o mais tardio desses dois instantes.
Camadas, unidades e endereços
| Camada | Unidade habitual | Identificação e função |
|---|---|---|
| Aplicação | Mensagem | Nomes e operações, como um pedido HTTP |
| Transporte | Segmento TCP ou datagrama UDP | Portas e entrega entre processos |
| Rede | Pacote ou datagrama IP | Endereços IP e encaminhamento entre redes |
| Ligação | Trama | Endereços MAC quando usados, entrega no salto local |
| Física | Bits e símbolos | Representação do sinal no meio |
O modelo OSI separa ainda sessão e apresentação entre aplicação e transporte. O modelo TCP/IP não exige essa separação em camadas distintas. Não confundas os modelos com protocolos concretos.
No encapsulamento, o TCP acrescenta o seu cabeçalho aos dados, o IP envolve o segmento e a Ethernet envolve o pacote com verificação de erros. O destino desfaz estas etapas. Um router retira a trama, processa IP e constrói outra para a ligação seguinte. O cabeçalho de ligação muda por salto; os IP de origem e destino mantêm-se, salvo traduções como NAT.
| Ponto do percurso | O que muda | O que se mantém |
|---|---|---|
| Host origem | Cria segmento, pacote e trama | Dados da aplicação |
| Router | Retira a trama, baixa TTL, refaz checksum IPv4, cria nova trama | IP de origem e destino, conteúdo TCP |
| Host destino | Retira trama, pacote e segmento | Dados, entregues por ordem se o transporte o garantir |
Equipamentos e topologias
Terminais, ligações e equipamentos distinguem-se pela função. Um concentrador repete sinais, um comutador encaminha tramas e um router encaminha pacotes IP; um aparelho doméstico pode combinar os três sem tornar iguais estas funções. Uma rede de comutadores Ethernet oferece comutação de pacotes baseada apenas em endereços MAC: não é uma rede de circuitos, nem consulta endereços IP para escolher a porta.
Uma ligação Bluetooth entre o portátil e um periférico é uma rede pessoal, PAN. A rede local de uma casa ou edifício é uma LAN; redes de âmbito metropolitano e alargado são designadas MAN e WAN. Estas designações descrevem o âmbito, não garantem um débito ou um protocolo. A Internet interliga redes de vários âmbitos.
Distingue topologia física de topologia lógica, isto é, cabos de percursos permitidos; uma VLAN pode separar duas redes lógicas no mesmo comutador. Distingue também débito da ligação de débito útil, porque o segundo conta só dados entregues à aplicação.
Exercícios
Calcular a chegada do último pacote
Quatro pacotes de 12000 bits atravessam três ligações de 2 Mbit/s, store-and-forward. Sem outros atrasos, quantos ms demora a chegar o último?
Pista
Conta o primeiro pacote e o espaçamento dos seguintes.
Solução
(3+4−1)×12000/2000000=0,036 s, ou 36 ms. As três ligações funcionam em paralelo após o primeiro pacote.
Erros frequentes
Multiplicar 4 ×3 ×6 ms e ignorar o paralelismo.
Contar apenas dados úteis
Um pacote tem 1000 bytes de dados e 40 bytes de cabeçalhos. Um canal sem perdas transmite 104 kbit/s sempre ocupado. Qual o débito útil em kbit/s?
Pista
A fração útil é dados divididos pelo total.
Solução
104 ×1000/1040=100 kbit/s. A utilização do canal é 100%, mas o débito útil exclui cabeçalhos.
Seguir o encapsulamento
Explica o que um router retira e acrescenta ao encaminhar um pacote IPv4 de Ethernet para outra Ethernet, sem NAT.
Pista
Um router liga dois saltos de ligação; revê o quadro de encapsulamento na lição.
Solução
O router retira o invólucro de ligação, processa IP e cria a trama da ligação seguinte. Os IP dos extremos mantêm-se neste cenário. TTL diminui de um em cada router IPv4 e a checksum do cabeçalho é recalculada; a explicação completa de TTL e checksum está na página de IP.
Confere a tua resposta:
- Retira a trama recebida e verifica os campos aplicáveis.
- Decide pelo destino IP e atualiza TTL/checksum IPv4.
- Cria outra trama com MAC da saída e do próximo salto.
Seguir duas ligações com débitos diferentes
Dois pacotes de 1000 bits atravessam uma ligação de 1 Mbit/s e depois outra de 0,5 Mbit/s, em store-and-forward. A origem envia-os seguidos, desde t=0. Ignora propagação, processamento e outro tráfego. Em que instante chega o último bit do segundo pacote ao destino, em ms?
Pista
O router só envia depois de receber o pacote inteiro e de a saída ficar livre.
Solução
P2 espera até 3 ms, porque a saída ainda transmite P1. Demora mais 2 ms nessa ligação e termina em 5 ms. As transmissões da primeira ligação terminam em 1 e 2 ms; as da segunda, em 3 e 5 ms.