Redes de Computadores I - Serviço de Tradução de Endereços (NAT) por Helcio Wagner da Silva Introdução • Os endereços IP são escassos – Ex.: ISP com rede classe B é capaz de atender até 65.534 hosts – E se esse ISP tiver mais de 65.534 clientes? – Possível solução: • Para clientes individuais com conexão discada, atribuise dinamicamente um endereço IP quando ele se conecta e efetua o logon • Quando o cliente se desconectar, o endereço é designado a outro cliente 2 Introdução • Mas, e os clientes de negócios? – Os computadores desse tipo de cliente precisam ficar conectados H24! Servidor HTTP (end. IP fixo) Servidor SMTP (end. IP fixo) ISP Roteador (end. IP fixos) Servidor FTP (end. IP fixo) Servidor DNS (end. IP fixo) 3 Introdução • E os clientes ADSL? – Esses clientes também ficam conectados H24 • não há tarifação baseada no tempo de conexão ISP End. IP fixo 4 Introdução • E se cada cliente ADSL possuísse vários computadores? ISP end. IP fixo end. IP fixo Roteador (end. IP fixos) end. IP fixo 5 Introdução • Soluções para a escassez de endereços IP – Solução de longo prazo • Migração para o IPv6 – Solução de curto prazo • Utilização do Serviço de Tradução de Endereços (NAT) • A idéia básica por trás é atribuir a cada cliente do ISP um único endereço IP válido – Dentro da rede do cliente, cada computador usa um endereço IP inválido – Quando um datagrama sai da rede em direção ao ISP ocorre uma tradução de endereços 6 Faixa de Endereços Usada para o NAT • O Serviço NAT utiliza as seguintes faixas de endereços – 10.0.0.0 → 10.255.255.255/8 • 16.777.216 hosts – 172.16.0.0 → 172.31.255.255/12 • 1.048.576 hosts – 192.168.0.0 → 192.168.255.255/16 • 65.536 hosts • Nenhum datagrama contendo esses endereços circula pela Internet 7 Funcionamento de uma Caixa NAT 10.0.0.2 10.0.0.2 ISP 198.60.42.12 10.0.0.1 10.0.0.3 Caixa NAT 10.0.0.4 8 Funcionamento de uma Caixa NAT ? ISP 10.0.0.2 198.60.42.12 10.0.0.1 10.0.0.3 Caixa NAT 10.0.0.4 9 Funcionamento de uma Caixa NAT Segmento TCP/UDP... TCP/UDP ...encapsulado por um datagrama IP IP Segmento TCP Segmento UDP 16 16 16 16 Porta de origem Porta de destino Porta de origem Porta de destino Tamanho Checksum Número de Seqüência Número de Reconhecimento Tam. Bits Flag Checksum Tam. da Janela Pont. Dados Urg. Opções 10 Funcionamento de uma Caixa NAT ISP índice Caixa NAT 666 Porta de origem 1500 Endereço IP original 10.0.0.2 65.536 entradas possíveis 1. Endereço IP original (10.0.0.2) é substituído pelo externo (198.60.42.12) 2. Porta de origem (1500) é substituída por um índice na tabela (666) 3. Checksum do segmento TCP/UDP e do datagrama IP são recalculados 11 Funcionamento de uma Caixa NAT ISP índice Caixa NAT 666 Porta de origem 1500 Endereço IP original 10.0.0.2 65.536 entradas possíveis 1. Porta de Origem (666) é utilizada como índice na tabela de mapeamento 2. Porta e Endereço IP de origem voltam a ter seus valores originais 3. Checksum do segmento TCP/UDP e do datagrama IP são recalculados 12 Críticas ao Uso do NAT • O NAT viola o modelo arquitetônico do IP – Um endereço IP deixa de identificar uma única máquina em todo o mundo • Se a Caixa NAT sofrer uma pane e sua tabela de mapeamento se perder, todas as conexões TCP serão perdidas • O NAT viola uma regra fundamental da distribuição de protocolos em níveis – O Nível de Rede não deveria investigar o que possui o cabeçalho do Nível de Transporte – Isso foi feito para se garantir a independência dos protocolos – E se houver uma versão nova do TCP (ou outro protocolo)? 13 Críticas ao Uso do NAT • Algumas aplicações inserem endereços IP em suas PDUs – O NAT nada sabe sobre ele, e, portanto, não pode substituí-los • No máximo, 65.536 máquinas podem ser mapeadas em um único endereço IP – Na verdade, o número certo é 61.440, pois as primeiras 4.096 portas estão reservadas para usos especiais • O NAT é também chamado de Serviço de Tradução de Endereços e Portas, ou NAPT, sendo definido na RFC 2993 14