{"id":6013,"date":"2022-09-13T16:47:25","date_gmt":"2022-09-13T13:47:25","guid":{"rendered":"https:\/\/skeletor.org.ua\/?p=6013"},"modified":"2024-03-28T17:30:21","modified_gmt":"2024-03-28T15:30:21","slug":"freebsd-%d0%b0%d0%bb%d1%8c%d1%82%d0%b5%d1%80%d0%bd%d0%b0%d1%82%d0%b8%d0%b2%d0%bd%d0%b8%d0%b9-tcp-%d1%81%d1%82%d0%b5%d0%ba-%d0%bd%d0%b0-%d0%bf%d1%80%d0%b8%d0%ba%d0%bb%d0%b0%d0%b4%d1%96-rack","status":"publish","type":"post","link":"https:\/\/skeletor.org.ua\/?p=6013","title":{"rendered":"[FreeBSD] \u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u0438\u0439 TCP-\u0441\u0442\u0435\u043a \u043d\u0430 \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u0456 RACK"},"content":{"rendered":"\n<p>\u0414\u0430\u043d\u0430 \u0441\u0442\u0430\u0442\u0442\u044f \u0454 \u0432\u0456\u043b\u044c\u043d\u0438\u043c \u043f\u0435\u0440\u0435\u043a\u043b\u0430\u0434\u043e\u043c <a rel=\"noreferrer noopener\" href=\"https:\/\/klarasystems.com\/articles\/using-the-freebsd-rack-tcp-stack\/\" target=\"_blank\">\u0446\u0456\u0454\u0457<\/a> . <\/p>\n\n\n\n<p>\u042f\u043a\u0449\u043e \u0432\u0430\u0441 \u044f\u043a\u0438\u043c\u043e\u0441\u044c \u0447\u0438\u043d\u043e\u043c \u043d\u0435 \u0432\u043b\u0430\u0448\u0442\u043e\u0432\u0443\u0454 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0438\u0439 \u0441\u0442\u0435\u043a <strong>TCP<\/strong>, \u0442\u043e, \u043f\u043e\u0447\u0438\u043d\u0430\u044e\u0447\u0438 \u0437 <strong>13.0<\/strong>, \u043c\u043e\u0436\u043d\u0430 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0441\u0432\u0456\u0439 \u0432\u043b\u0430\u0441\u043d\u0438\u0439. \u0412 \u0434\u0430\u043d\u0456\u0439 \u0441\u0442\u0430\u0442\u0442\u0456 \u043c\u0438 \u0440\u043e\u0437\u0433\u043b\u044f\u043d\u0435\u043c\u043e <strong>RACK-TLP<\/strong> <strong>TCP <\/strong>\u0441\u0442\u0435\u043a. \u041e\u0441\u043d\u043e\u0432\u043d\u0430 \u0441\u0443\u0442\u044c \u044f\u043a\u043e\u0433\u043e, \u0432 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0456 <strong>timestamps<\/strong>, \u0456 \u043f\u0440\u0438 \u0432\u0442\u0440\u0430\u0442\u0456 \u043f\u0430\u043a\u0435\u0442\u0443 \u0437\u0430 \u0440\u0430\u0445\u0443\u043d\u043e\u043a \u0446\u044c\u043e\u0433\u043e \u0448\u0432\u0438\u0434\u0448\u0435 \u0432\u0456\u0434\u043d\u043e\u0432\u043b\u044e\u0454\u0442\u044c\u0441\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0434\u0430\u043d\u0438\u0445. \u0422\u043e\u0431\u0442\u043e, \u0434\u0430\u043d\u0438\u0439 \u0441\u0442\u0435\u043a \u0431\u0443\u0434\u0435 \u0431\u0456\u043b\u044c \u0435\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0438\u043c \u0432 \u043c\u0435\u0440\u0435\u0436\u0430\u0445 \u0437 \u0447\u0430\u0441\u0442\u0438\u043c\u0438 \u043e\u0431\u0440\u0438\u0432\u0430\u043c\u0438 \u0437\u0432\u02bc\u044f\u0437\u043a\u0443. \u0423 \u0441\u0442\u0430\u0431\u0456\u043b\u044c\u043d\u0438\u0445 \u043c\u0435\u0440\u0435\u0436\u0430\u0445, \u0439\u043e\u0433\u043e \u043d\u0435\u043c\u0430\u0454 \u0441\u0435\u043d\u0441\u0443 \u0437\u0430\u0441\u0442\u043e\u0441\u043e\u0432\u0443\u0432\u0430\u0442\u0438.<\/p>\n\n\n<p><!--more--><\/p>\n\n\n<p>\u0417\u0430 \u0437\u0430\u043c\u043e\u0432\u0447\u0443\u0432\u0430\u043d\u043d\u044f\u043c, \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u044e\u0454\u0442\u044c\u0441\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0438\u0439 <strong>TCP <\/strong>\u0441\u0442\u0435\u043a:<\/p>\n\n\n<pre>root@freebsd # sysctl net.inet.tcp.functions_available\nnet.inet.tcp.functions_available: \nStack                           D Alias                            PCB count\nfreebsd                         * freebsd                          3\n<\/pre>\n\n\n<p>\u0414\u043b\u044f \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u0430\u043d\u043d\u044f <strong>RACK TCP<\/strong> \u0442\u0440\u0435\u0431\u0435 \u0437\u0456\u0431\u0440\u0430\u0442\u0438 \u043d\u043e\u0432\u0435 \u044f\u0434\u0440\u043e \u0437 \u043e\u043f\u0446\u0456\u044f\u043c\u0438:<\/p>\n\n\n\n<p><code>options RATELIMIT <br>options TCPHPTS<\/code><\/p>\n\n\n\n<p>\u041f\u0435\u0440\u0448\u0430 \u043e\u043f\u0446\u0456\u044f \u0432\u043a\u043b\u044e\u0447\u0430\u0454 \u0432\u0438\u0441\u043e\u043a\u043e\u0442\u043e\u0447\u043d\u0456 \u043c\u0456\u0442\u043a\u0438 \u0447\u0430\u0441\u0443, \u0430 \u0434\u0440\u0443\u0433\u0430 &#8211; \u0432\u043b\u0430\u0441\u043d\u0435 <strong>RACK TCP<\/strong>. \u0414\u043b\u044f \u0437\u0430\u0434\u0456\u044f\u043d\u043d\u044f <strong>extra stack<\/strong> \u0442\u0440\u0435\u0431\u0430 \u0434\u043e\u0434\u0430\u0442\u0438 \u0449\u0435 \u0442\u0430\u043a\u0435 \u0443 <strong>src.conf<\/strong>:<\/p>\n\n\n\n<p><code>WITH_EXTRA_TCP_STACKS=1<\/code><\/p>\n\n\n\n<p>\u0417\u0431\u0435\u0440\u0435\u043c\u043e \u044f\u0434\u0440\u043e \u0456 \u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u043c\u043e \u043c\u043e\u0434\u0443\u043b\u044c:<\/p>\n\n\n\n<p><code># make -j 16 KERNCONF=RACK buildkernel<br># make installkernel KERNCONF=RACK KODIR=\/boot\/kernel.rack<br># reboot -k kernel.rack<br># kldload \/boot\/kernel.rack\/tcp_rack.ko<\/code><\/p>\n\n\n\n<p>\u041f\u043e\u0434\u0438\u0432\u0438\u043c\u043e\u0441\u044f \u0449\u0435 \u0440\u0430\u0437 \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0438\u0445 \u0441\u0442\u0435\u043a\u0456\u0432 \u0456 \u0437\u043c\u0456\u043d\u0438\u043c\u043e \u043d\u0430 <strong>RACK<\/strong><\/p>\n\n\n<pre>root@freebsd:~ # sysctl net.inet.tcp.functions_available\nnet.inet.tcp.functions_available:\nStack                           D Alias                            PCB count\nfreebsd                         * freebsd                          3\nrack                              rack                             0\nroot@freebsd # sysctl net.inet.tcp.functions_default=rack\nnet.inet.tcp.functions_default: freebsd -&gt; rack\nroot@freebsd # sysctl net.inet.tcp.functions_available\nnet.inet.tcp.functions_available:\nStack                           D Alias                            PCB count\nfreebsd                           freebsd                          3\nrack                            * rack                             0\n<\/pre>\n\n\n<p>\u0429\u043e\u0431 \u0437\u0430\u0444\u0456\u043a\u0441\u0443\u0432\u0430\u0442\u0438 \u0446\u0435 \u043d\u0430 \u043f\u043e\u0441\u0442\u0456\u0439\u043d\u0456\u0439 \u043e\u0441\u043d\u043e\u0432\u0456, \u0440\u043e\u0431\u0438\u043c\u043e \u0442\u0430\u043a:<\/p>\n\n\n<pre>echo \"tcp_rack_load=\\\"YES\\\"\" &gt;&gt; \/boot\/loader.conf\necho \"net.inet.tcp.functions_default=rack\" &gt;&gt; \/etc\/sysctl.conf\n<\/pre>\n<p><a href=\"https:\/\/reviews.freebsd.org\/rS334804\">Review<\/a><\/p>\n\n\n<p>\u0422\u0430\u043a\u043e\u0436, \u043c\u043e\u0436\u043d\u0430 \u043a\u0435\u0440\u0443\u0432\u0430\u0442\u0438 \u043b\u0456\u043c\u0456\u0442\u0430\u043c\u0438 \u0447\u0435\u0440\u0435\u0437 <strong>ifconfig<\/strong>, \u044f\u043a\u0449\u043e \u0446\u0435 \u043f\u0456\u0434\u0442\u0440\u0438\u043c\u0443\u0454 \u0432\u0456\u0434\u043f\u043e\u0432\u0456\u0434\u043d\u0438\u0439 \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u043c\u0435\u0440\u0435\u0436\u0435\u0432\u043e\u0457 \u043a\u0430\u0440\u0442\u0438 (<strong>txrtlmt<\/strong>)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0414\u0430\u043d\u0430 \u0441\u0442\u0430\u0442\u0442\u044f \u0454 \u0432\u0456\u043b\u044c\u043d\u0438\u043c \u043f\u0435\u0440\u0435\u043a\u043b\u0430\u0434\u043e\u043c \u0446\u0456\u0454\u0457 . \u042f\u043a\u0449\u043e \u0432\u0430\u0441 \u044f\u043a\u0438\u043c\u043e\u0441\u044c \u0447\u0438\u043d\u043e\u043c \u043d\u0435 \u0432\u043b\u0430\u0448\u0442\u043e\u0432\u0443\u0454 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0438\u0439 \u0441\u0442\u0435\u043a TCP, \u0442\u043e, \u043f\u043e\u0447\u0438\u043d\u0430\u044e\u0447\u0438 \u0437 13.0, \u043c\u043e\u0436\u043d\u0430 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0441\u0432\u0456\u0439 \u0432\u043b\u0430\u0441\u043d\u0438\u0439. \u0412 \u0434\u0430\u043d\u0456\u0439 \u0441\u0442\u0430\u0442\u0442\u0456 \u043c\u0438 \u0440\u043e\u0437\u0433\u043b\u044f\u043d\u0435\u043c\u043e RACK-TLP TCP \u0441\u0442\u0435\u043a. \u041e\u0441\u043d\u043e\u0432\u043d\u0430 \u0441\u0443\u0442\u044c \u044f\u043a\u043e\u0433\u043e, \u0432 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0456 timestamps, \u0456 \u043f\u0440\u0438 \u0432\u0442\u0440\u0430\u0442\u0456 \u043f\u0430\u043a\u0435\u0442\u0443 \u0437\u0430 \u0440\u0430\u0445\u0443\u043d\u043e\u043a \u0446\u044c\u043e\u0433\u043e \u0448\u0432\u0438\u0434\u0448\u0435 \u0432\u0456\u0434\u043d\u043e\u0432\u043b\u044e\u0454\u0442\u044c\u0441\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0434\u0430\u043d\u0438\u0445. \u0422\u043e\u0431\u0442\u043e, \u0434\u0430\u043d\u0438\u0439 \u0441\u0442\u0435\u043a \u0431\u0443\u0434\u0435 \u0431\u0456\u043b\u044c \u0435\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0438\u043c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,12],"tags":[],"class_list":["post-6013","post","type-post","status-publish","format-standard","hentry","category-freebsd","category-routers"],"_links":{"self":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts\/6013","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6013"}],"version-history":[{"count":4,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts\/6013\/revisions"}],"predecessor-version":[{"id":6367,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts\/6013\/revisions\/6367"}],"wp:attachment":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6013"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6013"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6013"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}