Algunas palabras sobre FastPath y FastTrack en MikroTik

No es ningún secreto que MikroTik fabrica enrutadores Software-Baser y la CPU se hace cargo de la mayor parte del procesamiento del tráfico. Este enfoque tiene una ventaja, porque Puede programar casi cualquier funcionalidad y mantener un sistema relativamente uniforme para todos los dispositivos. Pero en velocidad, siempre van a la zaga de los enrutadores con chips especializados.


El procesamiento de paquetes de software tiene varias desventajas:


  1. Falta de velocidad de cable: un procesador (especialmente un solo núcleo) no puede funcionar más rápido que los chips especializados.
  2. Cerraduras Con volúmenes realmente grandes de tráfico (por ejemplo, DoS / DDoS), es posible que no pueda conectarse al enrutador incluso a través de la interfaz de la consola, porque todo el tiempo del procesador estará ocupado por el procesamiento del tráfico.
  3. La complejidad de la escala. No puede agregar un módulo que aumente la velocidad de procesamiento de paquetes en el hardware.

Los desarrolladores recurren a varias soluciones de hardware y software para mejorar la situación:


  1. Switch-chip en modelos de bajo costo, le permite procesar el tráfico de capa 2 sin pasar por la CPU.
  2. SoC con un buen chip de red (línea CCR).
  3. Usar cifrado de hardware
  4. Se discutirán varias tecnologías que reducen la cantidad de procesamiento de software para paquetes (FastPath y FastTrack).

SlowPath vs FastPath


SlowPath es la ruta de tráfico básica a través de los subsistemas internos de MikroTik, puede ser bastante variada y cuanto más larga sea la ruta, mayor será la carga en la CPU y mayor será la velocidad.


FastPath: algoritmos que le permiten transferir tráfico sin pasar por unidades de procesamiento bastante grandes.


Ambiente de trabajo y soporte de dispositivos


La mayoría de los enrutadores y placas modernos de MikroTik admiten FastPath, pero el wiki tiene una lista detallada:


ModeloSoporte en interfaces ethernet
Serie RB6xxéter1,2
La mayor parte de la serie RB7xxtodos los puertos Ethernet
RB800éter1,2
Serie RB9xxtodos los puertos Ethernet
RB1000todos los puertos Ethernet
Serie RB1100éter1-11
Serie RB2011todos los puertos Ethernet
Serie RB3011todos los puertos Ethernet
Enrutadores de la serie CRStodos los puertos Ethernet
Enrutadores de la serie CCRtodos los puertos Ethernet
Otros dispositivosNo compatible

Y una lista separada para interfaces que no son de Ethernet:


InterfazSoporte FastpathNota
InalámbricoSi
PuenteSiA partir de las 6.29
VLAN, VRRPSiA partir de las 6.30
VinculaciónSiSolo tráfico RX a partir de las 6.30
EoIP, GRE, IPIPSiA partir de 6.33. Cuando esta opción está habilitada, no todo el tráfico del túnel pasará por FastPath
L2TP, PPPoESiA partir de las 6.35
MPLSSiActualmente, la ruta rápida MPLS se aplica solo al tráfico conmutado MPLS. La entrada y salida de MPLS funcionará como antes.
OtrosNo

FastPath requiere soporte completo para las interfaces entrantes y salientes. Solo las colas de hardware deben estar habilitadas en las interfaces.



Por último, FastPath realmente no le gusta el tráfico fragmentado. Si el paquete está fragmentado, definitivamente se quedará atascado en la CPU.


FastPath y Bridge


Bridge es una interfaz de software utilizada para crear comunicaciones de capa 2 entre múltiples interfaces de hardware (o software). Si combina 4 interfaces de ethernet en el puente en el enrutador (y habilita hw=yes ) y una inalámbrica, entonces el tráfico entre las interfaces de ethernet pasará por alto la interfaz de software, y el tráfico entre ethernet e inalámbrico utilizará el puente de software. En los enrutadores con varios chips (por ejemplo, RB2011), el tráfico entre interfaces de diferentes chips utilizará las capacidades del puente de software (a veces, para reducir la carga, las interfaces simplemente combinan el cable de conexión y, en general, funciona).


FatsPath: se refiere solo al tráfico que ingresa a través de la CPU (puente de software), generalmente es el tráfico entre interfaces de diferentes chips o la opción hw=yes está desactivada.


En Packet Flow, el tráfico que pasa por Bridge es el siguiente:



Y más detalles:



Se incluye en la configuración del puente (la configuración es la misma para todas las interfaces del puente) [Puente] -> [Configuración] -> [Permitir FastPath], allí también puede ver los contadores.



Para que FastPath funcione en Bridge, se deben cumplir las siguientes condiciones:


  1. No hay configuración de vlan en las interfaces de puente (creo que esto no es relevante para la serie CRS, donde vlan se configura a nivel de hardware, pero puedo estar equivocado)
  2. No hay reglas en el /interface bridge filter y /interface bridge nat , estos son los mismos bloques del segundo circuito por el que pasa la trama.
  3. Firewall ip no habilitado ( use-ip-firwall=no ). Una buena característica para capturar tráfico y depurar la red, pero rara vez se habilita de forma continua.
  4. No utilice mallas ni metarouter.
  5. En la interfaz no se están ejecutando: sniffer, antorcha y generador de tráfico.

FastPath y Túnel


En pocas palabras: la interfaz del túnel es la encapsulación de algunos paquetes en la parte de carga de otros paquetes. Si sigue PacketFlow, el paquete original se marca con líneas rojas, el paquete original encapsulado en el paquete de protocolo de túnel (por ejemplo, ipip o gre; eoip obtiene (y proviene) en la decisión de puente; el paquete de túnel es aún más interesante, pero no está relacionado con ruta rápida).



El tráfico del túnel en FastPath no será visible en: firewall, colas, zona activa, vrf, contabilidad ip. Pero algunos de los paquetes continuarán transmitiéndose a través de SlowPath, esto debe tenerse en cuenta al configurar Firewall.


Para que FastPath funcione en interfaces de túnel, se deben cumplir las siguientes condiciones:


  1. No use el cifrado ipsec
  2. Evite la fragmentación de paquetes (configure mtu correctamente)
  3. Habilite allow-fast-path=yes en la interfaz del túnel

FastPath y Layer3


Layer3 es la transmisión de paquetes entre subredes; el enrutador crea tablas de enrutamiento y las reenvía al siguiente salto.


En Packet Flow, el tráfico de tránsito de la capa de red se ve así:



ir profundo



e incluso más profundo



Para usar FastPath en Layer3, se deben cumplir las siguientes condiciones:


  1. No agregue reglas al firewall (en absoluto, incluso nat).
  2. No agregue entradas a las listas de direcciones.
  3. No configure Colas simples y Árbol de colas para parent=global , o las interfaces en las que planea obtener un FastPath que funcione.
  4. No use mallas ni metarouter.
  5. Deshabilitar rastreador de conexiones. La opción automática se introdujo específicamente para que FastPath funcione cuando no había reglas en el firewall.
  6. No utilice /ip accounting .
  7. No use /ip route vrf .
  8. No configure /ip hotspot .
  9. No agregue políticas de ipsec.
  10. La caché de ruta debe estar habilitada.
  11. No utilice activamente: /tool mac-scan y /tool ip-scan .
  12. Ejecutar sniffer, antorcha y generador de tráfico interfieren con FastPath.

Se incluye en la configuración de IP: [IP] -> [Configuración], allí también puede ver los contadores de paquetes procesados ​​con éxito.



Captura de pantalla de un enrutador doméstico. Tengo un firewall bastante cargado, varias conexiones y colas L2TP / IPSec habilitadas permanentemente. Ni siquiera puedes soñar con FastPath.


Vía rápida


Tecnología de etiquetado para paquetes ip para un paso rápido a través de Packet Flow.


Para que FastTrack funcione, se deben observar las siguientes condiciones:


  1. Route Cache y FastPath deben estar habilitados y activos.
  2. La configuración correcta para el etiquetado de tráfico.
  3. Funciona solo para tráfico UDP y TCP.
  4. No use mallas ni metarouter.
  5. No utilice activamente: /tool mac-scan y /tool ip-scan .
  6. Ejecutar sniffer, antorcha y generador de tráfico interfieren con FastTrack.

El tráfico marcado como vía rápida no se procesará en:


  1. Filtro de firewall (aunque esto es discutible, mostraré por qué en el ejemplo);
  2. Cortar el cortafuegos;
  3. IPsec
  4. Colas con parrent = global;
  5. Punto de acceso;
  6. VRF

Si algo interfiere con el paquete que pasa a través de la vía rápida, se transmitirá como todos los paquetes restantes a lo largo de la ruta lenta.


Se habilita agregando una regla (ver más abajo) en el Firewall. FastTrack solo se marcan los paquetes de la conexión establecida (puede marcar nuevos, pero luego habrá problemas con NAT). La tabla de filtro se usa porque al marcar la vía rápida en el enrutamiento previo, nuevamente habrá problemas con NAT.


Prueba sintética



FastpathRastreador de conexiónNATVía rápidaVelocidadCPU
----~ 932Mb / seg100% (redes, ethernet)
+---~ 923Mb / seg65-75% (redes, ethernet, sin clasificar)
++--~ 680Mb / seg100% (redes, firewall, ethernet)
+++-~ 393Mb / seg100% (redes, firewall, ethernet)
++++~ 911Mb / seg60-80% (redes, ethernet, sin clasificar)

Y (para la última prueba) qué se configuró y cómo funcionó:
Las reglas de filtrado continuaron procesando el tráfico (si deshabilita permitir que el tráfico relacionado establecido se caiga), los paquetes que no entraron en FastTrack quedaron atrapados en el postrouting + mangle.





En el Rastreador de conexiones, puede rastrear las conexiones FastTrack con la bandera del mismo nombre.



En los contadores [IP] -> [Configuración], puede ver que FastTrack está activo y funcionando, pero FastPath no.



 /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 

En lugar de una conclusión


Uso o no?


  • FastPath for Bridge: definitivamente sí. Al menos reduce la carga en la CPU.
  • FastPath para túneles - No. Funciona fangoso, se apaga si hay cifrado.
  • FastPath for Layer3: controvertidamente, la mayoría de las capacidades del enrutador se pierden. En un Internet grande, cerrado desde el salvaje, la red puede tener sus propias (pequeñas) ganancias.
  • FastPath para MPLS / VLAN / Bonding / VRRP: se habilita automáticamente, si es posible. No hay una opción separada para el control.
  • FastTrack: para configuraciones domésticas y SOHO sin colas y un firewall paranoico es adecuado. Las pruebas sintéticas con un cliente se ven bien, en la práctica, debe monitorear cuidadosamente el tráfico que pasó por FastTrack y buscar la causa.

Enlaces además


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/es435372/


All Articles