❗️Toto je původní verze internetového fóra ISPforum.cz do února 2020 bez možnosti registrace nových uživatelů. Aktivní verzi fóra naleznete na adrese https://telekomunikace.cz

Porovnání propustnosti NATu mezi Linuxem a pfSense/FreeBSD

Příspěvky, které nespadají do žádného z vytvořených fór.
drazil
Příspěvky: 5
Registrován: 9 years ago

Porovnání propustnosti NATu mezi Linuxem a pfSense/FreeBSD

Příspěvekod drazil » 9 years ago

Ahoj,

jako v minulém příspěvku (Porovnání propustnosti NATu mezi Linuxem a MiktoTik RouterOS) jsem provedl měření propustnosti implementace NATu na Linuxu (Debian 8.3, kernel 4.3.0), pfSense 2.2.6 (založen na FreeBSD 10.1) a FreeBSD 10.2. Oproti minulému případu, kdy jsem musel kvůli technickým potížím použít starší stroj, nyní používám nejlepší počítač, který mám k dispozici. Konkrétně se jedná o počítač s procesorem Intel Core i7 6700 @ 3.40 GHz, 2x8 GB RAM DDR4, základní deska ASUS Z170I PRO GAMING a síťová karta stejně jako minule Intel Ethernet Server Adapter X520-DA2.

Každý testovaný OS byl nastaven tak, aby každé jádro mělo přístup ke "své" frontě paketů na síťovém adaptéru. Stejně jako minule jsem použil NAT 1:M (PAT) a generoval provoz s 10 000 UDP toky s pakty o velikosti 128 B. Výsledky jsou na grafech níže (osa X je počet generovaných paketů, osa Y je počet paketů zpracovaných NATem, hodnoty jsou v milionech paketů za sekundu).

pfSense 2.2.6:
bandwidth_i7_pf.png


FreeBSD 10.2:
bandwidth_i7_bsd.png


Linux Debian 8.3, kernel 4.3.0:
bandwidth_i7_linux.png


Maximální propustnost pfSense a FreeBSD je prakticky stejná a pohybuje se kolem 1,2 milionů paketů za sekundu. Oproti tomu Linux zvládá odbavit až 4 miliony paketů za sekundu. Toto měření opět ukazuje, že Linux má velmi dobře implementovaný NAT.

Možná některé zarazilo, proč jsem nepoužil výchozí kernel dodávaný s Debianem. Důvod je takový, že spojení Linux verze 3.16 (+patche od Debianu) a procesoru Intel i7 Skylake se objevil zákeřný problém. Po nastavení pravidel pro NAT a následném spuštění generátoru provozu operační systém skončil s kernel panic. Stack trace vedl do funkcí spojených se souborovým systémem, tak jsem pro jistotu vyměnil celý disk a provedl čistou instalaci Debianu. Jenže i po tomto zásahu se projevoval stejný problém. Vzhledem k tomu, že řada procesorů Skylake je poměrně nová a jádro 3.16 poměrně staré (srpen 2014), tak jsem zkusil nasadit jádro 4.3.0. Po zvýšení verze kernelu se problém přestal projevovat.

Na základě výše uvedeného problému mě napadá provést měření na kernelu 3.16 a 4.3 a zjistit jak moc se liší propustnost. To však znamená připravit další stroj, kde budou fungovat obě verze kernelu, takže výsledky budou v dalším příspěvku.
0 x

Uživatelský avatar
Salamander
Příspěvky: 97
Registrován: 10 years ago

Příspěvekod Salamander » 9 years ago

Mohl bys prosim do srovnani pridat VyOS? http://vyos.net/wiki/Main_Page
0 x

cerva
Příspěvky: 254
Registrován: 10 years ago

Příspěvekod cerva » 9 years ago

Díky za velmi zajímavá měření :-) Jen pro doplnění bych se rád zeptal, jaký firewall byl na FreeBSD použit - IPFW nebo PF? Nechceš ještě vyzkoušet nftables na Linuxu?
0 x

Standa99
Příspěvky: 216
Registrován: 15 years ago
antispam: Ano

Příspěvekod Standa99 » 9 years ago

Skylake je podporován až od kernelu 4.3 a sám mám vyzkoušené, že kernel 4.5 je ještě trochu lepší. Tím myslím podporu (např. pro GPU), NATování už možná lepší nebude.
0 x

drazil
Příspěvky: 5
Registrován: 9 years ago

Příspěvekod drazil » 9 years ago

Salamander píše:Mohl bys prosim do srovnani pridat VyOS? http://vyos.net/wiki/Main_Page

Promň, že jsem nenapsal už minule, koukal jsem na to a je to vesměs Linux 3.13 s upraveným shellem. Obecně se dají očekávat stejné výsledky jako v případě Debiana. Nemůžu zaručit, že ho změřím, ale pokud na to budu mít čas, tak to udělám.

cerva píše:Díky za velmi zajímavá měření :-) Jen pro doplnění bych se rád zeptal, jaký firewall byl na FreeBSD použit - IPFW nebo PF? Nechceš ještě vyzkoušet nftables na Linuxu?

Jo tady jsem to zapomněl napsat, že je to měřené nad IPFW.

Standa99 píše:Skylake je podporován až od kernelu 4.3 a sám mám vyzkoušené, že kernel 4.5 je ještě trochu lepší. Tím myslím podporu (např. pro GPU), NATování už možná lepší nebude.

Tohle se dá očekávat, vzhledem k tomu, že když se vyvíjel kernel 3.16, tak se mluvilo maximálně o Broadwellech. Člověk by čekal, že starší kernel bude fungovat i na Skylake, vzhledem k tomu jak Intel tlačí politiku zpětné kompatibility. Osobně si však myslím, že to bude souviset spíš se zastaralými drivery řadiče disků. Vede mě k tomu jednak stack trace, a pak fakt, že RouterOS (ještě starší linuxový kernel) vůbec disky nevidí.
0 x

mrm
Příspěvky: 23
Registrován: 9 years ago

Příspěvekod mrm » 9 years ago

Bolo by možné urobiť meranie, ktoré sa viacmenej približuje reálnej prevádzke?
To jest:
- TCP, UDP pakety
- firewall má cca 100 pravidiel ACCEPT, DROP a REJECT
- logovanie DROP a REJECT paketov
- toľko súbežných spojení koľko dá traffic generator.
0 x