wolfIP dhe passt — steke të lehta TCP/IP, të cilat funksionojnë pa alokim dinamik të memories

Zhvilluesit e bibliotekës kriptografike wolfSSL po zhvillojnë stek TCP/IP wolfIP, të optimizuar për përdorim në pajisje të integruara me burime të kufizuara, si dhe për sisteme që operojnë 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 alokimin dinamik të memories — të gjithë bufetë dhe tabelat e soketeve kanë një madhësi të fiksuar 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ë TCP/IP stek që funksionon në hapësirën e përdoruesit, duke zëvendësuar stekun e rrjetit Linux, FreeBSD dhe macOS, si dhe është i përshtatshëm për aplikim në sisteme të integruara mbi FreeRTOS, SafeRTOS, Zephyr, Azure RTOS ThreadX, NuttX, RTEMS, VxWorks dhe QNX. Përveç kësaj, mbi bazën e wolfIP mund të krijohen aplikacione rrjetesh të pavarura që ekzekutohen mbi pajisje (bare-metal). Në kombinim me bibliotekën wolfSSL ofrohet mbështetje për TLS 1.3, që mundëson krijimin e sistemeve të integruara kompakte që mbështesin HTTPS.

Veçoritë kryesore të wolfIP:

  • Përdorimi i buferave të caktuar më parë në memorie statike për trajtimin e paketave të rrjetit. Thirrjet malloc dhe free nuk përdoren.
  • Mundësia e përdorimit në vend të stekeve të sistemeve të zakonshme të rrjetit 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 rrjetike STM32 Ethernet.
  • Mundësia e përdorimit të ndërfaqes rrjetike TAP për testimin e funksionit pa pajisje.
  • Zhvillim me vëmendje ndaj sistemeve me kërkesa të larta për siguri: konfiguaracion i përcaktuar dhe i riprodhueshëm; model shpërndarjeje që garanton sigurinë (Secure-by-default); izolimi midis komponentëve. Mbështetje për azhurnimin e sigurt të versioneve; mbështetje afatgjatë.
  • Marrja parasysh e kërkesave për sisteme me besueshmëri të lartë: mungesa e alokimit dinamik të burimeve; pool-e fikse të memories; përdorimi i kontrolluar i burimeve; sjellje parashikueshme; arkitekture e thjeshtë; 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 në implementimin e TCP RFC 7323 (Timestamps TCP, matja e RTT, PAWS, Shkallimi i Dritares), MSS (Madhësia Maksi e Segmentit), RTO (koha e ri-transmetimit) dhe SACK (Pranimi Selektiv). Disa algoritme për kontrollin e ngarkesës (congestion control).

Nga kufizimet e wolfIP përmendet mundësia e përdorimit të wolfIP vetëm si një pikë e fundit, e aftë për të pranuar dhe vendosur lidhje, por që nuk mbështet ruterimin e trafikut mes interfazave rrjet.

Përveç kësaj, vlen të përmendet zhvillimi aktiv nga një punonjës i Red Hat i një staku të ngjashëm TCP/IP, passt, i cili funksionon në hapësirën e përdoruesit dhe nuk përdor alokimin dinamik të memories. Projekti passt zhvillohet për të organizuar një kanal komunikimi mes mjedisit qendror dhe sistemeve nikoqire në QEMU si një zëvendësim më të sigurt për libslirp. Kodi passt është shkruar në gjuhën C, përmban rreth 5000 rreshta dhe shpërndahet nën licencën GPLv2+.

Nga karakteristikat e passt mund të theksohet: mbështetje IPv6 përveç IPv4, optimizime mbi bazën e komandave AVX2, mbrojtje nga synflood, mbështetje e integruar për QEMU, libvirt dhe Podman, paketat për të gjitha shpërndarjet e njohura, shërbimi ARP proxy, serverat minimalistë DHCPD, DHCPv6 dhe NDP, profile seccomp për bllokimin e të gjitha thirrjeve të sistemit që nuk përdoren, mbështetje NAT, mundësia e përdorimit si një zëvendësim transparent për slirp4netns.

Burimi: opennet.ru

Blini hosting të besueshëm për faqe interneti me mbrojtje nga DDoS, serverë VPS VDS 🔥 Blini hosting të besueshëm për faqe interneti me mbrojtje nga DDoS, serverë VPS VDS | ProHoster