wolfIP ja passt — kergete TCP/IP kihtide komplektid, mis töötavad ilma dünaamilise mälu haldamiseta

Krüptograafia raamatukogu wolfSSL arendajad töötavad välja TCP/IP steki wolfIP, mis on optimeeritud piiratud ressursidega sisseehitatud seadmete ja reaalajas töötavate süsteemide ning suurenenud usaldusväärsust nõudvate lahenduste (Safety-Critical) kasutamiseks. Ressursside ennustatava tarbimise tagamiseks ei kasutata wolfIP-s dünaamilist mälu eraldamist - kõik puhvrid ja soklite tabelid on fikseeritud suurusega ning konfigureeritavad kompileerimise hetkel. Projekti kood on kirjutatud C keeles ja litsentsitud GPLv3 alusel.

Projekt võib toimida kasutajaruumi TCP/IP stekina, asendades Linuxi, FreeBSD ja macOS võrgu steki, samuti on see sobiv kasutada sisseehitatud süsteemides, mis põhinevad FreeRTOS, SafeRTOS, Zephyr, Azure RTOS ThreadX, NuttX, RTEMS, VxWorks ja QNX. Lisaks saab wolfIP põhjal luua iseseisvaid võrgu rakendusi, mida saab käivitada otse riistvara (bare-metal) peal. Koos wolfSSL raamatukoguga pakub see tuge TLS 1.3-le, võimaldades luua kompaktseid sisseehitatud süsteeme, mis toetavad HTTPS-i.

wolfIP põhifunktsioonid:

  • Võrgupakettide töötlemisel kasutatakse eelnevalt staatiliselt eraldatud puhvreid. malloc ja free kutsed ei ole kasutusel.
  • Võimalus asendada tavapärased süsteemi võrgu stekid POSIX-süsteemides.
  • BSD-soklite tugi mitteblokeerivas ja blokeerivas režiimis.
  • Kompaktne suurus (4200 koodi rida, 4 korda vähem kui TCP/IP stek lwIP).
  • STM32 Etherneti võrgu liidese tugi.
  • Võimalus kasutada TAP võrgu liidest töö toimimise testimiseks ilma riistvarata.
  • Arendus keskendub süsteemidele, millel on kõrged turbenõuded: deterministlik ja korduv konfigureerimine; turvaline (Secure-by-default) juurutusmudel; komponentide vahel täiendav isoleeritus. Tugi turvaliste versioonivärskenduste jaoks; pikaajaline hooldus.
  • Arvestatud on usaldusväärsete süsteemide nõudmisi: dünaamilise ressursi eraldamise puudumine; fikseeritud mälu basseinid; kontrollitav ressursside kasutamine; ennustatav käitumine; lihtsustatud arhitektuur; artefaktide genereerimise tugi verifitseerimiseks.
  • IPv4, UDP, TCP, IPSEC, ARP, ICMP, DHCP klient, DNS klient ja HTTP/HTTPS serveri teostamine. TCP rakenduses on toetatud RFC 7323 (TCP ajatemplid, RTT mõõtmine, PAWS, akna suuruse skaalamine), MSS (maximaalse segmendi suurus), RTO (postitamise ajavahemik) ja SACK (valikuline tunnustus). Mitmed koormuse juhtimise algoritmid.

wolfIP piiratustena märkida, et wolfIP võib kasutada ainult lõpp-punktina, mis suudab vastuvõtta ja luua ühendusi, kuid ei toeta liikluse marsruutimist võrgu liideste vahel.

Lisaks tasub tähele panna, et Red Hati töötaja arendab sarnast TCP/IP steki, passt, mis töötab kasutajaruumi, mitte ei kasuta dünaamilist mälu eraldamist. Passt projekti arendatakse kommunikatsioonikanali korraldamiseks peremooduli ja külalisüsteemide vahel QEMU-s, et pakkuda turvalisemat alternatiivi libslirp. Passt kood on kirjutatud C keeles, sisaldab umbes 5000 rida ja litsents on GPLv2+.

Passt funktsioonidena võib märkida: IPv6 tugi lisaks IPv4-le, AVX2 käskude põhjal optimeerimine, kaitse synfloodi eest, sisseehitatud tugi QEMU, libvirt ja Podman, paketid kõikide populaarsete jaotuste jaoks, ARP proxy teenus, minimalistlikud DHCPD, DHCPv6 ja NDP serverid, seccomp profiil, et blokeerida kõik kasutamata süsteemi kutsed, NAT tugi, võimalus kasutada kui läbipaistvat asendust slirp4netns.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster