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