Mudanças entre as edições de "O Minimo que Voce precisa saber sobre IRR"

De Wiki BPF
Ir para: navegação, pesquisa
(adicionado mais itens)
(Bases IRR)
Linha 17: Linha 17:
 
* Liberação de prefixos absurdamente mais rápidas.
 
* Liberação de prefixos absurdamente mais rápidas.
 
* Alguns provedores de conteúdo vão parar de aceitar prefixos que não estiverem em uma base IRR.
 
* Alguns provedores de conteúdo vão parar de aceitar prefixos que não estiverem em uma base IRR.
[[Arquivo:Ggc-new.png|esquerda|787x787px]]
+
*
 +
[[Arquivo:Ggc-new.png|787x787px]]
  
 
==== Bases IRR ====
 
==== Bases IRR ====

Edição das 12h34min de 23 de dezembro de 2019

Introdução

O IRR (Internet Routing Registry) é um repositório de políticas de roteamento. Os dados do IRR podem ser usados por qualquer pessoa com o objetivo de obter informações para depurar, configurar e planejar endereçamento e política de roteamento. Resumidamente, o IRR e ferramentas associadas:

  • Facilitam a validação do conteúdo de mensagens dos anúncios BGP;
  • Permitem mapear um ASN em suas respectivas redes;
  • Permitem a definição de políticas de roteamento bem mais amplas do que através de filtros, nos roteadores;
  • Geram configurações para roteadores.

O IRR foi criado em 1995 na época em que os provedores de acesso à Internet do mundo estavam se preparando para o final da atividade do backbone da NSFNET e, comemorando o primeiro aniversário da Internet comercial. Por volta de 1999, haviam os seguintes repositórios: CA*Net, no Canadá, o ANS, CW e RADB nos EEUU e o RIPE na Europa. Os três primeiros eram privativos e os dois últimos, públicos.

Visite: http://www.irr.net/

Por que o IRR é Importante?

  • Imagine uma internet mais segura e onde erros humanos são praticamente impossíveis de ocorrer;
  • Permite definir sua polícia de roteamento em um formato padrão entendido no mundo todo;
  • Prefix-lists geradas automaticamente, sem necessidade de interação humana;
  • Vários operadores nacionais já suportam liberação de prefixos através de IRR;
  • Alguns operadores fazem liberação de prefixos APENAS por IRR, alguns IX só liberam prefixos por IRR;
  • Liberação de prefixos absurdamente mais rápidas.
  • Alguns provedores de conteúdo vão parar de aceitar prefixos que não estiverem em uma base IRR.

Ggc-new.png

Bases IRR

Estima-se que existem mais de 40 bases IRR descentralizadas, vou demonstrar abaixo apenas as mais conhecidas. Para uma lista mais completa, acesse: http://www.irr.net/docs/list.html

RIRs SP's Terceiros
AFRINIC LEVEL3 RADb
APNIC NTT TC
ARIN BBOI ALTDB
RIPE
LACNIC*

*No dia 09/10 no Lacnic32 foi apresentado a comunidade o IRR do Lacnic, teremos uma versão beta em Dezembro de 2019 e um versão estável em Março de 2020.

Alguns Fatos sobre os IRR

  • LEVEL3 é apenas para clientes Level3, NTT pode ser usada por clientes e cliente de clientes.
  • Dos RIR’s, apenas o LACNIC não tinha uma base IRR.
  • TC (bgp.net.br) é um projeto nacional, também é o mais fácil de se usar.
  • BBOI, ALTDB e TC são grátis.
  • Algumas bases são espelhadas em outras, por exemplo, BBOI e TC são espelhadas com RADb.
  • RABd espelha praticamente todas as bases IRR, por isso é o mais completo
  • RADb é a mais importante, mais conhecido e mais usado.
  • Apesar de serem espelhadas, essas bases não são integradas, cada uma manter o seu SOURCE
  • RADb é pago.
  • IRR disponibilizados pelos RIR são apenas para membros da região e não espelham com nenhum outro IRR
  • Qualquer pessoa no mundo pode fazer uma consulta através do whois.
  • RFC’s: 2622, 2650, 2679 e 7682.

RPSL

A RPSL foi criada em 1999 para substituir a até então atual linguagem de politicas da internet, também conhecida como RIPE-181 ou RFC1786.

Ela foi projetada para que os administradores de ASN's possam ter uma visão da politicas de roteamento de outros ASN's, tudo isso usando um banco de dados distribuído e mantido cooperativamente para melhorar a integridade do roteamento global.

• RPSL é a abreviação de Routing Policy Specification Language

• IRR usa os objetos no formato especificado pela RPSL

• Linguagem única e global

• RFC 2622 define o novo modelo de RPSL (o que usamos atualmente)

Tendo uma alusão ao modelo de computação atual, podemos dizer que o IRR é o base de dados e a RPSL é linguagem de programação do banco de dados usado pelo IRR.

IRR vs RKPI

  • RPKI é uma forma de validar os prefixos na origem através de uma chave publica.
  • Combina modelo hierárquico de distribuição dos recursos com o uso de certificados.
  • RFC’s 6480 á 6492.
  • Basicamente resolve o problema de hijack de prefixos.
  • Demanda um enorme trabalho dos RIRs.
  • Não é suportado por roteadores mais antigos, mesmo atualmente alguns fabricantes ainda não suportam.

O Ideal seria usarmos o RPKI sobre o IRR.

RPKI é para o futuro.

IRR está pronto e você deve usa-lo agora!

Principais Objetos IRR

  • Maintainer / Person

O objeto maintener é aquele que contem as informações (através de seus respectivos atributos), que qualificam e autenticam um AS. O objeto person serve para qualificar o administrador ou administradores do objeto maintener. Pode haver mais de um objeto person para um mesmo maintener e vários objetos maintener podem possuir um mesmo objeto person. Esses são os únicos objetos que dependem de interação humana do lado do IRR para sua criação, todos os outros são manipulados através de um sistema de e-mails usando a RPSL

Mtner.png
  • Route / Route6

O objeto route especifica uma rota que pode ser anunciada pelo AS e somente por ele. O objeto descreve um endereço IPv4, sua máscara de rede e associa o AS a partir do qual a rota pode se originar (atributo origin). Já o objeto route6 faz a mesma coisa para o IPv6.

Route.png
  • As-set

Define o cone de ASN’s, ou seja, os ASN’s que vende transito. Nesse atributo você deve definir um nome globalmente unico. O AS-SET deve contem em members o ASN do ISP e de todos que esse vende transito. Para facilitar o uso, você pode inserir em members outro AS-SET.

As-set.png
  • Aut-num

O objeto aut-num descreve as informações sobre um AS e suas políticas de roteamento, tanto sob o ponto de vista dos anúncios, como da aceitação de redes. Ele se aplica tanto ao IPv4 como ao IPv6.

Aut-num.png

Objetos via Proxy

Se você não criou seus objetos route/route6, alguém pode ter criado para você. Isso acontece por que alguns upstreans liberam prefixos apenas por IRR, então acaba sendo mais fácil e rápido o upstream criar os objetos route/route6 via proxy do que ele solicitar a todo cone de ASN's a criação dos objetos. Não é um pecado fazer isso, desde que feito da maneira correta.

Proxy.png

Tutorial: Inserindo seus dados numa base IRR

Usaremos a Base IRR BBOI nos exemplos

  • Todo o processo é feito através de e-mail. Use o formato texto sem formataçã
  • Processo de criação do maintainer é manual.
  • Para criar o maintainer deve-se enviar um e-mail para [[1]]
  • Depois do maintainer criado, todo o restante é feito por e-mail através do sistema automatizado usando RPSL.
  • As alterações feitas pelo sistema automatizado usa-se o e-mail [[2]]
  • ALTDB funciona da mesma forma, alterando apenas o e-mail para criação do maintainer e o e-mail do sistema automatizado. Respectivamente [[3]] e [[4]]
  • Após o envio de cada e-mail você receberá uma notificação de que sua solicitação foi incluída com sucesso ou se ouve erros.
  • No RADb todo o processo pode ser feito pela web, abstraindo a RPSL

Primeiramente, deve-se criar o maintainer e o person, assim como no e-mail abaixo. Na esquerda temos o modelo de e-mail e na direita as explicações.

Exemplo-mntner.png

Depois do maintainer criado, vamos criar os objetos route e route6. Percebam que a partir de agora usaremos a senha para manutenção em clear-text e não mais em md5.

Route-ex.png

Vamos agora criar o AS-SET, veja abaixo na esquerda o exemplo de e-mail e na direita uma breve explicação.

As-set-ex.png

Por ultimo, podemos criar o nosso AUT-NUM. Veja abaixo na esquerda o exemplo de e-mail e na direita uma breve explicação.

Aut-ex.png

Caso queria deletar um objeto, faça da mesma forma que fez para adiciona-lo porem com um delete assim como mostra o exemplo:

Imagem2.png