Plano de endereços IPv6 Utilizando o novo protocolo Internet
Agenda Endereço IPv6 Planejamento Exercícios
Endereço IPv6
Convertendo binário em Hexadecimal 8421 Binário = Hexa Binário = Hexa Binário = Hexa Binário = Hexa 0000=0 0100=4 1000=8 1100=C 0001=1 0101=5 1001=9 1101=D 0010=2 0110=6 1010=A 1110=E 0011=3 0111=7 1011=B 1111=F
Endereçamento IPv6 A representação dos endereços IPv6, divide o endereço em 8 grupos de 16 bits, separando-os por :, escritos com dígitos hexadecimais. 2001:0DB8:AD1F:25E2:CADE:CAFE:F0CA:84C1 Na representação de um endereço IPv6 é permitido: Utilizar caracteres maiúsculos ou minúsculos; Aplicar regras de abreviação;
Endereçamento IPv6 Regras de Abreviação Omitir os zeros à esquerda; Trocar um campo 0000 para 0; Representar um ou mais campos formados por zeros contínuos por ::. Exemplo 2001:0DB8:0000:BEBA:0000:0000:00C0:00CA 2001:DB8:0:BEBA::C0:CA Formato inválido: 2001:DB8::BEBA::C0:CA (gera ambiguidade)
Endereçamento IPv6 Por que gera ambiguidade? 2001:DB8::BEBA::C0:CA 2001:0DB8:0000:BEBA:0000:0000:00C0:00CA 2001:0DB8:0000:0000:BEBA:0000:00C0:00CA
Prefixo IPv6 2001:db8:: Endereço /32 Prefixo Representação em escala decimal Contagem de quantos bits fazem parte da rede Como trabalhar com prefixo?
Prefixo IPv6 2001:db8::/32 Posição Bit 1 2 3 4 Bits 0 0 1 0 Valor 8 4 2 1 2 5 6 7 8 0 0 0 0 8 4 2 1 9 10 11 12 0 0 0 0 8 4 2 1 13 14 15 16 0 0 0 1 8 4 2 1 0 0 1
Prefixo IPv6 Como dividir 2001:db8::/32 em /33? 2001:0db8:0000:0000:0000:0000:0000:0000 16 bits 33 bits - 32 bits = 1 bit 2¹ = 2 redes 16 bits 4 bits Posição Bit Bits Valor 33 34 35 36 0 0 0 0 8 4 2 1 Resposta: 2001:db8:0000::/33 2001:db8:8000::/33 0 0 0 0 =0 1 0 0 0 =8
Planejamento
É necessário um plano de endereçamento? Vantagens Políticas de segurança e roteamento mais fáceis de implementar; Maior facilidade no rastreamento de endereços; Escalabilididade; Maior eficiência no gerenciamento da rede. Essencial para pedir um bloco no registro.br!!!!
Características de um bom plano de endereçamento? Singularidade: cada bloco distribuído e/ou alocado deve ser único no mundo Registro: o espaço de endereçamento tem que estar registrado na base de um RIR e as informações pertinentes ao registro devem ser acessíveis (via whois) Agregação: sempre que possível distribuir os endereços de maneira hierárquica dentro da topologia. As políticas de endereçamento devem evitar a fragmentação. Conservação: Mesmo com a grande quantidade de endereços deve-se evitar o uso de práticas que favoreçam o desperdício de endereços.
Agregação das rotas Impacto na tabela de rotas Memória Processamento Interno Global Prefixos desnecessários anunciados no BGP representam um custo extra (em gasto de memória e processamento) para TODOS os roteadores da Internet. Agora temos dois protocolos: IPv4 e IPv6! Os impactos são dobrados. O cuidado também deve ser.
Agregação das rotas
Desvantagens Múltiplas rotas divulgadas para todos os Ases da Internet Se a rota precisar ser retirada e anunciada novamente (por exemplo, por um erro, ou problema no cliente específico): Processamento em todo o backbone da Internet Demora na convergência 10 a 20 min para ser visível novamente em toda a Internet
Agregação das rotas
Vantagens da desagregação
Agregação das rotas Há relatórios feitos periodicamente sobre a desagregação das rotas na tabela global de roteamento: http://thyme.rand.apnic.net/current/ http://www.cidr-report.org/as2.0/ http://www.cidr-report.org/v6/as2.0/ (Não se pode afirmar categoricamente que esses ASes estão errados, sem entender suas razões, mas o exagero no número de prefixos anunciados é um forte indício de que são desnecessários)
Como distribuir os seus blocos? 2128 endereços possíveis O provedor recebe e distribui grandes blocos Trabalhamos com endereços abundantes Priorizamos a boa organização dos blocos, o aproveitamento dos novos recursos do IPv6, a previsão de uso futuro
Como distribuir os seus blocos? O que acontece se você agrupar todos os clientes no início do bloco? Que prefixos você teria de anunciar para fazer engenharia de tráfego? Como um cliente com necessidade de expansão seria atendido? Como você aplicaria filtros (ACLs) diferentes para diferentes tipos de clientes (gerência da porta 25, por exemplo)?
Como distribuir os seus blocos? Uma distribuição mais homogênea e organizada permitirá que você enderece melhor essas questões.
Como distribuir os seus blocos? Faça uma distribuição hierárquica do seu bloco. Duas ou três categorias normalmente são suficientes para um bom resultado. Separe os bits mais significativos para a divisão principal e os restantes para a divisão secundária.
Como distribuir os seus blocos? Por exemplo. Consideremos que você tem um /32 IPv6 e atende algumas localidades, tendo em cada uma um PoP. Consideremos que você atende clientes domésticos e corporativos em cada localidade. A divisão principal pode ser a geográfica, e a secundária, a funcional (discutiremos os prós e contras a seguir). Podemos separar, por exemplo, 4 bits para as localidades, e mais 4 bits para o tipo de cliente. Dessa forma atenderemos 16 localidades possíveis, cada uma com 16 tipos de clientes. Para cada tipo de cliente teremos disponíveis 256 redes /48, ou 65536 redes /56.
Como distribuir os seus blocos? Por exemplo. Consideremos que você tem um /32 IPv6 e atende algumas localidades, tendo em cada uma um PoP. Consideremos que você atende clientes domésticos e corporativos em cada localidade. A divisão principal pode ser a geográfica, e a secundária, a funcional (discutiremos os prós e contras a seguir). Podemos separar, por exemplo, 4 bits para as localidades, e mais 4 bits para o tipo de cliente. Dessa forma atenderemos 16 localidades possíveis, cada uma com 16 tipos de clientes. Para cada tipo de cliente teremos disponíveis 256 redes /48, ou 65536 redes /56.
Pontos de atenção para o IPv6 Não contamos mais endereços. Contamos redes. As redes onde estão os hosts devem ser /64 Nem maiores, nem menores Autoconfiguração stateless Os endereços deixaram de ser um recurso escasso. São agora abundantes.
Pontos de atenção para o IPv6 Subredes com prefixos em múltiplos de 4 bits (dígitos hexadecimais) Um /48 em cada região/pop para infraestrutura Loopbacks no primeiro /64 da rede Links ponto a ponto /127 ou / 126 Tamanhos coerentes de prefixos para cada nível hierárquico da rede
Como alocar os endereços? Vimos já como planejar a distribuição do bloco de endereços recebido, em blocos menores, destinados a cada localidade ou tipo de serviço. Para cada um desses blocos, como podemos alocar os endereços?
Alocação sequencial (Rightmost) O que acontece se o primeiro cliente precisar de mais espaço? Receberá um bloco não agregável. Isso pode não ser uma boa idéia! Por outro lado, caso você venha a necessitar de um grande espaço contíguo para alocar para um cliente especial, você o terá. Esse método equivale a contar variando os bits mais a direita.
Alocação sequencial (Rightmost) Binário = Hexa 0000=0 Utiliza os bits mais a direita 0001=1 0010=2 0011=3 0100=4 Sempre divide na sequência
Alocação reservando blocos Para cada cliente reservamos um espaço que é o dobro do que é alocado O bloco subsequente é agregável! Parece melhor que a solução anterior! Mas o que acontece se o cliente precisar crescer mais, e o dobro não for suficiente?
Alocação reservando blocos Binário = Hexa 0000=0 0010=2 0100=4 0110=6 1000=8 Reserva depende do administrador de rede
Alocação das metades (Leftmost) Podemos reserva para cada cliente o maior espaço disponível possível para o crescimento. Isso equivale a contar variando os bits disponíveis mais a esquerda.
Alocação das metades (Leftmost) Binário = Hexa 0000=0 Utiliza os bits mais a esquerda 1000=8 0100=4 1100=C 0010=2 Sempre divide na metada da metade
Operando com algoritmos L R L L R R L L L L L L R R R L R R R R
Operando com algoritmos Leftmost Rightmost 0000=0 0000=0 1000=8 0001=1 0100=4 0010=2 1100=C 0011=3 0010=2 0100=4
Exercícios
Exercício 1 Uma universidade acaba de se tornar sistema autônomo. Ela recebeu o bloco 2001:db8:ca5a::/48. Ajude ela a montar o plano de endereços IPv6, sendo que: Ela possui 4 campus Campus A com departamentos de matemática e engenharia; Campus B com departamentos de química, nutrição e gastronomia; Campus C com departamentos de letras e história; Campus D com o departamento de educação física.
Solução 1 2 Divisões Principal: Geográfica Secundária: Funcional 4 campus necessita de 2 bits para representar 1 bit -> 2 possibilidades 0 e 1 2 bits -> 4 possibilidades 00, 01, 10 e 11 Boa prática: múltiplos de 4 -> logo reservamos 4 bits Cada campus receberá um /52 Margem de crescimento 12 outros campus Usaremos o leftmost
Solução 1 Campus A 2001:DB8:CA5A:0000::/52 Campus B 2001:DB8:CA5A:8000::/52 Campus C 2001:DB8:CA5A:4000::/52 Campus D 2001:DB8:CA5A:C000::/52
Solução 1 Quantos bits precisamos separar por departamento: Campus A: 2 departamentos Precisa de 1 bit, 0 e 1 Campus B: 3 departamentos Precisa de 2 bits, 00, 01, 10 e 11 Campus C: 2 departamentos Precisa de 1 bit, 0 e 1 Campus D: 1 departamento Precisa de 1 bit, 0 e 1 Boa prática: múltiplos de 4 -> logo reservamos 4 bits Todos os campus possuem menos de 16 departamentos Cada departamento receberá /56 Espaço para crescimento futuro Usaremos o Leftmost
Solução 1 Campus A 2001:DB8:CA5A:0000::/52 Matemática 2001:DB8:CA5A:0000::/56 Engenharia 2001:DB8:CA5A:0800::/56 Campus B 2001:DB8:CA5A:8000::/52 Química 2001:DB8:CA5A:8000::/56 Nutrição 2001:DB8:CA5A:8800::/56 Gastronomia 2001:DB8:CA5A:8400::/56
Solução 1 Campus C 2001:DB8:CA5A:4000::/52 Letras 2001:DB8:CA5A:4000::/56 História 2001:DB8:CA5A:4800::/56 Campus D 2001:DB8:CA5A:C000::/52 Educação Física 2001:DB8:CA5A:C000::/56 Por fim cada departamento usará o Rightmost para entregar /64 para cada LAN (conseguindo atender 256 lans)
Exercício 2
Exercício 2 A partir do prefixo 2001:0db8::/32, atribuir os prefixos às redes e computadores da organização ilustrada na figura
Solução 2 Precisamos dividir em 5 redes /48 Usaremos o leftmost 3 redes (cidades, bairros ou clientes coorporativos) R1 2001:db8:0000::/48 R2 2001:db8:8000::/48 R3 2001:db8:4000::/48 Infraestrutura e roteamento 2001:db8:C000::/48 Gestão e monitoramento 2001:db8:2000::/48
Solução 2 Precisamos dividir as 3 subredes Usaremos o leftmost 3 redes R1 2001:db8:0000::/48 R4 2001:db8:0000:0000::/56 R6 2001:db8:0000:8000::/56 R2 2001:db8:8000::/48 R5 2001:db8:8000:0000::/56 R7 2001:db8:8000:8000::/56 R3 2001:db8:4000::/48 sem divisão
Solução 2 Precisamos dividir as redes dos host Usaremos o rightmost 3 redes R4 2001:db8:0000:0000::/56 Rede host 1-2001:db8:0000:0000::/64 R5 2001:db8:8000:0000::/56 Rede host 2-2001:db8:8000:0000::/64 Rede host 3-2001:db8:8000:0001::/64 Endereço de host Host 1-2001:db8:0000:0000::1/64 Host 2-2001:db8:8000:0000::1/64 Host 3-2001:db8:8000:0001::1/64
Dúvidas
Obrigado!!! Eduardo Barasal Morales Tiago Jun Nakamura emorales@nic.br São Paulo, SP 7 de dezembro de 2016 nakamura@nic.br