Redes de Computadores III
Evandro Cantú (2007-1)
[email protected]
Eraldo Silveira e Silva (2006-2)
[email protected]
Ementa
• IPv6
• Algoritmos de Roteamento: Estado do
Enlace e Vetor de Distâncias
• Roteamento na Internet: RIP, OSPF, BGP
• Roteamento Multicast
• IP Móvel
• Redes Adhoc
Bibliografia
• J. Kurose e K. Ross. Redes de Computadores e
a Internet: Uma abordagem top-down.
Tradução da 3a edição, Addison Wesley, 2003.
• D. Comer. Interligação em Rede com TCP/IP,
vol.1, Tradução da 5a edição, Campus, 1998.
• A. Tanenbaum. Redes de Computadores.
Tradução da 4a edição, Campus, 2003.
• Silvia Hagen. IPv6 Essentials (Web)
• RFCs.
História do IPv6
• No início era IPv4...
– criado no início da década de 70
– substituiu o NCP na Internet em 1983
– Uma fórmula que deu certo: “best effort”
– Não se esperava um crescimento do uso:
• 84: 1000 hosts
• 87: 10000 hosts
• 92: 1000000 hosts
História do IPv6
• Endereços IP do IPv4 possuem 32 bits: em
torno de 4.3 bilhões de endereços. Não
existe um para cada habitante!!!
• O IPv4 não inclui em seu projeto original:
– Mobilidade
– Segurança
– Qualidade de serviço
História do IPv6
• 1993: Internet ProtocolNext Generation
(IPng) area, criado pela IETF
• 1994. RFC 1883 – Primeira especificação
• 1998: RFC 2460 – Especificação atual
Novidades no IPv6
• Espaço de endereçamento extendido:
endereços IP com 128 bits. Cada grão de
areia na terra pode ter um endereço!!!
• Autoconfiguração: um dispositivo ao
receber um prefixo de rede, pode usar seu
endereço MAC (ou um número randômico)
para construir um endereço válido. Fácil
para colocar uma geladeira na Internet!!
Novidades no IPv6 (cont.)
• Formato de header simplificado, com
tamanho fixo de 40 bytes;
• Suporte melhorado para opções e extensões
do header: seis extensões para tratar
mobilidade, QoS etc;
Precisamos realmente do IPv6?
• EUA, com 5 % da população mundial,
possui 60 % dos endereços Internet;
• Os outros 40 % ficam para o resto! A Ásia
possui mais de 50 % da população mundial:
são os maiores interessados no IPv6;
• O uso de classes no IPv4 atribuiu faixas
gigantescas de endereços para algumas
poucas empresas/instituições;
Precisamos realmente do IPv6?
• O NAT é usado para contornar a falta de
endereços, mas traz com eles problemas de
gerenciamento (minha VPN não funciona...);
• Decidamente, a Ásia, Europa e EUA se
movimentam no sentido de construir backbones e
produtos IPv6;
• Pode-se migrar sem traumas, de forma gradual
para o IPv6.
Onde existe IPv6?
• Backbone qbone ligando 50 países e 1000
hosts (http://www.6bone.net); o mais antigo
• O IPv6 Forum (http://www.ipv6forum.com)
coordena as ações mundiais.
• A International Task Force
(http://www.ipv6tf.org) coordena ações
regionais, usando forças tarefas localizadas
nos EUA e na Europa;
Onde existe IPv6?
• O Japão, desde 2001 investe pesado em
backbones IPv6;
• A China e Coréia também desenvolvem
seus backbones;
• O 3G está fundado sobre o IPv6;
Onde existe IPv6?
• O “Office of Management and Budget”
(OMB), ligado a presidência dos EUA,
anunciou em julho de 2005 que todas as
agências federais devem usar o IPv6 a partir
de 2008.
A Estrutura do Protocolo IPv6
• Estudo baseado inicialmente nos headers
dos protocolos
Estrutura Geral do Header
Foram retirados do header do IPv4:
• Header Length (o header Ipv6 possui tamanho
fixo)
• Identification (Path MTU Discovery)
• Flags(Path MTU Discovery)
• Fragment Offset(Path MTU Discovery)
• Header Checksum (processamento + leve)
Estrutura Geral do Header
Alguns Valores do Next Header field
Extensões de headers (RFC 2460)
•
•
•
•
•
•
Hop-by-Hop Options header
Routing header
Fragment header
Destination Options header
Authentication header
Encrypted Security Payload header
Extensões de headers
• São colocados entre o IPv6 header e o
pacote de nível superior;
• Identificados pelo Next Header Field;
• São examinados unicamente pelo nó
identificado no endereço de destino, a não
ser o hop-by-hop header
Exemplo de extensões
Hop-by-Hop Options Header
• Carrega informações que devem ser
processadas por cada um dos nós ao longo
do caminho;
• As informações poderão ser utilizadas para
reserva de recursos (exemplo RSVP), para
encontrar destinos de multicast entre outras;
• Deve seguir necessariamente o header IPv6;
Formato do Hop-by-Hop Options
Header
Opção Jumbogram do hop-by-hop
extension
• Permite que pacotes maiores que 64K sejam
transmitidos.
• O campo Option Data Lenght, de 32 bits
informa o tamanho dos dados, que devem se
seguir ao mesmo;
Opção Router Alert do hop-by-hop
• Informa ao roteador que a informação que
se segue deve ser utilizada para fins de
roteamento, tal como o RSVP(Resource
Reservation Protocol) e MLD (Multicast
Listener Discovery).
Tarefa
• Item1: O IPv6 no Brasil
Extensão Routing Header
• Permite informar um conjunto de roteadores
que devem ser visitados até o seu destino
final. Exemplo na figura que se segue,
deseja-se que o pacote siga a trajetória de
“s” para “d” passando por R1, R2 e R4
Fonte
Destino
end1
end2
End3
S
R1
R2
R4
D
S
R2
R1
R4
D
S
R4
R1
R2
D
S
D
R1
R2
R4
Formato do Routing Header
Fragment Header
• O IPv6 usa o PATH MTU Discovery para
determinar a máxima MTU na trajetória do
pacote;
• Se o pacote for maior que esta MTU então
ele é fragmentado na fonte; roteadores ao
longo da rota não fragmentam o pacote;
• O destino remonta o pacote fragmentado;
Formato do Fragmenting Header
Destination Options Header
• Carrega informações a serem examinadas
apenas pelo destino final do pacote;
• Pode aparecer antes ou depois do Router
Header; se aparece antes é processado por
cada um dos roteadores no caminho;
Endereçamento IPv6
• Endereçamento de 128 bits
• Pode ser classificado em:
• Unicast: identifica uma interface em um nó;
• Multicast: identifica um grupo de interfaces;
• Anycast: identifica múltiplas interfaces mas
quando o pacote é transmitido, o mesmo vai
para uma somente;
Endereçamento IPv6
• Uma interface pode ter múltiplos endereços
IPv6;
• Um endereço pode ter escopo global ou não
global (definido como parte do próprio
endereço).
Notação do Endereço
• Oito blocos hexadecimais de 16 bits:
– 2001:DB8:0000:0000:0202:B3FF:FE1E:8329
• Abreviações possíveis:
2001:DB8:0000:0056:0000:ABCD:EF12:1234
2001:DB8:0:56:0:ABCD:EF12:1234
2001:DB8::56:0:ABCD:EF12:1234
2001:DB8:0:56::ABCD:EF12:1234
Em situações misturadas com
IPv4
• x:x:x:x:x:x:192.168.0.2
• ::192.168.0.2
• ::C0A8:2
Notação do Prefixo de Rede
• global routing prefix: identifica a rede
global
IPv6 address/prefix length
Exemplo:
2E78:DA53:1200::/40
2001:DB8:0:56::/64
Endereço Global Unicast
Endereço Global Unicast
• Um “global routing prefix” identifica um “site”
global;
• Associado a um “internet service provider” (ISP)
por um órgão oficial (LACNIC - Latin American
and Caribbean Internet Addresses Registry” );
• “sub-net id” define uma subnet e é atribuído pelo
administrador da rede;
• “interface id” identifica a interface dentro da
subnet
Política de distribuição de
prefixos
•
•
•
•
•
Home networks: /48
Pequenas e Médias empresas: /48
Grandes instituições: /47 ou /48
Redes Móveis: /64 (estáticos)
PC sozinho (via dial-up): /128
Geração de endereços
• Atribuído via dhcp, manual ou por
autoconfiguração: derivado do MAC
address ou de forma temporária por um
número gerado randomicamente;
Endereços especiais
• unspecified address (não válido):
0:0:0:0:0:0:0:0 ou simplesmente :: , usado
por exemplo, no boot de uma máquina até
conseguir um IP válido;
• loopback address: 0:0:0:0:0:0:0:1 ou ::1 ;
link-local address
• Equivalente ao endereço falso do IPv4;
• Nunca deve ser roteado para fora: é para uso
interno na rede; pode ser usado em redes
temporárias;
• Atribuídos por autoconfiguração;
• Identificado pelo prefixo FE80
Outros endereços
• Anycast
• Multicast
• Local
ICMPv6
• Reporta erros se pacotes não podem ser
processados apropriadamente e envia informações
sobre o status da rede;
• Apresenta várias melhorias em relação ao icmpv4:
por exemplo:
–
–
–
–
IGMP que trata multicast foi incorporado no icmpv6;
ARP/RARP foi incorporado;
Neighbour Discovery
IP Móvel
Tipos de Mensagens
• De erro: high-order bit do campo type =0
• De informação: high-order bit do campo
type =1
Next Header para ICMP = 58H
Tipos de Mensagem de Erro
• Destination Unreachable (message type 1):
– 0 = no route to destination,
– 1 = communication with destination
administratively prohibited,
– 2 = beyond scope of Source address,
– 3 = address unreachable,
– 4 = port unreachable,
– 5 = Source address failed ingress/egress policy,
– 6 = reject route to destination
Tipos de Mensagem de Erro
• Packet Too Big (message type 2)
• Time Exceeded (message type 3): usado no
traceroute
• Parameter Problem (message type 4): next
header errôneo, impossibilidade de
processar um header;
• outras
Tipos de Mensagem de
Informação
• Echo request
• Echo Reply
• Neighbor Discovery:
–
–
–
–
–
–
Router Solicitation
Router Advertisement
Neighbor Solicitation
Neighbor Advertisement
The ICMP Redirect Message
Inverse Neighbor Discovery
Formato geral
Neighbor Discovery (ND)
• Neighbor Solicitation and Neighbor
Advertisement:
– equivalente ao ARP.
– Pode ser usado para Duplicate IP Address
Detection (DAD);
– Apóia a construção do “neighbor cache”
Router Solicitation and Router
Advertisement
• Roteadores da rede (local) divulgam a sua
presença através de envios periódicos de
“Router Advertisements”
• Um host Ipv6 pode solicitar roteadores
através de Router Solicitation
• Múltiplos routers possíveis com alternativas
para determinadas redes;
Autoconfiguração
• É um dos pontos fortes do IPv6
• Pode ser:
– Stateful: com DHCPv6
– Stateless: com apoio do ICMPv6 ->
combinando prefixos divulgados pelos
roteadores com o MAC (ou número
randômico); na ausência de roteadores usa-se o
FE80 para gerar “link-local address”
Passos para autoconfiguração
• 1-Um endereço tentativa é formado com o prefixo
FE80 (link-local address) e associado a interface;
• 2-O nó se junta aos grupos multicasting;
• 3-Uma mensagem Neighbor Solicitation é enviado
com o endereço tentativa como target address. Se
detectado IP duplicado o nó deverá ser
configurado manualmente;
• O no broadcast a Router Solicitation para o
endereço FF02::2. (grupo multicast dos
roteadores);
• Todos roteadores do grupo multicast respondem e
o nó se autoconfigura para cada um deles;
PATH MTU Discovery
• O nó assume a MTU do seu link e envia o pacote
para destino;
• Caso algum roteador da rota detecte que o pacote é
muito grande para o MTU então ele avisa o nó
fonte com ICMPv6 Packet Too Big (que inclui o
tamanho da MTU do enlace problema);
• O nó usa esta nova MTU para encaminhar o
pacote novamente ao seu destino;
• O processo todo pode se repetir;
Multicast Listener Discovery
(MLD)
• Endereça um grupo de hosts ao mesmo tempo:
lembre que broadcastings não podem ser roteados
e são processados por cada nó da rede...
• Pacote multicast é processado somente por nós
que fazem parte do grupo;
• Pacotes multicast podem ser roteados;
• Roteadores usam o MLD para descobrir nós que
escutam nos endereços multicast (em cada link).
• Nós que escutam usam mensagens “Multicast
Listener Reporttype” para se registrar nos
roteadores;
Segurança no IPv6
• IPv4 não tem aspectos de segurança no
projeto;
• Alguns mecanismos rudimentares eram
usados na aplicação: ftp e telnet com senhas
• IPsec foi introduzido mais tarde: tem
problemas de interoperabilidade
• IPv6 foi pensado com mecanismos de
segurança logo no início;
CIA e AAA
•
•
•
•
Confidentiality -> encryption
Integrity -> checksum
Availability
Authentication: assegurar que as pessoas
são o que dizem que são...
• Authorization: assegurar determinados
direitos de acesso a usuários autenticados;
• Accounting: coleta de informações;
symmetric key encryption
• O transmissor e o receptor devem acordar
no uso de uma chave secreta de
cripto/decripto;
DES, 3DES, IDEA, RC-4, and AES.
• Algoritmos: DES, 3DES, IDEA, RC-4,
AES.
Public Key Cryptography
(asymmetric encryption )
• distributed public key e individual private key
• Condidencialidade: Transmissores encriptam com
distributed public key e somente o receptor
descriptografa com a indvidual private key
• Autenticação: Transmissor criptografa com a
individual private key e descriptografa com a
distributed public key;.
• Algoritmos: RSA and ElGamal.
Integridade
• Secure checksums: funções hash que tomam
uma string de tamanho variável e
transforma uma string de tamanho fixo,
únicos para a string de entrada;
• Algoritmos: MD-5 e SHA-1
IPsec Framework
• Conjunto de mecanismos para colocar
segurança na camada de rede IP;
– Protocolo para criptografar (Encapsulating
Security Payload, ESP);
– Protocolo para autenticação (Authentication
Header, AH );
– Política de segurança entre pares comunicantes;
– Gerenciamento de Chaves;
– Politica de Uso de algoritmos;
O IPsec
• IPsec: definido na RFC 2401 e atualizado
na RFC 4301;
• Descreve uma arquitetura de segurança para
o IPv4 e IPv6;
Componentes do IPsec
• Descrição geral dos requisitos de segurança e mecanismos
em nível de camada de rede;
• Um protocolo de criptografia: ESP (Encapsulating Security
Payload)
• Um protocolo para autenticação (Authentication Header,
AH)
• A forma de uso dos algoritmos e protocolos acima;
• A definição de políticas de segurança e associações de
segurança entre pares;
• O Gerenciamento de chaves
Security Associations (SAs)
• Acordo entre pares: forma de autenticação,
criptografia e chaves a serem utilizadas;
• SAs são unidirecionais;
• Telnet: 2 ou 4 SAs;
Modos da SA
• Transport: entre dois nós. O payload é
criptografado e/ou autenticado. O IPv6
header não é criptografado;
• Tunnel Mode: entre dois gateways
(roteadores). Tanto o payload como o IP
header são autenticados e criptografados.
Usando em PVNs;
Gerenciamento de Chaves
(Key Management)
• Mecanismo para colocar as chaves nos
locais apropriados;
• Suporte para distribuição automática ou
manual das chaves;
• Internet Key Exchange (IKE) é um
protocolo usado para negociação e troca de
parâmetros da SA; IKEv1 usa a porta 500
do UDP. O IKEv2 usa a porta 500 e 4500;
Elementos de Segurança do IPv6
• Authentication Header: fornece a
autenticação e a integridade dos dados dos
pacotes (fim a fim);
• Encapsulating Security Payload Header:
fornece integridade, confidencialidade,
autenticação da origem dos dados, entre
outros (fim-a-fim);
• Ambos podem ser combinados;
Modelos de Segurança do IPv6
• O IPv6 restaura a conectividade fim-a-fim
eliminando a necessidade do NAT;
• A fazer...
Download

IPv6 - IF