Algumas palavras sobre o FastPath e o FastTrack no MikroTik

Não é segredo que o MikroTik fabrica roteadores Software-Baser e a CPU assume a maior parte do processamento de tráfego. Essa abordagem tem uma vantagem, porque Você pode programar quase qualquer funcionalidade e manter um sistema relativamente uniforme para todos os dispositivos. Mas em velocidade, eles sempre ficarão atrás dos roteadores com chips especializados.


O processamento de pacotes de software tem várias desvantagens:


  1. Falta de velocidade do fio - um processador (especialmente um único núcleo) não pode funcionar mais rápido que os chips especializados.
  2. Fechaduras. Com grandes volumes de tráfego (por exemplo, DoS / DDoS), talvez você não consiga se conectar ao roteador mesmo através da interface do console, porque todo o tempo do processador será ocupado pelo processamento de tráfego.
  3. A complexidade do dimensionamento. Você não pode adicionar um módulo que aumente a velocidade de processamento de pacotes no hardware.

Os desenvolvedores recorrem a várias soluções de hardware e software para melhorar a situação:


  1. Switch-chip em modelos de baixo custo, permite processar o tráfego da Camada 2 ignorando a CPU.
  2. SoC com um bom chip de rede (linha CCR).
  3. Usando criptografia de hardware
  4. Várias tecnologias que reduzem o número de processamento de software para pacotes (FastPath e FastTrack), e serão discutidas.

SlowPath vs FastPath


O SlowPath é o caminho de tráfego básico através dos subsistemas internos do MikroTik; pode ser bastante variado e quanto maior o caminho, maior a carga na CPU e mais a velocidade diminui.


FastPath - algoritmos que permitem transferir tráfego ignorando unidades de processamento razoavelmente grandes.


Ambiente de trabalho e suporte a dispositivos


A maioria dos roteadores e placas modernos do MikroTik suporta o FastPath, mas o wiki possui uma lista detalhada:


ModeloSuporte em interfaces Ethernet
RB6xx serieséter1,2
A maioria das séries RB7xxtodas as portas Ethernet
RB800éter1,2
RB9xx seriestodas as portas Ethernet
RB1000todas as portas Ethernet
Série RB1100ether1-11
Série RB2011todas as portas Ethernet
Série RB3011todas as portas Ethernet
Roteadores da série CRStodas as portas Ethernet
Roteadores da série CCRtodas as portas Ethernet
Outros dispositivosNão suportado

E uma lista separada para interfaces não-Ethernet:


InterfaceSuporte FastpathNota
WirelessSim
BridgeSimA partir de 6.29
VLAN, VRRPSimA partir das 6h30
ColagemSimSomente tráfego RX a partir das 6h30
EoIP, GRE, IPIPSimA partir de 6.33. Quando essa opção está ativada, nem todo o tráfego do túnel passa pelo FastPath
L2TP, PPPoESimA partir de 6,35
MPLSSimAtualmente, o atalho do MPLS se aplica apenas ao tráfego comutado do MPLS. A entrada e saída do MPLS funcionará como antes.
OutrosNão

O FastPath requer suporte total para interfaces de entrada e saída. Somente filas de hardware devem ser ativadas nas interfaces.



Por fim, o FastPath realmente não gosta de tráfego fragmentado. Se o pacote estiver fragmentado, ele definitivamente ficará preso na CPU.


FastPath e Bridge


Bridge é uma interface de software usada para criar comunicações Layer2 entre várias interfaces de hardware (ou software). Se você combinar 4 interfaces Ethernet na ponte no roteador (e habilitar hw=yes ) e uma sem fio, o tráfego entre as interfaces Ethernet ignorará a interface do software e o tráfego entre a Ethernet e a sem fio usará a ponte do software. Em roteadores com vários chips (por exemplo, RB2011), o tráfego entre interfaces de diferentes chips usará os recursos da ponte de software (às vezes, para reduzir a carga, as interfaces simplesmente combinam o patch cord e, geralmente, funcionam).


FatsPath - refere-se apenas ao tráfego proveniente da CPU (ponte de software), geralmente é o tráfego entre interfaces de chips diferentes ou a opção hw=yes está desabilitada.


No fluxo de pacotes, o tráfego que passa pelo Bridge é o seguinte:



E mais detalhes:



Ele está incluído nas configurações de ponte (a configuração é a mesma para todas as interfaces de ponte) [Bridge] -> [Settings] -> [Allow FastPath]; também é possível ver os contadores.



Para o FastPath funcionar no Bridge, as seguintes condições devem ser atendidas:


  1. Não há configuração de vlan nas interfaces de ponte (acho que isso não é relevante para a série CRS, onde a vlan está configurada no nível do hardware, mas posso estar errado)
  2. Não há regras no /interface bridge filter e /interface bridge nat , esses são os mesmos blocos do segundo circuito pelo qual o quadro passa.
  3. Firewall ip não ativado ( use-ip-firwall=no ). Um bom recurso para capturar tráfego e depurar a rede, mas raramente ativado continuamente.
  4. Não use malha e metarouter
  5. Na interface não estão em execução: sniffer, tocha e gerador de tráfego.

FastPath e túnel


Em poucas palavras: a interface de encapsulamento é o encapsulamento de alguns pacotes na parte de carga de outros pacotes. Se você seguir o PacketFlow, o pacote original será marcado com linhas vermelhas, o pacote original encapsulado no pacote do protocolo de encapsulamento (por exemplo, ipip ou gre; o eoip obtém (e vem)) na decisão de ponte; o pacote de encapsulamento ainda é mais interessante, mas não está relacionado a caminho rápido).



O tráfego do túnel no FastPath não será visível em: firewall, filas, ponto de acesso, vrf, contabilidade de IP. Mas alguns dos pacotes continuarão a ser transmitidos via SlowPath, isso deve ser levado em consideração ao configurar o Firewall.


Para o FastPath funcionar em interfaces de encapsulamento, as seguintes condições devem ser atendidas:


  1. Não use criptografia ipsec
  2. Evite a fragmentação de pacotes (configure o mtu corretamente)
  3. Ative allow-fast-path=yes na interface do túnel

FastPath e Layer3


Layer3 é a transmissão de pacotes entre sub-redes; o roteador cria tabelas de roteamento e as encaminha para o próximo salto.


No fluxo de pacotes, o tráfego de trânsito da camada de rede se parece com o seguinte:



vá fundo



e ainda mais profundo



Para usar o FastPath na Camada3, as seguintes condições devem ser atendidas:


  1. Não adicione regras ao firewall (mesmo que seja nat).
  2. Não adicione entradas às listas de endereços.
  3. Não configure Filas simples e Árvore de filas para parent=global ou as interfaces nas quais você planeja obter um FastPath em funcionamento.
  4. Não use malha e metarouter.
  5. Desative o Rastreador de conexão. A opção automática foi introduzida especificamente para o FastPath funcionar quando não havia regras no firewall.
  6. Não use /ip accounting .
  7. Não use /ip route vrf .
  8. Não configure /ip hotspot .
  9. Não adicione políticas ipsec.
  10. O cache de rota deve estar ativado.
  11. Não use ativamente: /tool mac-scan e /tool ip-scan .
  12. O farejador, a tocha e o gerador de tráfego em execução interferem no FastPath.

Está incluído nas configurações de IP: [IP] -> [Configurações], também é possível ver os contadores de pacotes processados ​​com sucesso.



Captura de tela de um roteador doméstico. Eu tenho um firewall bastante carregado, várias conexões e filas L2TP / IPSec permanentemente ativadas. Você nem pode sonhar com o FastPath.


Fasttrack


Tecnologia de rotulagem para pacotes IP para passagem rápida pelo Packet Flow.


Para o FastTrack funcionar, as seguintes condições devem ser observadas:


  1. O cache de rota e o FastPath devem estar habilitados e ativos.
  2. A configuração correta para rotulagem de tráfego.
  3. Funciona apenas para tráfego UDP e TCP.
  4. Não use malha e metarouter.
  5. Não use ativamente: /tool mac-scan e /tool ip-scan .
  6. Farejador, tocha e gerador de tráfego em execução interferem no FastTrack.

O tráfego marcado como fasttrack não será processado em:


  1. Filtro de firewall (embora isso seja discutível, mostrarei por que no exemplo);
  2. Firewall mangle;
  3. IPsec
  4. Filas com parrent = global;
  5. Hotspot;
  6. VRF

Se algo interferir com o pacote que passa pelo fasttrack, ele será transmitido como todos os pacotes restantes no caminho lento.


É ativado adicionando uma regra (veja abaixo) no Firewall. Somente pacotes FastTrack da conexão estabelecida são marcados (você pode marcar como novo, mas haverá problemas com o NAT). A tabela de filtros é usada porque ao marcar o fasttrack na pré-rota, haverá novamente problemas com o NAT.


Teste sintético



Caminho rápidoRastreador de conexãoNATFasttrackVelocidadeCPU
----~ 932Mb / seg100% (rede, ethernet)
+---~ 923Mb / seg65-75% (rede, ethernet, não classificado)
++--~ 680 Mb / s100% (rede, firewall, ethernet)
+++-~ 393Mb / seg100% (rede, firewall, ethernet)
++++~ 911Mb / seg60-80% (rede, ethernet, não classificado)

E (no último teste) o que foi configurado e como funcionou:
As regras de filtragem continuavam processando o tráfego (se você desabilitar a permissão para o tráfego estabelecido estabelecido caiu), os pacotes que não entraram no FastTrack foram pegos no póstrouting + mangle.





No Rastreador de conexão, você pode rastrear as conexões do FastTrack com a bandeira do mesmo nome.



Nos contadores [IP] -> [Configurações], é possível ver que o FastTrack está ativo e funcionando, mas o FastPath não.



 /ip firewall filter add action=fasttrack-connection chain=forward connection-state=established,related add action=accept chain=forward connection-state=established,related add action=accept chain=forward connection-state=new add action=drop chain=forward /ip firewall mangle add action=mark-packet chain=postrouting connection-state=established,related new-packet-mark=q1 passthrough=no src-address=20.20.20.0/24 /ip firewall nat add action=masquerade chain=srcnat out-interface=ether1 

Em vez de uma conclusão


Usar ou não?


  • FastPath for Bridge - Definitivamente sim. Pelo menos reduz a carga na CPU.
  • FastPath for Tunnels - No. Funciona enlameado, desliga se houver criptografia.
  • FastPath for Layer3 - Controversamente, a maioria dos recursos do roteador é perdida. Em uma grande Internet fechada, a rede pode ter seus próprios (pequenos) ganhos.
  • FastPath for MPLS / VLAN / Bonding / VRRP - Ativa automaticamente, se possível. Não há opção separada para controle.
  • FastTrack - Para configurações domésticas e SOHO sem filas e um firewall paranóico é adequado. Testes sintéticos com um cliente parecem bons; na prática, você precisa monitorar cuidadosamente o tráfego que passou pelo FastTrack e procurar a causa.

Links além


https://wiki.mikrotik.com/wiki/Manual:Fast_Path
https://wiki.mikrotik.com/wiki/Manual:IP/Fasttrack
http://mum.mikrotik.com/presentations/UA15/presentation_3077_1449654925.pdf

Source: https://habr.com/ru/post/pt435372/


All Articles