Performanse softverskih rutera VyOS, pfSense i Mikrotik

Kako modernizovati mrežu bez dodatnih troškova? U ovom članku fokusiraćemo se na konfiguraciju kućnih/poslovnih rutera pomoću alata otvorenog koda, a pritom održati performanse i pouzdanost tradicionalnih hardverskih rutera. U benchmark-u poredimo VyOS, pfSense i RouterOS u Proxmox virtuelnom okruženju.

Uvod

U današnjem digitalnom svetu, mreže i virtuelizacija postaju ključni elementi za unapređenje performansi i skalabilnosti informacionih sistema. Mreže su osnovna infrastruktura za komunikaciju između računara i drugih uređaja širom sveta, i tokom vremena su se razvile iz lokalnih u globalne Internet mreže koje se neprestano razvijaju i usavršavaju.

Virtuelizacija je tehnologija koja omogućava kreiranje virtuelnih verzija računara, mreža i drugih resursa. Ova inovacija je promenila način na koji organizacije upravljaju svojim infrastrukturama i resursima. Virtuelizacija omogućava efikasniju upotrebu resursa, smanjenje operativnih troškova, pojednostavljeno upravljanje i veću prilagodljivost.

Pojam umrežavanja u virtuelizovanom okruženju obuhvata kombinaciju ovih ključnih elemenata, omogućavajući organizacijama da optimizuju svoje mreže kroz virtuelne tehnologije. U ovom članku bavićemo se različitim softverskim ruterima, njihovim konfiguracijama i uporednim analizama na virtuelnom okruženju Proxmox VE .

Hardverski i softverski ruteri

Ruteri su kritične komponente mrežne infrastrukture koje omogućavaju rutiranje paketa između segmenata mreže. Podelićemo rutere na dva tipa, od kojih svaki ima svoje karakteristike, prednosti i mane.

Hardverski ruter je fizički uređaj sastavljen od posebno dizajniranih hardverskih komponenti kao što su procesori, memorijski moduli, mrežne kartice i specijalni čipovi za rukovanje paketima. Oni nude visoke performanse i mogu se koristiti u velikim mrežama sa visokom  propusnošću. Hardverski ruteri često podržavaju različite mrežne protokole i mogu se skalirati da podrže veliki broj mrežnih veza istovremeno.

Softverski ruter je, s druge strane, implementiran kao standardni program koji radi na standardnom računarskom sistemu. Koristi računarske resurse kao što su procesor, memorija i mrežne kartice da emulira funkcionalnost rutera. Softverski ruter se može postaviti na postojećem računaru ili virtuelnoj mašini, omogućavajući fleksibilnost i prilagodljivost. Pružaju sličnu funkcionalnost kao i hardverski ruteri, uključujući rutiranje, filtriranje mrežnog saobraćaja, podršku za različite protokole i bezbednosne funkcije.

Glavna razlika između hardverskih i softverskih rutera leži u njihovim fizičkim karakteristikama i implementaciji. Uzimajući u obzir razlike i karakteristike, organizacije mogu izabrati pravi tip rutera na osnovu svojih potreba i zahteva mrežne infrastrukture.

Pregled korišćenih softverkih rutera

U ovom istraživanju koristili smo tri softverska rutera koji su instalirani na Proxmox virtuelnom okruženju:

VyOS – VyOS je open-source ruter platforma bazirana na Debian Linux-u. Ova platforma nudi bogate mogućnosti za rutiranje, VPN, firewall i QoS (Quality of Service). VyOS je poznat po svojoj pouzdanosti i skalabilnosti, čineći ga popularnim izborom za mala i srednja preduzeća.

PfSensepfSense je takođe open-source ruter platforma, bazirana na FreeBSD operativnom sistemu. PfSense se ističe po svojim snažnim firewall mogućnostima i VPN podršci. Takođe nudi širok spektar dodataka i podršku za višestruke internet konekcije, čineći ga idealnim za upotrebu u manjim mrežama.

MikroTik RouterOS – je operativni sistem razvijen od strane kompanije MikroTik za njihove mrežne uređaje. Ovaj operativni sistem omogućava napredne funkcionalnosti kao što su rutiranje, upravljanje širokopojasnim vezama i druge mogućnosti za konfiguraciju i optimizaciju mreža. RouterOS je čest izbor među internet provajderima i većim organizacijama zbog svoje fleksibilnosti i naprednih mogućnosti za upravljanje mrežnim saobraćajem.

Poređenje performansi pomenutih softverskih rutera omogućava nam da procenimo prednosti i nedostatke svake opcije na osnovu specifičnih potreba i zahteva. Svaki ruter ima svoje karakteristike, mogućnosti i pristup konfiguraciji (komandna linija, veb pregledač, drugačija sintaksa). Zbog toga je važno uzeti u obzir ove faktore pri izboru najpogodnijeg rutera za specifične svrhe. Treba uzeti u obzir da kod softverskih rutera količina memorije može značajno da utiče na funkcionisanje. Takođe, cena uređaja na koji su instalirani softverski ruteri može da varira u zavisnosti od komponenti računara.

Proxmox virtuelno okruženje

Proxmox VE (Virtual Environment) je kompletna open-soruce platforma za upravljanje serverima za virtuelizaciju. Ona integriše KVM hipervizor i Linux kontejnere (LXC) i softverski definisane funkcije skladištenja i umrežavanja, sve na istoj platformi. Sa integrisanim veb korisničkim interfejsom može se sa lakoćom upravljati virtuelnim mašinama i kontejnerima, visokom dostupnošću za klastere ili integrisanim alatima za oporavak od otkaza.

Virtuelno okruženje Proxmox Univerzitetskog informatičkog centra Kragujevac

Konfiguracije rutera u Proxmox VE

Konfiguracija za merenje performansi u Proxmox virtuelnom okruženju je veoma važna da bi se obezbedili pouzdani i nepristrasni rezultati merenja. Postoji nekoliko važnih faktora koje treba uzeti u obzir prilikom konfigurisanja.

  1. Resursi virtuelne mašine: Pravilna alokacija CPU, RAM-a i diska za virtuelne mašine je od suštinskog značaja za dobijanje pouzdanih performansi. Treba prilagoditi resurse prema potrebama aplikacija u virtuelnom okruženju.
  2. Virtuelni mrežni interfejs: Pravilna konfiguracija virtuelnog mrežnog interfejsa igra ključnu ulogu u merenju performansi rutiranja. Postavljanjem virtuelnog mrežnog interfejsa u ovakvom režimu omogućava se direktna veza sa fizičkim mrežnim kontrolerima hosta, što rezultira povećanom propusnošću podataka.
  3. Mrežna podešavanja: Pravilno podešavanje MTU (maksimalna jedinica prenosa) za virtuelne mrežne interfejse doprinosi efikasnosti prenosa podataka.
  4. Praćenje učinka: Korišćenje alata za praćenje performansi u Proxmox-u omogućava nadgledanje CPU, memorije, mreže i drugih resursa tokom testiranja.
  5. Stres testiranje: Upotreba alata poput iperf i netperf za simulaciju realnih mrežnih opterećenja i merenje performansi rutera u različitim scenarijima.
  6. Optimizacija host sistema: Pored konfigurisanja virtuelnog okruženja, takođe je važno optimizovati host sistem kroz podešavanje kernel parametara, mrežnih postavki i upravljanje resursima radi poboljšanja ukupnih performansi sistema.

Postavke testova

Da bismo uporedili rutere i njihovo ponašanje u različitim okolnostima, pratili smo sledeće karakteristike: propusnu moć, vreme ponovnog pokretanja i iskorišćenost resursa.

Iperf test je alatka za merenje propusnog opsega mreže koja se koristi za testiranje brzine prenosa podataka između dva računara na mreži. To je softverski alat otvorenog koda koji omogućava generisanje saobraćaja i merenje brzine prenosa podataka, kašnjenja i gubitka paketa. Može se izvršavati bilo na lokalnoj mreži, bilo preko Interneta. Za testiranje, jedan računar se koristi kao izvor (server), a drugi kao odredište (klijent). Izvor generiše saobraćaj do odredišta, a alat meri brzinu prenosa podataka tokom tog procesa. Iperf koristi TCP ili UDP protokol za generisanje saobraćaja, u zavisnosti od izabranog režima.

Kao što možemo da vidimo, MikroTik ruter se ponovo budi za samo 15 sekundi, dok pfSense-u treba skoro 70 sekundi.

Sve virtuelne mašine na kojima su podignuti ruteri imaju identične resurse. U sledećoj tabeli možemo da vidimo dodeljene resurse za sve tri virtuelne mašine.

ResursVirtuelna mašina
CPU2 jezgra
RAM2GB
HDD16GB
Resursi dodeljeni virtuelnim mašinama VyOS, pfSense i RouterOS

Prvi test je vreme pokretanja. Simuliran je prekid rada rutera komandom za restart. Cilj testa je da se odredi vreme ponovnog pokretanja rutera bez bilo kakve interakcije nad mašinom.

Vreme pokretanja rutera izraženo u sekundama

Konfiguracije rutera možemo pronaći na Github repositorijumu dodatim u literaturi.

Testovi brzine rutiranja

Osnovni test

Ideja za testiranje softverskih rutera je bila da imamo jedan računar koji preko rutera izlazi na Internet. Na ruteru koji smo ipitivali konfigurisan je NAT (eng. Network Address Translation) pa je adresa računara na internetu maskirana adresom rutera. Iperf3 server je podignut na ruteru koji se nalazi van naše mreže, na drugom čvoru Proxmox klastera. Na taj način smo pratili performanse testiranog rutera. Na slici možemo da vidimo da su ruteri postavljeni parelelno, sa istim unutrašnjim i spoljnim interfejsima i za vreme testa neophodno je da samo jedan od njih bude uključen.

Šema mreže za osnovni test
RuterCPURAMDownloadUploadIperf3
pfSense8%1.4Gi99 Mbps135 Mbps941 Mbits/s
VyOS3.5%768Mi112 Mbps129 Mbps944 Mbits/s
MikroTik RouterOS22%144Mi125 Mbps122 Mbps942 Mbits/s
Rezultati performansi rutera za vreme izvšavanja osnovnog testa

Kao što se vidi na osnovu podataka iz tabele, sva tri rutera obezbeđuju približno iste rezultate za preuzimanje i otpremanje sadržaja.

Značajne su razlike kod iskorišćenja resursa procesora i memorije, gde vidimo da VyOS ima najmanje iskorišćenje procesora dok je MikroTik imao najmanje iskorišćenje memorije.

Iperf3 test je započet sa pretpostavkom da će se vrednosti brzine razlikovati od rutera do rutera, ali iz tabele vidimo da to nije bio slučaj. Ustanovili smo da veza između našeg rutera koji je testiran i rutera koji je pokretao iperf3 server prolazi kroz fizički svič koji je ograničen na 1 Gbps, pa zbog toga nismo mogli verodostojno da završimo test u ovoj arhitekturi mreže. Bez obzira na to, ovaj test je koristan da se vidi iskorišćenost ostalih resursa na ruterima za vreme opterećenja.

Da li su komponente na istom ili na različitim Proxmox čvorovima?

Na slici možemo da vidimo jednu „P“ arhitekturu mreže gde su svi virtuelni uređaji na istom čvoru (eng. node) Proxmox klastera. Ideja je da se testira komunikacija između dve virtuelne mašine (ubuntu1, ubuntu2) koje su povezani preko VyOS rutera bez izlaska na fizički 1 Gbit svič. Takođe, na istoj arhitekturi urađen je test kada su ruteri na različitim čvorovima Proxmox klastera, tj. povezani su fizičkim 1 Gbit svičem, kako bismo uporedili rezultate iperf3 testa.

„P“ arhitektura mreže
IzvorOdredišteIperf3
 (isti Proxmox čvor)
Iperf3
(različiti Proxmox čvorovi)
Ubuntu1localhost11.6 Gbits/s11.5 Gbits/s
Ubuntu1VyOS1 (eth0)9.2 Gbits/s8.5 Gbits/s
Ubuntu1VyOS1 (eth1)9.9 Gbits/s8.3 Gbits/s
Ubuntu1VyOS2 (eth0)2.4 Gbits/s942 Mbits/s
Ubuntu1VyOS2 (eth1)2.4 Gbits/s941 Mbits/s
Ubuntu1Ubuntu21 Gbits/s943 Mbits/s
Rezultati iperf3 testa izvršavani kad su ruteri na istom čvoru i kada su na različitim čvorovima

Kada se ruteri nalaze na istom čvoru brzina prenosa podataka između dva rutera se značajno razlikuje u odnosu na brzinu prenosa podataka kada su ruteri na različitim čvorovima. Prikaz možemo videti i na dijagramu gde se jasno uočava pad u brzini kako se povećava broj koraka u komunikaciji.

Poređenje brzina iperf3 testa izražena u Gbit/s (y osa) kada su ruteri na istom ćvoru i kada su na različitim čvorovima. Na x osi prikazani su uredjaji sa interfejsima na kojima je podizan iperf3 server

IPSec test

Pored ovih testova sproveden je i test gde smo merili performanse uspostavljene IPSec veza između dva rutera. Test je izvršen na VyOS i pfSense. Zbog tehničkih problema, MikroTik nije uspeo da proradi. Ispostalja se da na Proxmox VE može da dođe do neočekivanog ponašanja virtuelne mašine i da dobro konfigurisana mašina jednostavno ne radi regularno ili ne radi uopšte. Sličan problem smo imali za vreme izvršavanja osnovnog testa sa klijent instancom, kada nije hteo iz nekog razloga da se poveže sa svojim ruterom. U tom slučaju podigli smo novu virtuelnu mašinu na kojoj nije bilo problema.

Šema mreže sa konfigurisanim IPSec tunelom
RuterCPURAMIperf3
pfSense122%1.25Gi140 Mbits/s
pfSense222%1.25Gi138 Mbits/s
VyOS125%650Mi175 Mbits/s
VyOS225%650Mi167 Mbits/s
Rezultati iskorišćenosti resursa kod rutera kad je podešen IPSec tunel

Na osnovu podataka iz tabele, možemo da vidimo da ruteri imaju gotovo identičnu iskorišćenost resursa. Možemo da primetimo da kod pfSense imamo nešto veću iskorišćenost memorije, dok kod VyOS rutera imamo nešto veći protok na iperf3 testu, pre svega zahvaljujuću prednostima Linux jezgra u odnosu na BSD na ovom polju.

Zaključak

Istražili smo mogućnost upotrebe softverskih rutera kao zamenu za hardverske rutere u virtuelnom okruženju, sa posebnim fokusom na VyOS, pfSense i MikroTik RouterOS. Rezultati su potvrdili da softverski ruteri pružaju solidne performanse, uz značajne prednosti u prilagodljivosti i konfiguraciji. Analizirane su performanse rutera u različitim scenarijima, uključujući testove propusnosti i iskorišćenosti resursa, što je ukazalo na njihovu sposobnost da se nose sa zahtevima modernog umrežavanja.

Uz ove rezultate, zaključujemo da softverski ruteri predstavljaju zanimljivu opciju za organizacije koje žele da optimizuju svoje mreže kroz virtuelne tehnologije, pružajući visoke performanse, prilagodljivost i ekonomičnost u konfiguraciji i upravljanju mrežama.

Reference

Autor: Tomislav Bakic

Student četvrte godine Prirodno-matematičkog fakulteta Univerziteta u Kragujevcu, Institut za matematiku i informatiku.

Tomislav Bakic

Student četvrte godine Prirodno-matematičkog fakulteta Univerziteta u Kragujevcu, Institut za matematiku i informatiku.