RouterOS FastTrack

最後更新: 2016-04-14

目錄

  • Linux Fasttrack
  • RouterOS Fasttrack
  • Linux Fasttrack Implement

Linux Fasttrack

 

Fast path allows to forward packets without additional processing in the Linux kernel.

Traffic that belongs to a fast-tracked connection travels in FastPath,
  which means that it will not be visible by other router L3 facilities.
   (L3 facilities: firewall, queues, IPsec, IP accounting, VRF assignment, etc)

more than 5x performance improvement compared to regular slow path conntrack/nat

Any packet processing can be broken into:

  • CP (Control path)
  • DP (Data path)

There are different types of fastpath implementations in the industry today.

    * ASIC-based fastpath implementations.

    * Network-processor-based fastpath implementation

    * Control plane and data plane with some cores running CP and
       some cores running Bare Metal DP or executive fastpath.

    * Linux-network-driver-based fastpath for devices that use Linux SMP.

In a typical network-processing applicaton, there can be thousands of flows. All flows are created equal.

After the initial setup/verification, most of these flows require a simple and deterministic processing.

By recognizing and caching such flows and processing such packets in a separate highly optimized context,
  these flows can be put on a fasttrack.

 


RouterOS Fasttrack

 

* ipv4 fasttrack fastpath - accelerates connection tracking and nat for marked connections (automatically)
   -
currently limited to TCP/UDP only;
   - FastTrack handler also supports source and destination NAT;
   - Use firewall action "fasttrack-connection" to mark connections for FastTrack;

* more than 5x performance improvement compared to regular slow path conntrack/nat

* added ~fasttrack-connection~ firewall action in filter/mangle tables for marking connections as fasttrack;

* added fastpath support for bridge interfaces - packets received and transmitted on bridge interface can go fastpath;

# At the top of the Firewall Filter
# Use firewall action "fasttrack-connection" to mark connections for FastTrack

/ip firewall filter

add chain=forward action=drop connection-state=invalid

add chain=forward action=fasttrack-connection connection-state=established,related \
    comment="fasttrack established/related"

add chain=forward action=accept connection-state=established,related
    comment="accept established/related"

Note:

[Rule 1]

established/related connections go to "fasttrack"

 - That all packets that goes fasttrack,
   will not be visible in firewall and you will not be able to limit them in queue global.

[Rule 2]

To maintain connection tracking entries some random packets will still be sent to a slow path.

 - Not all packets in a connection can be FastTracked, even though connection is marked for FastTrack.

 


Linux Fasttrack Implement

 

application-specific fastpath (ASF)

All the packets entering the system are forwarded from an Ethernet driver to ASF module.

* accelerate the packet processing of most commonly used functionalities

  • IPv4 forwarding
  • NAT
  • firewall
  • IPSEC
  • QoS

 


 

 

 

 

Creative Commons license icon Creative Commons license icon