{"id":473106,"date":"2025-09-02T15:29:07","date_gmt":"2025-09-02T15:29:07","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=473106"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=473106","title":{"rendered":"<span>Cisco TRex. \u0421\u0435\u0442\u0435\u0432\u043e\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Stateless \u0438 Stateful \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f\u0445<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u0432 OpenSource \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0435 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u043e\u0442\u00a0Cisco\u00a0&#8212; TRex. \u041f\u0440\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0438 \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0438 \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u044c \u0435\u0433\u043e \u0442\u0449\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435. \u041c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u044b \u0438 \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0432\u044b\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0437\u0430\u044f\u0432\u043b\u0435\u043d\u043d\u0443\u044e \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443, \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0442\u0440\u0430\u0444\u0438\u043a \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0443\u0440\u043e\u0432\u043d\u044f\u0445.\u00a0<\/p>\n<p>\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u0438\u043a\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, RFC 2544) \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442, \u043a\u0430\u043a \u0438\u0437\u043c\u0435\u0440\u044f\u0442\u044c \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u0443\u044e \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0431\u0435\u0437 \u043f\u043e\u0442\u0435\u0440\u044c \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438. \u0420\u0430\u043d\u0435\u0435 \u0434\u043b\u044f \u0442\u0430\u043a\u0438\u0445 \u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0439 \u0448\u0438\u0440\u043e\u043a\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u043b\u0438\u0441\u044c \u0434\u043e\u0440\u043e\u0433\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0435 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0442\u0440\u0430\u0444\u0438\u043a\u0430 (Ixia, Spirent \u0438 \u0442.\u0434.). \u041e\u0434\u043d\u0430\u043a\u043e \u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u043e\u0439 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0432\u0441\u0451 \u0431\u043e\u043b\u0435\u0435 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0442\u0441\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0435 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u044b.\u00a0<\/p>\n<p>\u041e\u0434\u043d\u043e\u0439 \u0438\u0437 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043c\u043e\u0449\u043d\u044b\u0445 \u043e\u043f\u0446\u0438\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439 Open Source \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 <strong>Cisco TRex<\/strong>. \u0412 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Cisco TRex 3.06 \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u043e\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432.<\/p>\n<h2>\u041e\u0431\u0437\u043e\u0440 Cisco TRex (Stateless vs Stateful)<\/h2>\n<p>\u041a\u0440\u0430\u0442\u043a\u043e \u043d\u0430\u043f\u043e\u043c\u043d\u044e, \u0442\u0435\u043c \u043a\u0442\u043e \u043d\u0435 \u0447\u0438\u0442\u0430\u043b \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0438. Cisco TRex\u00a0&#8212; \u044d\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441 \u0434\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043a\u0430\u043a \u0432 stateless (\u0431\u0435\u0437 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439), \u0442\u0430\u043a \u0438 \u0432 stateful \u0440\u0435\u0436\u0438\u043c\u0430\u0445. TRex \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 DPDK \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0435\u043c\u0443 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0441\u0435\u0442\u0435\u0432\u044b\u043c\u0438 \u043a\u0430\u0440\u0442\u0430\u043c\u0438 \u0438 \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0442\u044c \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438. \u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044e \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0443\u0440\u043e\u0432\u043d\u044f L3-L7 \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u043c\u043d\u043e\u0433\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u043f\u0440\u0438\u0441\u0443\u0449\u0438\u0435 \u0434\u043e\u0440\u043e\u0433\u0438\u043c \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u043c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430\u043c (\u044d\u043c\u0443\u043b\u044f\u0446\u0438\u044f \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0434\u043e 200 \u0413\u0431\u0438\u0442\/\u0441 \u0438 10-30 \u043c\u043b\u043d \u043f\u0430\u043a\u0435\u0442\u043e\u0432\/\u0441 \u043d\u0430 \u044f\u0434\u0440\u043e CPU, \u0433\u0438\u0431\u043a\u0430\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0438 \u0442.\u0434.).<\/p>\n<p>TRex \u043b\u0435\u0433\u043a\u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0441 \u0440\u043e\u0441\u0442\u043e\u043c \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0438 \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u0430\u0436\u0435 \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0440\u0435\u0434\u0430\u0445. \u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u0435\u0433\u043e \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u00a0&#8212; \u044d\u0442\u043e \u0433\u0438\u0431\u043a\u043e\u0441\u0442\u044c \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u0435\u043c\u043e\u0441\u0442\u044c: \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043a\u043e\u0434\u043e\u043c, \u0430 \u0441\u0430\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0438\u043c\u0435\u0435\u0442 API \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0442\u0435\u0441\u0442\u043e\u0432.\u00a0<\/p>\n<h2>\u0420\u0435\u0436\u0438\u043c\u044b \u0440\u0430\u0431\u043e\u0442\u044b TRex<\/h2>\n<p>\u0412 stateless-\u0440\u0435\u0436\u0438\u043c\u0435 (\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 STL) TRex \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u043f\u0430\u043a\u0435\u0442\u044b \u043f\u043e \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c \u0448\u0430\u0431\u043b\u043e\u043d\u0430\u043c \u0431\u0435\u0437 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043a\u0430\u043a\u0438\u0445-\u043b\u0438\u0431\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439. \u042d\u0442\u043e\u0442 \u0440\u0435\u0436\u0438\u043c \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u044f\u0449\u0438\u0445 \u043e\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439\u00a0&#8212; \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u043e\u0432 (L2), \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 IP (L3) \u0438\u043b\u0438 \u043b\u044e\u0431\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0449\u0438\u0445 \u0442\u0440\u0430\u0444\u0438\u043a \u043f\u043e\u043a\u0430\u0434\u0440\u043e\u0432\u043e (\u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f, QoS).<\/p>\n<p>\u0412 stateful-\u0440\u0435\u0436\u0438\u043c\u0435 (\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 ASTF) TRex \u044d\u043c\u0443\u043b\u0438\u0440\u0443\u0435\u0442 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0435 \u0441\u0435\u0441\u0441\u0438\u0438 \u0441 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, TCP handshakes) \u0438 \u043e\u0431\u043c\u0435\u043d\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u043c\u0438, \u0447\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 L4-L7: NAT, Firewall\/DPI, VPN \u0438 \u0442.\u043f. Stateful-\u0440\u0435\u0436\u0438\u043c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u044b \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0441\u0435\u0441\u0441\u0438\u0439 \u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0442\u0440\u0430\u0444\u0438\u043a \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432 (HTTP, IPSec \u0438 \u0434\u0440.) \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439.<\/p>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0432\u044b\u0431\u043e\u0440 \u0440\u0435\u0436\u0438\u043c\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u0438\u043f\u043e\u043c \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430: \u0434\u043b\u044f \u00ab\u043f\u0440\u043e\u0441\u0442\u044b\u0445\u00bb L2\/L3 \u043f\u0435\u0440\u0435\u0441\u044b\u043b\u043e\u043a \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e stateless-\u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0430 \u0434\u043b\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u0445 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f (\u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u044b \u0441 NAT, \u043c\u0435\u0436\u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u044d\u043a\u0440\u0430\u043d\u044b, \u0441\u0438\u0441\u0442\u0435\u043c\u044b DPI), \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f stateful-\u0442\u0440\u0430\u0444\u0438\u043a \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439.<\/p>\n<h2> \u041c\u0435\u0442\u043e\u0434\u0438\u043a\u0430 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432<\/h2>\n<p>\u041a\u0430\u0436\u0434\u043e\u0435 \u0441\u0435\u0442\u0435\u0432\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0438\u043c\u0435\u0435\u0442 \u0441\u0432\u043e\u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0442\u0435\u0441\u0442\u043e\u0432. \u041e\u043f\u044b\u0442\u043d\u044b\u0435 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u044b \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u0447\u0430\u043b\u043e\u043c \u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0439 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 <strong>\u043f\u043b\u0430\u043d \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432<\/strong>, \u043e\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u044e\u0449\u0438\u0445 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f:<\/p>\n<ul>\n<li>\n<p><strong>\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c L2\/L3:<\/strong> \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0442\u0435\u0441\u0442 \u0434\u043b\u044f \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u043e\u0432 \u0438 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432 &#8212; \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0435 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u043e\u043c \u0440\u0430\u0437\u043c\u0435\u0440\u0435 \u043f\u0430\u043a\u0435\u0442\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, 64, 128, 512, 1500 \u0431\u0430\u0439\u0442). TRex \u0432 stateless-\u0440\u0435\u0436\u0438\u043c\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u044b\u0439 \u043f\u043e\u0442\u043e\u043a Ethernet\/IP-\u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u043d\u0443\u0436\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0438 \u0442\u0435\u043c \u0441\u0430\u043c\u044b\u043c \u043e\u0446\u0435\u043d\u0438\u0442\u044c \u043f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u044b\u0439 throughput \u0431\u0435\u0437 \u043f\u043e\u0442\u0435\u0440\u044c (Non-Drop Rate). \u0422\u0435\u0441\u0442 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0442\u0438\u043f\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0438\u043b\u0438 \u043f\u043e\u0440\u0442\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u0441 \u043f\u043e\u0441\u0442\u0435\u043f\u0435\u043d\u043d\u044b\u043c \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u0435\u043c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u043d\u0435 \u043d\u0430\u0447\u043d\u0435\u0442\u0441\u044f \u043f\u043e\u0442\u0435\u0440\u044f \u043f\u0430\u043a\u0435\u0442\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p><strong>\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 NAT:<\/strong> \u0434\u043b\u044f \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432 \u0438 \u0431\u0440\u0430\u043d\u0434\u043c\u0430\u0443\u044d\u0440\u043e\u0432 \u0441 NAT \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u044c \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0438 \u0430\u0434\u0440\u0435\u0441\u043e\u0432\/\u043f\u043e\u0440\u0442\u043e\u0432 \u0438 \u0435\u043c\u043a\u043e\u0441\u0442\u044c NAT-\u0442\u0430\u0431\u043b\u0438\u0446\u044b. \u0417\u0434\u0435\u0441\u044c \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f stateful-\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f: TRex \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0445 \u0441\u0435\u0441\u0441\u0438\u0439 (TCP\/UDP) \u0438\u0437 \u00ab\u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439\u00bb \u0441\u0435\u0442\u0438 \u0432\u043e \u00ab\u0432\u043d\u0435\u0448\u043d\u044e\u044e\u00bb. \u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e DUT (Device Under Test) \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 NAT \u0434\u043b\u044f \u044d\u0442\u0438\u0445 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439. \u0412\u0430\u0436\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0432\u0441\u0435 \u0441\u0435\u0441\u0441\u0438\u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u0442\u0440\u0430\u0444\u0438\u043a \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u043c\u0430\u043f\u0438\u0442\u0441\u044f \u043e\u0431\u0440\u0430\u0442\u043d\u043e. TRex \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u0442\u044c \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 \u0430\u0434\u0440\u0435\u0441\u043e\u0432 NAT \u043d\u0430\u00a0\u043b\u0435\u0442\u0443\u00a0&#8212; \u043e\u043d \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0435\u0442, \u043a\u0430\u043a DUT \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442 IP\/\u043f\u043e\u0440\u0442 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043f\u0430\u043a\u0435\u0442\u0430 \u0432 \u043f\u043e\u0442\u043e\u043a\u0435, \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u044d\u0442\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043e\u0442\u0432\u0435\u0442\u043d\u043e\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c NAT-\u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0441\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430. \u0412 \u0445\u043e\u0434\u0435 \u0442\u0435\u0441\u0442\u0430 \u0438\u0437\u043c\u0435\u0440\u044f\u044e\u0442\u0441\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0441\u0435\u0441\u0441\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 NAT, \u0430 \u0442\u0430\u043a\u0436\u0435 throughput \u0438 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438 \u043f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u043e\u043c NAT. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u0442\u0435\u043f\u0435\u043d\u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u043e\u0432\u044b\u0445 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 (CPS) \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043d\u0435 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043d\u0435\u0442 \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c\u0441\u044f.<\/p>\n<\/li>\n<li>\n<p><strong>\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 DPI\/Firewall:<\/strong> \u0434\u043b\u044f \u043c\u0435\u0436\u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u044d\u043a\u0440\u0430\u043d\u043e\u0432 \u0441 DPI \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u0434\u0430\u0442\u044c <strong>\u0440\u0435\u0430\u043b\u0438\u0441\u0442\u0438\u0447\u043d\u044b\u0439 \u043c\u0438\u043a\u0441 \u0442\u0440\u0430\u0444\u0438\u043a\u0430<\/strong> \u0432\u0435\u0440\u0445\u043d\u0438\u0445 \u0443\u0440\u043e\u0432\u043d\u0435\u0439 (L7), \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b \u0438 \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u043d\u0430 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438. TRex \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0434\u0432\u0435 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438: \u043b\u0438\u0431\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 PCAP-\u0442\u0440\u0435\u0439\u0441 \u0441 \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u044b\u043c \u0442\u0440\u0430\u0444\u0438\u043a\u043e\u043c (Web, DNS, \u043f\u043e\u0447\u0442\u0430, \u0432\u0438\u0434\u0435\u043e \u0438 \u0442.\u0434.), \u043b\u0438\u0431\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c ASTF-\u043f\u0440\u043e\u0444\u0438\u043b\u0438, \u044d\u043c\u0443\u043b\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u0442\u0438\u043f\u0438\u0447\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432. \u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e TRex \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u043d \u043c\u043e\u0436\u0435\u0442 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c <strong>\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0434\u0430\u043c\u043f\u044b \u0442\u0440\u0430\u0444\u0438\u043a\u0430 (\u0434\u043e 1 \u0422\u0411)<\/strong>, \u043f\u0440\u0438\u0433\u043e\u0434\u043d\u044b\u0435 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f DPI-\u0441\u0438\u0441\u0442\u0435\u043c. \u0412 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 DPI-\u0442\u0435\u0441\u0442\u0430 \u043d\u0443\u0436\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432 \u043f\u0440\u043e\u0444\u0438\u043b\u044c \u00ab\u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0439\u00bb \u0438\u043b\u0438\u00a0\u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043d\u044b\u0439 \u0442\u0440\u0430\u0444\u0438\u043a (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u044b \u0430\u0442\u0430\u043a, \u0437\u0430\u043f\u0440\u0435\u0449\u0451\u043d\u043d\u044b\u0435 URL) \u0438 \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u0442 \u0438 \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442 \u044d\u0442\u0438 \u043f\u0430\u043a\u0435\u0442\u044b. \u041e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0438\u0437\u043c\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u0430\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c DPI \u0431\u0435\u0437 \u043f\u043e\u0442\u0435\u0440\u044c.<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441\u043f\u0438\u0441\u043a\u043e\u0432 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 (ACL):<\/strong> \u0435\u0441\u043b\u0438 \u043d\u0430 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u0435\/\u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u044b ACL \u0434\u043b\u044f \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u043f\u043e IP, \u043f\u043e\u0440\u0442\u0430\u043c \u0438\u043b\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u043c, \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0442\u0440\u0430\u0444\u0438\u043a \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u044c \u044d\u0442\u0438\u0445 \u043f\u0440\u0430\u0432\u0438\u043b. \u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u043e\u0431\u044b\u0447\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0434\u0432\u0430 \u043f\u043e\u0442\u043e\u043a\u0430: \u043e\u0434\u0438\u043d \u0434\u043e\u043b\u0436\u0435\u043d <strong>\u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0442\u044c\u0441\u044f<\/strong> \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430\u043c\u0438 \u0434\u0440\u0443\u0433\u043e\u0439\u00a0&#8212; <strong>\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f<\/strong>. TRex \u0432 stateless-\u0440\u0435\u0436\u0438\u043c\u0435 \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u0442\u0430\u043a\u0443\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443: \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u044b\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u043f\u043e\u0434 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043d\u044b\u0439 \u0438 \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043d\u044b\u0439 \u0442\u0440\u0430\u0444\u0438\u043a. \u041f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u0433\u043e\u043d\u0430 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430\u00a0&#8212; \u043f\u0430\u043a\u0435\u0442\u044b \u00ab\u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043d\u043e\u0433\u043e\u00bb \u043f\u043e\u0442\u043e\u043a\u0430 \u0434\u043e\u043b\u0436\u043d\u044b \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u0440\u043e\u0439\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 DUT, \u0442\u043e\u0433\u0434\u0430 \u043a\u0430\u043a\u00a0\u043f\u043e \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043d\u043e\u043c\u0443 \u043f\u043e\u0442\u043e\u043a\u0443 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043f\u043e\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u043d\u0430 \u0432\u044b\u0445\u043e\u0434. \u0422\u0430\u043a\u0436\u0435 \u0437\u0430\u043c\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 ACL \u043d\u0430 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438 \u0438 throughput (\u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0444\u0438\u043b\u044c\u0442\u0440\u044b \u0447\u0443\u0442\u044c \u0441\u043d\u0438\u0436\u0430\u044e\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c, \u0438 \u044d\u0442\u043e \u0441\u0442\u043e\u0438\u0442 \u0443\u0447\u0435\u0441\u0442\u044c).<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 L2\/L3\/L4-\u0444\u0443\u043d\u043a\u0446\u0438\u0439:<\/strong> \u0434\u043b\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u043c\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0442\u0435\u0441\u0442\u044b \u043d\u0443\u0436\u043d\u043e \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u0430 L2 \u0432\u0430\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0446\u0438\u0438, \u043d\u043e \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 VLAN: TRex \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0440\u0430\u0444\u0438\u043a \u0441 \u0442\u0435\u0433\u0430\u043c\u0438 802.1Q, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 VLAN-\u0442\u0435\u0433\u043e\u0432. \u0414\u043b\u044f \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432 L3 \u043c\u043e\u0436\u043d\u043e \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0442\u043e\u043a\u0438 \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0441\u0435\u0442\u044f\u043c\u0438 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430\/\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0447\u0442\u043e\u0431\u044b \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f \u0432 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438 (DUT \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u043f\u043e\u0442\u043e\u043a \u0432 \u043d\u0443\u0436\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0441\u0432\u043e\u0435\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u043e\u0432). \u0414\u043b\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 L4 (\u0441\u043a\u0430\u0436\u0435\u043c, \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u043e\u0432 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0438\u043b\u0438 \u043f\u0440\u043e\u043a\u0441\u0438) \u0441\u0442\u043e\u0438\u0442 \u044d\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \u043a \u0440\u0430\u0437\u043d\u044b\u043c \u043f\u043e\u0440\u0442\u0430\u043c \u0438 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442\u044c \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0442\u0440\u0430\u0444\u0438\u043a\u0430. \u0412 \u0446\u0435\u043b\u043e\u043c, <strong>\u043c\u0435\u0442\u043e\u0434\u0438\u043a\u0430 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/strong> \u0434\u043e\u043b\u0436\u043d\u0430 \u043f\u043e\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0443\u0440\u043e\u0432\u043d\u0438, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u043f\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e,\u00a0&#8212; \u043e\u0442\u00a0\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043b\u0438\u043d\u043a\u043e\u0432\u043e\u0439 \u0441\u0432\u044f\u0437\u043d\u043e\u0441\u0442\u0438 (ARP, ND) \u0434\u043e \u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u0438 \u043f\u043e\u0434 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439.<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0432\u0448\u0438\u0441\u044c \u043a \u0442\u0430\u043a\u0438\u043c \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f\u043c, \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043a \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044e \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0441\u0442\u0435\u043d\u0434\u0430 \u0438 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u043c\u0443 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044e \u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0439.<\/p>\n<h2>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438: throughput, \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438, \u043f\u043e\u0442\u0435\u0440\u0438<\/h2>\n<p>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c\u0441\u044f \u0441 \u0442\u0435\u043c, \u043a\u0430\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0431\u0440\u0430\u0442\u044c. \u041e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0433\u043b\u0430\u0432\u043d\u044b\u0445 \u0446\u0435\u043b\u0435\u0439 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430. \u0422\u043e \u0435\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f TRex, \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438:<\/p>\n<ul>\n<li>\n<p><strong>Throughput (\u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u0430\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c):<\/strong> \u0438\u0437\u043c\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0432 \u0413\u0431\u0438\u0442\/\u0441 \u0438\u043b\u0438 \u043f\u0430\u043a\u0435\u0442\u0430\u0445\/\u0441, \u043a\u0430\u043a \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0447\u0435\u0440\u0435\u0437 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043d\u0435 \u0442\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0430\u043a\u0435\u0442\u0430 (\u0438\u043b\u0438 \u043f\u0440\u0438\u0435\u043c\u043b\u0435\u043c\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u043d\u0442 \u043f\u043e\u0442\u0435\u0440\u044c). \u0414\u043b\u044f \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f throughput \u043e\u0431\u044b\u0447\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0439 \u043f\u043e\u0438\u0441\u043a \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438: \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u044e\u0442 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0439 TRex \u0442\u0440\u0430\u0444\u0438\u043a \u0441\u0442\u0443\u043f\u0435\u043d\u0447\u0430\u0442\u043e, \u043f\u043e\u043a\u0430 \u043d\u0430 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0449\u0435\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u043d\u0435 \u043d\u0430\u0447\u043d\u0443\u0442 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u0442\u0435\u0440\u0438 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0437\u0430\u0442\u0435\u043c \u0443\u0442\u043e\u0447\u043d\u044f\u044e\u0442 \u0433\u0440\u0430\u043d\u0438\u0446\u0443. TRex \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0435 \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0438 \u043f\u043e \u043f\u043e\u0440\u0442\u0430\u043c: \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e (TX) \u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e (RX) \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 TRex \u043d\u0430 \u043f\u043e\u0440\u0442\u0443 0 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043b 1 000 000 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0430 \u043d\u0430 \u043f\u043e\u0440\u0442\u0443 1 \u043f\u0440\u0438\u043d\u044f\u0442\u043e 990 000, \u0437\u043d\u0430\u0447\u0438\u0442, 10 000 \u043f\u043e\u0442\u0435\u0440\u044f\u043d\u044b \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c\u00a0&#8212; \u043d\u0430\u00a0\u0442\u0430\u043a\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0435 throughput \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 DUT. \u0427\u0442\u043e\u0431\u044b \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u0447\u0438\u0441\u0442\u043e\u0442\u0443 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430, \u0441\u0442\u043e\u0438\u0442 \u043f\u0440\u043e\u0433\u043e\u043d\u044f\u0442\u044c \u0442\u0435\u0441\u0442\u044b \u043d\u0430\u00a0\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u0445 \u043f\u0430\u043a\u0435\u0442\u0430 (\u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 64\u00a0\u0431\u0430\u0439\u0442\u0430, \u0441\u0440\u0435\u0434\u043d\u0438\u0435, \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 1500\u00a0\u0431\u0430\u0439\u0442)\u00a0&#8212; \u044d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0446\u0435\u043d\u0438\u0442\u044c, \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u00a0\u043b\u0438 DUT \u043f\u043e\u00a0PPS (\u043e\u0431\u044b\u0447\u043d\u043e \u0441\u043b\u0430\u0431\u043e\u0435 \u043c\u0435\u0441\u0442\u043e\u00a0&#8212; \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043c\u0435\u043b\u043a\u0438\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432) \u0438\u043b\u0438 \u043f\u043e \u043f\u043e\u043b\u043e\u0441\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u043d\u0438\u044f.<\/p>\n<\/li>\n<li>\n<p><strong>Latency (\u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430):<\/strong> \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u043f\u0430\u043a\u0435\u0442\u0430 \u0447\u0435\u0440\u0435\u0437 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e. TRex \u0438\u043c\u0435\u0435\u0442 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f latency, \u043d\u043e \u043e\u043d\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043a\u0430\u0440\u0442. \u0412 stateless-\u0442\u0435\u0441\u0442\u0430\u0445 \u043c\u043e\u0436\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0440\u0435\u0436\u0438\u043c latency stats, \u0438 TRex \u0432\u044b\u0434\u0430\u0441\u0442 \u0441\u0440\u0435\u0434\u043d\u0435\u0435\/\u043c\u0430\u043a\u0441 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438 \u0438 \u0434\u0436\u0438\u0442\u0442\u0435\u0440\u0430. \u0412 stateful-\u0442\u0435\u0441\u0442\u0430\u0445 TCP \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430 \u0447\u0430\u0441\u0442\u043e \u043e\u0446\u0435\u043d\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u0441\u0441\u0438\u0438 (RTT 3-way handshake) \u0438\u043b\u0438 \u043e\u0442\u043a\u043b\u0438\u043a\u0430 \u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, TRex ASTF \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u043c\u0435\u0434\u0438\u0430\u043d\u043d\u0430\u044f \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430 SYN-SYN\/ACK = 1.2 \u043c\u0441, \u0430 99-\u0439 \u043f\u0435\u0440\u0446\u0435\u043d\u0442\u0438\u043b\u044c = 5 \u043c\u0441, \u0447\u0442\u043e \u0443\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f.\u00a0<\/p>\n<\/li>\n<li>\n<p><strong>Packet Loss (\u043f\u043e\u0442\u0435\u0440\u0438):<\/strong> \u0434\u043e\u043b\u044f \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u043f\u043e\u0442\u0435\u0440\u044f\u043d\u043d\u044b\u0445 \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435 \u043f\u0440\u0438 \u0434\u0430\u043d\u043d\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0435, \u043e\u0431\u044b\u0447\u043d\u043e \u0432\u044b\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0430\u0445. TRex \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0442\u044c \u043f\u043e\u0442\u0435\u0440\u0438, \u0441\u0440\u0430\u0432\u043d\u0438\u0432 \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432. \u0412 \u043e\u0442\u0447\u0435\u0442\u0430\u0445 \u0441\u0442\u043e\u0438\u0442 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u043e\u0442\u0435\u0440\u0438 = 0%, \u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u043e\u0442\u0435\u0440\u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442 \u0440\u0430\u0441\u0442\u0438. \u042d\u0442\u043e \u0438 \u0435\u0441\u0442\u044c \u0433\u0440\u0430\u043d\u0438\u0446\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430. \u0422\u0430\u043a\u0436\u0435 \u0432\u0430\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u043d\u0435\u0442 \u043b\u0438 \u043d\u0435\u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u0442\u0435\u0440\u044c \u043f\u0440\u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430\u0445 \u043d\u0438\u0436\u0435 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0445\u00a0&#8212; \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432 \u0431\u0443\u0444\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0438 DUT.<\/p>\n<\/li>\n<li>\n<p><strong>\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438: <\/strong>\u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u043c\u043e\u0433\u0443\u0442 \u0438\u0437\u043c\u0435\u0440\u044f\u0442\u044c\u0441\u044f \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 (CPS)\u00a0&#8212; \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f NAT \u0438 \u0431\u0440\u0430\u043d\u0434\u043c\u0430\u0443\u044d\u0440\u043e\u0432. TRex ASTF \u0441\u0430\u043c \u043f\u043e \u0441\u0435\u0431\u0435 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 CPS \u043f\u043e \u043f\u0440\u043e\u0444\u0438\u043b\u044e, \u0438 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 CPS, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0441\u043c\u043e\u0433 \u043f\u0435\u0440\u0435\u0432\u0430\u0440\u0438\u0442\u044c DUT \u0431\u0435\u0437 \u043e\u0431\u0440\u044b\u0432\u043e\u0432. \u041e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0441\u0435\u0441\u0441\u0438\u0438: \u0432\u0430\u0436\u043d\u043e \u0434\u043b\u044f stateful-\u0434\u0435\u0432\u0430\u0439\u0441\u043e\u0432 \u0437\u043d\u0430\u0442\u044c, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u0430\u043d\u0441\u043e\u0432 \u043e\u043d\u0438 \u0432\u044b\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442 (TRex \u043f\u043e\u043a\u0430\u0436\u0435\u0442, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u0441\u0441\u0438\u0439 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0432 \u043a\u0430\u0436\u0434\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442). Jitter (\u0434\u0436\u0438\u0442\u0442\u0435\u0440): \u0440\u0430\u0437\u0431\u0440\u043e\u0441 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438, \u0442\u043e\u0436\u0435 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f TRex \u043a\u0430\u043a \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430\u00a0&#8212; \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f\u00a0\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u043b\u0438\u044f\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0430\u00a0\u0432\u0440\u0435\u043c\u044f \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0432\u00a0\u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043a\u00a0\u0434\u0436\u0438\u0442\u0442\u0435\u0440\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 (\u0433\u043e\u043b\u043e\u0441, \u0432\u0438\u0434\u0435\u043e). \u0415\u0441\u043b\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0437\u0430\u044f\u0432\u043b\u044f\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 QoS\/\u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0438\u0437\u0430\u0446\u0438\u0438, \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043b\u0438 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043d\u044b\u0435 \u043f\u043e\u0442\u043e\u043a\u0438 \u0438\u043c\u0435\u044e\u0442 \u043c\u0435\u043d\u044c\u0448\u0438\u0439 \u0434\u0436\u0438\u0442\u0442\u0435\u0440.<\/p>\n<\/li>\n<\/ul>\n<h2>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 (\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438)<\/h2>\n<p>\u041f\u043e\u043c\u0438\u043c\u043e \u00ab\u0441\u044b\u0440\u043e\u0439\u00bb \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u0432\u0430\u0436\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0437\u0430\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. TRex \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u044d\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043b\u043e\u0433\u0438\u043a\u0443 \u0440\u0430\u0431\u043e\u0442\u044b DUT:<\/p>\n<ul>\n<li>\n<p><strong>\u041c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0438 \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0446\u0438\u044f: <\/strong>\u043e\u0442\u043f\u0440\u0430\u0432\u044c\u0442\u0435 \u0447\u0435\u0440\u0435\u0437 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0441\u0435\u0442\u044f\u043c\u0438 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435, \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u044b\u0439 \u043f\u043e\u0442\u043e\u043a \u0432\u044b\u0448\u0435\u043b \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0440\u0442 (\u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u043e\u0432). \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, TRex \u043c\u043e\u0436\u0435\u0442 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0440\u0430\u0444\u0438\u043a \u043a \u0430\u0434\u0440\u0435\u0441\u0430\u043c 10.0.1.0\/24 \u0438 10.0.2.0\/24\u00a0&#8212; \u043d\u0430\u00a0\u0434\u0432\u0443\u0445 \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u043e\u0442\u043e\u043a\u0430\u0445. \u041c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440 \u0434\u043e\u043b\u0436\u0435\u043d \u043d\u0430\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0438\u0445 \u043d\u0430\u00a0\u0440\u0430\u0437\u043d\u044b\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b. \u0415\u0441\u043b\u0438 \u0443\u00a0TRex \u0435\u0441\u0442\u044c \u043f\u043e\u0440\u0442\u044b, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443, \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u0438\u0435\u043c \u043d\u0430\u00a0\u0432\u0441\u0435\u0445 \u0438 \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e\u00a0\u043f\u0430\u043a\u0435\u0442\u044b \u043f\u0440\u0438\u0448\u043b\u0438 \u043a\u0443\u0434\u0430 \u043d\u0430\u0434\u043e. \u0414\u043b\u044f\u00a0L2-\u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u0430 \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0435 MAC\u2011\u0430\u0434\u0440\u0435\u0441\u043e\u0432: TRex \u043c\u043e\u0436\u0435\u0442 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0440\u0430\u0444\u0438\u043a \u043e\u0442\u00a0\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 MAC\u2011\u0430\u0434\u0440\u0435\u0441\u043e\u0432 (\u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Field Engine\u00a0&#8212; \u0434\u0432\u0438\u0436\u043a\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0435\u0439 \u043f\u0430\u043a\u0435\u0442\u0430) \u0438 \u0442\u0435\u043c \u0441\u0430\u043c\u044b\u043c \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c CAM-\u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u0430, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044f \u0435\u0451 \u0435\u043c\u043a\u043e\u0441\u0442\u044c \u0438 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u044c \u044d\u0432\u0438\u043a\u0446\u0438\u0438 \u0441\u0442\u0430\u0440\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439.<\/p>\n<\/li>\n<li>\n<p><strong>NAT \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u044c:<\/strong> \u0432 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f\u0445 NAT \u0432\u0430\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0447\u0442\u043e \u0432\u0441\u0435 \u0441\u0435\u0441\u0441\u0438\u0438 \u0434\u0432\u0443\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u043e \u043f\u0440\u043e\u0445\u043e\u0434\u044f\u0442 \u0447\u0435\u0440\u0435\u0437 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e. TRex Stateful \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u0442 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0441\u0442\u044c (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0431\u044b\u043b \u043b\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d \u043e\u0442\u0432\u0435\u0442 SYN-ACK \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 SYN). \u0415\u0441\u043b\u0438 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0441\u0435\u0441\u0441\u0438\u0438 \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0442\u0441\u044f, \u044d\u0442\u043e \u0441\u0440\u0430\u0437\u0443 \u0432\u0438\u0434\u043d\u043e \u0432 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0435\u00a0&#8212; \u0437\u043d\u0430\u0447\u0438\u0442, \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043c\u043e\u0433\u043b\u043e \u0438\u0441\u0447\u0435\u0440\u043f\u0430\u0442\u044c \u043f\u043e\u0440\u0442\u044b \u0434\u043b\u044f\u00a0\u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0438 \u0438\u043b\u0438\u00a0\u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u0432\u00a0\u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0435. \u0422\u0430\u043a\u0436\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f, \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043b\u0438 NAT \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0430\u0434\u0440\u0435\u0441\u0430 \u0432 \u043f\u0430\u043a\u0435\u0442\u0430\u0445 \u043f\u043e\u043c\u0438\u043c\u043e IP-\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430\u00a0&#8212; \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b, \u043d\u0435\u0441\u0443\u0449\u0438\u0435 IP \u0432\u043d\u0443\u0442\u0440\u0438 (FTP, SIP), \u0447\u0430\u0441\u0442\u043e \u0442\u0440\u0435\u0431\u0443\u044e\u0442 ALG. TRex \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b, \u043d\u043e\u00a0\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 ALG \u043b\u0435\u0436\u0430\u0442 \u0432\u043d\u0435 \u0435\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0439\u00a0&#8212; \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0440\u0430\u0437\u0432\u0435 \u0447\u0442\u043e \u043f\u043e \u043b\u043e\u0433\u0430\u043c DUT. \u041e\u0434\u043d\u0430\u043a\u043e \u0447\u0435\u0440\u0435\u0437 TRex \u043c\u043e\u0436\u043d\u043e \u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0438\u043c\u0438\u0442\u0430\u0446\u0438\u044e FTP-\u0441\u0435\u0441\u0441\u0438\u0439 \u0438 \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u043f\u0440\u043e\u0445\u043e\u0434\u044f\u0442 \u043b\u0438 \u043e\u043d\u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0447\u0435\u0440\u0435\u0437 NAT (\u0447\u0442\u043e \u043a\u043e\u0441\u0432\u0435\u043d\u043d\u043e \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 ALG \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435).<\/p>\n<\/li>\n<li>\n<p><strong>ACL \u0438 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f:<\/strong> \u043a\u0430\u043a \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u043b\u043e\u0441\u044c, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u043e\u0432 \u0434\u043e\u0441\u0442\u0443\u043f\u0430. \u041f\u043e\u0441\u043b\u0435 \u0442\u0435\u0441\u0442\u0430 \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u0435 \u0447\u0438\u0441\u043b\u0430: TRex \u043f\u043e\u043a\u0430\u0436\u0435\u0442 0 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043f\u043e \u043f\u043e\u0442\u043e\u043a\u0430\u043c, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043d\u044b\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c, \u0438 \u043d\u0435\u043d\u0443\u043b\u0435\u0432\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u00a0&#8212; \u043f\u043e\u00a0\u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043d\u044b\u043c. \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0442\u043e\u0438\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043f\u043e\u0431\u043e\u0447\u043d\u044b\u0445 \u044d\u0444\u0444\u0435\u043a\u0442\u043e\u0432: \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0447\u0442\u043e\u0431\u044b \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430 \u043e\u0434\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u043d\u0435 \u0432\u043b\u0438\u044f\u043b\u0430 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044e\u0442\u0441\u044f \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0440\u0430\u0437\u043d\u044b\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b (HTTP, DNS, ICMP) \u0438 \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u044e\u0442\u0441\u044f\/\u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u00a0&#8212; \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u0442\u0440\u0430\u0444\u0438\u043a. TRex, \u043a\u0430\u043a \u043c\u043d\u043e\u0433\u043e\u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440, \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0440\u0430\u0437\u043d\u044b\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e, \u0447\u0442\u043e \u043e\u0431\u043b\u0435\u0433\u0447\u0430\u0435\u0442 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438.<\/p>\n<\/li>\n<li>\n<p><strong>DPI\/Firewall \u0444\u0443\u043d\u043a\u0446\u0438\u0438:<\/strong> \u0442\u0443\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u0437\u0430\u00a0\u0440\u0430\u043c\u043a\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u00ab\u043f\u0440\u043e\u0448\u0451\u043b\/\u043d\u0435 \u043f\u0440\u043e\u0448\u0451\u043b \u043f\u0430\u043a\u0435\u0442\u00bb. \u0415\u0441\u043b\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0443\u043c\u0435\u0435\u0442 \u0434\u0435\u0442\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0430\u0442\u0430\u043a\u0438 \u0438\u043b\u0438\u00a0\u043d\u0435\u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0441\u0430\u0439\u0442\u044b, \u0442\u043e \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043a\u0430\u043a \u00ab\u0447\u0438\u0441\u0442\u044b\u0435\u00bb, \u0442\u0430\u043a \u0438 \u00ab\u0437\u043b\u043e\u043d\u0430\u043c\u0435\u0440\u0435\u043d\u043d\u044b\u0435\u00bb \u0441\u0435\u0441\u0441\u0438\u0438. TRex, \u043a\u00a0\u043f\u0440\u0438\u043c\u0435\u0440\u0443, \u043c\u043e\u0436\u0435\u0442 \u0441\u044d\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c HTTP\u2011\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043a\u00a0\u0437\u0430\u043f\u0440\u0435\u0449\u0451\u043d\u043d\u044b\u043c \u0434\u043e\u043c\u0435\u043d\u0430\u043c \u0438\u043b\u0438\u00a0\u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u044b \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u0430\u0442\u0430\u043a (\u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u043c\u043e\u0436\u043d\u043e \u0432\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0432\u00a0\u043f\u043e\u043b\u0435\u0437\u043d\u0443\u044e \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u043f\u0430\u043a\u0435\u0442\u043e\u0432). \u041f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u0433\u043e\u043d\u0430 \u043e\u0446\u0435\u043d\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043b\u00a0\u043b\u0438 \u043c\u0435\u0436\u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u044d\u043a\u0440\u0430\u043d \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u0438 \u0441\u0435\u0441\u0441\u0438\u0438 (\u043e\u043d\u0438 \u043d\u0435\u00a0\u0434\u043e\u0448\u043b\u0438 \u0434\u043e\u00a0\u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044f), \u0438 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u043b\u00a0\u043b\u0438 \u043b\u0435\u0433\u0438\u0442\u0438\u043c\u043d\u044b\u0435. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 TRex \u043d\u0435\u00a0\u0437\u043d\u0430\u0435\u0442 \u043e\u00a0\u0440\u0435\u0448\u0435\u043d\u0438\u044f\u0445 DPI \u043d\u0430\u00a0\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435, \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e: \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u00a0\u043b\u043e\u0433\u0430\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0432\u0448\u0438\u0435 \u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u044b \u0438\u043b\u0438\u00a0\u0438\u0437\u043c\u0435\u0440\u044f\u0442\u044c \u0440\u0430\u0437\u043d\u0438\u0446\u0443 \u0432\u00a0\u0441\u0447\u0451\u0442\u0447\u0438\u043a\u0435 \u043f\u0440\u0438\u043d\u044f\u0442\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u043c\u0435\u0436\u0434\u0443 \u00ab\u0447\u0438\u0441\u0442\u044b\u043c\u00bb \u0438 \u00ab\u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u043c\u00bb \u0442\u0440\u0430\u0444\u0438\u043a\u043e\u043c. \u0422\u0435\u043c \u043d\u0435\u00a0\u043c\u0435\u043d\u0435\u0435, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u043a\u0430\u0447\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 DUT \u0433\u0438\u0433\u0430\u043d\u0442\u0441\u043a\u0438\u0439 \u043e\u0431\u044a\u0451\u043c \u0440\u0430\u0437\u043d\u043e\u043f\u043b\u0430\u043d\u043e\u0432\u043e\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u0443\u043c\u043c\u0430\u0440\u043d\u044b\u043c \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0432\u00a0\u0441\u043e\u0442\u043d\u0438 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0432\u0438\u0434\u0435\u043e, \u0432\u0435\u0431, \u043f\u043e\u0447\u0442\u0443 \u0438\u00a0\u0442.\u00a0\u0434.) \u043e\u0447\u0435\u043d\u044c \u0446\u0435\u043d\u043d\u0430\u00a0&#8212; \u043e\u043d\u0430 \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0430\u0435\u0442 \u0442\u0435\u0441\u0442 \u043a\u00a0\u0440\u0435\u0430\u043b\u044c\u043d\u044b\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u043c \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438, \u0447\u0435\u0433\u043e \u0442\u0440\u0443\u0434\u043d\u043e \u0434\u043e\u0441\u0442\u0438\u0447\u044c \u043e\u0431\u044b\u0447\u043d\u044b\u043c\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u0430\u043c\u0438 \u0442\u0438\u043f\u0430 iperf.<\/p>\n<\/li>\n<li>\n<p><strong>\u0421\u0442\u0440\u0435\u0441\u0441-\u0442\u0435\u0441\u0442\u044b \u0438 DDoS-\u0430\u0442\u0430\u043a\u0438: <\/strong>\u0446\u0435\u043b\u044c \u044d\u0442\u0438\u0445 \u0442\u0435\u0441\u0442\u043e\u0432 &#8212; \u0438\u043c\u0438\u0442\u0430\u0446\u0438\u044f \u0430\u0442\u0430\u043a \u0442\u0438\u043f\u0430 &#171;\u043e\u0442\u043a\u0430\u0437 \u0432 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0438&#187; (DoS\/DDoS) \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u0438 DUT \u043a \u0430\u043d\u043e\u043c\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u0438 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u043e\u043c\u0443 \u0442\u0440\u0430\u0444\u0438\u043a\u0443. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u044b\u044f\u0432\u0438\u0442\u044c \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 (\u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u0444\u0430\u0435\u0440\u0432\u043e\u043b\u044b, \u0441\u0438\u0441\u0442\u0435\u043c\u044b IPS\/IDS) \u043f\u0440\u0438 \u0432\u044b\u0441\u043e\u043a\u0438\u0445 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0432\u044b\u0437\u0432\u0430\u043d\u044b \u0437\u043b\u043e\u043d\u0430\u043c\u0435\u0440\u0435\u043d\u043d\u044b\u043c\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f\u043c\u0438.\u00a0<\/p>\n<ul>\n<li>\n<p><strong>UDP Flood:<\/strong> \u0421\u0443\u0442\u044c \u0430\u0442\u0430\u043a\u0438: \u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043c\u0430 UDP-\u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u043d\u0430 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u043f\u043e\u0440\u0442\u044b \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. DUT \u0432\u044b\u043d\u0443\u0436\u0434\u0435\u043d \u0442\u0440\u0430\u0442\u0438\u0442\u044c \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043d\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u043e\u0440\u0442\u0430 \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0443 \u043e\u0442\u0432\u0435\u0442\u043d\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f ICMP \u00abPort Unreachable\u00bb, \u0447\u0442\u043e\u00a0\u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0438\u0441\u0447\u0435\u0440\u043f\u0430\u043d\u0438\u044e \u0435\u0433\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432. \u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b UDP \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0435\u0433\u043e \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u044b\u043c \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u043c \u0434\u043b\u044f \u0431\u044b\u0441\u0442\u0440\u044b\u0445 \u0438 \u043e\u0431\u044a\u0435\u043c\u043d\u044b\u0445 \u0430\u0442\u0430\u043a, \u0442\u0430\u043a \u043a\u0430\u043a \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438. \u0412 STL-\u0440\u0435\u0436\u0438\u043c\u0435 TRex \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 UDP-\u043f\u0430\u043a\u0435\u0442\u044b \u0441 \u0440\u0430\u043d\u0434\u043e\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c\u0438 IP-\u0430\u0434\u0440\u0435\u0441\u0430\u043c\u0438 \u0438 \u043f\u043e\u0440\u0442\u0430\u043c\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0446\u0435\u043b\u0435\u0432\u044b\u043c\u0438 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u043c\u0438 \u043f\u043e\u0440\u0442\u0430\u043c\u0438. \u0414\u043b\u044f \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 UDP, \u043a\u043e\u0433\u0434\u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043a\u0440\u0443\u043f\u043d\u044b\u0435 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 UDP-\u043f\u0430\u043a\u0435\u0442\u044b, \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u044e\u0449\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 DUT \u043d\u0430 \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u0438\u0445 \u043f\u0435\u0440\u0435\u0441\u0431\u043e\u0440\u043a\u0438.\u00a0\u00a0\u00a0<\/p>\n<\/li>\n<li>\n<p><strong>SYN Flood:<\/strong> \u0421\u0443\u0442\u044c \u0430\u0442\u0430\u043a\u0438: \u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 SYN-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043a \u0446\u0435\u043b\u0435\u0432\u043e\u043c\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0443, \u043d\u043e \u0431\u0435\u0437 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f TCP-\u0440\u0443\u043a\u043e\u043f\u043e\u0436\u0430\u0442\u0438\u044f (\u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e ACK). \u042d\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u0441\u0435\u0440\u0432\u0435\u0440 \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u0442 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043f\u043e\u0434 \u00ab\u043f\u043e\u043b\u0443\u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0435\u00bb \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f,\u00a0\u0431\u044b\u0441\u0442\u0440\u043e \u0438\u0441\u0447\u0435\u0440\u043f\u044b\u0432\u0430\u044f \u0441\u0432\u043e\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b. \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e TRex \u043c\u043e\u0436\u043d\u043e \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0438\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 DUT (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0444\u0430\u0435\u0440\u0432\u043e\u043b\u0430, \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438) \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0441\u0442\u043e\u044f\u0442\u044c \u0430\u0442\u0430\u043a\u0430\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u043c \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 TCP-\u0441\u0442\u0435\u043a\u0430 \u0438 \u0435\u0433\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u043e\u0432 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f\u043c\u0438. \u0412 STL-\u0440\u0435\u0436\u0438\u043c\u0435 TRex \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u043e\u0442\u043e\u043a\u043e\u0432 TCP SYN-\u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0441 \u0440\u0430\u043d\u0434\u043e\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c\u0438 IP-\u0430\u0434\u0440\u0435\u0441\u0430\u043c\u0438 \u0438 \u043f\u043e\u0440\u0442\u0430\u043c\u0438.\u00a0<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>\u041f\u0440\u043e\u0447\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438:<\/strong> \u0435\u0441\u043b\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u043a\u0443 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 (ECMP \u0438\u043b\u0438 LACP), \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0440\u0430\u0432\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f: TRex \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u043c\u0435\u0436\u0434\u0443 \u043e\u0434\u043d\u0438\u043c\u0438 \u0438 \u0442\u0435\u043c\u0438 \u0436\u0435 \u0443\u0437\u043b\u0430\u043c\u0438, \u0430 \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 (\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u0438\u043d\u043a\u043e\u0432) \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f, \u043a\u0430\u043a \u043e\u043d\u0438 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b\u0438\u0441\u044c. \u0414\u043b\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0441 QoS \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0442\u0440\u0430\u0444\u0438\u043a \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 DSCP\/\u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u0430\u043c\u0438 \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043d\u0435 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u044e\u0442 \u043b\u0438 \u043d\u0438\u0437\u043a\u043e\u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043d\u044b\u0435 \u043f\u043e\u0442\u043e\u043a\u0438 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u0443\u044e \u043f\u043e\u043b\u043e\u0441\u0443 (TRex \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0435 \u043f\u043e \u043f\u043e\u0442\u043e\u043a\u0430\u043c \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u043a\u0430\u0436\u0435\u0442 throughput \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430).<\/p>\n<\/li>\n<\/ul>\n<p>C \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u0440\u043e\u0434\u0443\u043c\u0430\u043d\u043d\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 \u043d\u0430\u00a0TRex \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u00a0\u0442\u043e\u043b\u044c\u043a\u043e \u00ab\u0431\u044b\u0441\u0442\u0440\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\u00bb, \u043d\u043e\u00a0\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0432\u00a0\u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f\u0445. \u041b\u044e\u0431\u044b\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0435 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u044f (\u043f\u043e\u0442\u0435\u0440\u0438 \u0442\u0430\u043c, \u0433\u0434\u0435 \u0438\u0445 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c, \u043f\u0440\u043e\u0445\u043e\u0434 \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043d\u043e\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u0437\u0430\u0432\u044b\u0448\u0435\u043d\u043d\u0430\u044f \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430 \u0438\u00a0\u0442.\u00a0\u0434.) \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u043a\u0430\u043a \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u0442\u0440\u0435\u0431\u0443\u044e\u0449\u0438\u0435 \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0438\u043b\u0438 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438.<\/p>\n<h2>\u0421\u0431\u043e\u0440 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0438 \u0430\u043d\u0430\u043b\u0438\u0437 \u043c\u0435\u0442\u0440\u0438\u043a<\/h2>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432\u0441\u0435\u0445 \u0437\u0430\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0442\u0435\u0441\u0442\u043e\u0432 \u043d\u0430\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u0444\u0430\u0437\u0430 \u0441\u0431\u043e\u0440\u0430 \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432. \u0416\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u043d\u0438\u0437\u0438\u0442\u044c \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u0438\u0439 \u0444\u0430\u043a\u0442\u043e\u0440 \u0438 \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043e\u0442\u0447\u0435\u0442\u043e\u0432.\u00a0<\/p>\n<p><strong>\u0414\u0430\u043d\u043d\u044b\u0435 \u043e\u0442 TRex. <\/strong>\u0421\u0430\u043c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043e\u0431\u0448\u0438\u0440\u043d\u0443\u044e \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443 \u0447\u0435\u0440\u0435\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432. \u0415\u0441\u043b\u0438 \u0432\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0432 \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u043a\u043e\u043d\u0441\u043e\u043b\u0438, \u043a\u043b\u044e\u0447\u0435\u0432\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0432\u0438\u0434\u043d\u0430 \u043f\u0440\u044f\u043c\u043e \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435: \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u043e \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u043f\u043e\u0440\u0442\u0443 (\u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043e\/\u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0438 \u0431\u0430\u0439\u0442, \u043f\u043e\u0442\u0435\u0440\u0438, \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c), \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u0432\u043e\u0434\u043a\u0430 \u043f\u043e \u043f\u043e\u0442\u043e\u043a\u0430\u043c (\u0435\u0441\u043b\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430).\u00a0<\/p>\n<p>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u043e\u043d\u0441\u043e\u043b\u044c TRex \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0447\u0442\u043e \u043f\u043e\u0440\u0442 0 \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442 14.88 Mpps, \u043f\u043e\u0440\u0442 1 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 14.7 Mpps, \u043f\u043e\u0442\u0435\u0440\u0438 0.5%, \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430 \u0441\u0440\u0435\u0434\u043d\u044f\u044f 3 \u043c\u0441. \u042d\u0442\u0438 \u0446\u0438\u0444\u0440\u044b \u0441\u0442\u043e\u0438\u0442 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0438\u043b\u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u0438\u0442\u044c. TRex \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443 \u0432 JSON-\u0444\u0430\u0439\u043b \u0447\u0435\u0440\u0435\u0437 API \u0438\u043b\u0438 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e ZMQ-\u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0435\u00a0&#8212; \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437 \u0432 N \u0441\u0435\u043a\u0443\u043d\u0434 \u0441\u043d\u0438\u043c\u0430\u043b\u0438\u0441\u044c \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f.\u00a0<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 Python API \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u0442\u043e \u0447\u0435\u0440\u0435\u0437 \u0442\u0435 \u0436\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b API \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u0442\u043e\u0433\u043e\u0432\u044b\u0435 counters. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, client.get_stats() \u0432\u0435\u0440\u043d\u0451\u0442 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0441 \u043a\u0443\u0447\u0435\u0439 \u043c\u0435\u0442\u0440\u0438\u043a \u043f\u043e \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u043f\u043e\u0440\u0442\u0443 \u0438 \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u043f\u043e\u0442\u043e\u043a\u0443. \u042d\u0442\u043e\u0442 \u0432\u044b\u0432\u043e\u0434 \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u043c: \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u043d\u0442 \u043f\u043e\u0442\u0435\u0440\u044c, \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0437\u0430\u0434\u0435\u0440\u0436\u0435\u043a (TRex \u0434\u0430\u0451\u0442 \u0433\u0438\u0441\u0442\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u0435\u0451 \u0442\u043e\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c).\u00a0<\/p>\n<p>\u0425\u043e\u0440\u043e\u0448\u0435\u0439 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u043e\u0439 \u0431\u0443\u0434\u0435\u0442 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438 \u0442\u0435\u0441\u0442\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 &#8212; \u0432 \u043b\u043e\u0433 \u0438\u043b\u0438 \u0444\u0430\u0439\u043b\u044b CSV\/JSON \u0438\u043b\u0438 \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u0432 \u0411\u0414. \u0422\u043e\u0433\u0434\u0430 \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0441\u044f \u0431\u0430\u0437\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0443\u0434\u043e\u0431\u043d\u043e \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u0438\u043b\u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0441 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u043c\u0438 \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430.\u00a0<\/p>\n<p><strong>\u0414\u0430\u043d\u043d\u044b\u0435 \u043e\u0442 DUT. <\/strong>\u041d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0439\u0442\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0441\u0430\u043c\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430. \u041c\u043d\u043e\u0433\u0438\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u041e\u0421 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0441\u043d\u044f\u0442\u044c \u0441\u043d\u0430\u043f\u0448\u043e\u0442 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438: \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u043d\u0430 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u0445 (\u0432\u0445\u043e\u0434\/\u0432\u044b\u0445\u043e\u0434, \u0434\u0440\u043e\u043f\u044b), \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 CPU, \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0445 \u043e\u0447\u0435\u0440\u0435\u0434\u0435\u0439, \u0440\u0430\u0437\u043c\u0435\u0440 NAT-\u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0438 \u0442.\u0434. \u0412 \u0438\u0434\u0435\u0430\u043b\u0435, \u043a\u0430\u0436\u0434\u044b\u0439 \u0442\u0435\u0441\u0442 \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 \u043d\u0430 DUT, \u0441\u043d\u0438\u043c\u0430\u044e\u0449\u0435\u0439 \u0442\u0430\u043a\u0438\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, show interface counters, show processes cpu \u0438 \u043f\u0440.). \u042d\u0442\u0438 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0442 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b TRex. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 TRex \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043b \u0440\u043e\u0441\u0442 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438 \u043f\u043e\u0434 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439, \u0430 \u043d\u0430 DUT \u0432\u0438\u0434\u043d\u043e 100% \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 CPU \u043d\u0430 \u0441\u043e\u0444\u0442\u0438\u0440\u0443\u0442\u0438\u043d\u0433\u0435 &#8212; \u044d\u0442\u043e \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e \u0443\u0437\u043a\u0438\u043c \u043c\u0435\u0441\u0442\u043e\u043c \u0432 CPU. \u0418\u043b\u0438 \u0435\u0441\u043b\u0438 throughput \u0443\u043f\u0451\u0440\u0441\u044f \u0432 5 Gbps \u043d\u0430 10G \u043b\u0438\u043d\u043a\u0435, \u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432 \u043b\u043e\u0433\u0430\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u0434\u0440\u043e\u043f\u044b \u00abOut of buffers\u00bb\u00a0&#8212; \u0437\u043d\u0430\u0447\u0438\u0442, \u043c\u044b \u0432\u044b\u044f\u0432\u0438\u043b\u0438 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u043a \u0431\u0443\u0444\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0438. <\/p>\n<p><strong>\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f.<\/strong> \u041f\u043e\u0441\u043b\u0435 \u0441\u0431\u043e\u0440\u0430 \u0432\u0441\u0435 \u0446\u0438\u0444\u0440\u044b \u043d\u0430\u0434\u043e \u0441\u0432\u0435\u0441\u0442\u0438 \u0432\u043e\u0435\u0434\u0438\u043d\u043e. \u041e\u0431\u044b\u0447\u043d\u043e \u0434\u0435\u043b\u0430\u044e\u0442 \u0438\u0442\u043e\u0433\u043e\u0432\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438: \u0442\u0430\u043c \u0434\u043b\u044f\u00a0\u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f (\u0440\u0430\u0437\u043c\u0435\u0440 \u043f\u0430\u043a\u0435\u0442\u0430, \u0432\u043a\u043b\u044e\u0447\u0435\u043d\/\u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d NAT, \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b\/\u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u044b DPI\/ACL) \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0443\u0442\u044b\u0439 throughput (\u0413\u0431\u0438\u0442\/\u0441), \u043b\u0430\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u044c,% \u043f\u043e\u0442\u0435\u0440\u044c. \u041e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0432\u044b\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 CPS, \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0434\u043b\u044f\u00a0stateful\u2011\u0442\u0435\u0441\u0442\u043e\u0432. \u0415\u0441\u043b\u0438 \u0442\u0435\u0441\u0442\u043e\u0432 \u043c\u043d\u043e\u0433\u043e, \u0443\u0434\u043e\u0431\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0438\u043b\u0438\u00a0\u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043e\u0442\u0447\u0451\u0442\u0430 (\u0432\u043f\u043b\u043e\u0442\u044c \u0434\u043e\u00a0Markdown\/LaTeX \u0441\u00a0\u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438). \u0413\u0440\u0430\u0444\u0438\u043a\u0438 \u0442\u043e\u0436\u0435 \u043e\u0447\u0435\u043d\u044c \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u044b: \u043a\u00a0\u043f\u0440\u0438\u043c\u0435\u0440\u0443, \u0433\u0440\u0430\u0444\u0438\u043a \u00ab\u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 vs \u043f\u043e\u0442\u0435\u0440\u0438\u00bb \u043f\u043e\u043a\u0430\u0436\u0435\u0442, \u043f\u0440\u0438\u00a0\u043a\u0430\u043a\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u043a\u0440\u0438\u0432\u0430\u044f \u043f\u043e\u0442\u0435\u0440\u044c \u0440\u0435\u0437\u043a\u043e \u0438\u0434\u0451\u0442 \u0432\u0432\u0435\u0440\u0445 (\u0442\u043e\u0447\u043a\u0430 \u043d\u0430\u0441\u044b\u0449\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430).<\/p>\n<h2>\u0414\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0430 &#171;\u0447\u0435\u0440\u043d\u043e\u0433\u043e \u044f\u0449\u0438\u043a\u0430&#187; \u0447\u0435\u0440\u0435\u0437 \u0433\u0440\u0430\u043d\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438<\/h2>\n<p>\u0421\u0435\u0442\u0435\u0432\u044b\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0447\u0430\u0441\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u0443\u044e\u0442 \u043a\u0430\u043a \u00ab\u0447\u0435\u0440\u043d\u044b\u0435 \u044f\u0449\u0438\u043a\u0438\u00bb, \u0447\u0442\u043e\u00a0\u0437\u0430\u0442\u0440\u0443\u0434\u043d\u044f\u0435\u0442 \u0442\u043e\u0447\u043d\u043e\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0445 \u043f\u0440\u0438\u0447\u0438\u043d \u0434\u0435\u0433\u0440\u0430\u0434\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438. TRex \u0443\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442 \u044d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044f \u043d\u0435\u00a0\u0442\u043e\u043b\u044c\u043a\u043e \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435, \u043d\u043e\u00a0\u0438 \u0433\u0440\u0430\u043d\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438. \u0412\u00a0Stateless \u0440\u0435\u0436\u0438\u043c\u0435 \u044d\u0442\u043e \u00abper stream\/group\u00bb \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430, \u0430\u00a0\u0432\u00a0Stateful \u0440\u0435\u0436\u0438\u043c\u0435\u00a0&#8212; \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u00abper client side\/per template\u00bb, \u0430\u00a0\u0442\u0430\u043a\u0436\u0435 \u0433\u0438\u0441\u0442\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438 SYN\/SYN-ACK \u0438 REQ\/RES.\u00a0\u00a0\u00a0<\/p>\n<p>\u042d\u0442\u0430 \u0434\u0435\u0442\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0430\u043c \u0442\u043e\u0447\u043d\u043e \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043f\u0440\u043e\u0431\u043b\u0435\u043c. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u0442\u0438\u043f\u044b L7-\u0442\u0440\u0430\u0444\u0438\u043a\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, HTTPS) \u0438\u043b\u0438 \u043f\u043e\u0442\u043e\u043a\u0438 \u0441 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u043c\u0438 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0430\u043c\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043e\u0447\u0435\u043d\u044c \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0435 \u043f\u0430\u043a\u0435\u0442\u044b) \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u044e\u0442 \u0432\u044b\u0441\u043e\u043a\u0443\u044e \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0443 \u0438\u043b\u0438 \u043f\u043e\u0442\u0435\u0440\u0438, \u044d\u0442\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0438\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044e DUT (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u043e\u0434\u0443\u043b\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 TLS, \u0434\u0432\u0438\u0436\u043e\u043a DPI) \u043a\u0430\u043a \u043d\u0430 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u0430 \u043d\u0435 \u043d\u0430 \u043e\u0431\u0449\u0443\u044e \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0437\u043a\u0443 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430. \u042d\u0442\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u0438\u0437 \u0434\u043e\u0433\u0430\u0434\u043e\u043a \u0432 \u0446\u0435\u043b\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437, \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043e\u043a\u0440\u0430\u0449\u0430\u044f \u0432\u0440\u0435\u043c\u044f, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435 \u0434\u043b\u044f \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0443\u0437\u043a\u0438\u0445 \u043c\u0435\u0441\u0442 \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n<h2>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0441\u0442\u0435\u043d\u0434\u0430<\/h2>\n<p>\u0423\u0441\u043f\u0435\u0445 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u043e \u043c\u043d\u043e\u0433\u043e\u043c \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0441\u0442\u0435\u043d\u0434\u0430. \u0412 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435 \u0441\u0442\u0435\u043d\u0434 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 <strong>\u0441\u0435\u0440\u0432\u0435\u0440 \u0441 Cisco TRex<\/strong> \u0438 <strong>\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0443\u0436\u043d\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c (DUT)<\/strong>. TRex-\u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043e\u043b\u0436\u0435\u043d \u0438\u043c\u0435\u0442\u044c \u0432 \u0438\u0434\u0435\u0430\u043b\u0435 \u0434\u0432\u0430 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u043e\u0440\u0442\u0430 (\u043f\u043e\u0440\u0442 <em>A<\/em> \u0438 \u043f\u043e\u0440\u0442 <em>B<\/em>), \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0435 \u043a \u0432\u0445\u043e\u0434\u0443 \u0438 \u0432\u044b\u0445\u043e\u0434\u0443\u00a0DUT\u00a0&#8212; \u0447\u0442\u043e\u0431\u044b \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0440\u0430\u0444\u0438\u043a \u00ab\u0434\u043e\u00bb \u0438 \u00ab\u043f\u043e\u0441\u043b\u0435\u00bb \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430.\u00a0<\/p>\n<p>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0433\u043e \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u043e\u0434\u0438\u043d \u043f\u043e\u0440\u0442 TRex \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u043a\u00a0\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u0432\u00a0\u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438, \u0430\u00a0\u0432\u0442\u043e\u0440\u043e\u0439\u00a0&#8212; \u043a\u00a0\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443 \u0432\u00a0\u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u0441\u0435\u0442\u0438 (WAN). \u0414\u043b\u044f\u00a0\u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u0430 \u043e\u0431\u0430 \u043f\u043e\u0440\u0442\u0430 TRex \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043a\u00a0\u0434\u0432\u0443\u043c \u043f\u043e\u0440\u0442\u0430\u043c \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u0430 (\u0432 \u043e\u0434\u0438\u043d VLAN)\u00a0&#8212; TRex \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043a\u0430\u0434\u0440\u044b \u0432\u00a0\u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440 \u0447\u0435\u0440\u0435\u0437 \u043f\u043e\u0440\u0442 A, \u0430\u00a0\u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u043f\u043e\u0440\u0442 B. \u0412\u00a0\u0441\u043b\u0443\u0447\u0430\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u0440\u0430\u043d\u0434\u043c\u0430\u0443\u044d\u0440\u0430 (Firewall) \u0441\u0445\u0435\u043c\u0430 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u0430 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u0443: \u043f\u043e\u0440\u0442 A \u0438\u043c\u0438\u0442\u0438\u0440\u0443\u0435\u0442 \u00ab\u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044e\u044e\u00bb \u0441\u0442\u043e\u0440\u043e\u043d\u0443, \u043f\u043e\u0440\u0442 B\u00a0&#8212; \u00ab\u0432\u043d\u0435\u0448\u043d\u044e\u044e\u00bb.\u00a0<\/p>\n<p><strong>\u0412\u0430\u0436\u043d\u043e<\/strong>: \u043d\u0438\u043a\u0430\u043a\u0438\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043c\u0435\u0436\u0434\u0443 TRex \u0438 DUT \u043d\u0430 \u0432\u0440\u0435\u043c\u044f \u0442\u0435\u0441\u0442\u0430 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0432\u043d\u043e\u0441\u0438\u0442\u044c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438, \u0438\u043d\u0430\u0447\u0435 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f \u0431\u0443\u0434\u0443\u0442 \u043d\u0435\u0442\u043e\u0447\u043d\u044b\u043c\u0438.<\/p>\n<p><strong>\u0410\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a TRex.<\/strong> \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 TRex \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0442\u0440\u0430\u0444\u0438\u043a \u043d\u0430 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438, \u0441\u0435\u0440\u0432\u0435\u0440 \u043f\u043e\u0434 \u043d\u0435\u0433\u043e \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043c\u043e\u0449\u043d\u044b\u043c.\u00a0<\/p>\n<ul>\n<li>\n<p>\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 Intel CPU \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 DPDK. \u0414\u043b\u044f 10 \u0413\u0431\u0438\u0442\/\u0441 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 &#8212; \u043c\u0438\u043d\u0438\u043c\u0443\u043c 4 \u044f\u0434\u0440\u0430 (\u0441 Hyper-Threading); \u0434\u043b\u044f 100 \u0413\u0431\u0438\u0442\/\u0441\u00a0&#8212; \u043f\u0440\u043e\u043f\u043e\u0440\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0435.\u00a0<\/p>\n<\/li>\n<li>\n<p>TRex \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 <strong>HugePages<\/strong> (\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u043f\u0430\u043c\u044f\u0442\u0438) \u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0441\u043d\u044f\u0442\u044c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 IOMMU\/PCI \u0434\u043b\u044f \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0441\u0435\u0442\u0435\u0432\u044b\u043c \u043a\u0430\u0440\u0442\u0430\u043c.\u00a0<\/p>\n<\/li>\n<li>\n<p>\u0421\u0435\u0442\u0435\u0432\u044b\u0435 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c\u0441\u044f DPDK (Intel X710\/XL710, Intel E810, Mellanox ConnectX \u0438 \u0434\u0440., \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 PCI passthrough \u0438\u043b\u0438 bind to DPDK driver).\u00a0<\/p>\n<\/li>\n<li>\n<p>\u0421\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u044d\u043d\u0435\u0440\u0433\u043e\u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 IRQ \u043d\u0430 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u043f\u043e\u0440\u0442\u0430\u0445, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 DPDK-\u043f\u0430\u043a\u0435\u0442\u043d\u044b\u0439 \u0434\u0432\u0438\u0436\u043e\u043a \u0441\u0430\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u043e\u0440\u0442\u0430\u043c\u0438 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u043e\u043f\u0440\u043e\u0441\u0430 (Polling) \u0431\u0435\u0437 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439\u00a0&#8212; \u044d\u0442\u043e \u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438 \u0438 \u043f\u043e\u0432\u044b\u0448\u0430\u0435\u0442 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p>\u0412\u0430\u0436\u043d\u043e \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044f\u0434\u0440\u0430 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432\u043e\u0440\u043a\u0435\u0440\u044b TRex \u043e\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043d\u0430 \u043d\u0438\u0445 \u0434\u0440\u0443\u0433\u0438\u0445 \u0437\u0430\u0434\u0430\u0447 \u0438\u0437 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 \u044f\u0434\u0440\u0430.<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 TRex.<\/strong> \u041f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 TRex (\u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0438 \u0430\u0440\u0445\u0438\u0432\u0430 \u0441 \u0432\u0435\u0440\u0441\u0438\u0435\u0439 3.06) \u043d\u0443\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c, \u043a\u0430\u043a\u0438\u0435 \u043f\u043e\u0440\u0442\u044b \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 (\u043e\u0431\u044b\u0447\u043d\u043e \/etc\/trex_cfg.yaml). \u0412 \u043d\u0435\u043c \u0437\u0430\u0434\u0430\u044e\u0442\u0441\u044f PCI-\u0430\u0434\u0440\u0435\u0441\u0430 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 \u0438 \u0447\u0438\u0441\u043b\u043e \u043f\u043e\u0440\u0442\u043e\u0432. \u041f\u0440\u0438\u043c\u0435\u0440 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 2 \u043f\u043e\u0440\u0442\u0430 (port_limit: 2) \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c PCI-\u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a:<\/p>\n<pre><code>- version       : 2    interfaces    : [\"0000:af:00.0\",\"0000:af:00.1\"]     port_limit      : 2<\/code><\/pre>\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 TRex \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u0432\u0430 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430. \u0415\u0441\u043b\u0438 \u044f\u0434\u0435\u0440 CPU \u043c\u043d\u043e\u0433\u043e, TRex \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0442\u043e\u043d\u043a\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0443 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u043a \u044f\u0434\u0440\u0430\u043c (\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b master_thread_id, latency_thread_id, dual_if \u0438 threads) \u0434\u043b\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438. \u0412 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u043e\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0430, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u043e\u043c\u0435\u0440\u0430 \u0432\u043e\u0440\u043a\u0435\u0440\u043e\u0432 \u043f\u043e \u043f\u043e\u0442\u043e\u043a\u0430\u043c CPU, \u0432 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u043c\u043d\u043e\u0433\u043e\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043a\u043e\u043d\u0444\u0438\u0433: <\/p>\n<pre><code>- port_limit         : 4   version            : 3   interfaces         : [\"0000:af:00.0\",\"0000:af:00.1\",\"0000:af:00.2\",\"0000:af:00.3\"]      port_bandwidth_gb  : 10   c                  : 8   platform :     master_thread_id  : 0     latency_thread_id : 25     dual_if:       - socket : 1         threads : [17,18,19,20,21,22,23,24]       - socket : 1         threads : [9,10,11,12,13,14,15,16] <\/code><\/pre>\n<p>\u041e\u0434\u043d\u0430\u043a\u043e \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043c\u043e\u0436\u043d\u043e \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e. \u041f\u043e\u0441\u043b\u0435 \u043f\u0440\u0430\u0432\u043a\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0430 TRex \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre><code>sudo .\/t-rex-64 -i --cfg \/etc\/trex_cfg.yaml<\/code><\/pre>\n<p>\u041a\u043b\u044e\u0447 -i \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442 TRex \u0432 \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c \u043a\u043e\u043d\u0441\u043e\u043b\u0438. \u041f\u0440\u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u0432 \u043b\u043e\u0433\u0430\u0445 TRex \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e\u0431 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e\u0440\u0442\u043e\u0432 (\u0438\u0445 MAC-\u0430\u0434\u0440\u0435\u0441\u0430, \u0441\u0442\u0430\u0442\u0443\u0441 Link Up, \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0438 \u0442.\u0434.).<\/p>\n<p>\u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u043e\u0431\u0430 \u043f\u043e\u0440\u0442\u0430 Link Up \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a DUT \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u043d\u0430 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043a\u0430\u0440\u0442\u0430\u0445 \u0438 \u043f\u043e\u0440\u0442\u0430\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0433\u043e\u0440\u044f\u0442).\u00a0<\/p>\n<p>\u0414\u0430\u043b\u0435\u0435, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u0430\u043c\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e DUT \u043f\u043e\u0434 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439. \u0415\u0441\u043b\u0438 \u044d\u0442\u043e \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440, \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0439\u0442\u0435 \u043d\u0430 \u043d\u0451\u043c IP-\u0430\u0434\u0440\u0435\u0441\u0430 \u043d\u0430 \u0434\u0432\u0443\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u0445, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0441\u0435\u0442\u044f\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0435\u0442 \u044d\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c TRex.\u00a0<\/p>\n<p>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, TRex \u043c\u043e\u0436\u0435\u0442 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c IPv6-\u0442\u0440\u0430\u0444\u0438\u043a \u0441 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430\u043c\u0438 fd00:1::0\/64 \u0438 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 fd00:2::0\/64\u00a0&#8212; \u0442\u043e\u0433\u0434\u0430 \u043d\u0430 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 A \u0434\u043e\u043b\u0436\u0435\u043d \u0438\u043c\u0435\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u0432 \u0441\u0435\u0442\u0438 fd00:1::1\/64, \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u00a0B\u00a0&#8212; \u0432 \u0441\u0435\u0442\u0438 fd00:2::1\/64, \u0438 \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d \u043c\u0430\u0440\u0448\u0440\u0443\u0442 (\u0438\u043b\u0438 NAT, \u0435\u0441\u043b\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f).\u00a0<\/p>\n<p>\u0414\u043b\u044f DPI\/Firewall \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438 (\u043f\u0440\u0430\u0432\u0438\u043b\u0430 DPI, ACL) \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u0430 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0440\u0442\u044b, \u043a\u0443\u0434\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d TRex, \u0431\u044b\u043b\u0438 \u0432 \u043e\u0434\u043d\u043e\u043c VLAN (\u0435\u0441\u043b\u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c L2 \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0446\u0438\u044e) \u0438\u043b\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c VLAN-\u0442\u0435\u0433\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c. \u041a\u043e\u0433\u0434\u0430 \u0441\u0442\u0435\u043d\u0434 \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d \u0438 TRex \u0437\u0430\u043f\u0443\u0449\u0435\u043d, \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043a \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0443 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0442\u0440\u0430\u0444\u0438\u043a\u0430.<\/p>\n<h2>\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0432 Stateless-\u0440\u0435\u0436\u0438\u043c\u0435 (STL)<\/h2>\n<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u0435\u0439\u0441 \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0444\u0442\u043e\u0432\u043e\u0433\u043e \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u0431\u0430\u0437\u0435 \u043f\u0440\u043e\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u041f\u041a \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439:<\/p>\n<ul>\n<li>\n<p>Intel(R) Core(TM) i7-10700TE CPU @ 2GHz, 8 cores \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 HyperThreading.<\/p>\n<\/li>\n<li>\n<p>64 Gb RAM<\/p>\n<\/li>\n<li>\n<p>SSD 256 Gb x 2<\/p>\n<\/li>\n<li>\n<p>Intel Corporation Ethernet Controller E810-C for SFP<\/p>\n<\/li>\n<li>\n<p>4 ports x 10G<\/p>\n<\/li>\n<li>\n<p>Linux Ubuntu 22.04.4 LTS<\/p>\n<\/li>\n<li>\n<p>VPP v24.06 stable with DPDK plugin<\/p>\n<\/li>\n<li>\n<p>DPDK Driver vfio-pci<\/p>\n<\/li>\n<\/ul>\n<p>\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u0441\u0442\u043e\u0435\u0447\u043d\u044b\u0439 \u043e\u0434\u043d\u043e\u044e\u043d\u0438\u0442\u043e\u0432\u044b\u0435 \u0441\u0435\u0440\u0432\u0435\u0440 \u0441 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439:<\/p>\n<ul>\n<li>\n<p>Intel(R) Xeon(R) Gold 6226R CPU @ 2.90GHz, 16 cores\u00a0 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 HyperThreading.<\/p>\n<\/li>\n<li>\n<p>256 Gb RAM<\/p>\n<\/li>\n<li>\n<p>1024 Gb SSD 2 x2<\/p>\n<\/li>\n<li>\n<p>Intel Corporation Ethernet Controller X710 for 10GbE SFP+<\/p>\n<\/li>\n<li>\n<p>4 ports x 10G<\/p>\n<\/li>\n<li>\n<p>Linux Ubuntu 22.04.4 LTS<\/p>\n<\/li>\n<li>\n<p>Cisco TRex v3.06<\/p>\n<\/li>\n<\/ul>\n<p>\u0421\u0430\u043c\u0430 \u0441\u0445\u0435\u043c\u0430 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0438\u0437 \u043f\u043e\u0440\u0442\u0430 \u0432 \u043f\u043e\u0440\u0442 &#8212; \u043b\u0435\u0432\u0430\u044f \u0441\u0445\u0435\u043c\u0430, \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0432\u0441\u0435\u0445 4-\u0445 \u043f\u043e\u0440\u0442\u043e\u0432 &#8212; \u0441\u043f\u0440\u0430\u0432\u0430:\u00a0<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/148\/f48\/a5a\/148f48a5a2b97739e2b7e2a0990b5e72.png\" width=\"1600\" height=\"739\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/148\/f48\/a5a\/148f48a5a2b97739e2b7e2a0990b5e72.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/148\/f48\/a5a\/148f48a5a2b97739e2b7e2a0990b5e72.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442:<\/p>\n<ol>\n<li>\n<p>\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c DUT;<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440 TRex \u0441 \u043d\u0443\u0436\u043d\u044b\u043c \u043d\u0430\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043c \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443;<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0434\u0433\u043e\u0442\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043f\u0440\u043e\u0444\u0438\u043b\u044c \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u043f\u043e\u0434 \u043d\u0443\u0436\u043d\u044b\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438;<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0442\u0440\u0430\u0444\u0438\u043a \u043d\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438;<\/p>\n<\/li>\n<li>\n<p>\u0421\u043d\u0438\u043c\u0430\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0442\u0435\u0441\u0442\u0430, \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0434\u0435\u0431\u0430\u0436\u0438\u043c \u0442\u0435\u0441\u0442 \u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u0437\u0430\u043d\u043e\u0432\u043e.<\/p>\n<\/li>\n<\/ol>\n<p>\u041f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 DUT. \u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0441\u0435\u0441\u0441\u0438\u044e SSH \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c \u0431\u0430\u0437\u043e\u0432\u0443\u044e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443. \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0447\u0442\u043e \u043f\u043e\u0440\u0442\u044b DUT \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432 DPDK:<\/p>\n<pre><code>root@intel-corei7-64:~# python3 \/usr\/bin\/dpdk-devbind.py --status  Network devices using DPDK-compatible driver ============================================ 0000:01:00.0 'Ethernet Controller E810-C for SFP 1593' drv=uio_pci_generic unused=ice 0000:01:00.1 'Ethernet Controller E810-C for SFP 1593' drv=uio_pci_generic unused=ice 0000:01:00.2 'Ethernet Controller E810-C for SFP 1593' drv=uio_pci_generic unused=ice 0000:01:00.3 'Ethernet Controller E810-C for SFP 1593' drv=uio_pci_generic unused=ice 0000:02:00.0 'I210 Gigabit Network Connection 1533' drv=uio_pci_generic unused=  Network devices using kernel driver =================================== 0000:00:1f.6 'Ethernet Connection (11) I219-LM 0d4c' if=eth0 drv=e1000e unused=uio_pci_generic *Active*  No 'Baseband' devices detected ==============================  No 'Crypto' devices detected ============================  No 'DMA' devices detected =========================  No 'Eventdev' devices detected ==============================  No 'Mempool' devices detected =============================  No 'Compress' devices detected ==============================  No 'Misc (rawdev)' devices detected ===================================  No 'Regex' devices detected ===========================  No 'ML' devices detected ========================<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u0445\u043e\u0434\u0438\u043c \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c VPP \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c \u043f\u0440\u043e\u0441\u0442\u0443\u044e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c VPP \u0447\u0442\u043e\u0431\u044b \u0441\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438:<\/p>\n<pre><code>$ systemctl restart vpp<\/code><\/pre>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b DUT \u0441 VLAN:<\/p>\n<pre><code>$ vppctl create sub-interfaces TwentyFiveGigabitEthernet1\/0\/0 3003 dot1q 3003 exact-match $ vppctl create sub-interfaces TwentyFiveGigabitEthernet1\/0\/1 3004 dot1q 3004 exact-match $ vppctl create sub-interfaces TwentyFiveGigabitEthernet1\/0\/2 3005 dot1q 3005 exact-match $ vppctl create sub-interfaces TwentyFiveGigabitEthernet1\/0\/3 3006 dot1q 3006 exact-match<\/code><\/pre>\n<p>\u041f\u043e\u0434\u043d\u0438\u043c\u0430\u0435\u043c \u0438\u0445:<\/p>\n<pre><code>$ vppctl set interface state TwentyFiveGigabitEthernet1\/0\/0 up $ vppctl set interface state TwentyFiveGigabitEthernet1\/0\/0.3003 up  $ vppctl set interface state TwentyFiveGigabitEthernet1\/0\/1 up $ vppctl set interface state TwentyFiveGigabitEthernet1\/0\/1.3004 up  $ vppctl set interface state TwentyFiveGigabitEthernet1\/0\/2 up $ vppctl set interface state TwentyFiveGigabitEthernet1\/0\/2.3005 up  $ vppctl set interface state TwentyFiveGigabitEthernet1\/0\/3 up $ vppctl set interface state TwentyFiveGigabitEthernet1\/0\/3.3006 up<\/code><\/pre>\n<p>\u041f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c IP-\u0430\u0434\u0440\u0435\u0441\u0430:<\/p>\n<pre><code>$ vppctl set interface ip address TwentyFiveGigabitEthernet1\/0\/0.3003 fd00:1::1\/64 $ vppctl set interface ip address TwentyFiveGigabitEthernet1\/0\/1.3004 fd00:2::1\/64 $ vppctl set interface ip address TwentyFiveGigabitEthernet1\/0\/2.3005 fd00:3::1\/64 $ vppctl set interface ip address TwentyFiveGigabitEthernet1\/0\/3.3006 fd00:4::1\/64<\/code><\/pre>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u0442\u044c ND-\u0437\u0430\u043f\u0438\u0441\u0438, \u0447\u0442\u043e\u0431\u044b \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440 \u0437\u043d\u0430\u043b \u0441\u0432\u043e\u0438\u0445 \u201c\u0441\u043e\u0441\u0435\u0434\u0435\u0439\u201d:<\/p>\n<pre><code>$ vppctl set ip neighbor TwentyFiveGigabitEthernet1\/0\/0.3003 fd00:1::2 {trex_port0_mac} $ vppctl set ip neighbor TwentyFiveGigabitEthernet1\/0\/1.3004 fd00:2::2 {trex_port1_mac} $ vppctl set ip neighbor TwentyFiveGigabitEthernet1\/0\/2.3005 fd00:3::2 {trex_port2_mac} $ vppctl set ip neighbor TwentyFiveGigabitEthernet1\/0\/3.3006 fd00:4::2 {trex_port3_mac}<\/code><\/pre>\n<p>\u041f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u044b:\u00a0<\/p>\n<pre><code>$ vppctl ip route add fd00:cafe::\/32 via fd00:1::2 TwentyFiveGigabitEthernet1\/0\/0.3003 $ vppctl ip route add fd00:feed::\/32 via fd00:2::2 TwentyFiveGigabitEthernet1\/0\/1.3004 $ vppctl ip route add fd00:beef::\/32 via fd00:3::2 TwentyFiveGigabitEthernet1\/0\/2.3005 $ vppctl ip route add fd00:deaf::\/32 via fd00:4::2 TwentyFiveGigabitEthernet1\/0\/3.3006<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 TRex \u0438 \u043f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043c \u0435\u0433\u043e \u0432\u0440\u0443\u0447\u043d\u0443\u044e. \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u043c\u0438 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0438 \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u0442\u0440\u0430\u0444\u0438\u043a. \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c, \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u044b \u043b\u0438 \u043f\u043e\u0440\u0442\u044b \u043f\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 DPDK:<\/p>\n<pre><code>megalloid@tn2:\/opt\/trex\/v3.06$ sudo .\/dpdk_setup_ports.py -t +----+------+---------+-------------------+-----------------------------------------+----------+----------+--------+ | ID | NUMA |   PCI   |        MAC        |                  Name                   |  Driver  | Linux IF | Active | +====+======+=========+===================+=========================================+==========+==========+========+ | 0  | 0    | 1c:00.0 | 3c:ec:ef:00:00:00 | Ethernet Connection X722 for 10GBASE-T  | i40e     | eno1     |        | +----+------+---------+-------------------+-----------------------------------------+----------+----------+--------+ | 1  | 0    | 1c:00.1 | 3c:ec:ef:00:00:00 | Ethernet Connection X722 for 10GBASE-T  | i40e     | eno2     |        | +----+------+---------+-------------------+-----------------------------------------+----------+----------+--------+ | 2  | 1    | af:00.0 | 6c:b3:11:00:00:00 | Ethernet Controller X710 for 10GbE SFP+ | vfio-pci |          |        | +----+------+---------+-------------------+-----------------------------------------+----------+----------+--------+ | 3  | 1    | af:00.1 | 6c:b3:11:00:00:00 | Ethernet Controller X710 for 10GbE SFP+ | vfio-pci |          |        | +----+------+---------+-------------------+-----------------------------------------+----------+----------+--------+ | 4  | 1    | af:00.2 | 6c:b3:11:00:00:00 | Ethernet Controller X710 for 10GbE SFP+ | vfio-pci |          |        | +----+------+---------+-------------------+-----------------------------------------+----------+----------+--------+ | 5  | 1    | af:00.3 | 6c:b3:11:00:00:00 | Ethernet Controller X710 for 10GbE SFP+ | vfio-pci |          |        | +----+------+---------+-------------------+-----------------------------------------+----------+----------+--------+<\/code><\/pre>\n<p>\u0422\u0430\u043a. \u0421 \u043f\u043e\u0440\u0442\u0430\u043c\u0438 \u0432\u0441\u0435 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435. \u041e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u044f \u043f\u0438\u0441\u0430\u043b \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435. \u041d\u0435 \u0431\u0443\u0434\u0443 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043d\u0430 \u044d\u0442\u043e\u043c \u0430\u043a\u0446\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435.\u00a0<\/p>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044e TRex-\u0441\u0435\u0440\u0432\u0435\u0440 \u0432\u043e\u0442 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<pre><code>megalloid@server:\/opt\/trex\/v3.06$ .\/t-rex-64 -i --cfg \/opt\/trex\/v3.06\/configs\/server_full_config.yaml --arp-refresh-period 30 -v 8<\/code><\/pre>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0441\u0435\u0440\u0432\u0435\u0440 \u0432 \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435, \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0438 \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0440\u0443\u043a\u0430\u043c\u0438 \u0432\u0440\u0435\u043c\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f ARP-\u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0432 30 \u0441\u0435\u043a\u0443\u043d\u0434 \u0438 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u043e\u0433\u043e \u0432\u044b\u0432\u043e\u0434\u0430 \u043d\u0430 \u043e\u0442\u043c\u0435\u0442\u043a\u0435 DEBUG. \u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043b\u043e\u0433:\u00a0<\/p>\n<pre><code>WARNING: tried to configure 2 hugepages for socket 0, but result is: 1 Starting Scapy server.... Scapy server is started The ports are bound\/configured. Starting  TRex v3.06 please wait  ...  Using configuration file \/opt\/trex\/v3.06\/configs\/server_full_config.yaml   port limit     :  4   port_bandwidth_gb    :  10   port_speed           :  0   port_mtu             :  0   if_mask        : None   is low-end : 0   stack type :    thread_per_dual_if      : 8   if        :  0000:af:00.0, 0000:af:00.1, 0000:af:00.2, 0000:af:00.3,  enable_zmq_pub :  1   zmq_pub_port   :  4500   m_zmq_rpc_port    :  4501   memory per 2x10G ports    MBUF_64                                   : 16380   MBUF_128                                  : 8190   MBUF_256                                  : 8190   MBUF_512                                  : 8190   MBUF_1024                                 : 8190   MBUF_2048                                 : 4095   MBUF_4096                                 : 128   MBUF_9K                                   : 512   TRAFFIC_MBUF_64                           : 65520   TRAFFIC_MBUF_128                          : 32760   TRAFFIC_MBUF_256                          : 8190   TRAFFIC_MBUF_512                          : 8190   TRAFFIC_MBUF_1024                         : 8190   TRAFFIC_MBUF_2048                         : 32760   TRAFFIC_MBUF_4096                         : 128   TRAFFIC_MBUF_9K                           : 512   MBUF_DP_FLOWS                             : 524288   MBUF_GLOBAL_FLOWS                         : 5120   master   thread  : 0    rx  thread  : 25    dual_if : 0      socket  : 1      [   17   18   19   20   21   22   23   24     ]    dual_if : 1      socket  : 1      [   9   10   11   12   13   14   15   16     ]   CTimerWheelYamlInfo does not exist    set driver name net_i40e   driver capability  : TCP_UDP_OFFLOAD  TSO  SLRO   set dpdk queues mode to DROP_QUE_FILTER   Number of ports found: 4 Loading DDP profile (0) Profile is already loaded  Loading DDP profile (1) Profile is already loaded  Loading DDP profile (2) Profile is already loaded  Loading DDP profile (3) Profile is already loaded  zmq publisher at: tcp:\/\/*:4500  A workaround is applied for issue #508   A workaround is applied for issue #508   A workaround is applied for issue #508   A workaround is applied for issue #508   wait 1 sec . port : 0  ------------ link         :  link : Link Up - speed 10000 Mbps - full-duplex promiscuous  : 0  port : 1  ------------ link         :  link : Link Up - speed 10000 Mbps - full-duplex promiscuous  : 0  port : 2  ------------ link         :  link : Link Up - speed 10000 Mbps - full-duplex promiscuous  : 0  port : 3  ------------ link         :  link : Link Up - speed 10000 Mbps - full-duplex promiscuous  : 0   number of ports         : 4   max cores for 2 ports   : 8   tx queues per port      : 10   ------------------------------- RX core uses TX queue number 8 on all ports  core, c-port, c-queue, s-port, s-queue, lat-queue  ------------------------------------------  1        0      0       1       0      9    2        2      0       3       0      9    3        0      1       1       1    255    4        2      1       3       1    255    5        0      2       1       2    255    6        2      2       3       2    255    7        0      3       1       3    255    8        2      3       3       3    255    9        0      4       1       4    255    10        2      4       3       4    255    11        0      5       1       5    255    12        2      5       3       5    255    13        0      6       1       6    255    14        2      6       3       6    255    15        0      7       1       7    255    16        2      7       3       7    255    -------------------------------  <\/code><\/pre>\n<p>\u041e\u0442\u043a\u0440\u043e\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u044e\u0449\u0435\u0435\u0441\u044f \u043c\u0435\u043d\u044e \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438:<\/p>\n<pre><code>-Per port stats table        ports |               0 |               1 |               2 |               3   -----------------------------------------------------------------------------------------    opackets |               0 |               0 |               0 |               0       obytes |               0 |               0 |               0 |               0     ipackets |               0 |               0 |               0 |               0       ibytes |               0 |               0 |               0 |               0      ierrors |               0 |               0 |               0 |               0      oerrors |               0 |               0 |               0 |               0        Tx Bw |       0.00  bps |       0.00  bps |       0.00  bps |       0.00  bps   -Global stats enabled   Cpu Utilization : 0.0  %  Platform_factor : 1.0    Total-Tx        :       0.00  bps    Total-Rx        :       0.00  bps    Total-PPS       :       0.00  pps    Total-CPS       :       0.00  cps     Expected-PPS    :       0.00  pps    Expected-CPS    :       0.00  cps    Expected-BPS    :       0.00  bps     Active-flows    :        0  Clients :        0   Socket-util : 0.0000 %      Open-flows      :        0  Servers :        0   Socket :        0 Socket\/Clients :  -nan   drop-rate       :       0.00  bps     current time    : 2.0 sec    test duration   : 0.0 sec   <\/code><\/pre>\n<p>\u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u0443\u044e Python-\u043a\u043e\u043d\u0441\u043e\u043b\u044c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0441 TRex:<\/p>\n<pre><code>megalloid@server:\/opt\/trex\/v3.06$ .\/trex-console -f  Using 'python3' as Python interpeter  Connecting to RPC server on localhost:4501                   [SUCCESS] Connecting to publisher server on localhost:4500             [SUCCESS] Force acquiring ports [0, 1, 2, 3]:                          [SUCCESS]  *** Warning - Port 0 destination is unresolved *** *** Warning - Port 1 destination is unresolved *** *** Warning - Port 2 destination is unresolved *** *** Warning - Port 3 destination is unresolved ***  Server Info:  Server version:   v3.06 @ STL Server mode:      Stateless Server CPU:       16 x Intel(R) Xeon(R) Gold 6226R CPU @ 2.90GHz Ports count:      4 x 10Gbps @ Ethernet Controller X710 for 10GbE SFP+  -=TRex Console v3.0=-  Type 'help' or '?' for supported actions  trex&gt; <\/code><\/pre>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043c, \u043f\u043e\u0434\u043d\u044f\u0442\u044b \u043b\u0438 \u043b\u0438\u043d\u043a\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 \u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u043e\u043f\u0438\u043d\u0433\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0441\u0435\u0434\u0430:<\/p>\n<pre><code>trex&gt;portattr Port Status       port       |          0           |          1           |          2           |          3            ----------------+----------------------+----------------------+----------------------+--------------------- driver          |       net_i40e       |       net_i40e       |       net_i40e       |       net_i40e        description     | Ethernet Controlle   | Ethernet Controlle   | Ethernet Controlle  | Ethernet Controlle  link status     |          UP          |          UP          |          UP          |          UP           link speed      |       10 Gb\/s        |       10 Gb\/s        |       10 Gb\/s        |       10 Gb\/s         port status     |         IDLE         |         IDLE         |         IDLE         |         IDLE          promiscuous     |         off          |         off          |         off          |         off           multicast       |         off          |         off          |         off          |         off           flow ctrl       |         none         |         none         |         none         |         none          vxlan fs        |          -           |          -           |          -           |          -            --              |                      |                      |                      |                       layer mode      |       Ethernet       |       Ethernet       |       Ethernet       |       Ethernet        src IPv4        |          -           |          -           |          -           |          -            IPv6            |         off          |         off          |         off          |         off           src MAC         | 6c:b3:11:00:00:00    | 6c:b3:11:00:00:00    | 6c:b3:11:00:00:00    | 6c:b3:11:00:00:00    ---             |                      |                      |                      |                       Destination     |     unconfigured     |     unconfigured     |     unconfigured     |     unconfigured      ARP Resolution  |          -           |          -           |          -           |          -            ----            |                      |                      |                      |                       VLAN            |          -           |          -           |          -           |          -            -----           |                      |                      |                      |                       PCI Address     |     0000:af:00.0     |     0000:af:00.1     |     0000:af:00.2     |     0000:af:00.3      NUMA Node       |          1           |          1           |          1           |          1            RX Filter Mode  |    hardware match    |    hardware match    |    hardware match    |    hardware match     RX Queueing     |         off          |         off          |         off          |         off           Grat ARP        |         off          |         off          |         off          |         off           ------          |                      |                      |                      |                        trex&gt; <\/code><\/pre>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b \u0432 service mode. \u0420\u0435\u0436\u0438\u043c service \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 TRex \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043d\u0430\u0434 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c TRex \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 Linux (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0447\u0442\u043e\u0431\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c scan6 \u0434\u043b\u044f \u0432\u044b\u044f\u0441\u043d\u0435\u043d\u0438\u044f MAC-\u0430\u0434\u0440\u0435\u0441\u0430 \u0441\u043e\u0441\u0435\u0434\u0435\u0439):<\/p>\n<pre><code>trex&gt; service Enabling service mode on port(s): [0, 1, 2, 3]               [SUCCESS] 39.56 [ms]<\/code><\/pre>\n<p>\u041f\u0440\u0438\u0441\u0432\u043e\u0438\u043c \u0438\u043c VLAN-\u044b:<\/p>\n<pre><code>trex(service)&gt;vlan -p 0 --vlan 3003 Setting port(s) [0] with VLAN '3003':                        [SUCCESS] 13.07 [ms]  trex(service)&gt;vlan -p 1 --vlan 3004 Setting port(s) [1] with VLAN '3004':                        [SUCCESS] 18.49 [ms]  trex(service)&gt;vlan -p 2 --vlan 3005 Setting port(s) [2] with VLAN '3005':                        [SUCCESS] 10.68 [ms]  trex(service)&gt;vlan -p 3 --vlan 3006 Setting port(s) [3] with VLAN '3006':                        [SUCCESS] 10.79 [ms]<\/code><\/pre>\n<p>\u041f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0441\u043e\u0441\u0435\u0434\u0441\u0442\u0432\u0430 c MAC-\u0430\u0434\u0440\u0435\u0441\u0430\u043c\u0438 \u043f\u043e\u0440\u0442\u043e\u0432 DUT:<\/p>\n<pre><code>trex(service)&gt;l2 -p 0 --dst 6c:b3:11:00:00:00 Setting port 0 in L2 mode:                                   [SUCCESS] 15.92 [ms]  trex(service)&gt;l2 -p 1 --dst 6c:b3:11:00:00:00 Setting port 1 in L2 mode:                                   [SUCCESS] 11.52 [ms]  trex(service)&gt;l2 -p 2 --dst 6c:b3:11:00:00:00 Setting port 2 in L2 mode:                                   [SUCCESS] 17.10 [ms]  trex(service)&gt;l2 -p 3 --dst 6c:b3:11:00:00:00 Setting port 3 in L2 mode:                                   [SUCCESS] 12.99 [ms]<\/code><\/pre>\n<p>\u041e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0432\u0441\u0435 \u043d\u0435\u043d\u0443\u0436\u043d\u044b\u0435 \u043e\u043f\u0446\u0438\u0438:<\/p>\n<pre><code>trex&gt;portattr -p0 --mult off  Applying attributes on port(s) [0]:                          [SUCCESS]  trex&gt;portattr -p1 --mult off  Applying attributes on port(s) [1]:                          [SUCCESS]  trex&gt;portattr -p2 --mult off  Applying attributes on port(s) [2]:                          [SUCCESS]  trex&gt;portattr -p3 --mult off  Applying attributes on port(s) [3]:                          [SUCCESS]<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u0439\u0442\u0438 \u0438\u0437 \u0441\u0435\u0440\u0432\u0438\u0441\u043d\u043e\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0430:<\/p>\n<pre><code>trex(service)&gt; service --off<\/code><\/pre>\n<p>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u043f\u0440\u043e\u0444\u0438\u043b\u044c \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0438\u043c Python-\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u043c, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e\u00a0 Scapy \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0431\u0443\u0434\u0443\u0449\u0438\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432. \u0412 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u043a\u0440\u0438\u043f\u0442:<\/p>\n<pre><code class=\"python\">from trex_stl_lib.api import * from scapy.all import * from scapy.utils import PcapWriter  class STLS1(object):      def get_streams(self, **kwargs):          print(f\"     Content of traffic profile: \\n\\r\\n\\r{json.dumps(kwargs, indent = 4)}\\n\\r\")          pkt = Ether(src = '6c:b3:11:00:00:00', dst = '6c:b3:11:00:00:00')\/\\               Dot1Q(vlan = 3003)\/\\               IPv6(src = 'fd00:1::2', dst = 'fd00:2::2')\/\\               UDP(sport = 12345, dport = 12345)\/\\               (1*'x')          pktdump = PcapWriter(\"packet.pcap\", append=True, sync=True)         pktdump.write(pkt)          stream = STLStream(name = 's0', packet = STLPktBuilder(pkt = pkt), mode = STLTXCont(pps = 100))          return stream  def register():      return STLS1() <\/code><\/pre>\n<p>\u042d\u0442\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443. \u0412 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0442\u043e\u043a\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u043f\u043e\u043b\u0435\u0439 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0431\u043e\u0440\u0430 \u0430\u0434\u0440\u0435\u0441\u043e\u0432\/\u043f\u043e\u0440\u0442\u043e\u0432, \u0438 \u043f\u0440. \u041f\u043e \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0438, \u0435\u0441\u043b\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043f\u0440\u043e\u0444\u0438\u043b\u0438 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u043e\u0440\u0442\u043e\u0432.<\/p>\n<p>\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c TUI \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043f\u043e\u0442\u043e\u043a \u0441 \u043f\u043e\u0440\u0442\u0430 \u043d\u043e\u043c\u0435\u0440 0 (\u043e\u043d \u0436\u0435 1-\u0439 \u043f\u043e\u0440\u0442 \u043d\u0430 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u043a\u0430\u0440\u0442\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430):<\/p>\n<pre><code>tui&gt; start -p0 -f traffic_profiles\/vpp_vlan_ipv6_udp_67b.py -m 1mpps -d 60<\/code><\/pre>\n<p>\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442 \u043f\u0440\u043e\u0444\u0438\u043b\u044c \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0438\u0437 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 TRex \u0432 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 1Mpps \u043d\u0430 60 \u0441\u0435\u043a\u0443\u043d\u0434. \u0415\u0441\u043b\u0438 \u0437\u0430\u0439\u0442\u0438 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c tui &#8212; \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043a\u0430\u043a \u0442\u0440\u0430\u0444\u0438\u043a \u0438\u0434\u0435\u0442 \u0438\u0437 \u043f\u043e\u0440\u0442\u0430 \u0432 \u043f\u043e\u0440\u0442:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/cfc\/244\/8de\/cfc2448de7d8eb40bdd17cf75022f499.png\" width=\"803\" height=\"729\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/cfc\/244\/8de\/cfc2448de7d8eb40bdd17cf75022f499.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/cfc\/244\/8de\/cfc2448de7d8eb40bdd17cf75022f499.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u0415\u0441\u043b\u0438 \u0437\u0430\u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u043e\u0442\u043e\u043a \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u043d\u0430 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e \u043f\u043e\u0440\u0442\u0443 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:<\/p>\n<pre><code>tui&gt; stop -p0 <\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u0442\u0435\u0441\u0442\u0430 \u0441\u0432\u0435\u0440\u044f\u0435\u043c \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0438, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0442\u044c \u0441 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445. \u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0438 \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e \u0438 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.\u00a0\u00a0<\/p>\n<h2>Neighbor Discovery \u0432 TRex<\/h2>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u0430\u043a \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c Neighbor Discovery \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435. \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, TRex \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0442\u0440\u0430\u0444\u0438\u043a \u0441 \u043f\u043e\u0440\u0442\u0430 0 \u043a \u0443\u0437\u043b\u0443 \u0441 IPv6-\u0430\u0434\u0440\u0435\u0441\u043e\u043c 2001:db8:1::1 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u0443). TRex \u043d\u0430 \u0441\u0432\u043e\u0435\u043c \u043f\u043e\u0440\u0442\u0443 \u0431\u0443\u0434\u0435\u0442 \u201c\u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c\u0441\u044f\u201d \u0430\u0434\u0440\u0435\u0441\u043e\u043c 2001:db8:1::2.<\/p>\n<p>\u0412\u043c\u0435\u0441\u0442\u043e \u0440\u0443\u0447\u043d\u043e\u0433\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f MAC-\u0430\u0434\u0440\u0435\u0441\u0430 \u0441\u043e\u0441\u0435\u0434\u0430, \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u043c ND:<\/p>\n<pre><code class=\"python\"> from trex_stl_lib.api import STLClient from trex_stl_lib.services.trex_stl_service_IPv6ND import STLServiceIPv6ND  # \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0438 \u043f\u043e\u0440\u0442\u0430 c = STLClient() c.connect() c.acquire(ports=[0], force=True)  # \u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u043f\u043e\u0440\u0442\u0430 0 \u0432 service mode c.set_service_mode(ports=[0])  try:     # \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u043d\u0430 \u043f\u043e\u0440\u0442\u0443 0     ctx = c.create_service_ctx(port=0)     # \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u0441\u0435\u0440\u0432\u0438\u0441 IPv6ND \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0438 \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e IPv6     nd_service = STLServiceIPv6ND(ctx,                                   src_ip=\"2001:db8:1::2\",                                   dst_ip=\"2001:db8:1::1\")     # \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c Neighbor Discovery     ctx.run(nd_service)     # \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0440\u0435\u0437\u043e\u043b\u0432\u0438\u043d\u0433\u0430     result = nd_service.get_record()     print(\"\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 ND:\", result) finally:     # \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u043f\u043e\u0440\u0442 \u0438\u0437 service mode \u0432 \u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c     c.set_service_mode(ports=[0], enabled=False) <\/code><\/pre>\n<p>\u041f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u044d\u0442\u043e\u0442 \u043a\u043e\u0434 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442 \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442 ICMPv6 Neighbor Solicitation \u043e\u0442 2001:db8:1::2 \u043d\u0430 \u0438\u0441\u043a\u043e\u043c\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 2001:db8:1::1. \u0415\u0441\u043b\u0438 \u0441\u043e\u0441\u0435\u0434 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d, TRex \u043f\u043e\u043b\u0443\u0447\u0438\u0442 Neighbor Advertisement \u0441 \u0435\u0433\u043e MAC-\u0430\u0434\u0440\u0435\u0441\u043e\u043c. \u041c\u0435\u0442\u043e\u0434 get_record() \u0432\u0435\u0440\u043d\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u044c \u043e \u0441\u043e\u0441\u0435\u0434\u0435 &#8212; \u0432 \u043d\u0435\u0435 \u0432\u0445\u043e\u0434\u0438\u0442, \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0439 MAC-\u0430\u0434\u0440\u0435\u0441 \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u0443\u0437\u043b\u0430. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u044b\u0432\u043e\u0434 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a\u0438\u043c (\u0444\u043e\u0440\u043c\u0430\u0442 \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u0442\u044c\u0441\u044f):<\/p>\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 ND:<\/p>\n<pre><code>{    'dst_ip': '2001:db8:1::1',     'dst_mac': '00:11:22:33:44:55',     'src_ip': '2001:db8:1::2', ... }<\/code><\/pre>\n<p>\u0414\u0430\u043b\u0435\u0435 \u044d\u0442\u043e\u0442 MAC \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432 Ether-\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 STLPktBuilder \u0443\u043a\u0430\u0436\u0438\u0442\u0435 Ether(dst=result[&#8216;dst_mac&#8217;], src=&lt;\u0432\u0430\u0448_src_mac&gt;). \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0442\u043e\u043a\u0438 TRex \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 MAC \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438, \u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0434\u043e \u0443\u0437\u043b\u0430. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435: \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f ND \u043c\u044b \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c service mode \u043d\u0430 \u043f\u043e\u0440\u0442\u0443, \u0447\u0442\u043e\u0431\u044b \u0432\u0435\u0440\u043d\u0443\u0442\u044c TRex \u0432 \u0440\u0435\u0436\u0438\u043c \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0442\u0440\u0430\u0444\u0438\u043a\u0430. Service mode \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435 \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 (\u0440\u0435\u0437\u043e\u043b\u0432\u0438\u043d\u0433 \u0430\u0434\u0440\u0435\u0441\u043e\u0432, DHCP-\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438 \u043f\u0440.), \u0430 \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u043a\u043b\u044e\u0447\u0430\u044e\u0442 \u043f\u0435\u0440\u0435\u0434 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u043e\u0439 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430.<\/p>\n<p>\u041f\u0440\u0438 \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e Neighbor Discovery \u0432 \u0442\u0435\u0441\u0442\u044b \u0441 TRex \u0443\u0447\u0442\u0438\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b:<\/p>\n<ul>\n<li>\n<p><strong>\u0422\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0441\u043c\u0435\u0436\u043d\u044b\u0445 L2-\u0441\u0435\u0442\u0435\u0439: <\/strong>\u041f\u043b\u0430\u0433\u0438\u043d ND \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e ARP &#8212; \u043e\u043d \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u0435\u0442 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445 IPv6-\u0441\u043e\u0441\u0435\u0434\u0435\u0439 \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 \u043e\u0434\u043d\u043e\u0433\u043e L2-\u0434\u043e\u043c\u0435\u043d\u0430. \u042d\u0442\u043e \u043d\u0435 \u0440\u0435\u0448\u0430\u0435\u0442 \u0437\u0430\u0434\u0430\u0447\u0443 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438. \u0415\u0441\u043b\u0438 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 IPv6-\u0430\u0434\u0440\u0435\u0441 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0437\u0430 \u0440\u043e\u0443\u0442\u0435\u0440\u043e\u043c, TRex \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0435\u0433\u043e MAC \u0447\u0435\u0440\u0435\u0437 ND. \u0412 \u0442\u0430\u043a\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u0432\u0430\u043c \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043b\u0438\u0431\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043d\u0430 TRex \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0443 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u043d\u0430 MAC \u0448\u043b\u044e\u0437\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u043b\u0438\u0431\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c TRex ASTF\/EMU \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438. \u0412 stateless-\u0440\u0435\u0436\u0438\u043c\u0435 \u0436\u0435 ND \u043f\u043e\u043b\u0435\u0437\u0435\u043d \u0433\u043b\u0430\u0432\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0434\u043b\u044f \u0440\u0435\u0437\u043e\u043b\u0432\u0438\u043d\u0433\u0430 \u0430\u0434\u0440\u0435\u0441\u0430 \u043f\u0440\u044f\u043c\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0441\u043e\u0441\u0435\u0434\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e hops). \u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u044d\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f, \u0447\u0442\u043e\u0431\u044b \u0443\u0437\u043d\u0430\u0442\u044c MAC \u0430\u0434\u0440\u0435\u0441 \u0448\u043b\u044e\u0437\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e (\u0440\u043e\u0443\u0442\u0435\u0440\u0430) \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 TRex \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d \u043d\u0430 \u043a\u0430\u043d\u0430\u043b\u044c\u043d\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435.<\/p>\n<\/li>\n<li>\n<p><strong>\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e\u0433\u043e IPv6-\u0441\u0442\u0435\u043a\u0430:<\/strong> TRex \u0432 stateless-\u0440\u0435\u0436\u0438\u043c\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u043d\u043e\u043f\u0440\u0430\u0432\u043d\u044b\u043c IPv6-\u0443\u0437\u043b\u043e\u043c &#8212; \u043e\u043d \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 SLAAC, Router Advertisement, \u0438 \u043d\u0435 \u0445\u0440\u0430\u043d\u0438\u0442 \u0434\u043e\u043b\u0433\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e IPv6-\u0430\u0434\u0440\u0435\u0441\u0430 \u043d\u0430 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u0445. \u0412\u0441\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 ND &#8212; \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435, \u0447\u0435\u0440\u0435\u0437 \u0441\u0435\u0440\u0432\u0438\u0441. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0435\u043b\u044c\u0437\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c IPv6 \u043d\u0430 \u043f\u043e\u0440\u0442\u0443 TRex (\u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u043d\u0441\u043e\u043b\u044c ipv6 -p &lt;port&gt; -s &lt;addr&gt; \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0441\u044f \u043e\u0448\u0438\u0431\u043a\u043e\u0439: \u201cIPv6 is not supported with current stack\u201d). \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0435\u0441\u043b\u0438 \u0432\u0430\u0448 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442, \u0447\u0442\u043e TRex \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0439 IPv6-\u0442\u0440\u0430\u0444\u0438\u043a, \u043e\u0434\u043d\u043e\u0433\u043e ND \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e &#8212; TRex \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u201c\u0431\u0435\u0437 \u0441\u0442\u0435\u043a\u043e\u0432\u201d \u0438 \u043e\u0442\u0432\u0435\u0442\u043d\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u043d\u0435 \u0438\u043c\u0435\u0442\u044c \u043a\u0443\u0434\u0430 \u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c\u0441\u044f. ND-\u043f\u043b\u0430\u0433\u0438\u043d \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0438\u043c\u0435\u043d\u043d\u043e \u0434\u043b\u044f \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u043a\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c MAC-\u0430\u0434\u0440\u0435\u0441\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u0435\u0439, \u0447\u0442\u043e\u0431\u044b \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c Ethernet-\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438.<\/p>\n<\/li>\n<li>\n<p><strong>\u0420\u0443\u0447\u043d\u043e\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430:<\/strong> \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0447\u0435\u0440\u0435\u0437 ND MAC-\u0430\u0434\u0440\u0435\u0441 \u043d\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043a\u043e \u0432\u0441\u0435\u043c \u043f\u043e\u0442\u043e\u043a\u0430\u043c &#8212; TRex \u043d\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0443\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b. \u0412 GUI \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e (\u0441\u043a\u0430\u043d\u0438\u0440\u0443\u044f \u0441\u043e\u0441\u0435\u0434\u0430, \u0432\u044b \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0435 MAC \u0432 \u043f\u0440\u043e\u0444\u0438\u043b\u0435), \u0430 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 Python API \u0438\u043b\u0438 YAML-\u043f\u0440\u043e\u0444\u0438\u043b\u0435\u0439 \u043d\u0443\u0436\u043d\u043e \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0435 MAC \u0432 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u043e\u0442\u043e\u043a\u043e\u0432. \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0432\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0432\u044b\u0437\u043e\u0432 ND-\u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0432 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u044d\u0442\u0430\u043f \u0442\u0435\u0441\u0442\u0430: \u0442.\u0435. \u0434\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c MAC \u0441\u043e\u0441\u0435\u0434\u0435\u0439, \u0441\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u043a\u0430\u0434\u0440\u043e\u0432, \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0442\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c startTraffic. \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0446\u0435\u043b\u0435\u0432\u044b\u043c\u0438 IPv6, \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e ND-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. \u041f\u043b\u0430\u0433\u0438\u043d \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u0437\u043e\u043b\u0432\u0438\u043d\u0433 &#8212; \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 count (-c) \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e NS \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e, \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0430\u0434\u0440\u0435\u0441 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430. \u041d\u041e \u043f\u043e\u043c\u043d\u0438\u0442\u0435, \u0447\u0442\u043e \u0437\u0430 \u043e\u0434\u0438\u043d \u0437\u0430\u043f\u0443\u0441\u043a <a href=\"http:\/\/ctx.run\" rel=\"noopener noreferrer nofollow\">ctx.run<\/a>() \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0434\u043e 1000 \u0441\u0435\u0440\u0432\u0438\u0441-\u0438\u043d\u0441\u0442\u0430\u043d\u0441\u043e\u0432. \u0412 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e (\u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u044b\u0441\u044f\u0447\u0438 \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f).<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438 \u0432\u0440\u0435\u043c\u044f:<\/strong> \u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 Neighbor Discovery &#8212; \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f, \u0442\u0430\u043a \u043a\u0430\u043a \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043e\u0431\u043c\u0435\u043d ICMPv6 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u043c\u0438 \u0438 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0435 \u043e\u0442\u0432\u0435\u0442\u043e\u0432. \u041a\u0430\u0436\u0434\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0436\u0434\u0435\u0442 \u0434\u043e 2 \u0441\u0435\u043a\u0443\u043d\u0434 \u043e\u0442\u0432\u0435\u0442\u0430. \u0415\u0441\u043b\u0438 \u0432\u044b \u0441\u043a\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0435 \u043c\u043d\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0438\u043b\u0438 \u0432\u0430\u0448 \u0441\u043e\u0441\u0435\u0434 \u043e\u0442\u043a\u043b\u0438\u043a\u0430\u0435\u0442\u0441\u044f \u043d\u0435 \u0441\u0440\u0430\u0437\u0443, \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0432\u043d\u0435\u0441\u0442\u0438 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0443 \u0432 \u043d\u0430\u0447\u0430\u043b\u043e \u0442\u0435\u0441\u0442\u0430. \u041f\u043b\u0430\u043d\u0438\u0440\u0443\u0439\u0442\u0435 \u044d\u0442\u043e \u0432 \u0442\u0430\u0439\u043c\u0438\u043d\u0433 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u043e\u043d\u0430. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c timeout \u0438 retries \u043f\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u0437\u043d\u0430\u0435\u0442\u0435, \u0447\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u043e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u043e, \u0443\u0432\u0435\u043b\u0438\u0447\u044c\u0442\u0435 \u0442\u0430\u0439\u043c\u0430\u0443\u0442 \u0438\u043b\u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u043f\u044b\u0442\u043e\u043a. \u0415\u0441\u043b\u0438 \u0436\u0435 \u0445\u043e\u0442\u0438\u0442\u0435 \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u0438 \u043d\u0435 \u0436\u0434\u0430\u0442\u044c \u043b\u0438\u0448\u043d\u0435\u0433\u043e, \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u0442\u0430\u0439\u043c\u0430\u0443\u0442 (\u043d\u043e \u0435\u0441\u0442\u044c \u0440\u0438\u0441\u043a \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0442\u0432\u0435\u0442, \u0435\u0441\u043b\u0438 \u0441\u043e\u0441\u0435\u0434 \u043d\u0435 \u0443\u0441\u043f\u0435\u0435\u0442 \u043e\u0442\u0432\u0435\u0442\u0438\u0442\u044c).<\/p>\n<\/li>\n<li>\n<p><strong>\u0421\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c \u0441 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435\u043c:<\/strong> \u0412 \u0446\u0435\u043b\u043e\u043c, \u043f\u043b\u0430\u0433\u0438\u043d IPv6ND \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u0441\u0435\u0442\u0435\u0432\u044b\u043c\u0438 \u043a\u0430\u0440\u0442\u0430\u043c\u0438, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u043c\u0438 TRex (DPDK-\u043f\u043e\u0440\u0442\u0430\u043c\u0438). \u041e\u0441\u043e\u0431\u044b\u0445 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u043a NIC \u043d\u0435\u0442 &#8212; ND \u043f\u043e\u0441\u044b\u043b\u0430\u0435\u0442 \u043e\u0431\u044b\u0447\u043d\u044b\u0435 Ethernet+IPv6 \u043f\u0430\u043a\u0435\u0442\u044b. \u0422\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435, \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0440\u0435\u0434\u0430\u0445 (VF, SR-IOV, \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0432\u0438\u0447\u0438) \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0432\u0430\u0448 \u0445\u043e\u0441\u0442\/\u0433\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440 \u043d\u0435 \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442 \u043c\u0443\u043b\u044c\u0442\u0438\u043a\u0430\u0441\u0442-\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f ff02::\/16. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, solicited-node multicast \u0430\u0434\u0440\u0435\u0441, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 TRex \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 NS, \u0438\u043c\u0435\u0435\u0442 MAC \u0432\u0438\u0434\u0430 33:33:xx:xx:xx:xx. \u041e\u0431\u044b\u0447\u043d\u043e DPDK-\u043f\u043e\u0440\u0442 TRex \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 promisc \u0440\u0435\u0436\u0438\u043c\u0435 \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442 \u043e\u0442\u0432\u0435\u0442 NA, \u0430\u0434\u0440\u0435\u0441\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0435\u0433\u043e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u043c\u0443 MAC. \u041d\u043e \u0435\u0441\u043b\u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0444\u0438\u043b\u044c\u0442\u0440\u044b \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 vswitch (Open vSwitch, etc.) \u0438\u043b\u0438 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d IPv6 ND snooping \u0438\u043b\u0438 RA Guard), \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u043c\u0435\u0448\u0430\u0442\u044c \u043e\u0431\u043c\u0435\u043d\u0443 NDP. \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044f &#8212; \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u043b\u0438 \u043e\u0431\u044b\u0447\u043d\u044b\u0439 ping6 \u043c\u0435\u0436\u0434\u0443 TRex-\u0445\u043e\u0441\u0442\u043e\u043c \u0438 \u0441\u043e\u0441\u0435\u0434\u043d\u0438\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c \u0432\u043d\u0435 TRex (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0432 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e IP \u043d\u0430 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 \u041e\u0421). \u042d\u0442\u043e \u0434\u0430\u0441\u0442 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u044c, \u0447\u0442\u043e \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0441\u0435\u0442\u0438 ICMPv6 \u043d\u0435 \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442\u0441\u044f.<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041f\u0440\u0438\u043c\u0435\u0440 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f: <\/strong>\u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u041e\u0421\/\u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0438 \u043e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 NS \u0434\u043b\u044f link-local \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u043c\u043e\u0433\u0443\u0442 \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c\u0441\u044f \u043e\u0442 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0445. TRex \u043e\u0431\u044b\u0447\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 global \u0438\u043b\u0438 link-local \u0430\u0434\u0440\u0435\u0441 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430. \u0415\u0441\u043b\u0438 \u0432\u044b \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u0441\u043e\u0441\u0435\u0434\u0438 \u043d\u0435 \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0442 \u043d\u0430 NS, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c link-local \u0430\u0434\u0440\u0435\u0441 TRex \u043a\u0430\u043a \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a (\u0438\u043b\u0438 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442, global) &#8212; \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u0432\u0438\u0441\u0435\u0442\u044c \u043e\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u0442\u0435\u043a\u0430 \u0441\u043e\u0441\u0435\u0434\u0430. \u041e\u0434\u043d\u0430\u043a\u043e \u0432 \u043e\u0431\u0449\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u043b\u044e\u0431\u043e\u0439 NS, \u043f\u0440\u0438\u0448\u0435\u0434\u0448\u0438\u0439 \u043f\u043e \u043a\u0430\u043d\u0430\u043b\u0443, \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d \u0443\u0437\u043b\u043e\u043c, \u0447\u0435\u0439 IPv6 \u0440\u0430\u0432\u0435\u043d \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c\u043e\u043c\u0443 (RFC4861 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 NA \u0432 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441, \u0435\u0441\u043b\u0438 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u0430\u0434\u0440\u0435\u0441 \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043c \u0441 \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0443\u0437\u043b\u0430, \u0432\u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0430\u0434\u0440\u0435\u0441\u0430 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430, \u0435\u0441\u043b\u0438 \u043e\u043d \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438).<\/p>\n<p><strong>\u041b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0430:<\/strong> \u0415\u0441\u043b\u0438 ND \u043d\u0435 \u0443\u0434\u0430\u0451\u0442\u0441\u044f (\u043d\u0435\u0442 \u043e\u0442\u0432\u0435\u0442\u0430), \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 verbose_level=STLServiceIPv6ND.INFO \u0438\u043b\u0438 \u0444\u043b\u0430\u0433 -V \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438. \u042d\u0442\u043e \u043f\u043e\u043a\u0430\u0436\u0435\u0442, \u0431\u044b\u043b\u0438 \u043b\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u044b NS, \u0431\u044b\u043b\u0438 \u043b\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u044b \u043a\u0430\u043a\u0438\u0435-\u043b\u0438\u0431\u043e NA\/NS, \u0442\u0430\u0439\u043c\u0430\u0443\u0442\u044b, retries \u0438 \u043f\u0440. \u041f\u043e \u044d\u0442\u043e\u043c\u0443 \u043b\u043e\u0433\u0443 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043d\u044f\u0442\u044c, \u0434\u043e\u0448\u0435\u043b \u043b\u0438 \u0437\u0430\u043f\u0440\u043e\u0441 \u0434\u043e \u0441\u043e\u0441\u0435\u0434\u0430 \u0438 \u0432\u0438\u0434\u0438\u0442 \u043b\u0438 TRex \u043e\u0442\u0432\u0435\u0442\u044b. \u0415\u0441\u043b\u0438 \u0432\u0438\u0434\u0438\u0442\u0435, \u0447\u0442\u043e NA \u043d\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0439\u0442\u0435 \u0441\u0435\u0442\u0435\u0432\u043e\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0441\u043e\u0441\u0435\u0434\u0430. \u0415\u0441\u043b\u0438 NA \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442, \u043d\u043e TRex \u0435\u0433\u043e \u201c\u043d\u0435 \u0437\u0430\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u201d &#8212; \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0444\u043e\u0440\u043c\u0430\u0442 \u0430\u0434\u0440\u0435\u0441\u0430 \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445 \u0442\u043e\u0447\u043d\u043e \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 (\u0431\u044b\u043b\u0438 \u0441\u043b\u0443\u0447\u0430\u0438, \u043a\u043e\u0433\u0434\u0430 \u0440\u0430\u0437\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 hex-\u0446\u0438\u0444\u0440 \u0432 \u0437\u0430\u043f\u0438\u0441\u0438 \u0430\u0434\u0440\u0435\u0441\u0430 \u043c\u0435\u0448\u0430\u043b \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044e &#8212; \u0432 \u043d\u043e\u0432\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 \u044d\u0442\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e, \u043d\u043e \u043d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u043f\u0438\u0448\u0438\u0442\u0435 IPv6 \u0432 \u043d\u0438\u0436\u043d\u0435\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435).<\/p>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 IPv6 ND \u0432 TRex \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0442\u0435\u0441\u0442\u043e\u0432 \u0432 IPv6-\u0441\u0435\u0442\u044f\u0445. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 MAC-\u0430\u0434\u0440\u0435\u0441\u0430 \u0441\u043e\u0441\u0435\u0434\u0435\u0439 \u0438 \u0438\u0437\u0431\u0435\u0433\u0430\u0442\u044c \u0440\u0443\u0447\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0447\u0442\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0432 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u043d\u044b\u0445 \u0438\u043b\u0438 \u043a\u0440\u0443\u043f\u043d\u043e\u043c\u0430\u0441\u0448\u0442\u0430\u0431\u043d\u044b\u0445 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u0441\u0442\u0435\u043d\u0434\u0430\u0445. \u0413\u043b\u0430\u0432\u043d\u043e\u0435 &#8212; \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0432 \u0432\u0430\u0448 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 (\u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u044d\u0442\u0430\u043f \u043f\u0435\u0440\u0435\u0434 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u043e\u0439 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430) \u0438 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u043d\u044e\u0430\u043d\u0441\u044b. \u0421 \u0443\u0447\u0451\u0442\u043e\u043c \u044d\u0442\u0438\u0445 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0439 TRex \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c IPv6-\u0442\u0440\u0430\u0444\u0438\u043a \u0442\u0430\u043a \u0436\u0435 \u0443\u0434\u043e\u0431\u043d\u043e, \u043a\u0430\u043a \u0438 IPv4, \u043d\u0435 \u0431\u0435\u0441\u043f\u043e\u043a\u043e\u044f\u0441\u044c \u043e \u0440\u0443\u0447\u043d\u043e\u043c \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u043d\u0438\u0438 L2-\u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432.<\/p>\n<h2>\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f TRex \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 IPv6<\/h2>\n<p>\u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 TRex \u0432\u0435\u0440\u0441\u0438\u0438 3.06 \u0434\u043b\u044f IPv6-\u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u043d\u0443\u0436\u043d\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439:<\/p>\n<ul>\n<li>\n<p><strong>IPv6-\u0430\u0434\u0440\u0435\u0441\u0430 \u043d\u0435 \u043d\u0430\u0437\u043d\u0430\u0447\u0430\u044e\u0442\u0441\u044f \u043f\u043e\u0440\u0442\u0430\u043c TRex:<\/strong> TRex \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c IPv6 \u043d\u0430 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 \u043f\u043e\u0440\u0442\u0430 \u0432 stateless-\u0440\u0435\u0436\u0438\u043c\u0435 (\u043d\u0438 \u0447\u0435\u0440\u0435\u0437 YAML, \u043d\u0438 \u0447\u0435\u0440\u0435\u0437 GUI). <strong>\u041f\u043e\u0440\u0442 \u043c\u043e\u0436\u0435\u0442 \u0438\u043c\u0435\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e IPv4 \u0430\u0434\u0440\u0435\u0441<\/strong> (\u0434\u043b\u044f \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0445 \u0446\u0435\u043b\u0435\u0439, ARP). \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e Neighbor Discovery &#8212; TRex \u043d\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 NS\/NA \u0437\u0430\u043f\u0440\u043e\u0441\u044b, \u0438 MAC-\u0430\u0434\u0440\u0435\u0441\u0430 \u0441\u043e\u0441\u0435\u0434\u0435\u0439 \u043d\u0435 \u0443\u0437\u043d\u0430\u044e\u0442\u0441\u044f \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438. \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0434\u043e\u043b\u0436\u0435\u043d \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0443\u043a\u0430\u0437\u0430\u0442\u044c MAC \u0432 \u043f\u043e\u0442\u043e\u043a\u0430\u0445 \u0438\u043b\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435 (\u043a\u0430\u043a \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0432\u044b\u0448\u0435).<\/p>\n<\/li>\n<li>\n<p><strong>\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 ND\/ARP \u0432 Stateless:<\/strong> \u0414\u0430\u0436\u0435 \u0434\u043b\u044f IPv4 \u0432 stateless-\u0440\u0435\u0436\u0438\u043c\u0435 TRex \u043d\u0435 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u044d\u043c\u0443\u043b\u0438\u0440\u0443\u0435\u0442 ARP (\u043e\u043d \u043c\u043e\u0436\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043e\u0434\u0438\u043d ARP \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435, \u043d\u043e \u043d\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438). \u0414\u043b\u044f IPv6 \u0442\u0430\u043a\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043d\u0435\u0442 \u0432\u043e\u0432\u0441\u0435. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438 \u043b\u044e\u0431\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u0445 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0438 \u0438\u043b\u0438 \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c MAC-\u0430\u0434\u0440\u0435\u0441\u0430 \u0432 \u043f\u043e\u0442\u043e\u043a\u0430\u0445 \u0438\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c service \u0440\u0435\u0436\u0438\u043c \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e.<\/p>\n<\/li>\n<\/ul>\n<p>\u0412 \u0446\u0435\u043b\u043e\u043c, \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f IPv6-\u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0432 TRex \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u043d\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u0440\u0443\u0447\u043d\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438.\u00a0 \u041c\u043d\u043e\u0433\u043e\u0435 \u043d\u0443\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u043b\u0438 \u0432 \u043a\u043e\u0434\u0435, \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u043f\u043e\u043b\u044f IPv6-\u043f\u0430\u043a\u0435\u0442\u0430, \u044f\u0432\u043d\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c MAC-\u0430\u0434\u0440\u0435\u0441\u0430, \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 ND, \u0438 \u043f\u043e\u043c\u043d\u0438\u0442\u044c \u043e \u0442\u043e\u043c, \u0447\u0442\u043e TRex 3.06 (Stateless) \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e\u0433\u043e IPv6 \u0441\u0442\u0435\u043a\u0430. \u0421\u043b\u0435\u0434\u0443\u044f \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u043c \u0448\u0430\u0433\u0430\u043c \u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u043c, \u0432\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0440\u0430\u0444\u0438\u043a \u0441 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c\u0438 IPv6-\u0430\u0434\u0440\u0435\u0441\u0430\u043c\u0438 \u043d\u0430 \u043d\u0443\u0436\u043d\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438. \u0412\u0441\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0431\u044b\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u044b \u043d\u0430 TRex v3.06 \u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u044b \u043a \u0434\u0430\u043d\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438.<\/p>\n<h2>\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0432 Stateful-\u0440\u0435\u0436\u0438\u043c\u0435 (ASTF)<\/h2>\n<p>\u041e\u0442\u0432\u043b\u0435\u0447\u0435\u043c\u0441\u044f \u043e\u0442 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e IPv6 \u0432 TRex \u0438 \u044f \u043a\u043e\u0440\u043e\u0442\u043a\u043e \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Statefull-\u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u0438 \u043a\u0430\u043a \u0435\u0433\u043e \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438. Stateful \u0440\u0435\u0436\u0438\u043c TRex (ASTF) \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 L4-L7, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u043e\u0439 \u0442\u0440\u0430\u0444\u0438\u043a.<\/p>\n<p>\u041c\u0435\u0442\u043e\u0434\u0438\u043a\u0430 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0432 \u0441\u0435\u0431\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432.\u00a0<\/p>\n<p>\u041f\u0435\u0440\u0432\u044b\u0439 \u044d\u0442\u043e <strong>\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 L4-L7 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432<\/strong>. \u0426\u0435\u043b\u044c \u0442\u0430\u043a\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0446\u0435\u043d\u0438\u0442\u044c \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u0444\u0430\u0435\u0440\u0432\u043e\u043b\u044b, NAT-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0438 DPI-\u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0431\u044a\u0435\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u0438 \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u043e\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430. \u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u044d\u0442\u0438\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 (PPS), \u043d\u043e \u0438 \u043e\u0442 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 (CPS), \u043e\u0431\u0449\u0435\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0438 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 L7:\u00a0\u00a0\u00a0<\/p>\n<ul>\n<li>\n<p><strong>NAT (Network Address Translation)<\/strong>: \u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u044e \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u043f\u043e\u0434 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439. TRex \u043c\u043e\u0436\u0435\u0442 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0440\u0430\u0444\u0438\u043a \u043a\u0430\u043a \u0441 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u0439, \u0442\u0430\u043a \u0438 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, \u0438\u043c\u0438\u0442\u0438\u0440\u0443\u044f \u043f\u0440\u043e\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0447\u0435\u0440\u0435\u0437 NAT-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e.\u00a0\u00a0\u00a0<\/p>\n<\/li>\n<li>\n<p><strong>DPI (Deep Packet Inspection):<\/strong> \u041e\u0446\u0435\u043d\u043a\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0449\u0438\u0445 \u0433\u043b\u0443\u0431\u043e\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u043f\u0430\u043a\u0435\u0442\u043e\u0432. TRex \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u0435 PCAP-\u0444\u0430\u0439\u043b\u044b (\u0434\u043e 1 \u0422\u0411) \u0441 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u043c \u0442\u0440\u0430\u0444\u0438\u043a\u043e\u043c, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0442\u0449\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c DPI-\u0441\u0438\u0441\u0442\u0435\u043c.\u00a0\u00a0\u00a0<\/p>\n<\/li>\n<li>\n<p><strong>Load Balancer (\u0411\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438)<\/strong>: \u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0438 \u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u0438 \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 \u043f\u0440\u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u0438 \u0431\u043e\u043b\u044c\u0448\u043e\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u043f\u043e\u0442\u043e\u043a\u043e\u0432. ASTF \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u043c\u0438\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432, \u043e\u0431\u0440\u0430\u0449\u0430\u044e\u0449\u0438\u0445\u0441\u044f \u043a \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u043a\u0438 \u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443.\u00a0\u00a0\u00a0<\/p>\n<\/li>\n<li>\n<p><strong>Firewalls (\u0424\u0430\u0435\u0440\u0432\u043e\u043b\u044b) \/ IPS\/IDS (Intrusion Prevention\/Detection Systems):<\/strong> \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0444\u0430\u0435\u0440\u0432\u043e\u043b\u043e\u0432 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u044b \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u0442\u044c\/\u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u0432\u0442\u043e\u0440\u0436\u0435\u043d\u0438\u044f \u0431\u0435\u0437 \u0434\u0435\u0433\u0440\u0430\u0434\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438.\u00a0\u00a0\u00a0<\/p>\n<\/li>\n<\/ul>\n<p>\u0412\u0442\u043e\u0440\u043e\u0439 &#8212; \u044d\u0442\u043e \u044d\u043c\u0443\u043b\u044f\u0446\u0438\u044f \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u0422\u043e \u0435\u0441\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0440\u0430\u0444\u0438\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0442\u043e\u0447\u043d\u043e \u0438\u043c\u0438\u0442\u0438\u0440\u0443\u0435\u0442 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u042d\u0442\u043e \u0432\u0430\u0436\u043d\u043e, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0442\u0440\u0430\u0444\u0438\u043a \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u0432\u044b\u044f\u0432\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0449\u0438\u0435 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438. \u0420\u0435\u0430\u043b\u0438\u0441\u0442\u0438\u0447\u043d\u044b\u0439 \u0442\u0440\u0430\u0444\u0438\u043a \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u043e \u043e\u0446\u0435\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c DUT.<\/p>\n<ul>\n<li>\n<p><strong>L7 Application Emulation:<\/strong> TRex \u043c\u043e\u0436\u0435\u0442 \u044d\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 L7-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a HTTP, HTTPS, Citrix. \u042d\u0442\u043e \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u043d\u0435 \u0437\u0430 \u0441\u0447\u0435\u0442 \u043f\u043e\u043b\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430, \u0430 \u043f\u0443\u0442\u0435\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 (send, wait_for_response, delay, close), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u044e\u0442 &#171;\u0438\u0441\u0442\u043e\u0440\u0438\u044e&#187; \u0438\u043b\u0438 &#171;\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443&#187; \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0434\u043b\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c L7-\u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0431\u0435\u0437 \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u043e\u0439 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438.\u00a0\u00a0\u00a0<\/p>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p><strong>EMIX Traffic Profile:<\/strong> \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u043f\u0440\u043e\u0444\u0438\u043b\u0435\u0439 \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a EMIX (Enterprise Mix), \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u0438\u043c\u0438\u0442\u0430\u0446\u0438\u0438 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438. EMIX \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0435 \u0441\u043e\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 TCP\/UDP \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439, \u0441\u0440\u0435\u0434\u043d\u0438\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u043f\u0430\u043a\u0435\u0442\u0430 \u0438 PPS\/CPS. \u042d\u0442\u043e\u0442 \u043f\u0440\u043e\u0444\u0438\u043b\u044c \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u043e\u0432 NBAR\/AVC (Network Based Application Recognition\/Application Visibility and Control).\u00a0\u00a0\u00a0<\/p>\n<\/li>\n<li>\n<p><strong>PCAP Replay:<\/strong> \u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0437\u0430\u0445\u0432\u0430\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0438\u0437 PCAP-\u0444\u0430\u0439\u043b\u043e\u0432 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u044b\u0441\u043e\u043a\u043e\u0440\u0435\u0430\u043b\u0438\u0441\u0442\u0438\u0447\u043d\u044b\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u043f\u043e\u0442\u043e\u043a\u043e\u0432. TRex \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u0435 PCAP-\u0444\u0430\u0439\u043b\u044b \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0434\u043e 1 \u0422\u0411, \u0447\u0442\u043e \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u043e \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 DPI \u0438\u043b\u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0441\u0435\u0442\u0438 \u043f\u043e\u0434 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439, \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0435\u043d\u043d\u043e\u0439 \u043a \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439.\u00a0\u00a0\u00a0<\/p>\n<\/li>\n<\/ul>\n<p>\u0422\u0440\u0435\u0442\u0438\u0439 &#8212; \u044d\u0442\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432 \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0441\u043e\u0441\u0435\u0434\u0441\u0442\u0432\u043e, \u043e\u0431\u043c\u0435\u043d\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0430\u043c\u0438 \u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0438 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438. \u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438 (BGP, OSPF, RIP) \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043e\u0441\u043d\u043e\u0432\u043e\u0439 \u0441\u0432\u044f\u0437\u043d\u043e\u0441\u0442\u0438 \u0441\u0435\u0442\u0438, \u0438 \u0438\u0445 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0434 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043b\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u043e\u0441\u0442\u0438.<\/p>\n<p>TRex \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u043d \u0441 Bird Internet Routing Daemon (BIRD), \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u044d\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u044b \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u043e\u0432 \u0438 \u0434\u043e 10K \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 \u0441 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u043c\u0438 VLAN\/QinQ.\u00a0\u00a0\u00a0<\/p>\n<ul>\n<li>\n<p><strong>BGP:<\/strong> \u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 BGP, \u0432\u043a\u043b\u044e\u0447\u0430\u044f eBGP\/iBGP, RPKI, route reflection, graceful restart \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f.\u00a0\u00a0\u00a0<\/p>\n<\/li>\n<li>\n<p><strong>OSPF: <\/strong>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 OSPFv2\/v3.\u00a0\u00a0\u00a0<\/p>\n<\/li>\n<li>\n<p><strong>RIP:<\/strong> \u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 RIPv1\/v2\/ng.\u00a0\u00a0\u00a0<\/p>\n<\/li>\n<\/ul>\n<p>\u0414\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043f\u0440\u043e\u0444\u0438\u043b\u0435\u0439 \u0432 ASTF-\u0440\u0435\u0436\u0438\u043c\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f Python API, \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u043d\u0430 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u043c \u0441\u0430\u0439\u0442\u0435 \u0438 \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 TRex. <\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td data-colwidth=\"130\" width=\"130\">\n<p align=\"left\"><strong>\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"113\" width=\"113\">\n<p align=\"left\"><strong>\u0422\u0438\u043f \u044d\u043c\u0443\u043b\u044f\u0446\u0438\u0438 L7<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"112\" width=\"112\">\n<p align=\"left\"><strong>\u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 (CPS)<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"125\" width=\"125\">\n<p align=\"left\"><strong>\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u043f\u043e\u0442\u043e\u043a\u043e\u0432<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"111\" width=\"111\">\n<p align=\"left\"><strong>\u041f\u0440\u043e\u0444\u0438\u043b\u044c \u0442\u0440\u0430\u0444\u0438\u043a\u0430<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u0426\u0435\u043b\u044c<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"130\" width=\"130\">\n<p align=\"left\">HTTP Performance<\/p>\n<\/td>\n<td data-colwidth=\"113\" width=\"113\">\n<p align=\"left\">HTTP (GET\/POST \u0437\u0430\u043f\u0440\u043e\u0441\u044b, \u043e\u0442\u0432\u0435\u0442\u044b)<\/p>\n<\/td>\n<td data-colwidth=\"112\" width=\"112\">\n<p align=\"left\">\u0412\u044b\u0441\u043e\u043a\u0430\u044f (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, 100K CPS)<\/p>\n<\/td>\n<td data-colwidth=\"125\" width=\"125\">\n<p align=\"left\">\u041c\u0438\u043b\u043b\u0438\u043e\u043d\u044b<\/p>\n<\/td>\n<td data-colwidth=\"111\" width=\"111\">\n<p align=\"left\">\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 HTTP-\u0448\u0430\u0431\u043b\u043e\u043d\u044b, EMIX<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432, \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u043e\u0432 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u0444\u0430\u0435\u0440\u0432\u043e\u043b\u043e\u0432 \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 HTTP-\u0442\u0440\u0430\u0444\u0438\u043a\u0430.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"130\" width=\"130\">\n<p align=\"left\">NAT Throughput<\/p>\n<\/td>\n<td data-colwidth=\"113\" width=\"113\">\n<p align=\"left\">TCP\/UDP (\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u0440\u0442\u044b)<\/p>\n<\/td>\n<td data-colwidth=\"112\" width=\"112\">\n<p align=\"left\">\u0412\u044b\u0441\u043e\u043a\u0430\u044f (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, 50K CPS)<\/p>\n<\/td>\n<td data-colwidth=\"125\" width=\"125\">\n<p align=\"left\">\u041c\u0438\u043b\u043b\u0438\u043e\u043d\u044b<\/p>\n<\/td>\n<td data-colwidth=\"111\" width=\"111\">\n<p align=\"left\">PCAP-\u0444\u0430\u0439\u043b \u0441 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u043c \u0442\u0440\u0430\u0444\u0438\u043a\u043e\u043c, EMIX<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041e\u0446\u0435\u043d\u043a\u0430 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0438 \u0435\u043c\u043a\u043e\u0441\u0442\u0438 NAT-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u0438 \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0439.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"130\" width=\"130\">\n<p align=\"left\">DPI Load Testing<\/p>\n<\/td>\n<td data-colwidth=\"113\" width=\"113\">\n<p align=\"left\">\u0420\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 L7-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f (HTTP, FTP, P2P, \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u043e\u0435 \u0432\u0438\u0434\u0435\u043e)<\/p>\n<\/td>\n<td data-colwidth=\"112\" width=\"112\">\n<p align=\"left\">\u0421\u0440\u0435\u0434\u043d\u044f\u044f (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, 10K CPS)<\/p>\n<\/td>\n<td data-colwidth=\"125\" width=\"125\">\n<p align=\"left\">\u0421\u043e\u0442\u043d\u0438 \u0442\u044b\u0441\u044f\u0447<\/p>\n<\/td>\n<td data-colwidth=\"111\" width=\"111\">\n<p align=\"left\">\u041a\u0440\u0443\u043f\u043d\u044b\u0435 PCAP-\u0444\u0430\u0439\u043b\u044b (\u0434\u043e 1 \u0422\u0411)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 DPI-\u0441\u0438\u0441\u0442\u0435\u043c \u043f\u0440\u0438 \u0433\u043b\u0443\u0431\u043e\u043a\u043e\u043c \u0430\u043d\u0430\u043b\u0438\u0437\u0435 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0435\u0440\u0436\u0435\u043a \u0438 \u043f\u043e\u0442\u0435\u0440\u044c.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"130\" width=\"130\">\n<p align=\"left\">Firewall Session Scale<\/p>\n<\/td>\n<td data-colwidth=\"113\" width=\"113\">\n<p align=\"left\">TCP (\u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0444\u043b\u0430\u0433\u0438, \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435\/\u0434\u043b\u0438\u043d\u043d\u044b\u0435 \u0441\u0435\u0441\u0441\u0438\u0438)<\/p>\n<\/td>\n<td data-colwidth=\"112\" width=\"112\">\n<p align=\"left\">\u041e\u0447\u0435\u043d\u044c \u0432\u044b\u0441\u043e\u043a\u0430\u044f (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, 200K CPS)<\/p>\n<\/td>\n<td data-colwidth=\"125\" width=\"125\">\n<p align=\"left\">\u041c\u0438\u043b\u043b\u0438\u043e\u043d\u044b<\/p>\n<\/td>\n<td data-colwidth=\"111\" width=\"111\">\n<p align=\"left\">\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u043f\u0440\u043e\u0444\u0438\u043b\u0438 TCP\/UDP<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0441\u0435\u0441\u0441\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0444\u0430\u0435\u0440\u0432\u043e\u043b.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"130\" width=\"130\">\n<p align=\"left\">EMIX Load<\/p>\n<\/td>\n<td data-colwidth=\"113\" width=\"113\">\n<p align=\"left\">\u0421\u043c\u0435\u0448\u0430\u043d\u043d\u044b\u0439 TCP\/UDP (HTTP, Mail, RTP, DNS)<\/p>\n<\/td>\n<td data-colwidth=\"112\" width=\"112\">\n<p align=\"left\">4K CPS \u043d\u0430 1 \u0413\u0431\u0438\u0442\/\u0441<\/p>\n<\/td>\n<td data-colwidth=\"125\" width=\"125\">\n<p align=\"left\">50K \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u043d\u0430 1 \u0413\u0431\u0438\u0442\/\u0441<\/p>\n<\/td>\n<td data-colwidth=\"111\" width=\"111\">\n<p align=\"left\">EMIX YAML \u043f\u0440\u043e\u0444\u0438\u043b\u044c<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041e\u0446\u0435\u043d\u043a\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u0440\u0435\u0430\u043b\u0438\u0441\u0442\u0438\u0447\u043d\u043e\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u0438\u043c\u0438\u0442\u0438\u0440\u0443\u044e\u0449\u0435\u0433\u043e \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u0441\u0435\u0442\u044c.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"130\" width=\"130\">\n<p align=\"left\">Routing Protocol Scale (BGP)<\/p>\n<\/td>\n<td data-colwidth=\"113\" width=\"113\">\n<p align=\"left\">BGP-\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f (UPDATE, KEEPALIVE)<\/p>\n<\/td>\n<td data-colwidth=\"112\" width=\"112\">\n<p align=\"left\">\u041d\u0438\u0437\u043a\u0430\u044f (\u0441\u043e\u0442\u043d\u0438 CPS)<\/p>\n<\/td>\n<td data-colwidth=\"125\" width=\"125\">\n<p align=\"left\">\u041c\u0438\u043b\u043b\u0438\u043e\u043d\u044b \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u043e\u0432<\/p>\n<\/td>\n<td data-colwidth=\"111\" width=\"111\">\n<p align=\"left\">\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 Bird Integration<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u043e\u0441\u0442\u0438 \u0438 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432 \u043f\u0440\u0438 \u0431\u043e\u043b\u044c\u0448\u043e\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u043e\u0432 \u0438 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f\u0445.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u0412 Stateful \u0440\u0435\u0436\u0438\u043c\u0435 TRex \u0442\u0430\u043a\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0434\u0432\u0430 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430, \u043d\u043e \u0438\u043c\u0438\u0442\u0438\u0440\u0443\u0435\u0442 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u0439 \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u0430\u043c\u0438 \u0442\u0440\u0430\u0444\u0438\u043a\u0430. \u0422\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e (DUT), \u0442\u0430\u043a\u043e\u0435 \u043a\u0430\u043a \u0444\u0430\u0435\u0440\u0432\u043e\u043b, NAT-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0438\u043b\u0438 \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u043c\u0435\u0436\u0434\u0443 TRex, \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u044e\u0449\u0438\u043c \u0432 \u0440\u043e\u043b\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430, \u0438 TRex, \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u044e\u0449\u0438\u043c \u0432 \u0440\u043e\u043b\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u041f\u043e\u0442\u043e\u043a\u0438 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0432 \u044d\u0442\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0434\u0432\u0443\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u0438 \u0441\u0435\u0441\u0441\u0438\u043e\u043d\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u044f\u0445 L4-L7. TRex \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u043a\u0430\u043a \u0432 \u0440\u043e\u043b\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430, \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u0443\u044e\u0449\u0435\u0433\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u0442\u0430\u043a \u0438 \u0432 \u0440\u043e\u043b\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0435\u0433\u043e \u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u044b.\u00a0\u00a0\u00a0<\/p>\n<p>\u0412 Stateful \u0440\u0435\u0436\u0438\u043c\u0435 TRex \u0442\u0430\u043a\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0434\u0432\u0430 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430, \u043d\u043e \u0438\u043c\u0438\u0442\u0438\u0440\u0443\u0435\u0442 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u0439 \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u0430\u043c\u0438 \u0442\u0440\u0430\u0444\u0438\u043a\u0430. \u0422\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e (DUT), \u0442\u0430\u043a\u043e\u0435 \u043a\u0430\u043a \u0444\u0430\u0435\u0440\u0432\u043e\u043b, NAT-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0438\u043b\u0438 \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u043c\u0435\u0436\u0434\u0443 TRex, \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u044e\u0449\u0438\u043c \u0432 \u0440\u043e\u043b\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430, \u0438 TRex, \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u044e\u0449\u0438\u043c \u0432 \u0440\u043e\u043b\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u041f\u043e\u0442\u043e\u043a\u0438 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0432 \u044d\u0442\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0434\u0432\u0443\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u0438 \u0441\u0435\u0441\u0441\u0438\u043e\u043d\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u044f\u0445 L4-L7. TRex \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u043a\u0430\u043a \u0432 \u0440\u043e\u043b\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430, \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u0443\u044e\u0449\u0435\u0433\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u0442\u0430\u043a \u0438 \u0432 \u0440\u043e\u043b\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0435\u0433\u043e \u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u044b.\u00a0\u00a0<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4d3\/7f7\/689\/4d37f7689c6af51bdc566d339af8bf32.png\" width=\"486\" height=\"507\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/4d3\/7f7\/689\/4d37f7689c6af51bdc566d339af8bf32.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4d3\/7f7\/689\/4d37f7689c6af51bdc566d339af8bf32.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>TRex \u043d\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u044b\u043c\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u043c\u0438 &#171;\u0442\u043e\u0447\u043a\u0430-\u0442\u043e\u0447\u043a\u0430&#187;. \u041e\u043d \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0447\u0440\u0435\u0437\u0432\u044b\u0447\u0430\u0439\u043d\u043e \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0438 \u0440\u0435\u0430\u043b\u0438\u0441\u0442\u0438\u0447\u043d\u044b\u0445 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0439, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u0433\u043b\u0443\u0431\u043e\u043a\u0443\u044e \u0438 \u0432\u0441\u0435\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u044e\u044e \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u044e \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432.<\/p>\n<ul>\n<li>\n<p><strong>GTP-U \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435:<\/strong> TRex \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f GTP-U \u0442\u0443\u043d\u043d\u0435\u043b\u0435\u0439, \u0433\u0434\u0435 TRex-\u043a\u043b\u0438\u0435\u043d\u0442 \u0438\u043d\u043a\u0430\u043f\u0441\u0443\u043b\u0438\u0440\u0443\u0435\u0442 \u0442\u0440\u0430\u0444\u0438\u043a, \u0430 TRex-\u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u0435\u0438\u043d\u043a\u0430\u043f\u0441\u0443\u043b\u0438\u0440\u0443\u0435\u0442 \u0435\u0433\u043e. \u042d\u0442\u043e \u0438\u043c\u0438\u0442\u0438\u0440\u0443\u0435\u0442 S\/GTPU-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b \u0432 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u0441\u0435\u0442\u044f\u0445, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0449\u0438\u0445 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0442\u0440\u0430\u0444\u0438\u043a.\u00a0\u00a0\u00a0<\/p>\n<\/li>\n<li>\n<p><strong>\u041c\u043d\u043e\u0433\u043e\u043f\u043e\u0440\u0442\u043e\u0432\u044b\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438:<\/strong> TRex \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u043e\u043b\u0435\u0435 \u0434\u0432\u0443\u0445 \u043f\u043e\u0440\u0442\u043e\u0432 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0439 \u0438\u043b\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0441 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u043c\u0438\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0440\u0430\u0444\u0438\u043a, \u043f\u0440\u043e\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0447\u0435\u0440\u0435\u0437 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u044b \u0441\u0435\u0442\u0438 \u0438\u043b\u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0441 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0442\u043e\u0447\u043a\u0430\u043c\u0438 \u0432\u0445\u043e\u0434\u0430\/\u0432\u044b\u0445\u043e\u0434\u0430 DUT.\u00a0\u00a0\u00a0<\/p>\n<\/li>\n<li>\n<p><strong>\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0440\u0435\u0434\u044b: <\/strong>TRex \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442 \u0432 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0440\u0435\u0434\u0430\u0445, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a Docker, Amazon AWS \u0438\u043b\u0438 Cisco LaaS. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0445, \u0447\u0442\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u043c \u0434\u043b\u044f \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c.\u00a0\u00a0\u00a0<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 TRex \u043c\u043d\u043e\u0433\u043e\u043f\u043e\u0440\u0442\u043e\u0432\u044b\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439, \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 (veth\/tap), \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 BIRD \u0434\u043b\u044f \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 GTP-U\u00a0 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043d\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d \u0431\u0430\u0437\u043e\u0432\u044b\u043c\u0438 \u0442\u0435\u0441\u0442\u0430\u043c\u0438. \u041e\u043d \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0435 \u0441\u0440\u0435\u0434\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u043e\u0447\u043d\u043e \u0438\u043c\u0438\u0442\u0438\u0440\u0443\u044e\u0442 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0441\u0435\u0442\u0438, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0435 \u0441\u0435\u0442\u0438 \u0441 GTP, \u043a\u0440\u0443\u043f\u043d\u044b\u0435 \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u0441\u0435\u0442\u0438 \u0441 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0438\u043b\u0438 \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0435 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f.\u00a0<\/p>\n<h2>\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 NAT<\/h2>\n<p>\u041f\u0440\u043e\u0432\u0435\u0434\u0435\u043c \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Statefull-\u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438. \u0421\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c \u0442\u0440\u0430\u0444\u0438\u043a \u0432 Stateful-\u0440\u0435\u0436\u0438\u043c\u0435 (ASTF) \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Cisco TRex \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440 \u043d\u0430 \u0431\u0430\u0437\u0435 VPP (Vector Packet Processing) \u0438 FRR (Free Range Routing) \u0441 \u0430\u043a\u0446\u0435\u043d\u0442\u043e\u043c \u043d\u0430 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 NAT. \u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<ul>\n<li>\n<p>TRex (ASTF) \u044d\u043c\u0443\u043b\u0438\u0440\u0443\u0435\u0442 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0435 \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0435 \u0441\u0435\u0441\u0441\u0438\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, TCP);<\/p>\n<\/li>\n<li>\n<p>\u0422\u0440\u0430\u0444\u0438\u043a \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0447\u0435\u0440\u0435\u0437 \u0441\u043e\u0444\u0442\u043e\u0432\u044b\u0439 \u0440\u043e\u0443\u0442\u0435\u0440 \u043d\u0430 \u0431\u0430\u0437\u0435 VPP \u0441 FRR \u0434\u043b\u044f \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438;<\/p>\n<\/li>\n<li>\n<p>\u041d\u0430 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f NAT (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, SNAT \u0438\u043b\u0438 DNAT);<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0426\u0435\u043b\u044c: <\/strong>\u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u044c NAT \u0438 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438.<\/p>\n<p>\u0424\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u0441\u0442\u0435\u043d\u0434\u0430 \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 \u043a\u0430\u043a \u0431\u044b\u043b\u0430 \u0434\u043e \u044d\u0442\u043e\u0433\u043e:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/53c\/232\/a92\/53c232a922143f38fe0d33b3c61f13b3.png\" width=\"527\" height=\"536\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/53c\/232\/a92\/53c232a922143f38fe0d33b3c61f13b3.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/53c\/232\/a92\/53c232a922143f38fe0d33b3c61f13b3.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>TRex \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0435 \u0441\u0435\u0441\u0441\u0438\u0438 \u0441 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0435 \u0441 \u0434\u0440\u0443\u0433\u043e\u0439. VPP \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 NAT, \u0430 FRR &#8212; \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u044e \u043c\u0435\u0436\u0434\u0443 \u0441\u0435\u0442\u044f\u043c\u0438. \u041d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u044c \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0439 \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c (CPS, throughput, latency).<\/p>\n<p>\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u043c DUT. \u0412 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 VPP (\/etc\/vpp\/startup.conf) \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043f\u043b\u0430\u0433\u0438\u043d nat_plugin.so:<\/p>\n<pre><code>plugins {     plugin dpdk_plugin.so { enable }     plugin nat_plugin.so { enable } }<\/code><\/pre>\n<p>\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b:\u00a0<\/p>\n<pre><code>$ systemctl restart vpp $ vppctl create sub-interfaces TwentyFiveGigabitEthernet1\/0\/0 3003 dot1q 3003 exact-match TwentyFiveGigabitEthernet1\/0\/0.3003  $ vppctl create sub-interfaces TwentyFiveGigabitEthernet1\/0\/1 3004 dot1q 3004 exact-match TwentyFiveGigabitEthernet1\/0\/1.3004  $ vppctl set interface state TwentyFiveGigabitEthernet1\/0\/0 up $ vppctl set interface state TwentyFiveGigabitEthernet1\/0\/0.3003 up  $ vppctl set interface state TwentyFiveGigabitEthernet1\/0\/1 up $ vppctl set interface state TwentyFiveGigabitEthernet1\/0\/1.3004 up  $ vppctl set interface ip address TwentyFiveGigabitEthernet1\/0\/0.3003 10.0.0.1\/24 $ vppctl set interface ip address TwentyFiveGigabitEthernet1\/0\/1.3004 20.0.0.1\/24<\/code><\/pre>\n<p>\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c source NAT (SNAT) \u0432 VPP \u0434\u043b\u044f \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0438\u0437 \u0441\u0435\u0442\u0438 10.0.0.0\/24 \u0432 \u0441\u0435\u0442\u044c 20.0.0.0\/24:<\/p>\n<pre><code>$ vppctl nat44 plugin enable sessions 1000000  $ vppctl nat44 add interface address TwentyFiveGigabitEthernet1\/0\/1.3004 $ vppctl set interface nat44 in TwentyFiveGigabitEthernet1\/0\/0.3003 out TwentyFiveGigabitEthernet1\/0\/1.3004  $ vppctl show nat44 sessions  $ vppctl show nat44 interfaces NAT44 interfaces:  TwentyFiveGigabitEthernet1\/0\/0.3003 in  TwentyFiveGigabitEthernet1\/0\/1.3004 out  $ vppctl show nat44 addresses NAT44 pool addresses: 10.0.0.1   tenant VRF independent 20.0.0.1   tenant VRF independent NAT44 twice-nat pool addresses:  $ vppctl show nat44 sessions NAT44 ED sessions: -------- thread 0 vpp_main: 0 sessions -------- -------- thread 1 vpp_wk_0: 251900 sessions --------     i2o 10.0.0.142 proto TCP port 14649 fib 0     o2i 20.0.0.1 proto TCP port 14649 fib 0        external host 20.0.0.142:80        i2o flow: match: saddr 10.0.0.142 sport 14649 daddr 20.0.0.142 dport 80 proto TCP fib_idx 0 rewrite: saddr 20.0.0.1 sport 14649 daddr 20.0.0.142 dport 80 txfib 0         o2i flow: match: saddr 20.0.0.142 sport 80 daddr 20.0.0.1 dport 14649 proto TCP fib_idx 0 rewrite: daddr 10.0.0.142 dport 14649 txfib 0         index 0        last heard 559.29        timeout in 238.55        total pkts 31, total bytes 1860        dynamic translation      i2o 10.0.0.138 proto TCP port 12072 fib 0     o2i 20.0.0.1 proto TCP port 12072 fib 0        external host 20.0.0.138:80        i2o flow: match: saddr 10.0.0.138 sport 12072 daddr 20.0.0.138 dport 80 proto TCP fib_idx 0 rewrite: saddr 20.0.0.1 sport 12072 daddr 20.0.0.138 dport 80 txfib 0         o2i flow: match: saddr 20.0.0.138 sport 80 daddr 20.0.0.1 dport 12072 proto TCP fib_idx 0 rewrite: daddr 10.0.0.138 dport 12072 txfib 0         index 1        last heard 559.39        timeout in 238.65        total pkts 31, total bytes 1860        dynamic translation  ....<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440 TRex \u0432 ASTF \u0440\u0435\u0436\u0438\u043c\u0435:<\/p>\n<pre><code>$ .\/t-rex-64 -i --cfg \/opt\/trex\/v3.06\/configs\/server_full_config.yaml --astf --learn-mode 1<\/code><\/pre>\n<p>\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043b \u043f\u0440\u043e\u0444\u0438\u043b\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 nat_test.py:<\/p>\n<pre><code>from trex.astf.api import *   class Prof1():     def get_profile(self):         # ip generator         ip_gen_c = ASTFIPGenDist(ip_range=[\"10.0.0.0\", \"10.0.0.255\"],                                  distribution=\"seq\")         ip_gen_s = ASTFIPGenDist(ip_range=[\"20.0.0.0\", \"20.0.0.255\"],                                   distribution=\"seq\")         ip_gen = ASTFIPGen(glob=ASTFIPGenGlobal(ip_offset=\"1.0.0.0\"),                                  dist_client=ip_gen_c,                            dist_server=ip_gen_s)          return ASTFProfile(default_ip_gen=ip_gen,                             cap_list=[ASTFCapInfo(                                       file=\"..\/avl\/delay_10_http_browsing_0.pcap\"                                       cps=1)                                      ])                                       def register():     return Prof1()<\/code><\/pre>\n<p>\u0412 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 TRex ASTF \u0437\u0430\u0433\u0440\u0443\u0437\u0436\u0430\u0435\u043c \u043f\u0440\u043e\u0444\u0438\u043b\u044c \u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439:<\/p>\n<pre><code><\/code><\/pre>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443 NAT \u0432 VPP \u0443\u0432\u0438\u0434\u0438\u043c \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0435\u0441\u0441\u0438\u0439:<\/p>\n<pre><code>$ vppctl show nat44 sessions NAT44 ED sessions: -------- thread 0 vpp_main: 0 sessions -------- -------- thread 1 vpp_wk_0: 251900 sessions --------     i2o 10.0.0.142 proto TCP port 14649 fib 0     o2i 20.0.0.1 proto TCP port 14649 fib 0        external host 20.0.0.142:80        i2o flow: match: saddr 10.0.0.142 sport 14649 daddr 20.0.0.142 dport 80 proto TCP fib_idx 0 rewrite: saddr 20.0.0.1 sport 14649 daddr 20.0.0.142 dport 80 txfib 0         o2i flow: match: saddr 20.0.0.142 sport 80 daddr 20.0.0.1 dport 14649 proto TCP fib_idx 0 rewrite: daddr 10.0.0.142 dport 14649 txfib 0         index 0        last heard 559.29        timeout in 238.55        total pkts 31, total bytes 1860        dynamic translation      i2o 10.0.0.138 proto TCP port 12072 fib 0     o2i 20.0.0.1 proto TCP port 12072 fib 0        external host 20.0.0.138:80        i2o flow: match: saddr 10.0.0.138 sport 12072 daddr 20.0.0.138 dport 80 proto TCP fib_idx 0 rewrite: saddr 20.0.0.1 sport 12072 daddr 20.0.0.138 dport 80 txfib 0         o2i flow: match: saddr 20.0.0.138 sport 80 daddr 20.0.0.1 dport 12072 proto TCP fib_idx 0 rewrite: daddr 10.0.0.138 dport 12072 txfib 0         index 1        last heard 559.39        timeout in 238.65        total pkts 31, total bytes 1860        dynamic translation  ....<\/code><\/pre>\n<p>\u0418 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u043c \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443 TRex ASTF \u043a\u0430\u0441\u0430\u0435\u043c\u043e \u043e\u0431\u044a\u0435\u043c\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445:<\/p>\n<pre><code>Global Statistics  connection   : localhost, Port 4501                       total_tx_L2  : 89.87 Mbps                      version      : ASTF @ v3.06                               total_tx_L1  : 112.38 Mbps                     cpu_util.    : 2.03% @ 16 cores (8 per dual port)         total_rx     : 23.81 Mbps                      rx_cpu_util. : 0.02% \/ 0 pps                              total_pps    : 140.72 Kpps                     async_util.  : 0% \/ 84.03 bps                             drop_rate    : 0 bps                      total_cps.   : 27.75 Kcps                                 queue_full   : 0 pkts                           Port Statistics     port    |         0         |         1         |         2         |         3         |       total        -----------+-------------------+-------------------+-------------------+-------------------+------------------ owner      |         megalloid |         megalloid |         megalloid |         megalloid |                    link       |                UP |                UP |                UP |                UP |                    state      |      TRANSMITTING |      TRANSMITTING |      TRANSMITTING |      TRANSMITTING |                    speed      |           10 Gb\/s |           10 Gb\/s |           10 Gb\/s |           10 Gb\/s |                    CPU util.  |             1.77% |             1.77% |             2.28% |             2.28% |                    --         |                   |                   |                   |                   |                    Tx bps L2  |        46.05 Mbps |             0 bps |        43.81 Mbps |             0 bps |        89.87 Mbps  Tx bps L1  |        57.31 Mbps |             0 bps |        55.07 Mbps |             0 bps |       112.38 Mbps  Tx pps     |        70.35 Kpps |             0 pps |        70.37 Kpps |             0 pps |       140.72 Kpps  Line Util. |            0.57 % |               0 % |            0.55 % |               0 % |                    ---        |                   |                   |                   |                   |                    Rx bps     |             0 bps |        23.81 Mbps |             0 bps |             0 bps |        23.81 Mbps  Rx pps     |             0 pps |             0 pps |             0 pps |             0 pps |             0 pps  ----       |                   |                   |                   |                   |                    opackets   |          31819854 |                 0 |          31819290 |                 0 |          63639144  ipackets   |                 0 |                 0 |                 0 |                 0 |                 0  obytes     |        2603790588 |                 0 |        2476467168 |                 0 |        5080257756  ibytes     |                 0 |        1258094280 |                 0 |                 0 |        1258094280  tx-pkts    |       31.82 Mpkts |            0 pkts |       31.82 Mpkts |            0 pkts |       63.64 Mpkts  rx-pkts    |            0 pkts |            0 pkts |            0 pkts |            0 pkts |            0 pkts  tx-bytes   |            2.6 GB |               0 B |           2.48 GB |               0 B |           5.08 GB  rx-bytes   |               0 B |           1.26 GB |               0 B |               0 B |           1.26 GB  -----      |                   |                   |                   |                   |                    oerrors    |                 0 |                 0 |                 0 |                 0 |                 0  ierrors    |                 0 |                 0 |                 0 |                 0 |        20,968,238   status:  -  browse:     'ESC' - console, 'q' - quit, 'd' - dashboard, 'u' - util, 't' - astf, 'l' - latency, 's' - streams,  dashboard:  'n' - reset view, 'o' - owned ports, 'a' - all ports, 'c' - clear,<\/code><\/pre>\n<p>\u0418 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0432\u0438\u0434\u0430\u043c\u0438 \u043c\u0435\u0442\u0440\u0438\u043a \u043d\u0430\u0436\u0430\u0442\u0438\u0435\u043c \u043a\u043b\u0430\u0432\u0438\u0448\u0438 Esc \u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u0432\u0438\u0434\u043e\u0432 \u043c\u0435\u0442\u0440\u0438\u043a:<\/p>\n<pre><code>                   |     client  |        server |  --------------------------------------------------------------------------------    m_active_flows  |      39965  |        39966  |  active flows       m_est_flows  |      39950  |        39952  |  active est flows      m_tx_bw_l7_r  | 31.14 Mbps  |    4.09 Gbps  |  tx bw      m_rx_bw_l7_r  |  4.09 Gbps  |   31.14 Mbps  |  rx bw        m_tx_pps_r  |140.36 Kpps  |  124.82 Kpps  |  tx pps        m_rx_pps_r  |156.05 Kpps  |  155.87 Kpps  |  rx pps        m_avg_size  |    1.74 KB  |      1.84 KB  |  average pkt size                 -  |        ---  |          ---  |               TCP  |        ---  |          ---  |                 -  |        ---  |          ---  |  tcps_connattempt  |      73936  |            0  |  connections initiated      tcps_accepts  |          0  |        73924  |  connections accepted     tcps_connects  |      73921  |        73910  |  connections established       tcps_closed  |      33971  |        33958  |  conn. closed (includes drops)    tcps_segstimed  |     213451  |       558085  |  segs where we tried to get rtt   tcps_rttupdated  |     213416  |       549736  |  times we succeeded       tcps_delack  |     344742  |            0  |  delayed acks sent     tcps_sndtotal  |     623780  |       558085  |  total packets sent      tcps_sndpack  |      73921  |       418569  |  data packets sent      tcps_sndbyte  |   18406329  |   2270136936  |  data bytes sent      tcps_sndctrl  |      73936  |            0  |  control (SYN,FIN,RST) packets sent      tcps_sndacks  |     475923  |       139516  |  ack-only packets sent      tcps_rcvpack  |     550465  |       139502  |  packets received in sequence      tcps_rcvbyte  | 2269941776  |     18403590  |  bytes received in sequence   tcps_rcvackpack  |     139495  |       549736  |  rcvd ack packets   tcps_rcvackbyte  |   18468679  |   2222057965  |  tx bytes acked by rcvd acks      tcps_preddat  |     410970  |            0  |  times hdr predict ok for data pkts    tcps_rcvoopack  |          0  |            0  |  *out-of-order packets received   #(1)                 -  |        ---  |          ---  |        Flow Table  |        ---  |          ---  |                 -  |        ---  |          ---  |    redirect_rx_ok  |          0  |            1  |  redirect to rx OK status:  \\ <\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043e\u0431\u0440\u0430\u0449\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0430:<\/p>\n<ol>\n<li>\n<p>\u041a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u044c NAT: \u0432\u0441\u0435 TCP-\u0441\u0435\u0441\u0441\u0438\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0438 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0442\u044c\u0441\u044f.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c: \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0435\u0441\u0441\u0438\u0439 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 (CPS) \u0438 \u043e\u0431\u0449\u0435\u0435 \u0447\u0438\u0441\u043b\u043e \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439.<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u0434\u0435\u0440\u0436\u043a\u0438 \u0438 \u043f\u043e\u0442\u0435\u0440\u0438 \u043f\u0430\u043a\u0435\u0442\u043e\u0432.<\/p>\n<\/li>\n<\/ol>\n<p>\u0422\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0432\u044b\u044f\u0432\u043b\u044f\u0435\u0442 \u0441\u043b\u0430\u0431\u044b\u0435 \u043c\u0435\u0441\u0442\u0430 \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u043b\u0443\u0447\u0448\u0430\u0442\u044c \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0445 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432 \u0441 VPP \u043f\u0440\u0438 \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0435. \u0414\u0430\u043d\u043d\u044b\u0439 \u043a\u0435\u0439\u0441 \u0432\u0437\u044f\u0442 \u0441 &#171;\u043f\u043e\u0442\u043e\u043b\u043a\u0430&#187; \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438. \u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u0432\u0430\u043c \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u0438\u0437\u0443\u0447\u0430\u0442\u044c \u0442\u043e, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u043a\u0435\u0439\u0441\u0430\u0445 \u0438 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0435\u0449\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u0430\u0442\u0435\u0439 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0449\u0438\u0445 \u044d\u0442\u043e\u0442 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442.<\/p>\n<h2>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438<\/h2>\n<p>\u0412\u043e\u043e\u0431\u0449\u0435 \u043c\u043d\u043e\u0433\u043e\u0435 \u0432 TRex \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u044b\u0440\u043e, \u0435\u0441\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043e\u0434\u043d\u043e\u0439 \u0438 \u0442\u043e\u0439 \u0436\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0432\u043d\u0443\u0442\u0440\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430, \u0440\u0430\u0437\u0440\u043e\u0437\u043d\u0435\u043d\u043d\u0430\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f, \u043d\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u0438 \u0438\u0441\u0447\u0435\u0440\u043f\u044b\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0432\u0441\u0435\u0433\u043e \u0447\u0442\u043e \u0442\u0430\u043c \u043f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c. \u041d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043e\u043d \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043c\u043e\u0449\u043d\u044b\u043c, \u0433\u0438\u0431\u043a\u0438\u043c \u0438 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u043c \u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c \u0434\u043b\u044f \u0432\u0441\u0435\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0435\u0433\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0430 \u0432\u0441\u0435\u0445 \u0443\u0440\u043e\u0432\u043d\u044f\u0445 \u043c\u043e\u0434\u0435\u043b\u0438 OSI. \u0415\u0433\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0435\u043b\u0430\u044e\u0442 \u0435\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c \u0434\u043b\u044f \u0448\u0438\u0440\u043e\u043a\u043e\u0433\u043e \u043a\u0440\u0443\u0433\u0430 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432, \u0447\u0442\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u0441\u0442\u0432\u0443\u0435\u0442 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0435\u0442\u043e\u0434\u0438\u043a \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n<p> \u0427\u0442\u043e\u0431\u044b \u0432\u044b\u0436\u0430\u0442\u044c \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 \u0432\u0435\u0441\u044c \u0435\u0433\u043e \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u043d\u0443\u0436\u043d\u043e:<\/p>\n<ul>\n<li>\n<p><strong>\u0412\u0437\u044f\u0442\u044c \u043c\u043e\u0449\u043d\u043e\u0435 \u0436\u0435\u043b\u0435\u0437\u043e. <\/strong>\u0414\u043b\u044f \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 TRex, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0437\u0430\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u043c \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0430\u043c (\u0434\u043e 200 \u0413\u0431\u0438\u0442\/\u0441), \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438\u043d\u0432\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, Cisco UCS, \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u043a\u0430\u0440\u0442\u044b Intel) \u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c NUMA-\u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u044b.<\/p>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p><strong>\u0417\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 Python API:<\/strong> \u0414\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0438 \u0441\u0431\u043e\u0440\u0430 \u0434\u0435\u0442\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438, \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u043e\u0449\u043d\u044b\u0439 Python API TRex.<\/p>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p><strong>\u0421\u0442\u0440\u0435\u043c\u0438\u0442\u044c\u0441\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0441\u0442\u0438\u0447\u043d\u044b\u0435 \u043f\u0440\u043e\u0444\u0438\u043b\u0438 \u0442\u0440\u0430\u0444\u0438\u043a\u0430:<\/strong> \u0412\u0441\u0435\u0433\u0434\u0430 \u0441\u0442\u0440\u0435\u043c\u0438\u0442\u0435\u0441\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0444\u0438\u043b\u0438 \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0435\u043d\u043d\u044b\u0435 \u043a \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u043c \u0432\u0430\u0448\u0435\u0439 \u0441\u0435\u0442\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, EMIX \u0438\u043b\u0438 PCAP-\u0444\u0430\u0439\u043b\u044b, \u0437\u0430\u0445\u0432\u0430\u0447\u0435\u043d\u043d\u044b\u0435 \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435). \u042d\u0442\u043e \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u044f\u0432\u043b\u044f\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u043d\u0435 \u043f\u0440\u043e\u044f\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430.<\/p>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p><strong>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0430\u043d\u0430\u043b\u0438\u0437\u0435 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0445 \u043c\u0435\u0442\u0440\u0438\u043a:<\/strong> \u041d\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0439\u0442\u0435\u0441\u044c \u0430\u043d\u0430\u043b\u0438\u0437\u043e\u043c \u043e\u0434\u043d\u043e\u0439 \u043c\u0435\u0442\u0440\u0438\u043a\u0438. \u0414\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u043d\u043e\u0439 \u043a\u0430\u0440\u0442\u0438\u043d\u044b \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0438 \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u0440\u043d\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u0447\u0438\u043d \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u044c \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u0432\u0437\u0430\u0438\u043c\u043e\u0441\u0432\u044f\u0437\u0435\u0439 \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c\u044e, \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u043e\u0439, \u0434\u0436\u0438\u0442\u0442\u0435\u0440\u043e\u043c, \u043f\u043e\u0442\u0435\u0440\u044f\u043c\u0438 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, PPS \u0438 CPS. \u0413\u0440\u0430\u043d\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438 TRex \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0442\u043e\u0447\u043d\u043e \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0434\u0435\u0433\u0440\u0430\u0434\u0430\u0446\u0438\u0438.<\/p>\n<\/li>\n<\/ul>\n<h2>\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438<\/h2>\n<ol>\n<li>\n<p><a href=\"https:\/\/github.com\/cisco-system-traffic-generator\/trex-core\" rel=\"noopener noreferrer nofollow\">https:\/\/github.com\/cisco-system-traffic-generator\/trex-core<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/deepwiki.com\/cisco-system-traffic-generator\/trex-core\/1-trex-overview\" rel=\"noopener noreferrer nofollow\">https:\/\/deepwiki.com\/cisco-system-traffic-generator\/trex-core\/1-trex-overview<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/trex-tgn.cisco.com\/trex\/doc\/\" rel=\"noopener noreferrer nofollow\">https:\/\/trex-tgn.cisco.com\/trex\/doc\/<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/trex-tgn.cisco.com\/trex\/doc\/trex_manual.html\" rel=\"noopener noreferrer nofollow\">https:\/\/trex-tgn.cisco.com\/trex\/doc\/trex_manual.html<\/a><\/p>\n<\/li>\n<\/ol>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/930918\/\"> https:\/\/habr.com\/ru\/articles\/930918\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u0432 OpenSource \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0435 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u043e\u0442\u00a0Cisco\u00a0&#8212; TRex. \u041f\u0440\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0438 \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0438 \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u044c \u0435\u0433\u043e \u0442\u0449\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435. \u041c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u044b \u0438 \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0432\u044b\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0437\u0430\u044f\u0432\u043b\u0435\u043d\u043d\u0443\u044e \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443, \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0442\u0440\u0430\u0444\u0438\u043a \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0443\u0440\u043e\u0432\u043d\u044f\u0445.\u00a0<\/p>\n<p>\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u0438\u043a\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, RFC 2544) \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442, \u043a\u0430\u043a \u0438\u0437\u043c\u0435\u0440\u044f\u0442\u044c \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u0443\u044e \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0431\u0435\u0437 \u043f\u043e\u0442\u0435\u0440\u044c \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438. \u0420\u0430\u043d\u0435\u0435 \u0434\u043b\u044f \u0442\u0430\u043a\u0438\u0445 \u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0439 \u0448\u0438\u0440\u043e\u043a\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u043b\u0438\u0441\u044c \u0434\u043e\u0440\u043e\u0433\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0435 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0442\u0440\u0430\u0444\u0438\u043a\u0430 (Ixia, Spirent \u0438 \u0442.\u0434.). \u041e\u0434\u043d\u0430\u043a\u043e \u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u043e\u0439 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0432\u0441\u0451 \u0431\u043e\u043b\u0435\u0435 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0442\u0441\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0435 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u044b.\u00a0<\/p>\n<p>\u041e\u0434\u043d\u043e\u0439 \u0438\u0437 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043c\u043e\u0449\u043d\u044b\u0445 \u043e\u043f\u0446\u0438\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439 Open Source \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 <strong>Cisco TRex<\/strong>. \u0412 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Cisco TRex 3.06 \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u043e\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432.<\/p>\n<h2>\u041e\u0431\u0437\u043e\u0440 Cisco TRex (Stateless vs Stateful)<\/h2>\n<p>\u041a\u0440\u0430\u0442\u043a\u043e \u043d\u0430\u043f\u043e\u043c\u043d\u044e, \u0442\u0435\u043c \u043a\u0442\u043e \u043d\u0435 \u0447\u0438\u0442\u0430\u043b \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0438. Cisco TRex\u00a0&#8212; \u044d\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441 \u0434\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043a\u0430\u043a \u0432 stateless (\u0431\u0435\u0437 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439), \u0442\u0430\u043a \u0438 \u0432 stateful \u0440\u0435\u0436\u0438\u043c\u0430\u0445. TRex \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 DPDK \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0435\u043c\u0443 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0441\u0435\u0442\u0435\u0432\u044b\u043c\u0438 \u043a\u0430\u0440\u0442\u0430\u043c\u0438 \u0438 \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0442\u044c \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438. \u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044e \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0443\u0440\u043e\u0432\u043d\u044f L3-L7 \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u043c\u043d\u043e\u0433\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u043f\u0440\u0438\u0441\u0443\u0449\u0438\u0435 \u0434\u043e\u0440\u043e\u0433\u0438\u043c \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u043c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430\u043c (\u044d\u043c\u0443\u043b\u044f\u0446\u0438\u044f \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0434\u043e 200 \u0413\u0431\u0438\u0442\/\u0441 \u0438 10-30 \u043c\u043b\u043d \u043f\u0430\u043a\u0435\u0442\u043e\u0432\/\u0441 \u043d\u0430 \u044f\u0434\u0440\u043e CPU, \u0433\u0438\u0431\u043a\u0430\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0438 \u0442.\u0434.).<\/p>\n<p>TRex \u043b\u0435\u0433\u043a\u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0441 \u0440\u043e\u0441\u0442\u043e\u043c \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0438 \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u0430\u0436\u0435 \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0440\u0435\u0434\u0430\u0445. \u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u0435\u0433\u043e \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u00a0&#8212; \u044d\u0442\u043e \u0433\u0438\u0431\u043a\u043e\u0441\u0442\u044c \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u0435\u043c\u043e\u0441\u0442\u044c: \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043a\u043e\u0434\u043e\u043c, \u0430 \u0441\u0430\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0438\u043c\u0435\u0435\u0442 API \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0442\u0435\u0441\u0442\u043e\u0432.\u00a0<\/p>\n<h2>\u0420\u0435\u0436\u0438\u043c\u044b \u0440\u0430\u0431\u043e\u0442\u044b TRex<\/h2>\n<p>\u0412 stateless-\u0440\u0435\u0436\u0438\u043c\u0435 (\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 STL) TRex \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u043f\u0430\u043a\u0435\u0442\u044b \u043f\u043e \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c \u0448\u0430\u0431\u043b\u043e\u043d\u0430\u043c \u0431\u0435\u0437 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043a\u0430\u043a\u0438\u0445-\u043b\u0438\u0431\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439. \u042d\u0442\u043e\u0442 \u0440\u0435\u0436\u0438\u043c \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u044f\u0449\u0438\u0445 \u043e\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439\u00a0&#8212; \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u043e\u0432 (L2), \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 IP (L3) \u0438\u043b\u0438 \u043b\u044e\u0431\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0449\u0438\u0445 \u0442\u0440\u0430\u0444\u0438\u043a \u043f\u043e\u043a\u0430\u0434\u0440\u043e\u0432\u043e (\u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044f, QoS).<\/p>\n<p>\u0412 stateful-\u0440\u0435\u0436\u0438\u043c\u0435 (\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 ASTF) TRex \u044d\u043c\u0443\u043b\u0438\u0440\u0443\u0435\u0442 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0435 \u0441\u0435\u0441\u0441\u0438\u0438 \u0441 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, TCP handshakes) \u0438 \u043e\u0431\u043c\u0435\u043d\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u043c\u0438, \u0447\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 L4-L7: NAT, Firewall\/DPI, VPN \u0438 \u0442.\u043f. Stateful-\u0440\u0435\u0436\u0438\u043c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u044b \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0441\u0435\u0441\u0441\u0438\u0439 \u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0442\u0440\u0430\u0444\u0438\u043a \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432 (HTTP, IPSec \u0438 \u0434\u0440.) \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439.<\/p>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0432\u044b\u0431\u043e\u0440 \u0440\u0435\u0436\u0438\u043c\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u0438\u043f\u043e\u043c \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430: \u0434\u043b\u044f \u00ab\u043f\u0440\u043e\u0441\u0442\u044b\u0445\u00bb L2\/L3 \u043f\u0435\u0440\u0435\u0441\u044b\u043b\u043e\u043a \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e stateless-\u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0430 \u0434\u043b\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u0445 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f (\u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u044b \u0441 NAT, \u043c\u0435\u0436\u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u044d\u043a\u0440\u0430\u043d\u044b, \u0441\u0438\u0441\u0442\u0435\u043c\u044b DPI), \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f stateful-\u0442\u0440\u0430\u0444\u0438\u043a \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439.<\/p>\n<h2> \u041c\u0435\u0442\u043e\u0434\u0438\u043a\u0430 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432<\/h2>\n<p>\u041a\u0430\u0436\u0434\u043e\u0435 \u0441\u0435\u0442\u0435\u0432\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0438\u043c\u0435\u0435\u0442 \u0441\u0432\u043e\u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0442\u0435\u0441\u0442\u043e\u0432. \u041e\u043f\u044b\u0442\u043d\u044b\u0435 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u044b \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u0447\u0430\u043b\u043e\u043c \u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0439 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 <strong>\u043f\u043b\u0430\u043d \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432<\/strong>, \u043e\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u044e\u0449\u0438\u0445 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f:<\/p>\n<ul>\n<li>\n<p><strong>\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c L2\/L3:<\/strong> \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0442\u0435\u0441\u0442 \u0434\u043b\u044f \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u043e\u0432 \u0438 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432 &#8212; \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0435 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u043e\u043c \u0440\u0430\u0437\u043c\u0435\u0440\u0435 \u043f\u0430\u043a\u0435\u0442\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, 64, 128, 512, 1500 \u0431\u0430\u0439\u0442). TRex \u0432 stateless-\u0440\u0435\u0436\u0438\u043c\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u044b\u0439 \u043f\u043e\u0442\u043e\u043a Ethernet\/IP-\u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u043d\u0443\u0436\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0438 \u0442\u0435\u043c \u0441\u0430\u043c\u044b\u043c \u043e\u0446\u0435\u043d\u0438\u0442\u044c \u043f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u044b\u0439 throughput \u0431\u0435\u0437 \u043f\u043e\u0442\u0435\u0440\u044c (Non-Drop Rate). \u0422\u0435\u0441\u0442 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0442\u0438\u043f\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0438\u043b\u0438 \u043f\u043e\u0440\u0442\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u0441 \u043f\u043e\u0441\u0442\u0435\u043f\u0435\u043d\u043d\u044b\u043c \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u0435\u043c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u043d\u0435 \u043d\u0430\u0447\u043d\u0435\u0442\u0441\u044f \u043f\u043e\u0442\u0435\u0440\u044f \u043f\u0430\u043a\u0435\u0442\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p><strong>\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 NAT:<\/strong> \u0434\u043b\u044f \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432 \u0438 \u0431\u0440\u0430\u043d\u0434\u043c\u0430\u0443\u044d\u0440\u043e\u0432 \u0441 NAT \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u044c \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0438 \u0430\u0434\u0440\u0435\u0441\u043e\u0432\/\u043f\u043e\u0440\u0442\u043e\u0432 \u0438 \u0435\u043c\u043a\u043e\u0441\u0442\u044c NAT-\u0442\u0430\u0431\u043b\u0438\u0446\u044b. \u0417\u0434\u0435\u0441\u044c \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f stateful-\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f: TRex \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0445 \u0441\u0435\u0441\u0441\u0438\u0439 (TCP\/UDP) \u0438\u0437 \u00ab\u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439\u00bb \u0441\u0435\u0442\u0438 \u0432\u043e \u00ab\u0432\u043d\u0435\u0448\u043d\u044e\u044e\u00bb. \u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e DUT (Device Under Test) \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 NAT \u0434\u043b\u044f \u044d\u0442\u0438\u0445 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439. \u0412\u0430\u0436\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0432\u0441\u0435 \u0441\u0435\u0441\u0441\u0438\u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u0442\u0440\u0430\u0444\u0438\u043a \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u043c\u0430\u043f\u0438\u0442\u0441\u044f \u043e\u0431\u0440\u0430\u0442\u043d\u043e. TRex \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u0442\u044c \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 \u0430\u0434\u0440\u0435\u0441\u043e\u0432 NAT \u043d\u0430\u00a0\u043b\u0435\u0442\u0443\u00a0&#8212; \u043e\u043d \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0435\u0442, \u043a\u0430\u043a DUT \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442 IP\/\u043f\u043e\u0440\u0442 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043f\u0430\u043a\u0435\u0442\u0430 \u0432 \u043f\u043e\u0442\u043e\u043a\u0435, \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u044d\u0442\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043e\u0442\u0432\u0435\u0442\u043d\u043e\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c NAT-\u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0441\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430. \u0412 \u0445\u043e\u0434\u0435 \u0442\u0435\u0441\u0442\u0430 \u0438\u0437\u043c\u0435\u0440\u044f\u044e\u0442\u0441\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0441\u0435\u0441\u0441\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 NAT, \u0430 \u0442\u0430\u043a\u0436\u0435 throughput \u0438 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438 \u043f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u043e\u043c NAT. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u0442\u0435\u043f\u0435\u043d\u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u043e\u0432\u044b\u0445 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 (CPS) \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043d\u0435 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043d\u0435\u0442 \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c\u0441\u044f.<\/p>\n<\/li>\n<li>\n<p><strong>\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 DPI\/Firewall:<\/strong> \u0434\u043b\u044f \u043c\u0435\u0436\u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u044d\u043a\u0440\u0430\u043d\u043e\u0432 \u0441 DPI \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u0434\u0430\u0442\u044c <strong>\u0440\u0435\u0430\u043b\u0438\u0441\u0442\u0438\u0447\u043d\u044b\u0439 \u043c\u0438\u043a\u0441 \u0442\u0440\u0430\u0444\u0438\u043a\u0430<\/strong> \u0432\u0435\u0440\u0445\u043d\u0438\u0445 \u0443\u0440\u043e\u0432\u043d\u0435\u0439 (L7), \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b \u0438 \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u043d\u0430 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438. TRex \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0434\u0432\u0435 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u0438: \u043b\u0438\u0431\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 PCAP-\u0442\u0440\u0435\u0439\u0441 \u0441 \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u044b\u043c \u0442\u0440\u0430\u0444\u0438\u043a\u043e\u043c (Web, DNS, \u043f\u043e\u0447\u0442\u0430, \u0432\u0438\u0434\u0435\u043e \u0438 \u0442.\u0434.), \u043b\u0438\u0431\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c ASTF-\u043f\u0440\u043e\u0444\u0438\u043b\u0438, \u044d\u043c\u0443\u043b\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u0442\u0438\u043f\u0438\u0447\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432. \u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e TRex \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u043d \u043c\u043e\u0436\u0435\u0442 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c <strong>\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0434\u0430\u043c\u043f\u044b \u0442\u0440\u0430\u0444\u0438\u043a\u0430 (\u0434\u043e 1 \u0422\u0411)<\/strong>, \u043f\u0440\u0438\u0433\u043e\u0434\u043d\u044b\u0435 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f DPI-\u0441\u0438\u0441\u0442\u0435\u043c. \u0412 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 DPI-\u0442\u0435\u0441\u0442\u0430 \u043d\u0443\u0436\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432 \u043f\u0440\u043e\u0444\u0438\u043b\u044c \u00ab\u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0439\u00bb \u0438\u043b\u0438\u00a0\u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043d\u044b\u0439 \u0442\u0440\u0430\u0444\u0438\u043a (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u0438\u0433\u043d\u0430\u0442\u0443\u0440\u044b \u0430\u0442\u0430\u043a, \u0437\u0430\u043f\u0440\u0435\u0449\u0451\u043d\u043d\u044b\u0435 URL) \u0438 \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u0442 \u0438 \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442 \u044d\u0442\u0438 \u043f\u0430\u043a\u0435\u0442\u044b. \u041e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0438\u0437\u043c\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u0430\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c DPI \u0431\u0435\u0437 \u043f\u043e\u0442\u0435\u0440\u044c.<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441\u043f\u0438\u0441\u043a\u043e\u0432 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 (ACL):<\/strong> \u0435\u0441\u043b\u0438 \u043d\u0430 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u0435\/\u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u044b ACL \u0434\u043b\u044f \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u043f\u043e IP, \u043f\u043e\u0440\u0442\u0430\u043c \u0438\u043b\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u043c, \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0442\u0440\u0430\u0444\u0438\u043a \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u044c \u044d\u0442\u0438\u0445 \u043f\u0440\u0430\u0432\u0438\u043b. \u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u043e\u0431\u044b\u0447\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0434\u0432\u0430 \u043f\u043e\u0442\u043e\u043a\u0430: \u043e\u0434\u0438\u043d \u0434\u043e\u043b\u0436\u0435\u043d <strong>\u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0442\u044c\u0441\u044f<\/strong> \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430\u043c\u0438 \u0434\u0440\u0443\u0433\u043e\u0439\u00a0&#8212; <strong>\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f<\/strong>. TRex \u0432 stateless-\u0440\u0435\u0436\u0438\u043c\u0435 \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u0442\u0430\u043a\u0443\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443: \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u044b\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u043f\u043e\u0434 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043d\u044b\u0439 \u0438 \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043d\u044b\u0439 \u0442\u0440\u0430\u0444\u0438\u043a. \u041f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u0433\u043e\u043d\u0430 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430\u00a0&#8212; \u043f\u0430\u043a\u0435\u0442\u044b \u00ab\u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043d\u043e\u0433\u043e\u00bb \u043f\u043e\u0442\u043e\u043a\u0430 \u0434\u043e\u043b\u0436\u043d\u044b \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u0440\u043e\u0439\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 DUT, \u0442\u043e\u0433\u0434\u0430 \u043a\u0430\u043a\u00a0\u043f\u043e \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043d\u043e\u043c\u0443 \u043f\u043e\u0442\u043e\u043a\u0443 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043f\u043e\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u043d\u0430 \u0432\u044b\u0445\u043e\u0434. \u0422\u0430\u043a\u0436\u0435 \u0437\u0430\u043c\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 ACL \u043d\u0430 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438 \u0438 throughput (\u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0444\u0438\u043b\u044c\u0442\u0440\u044b \u0447\u0443\u0442\u044c \u0441\u043d\u0438\u0436\u0430\u044e\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c, \u0438 \u044d\u0442\u043e \u0441\u0442\u043e\u0438\u0442 \u0443\u0447\u0435\u0441\u0442\u044c).<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 L2\/L3\/L4-\u0444\u0443\u043d\u043a\u0446\u0438\u0439:<\/strong> \u0434\u043b\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u043c\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0442\u0435\u0441\u0442\u044b \u043d\u0443\u0436\u043d\u043e \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u0430 L2 \u0432\u0430\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0446\u0438\u0438, \u043d\u043e \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 VLAN: TRex \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0440\u0430\u0444\u0438\u043a \u0441 \u0442\u0435\u0433\u0430\u043c\u0438 802.1Q, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 VLAN-\u0442\u0435\u0433\u043e\u0432. \u0414\u043b\u044f \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432 L3 \u043c\u043e\u0436\u043d\u043e \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0442\u043e\u043a\u0438 \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0441\u0435\u0442\u044f\u043c\u0438 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430\/\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0447\u0442\u043e\u0431\u044b \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f \u0432 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438 (DUT \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u043f\u043e\u0442\u043e\u043a \u0432 \u043d\u0443\u0436\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0441\u0432\u043e\u0435\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u043e\u0432). \u0414\u043b\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 L4 (\u0441\u043a\u0430\u0436\u0435\u043c, \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u043e\u0432 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0438\u043b\u0438 \u043f\u0440\u043e\u043a\u0441\u0438) \u0441\u0442\u043e\u0438\u0442 \u044d\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \u043a \u0440\u0430\u0437\u043d\u044b\u043c \u043f\u043e\u0440\u0442\u0430\u043c \u0438 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442\u044c \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0442\u0440\u0430\u0444\u0438\u043a\u0430. \u0412 \u0446\u0435\u043b\u043e\u043c, <strong>\u043c\u0435\u0442\u043e\u0434\u0438\u043a\u0430 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/strong> \u0434\u043e\u043b\u0436\u043d\u0430 \u043f\u043e\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0443\u0440\u043e\u0432\u043d\u0438, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u043f\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e,\u00a0&#8212; \u043e\u0442\u00a0\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043b\u0438\u043d\u043a\u043e\u0432\u043e\u0439 \u0441\u0432\u044f\u0437\u043d\u043e\u0441\u0442\u0438 (ARP, ND) \u0434\u043e \u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u0438 \u043f\u043e\u0434 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439.<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0432\u0448\u0438\u0441\u044c \u043a \u0442\u0430\u043a\u0438\u043c \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f\u043c, \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043a \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044e \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0441\u0442\u0435\u043d\u0434\u0430 \u0438 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u043c\u0443 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044e \u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0439.<\/p>\n<h2>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438: throughput, \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438, \u043f\u043e\u0442\u0435\u0440\u0438<\/h2>\n<p>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c\u0441\u044f \u0441 \u0442\u0435\u043c, \u043a\u0430\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0431\u0440\u0430\u0442\u044c. \u041e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0433\u043b\u0430\u0432\u043d\u044b\u0445 \u0446\u0435\u043b\u0435\u0439 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430. \u0422\u043e \u0435\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f TRex, \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438:<\/p>\n<ul>\n<li>\n<p><strong>Throughput (\u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u0430\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c):<\/strong> \u0438\u0437\u043c\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0432 \u0413\u0431\u0438\u0442\/\u0441 \u0438\u043b\u0438 \u043f\u0430\u043a\u0435\u0442\u0430\u0445\/\u0441, \u043a\u0430\u043a \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0447\u0435\u0440\u0435\u0437 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043d\u0435 \u0442\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0430\u043a\u0435\u0442\u0430 (\u0438\u043b\u0438 \u043f\u0440\u0438\u0435\u043c\u043b\u0435\u043c\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u043d\u0442 \u043f\u043e\u0442\u0435\u0440\u044c). \u0414\u043b\u044f \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f throughput \u043e\u0431\u044b\u0447\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0439 \u043f\u043e\u0438\u0441\u043a \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438: \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u044e\u0442 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0439 TRex \u0442\u0440\u0430\u0444\u0438\u043a \u0441\u0442\u0443\u043f\u0435\u043d\u0447\u0430\u0442\u043e, \u043f\u043e\u043a\u0430 \u043d\u0430 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0449\u0435\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u043d\u0435 \u043d\u0430\u0447\u043d\u0443\u0442 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u0442\u0435\u0440\u0438 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0437\u0430\u0442\u0435\u043c \u0443\u0442\u043e\u0447\u043d\u044f\u044e\u0442 \u0433\u0440\u0430\u043d\u0438\u0446\u0443. TRex \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0435 \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0438 \u043f\u043e \u043f\u043e\u0440\u0442\u0430\u043c: \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e (TX) \u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e (RX) \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 TRex \u043d\u0430 \u043f\u043e\u0440\u0442\u0443 0 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043b 1 000 000 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0430 \u043d\u0430 \u043f\u043e\u0440\u0442\u0443 1 \u043f\u0440\u0438\u043d\u044f\u0442\u043e 990 000, \u0437\u043d\u0430\u0447\u0438\u0442, 10 000 \u043f\u043e\u0442\u0435\u0440\u044f\u043d\u044b \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c\u00a0&#8212; \u043d\u0430\u00a0\u0442\u0430\u043a\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0435 throughput \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 DUT. \u0427\u0442\u043e\u0431\u044b \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u0447\u0438\u0441\u0442\u043e\u0442\u0443 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430, \u0441\u0442\u043e\u0438\u0442 \u043f\u0440\u043e\u0433\u043e\u043d\u044f\u0442\u044c \u0442\u0435\u0441\u0442\u044b \u043d\u0430\u00a0\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u0445 \u043f\u0430\u043a\u0435\u0442\u0430 (\u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 64\u00a0\u0431\u0430\u0439\u0442\u0430, \u0441\u0440\u0435\u0434\u043d\u0438\u0435, \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 1500\u00a0\u0431\u0430\u0439\u0442)\u00a0&#8212; \u044d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0446\u0435\u043d\u0438\u0442\u044c, \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u00a0\u043b\u0438 DUT \u043f\u043e\u00a0PPS (\u043e\u0431\u044b\u0447\u043d\u043e \u0441\u043b\u0430\u0431\u043e\u0435 \u043c\u0435\u0441\u0442\u043e\u00a0&#8212; \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043c\u0435\u043b\u043a\u0438\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432) \u0438\u043b\u0438 \u043f\u043e \u043f\u043e\u043b\u043e\u0441\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u043d\u0438\u044f.<\/p>\n<\/li>\n<li>\n<p><strong>Latency (\u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430):<\/strong> \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u043f\u0430\u043a\u0435\u0442\u0430 \u0447\u0435\u0440\u0435\u0437 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e. TRex \u0438\u043c\u0435\u0435\u0442 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f latency, \u043d\u043e \u043e\u043d\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043a\u0430\u0440\u0442. \u0412 stateless-\u0442\u0435\u0441\u0442\u0430\u0445 \u043c\u043e\u0436\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0440\u0435\u0436\u0438\u043c latency stats, \u0438 TRex \u0432\u044b\u0434\u0430\u0441\u0442 \u0441\u0440\u0435\u0434\u043d\u0435\u0435\/\u043c\u0430\u043a\u0441 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438 \u0438 \u0434\u0436\u0438\u0442\u0442\u0435\u0440\u0430. \u0412 stateful-\u0442\u0435\u0441\u0442\u0430\u0445 TCP \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430 \u0447\u0430\u0441\u0442\u043e \u043e\u0446\u0435\u043d\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u0441\u0441\u0438\u0438 (RTT 3-way handshake) \u0438\u043b\u0438 \u043e\u0442\u043a\u043b\u0438\u043a\u0430 \u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, TRex ASTF \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u043c\u0435\u0434\u0438\u0430\u043d\u043d\u0430\u044f \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430 SYN-SYN\/ACK = 1.2 \u043c\u0441, \u0430 99-\u0439 \u043f\u0435\u0440\u0446\u0435\u043d\u0442\u0438\u043b\u044c = 5 \u043c\u0441, \u0447\u0442\u043e \u0443\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f.\u00a0<\/p>\n<\/li>\n<li>\n<p><strong>Packet Loss (\u043f\u043e\u0442\u0435\u0440\u0438):<\/strong> \u0434\u043e\u043b\u044f \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u043f\u043e\u0442\u0435\u0440\u044f\u043d\u043d\u044b\u0445 \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435 \u043f\u0440\u0438 \u0434\u0430\u043d\u043d\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0435, \u043e\u0431\u044b\u0447\u043d\u043e \u0432\u044b\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0430\u0445. TRex \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0442\u044c \u043f\u043e\u0442\u0435\u0440\u0438, \u0441\u0440\u0430\u0432\u043d\u0438\u0432 \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432. \u0412 \u043e\u0442\u0447\u0435\u0442\u0430\u0445 \u0441\u0442\u043e\u0438\u0442 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u043e\u0442\u0435\u0440\u0438 = 0%, \u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u043e\u0442\u0435\u0440\u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442 \u0440\u0430\u0441\u0442\u0438. \u042d\u0442\u043e \u0438 \u0435\u0441\u0442\u044c \u0433\u0440\u0430\u043d\u0438\u0446\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430. \u0422\u0430\u043a\u0436\u0435 \u0432\u0430\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u043d\u0435\u0442 \u043b\u0438 \u043d\u0435\u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u0442\u0435\u0440\u044c \u043f\u0440\u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430\u0445 \u043d\u0438\u0436\u0435 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0445\u00a0&#8212; \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432 \u0431\u0443\u0444\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u0438 DUT.<\/p>\n<\/li>\n<li>\n<p><strong>\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438: <\/strong>\u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u043c\u043e\u0433\u0443\u0442 \u0438\u0437\u043c\u0435\u0440\u044f\u0442\u044c\u0441\u044f \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 (CPS)\u00a0&#8212; \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f NAT \u0438 \u0431\u0440\u0430\u043d\u0434\u043c\u0430\u0443\u044d\u0440\u043e\u0432. TRex ASTF \u0441\u0430\u043c \u043f\u043e \u0441\u0435\u0431\u0435 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 CPS \u043f\u043e \u043f\u0440\u043e\u0444\u0438\u043b\u044e, \u0438 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-473106","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/473106","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=473106"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/473106\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=473106"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=473106"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=473106"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}