VÔrgu staki F-Stack 1.13 vÀljaanne, mis tÀidetakse kasutaja ruumis

PÀrast poolteist aastat arendust leidis aset projekti vÀljaanne F-Stack 1.13, arendav kasutajaruumi kÔrge jÔudlusega vÔrgustiki, mis pÔhineb raamistiku DPDK ja FreeBSD TCP/IP protokolli (F-Stack ei ole seotud FreeBSD-ga ja peamine rakendamisplatvorm on Linux). Projekti kasutatakse erinevates toodetes ja teenustes Tencent, Hiina suurima telekommunikatsioonifirma. Kood levitatakse BSD litsentsi all. Tugi Linuxi ja FreeBSD tööle.

F-Stack vĂ”imaldab korraldada vĂ”rguside rakendustes, kasutades operatsioonisĂŒsteemi vĂ”rguprotokolli asemel oma vĂ”rguprotokolli, mis Ń„ŃƒĐœĐșŃ†ĐžĐŸĐœĐžeerib kasutajaruumis ja töötab otse vĂ”rguseadmest. Pakutakse spetsiaalseid vĂ€ljaandeid Nginxi ja Redis, mis on kohandatud F-Stacki kasutamiseks.

Rakenduste arendamiseks toetatud nagu tavaline Posix API (Socket, Epoll, Kqueue), mis lihtsustab olemasolevate rakenduste ĂŒleviimist F-Stackile, nii ka oma programmisliideset, mis pĂ”hineb koostööprotsessidel (mikrovoogudel), lihtsustades vĂ”rgurakenduste loomist ja vĂ”imaldades vĂ€ltida keerulist asĂŒnkroonsete pĂ€ringute töötlemise loogikat. F-Stack pakub ka vahendeid, mis lihtsustavad rakendusi, millel on mitme protsessi arhitektuur.

VĂ”rgukaardiga suhtlemiseks, mööda operatsioonisĂŒsteemi tuumate interfaces, rakendatakse raamistiku DPDK (Data Plane Development Kit), mis pakub komplekti raamatukogusid madala taseme tööks vĂ”rguadapteritega, suhtlemiseks mitme tuumaga sĂŒsteemides, ring-buffereid ja suuri mĂ€lu lehekĂŒlgi ("huge page"). DPDK kasutamine vĂ”imaldab vĂ”rgu pakettide vastuvĂ”tmist ja saatmist minimaalsete CPU tsĂŒklite arvuga (umbes 80 tsĂŒklit paketi kohta) ning arendada kĂ”rge jĂ”udlusega vĂ”rguprotokolli komponente. TCP/IP protokolli funktsionaalsus on otse kopeeritud FreeBSD 11.1-st ja eraldatud platvormist sĂ”ltumatuks raamatukoguks.

F-Stack positsioonitakse lahenduseks, mida saab kasutada vÔrgupÀringute töötlemise jÔudluse parandamiseks olukordades, kus Linuxi tuuma tavaline TCP/IP pind muutub kitsaskohaks ja piirab skaleerimist. F-Stacki kasutamine toob kaasa mÀrkimisvÀÀrse optimeerimise ja vÔimaldab mÔnes olukorras suurendada töödeldavate vÀikeste pÀringute arvu mitmekordselt.

VÔrgu staki F-Stack 1.13 vÀljaanne, mis tÀidetakse kasutaja ruumis

VÔrgu staki F-Stack 1.13 vÀljaanne, mis tÀidetakse kasutaja ruumis

JĂ”udluse suurenemine saavutatakse vĂ”rgupakettide kopeerimise, niitide ajastamise, katkemiste töötlemise ja sĂŒsteemikĂ”nede vĂ€listamise kaudu. F-Stack vĂ”imaldab saavutada vĂ”rgu jĂ”udluse piiri, mis on vĂ”imalik kasutatava vĂ”rkaartide jaoks. NĂ€iteks on F-Stacki lahendustes demonstreeritud 10 miljoni samaaegse ĂŒhenduse, 5 miljoni pĂ€ringu ja 1 miljoni ĂŒhenduse töötlemise vĂ”imekust.

Uues vÀljaandes:

  • VLANi tugi on lisatud;
  • Tagatud on vĂ”imalus töötada isoleeritud konteinerites Dockeris;
  • Teostatud on ff_dup, ff_dup2, ff_ioctl_freebsd, ff_getsockopt_freebsd ja ff_setsockopt_freebsd liideste rakendamine;
  • Lisatud on parameeter "idle_sleep" CPU koormuse vĂ€hendamiseks, kui sisendeid ei ole.
  • ARM64 arhitektuuri jaoks on lisatud toetus;
  • F-Stacki tĂ”lgitud versioonis Nginx on asendatud getpeername, getsockname ja shutdown töötlejad;
  • Üleminek uuele versioonile DPDK 17.11.4 LTS on toimunud;
  • Komplekti on lisatud utiliit, traffic , et kuvada praegust F-Stacki pĂ”hinevate rakenduste kaudu töödeldavat liiklust (meenutab trafshow'd).

Tulevikus plaanitakse, mĂ€rgitakse IPv6 toetus, API pakkumine Python, PHP ja Go keelte jaoks, Cyptodevi API toetus Intel QAT, zerocopy kasutamine pakettide saatmisel, toetus SPDK ja vĂ”imalus kĂ€ivitada taustprotsessina.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster