wolfIP ja passt — kerged TCP/IP protokollid, mis töötavad ilma dünaamilise mäluhaldeny

Krüptograafia raamatukogu wolfSSL arendajad on välja töötanud TCP/IP protokolli wolfIP, mis on optimeeritud kasutamiseks sisseehitatud seadmetes, millel on piiratud ressursid, samuti reaalajas töötavates süsteemides ja lahendustes, mis nõuavad kõrget usaldusväärsust (Safety-Critical). Ressursside ettearvamatuks tarbimiseks ei kasutata wolfIP-s dünaamilist mäluhaldust — kõik puhvri ja socketi tabelid on fikseeritud suurusega ning seadistatakse kompileerimise käigus. Projekti kood on kirjutatud C-keeles ja see levitatakse GPLv3 litsentsi all.

Projekti saab kasutada kasutajaruumi TCP/IP-protokollina, mis asendab Linuxi, FreeBSD ja macOS võrgu protokolli, samuti on see sobiv FreeRTOS, SafeRTOS, Zephyr, Azure RTOS ThreadX, NuttX, RTEMS, VxWorks ja QNX sisseehitatud süsteemides. Lisaks sellele saab wolfIP põhjal luua iseseisvaid võrgu rakendusi, mida saab käitada riistvaraplatvormidel (bare-metal). Koos wolfSSL raamatukoguga pakub see tuge TLS 1.3-le, mis võimaldab luua kompaktseid sisseehitatud süsteeme, mis toetavad HTTPS-i.

wolfIP peamised omadused:

  • Võrgupakettide töötlemisel kasutatakse ette määratud staatiliselt varustatud puhvrit. malloc ja free kutsungid ei ole kasutusel.
  • Võimalus kasutada hübriidset võrgu protokolli POSIX-süsteemides.
  • Toetab BSD sokke nii mitteblokeerivas kui ka blokeerivas režiimis.
  • Kompaktne suurus (4200 koodirida, 4 korda väiksem kui TCP/IP protokoll lwIP).
  • Toetab STM32 Etherneti võrguliideseid.
  • võimalus kasutada TAP võrguliidest, et testida töötamist seadmeta.
  • Arendamine keskendudes kõrge turvalisuse nõuetele: määratletud ja reprodutseeritav konfiguratsioon; turvalise seadistamise mudel (Secure-by-default); isolatsioon komponentide vahel. Toetab ohutut versiooniuuendust; pikaajaline tugi.
  • Arvesse on võetud usaldusväärsete süsteemide nõudeid: dünaamilise ressursihalduse puudumine; fikseeritud mälupoolsed; kontrollitud ressursikasutus; ettearvatav käitumine; lihtsustatud arhitektuur; toetab artefaktide genereerimist verifikatsiooni jaoks.
  • IPv4, UDP, TCP, IPSEC, ARP, ICMP, DHCP-client, DNS-client ja HTTP/HTTPS-serveri rakendamine. TCP rakenduses toetatakse RFC 7323 (TCP ajatempli, RTT mõõtmise, PAWS, akna skaleerimise), MSS (maksimaalne segmentide suurus), RTO (edastusaja ületamine) ja SACK (valikuline tunnustamine). Mitmed ülekande juhtimise algoritmid.

wolfIP piirangutena on võimalik kasutada wolfIP ainult lõpp-punktina, mis suudab vastu võtta ja luua ühendusi, kuid ei toeta liikluse marsruutimist erinevate võrguliideste vahel.

Lisaks on märkimisväärne, et Red Hat töötaja arendab sarnast TCP/IP steki passt, mis töötab kasutajaruumi tasemel ja ei kasuta dünaamilist mälu eraldamist. Projekt passt areneb, et luua suhtluskanal host-keskkonna ja külalisüsteemide vahel QEMU-s, olles turvalisem asendus libslirp-ile. passt kood on kirjutatud C keeles, sisaldab umbes 5000 rida ja jaotatakse GPLv2+ litsentsi alusel.

passt-i omadustena võib välja tuua: IPv6 toetus lisaks IPv4-le, AVX2 instruktsioonide põhised optimeerimised, synfloodi kaitse, QEMU, libvirt ja Podman'i sisemine tugi, paketid kõikidele populaarsetele jaotustele, ARP proxy teenus, minimalistlikud DHCPD, DHCPv6 ja NDP serverid, seccomp-profiil, mille eesmärk on blokeerida kõik kasutamata süsteemikutsed, NAT tugi, võimalus kasutada slirp4netns'i läbipaistva asendusena.

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster