Configuração de sessões com route servers: guia prático para provedores
Configuração de sessões com route servers: é ligar o roteador do provedor aos servidores de rotas do ponto de troca de tráfego, que distribuem as rotas de todos os participantes de uma vez. São duas sessões, uma com cada servidor, com filtro de saída para os seus blocos, limite de prefixos na entrada e um ajuste para o servidor não aparecer no caminho.
Resumo
- O route server recebe as rotas de todos os participantes do IX.br e repassa a cada um, sem passar tráfego.
- Duas sessões, uma com cada servidor, bastam para trocar tráfego com a maior parte do ponto de troca.
- Os servidores filtram os anúncios por IRR e RPKI, então objetos de rota e ROAs vêm antes da configuração.
- Na borda, a sessão leva filtro de saída, limite de prefixos, local-preference e o ajuste da checagem do primeiro AS.
Para que servem os route servers no IX.br
Os route servers evitam que cada participante precise fechar uma sessão com todos os outros. Eles recebem as rotas de todo mundo e repassam a cada um, como uma central de rotas.
Num ponto de troca com centenas de participantes, fechar uma sessão BGP com cada um seria inviável. Com duas sessões, o provedor troca tráfego com a maior parte dos participantes no mesmo dia em que ativa a porta.
A conexão ao IX.br para provedores inclui essa configuração e os ajustes de política. O que muda de uma localidade para outra são os endereços e o ASN dos servidores, informados na ativação.
| Item | Route server | Sessão bilateral |
|---|---|---|
| Quantas sessões | Duas, para todos | Uma por participante |
| Controle de política | Por communities do servidor | Direto com o vizinho |
| Uso típico | Maioria dos participantes | Grandes redes de conteúdo |
O route server troca rotas, não tráfego
O servidor de rotas repassa os anúncios mantendo o próximo salto original, que é o endereço do participante na rede do ponto de troca. O tráfego vai direto de um roteador ao outro, sem passar pelo servidor.
Por isso a queda de um route server não derruba o tráfego na hora: as rotas já aprendidas pelo outro servidor continuam valendo. É também por isso que vale ter as duas sessões sempre ativas.
Como funciona a configuração de sessões com route servers?
Cada participante anuncia os próprios blocos aos servidores, que conferem os anúncios e os repassam aos demais. Do lado do provedor, a configuração cuida do que sai, do que entra e de como as rotas recebidas são preferidas.
1 · Anúncio
O provedor anuncia os blocos
O roteador de borda envia aos dois servidores só os prefixos do provedor e dos clientes dele.
2 · Filtro
O servidor confere
O route server compara o anúncio com os registros de rota e os ROAs e descarta o que não confere.
3 · Repasse
O servidor distribui
O anúncio segue aos outros participantes sem o ASN do servidor e com o próximo salto original.
4 · Entrada
Os vizinhos aplicam política
Cada participante aceita a rota, aplica a própria preferência e passa a mandar o tráfego direto.
O mesmo caminho vale no sentido contrário, para as rotas que os outros participantes anunciam a você.
A configuração de sessões com route servers exige três peças no seu roteador: um filtro de saída que deixe passar só os seus blocos, um limite de prefixos na entrada e uma política de preferência para as rotas recebidas.
Por que o ASN do route server não aparece no caminho?
A RFC 7947 define o route server como transparente: ele não coloca o próprio ASN no caminho das rotas que repassa. Para quem recebe, a rota parece ter vindo direto do participante que a anunciou.
Muitos roteadores conferem, por padrão, se o primeiro AS do caminho é o do vizinho da sessão. Com o route server, essa conferência falha e as rotas são recusadas, e é isso que o ajuste da checagem do primeiro AS resolve.
O que ter pronto antes de configurar
Os servidores de rotas filtram o que recebem, então os seus registros precisam estar certos antes da primeira sessão. Sem isso, a sessão sobe e os seus prefixos não chegam a ninguém.
Os filtros exatos variam por localidade e mudam com o tempo. [CONFIRMAR na documentação do IX.br os filtros aplicados]
Marque o que já está pronto antes da janela
- Endereço IPv4 e IPv6 na rede do ponto de troca, recebidos na ativação.
- ASN e endereços dos route servers da localidade.
- Objetos de rota no IRR para cada bloco anunciado.
- ROAs para os mesmos blocos, como no guia de criação de ROAs.
- Prefix-lists de saída prontas, como no guia de configuração de prefix-lists.
Item sem marca é motivo para adiar a janela. Sessão configurada sem esses registros sobe, mas não troca tráfego, e o diagnóstico depois toma mais tempo que a preparação.
IRR e ROA, os dois registros que liberam os seus prefixos
O objeto de rota no IRR diz que o seu ASN pode originar o bloco, e o ROA diz a mesma coisa assinado no RPKI. Os servidores costumam conferir os dois, e um prefixo sem registro fica de fora do repasse.
Se você anuncia blocos de clientes com ASN próprio, os registros desses clientes também precisam estar certos. Um cliente sem objeto de rota tem o prefixo filtrado, mesmo com a sua sessão funcionando bem.
Configuração de referência das duas sessões
O exemplo usa endereços de documentação e o ASN 64511 no lugar do ASN dos route servers. Troque pelos valores informados pelo ponto de troca na ativação da porta.
router bgp 64500
no bgp enforce-first-as
neighbor RS-PTT peer-group
neighbor RS-PTT remote-as 64511
neighbor RS-PTT description Route servers do ponto de troca
neighbor 192.0.2.253 peer-group RS-PTT
neighbor 192.0.2.254 peer-group RS-PTT
address-family ipv4
neighbor RS-PTT send-community both
neighbor RS-PTT prefix-list SAIDA-PTT out
neighbor RS-PTT route-map PTT-IN in
neighbor RS-PTT maximum-prefix 200000 90
neighbor 192.0.2.253 activate
neighbor 192.0.2.254 activate
!
route-map PTT-IN permit 10
set local-preference 200
set community 64500:200 additiveO comando no bgp enforce-first-as é necessário porque o route server não coloca o próprio ASN no caminho. Sem ele, alguns roteadores recusam as rotas.
- send-community both: permite usar as communities do servidor para escolher para quem anunciar.
- prefix-list SAIDA-PTT: garante que só os seus blocos e os dos seus clientes saiam para o ponto de troca.
- maximum-prefix 200000 90: avisa aos 90% do limite e derruba a sessão se ele for ultrapassado. [CONFIRMAR limite adequado à localidade]
- route-map PTT-IN: dá preferência às rotas do ponto de troca e marca a origem com uma community.
Vai ativar a porta no IX.br?
Na conexão ao IX.br, um Especialista configura as sessões com os route servers, os filtros e a política e acompanha a migração do tráfego do trânsito.
Configuração de sessões com route servers passo a passo
Com os registros prontos, a ordem abaixo deixa a janela curta e reversível. Cada etapa tem um ponto de conferência antes da próxima.
- Crie a prefix-list de saída: só os seus blocos e os dos clientes, conferidos contra o IRR.
- Monte o route-map de entrada: local-preference e community de origem para as rotas do ponto.
- Suba as sessões: uma com cada route server, em IPv4 e IPv6, com o limite de prefixos ligado.
- Confira o que sai: os prefixos anunciados batem com a prefix-list e aparecem no looking glass do ponto.
- Acompanhe o tráfego: nos dias seguintes, a porta do ponto sobe e o trânsito cai.
As mesmas sessões em IPv6
Cada route server tem também um endereço IPv6 na rede do ponto, e as sessões IPv6 são separadas das IPv4. A estrutura é a mesma, com prefix-list IPv6 de saída e limite de prefixos próprio.
Deixar o IPv6 de fora é comum e passa despercebido, porque o tráfego IPv6 dos assinantes continua saindo pelo trânsito. O custo aparece na conta do link, e não num alarme.
Route server, sessão bilateral ou trânsito: qual rota preferir?
A rota aprendida no ponto de troca costuma ser preferida à do trânsito, porque custa menos e tem menos atraso. A preferência é definida pelo local-preference, com a sessão bilateral acima do route server.
| Origem da rota | Local-preference |
|---|---|
| Cliente | 300 |
| Sessão bilateral no ponto de troca | 250 |
| Route server | 200 |
| Trânsito | 100 |
Marque as rotas com uma community de origem para controlar o que sai depois, inclusive para não repassar rotas do ponto de troca ao trânsito. Veja a configuração de communities BGP.
Quando vale fechar uma sessão bilateral
Algumas grandes redes de conteúdo não anunciam tudo pelo route server, ou anunciam com menos prefixos do que na sessão direta. Nesses casos, a bilateral traz rotas que o servidor não entrega.
Vale também quando o volume trocado com uma rede é alto e você quer controle direto da política com ela. Para o resto dos participantes, as duas sessões com os route servers já resolvem.
Erros comuns nas sessões com route servers
Os erros mais comuns fazem a sessão subir sem trocar tráfego ou vazar rotas para o ponto de troca. Os dois passam despercebidos no dia da ativação e aparecem semanas depois.
Evite
- Sessão com um só route server, sem redundância.
- Anunciar ao ponto de troca as rotas aprendidas do trânsito.
- Esquecer o IRR e ver os prefixos filtrados pelo servidor.
- Limite de prefixos baixo demais, que derruba a sessão quando o ponto cresce.
- Configurar só IPv4 e deixar o IPv6 de fora.
- Ativar a sessão sem validar a origem das rotas recebidas.
Vazamento de rotas do trânsito para o ponto de troca
Sem filtro de saída, o roteador de borda pode anunciar ao ponto de troca rotas que aprendeu do trânsito. Outros participantes passam a mandar tráfego da internet inteira pela sua porta, que lota em minutos.
A prefix-list de saída evita esse erro, e os servidores costumam barrar parte dele [CONFIRMAR filtros do IX.br contra vazamento]. Do lado da entrada, a validação de origem de rotas protege você dos vazamentos dos outros.
Checklist depois de ativar as sessões
Confira as duas sessões no dia da ativação e o tráfego nos dias seguintes. O sinal de que deu certo é a porta do ponto de troca subindo enquanto o trânsito cai.
Marque o que já foi conferido depois da ativação
- As duas sessões estão estabelecidas em IPv4 e IPv6.
- O número de rotas recebidas é parecido nos dois servidores.
- Os seus prefixos aparecem no looking glass do ponto de troca.
- O gráfico da porta mostra tráfego subindo e o trânsito caindo.
- Nenhuma rota do trânsito sai pela porta do ponto de troca.
Item sem marca indica sessão que não está trocando o que deveria. Volte aos registros e aos filtros antes de mexer na política.
A Táquion Tech configura as sessões com os route servers, os filtros e a política de preferência e acompanha a migração de tráfego nas semanas seguintes. Se a porta continuar vazia com o trânsito lotado, o guia de link de trânsito saturado ajuda a achar o motivo.
Perguntas frequentes sobre sessões com route servers
Por que fechar sessão com os dois route servers?
Para não perder as rotas se um servidor parar. Os dois têm as mesmas rotas e funcionam como reserva um do outro.
O route server aparece no caminho AS?
Não. Ele repassa as rotas sem colocar o próprio ASN, por isso é preciso desligar a checagem do primeiro AS.
Ainda preciso de sessões bilaterais?
Com grandes redes de conteúdo, muitas vezes sim, porque algumas não anunciam tudo pelo route server. Para os demais participantes, as duas sessões costumam bastar.
A sessão subiu, mas não recebo tráfego. Por quê?
Quase sempre os seus prefixos foram filtrados por falta de IRR ou ROA. Confira no looking glass do ponto de troca se eles aparecem.
Posso anunciar blocos de clientes pelo route server?
Pode, desde que os blocos estejam na sua prefix-list de saída e registrados no IRR e no RPKI. As regras de cada ponto de troca para isso devem ser conferidas antes [CONFIRMAR regras do IX.br para blocos de clientes].
Serviços ligados a este guia
- Conexão ao IX.br para provedores BGP e roteamento
- Solicitação de ASN para provedores BGP e roteamento
- Unificação de ASN para provedores Fusões e aquisições
Fontes
- RFC 7947, Internet Exchange BGP Route Server: funcionamento do route server.
- RFC 7948, Internet Exchange BGP Route Server Operations: práticas de operação e filtros.
- IX.br, troca de tráfego no Brasil: localidades, ativação e documentação dos route servers.