Rrjeti F-Stack 1.24 është publikuar, i cili përbën një redaktim të stack-ut të rrjetit FreeBSD, funksionon në hapësirën e përdoruesit dhe përdor kornizën DPDK për të arritur performancën maksimale. Projekti është krijuar nga kompania më e madhe të telekomunikacionit në Kinë, Tencent, dhe përdoret në produktet dhe shërbimet e saj. Kodi është shkruar në gjuhën C dhe shpërndahet nën licencën BSD. Mbështetet puna në Linux dhe FreeBSD.
F-Stack lejon pĂ«rdorimin e stack-ut lokal tĂ« rrjetit nĂ« aplikacione, i cili nuk varet nga stack-u i rrjetit tĂ« sistemit operativ, funksionon nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit dhe punon direkt me pajisjet rrjetore. F-Stack pozicionohet si njĂ« zgjidhje qĂ« rrit performancĂ«n e trajtuesve tĂ« kĂ«rkesave rrjetore nĂ« kushte kur stack-u standard TCP/IP i bĂ«rthamĂ«s Linux bĂ«het njĂ« ngushticĂ« dhe kufizon shkallĂ«zimin â nĂ« disa raste projekti mund tĂ« rrisĂ« ndjeshĂ«m numrin e kĂ«rkesave tĂ« vogla rrjetore tĂ« trajtuara. Teoretikisht, F-Stack lejon arritjen e kufirit tĂ« performancĂ«s rrjetore qĂ« Ă«shtĂ« e mundshme pĂ«r kartĂ«n e pĂ«rdorur tĂ« rrjetit.
Rritja e performancës arrihet duke eliminuar operacione si kopjimi i paketave rrjetore, planifikimi i flukseve, përpunimi i ndërprerjeve dhe aplikimi i thirrjeve të sistemit. Për ndërveprimin me kartën e rrjetit, duke anashkaluar ndërfaqet e bërthamës së sistemit operativ, përdoret korniza DPDK (Data Plane Development Kit), e cila zhvillon një grup bibliotekash për punë të nivelit të ulët me adaptuesit rrjetorë. DPDK ofron mundësinë për të ulur shpenzimet dhe për të përfunduar në numrin minimal të cikleve të CPU gjatë pranimit ose dërgimit të paketicave rrjetore.
Funksionaliteti i stack-ut TCP/IP përputhet me stack-un e rrjetit FreeBSD 13 dhe është ndarë nga kjo sistem operativ në një bibliotekë të pavarur. Për zhvillimin e aplikacioneve mund të përdoret API standard POSIX (socket, epoll, kqueue) ose një ndërfaqe e veçantë programore me baza mikroflukse, që e thjeshton krijimin e aplikacioneve rrjetore dhe nuk kërkon logjikë të komplikuar për përpunimin asinkron të kërkesave.
Projekti mbështet versionet e përkthyera për përdorimin e F-Stack të shumëprotokolet. serverë Nginx 1.25.2 dhe baza e të dhënave Redis 6.2.6, që demonstrojnë një performancë më të lartë se ndërtimet e zakonshme, që punojnë mbi stakun e rrjetit sistemik.
Ndryshimet më të dukshme në versionin e ri:
- NĂ« skedarin e konfigurimit config.ini, Ă«shtĂ« ofruar mundĂ«sia pĂ«r tĂ« zgjedhur midis pĂ«rdorimit tĂ« KNI (Kernel NIC Interface) dhe virtio_user si transport pĂ«r dĂ«rgimin e paketave midis bĂ«rthamĂ«s dhe aplikacionit tĂ« pĂ«rpunimit tĂ« paketave tĂ« bazuar nĂ« DPDK. ĂshtĂ« shtuar mundĂ«sia pĂ«r tĂ« pĂ«rdorur ratelimit pĂ«r KNI.
- ĂshtĂ« shtuar pĂ«rkrahja pĂ«r aktivizimin e cilĂ«simit tĂ« stakut rrjetĂ«sor 'net.add_addr_allfibs=1' pĂ«r tĂ« shtuar adresa nĂ« tĂ« gjitha tabelat e rrugĂ«timit.
- ĂshtĂ« shtuar API ff_get_traffic pĂ«r tĂ« marrĂ«ve trafikun, pĂ«r shembull, pĂ«r tĂ« realizuar QoS (CilĂ«sia e ShĂ«rbimit).
- Janë shtuar funksionet pthread_create dhe pthread_join, që ngjajnë me funksionet e ngjashme nga POSIX.
- ĂshtĂ« shtuar API ff_dpdk_raw_packet_send pĂ«r tĂ« dĂ«rguar paketat raw direkt pĂ«rmes DPDK, dhe jo pĂ«rmes soketeve.
- ĂshtĂ« realizuar pĂ«rkrahja pĂ«r konfigurimin automatizues tĂ« VLAN, rrugĂ«timit dhe politikave tĂ« rrugĂ«timit.
- ĂshtĂ« bĂ«rĂ« kalimi nĂ« versionin DPDK 22.11.6 LTS.
- Në realizimin e Nginx mbi F-Stack, është shtuar përkrahja për modulimin e rrjedhës.
Burimi: opennet.ru
