关于MikroTik的FastPath和FastTrack的几句话

MikroTik生产Software-Baser路由器并由CPU接管大部分流量处理工作已不是什么秘密。 这种方法有一个优势,因为 您可以对几乎所有功能进行编程,并为所有设备维护一个相对统一的系统。 但是在速度上,它们将始终落后于具有专用芯片的路由器。


软件包处理有几个缺点:


  1. 线速不足-处理器(尤其是单核)的运行速度不能比专用芯片快。
  2. 锁 由于流量非常大(例如DoS / DDoS),即使通过控制台界面,您也可能无法连接到路由器,因为 所有处理器时间将被流量处理占用。
  3. 缩放的复杂性。 您不能添加可以提高硬件处理数据包速度的模块。

开发人员可以使用各种硬件和软件解决方案来改善这种情况:


  1. 低成本型号上的交换芯片使您能够绕过CPU处理第2层流量。
  2. 具有良好网络芯片的 SoC(CCR线)。
  3. 使用硬件加密
  4. 将讨论减少包的软件处理数量的各种技术(FastPath和FastTrack)。

SlowPath与FastPath


SlowPath是内部MikroTik子系统的基本通信路径,它可以是多种多样的,并且路径越长,CPU的负载越高,速度下降得越多。


FastPath-使您绕过相当大的处理单元传输流量的算法。


工作环境和设备支持


MikroTik的大多数现代路由器和板卡都支持FastPath,但是Wiki有详细列表:


型号支持以太网接口
RB6xx系列醚1,2
大部分RB7xx系列所有以太网端口
RB800醚1,2
RB9xx系列所有以太网端口
RB1000所有以太网端口
RB1100系列醚1-11
RB2011系列所有以太网端口
RB3011系列所有以太网端口
CRS系列路由器所有以太网端口
CCR系列路由器所有以太网端口
其他设备不支援

以及非以太网接口的单独列表:


介面快速路径支持注意事项
无线通讯是的
桥牌是的从6.29开始
VLAN,VRRP是的从6.30开始
粘接是的仅从6.30开始的RX流量
EoIP,GRE,IPIP是的从6.33开始。 启用此选项后,并非所有隧道流量都将通过FastPath
L2TP,PPPoE是的从6.35开始
MPLS协议是的当前,MPLS快速路径仅适用于MPLS交换流量。 MPLS入口和出口将像以前一样运行。
其他没有啦

FastPath需要完全支持入站和出站接口。 接口上仅应启用硬件队列。



最后,FastPath确实不喜欢分散的流量。 如果数据包被分段,则肯定会卡在CPU上。


FastPath和网桥


网桥是一种软件接口,用于在多个硬件(或软件)接口之间创建第2层通信。 如果在路由器的网桥中组合4个以太网接口(并启用hw=yes )和一个无线网,则以太网接口之间的流量将绕过程序接口,而以太网和无线网之间的流量将使用软件桥。 在具有多个芯片的路由器(例如RB2011)上,来自不同芯片的接口之间的流量将使用软件桥接器的功能(有时,为减少负载,这些接口仅将跳线组合在一起,通常就可以使用)。


FatsPath-仅指通过CPU(软件桥)的流量,通常是来自不同芯片的接口之间的流量,或者禁用hw=yes选项。


在数据包流上,通过网桥的流量如下:



以及更多详细信息:



它包含在网桥设置中(所有网桥接口的设置都相同)[Bridge]-> [Settings]-> [Allow FastPath],您还可以在其中看到计数器。



为了使FastPath在Bridge中工作,必须满足以下条件:


  1. 网桥接口上没有VLAN配置(我认为这与CRS系列无关,因为CRS系列是在硬件级别配置VLAN,但是我可能是错的)
  2. /interface bridge filter/interface bridge nat中没有规则,这些是帧通过的第二个电路中的相同块。
  3. 未启用IP防火墙( use-ip-firwall=no )。 一个很好的功能,用于捕获流量和调试网络,但很少持续启用。
  4. 不要使用网格和元路由器
  5. 接口未运行:嗅探器,火炬和流量生成器。

FastPath和隧道


简而言之:隧道接口是将某些数据包封装到其他数据包的负载部分中。 如果沿着PacketFlow前进,则原始数据包会用红线标记,原始数据包封装在隧道协议数据包中(例如ipip或gre; eoip在桥接决策中获得(来自);隧道数据包仍然更有趣,但与快速路径)。



FastPath中的隧道流量在以下位置不可见:防火墙,队列,热点,vrf,ip记帐。 但是某些数据包将继续通过SlowPath传输,在配置防火墙时应考虑到这一点。


为了使FastPath在隧道接口中工作,必须满足以下条件:


  1. 不要使用ipsec加密
  2. 避免数据包分段(正确配置MTU)
  3. 在隧道接口上启用allow-fast-path=yes

FastPath和Layer3


第3层是子网之间的数据包传输;路由器会建立路由表并将其转发到下一跳。


在数据包流上,网络层传输流量如下所示:



深入



甚至更深



要在Layer3上使用FastPath,必须满足以下条件:


  1. 请勿将规则添加到防火墙(甚至不添加任何规则)。
  2. 不要将条目添加到地址列表。
  3. 不要为parent=global或计划在其上获得可用的FastPath的接口配置简单队列和队列树。
  4. 不要使用网格和元路由器。
  5. 禁用连接跟踪器。 auto选项是专门为FastPath引入的,以便在防火墙中没有规则时起作用。
  6. 不要使用/ip accounting
  7. 不要使用/ip route vrf
  8. 不要配置/ip hotspot
  9. 不要添加ipsec策略。
  10. 必须启用路由缓存。
  11. 不要主动使用: /tool mac-scan/tool ip-scan
  12. 运行的嗅探器,火炬和流量生成器会干扰FastPath。

它包含在ip设置中:[IP]-> [Settings],在那里您还可以看到成功处理的数据包的计数器。



家用路由器的屏幕截图。 我有一个相当负载的防火墙,有几个永久启用的L2TP / IPSec连接和队列。 您甚至都无法梦想FastPath。


快速通道


ip数据包的标记技术,可快速通过数据包流。


为使FastTrack正常工作,必须遵守以下条件:


  1. 路由缓存和FastPath必须启用并处于活动状态。
  2. 流量标签的正确配置。
  3. 仅适用于UDP和TCP通信。
  4. 不要使用网格和元路由器。
  5. 不要主动使用: /tool mac-scan/tool ip-scan
  6. 运行的嗅探器,火炬和交通生成器会干扰FastTrack。

标记为快速通道的流量将不会在以下位置处理:


  1. 防火墙过滤器(尽管这值得商bat,但我将在示例中说明原因);
  2. 防火墙损坏;
  3. 安全协议
  4. parrent =全局的队列;
  5. 热点
  6. VRF

如果某些东西干扰了通过快速通道的数据包,它将像所有其余数据包一样沿着慢速路径传输。


通过在防火墙中添加规则(请参见下文)来启用它。 FastTrack仅标记来自已建立连接的数据包(您可以标记新的,但是NAT会出现问题)。 使用过滤器表是因为 在预路由中标记快速通道时,NAT仍然会出现问题。


综合测试



快速路径连接跟踪器NAT快速通道速度中央处理器
--------〜932Mb /秒100%(网络,以太网)
+------〜923Mb /秒65-75%(网络,以太网,未分类)
++----〜680Mb /秒100%(网络,防火墙,以太网)
+++--〜393Mb /秒100%(网络,防火墙,以太网)
++++〜911Mb /秒60-80%(网络,以太网,未分类)

以及(对于最后一个测试)配置的内容及其工作方式:
过滤规则继续处理流量(如果您禁用允许建立的相关流量下降),未进入FastTrack的数据包将在路由后+混乱中被捕获。





在连接跟踪器中,您可以通过相同名称的标志跟踪FastTrack连接。



在[IP]-> [Settings]计数器中,您可以看到FastTrack处于活动状态并且可以正常工作,但是FastPath却没有。



 /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 

而不是结论


使用与否?


  • FastPath for Bridge-绝对可以。 至少可以减轻CPU的负担。
  • 隧道的FastPath-否 它工作混乱,如果有加密,它会关闭。
  • 第3层的FastPath-有争议的是,路由器的大多数功能都丢失了。 在大型的,封闭的,远离野外的互联网中,网络可以拥有自己的(小额)收益。
  • MPLS / VLAN /绑定/ VRRP的FastPath-如果可能,自动启用。 没有单独的控制选项。
  • FastTrack-适用于没有队列且偏执型防火墙的家庭和SOHO配置。 在一个客户端上进行综合测试看起来不错,实际上,您需要仔细监视通过FastTrack泄漏的流量并寻找原因。

附加链接


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

Source: https://habr.com/ru/post/zh-CN435372/


All Articles