Megjelent az F-Stack 2.0 hálózati verem, amely felhasználói térben működik.

Megjelent az F-Stack 2.0 projekt, amely a FreeBSD hálózati verzióját fejleszti, alkalmazkodva a felhasználói térben való különálló működéshez, könyvtár formájában. A projektet a legnagyobb kínai telekommunikációs cég, a Tencent hozta létre, és termékeiben és szolgáltatásaiban használják. A kód C nyelven íródott és BSD licenc alatt terjesztik. Működik Linux és FreeBSD rendszereken is. A projekthez támogatott Nginx 1.28 és Redis 6.2.6 verziók is, amelyek teljesítménye a rendszeres hálózati verem felett működő normál verziókénál magasabb.

Az F-Stack lehetővé teszi a saját helyi hálózati verem használatát az alkalmazásokban, amely független az operációs rendszer hálózati veremétől, a felhasználói térben működik, és közvetlen kapcsolatban áll a hálózati berendezésekkel. Az F-Stack olyan megoldásként pozicionálódik, amely növeli a hálózati kérdések feldolgozási teljesítményét, amikor a Linux kernel alapértelmezett TCP/IP veremje szűk keresztmetszetté válik és korlátozza a skálázhatóságot. Elméletileg az F-Stack lehetővé teszi a használt hálózati kártyának megfelelő maximális hálózati teljesítmény elérését, és bizonyos helyzetekben többszörösére növelheti a feldolgozott apró hálózati kérések számát.

A teljesítmény növelése olyan műveletek kizárásával érhető el, mint a hálózati csomagok másolása, a szálak ütemezése, az megszakítások kezelése és a rendszerhívásokhoz való hozzáférés. A hálózati kártyával való interakcióhoz, a rendszerszintű interfészeket megkerülve, a DPDK (Data Plane Development Kit) keretrendszert alkalmazzák, amely könyvtárak készletének fejlesztésére szolgál az alacsony szintű hálózati adapterekkel való munkához. A DPDK lehetőséget ad a ráfordítások csökkentésére és a minimális CPU ciklusok betartására a hálózati csomagok fogadása vagy küldése során.

A TCP/IP stack functionality aligns with the network stack of FreeBSD 15 and has been separated from this operating system into an independent library. For application development, the standard POSIX API (socket, epoll, kqueue) or a custom interface based on micro-threads can be utilized, simplifying network application creation without the complex logic of asynchronous request handling. It is possible to use with unmodified applications by loading through LD_PRELOAD.

A legfontosabb változások az új kiadásban:

  • The components of the network stack have been updated to match FreeBSD 15 (previously FreeBSD 13 was used).
  • A multithreaded operation mode (thread_mode=1) has been implemented within a single process, complementing the previously available multiprocess mode.
  • A lightweight operation mode (primary_slim) has been added, where the main process only performs basic initialization and coordination tasks, while packet reception and processing of receive/transmit queues (rx/tx) are handled exclusively by child processes.
  • Support for hardware acceleration mechanisms has been added.
    TSO (TCP Segmentation Offload) has been implemented to offload packet merging operations to the network card, with the option to rollback to a software implementation. Improved support for TSO (TCP Segmentation Offload, offloading packet segment processing to the network card) for IPv6.
  • The ability to change the MTU (Maximum Transmission Unit) size has been added, and support for jumbo frames has been implemented.
  • Capabilities for managing hardware acceleration of checksum calculations for sent packets have been expanded.
  • The ff_zc_recv() function has been added for receiving data with zero-copy buffering. The similar ff_zc_send() function has been reworked for sending. It has been optimized and enhanced. IPv6 támogatásának The ff_rss_check() function has been optimized.
  • The FF_KERNEL_COEXIST option has been added for co-working with the kernel's network stack.
  • The ability to save traffic information in pcap dumps with nanosecond precision has been provided.
  • New parameters idle_loop_interval, extra_eal_args, drain_ring_size, reload_heartbeat_timeout_ms, and reload_udp_idle_ms have been added to config.ini.
  • In the specialized Nginx build, support for graceful configuration reload and binary file updates without breaking connections (graceful_reload=1) has been implemented.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster