[GTER] Hardware para softrouter com DANOS até uns 10Gbps ou 20Gbps

Willian Pires de Souza willian_pires at hotmail.com
Thu Dec 23 02:34:16 -03 2021


Boa noite:

CgNat Bare Metal, sem DPKD rodando Debian 10:


2x Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
PowerEdge R720
64Gb de ram
2x Ethernet Controller X710 for 10GbE SFP+

02:24:16 up 254 days, 18:46,  1 user,  load average: 0,01, 0,04, 0,04

bond0: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST>  mtu 1500
        RX packets 32157844271087  bytes 40482127125413624 (35.9 PiB)
        RX errors 0  dropped 7898261056  overruns 0  frame 0
        TX packets 13390913755273  bytes 4306926658488085 (3.8 PiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

bond1: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST>  mtu 1500
        RX packets 13390070560702  bytes 4312303158348009 (3.8 PiB)
        RX errors 0  dropped 6559  overruns 0  frame 0
        TX packets 32073983370032  bytes 40463220080524215 (35.9 PiB)
        TX errors 0  dropped 26074 overruns 0  carrier 0  collisions 0

Passa 30Gb/s toda noite, sem reclamações, a mais de 90 dias.

Se você rodar ele virtual, você vai fritar os cpus onde rodara o Danos, você vai ter que pinnar, as cpus
para ficar exclusiva para essa máquina e aí acaba matando a máquina host.


No seu cenário, 2 cavalos desse aí em cima.

1 CGNat(Linux Debian/Ubuntu 10/11 ipfilter ou netfilter), o Danos tem uns problemas com ALG, até onde eu tinha visto ainda não resolvidos.
1 BGP(Danos) DPDK, o Danos resolve o problema do route-lookup, mas aqui só passa os pacotes para as rotas corretas.
1 switch 67xx da vida ou equivalente com portas de 10Gb para você fazer os portchannels
OBS, todos os seus Links, PTT e etc conectam no switch, e dele você desce vlan para o Danos, o Danos tem vlans para seus clientes BGP,
e vlan para o seu CGNat, boladao.


Vamos lá: até 33/35Gb vai de boa, sem stress, utilize 2 placas de 4 portas para maximizar a distribuição de pacotes entre todas as cpus,
você vai precisar cruzar as portas entre as placas para o portchannel poder usar todos os cpus,
esse foi o melhor comportamento que consegui fazer, utilize cabos DAC da Intel,Cisco pelo amor de Deus.

Evite vlan, menos 1 modulo menos 1 jump no kernel, faça tudo na interface roteada.

Coloque as placas em portas de CPU diferente.

Prós, funciona e tem um custo acessível, cada máquina dessa no mercado de usados sai uns 27k, na conta que você é um provedor
tranquilamente está com mais de 10k clientes com valor na média de  R$ 89,90 dá para segurar, essas máquinas são duráveis e se fizer o trabalho de firmware e comprar
de vendedor sério elas vão servir seu provedor por muito tempo.

Funciona tudo com 2000 portas por cliente, e protocolos como SIP, H264, H323,GRE, jogos e vpn em geral funcionam sem maiores problemas.

Contras, consumo de energia elétrica, essas máquinas devem ser setadas para "maximum performance" na bios e acredite, elas vão consumir de 2 a 3 mil reais
por mês, o suporte é 100% seu, independente do seu esforço sempre vai acontecer de 1 pacote chegar em 1 cpu com 100% e cada vez que isso ocorre é
um ping falhando e um cliente ligando, em hardware com ASIC isso é menos problemático.

Não vejo como você rodar o que vocês precisam virtualizado, melhor colocar um MK de emergência, ou fazer "bgp announce only" no switch.

O BPF Brasil Peering Forum tem uma documentação excelente.




________________________________
De: gter <gter-bounces at eng.registro.br> em nome de Tiago SR via gter <gter at eng.registro.br>
Enviado: terça-feira, 21 de dezembro de 2021 18:16
Para: gter <gter at eng.registro.br>
Cc: Tiago SR <listas at tiagosr.com>
Assunto: [GTER] Hardware para softrouter com DANOS até uns 10Gbps ou 20Gbps

Boa tarde,

Hoje nossa borda é um EdgeRouter Pro e estamos chegando no limite dele tanto em tráfego quanto necessidade de porta 10Gbps. Funciona muito bem, a propósito, nos seus 1.4Gbps com 2 full routings e EdgeOS 2.0.9, e iria tentar levar ele até os 2Gbps, se não fosse porque em um dos upstreams vamos passar de 1Gbps por questões comerciais. Até pensei no EdgeRouter Infinity, mas está caro de mais para o nível dele. Quanto a CCR, quero evitar, vejo por feedbacks que nem as 2004 ARM agradam no BGP.

Temos que trocar também a caixa de CGNAT, que era uma CCR1009 que estava reservada para isso mas nunca chegamos a implementar nessa função porque não cheguei a uma solução para CGNAT determinístico fácil de aplicar para nossa rede (endereçamentos feitos sem prever isso). E ela só tem 1 porta 10Gbps, então não resolve de qualquer forma.

Roteadores de verdade, tipo Huawei ou Juniper, iriam quebrar nosso caixa. Então parece que restou montar softrouter e o DANOS parece ser a melhor opção de software atualmente para isso (e resolve nosso problema de CGNAT sem custos, com BPA). A questão é o hardware, até porque estou pensando em fazer borda e CGNAT BPA no mesmo servidor por enquanto. Acredito que deve fluir bem, né, porque BGP em si não é algo que demande muito hardware e CPU x86 roda sem sentir, e tem o DPDK que faz escalar para boas capacidades de encaminhamento... Ou estou enganado? Sem falar de ser arquiteturalmente errado, também acho, mas por enquanto é o que é viável ($$ - vamos ter que trocar BRAS também) e só precisa funcionar bem...

Sobre hardware, esses servidores mais antigos, com Xeons sixcore E56xx/X56xx (Westmere), escalam até uns 10Gbps ou 20Gbps fazendo BGP e CGNAT no DANOS bare metal? Penso em pegar um IBM x3650 M3 (porque já temos um, gosto dele, e facilitaria questão de peças), um Dell R710 ou um HP DL380 G7 com processadores assim, uns 32GB de RAM e 2 Intel X520 D2. Quase sempre que se fala em softrouter, parece que a conversa já começa com no mínimo Xeons E5...

E se eu pegar o servidor desse que já temos aqui rodando Proxmox com algumas aplicações virtualizadas, uso de CPU abaixo de 10%, instalar mais RAM e colocar o DANOS em uma VM com as X520 D2 em PCI Passthrough pra ele? O que isso daria de desempenho com DPDK, teriam uma noção para me informar, talvez em comparação a um bare metal? Nem cogito implementar assim, o questionamento veio do pessoal que segura a verba, mas dependendo do desempenho, poderia ser um backup para uma emergência...

Agradeço desde já pelas contribuições!
--
gter list    https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Feng.registro.br%2Fmailman%2Flistinfo%2Fgter&data=04%7C01%7C%7C22529becff494994d68f08d9c547fe95%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637757735279746078%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=hs%2FZngOYxnAydIUJA5GJhsZVtxRftBtbWktZlSKv%2Bc8%3D&reserved=0


More information about the gter mailing list