wolfIP dhe passt — steka të lehta TCP/IP, që funksionojnë pa shpërndarje dinamike të memories

Zhvilluesit e bibliotekës së kriptografisë wolfSSL po zhvillojnë stakun TCP/IP wolfIP, i optimizuar për t'u përdorur në pajisje të integruara me burime të kufizuara, si dhe në sisteme që funksionojnë në kohë reale dhe zgjidhje që kërkojnë besueshmëri të lartë (Safety-Critical). Për një konsum të parashikueshëm të burimeve, wolfIP nuk përdor alokim dinamik të memories — të gjitha buffers dhe tabelat e socket-eve kanë një madhësi fikse dhe konfigurohen në fazën e kompilimit. Kodi i projektit është shkruar në gjuhën C dhe shpërndahet nën licencën GPLv3.

Projekti mund të përdoret si një stak TCP/IP që funksionon në hapësirën e përdoruesit, duke zëvendësuar stakun rrjetik të Linux, FreeBSD dhe macOS, si dhe është i përshtatshëm për përdorim në sisteme të integruara bazuar në FreeRTOS, SafeRTOS, Zephyr, Azure RTOS ThreadX, NuttX, RTEMS, VxWorks dhe QNX. Përveç kësaj, mbi wolfIP mund të krijohen aplikacione rrjetësore të vetë-mjaftueshme, që funksionojnë mbi pajisje (bare-metal). Në kombinim me bibliotekën wolfSSL, ofrohet mbështetje për TLS 1.3, e cila lejon krijimin e sistemeve të integruara kompakte që mbështesin HTTPS.

Karakteristikat kryesore të wolfIP:

  • Përdorimi i tamponëve të ndarë në kujtesën statike gjatë përpunimit të paketave rrjet. Thirrjet malloc dhe free nuk përdoren.
  • Mundësia e përdorimit në vend të stekëve rrjetë sistematike në sistemet POSIX.
  • Mbështetje për soketët BSD në modin jo-bllokues dhe bllokues.
  • Madhësi kompakte (4200 rreshta kodi, 4 herë më pak se steku TCP/IP lwIP).
  • Mbështetje për ndërfaqet rrjetore STM32 Ethernet.
  • Mundësia e përdorimit të ndërfaqes rrjetore TAP për testimin e funksionimit pa pajisje.
  • Zhvillimi me vëmendje nga sistemet me kërkesa të larta për siguri: konfigurim i përcaktuar dhe i riprodhueshëm; model zhvillimi që siguron siguri (Siguri me default); izolimi midis komponentëve. Mbështetje për azhurnim të sigurt të versioneve; mbështetje afatgjatë.
  • Marrja parasysh e kërkesave për sisteme me besueshmëri të lartë: mungesa e ndarjes dinamike të burimeve; grupe të fixa të memories; përdorimi i kontrolluar i burimeve; sjellje e parashikueshme; arkitekturë e thjeshtëzuar; mbështetje për gjenerimin e artefakteve për verifikim.
  • Implementimi i IPv4, UDP, TCP, IPSEC, ARP, ICMP, klientit DHCP, klientit DNS dhe serverit HTTP/HTTPS. Mbështetje për implementimin e TCP RFC 7323 (Timestamps TCP, matja RTT, PAWS, Window Scaling), MSS (Madhësia maksimale e segmentit), RTO (koha e riatdhesimit) dhe SACK (Pranimi selektiv). Disa algoritme për kontrollin e ngarkesës.

Nga kufizimet e wolfIP, vërehet se është e mundur të përdoret wolfIP vetëm si një pikë përfundimtare që mund të pranojë dhe krijojë lidhje, por që nuk mbështet ruterimin e trafikut midis ndërfaqeve rrjet.

Si një shtesë, mund të theksohet zhvillimi aktiv nga një punonjës i Red Hat i një stek TCP/IP të ngjashëm, passt, që funksionon në hapësirën e përdoruesit dhe nuk përdor alokimin dinamik të memories. Projekti passt po zhvillohet për të organizuar një kanal komunikimi midis mjedisit të hostit dhe sistemeve mysafire në QEMU si një zëvendësim më të sigurt për libslirp. Kodi passt është shkruar në gjuhën C, përbëhet nga rreth 5000 rreshta dhe shpërndahet nën licencën GPLv2+.

Nga karakteristikat e passt, mund të theksohet: mbështetje IPv6 përveç IPv4, optimizimit mbi bazën e instrukcioneve AVX2, mbrojtja nga synflood, mbështetje e integruar për QEMU, libvirt dhe Podman, paketa për të gjitha distribucionet e njohura, shërbimi ARP proxy, serverat minimalist DHCPD, DHCPv6 dhe NDP, profil seccomp për bllokimin e thirrjeve sistemike të pa përdorura, mbështetje NAT, mundësia e përdorimit si zëvendës transparent slirp4netns.

Burimi: opennet.ru

Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS 🔥 Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS | ProHoster