{"id":183964,"date":"2026-10-22T17:40:49","date_gmt":"2026-10-22T15:40:49","guid":{"rendered":"https:\/\/prohoster.info\/blog\/news\/opublikovan-setevoj-stek-f-stack-2-0-rabotayushhij-v-polzovatelskom-prostranstve"},"modified":"2026-10-22T17:40:53","modified_gmt":"2026-10-22T15:40:53","slug":"f-stack-2-0-user-space-network-stack-released","status":"publish","type":"post","link":"https:\/\/prohoster.info\/lv\/blog\/news\/f-stack-2-0-user-space-network-stack-released","title":{"rendered":"Public\u0113ts F-Stack 2.0 t\u012bkla steks, kas darbojas lietot\u0101ja telp\u0101","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Notika par projektu F-Stack 2.0, kas att\u012bsta FreeBSD t\u012bkla steka izdevumu, piel\u0101gotu atsevi\u0161\u0137ai darb\u012bbai lietot\u0101ja telp\u0101 bibliot\u0113kas form\u0101. Projekts izveidots liel\u0101kaj\u0101 telekomunik\u0101ciju uz\u0146\u0113mum\u0101 \u0136\u012bn\u0101 Tencent un tiek izmantots t\u0101s produktos un pakalpojumos. Kods uzrakst\u012bts C valod\u0101 un tiek izplat\u012bts saska\u0146\u0101 ar BSD licenci. Atbalsta darb\u012bbu Linux un FreeBSD. Projekts ar\u012b atbalsta piel\u0101gotas F-Stack versijas Nginx 1.28 un datub\u0101zu Redis 6.2.6, kas demonstr\u0113 augst\u0101ku veiktsp\u0113ju sal\u012bdzin\u0101jum\u0101 ar parastaj\u0101m versij\u0101m, kas darbojas virs sist\u0113mas t\u012bkla steka.<\/p>\n<p>F-Stack \u013cauj izmantot lietotn\u0113s savu lok\u0101lo t\u012bkla steku, kas nav atkar\u012bgs no oper\u0113t\u0101jsist\u0113mas t\u012bkla steka, funkcion\u0113jot lietot\u0101ja telp\u0101 un tie\u0161i sadarbojoties ar t\u012bkla apr\u012bkojumu. F-Stack tiek pozicion\u0113ts k\u0101 risin\u0101jums, kas \u013cauj palielin\u0101t t\u012bkla piepras\u012bjumu apstr\u0101d\u0101t\u0101ju veiktsp\u0113ju apst\u0101k\u013cos, kad Linux kodola \u0161tata TCP\/IP steks k\u013c\u016bst par \u0161auru vietu un ierobe\u017eo m\u0113rogojam\u012bbu. Teor\u0113tiski F-Stack \u013cauj sasniegt t\u012bkla veiktsp\u0113jas griestus, kas ir iesp\u0113jami attiec\u012bgajai t\u012bkla kartei, un da\u017eos gad\u012bjumos iev\u0113rojami palielina apstr\u0101d\u0101to mazo t\u012bkla piepras\u012bjumu skaitu. <\/p>\n<p>Veiktsp\u0113jas palielin\u0101jums tiek pan\u0101kts, izsl\u0113dzot t\u0101das oper\u0101cijas k\u0101 t\u012bkla paketu kop\u0113\u0161ana, pl\u016bsmu pl\u0101no\u0161ana, trauc\u0113jumu apstr\u0101de un piek\u013cuve sist\u0113mas izsaukumiem. Sadarb\u012bbai ar t\u012bkla karti, apsteidzot oper\u0113t\u0101jsist\u0113mas kodola interfeisus, tiek izmantots DPDK (Data Plane Development Kit) ietvars, kas att\u012bsta bibliot\u0113ku kopu zemas l\u012bme\u0146a darbam ar t\u012bkla adapteriem. DPDK \u013cauj samazin\u0101t overhead un samazin\u0101t CPU ciklu skaitu t\u012bkla paku uz\u0146em\u0161anai vai nos\u016bt\u012b\u0161anai.  <\/p>\n<p>TCP\/IP steka funkcionalit\u0101te atbilst FreeBSD 15 t\u012bkla stekam un ir izdal\u012bta no \u0161\u012bs oper\u0113t\u0101jsist\u0113mas neatkar\u012bg\u0101 bibliot\u0113k\u0101. Lietojumprogrammu izstr\u0101dei var izmantot standarta POSIX API (socket, epoll, kqueue) vai savu programmat\u016bras interfeisu, pamatojoties uz mikros\u0113rij\u0101m, kas vienk\u0101r\u0161o t\u012bkla lietojumprogrammu izveidi un \u013cauj izvair\u012bties no sare\u017e\u0123\u012btas asinhron\u0101s piepras\u012bjumu apstr\u0101des lo\u0123ikas. Iesp\u0113jama izmanto\u0161ana ar nemodific\u0113t\u0101m lietojumprogramm\u0101m, iel\u0101d\u0113jot caur LD_PRELOAD.<\/p>\n<p>Visredzam\u0101k\u0101s izmai\u0146as jaunaj\u0101 laidien\u0101:<\/p>\n<ul>\n<li class=\"l\"> T\u012bkla steka komponenti ir atjaunoti l\u012bdz FreeBSD 15 st\u0101voklim (iepriek\u0161 tika izmantots FreeBSD 13).\n<li class=\"l\"> Ieviesta daudzs\u0113riju darba re\u017e\u012bms (thread_mode=1) vien\u0101 proces\u0101, papildinot iepriek\u0161 pieejamo daudzprocesoru re\u017e\u012bmu.\n<li class=\"l\"> Pievienots vieglais darba re\u017e\u012bms (primary_slim), kur\u0101 pamata process veic tikai pamata inicializ\u0101cijas un koordin\u0101cijas uzdevumus, bet paketes sa\u0146em\u0161ana un pie\u0146em\u0161anas\/komunik\u0101cijas apstr\u0101de (rx\/tx) tiek veikta tikai b\u0113rnu procesu pus\u0113.\n<li class=\"l\"> Pievienota aparat\u016bras pa\u0101trin\u0101juma meh\u0101nisma atbalsts.<br \/>\nTSO (TCP Segmentation Offload) oper\u0101ciju p\u0101rvieto\u0161anai uz t\u012bkla karti, nodro\u0161inot iesp\u0113ju iziet uz programmat\u016bras \u012bstenojumu. Uzlabots TSO atbalsts (TCP Segmentation Offload, apstr\u0101des segmentu pakotnes p\u0101rvieto\u0161ana uz t\u012bkla karti) IPv6.<\/p>\n<li class=\"l\"> Pievienota iesp\u0113ja main\u012bt MTU (Maksim\u0101l\u0101 p\u0101rraides vien\u012bba) un ieviesta jumbo-r\u0101mju atbalsts.\n<li class=\"l\"> Papla\u0161in\u0101tas iesp\u0113jas t\u0101lru\u0146a pa\u0101trin\u0101juma kontroles summu apr\u0113\u0137in\u0101\u0161anai nos\u016bt\u012btaj\u0101m pakotn\u0113m.\n<li class=\"l\"> Pievienota funkcija ff_zc_recv() datu sa\u0146em\u0161anai bez starpposma buferiz\u0113\u0161anas (zero-copy). P\u0101rveidota l\u012bdz\u012bga funkcija ff_zc_send() nos\u016bt\u012b\u0161anai. Optimiz\u0113ta un papildin\u0101ta. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/lv\/lir\/ipv4\/\"   title=\"ar IPv6 atbalstu.\" data-wpil-keyword-link=\"linked\">ar IPv6 atbalstu.<\/a> funkcija ff_rss_check().\n<li class=\"l\"> Pievienota opcija FF_KERNEL_COEXIST, lai kop\u012bgi darbotos ar kodola t\u012bkla steku.\n<li class=\"l\"> Iesp\u0113jams saglab\u0101t inform\u0101ciju par trafiku pcap-dampos ar nanosekundes precizit\u0101ti.\n<li class=\"l\"> config.ini pievienoti jauni parametri idle_loop_interval, extra_eal_args, drain_ring_size, reload_heartbeat_timeout_ms un reload_udp_idle_ms.\n<li class=\"l\">  Speci\u0101laj\u0101 nginx izlaidum\u0101 ieviesta konfigur\u0101cijas p\u0101rl\u0101d\u0113\u0161anas un bin\u0101r\u0101 faila atjaunin\u0101\u0161anas atbalsts bez savienojumu p\u0101rtrauk\u0161anas (graceful_reload=1).\n<\/ul>\n<p>Avots: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=66526\">opennet.lv<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 F-Stack 2.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044e \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0441\u0442\u0435\u043a\u0430 FreeBSD, \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0434\u043b\u044f \u043e\u0431\u043e\u0441\u043e\u0431\u043b\u0435\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0432 \u0444\u043e\u0440\u043c\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438. \u041f\u0440\u043e\u0435\u043a\u0442 \u0441\u043e\u0437\u0434\u0430\u043d \u043a\u0440\u0443\u043f\u043d\u0435\u0439\u0448\u0435\u0439 \u0432 \u041a\u0438\u0442\u0430\u0435 \u0442\u0435\u043b\u0435\u043a\u043e\u043c\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0435\u0439 Tencent \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u0435\u0451 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430\u0445 \u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u0445. \u041a\u043e\u0434 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0421\u0438 \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 BSD. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u0432 Linux \u0438 FreeBSD. \u041f\u0440\u043e\u0435\u043a\u0442\u043e\u043c \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-183964","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 F-Stack 2.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044e \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0441\u0442\u0435\u043a\u0430 FreeBSD, \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0434\u043b\u044f \u043e\u0431\u043e\u0441\u043e\u0431\u043b\u0435\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0432 \u0444\u043e\u0440\u043c\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Alexander Kovalev\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/lv\/blog\/news\/f-stack-2-0-user-space-network-stack-released\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"lv_LV\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0441\u0442\u0435\u043a F-Stack 2.0, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 F-Stack 2.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044e \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0441\u0442\u0435\u043a\u0430 FreeBSD, \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0434\u043b\u044f \u043e\u0431\u043e\u0441\u043e\u0431\u043b\u0435\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0432 \u0444\u043e\u0440\u043c\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/lv\/blog\/news\/f-stack-2-0-user-space-network-stack-released\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-10-22T15:40:49+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-10-22T15:40:53+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Public\u0113ts F-Stack 2.0 t\u012bkla steks, kas darbojas lietot\u0101ja telp\u0101 | ProHoster","description":"Tika ir notikusi projekta F-Stack 2.0 izlai\u0161ana, kas att\u012bsta FreeBSD t\u012bkla steku, piel\u0101gotu atsevi\u0161\u0137ai darb\u012bbai lietot\u0101ja telp\u0101 k\u0101 bibliot\u0113ku.","canonical_url":"https:\/\/prohoster.info\/lv\/blog\/news\/f-stack-2-0-user-space-network-stack-released","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"lv_LV","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0441\u0442\u0435\u043a F-Stack 2.0, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 | ProHoster","og:description":"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0440\u0435\u043b\u0438\u0437 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 F-Stack 2.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044e \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0441\u0442\u0435\u043a\u0430 FreeBSD, \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0434\u043b\u044f \u043e\u0431\u043e\u0441\u043e\u0431\u043b\u0435\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0432 \u0444\u043e\u0440\u043c\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438.","og:url":"https:\/\/prohoster.info\/lv\/blog\/news\/f-stack-2-0-user-space-network-stack-released","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2026-10-22T15:40:49+00:00","article:modified_time":"2026-10-22T15:40:53+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/183964","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/comments?post=183964"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/183964\/revisions"}],"predecessor-version":[{"id":183965,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/183964\/revisions\/183965"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media?parent=183964"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/categories?post=183964"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/tags?post=183964"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}