Bukan rahasia lagi bahwa MikroTik memproduksi router Software-Baser dan CPU mengambil alih sebagian besar pemrosesan lalu lintas. Pendekatan ini memiliki keunggulan, karena Anda dapat memprogram hampir semua fungsi dan mempertahankan sistem yang relatif seragam untuk semua perangkat. Namun dalam kecepatan, mereka akan selalu tertinggal router dengan chip khusus.
Pemrosesan paket perangkat lunak memiliki beberapa kelemahan:
- Kurangnya kecepatan kawat - prosesor (terutama satu inti) tidak dapat berjalan lebih cepat daripada chip khusus.
- Kunci. Dengan volume lalu lintas yang sangat besar (misalnya, DoS / DDoS), Anda mungkin tidak dapat terhubung ke router bahkan melalui antarmuka konsol, karena semua waktu prosesor akan ditempati oleh pemrosesan lalu lintas.
- Kompleksitas penskalaan. Anda tidak dapat menambahkan modul yang meningkatkan kecepatan pemrosesan paket dalam perangkat keras.
Pengembang pergi ke berbagai solusi perangkat keras dan perangkat lunak untuk memperbaiki situasi:
- Switch-chip pada model berbiaya rendah, memungkinkan Anda untuk memproses lalu lintas Layer2 melewati CPU.
- SoC dengan chip jaringan yang baik (garis CCR).
- Menggunakan enkripsi perangkat keras
- Berbagai teknologi yang mengurangi jumlah pemrosesan perangkat lunak untuk paket (FastPath dan FastTrack), dan mereka akan dibahas.
SlowPath vs FastPath
SlowPath adalah jalur lalu lintas dasar melalui subsistem MikroTik internal, bisa sangat bervariasi dan semakin panjang jalurnya, semakin tinggi beban pada CPU dan semakin banyak kecepatan turun.
FastPath - algoritma yang memungkinkan Anda mentransfer lalu lintas melewati unit pemrosesan yang cukup besar.
Lingkungan kerja dan dukungan perangkat
Sebagian besar perute dan papan modern dari MikroTik mendukung FastPath, tetapi wiki memiliki daftar terperinci:
Model | Dukungan pada antarmuka ethernet |
---|
Seri RB6xx | eter1,2 |
Sebagian besar seri RB7xx | semua port Ethernet |
RB800 | eter1,2 |
Seri RB9xx | semua port Ethernet |
RB1000 | semua port Ethernet |
Seri RB1100 | eter1-11 |
Seri RB2011 | semua port Ethernet |
Seri RB3011 | semua port Ethernet |
Router seri CRS | semua port Ethernet |
Router seri CCR | semua port Ethernet |
Perangkat lain | Tidak didukung |
Dan daftar terpisah untuk antarmuka non-ethernet:
Antarmuka | Dukungan jalur cepat | Catatan |
---|
Nirkabel | Ya |
Jembatan | Ya | Mulai dari 6,29 |
VLAN, VRRP | Ya | Mulai pukul 6.30 |
Ikatan | Ya | Hanya lalu lintas RX mulai dari 6,30 |
EoIP, GRE, IPIP | Ya | Mulai dari 6,33. Saat opsi ini diaktifkan, tidak semua lalu lintas terowongan akan melewati FastPath |
L2TP, PPPoE | Ya | Mulai dari 6,35 |
MPLS | Ya | Saat ini jalur cepat MPLS hanya berlaku untuk lalu lintas yang diaktifkan MPLS. Masuknya dan keluar MPLS akan beroperasi seperti sebelumnya. |
Lainnya | Tidak |
FastPath membutuhkan dukungan penuh untuk antarmuka inbound dan outbound. Hanya antrian perangkat keras yang harus diaktifkan pada antarmuka.

Terakhir, FastPath sangat tidak menyukai lalu lintas yang terfragmentasi. Jika paket terfragmentasi, pasti akan macet di CPU.
FastPath dan Bridge
Bridge adalah antarmuka perangkat lunak yang digunakan untuk membuat komunikasi Layer2 antara beberapa perangkat keras (atau perangkat lunak) antarmuka. Jika Anda menggabungkan 4 antarmuka ethernet di jembatan pada router (dan mengaktifkan hw=yes
) dan satu nirkabel, maka lalu lintas antara antarmuka ethernet akan melewati antarmuka program, dan lalu lintas antara ethernet dan nirkabel akan menggunakan jembatan perangkat lunak. Pada router dengan beberapa chip (misalnya RB2011), lalu lintas antara antarmuka dari chip yang berbeda akan menggunakan kemampuan jembatan perangkat lunak (kadang-kadang, untuk mengurangi beban, antarmuka hanya menggabungkan kabel patch dan secara umum berfungsi).
FatsPath - hanya merujuk pada lalu lintas yang datang melalui CPU (jembatan perangkat lunak), biasanya itu adalah lalu lintas antar antarmuka dari chip yang berbeda, atau opsi hw=yes
dinonaktifkan.
Pada Packet Flow, lalu lintas yang melewati Bridge adalah sebagai berikut:

Dan lebih detail:

Itu termasuk dalam pengaturan jembatan (pengaturannya sama untuk semua antarmuka jembatan) [Jembatan] -> [Pengaturan] -> [Izinkan FastPath], di sana Anda juga dapat melihat penghitung.

Agar FastPath berfungsi di Bridge, kondisi berikut ini harus dipenuhi:
- Tidak ada konfigurasi vlan pada antarmuka jembatan (saya pikir ini tidak relevan untuk seri CRS, di mana vlan dikonfigurasi pada tingkat perangkat keras, tetapi saya bisa salah)
- Tidak ada aturan dalam
/interface bridge filter
dan /interface bridge nat
, ini adalah blok yang sama dari sirkuit kedua yang dilewati bingkai. - Tidak diaktifkan ip firewall (
use-ip-firwall=no
). Fitur yang bagus untuk menangkap lalu lintas dan men-debug jaringan, tetapi jarang diaktifkan secara berkelanjutan. - Jangan gunakan mesh dan metarouter
- Pada antarmuka tidak berjalan: sniffer, obor dan traffic generator.
FastPath dan Tunnel
Singkatnya: antarmuka terowongan adalah enkapsulasi dari beberapa paket ke bagian beban paket lain. Jika Anda mengikuti PacketFlow, paket asli ditandai dengan garis merah, paket asli dienkapsulasi dalam paket protokol tunnel (misalnya, ipip atau gre; eoip mendapat (dan berasal dari) dalam keputusan bridging; paket tunnel masih lebih menarik, tetapi tidak terkait dengan jalur cepat).

Lalu lintas terowongan di FastPath tidak akan terlihat di: firewall, antrian, hotspot, vrf, ip accounting. Tetapi beberapa paket akan terus ditransmisikan melalui SlowPath, ini harus diperhitungkan saat mengkonfigurasi Firewall.
Agar FastPath berfungsi di antarmuka terowongan, kondisi berikut ini harus dipenuhi:
- Jangan gunakan enkripsi ipsec
- Hindari fragmentasi paket (konfigurasikan MItu dengan benar)
- Aktifkan
allow-fast-path=yes
pada antarmuka terowongan
FastPath dan Layer3
Layer3 adalah transmisi paket antar subnet, router membangun tabel routing dan meneruskannya ke hop berikutnya.
Pada Packet Flow, lalu lintas transit lapisan jaringan terlihat seperti ini:

pergi jauh

dan bahkan lebih dalam lagi

Untuk menggunakan FastPath pada Layer3, kondisi berikut ini harus dipenuhi:
- Jangan menambahkan aturan ke firewall (sama sekali, bahkan nat).
- Jangan menambahkan entri ke Daftar Alamat.
- Jangan mengonfigurasi Simple Antrian dan Antrian Pohon untuk
parent=global
, atau antarmuka yang Anda rencanakan untuk mendapatkan FastPath yang berfungsi. - Jangan gunakan mesh dan metarouter.
- Nonaktifkan pelacak Koneksi. Opsi otomatis diperkenalkan secara khusus untuk FastPath agar berfungsi ketika tidak ada aturan di firewall.
- Jangan gunakan
/ip accounting
. - Jangan gunakan
/ip route vrf
. - Jangan mengkonfigurasi
/ip hotspot
. - Jangan tambahkan kebijakan ipsec.
- Rute Cache harus diaktifkan.
- Jangan gunakan secara aktif:
/tool mac-scan
dan /tool ip-scan
. - Menjalankan sniffer, obor, dan generator lalu lintas mengganggu FastPath.
Ini termasuk dalam pengaturan ip: [IP] -> [Pengaturan], di sana Anda juga dapat melihat penghitung paket yang berhasil diproses.

Tangkapan layar dari router rumah. Saya memiliki firewall yang cukup dimuat, beberapa koneksi L2TP / IPSec dan antrian diaktifkan secara permanen. Anda bahkan tidak dapat memimpikan FastPath.
Jalur cepat
Teknologi pelabelan untuk paket ip untuk pengiriman cepat melalui Packet Flow.
Agar FastTrack berfungsi, kondisi berikut ini harus diperhatikan:
- Rute Cache dan FastPath harus diaktifkan dan aktif.
- Konfigurasi yang benar untuk pelabelan lalu lintas.
- Hanya berfungsi untuk lalu lintas UDP dan TCP.
- Jangan gunakan mesh dan metarouter.
- Jangan gunakan secara aktif:
/tool mac-scan
dan /tool ip-scan
. - Menjalankan sniffer, obor, dan penghasil lalu lintas mengganggu FastTrack.
Lalu lintas yang ditandai sebagai fasttrack tidak akan diproses dalam:
- Filter firewall (meskipun ini masih bisa diperdebatkan, saya akan menunjukkan alasannya pada contoh);
- Firewall mangle;
- IPsec
- Antrian dengan parrent = global;
- Hotspot;
- VRF
Jika ada sesuatu yang mengganggu paket yang melewati fasttrack, itu akan ditransmisikan seperti semua paket yang tersisa di sepanjang jalur lambat.
Ini diaktifkan dengan menambahkan aturan (lihat di bawah) di Firewall. Hanya paket FastTrack dari koneksi yang sudah ada yang ditandai (Anda dapat menandai yang baru, tetapi kemudian akan ada masalah dengan NAT). Tabel filter digunakan karena saat menandai fasttrack di prerouting, akan ada lagi masalah dengan NAT.
Tes sintetis

Jalur cepat | Pelacak koneksi | NAT | Jalur cepat | Kecepatan | CPU |
---|
- | - | - | - | ~ 932Mb / detik | 100% (jaringan, ethernet) |
+ | - | - | - | ~ 923Mb / detik | 65-75% (jaringan, ethernet, tidak terklasifikasi) |
+ | + | - | - | ~ 680Mb / detik | 100% (jaringan, firewall, ethernet) |
+ | + | + | - | ~ 393Mb / detik | 100% (jaringan, firewall, ethernet) |
+ | + | + | + | ~ 911Mb / detik | 60-80% (jaringan, ethernet, tidak terklasifikasi) |
Dan (untuk tes terakhir) apa yang dikonfigurasikan dan cara kerjanya:
Aturan pemfilteran terus memproses lalu lintas (jika Anda menonaktifkan izin untuk lalu lintas yang mapan dan terkait turun), paket yang tidak masuk ke FastTrack terperangkap dalam postrouting + mangle.



Di Pelacak Koneksi, Anda dapat melacak koneksi FastTrack dengan bendera dengan nama yang sama.

Di Penghitung [IP] -> [Pengaturan], Anda dapat melihat bahwa FastTrack aktif dan berfungsi, tetapi FastPath tidak.

/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
Alih-alih sebuah kesimpulan
Gunakan atau tidak?
- FastPath for Bridge - Jelas ya. Setidaknya mengurangi beban pada CPU.
- FastPath untuk Tunnels - No. Ia bekerja berlumpur, mati jika ada enkripsi.
- FastPath untuk Layer3 - Secara kontroversial, sebagian besar kemampuan router hilang. Dalam sebuah jaringan besar, tertutup dari Internet liar, jaringan dapat memiliki kemenangan (kecil) sendiri.
- FastPath untuk MPLS / VLAN / Bonding / VRRP - Memungkinkan secara otomatis, jika mungkin. Tidak ada opsi terpisah untuk kontrol.
- FastTrack - Untuk konfigurasi rumah dan SOHO tanpa antrian dan firewall paranoid cocok. Tes sintetis dengan satu klien terlihat bagus, dalam praktiknya, Anda perlu memonitor lalu lintas yang bocor melewati FastTrack dan mencari penyebabnya.
Tautan sebagai tambahan
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