Princípios de desenho do nível IP na Internet
1. Ter a certeza que funciona. 2. Manter os protocolos simples. 3. Fazer escolhas claras.
4. Tirar proveito da modularidade. 5. Esperar heterogeneidade.
6. Evitar opções e parâmetros estáticos.
7. Procurar um bom desenho – não é necessário o óptimo. 8. Ser rigoroso ao enviar, mas tolerante ao receber.
9. Ser escalável.
NAT (Tradução de Endereços de Rede)
A utilização de tradução de endereços de rede (e de portos) nos
routers permite que várias máquinas numa rede local possam
comunicar com outras sem possuírem endereços IP válidos na Internet.
É usado um equipamento de rede (geralmente, um router ou uma firewall) que possui pelo menos dois interfaces de rede e realiza a conversão do endereço IP (e dos portos) nos datagramas IP enviados e recebidos.
Internamente, o equipamente gere uma tabela de traduções activas em cada instante:
Endereço Privado Porto Privado Endereço Externo Porto Externo Porto NAT Protocolo 10.0.0.5 21023 128.1.19.1 80 14003 TCP 10.0.0.3 1272 128.1.19.1 80 14012 TCP Existem ligações das máquinas com os endereços 10.0.0.5 e 10.0.0.3 ao servidor Web no endereço Internet 128.1.19.1.
O servidor Web “vê” duas ligações originárias do mesmo endereço IP respectivamente com os portos 14003 e 14012.
O NAT afecta o ICMP e todas as aplicações que passem endereços IP e portos como parte dos dados.
Para manter a ilusão de transparência, o router que realiza o NAT pode interpretar e responder às mensagens ICMP, e substituir os endereços e portos em protocolos normalizados (ex. FTP), mas as aplicações genéricas não são suportadas.
DHCP
O DHCP (Dynamic Host Configuration Protocol) estende o BOOTP, permitindo realizar a alocação dinâmica dos endereços IP a estações.
Para cada rede existe pelo menos um servidor de DHCP com as configurações da rede e um conjunto de endereços IP a atribuir às máquinas.
As máquinas obtêm o endereço IP durante o arranque, difundindo na rede um pacote DHCPDISCOVER para o endereço de difusão da rede (255.255.255.255), e recebendo no endereço MAC uma mensagem DHCPOFFER dos servidores DHCP na rede.
O protocolo está preparado para a existência de vários servidores DHCP numa rede – após receber várias respostas realiza o “aluguer” de apenas uma das ofertas durante um período de tempo renovável (mensagens DHCPREQUEST e DHCPACK)
Para além do endereço IP, fornece outro tipo de informação às estações:
• endereço IP do sistema de ficheiros • endereço IP do router por omissão • máscara da subrede a usar
• Nome de ficheiro com inicializações (pode ser uma imagem do sistema operativo, etc) O ficheiro de inicialização é obtido com um protocolo de transferência de ficheiros
Os pacotes de difusão apenas circulam na rede local. O DHCP usa retransmissores DHCP para interligar várias redes locais a um servidor DHCP.
Os retransmissores DHCP intersectam todas as mensagens DHCPDISCOVER e reenviam-nas para o servidor DHCP, recebendo a resposta e reenviando-na para a máquina.
Máquina Difusão Retransmissor DHCP Outras redes Servidor DHCP unicast para servidor
Protocolos de encaminhamento da Cisco
Para além do OSPF e do RIP, a Cisco disponibiliza nos seus
routers dois protocolos proprietários: o IGRP e o EIGRP.
O IGRP (Inter-Gateway Routing Protocol) é, como o RIP, um protocolo de vector de distâncias. Mas usa uma métrica configurável baseada em:
• D – Atraso entre nós (em dezenas de microsegundos); • B – Largura de banda (em kbis/s);
• L – Carga na rede (em % largura de banda 0 – 255); • E – taxa de erros no caminho (0 – 255);
• H – Distância em número de troços (Máximo de 255); • MTU – o valor mínimo de MTU no caminho.
A métrica é calculada com a fórmula: ( 2* ) (256 ) 3* 5 ( 4)
*
1 B K B L K D K E K
K + − + + +
O IGRP suporta balanceamento de carga entre múltiplos caminhos.
O IGRP evita os problemas de "contagem para infinito" usando:
• Separação de horizontes;
• Holddown – após aparecer um valor infinito, fixa o valor infinito durante um intervalo de tempo, antes de procurar novos caminhos);
• Actualização das tabelas desencadeada por modificação na rede (para além da actualização periódica de 90 em 90 seg). O EIGRP (Enhanced IGRP) é uma versão melhorada do IGRP, que também suporta:
• Encaminhamento para endereços IP sem classes (CIDR); • Melhores métodos de convergência;
Transição IPv4 – IPv6
Apesar da utilização de CIDR e de tradução de endereços (NAT) o número de endereços IPv4 está rapidamente a esgotar-se.
Fonte: IEEE Communications, Junho 2002, pp.138-148
É necessário adoptar o IPv6.
A Internet não vai mudar toda de IPv4 para IPv6 – a transição vai ser gradual num período de vários anos.
A transição vai ocorrer inicialmente na Ásia e na Europa, devido à escassez de endereços IPv4.
• Japão: 2005 todos os ISPs devem suportar IPv6 • Europa: UMTS vai usar IPv6
Neste momento:
Os sistemas operativos já suportam IPv6:
Windows XP, Windows 2000, Linux, Solaris, …
Vários fabricantes de encaminhadores já suportam IPv6: Juniper, Nortel, Hitachi, Cisco, …
A IETF definiu um conjunto de mecanismos para suportar a transição para IPv6, que usam uma (ou mais) de três formas:
• Camada dupla (dual stack) • Túneis
• Tradução
Na camada dupla (dual stack) os equipamentos terminais e encaminhadores instalam tanto a camada IPv4 como a IPv6.
Funcionam:
• IPv4 – IPv4 ? Sim. • IPv6 – IPv6 ? Sim.
• IPv6 – IPv4? Parcialmente. • IPv4 – IPv6? Não.
Para resolver completamente o problema de inter-operação IPv4-IPv6 é necessário recorrer a tradução.
A tradução pode:
• ocorrer em várias camadas de protocolo: rede, transporte e aplicação;
• ocorrer tanto na máquina como num encaminhador; • ser com estado ou sem estado;
• ser configurada ou transparente. L1
L2
IPv4 IPv6 UDP/TCP v4 UDP/TCP v6
Sockets API App. IPv4 App. IPv6
A instalação do IPv6 vai ser realizada inicialmente em sub-redes isoladas, que vão ser sucessivamente alargadas até cobrir a totalidade da rede.
O último mecanismo de transição é a criação de túneis que interligam as ilhas IPv6 através da rede IPv4, e posteriormente, as ilhas IPv4 através da rede IPv6.
O principal problema é a configuração dos túneis: • manual;
• através DNS ou DHCP;
• embedendo informação no endereço IPv6 (prefixo); • usando IPv6 anycast.
Pode haver vários níveis hierárquicos de túneis: e.g. IPSec sobre IPv6 sobre IPv4
Os túneis são criados entre encaminhadores, ou entre máquinas.
Mecanismos de transição propostos pelo IETF
Nome Conectividade Tipo Localização Comentário
Dual stack IPv4-IPv4 sobre IPv4, IPv6-IPv6 sobre IPv6
Dual stack Num (S)istema ou
(E)quipamento
Presente na maior parte dos sistemas operativos
SIIT (Stateless IP/ICMP Translation)
IPv6-IPv4, IPv4-IPv6 Tradutor Num S ou E Ignora opções IPv4 e IPv6, usado no NAT-PT
BIS (Bump-In-the-stack) IPv4-IPv6 Tradutor Num E Tradutor a nível de IPs, API igual
BIA (Bump-In-the-API) IPv4-IPv6 Tradutor Num E Tradutor a nível de API
NAT-PT (Network- Address-Translation-Protocol Translation)
IPv6-IPv4, IPv4-IPv6 Tradutor Num S Encaminhador NAT que interliga as redes IPv6 e IPv4.
MTP (Multicast Translation State)
IPv6-IPv4, IPv4-IPv6 (multicast)
Tradutor Num S Encaminhador NAT para Multicast – FFxx::a.b.c.d/96
TRT (Transport Relay Translator)
IPv6-IPv4 Tradutor Num S Tradução TCP/UDPv6 –
TCP/UDPv4
SOCK64 IPv6-IPv4, IPv4-IPv6 Tradutor Entre S e E API socket modificada
6over4 IPv6-IPv6 sobre IPv4 Túnel Entre S e E Embeber IPv4 nos últimos 64 bits
IPv6, usa Network Discovery como ARP.
ISATAP
(Intra-Site-Automatic Tunnel Addressing Protocol)
IPv6-IPv6 sobre IPv4 Túnel Entre S e E Usa endereços IPv6 compatíveis com IPv4, DNS ou anycast para seleccionar router remoto.
DSTM (Dual Stack Translation Mechanism)
IPv4-IPv4 sobre IPv6 Túnel Entre S e E DHCPv6 atribuí IPv4 temporário, ou DNS