Beberapa kata tentang FastPath dan FastTrack di MikroTik

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:


  1. Kurangnya kecepatan kawat - prosesor (terutama satu inti) tidak dapat berjalan lebih cepat daripada chip khusus.
  2. 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.
  3. 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:


  1. Switch-chip pada model berbiaya rendah, memungkinkan Anda untuk memproses lalu lintas Layer2 melewati CPU.
  2. SoC dengan chip jaringan yang baik (garis CCR).
  3. Menggunakan enkripsi perangkat keras
  4. 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:


ModelDukungan pada antarmuka ethernet
Seri RB6xxeter1,2
Sebagian besar seri RB7xxsemua port Ethernet
RB800eter1,2
Seri RB9xxsemua port Ethernet
RB1000semua port Ethernet
Seri RB1100eter1-11
Seri RB2011semua port Ethernet
Seri RB3011semua port Ethernet
Router seri CRSsemua port Ethernet
Router seri CCRsemua port Ethernet
Perangkat lainTidak didukung

Dan daftar terpisah untuk antarmuka non-ethernet:


AntarmukaDukungan jalur cepatCatatan
NirkabelYa
JembatanYaMulai dari 6,29
VLAN, VRRPYaMulai pukul 6.30
IkatanYaHanya lalu lintas RX mulai dari 6,30
EoIP, GRE, IPIPYaMulai dari 6,33. Saat opsi ini diaktifkan, tidak semua lalu lintas terowongan akan melewati FastPath
L2TP, PPPoEYaMulai dari 6,35
MPLSYaSaat ini jalur cepat MPLS hanya berlaku untuk lalu lintas yang diaktifkan MPLS. Masuknya dan keluar MPLS akan beroperasi seperti sebelumnya.
LainnyaTidak

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:


  1. 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)
  2. Tidak ada aturan dalam /interface bridge filter dan /interface bridge nat , ini adalah blok yang sama dari sirkuit kedua yang dilewati bingkai.
  3. Tidak diaktifkan ip firewall ( use-ip-firwall=no ). Fitur yang bagus untuk menangkap lalu lintas dan men-debug jaringan, tetapi jarang diaktifkan secara berkelanjutan.
  4. Jangan gunakan mesh dan metarouter
  5. 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:


  1. Jangan gunakan enkripsi ipsec
  2. Hindari fragmentasi paket (konfigurasikan MItu dengan benar)
  3. 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:


  1. Jangan menambahkan aturan ke firewall (sama sekali, bahkan nat).
  2. Jangan menambahkan entri ke Daftar Alamat.
  3. Jangan mengonfigurasi Simple Antrian dan Antrian Pohon untuk parent=global , atau antarmuka yang Anda rencanakan untuk mendapatkan FastPath yang berfungsi.
  4. Jangan gunakan mesh dan metarouter.
  5. Nonaktifkan pelacak Koneksi. Opsi otomatis diperkenalkan secara khusus untuk FastPath agar berfungsi ketika tidak ada aturan di firewall.
  6. Jangan gunakan /ip accounting .
  7. Jangan gunakan /ip route vrf .
  8. Jangan mengkonfigurasi /ip hotspot .
  9. Jangan tambahkan kebijakan ipsec.
  10. Rute Cache harus diaktifkan.
  11. Jangan gunakan secara aktif: /tool mac-scan dan /tool ip-scan .
  12. 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:


  1. Rute Cache dan FastPath harus diaktifkan dan aktif.
  2. Konfigurasi yang benar untuk pelabelan lalu lintas.
  3. Hanya berfungsi untuk lalu lintas UDP dan TCP.
  4. Jangan gunakan mesh dan metarouter.
  5. Jangan gunakan secara aktif: /tool mac-scan dan /tool ip-scan .
  6. Menjalankan sniffer, obor, dan penghasil lalu lintas mengganggu FastTrack.

Lalu lintas yang ditandai sebagai fasttrack tidak akan diproses dalam:


  1. Filter firewall (meskipun ini masih bisa diperdebatkan, saya akan menunjukkan alasannya pada contoh);
  2. Firewall mangle;
  3. IPsec
  4. Antrian dengan parrent = global;
  5. Hotspot;
  6. 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 cepatPelacak koneksiNATJalur cepatKecepatanCPU
----~ 932Mb / detik100% (jaringan, ethernet)
+---~ 923Mb / detik65-75% (jaringan, ethernet, tidak terklasifikasi)
++--~ 680Mb / detik100% (jaringan, firewall, ethernet)
+++-~ 393Mb / detik100% (jaringan, firewall, ethernet)
++++~ 911Mb / detik60-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

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


All Articles