Izdaja omrežnega steka F-Stack 1.24, ki se izvaja v uporabniškem prostoru

Objavljen je mrežni stek F-Stack 1.24, koji predstavlja izdanje mrežnog steka FreeBSD, koje radi u korisničkom prostoru i koristi DPDK okvir za postizanje maksimalne performanse. Projekt je stvorila najveća telekomunikacijska kompanija u Kini, Tencent, i koristi se u njezinim proizvodima i uslugama. Kod je napisan na jeziku C i distribuira se pod BSD licencom. Podržano je rad u Linuxu i FreeBSD-u.

F-Stack omogućava korištenje vlastitog lokalnog mrežnog steka u aplikacijama, neovisno o mrežnom steku operativnog sistema, koji funkcioniše u korisničkom prostoru i direktno komunicira s mrežnom opremom. F-Stack se pozicionira kao rješenje koje poboljšava performanse procesora mrežnih zahtjeva u uvjetima kada zadani TCP/IP stek jezgre Linuxa postaje usko grlo i ograničava skalabilnost — u nekim situacijama projekt omogućava višestruko povećanje broja obrađivanih sitnih mrežnih zahtjeva. Teoretski, F-Stack omogućava postizanje plafona mrežne performanse koji je moguć za korištenu mrežnu karticu.

Povećanje performanse postiže se isključivanjem operacija kao što su kopiranje mrežnih paketa, planiranje niti, obrada prekida i korištenje sistemskih poziva. Za interakciju s mrežnom karticom, zaobilazeći sučelja jezgre operativnog sistema, koristi se DPDK okvir (Data Plane Development Kit), koji razvija skup biblioteka za niskonaponski rad s mrežnim adapterima. DPDK omogućava smanjenje troškova i postizanje minimalnog broja CPU ciklusa prilikom primanja ili slanja mrežnih paketa.

Funkcionalnost TCP/IP steka odgovara mrežnom steku FreeBSD 13 i izdvojena je iz ovog operativnog sistema u neovisnu biblioteku. Za razvoj aplikacija može se koristiti standardni POSIX API (socket, epoll, kqueue) ili vlastiti programski sučelje temeljen na mikronitima, što pojednostavljuje stvaranje mrežnih aplikacija i omogućava izbjegavanje složene logike asinkrone obrade zahtjeva.

Projekt podržava verzije višepotokovnog sistema prevedene za korištenje F-Stack strežnika Nginx 1.25.2 in SDB Redis 6.2.6, ki prikazujejo zmogljivost nad običajnimi različicami, ki delujejo na sistemskem omrežnem skladovju.

Najistaknutije izmene u novom izdanju:

  • V konfiguracijski datoteki config.ini je omogočena izbira med uporabo KNI (Kernel NIC Interface) in virtio_user kot transporta za prenos paketov med jedrom in aplikacijo za obdelavo paketov, temelječo na DPDK. Dodana je možnost uporabe ratelimit za KNI.
  • Dodana je podpora za aktivacijo nastavitev omrežnega sklada „net.add_addr_allfibs=1“ za dodajanje naslovov v vse usmerjevalne tabele.
  • Dodana je API funkcija ff_get_traffic za pridobitev prometa, na primer za implementacijo QoS (Quality of Service).
  • Dodane so funkcije pthread_create in pthread_join, ki spominjajo na podobne funkcije iz POSIX.
  • Dodana je API funkcija ff_dpdk_raw_packet_send za neposredno pošiljanje raw-paketov iz aplikacije preko DPDK, namesto preko soketa.
  • Implementirana je podpora za samodejno nastavljanje VLAN, usmerjanje in policy routing.
  • Izveden je prehod na različico DPDK 22.11.6 LTS.
  • V implementaciji Nginx preko F-Stack je dodana podpora za modul stream.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster