RU2703159C1 - Method and system for measuring network traffic statistics in n-second intervals - Google Patents
Method and system for measuring network traffic statistics in n-second intervals Download PDFInfo
- Publication number
- RU2703159C1 RU2703159C1 RU2018143600A RU2018143600A RU2703159C1 RU 2703159 C1 RU2703159 C1 RU 2703159C1 RU 2018143600 A RU2018143600 A RU 2018143600A RU 2018143600 A RU2018143600 A RU 2018143600A RU 2703159 C1 RU2703159 C1 RU 2703159C1
- Authority
- RU
- Russia
- Prior art keywords
- traffic
- interval
- packet
- time
- statistics
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
ОБЛАСТЬ ТЕХНИКИFIELD OF TECHNOLOGY
[001] Данное техническое решение, в общем, относится к области вычислительной техники, а в частности, к способам и системам для измерения статистики трафика сети.[001] This technical solution, in General, relates to the field of computer technology, and in particular, to methods and systems for measuring statistics of network traffic.
УРОВЕНЬ ТЕХНИКИBACKGROUND
[002] Интенсификация обмена информацией в сетях общего пользования обуславливает актуальность оптимизации распределения сетевых ресурсов и динамического управления ими в интересах минимизации вероятности возникновения перегрузок. В настоящее время результаты ряда исследований указывают на несоответствие описания динамики сетевого трафика традиционными моделями, предполагающими пуассоновский характер потоков пользовательских запросов, результатам эмпирических наблюдений. Ускорение обмена информацией в многопользовательских сетях приводит к росту относительной ошибки описания и предсказания динамики трафика такими моделями, что обуславливает актуальность поиска альтернативных моделей динамики трафика в широком диапазоне временных масштабов и размеров сетей. Существующие модели и алгоритмы имитации сетевого трафика в основном отражают технические аспекты передачи информации в сетях на различных уровнях. Технические решения для сетей различного масштаба и протоколов различного уровня существенно различаются, в то время как динамика пользовательской активности зависит от размеров и связности сообщества пользователей. Существующие модели динамики сетевого трафика хорошо работают на коротких временных интервалах, но не учитывают факторы интенсификации обмена информацией в сетях на значительных временных интервалах. Существует потребность в оценке данных параметров и потребности в масштабировании сетевых ресурсов на длительных временных интервалах.[002] The intensification of information exchange in public networks determines the urgency of optimizing the distribution of network resources and their dynamic management in the interests of minimizing the likelihood of congestion. Currently, the results of a number of studies indicate a discrepancy between the description of the dynamics of network traffic by traditional models, which assume the Poisson nature of the flows of user queries, and the results of empirical observations. Accelerating the exchange of information in multi-user networks leads to an increase in the relative error in describing and predicting traffic dynamics by such models, which makes it relevant to search for alternative models of traffic dynamics in a wide range of time scales and network sizes. Existing models and algorithms for simulating network traffic mainly reflect the technical aspects of information transfer in networks at various levels. Technical solutions for networks of various sizes and protocols at various levels vary significantly, while the dynamics of user activity depends on the size and connectivity of the user community. Existing models of network traffic dynamics work well at short time intervals, but do not take into account the factors of intensification of information exchange in networks at significant time intervals. There is a need to evaluate these parameters and the need to scale network resources over long time intervals.
СУЩНОСТЬ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION
[003] Данное техническое решение направлено на устранение недостатков, свойственных решениям, известным из уровня техники.[003] This technical solution is aimed at eliminating the disadvantages inherent in solutions known from the prior art.
[004] Технической задачей или, другими словами, технической проблемой, решаемой в данном техническом решении, является осуществление измерения статистики трафика сети по n-секундным интервалам посредством использования генератора трафика и анализатора трафика.[004] A technical problem or, in other words, a technical problem solved in this technical solution is to measure network traffic statistics at n-second intervals by using a traffic generator and a traffic analyzer.
[005] Техническим результатом, достигаемым при решении вышеуказанной задачи, является повышение точности измерения статистики трафика сети по n-секундным интервалам при осуществлении нагрузочного теста.[005] The technical result achieved by solving the above problem is to increase the accuracy of measuring network traffic statistics at n-second intervals when performing a load test.
[006] Дополнительным техническим результатом является повышение предсказуемости числа пакетов, отправляемых в интервал.[006] An additional technical result is to increase the predictability of the number of packets sent per slot.
[007] Указанный технический результат достигается благодаря осуществлению способа измерения статистики трафика сети по n-секундным интервалам, который выполняется с помощью процессора, в котором направляют информацию о настройках нагрузочного теста, включающую по меньшей мере скорость генерации трафика, длительность теста и длину пакета посредством программного агента, расположенного на генераторе трафика, на анализатор трафика; определяют посредством анализатора трафика количество пакетов, которое будет отправлено генератором трафика и времени, когда он закончит процесс генерации на основании информации, полученной на предыдущем шаге; запускают по меньшей мере один генератор трафика и по меньшей мере один анализатор трафика для осуществления нагрузочного теста, посредством программных агентов, расположенных на данных устройствах; генерируют пакеты посредством по меньшей одного генератора трафика с постоянной скоростью и направляют на анализатор трафика; по меньшей мере один анализатор трафика запускает по меньшей мере один интервал после прихода первого пакета от генератора трафика, после чего сохраняет время начала нагрузочного теста; определяют принадлежность каждого переданного пакета от генератора трафика на анализатор трафика к конкретному интервалу с помощью времени начала генерации пакета, причем индекс интервала содержится в теле пакета; формируют посредством анализатора трафика статистику о трафике для каждого интервала, а также общую интегральную статистику о трафике на основании статистики обо всех интервалах.[007] This technical result is achieved by implementing a method for measuring network traffic statistics at n-second intervals, which is performed by a processor, in which information about the settings of the load test, including at least the rate of traffic generation, the duration of the test, and the length of the packet by software an agent located on a traffic generator to a traffic analyzer; determining by the traffic analyzer the number of packets that will be sent by the traffic generator and the time when it will complete the generation process based on the information obtained in the previous step; at least one traffic generator and at least one traffic analyzer are launched to perform a load test by means of software agents located on these devices; generate packets by means of at least one traffic generator with a constant speed and send it to a traffic analyzer; at least one traffic analyzer starts at least one interval after the first packet arrives from the traffic generator, after which it stores the start time of the load test; determining whether each transmitted packet from the traffic generator to the traffic analyzer belongs to a specific interval using the start time of the packet generation, the interval index being contained in the packet body; form, through a traffic analyzer, traffic statistics for each interval, as well as general integrated traffic statistics based on statistics on all intervals.
[008] В некоторых вариантах реализации изобретения при запуске генератора трафика и анализатора трафика на анализаторе трафика временем начала нагрузочного теста считается время приема первого пакета.[008] In some embodiments of the invention, when the traffic generator and the traffic analyzer are started on the traffic analyzer, the start time of the load test is considered to be the reception time of the first packet.
[009] В некоторых вариантах реализации изобретения если первый пакет не дошел, а дошел пакет с порядковым номером N, то из времени приема пакета вычитается данный порядковый номер умноженный на период генерации секунд.[009] In some embodiments of the invention, if the first packet has not reached, but the packet with sequence number N has arrived, then this sequence number multiplied by the generation period of seconds is subtracted from the packet reception time.
[0010] В некоторых вариантах реализации изобретения при осуществлении нагрузочного теста для валидного измерения задержки кадров (FTD) в одностороннем тесте системные часы генератора трафика и анализатора трафика синхронизированы по протоколу NTP или РТР.[0010] In some embodiments of the invention, when performing a load test for valid frame delay measurement (FTD) in a one-way test, the system clocks of the traffic generator and traffic analyzer are synchronized using the NTP or PTP protocol.
[0011]В некоторых вариантах реализации изобретения способ реализован аппаратно с использованием программируемой пользователем вентильной матрицы (FPGA).[0011] In some embodiments of the invention, the method is implemented in hardware using a user programmable gate array (FPGA).
[0012] В некоторых вариантах реализации изобретения длительность нагрузочного теста задается в пакетах.[0012] In some embodiments of the invention, the duration of the load test is specified in packets.
[0013] В некоторых вариантах реализации изобретения каждый пакет содержит Flow ID, индекс интервала, порядковый номер пакета, время отправки кадра. [0014] В некоторых вариантах реализации изобретения[0013] In some embodiments of the invention, each packet comprises a Flow ID, an interval index, a packet sequence number, and a frame send time. [0014] In some embodiments of the invention
[0015] В некоторых вариантах реализации изобретения время отправки кадра соответствует времени выхода первого байта кадра из генератора трафика в канал связи.[0015] In some embodiments, the frame send time corresponds to the time the first byte of the frame leaves the traffic generator in the communication channel.
[0016] В некоторых вариантах реализации изобретения генератор трафика отправляет кадры фиксированной длины.[0016] In some embodiments of the invention, the traffic generator sends frames of a fixed length.
[0017]В некоторых вариантах реализации изобретения отправка пакетов генератором трафика останавливается, если было отправлено заданное количество пакетов или была получена команда об остановке нагрузочного теста от программного агента генератора трафика.[0017] In some embodiments, the packet sending by the traffic generator is stopped if a predetermined number of packets have been sent or a command to stop the load test from the traffic generator software agent has been received.
[0018] В некоторых вариантах реализации изобретения время завершения первого интервала используется как инициализационное значение таймера в FPGA.[0018] In some embodiments of the invention, the completion time of the first interval is used as the initialization value of the timer in the FPGA.
[0019] В некоторых вариантах реализации изобретения в момент приема анализатором первого тестового кадра таймер запускается.[0019] In some embodiments, the timer starts when the analyzer receives the first test frame.
[0020] В некоторых вариантах реализации изобретения после завершения отсчитанного времени таймер автоматически перезапускается, но для всех интервалов, кроме первого, в качестве инициализационного значения используется время интервала.[0020] In some embodiments of the invention, after the timer has expired, the timer automatically restarts, but for all intervals except the first, the interval time is used as the initialization value.
[0021] Также технический результат достигается благодаря осуществлению системы измерения статистики трафика сети по n-секундным интервалам, которая содержит по меньшей мере один генератор трафика, выполненный с возможностью направления информации о настройках нагрузочного теста, включающую по меньшей мере скорость генерации трафика, длительность теста и длину пакета посредством программного агент на анализатор трафика; генерирования пакетов с постоянной скоростью и направления на анализатор трафика; по меньшей мере один анализатор трафика, выполненный с возможностью определения количества пакетов, которое будет отправлено генератором трафика и время, когда он закончит процесс генерации на основании информации; запуска по меньшей мере одного интервала после прихода первого пакета от генератора трафика, после чего сохранения времени начала нагрузочного теста; определения принадлежности каждого переданного пакета от генератора трафика на анализатор трафика к конкретному интервалу с помощью времени начала генерации пакета, причем индекс интервала содержится в теле пакета; формирования статистики о трафике для каждого интервала, а также общей интегральной статистики о трафике на основании статистики обо всех интервалах; по меньшей мере один программный агент, расположенный на анализаторе трафика и генераторе трафика, выполненный с возможностью запуска по меньшей мере одного генератора трафика и по меньшей мере одного анализатора трафика для осуществления нагрузочного теста.[0021] The technical result is also achieved through the implementation of a system for measuring network traffic statistics at n-second intervals, which contains at least one traffic generator, configured to send information about the settings of the load test, including at least the speed of traffic generation, the duration of the test and packet length through a software agent to the traffic analyzer; generating packets at a constant speed and sending it to a traffic analyzer; at least one traffic analyzer, configured to determine the number of packets to be sent by the traffic generator and the time when it will complete the generation process based on the information; starting at least one interval after the first packet arrives from the traffic generator, after which saving the start time of the load test; determining the ownership of each transmitted packet from the traffic generator to the traffic analyzer to a specific interval using the start time of the generation of the packet, and the interval index is contained in the packet body; generating traffic statistics for each interval, as well as general integrated traffic statistics based on statistics about all intervals; at least one software agent located on the traffic analyzer and the traffic generator, configured to run at least one traffic generator and at least one traffic analyzer to perform a load test.
[0022] В некоторых вариантах реализации изобретения генератор трафика является измерительным устройством с поддержкой функции NFV/SDN и H-QoS.[0022] In some embodiments of the invention, the traffic generator is a measurement device that supports NFV / SDN and H-QoS.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS
[0023] Признаки и преимущества настоящего технического решения станут очевидными из приведенного ниже подробного описания и прилагаемых чертежей, на которых:[0023] The features and advantages of this technical solution will become apparent from the following detailed description and the accompanying drawings, in which:
[0024] На Фиг. 1 показан пример реализации архитектуры системы измерения статистики трафика сети по n-секундным интервалам.[0024] In FIG. Figure 1 shows an example implementation of the architecture of a system for measuring network traffic statistics at n-second intervals.
[0025] На Фиг. 2 показан пример реализации временных диаграмм анализа пакетов.[0025] In FIG. 2 shows an example implementation of packet analysis timing charts.
[0026] На Фиг. 3 показан пример реализации временных диаграмм анализа пакетов, при WAIT TIME больше 1/2 INTERVAL TIME.[0026] In FIG. Figure 3 shows an example implementation of packet analysis timing charts, with WAIT TIME greater than 1/2 INTERVAL TIME.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯDETAILED DESCRIPTION OF THE INVENTION
[0027] Данное техническое решение может быть реализовано на компьютере или другом устройстве обработки данных в виде автоматизированной системы или машиночитаемого носителя, содержащего инструкции для выполнения вышеупомянутого способа.[0027] This technical solution can be implemented on a computer or other data processing device in the form of an automated system or computer-readable medium containing instructions for performing the above method.
[0028] Техническое решение может быть реализовано в виде распределенной компьютерной системы, компоненты которой являются облачными или локальными серверами.[0028] The technical solution can be implemented as a distributed computer system, the components of which are cloud or local servers.
[0029] Ниже будут приведены термины и определения, используемой в данном техническом решении и широко известные в данной области техники, которые помогут лучше понять сущность данного технического решения.[0029] Below are the terms and definitions used in this technical solution and widely known in the art, which will help to better understand the essence of this technical solution.
[0030] В данном решении под системой подразумевается компьютерная система или автоматизированная система (АС), ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированная система управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность вычислительных операций (действий, инструкций).[0030] In this solution, a system means a computer system or an automated system (AS), a computer (electronic computer), CNC (numerical control), PLC (programmable logic controller), a computerized control system, and any other devices capable of performing a given, clearly defined sequence of computational operations (actions, instructions).
[0031] Под устройством обработки команд подразумевается электронный блок либо[0031] By command processing device is meant an electronic unit or
интегральная схема (микропроцессор), исполняющая машинные инструкцииintegrated circuit (microprocessor) executing machine instructions
(программы).(programs).
[0032] Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройства хранения данных. В роли устройства хранения данных могут выступать, но, не ограничиваясь, жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические приводы, облачные хранилища данных.[0032] The command processing device reads and executes machine instructions (programs) from one or more data storage devices. Storage devices may include, but are not limited to, hard disks (HDDs), flash memory, ROM (read only memory), solid state drives (SSDs), optical drives, and cloud storage.
[0033] Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд.[0033] A program is a sequence of instructions for execution by a computer control device or an instruction processing device.
[0034] Генератор трафика - устройство на сети (зонд), генерирующее тестовый трафик.[0034] Traffic generator - a device on the network (probe) that generates test traffic.
[0035] Анализатор трафика - устройство на сети (зонд), принимающее тестовый трафик и считающее статистику.[0035] Traffic analyzer - a device on the network (probe) that receives test traffic and reads statistics.
[0036] Программный агент - это программа, которая вступает в отношение посредничества с пользователем или другой программой.[0036] A software agent is a program that enters into a mediation relationship with a user or another program.
[0037] Тестовый пакет - Ethernet-пакет, используемый в тестах. Включает в себя IFG (англ. «lnter Frame GAP», промежуток между кадрами длиною 12 байтов), преамбулу и SFD (англ. «Start of frame delimiter)), начало Ethernet кадра) и тестовый кадр.[0037] Test packet - Ethernet packet used in tests. It includes IFG (English “lnter Frame GAP”, the interval between frames 12 bytes long), preamble and SFD (English “Start of frame delimiter)), the beginning of the Ethernet frame) and a test frame.
[0038] Тестовый кадр - Ethernet-кадр, используемый в тестах. Включает в себя L2 заголовок, L2 данные и FCS (англ. «Frame Check Sequence)), четырехбайтное значение CRC, используемое для выявления ошибок передачи).[0038] Test frame — An Ethernet frame used in tests. Includes L2 header, L2 data and FCS (Frame Check Sequence), a four-byte CRC value used to detect transmission errors).
[0039] Данные тестового кадра - заполнение L2 данных: имеет заголовки L3 (IPv4) и L4 (UDP), датаграмма L4 - нули. Параметры заголовков (L2-L4) как и наличие/отсутствие VLAN меток - часть настроек теста.[0039] Test frame data — L2 data padding: has L3 (IPv4) and L4 (UDP) headers, L4 datagram — zeros. Header parameters (L2-L4) as well as the presence / absence of VLAN tags are part of the test settings.
[0040] Размер тестового пакета (L1) - размер тестового пакета в байтах с учетом 12, байт IFG, 7 байт преамбулы и 1 байт начала Ethernet кадра. То есть минимальный тестовый пакет (L1) имеет размер 84, айта.[0040] Test packet size (L1) is the size of the test packet in bytes given 12, IFG bytes, 7 bytes of the preamble, and 1 byte of the beginning of the Ethernet frame. That is, the minimum test package (L1) has a size of 84, ayt.
[0041] Размер тестового кадра (L2) - размер тестового кадра в Байтах без учета 12 байт IFG, 7 байт преамбулы и 1 байт начала Ethernet кадра. То есть минимальный тестовый кадр (L2) имеет размер 64 байта.[0041] Test frame size (L2) is the size of the test frame in Bytes, excluding 12 IFG bytes, 7 preamble bytes, and 1 byte of the beginning of the Ethernet frame. That is, the minimum test frame (L2) is 64 bytes in size.
[0042] Интервал - временной интервал определенной длительности, внутри которого на анализаторе считается статистика (потери, задержки, джиттер и т.д.)[0042] Interval - a time interval of a certain duration, within which statistics are analyzed on the analyzer (losses, delays, jitter, etc.)
[0043] INTERVAL_TIME - длительность интервала. Задается пользователем от 1 с до 60 с (с шагом в 1 с). По умолчанию принимает значение 10 с.[0043] INTERVAL_TIME is the duration of the interval. User selectable from 1 s to 60 s (in 1 s increments). The default value is 10 s.
[0044] WAIT_TIME - время, в течение которого ожидается приход кадров из предыдущего интервала. Задается пользователем от 0.1 с до INTERVAL_TIME (с шагом в 0.1 с). По умолчанию 2 с. [0044] WAIT_TIME is the time during which the arrival of frames from the previous interval is expected. User selectable from 0.1 s to INTERVAL_TIME (in 0.1 s increments). The default is 2 s.
[0045] FTD - максимально допустимая задержка распространения кадров.[0045] FTD is the maximum allowable propagation delay of frames.
[0046] FTD min - минимальный FTD за заданный промежуток времени (за интервал[0046] FTD min - the minimum FTD for a given period of time (per interval
или за всю тестовую сессию).or for the entire test session).
[0047] FTD max - максимальный FTD за заданный промежуток времени (за интервал или за всю тестовую сессию)[0047] FTD max - maximum FTD for a given period of time (for an interval or for the entire test session)
[0048] FTD avg - средний FTD за заданный промежуток времени (за интервал или за всю тестовую сессию). Рассчитывается как суммарный FTD / количество принятых кадров за заданный промежуток времени.[0048] FTD avg is the average FTD for a given period of time (for an interval or for the entire test session). It is calculated as the total FTD / number of frames received for a given period of time.
[0049] Джиттер пакетов (англ. «Packet Jitter») - колебание задержки при передаче пакетов. Джиттер пакетов имеет большую важность, поскольку именно он определяет максимальную задержку при приеме пакетов в конечном пункте назначения. Принимающая сторона, в зависимости от типа используемого приложения, может попытаться компенсировать джиттер пакетов за счет организации приемного буфера для хранения принятых пакетов на время, меньшее или равное верхней границе дрожания.[0049] Packet Jitter (Packet Jitter) - delay variation in the transmission of packets. Packet jitter is of great importance, since it is he who determines the maximum delay when receiving packets at the final destination. The receiving side, depending on the type of application used, may try to compensate for packet jitter by arranging a receive buffer to store received packets for a time less than or equal to the upper jitter boundary.
[0050] Packet Jitter min - минимальный Packet Jitter за заданный промежуток времени (за интервал или за всю тестовую сессию).[0050] Packet Jitter min - the minimum Packet Jitter for a given period of time (for an interval or for the entire test session).
[0051] Packet Jitter max - максимальный Packet Jitter за заданный промежуток времени (за интервал или за всю тестовую сессию).[0051] Packet Jitter max - maximum Packet Jitter for a given period of time (for an interval or for the entire test session).
[0052] Packet Jitter avg - средний Packet Jitter за заданный промежуток времени (за интервал или за всю тестовую сессию). Рассчитывается как суммарный Packet Jitter / (количество пакетов пришедших по порядку (IOР - In Order Packets)) за заданный промежуток времени.[0052] Packet Jitter avg - The average Packet Jitter for a given period of time (for an interval or for the entire test session). It is calculated as the total Packet Jitter / (the number of packets received in order (IOP - In Order Packets)) for a given period of time.
[0053] IOР (англ. «ln Order Packets») - пакет считается пришедшим по порядку, если его номер (идентификатор) больше, чем идентификатор предыдущего пришедшего пакета.[0053] IOR (eng. “Ln Order Packets”) - a packet is considered to have arrived in order if its number (identifier) is greater than the identifier of the previous packet arrived.
[0054] OOP (англ. «Out Of Order Packets») - пакет считается пришедшим не по порядку, если его номер (идентификатор) меньше, чем идентификатор предыдущего пришедшего пакета.[0054] OOP (Out of Order Packets) - a packet is considered to have arrived out of order if its number (identifier) is less than the identifier of the previous packet arrived.
[0055] Все пакеты, кроме первого в тестовой сессии, относятся к одной из групп (IOР или OOP).[0055] All packets except the first in the test session belong to one of the groups (IOP or OOP).
[0056] Тестовая сессия - один запуск теста. Начинается с запуска генератора кадров на генераторе нагрузочного теста, заканчивается остановкой работы анализатора нагрузочного теста по одной из следующих причин:[0056] Test session - one test run. It starts with the start of the frame generator on the load test generator, and ends with the stop of the load test analyzer for one of the following reasons:
[0057] на анализаторе нагрузочного теста прошло заданное время теста+[0057] the set test time passed on the load test analyzer +
WAIT_TIME.WAIT_TIME
[0058] получена команда остановки теста.[0058] a test stop command has been received.
[0059] Jitter,FTD: ->Min (sec): inf- обозначение состояния, при котором прибор не получает данные по задержке или получает отрицательную задержку (при проблемах с синхронизацией времени).[0059] Jitter, FTD: -> Min (sec): inf- designation of the state in which the device does not receive delay data or receives a negative delay (in case of problems with time synchronization).
[0060] Архитектура системы 100 измерения статистики трафика сети по п-секундным интервалам, т.е. примерный вариант ее реализации, показана на Фиг. 1.[0060] The architecture of the
[0061] Данное техническое решение может быть реализовано посредством способа измерения статистики трафика сети (по сути способ может представлять собой тест), который разбивается по времени на участки - интервалы. В некоторых вариантах реализации изобретения интервалы могут быть равными между собой. В некоторых вариантах реализации тест ограничен 1 часом.[0061] This technical solution can be implemented by a method for measuring network traffic statistics (in fact, the method can be a test), which is divided into sections into time intervals. In some embodiments, the intervals may be equal to each other. In some embodiments, the test is limited to 1 hour.
[0062] Для каждого интервала времени собирается следующая статистика.[0062] For each time interval, the following statistics are collected.
[0063] На генераторе 110 трафика в качестве статистики может собираться число переданных кадров, число переданных байт, число переданных байт (L2), скорость генерации (L2-L4) (которая определяется как число бит за интервал / длительность интервала) и так далее, не ограничиваясь. На анализаторе 120 в качестве статистики может собираться число принятых кадров, число принятых байт (L2), FTD (англ. «Frame Transfer Delay») - задержка кадров (min/max/avg), Packet Jitter по RFC 3550 - джиттер пакетов (min/max/avg), количество кадров, у которых в ходе передачи поменялся ToS (параметр TOS cnt), число пакетов вне очереди (OOP -Out Of Order Packet), число кадров с ошибками (кадром с ошибкой считается кадр с неправильной FCS, но его удалось опознать по загловкам L2-L4), число потерянных кадров, скорость (L2-L4)(определенная как число бит за интервал / длительность интервала) и так далее, не ограничиваясь.[0063] At the traffic generator 110, the statistics may collect the number of transmitted frames, the number of transmitted bytes, the number of transmitted bytes (L2), the generation rate (L2-L4) (which is defined as the number of bits per interval / duration of an interval) and so on, not limited to. On the
[0064] Помимо данной статистики в некоторых вариантах реализации доступна и другая, дополнительная информация о каждом интервале на генераторе 110 и на анализаторе 120.[0064] In addition to these statistics, in some implementations, other, additional information about each interval is available on the generator 110 and on the
[0065] Например, на генераторе 110 может выводиться дополнительно следующая интервальная статистика: статус генератора 110 (например, принимает значения true или false в зависимости от того генератор 110 запущен или генератор 110 выключен), время тестирования, время начала генерации (начала интервала), время окончания генерации, номер текущего интервала генератора 110 (например, начинается с 1), число переданных кадров за последний завершенный интервал, число переданных байт (L2) за последний завершенный интервал, средняя скорость генерации за последний интервал, время фактических измерений, время начала измерений, время окончания измерений.[0065] For example, the following interval statistics can be additionally displayed on the generator 110: status of the generator 110 (for example, takes the values true or false depending on whether the generator 110 is started or the generator 110 is turned off), the test time, the start time of the generation (the beginning of the interval), generation end time, generator current interval number 110 (for example, starts at 1), number of transmitted frames for the last completed interval, number of transmitted bytes (L2) for the last completed interval, average generation speed for the last and interval, time of actual measurements, time of the beginning of measurements, time of the end of measurements.
[0066] Размер интервала задается настройками теста. В конкретном варианте реализации интервал по умолчанию равен 10 с. В рамках одного запуска теста длительность интервала может быть постоянна и настраивается до начала работы теста. В некоторых вариантах реализации при проведении 2-х однонаправленных тестов временные границы интервалов разных направлений никак между собой не синхронизированы.[0066] The interval size is set by the test settings. In a particular implementation, the default interval is 10 s. Within one test run, the duration of the interval can be constant and can be adjusted before the test starts. In some implementations, when conducting 2 unidirectional tests, the time boundaries of intervals of different directions are not synchronized with each other.
[0067] Во время одной тестовой сессии также собирается интегральная статистика. Интегральная статистика представляет собой статистику анализатора 120 за одну тестовую сессию, не привязанную к интервалам. Данная статистика может определяться отдельно и может не совпадать с суммой статистик по интервалам. Например, в случае если кадр интервала N пришел после WAIT TIME секунд после конца интервала N - он не попадет в интервальную статистику, но попадет в интегральную.[0067] Integral statistics are also collected during one test session. Integral statistics are
[0068] Интегральная статистика на генераторе 110 включает число переданных кадров (определяется отдельно от интервальной статистики, но всегда должно быть равно сумме переданных кадров за все интервалы), Число переданных байт (L2) (определяется отдельно от интервальной статистики, но всегда должно быть равно сумме переданных кадров за все интервалы), скорость генерации (L2-L4) (представляет собой число бит за последний интервал / длительность интервала).[0068] The integrated statistics on generator 110 includes the number of transmitted frames (determined separately from interval statistics, but should always be equal to the sum of transmitted frames for all intervals), The number of transmitted bytes (L2) (determined separately from interval statistics, but should always be equal the sum of the transmitted frames for all intervals), the generation rate (L2-L4) (represents the number of bits for the last interval / duration of the interval).
[0069] Интегральная статистика на анализаторе 120 включает число принятых кадров всего (определяется отдельно от интервальной статистики, может отличаться от суммы за все интервалы), число принятых байт (L2) всего (определяется отдельно от интервальной статистики, может отличаться от суммы за все интервалы), задержку кадров (FTD - англ. «Frame Transfer Delay») (представляет собой задержку кадров (min/max/avg), считается отдельно от интервальной статистики, может быть не равно минимальному, максимальному, среднему значению по всем интервалам. Например из-за ситуации с приходом кадра после WAIT TIME секунд после завершения интервала), Packet Jitter по RFC 3550 (пакетный джиттер (min/max/avg), который считается отдельно от интервальной статистики, может быть не равно минимальному, максимальному, среднему значению по всем интервалам, например из-за ситуации с приходом пакета после WAIT TIME секунд после завершения интервала), количество кадров, у которых в ходе передачи поменялся ToS (считается отдельно от интервальной статистики, может отличаться от суммы за все интервалы), число пакетов вне очереди (OOP) (считается отдельно от интервальной статистики, может отличаться от суммы за все интервалы), число кадров с ошибками (кадры с CRC-ошибкой, которые подошли по фильтрам. Считается отдельно от интервальной статистики, может отличаться от суммы за все интервалы), число потерянных кадров (считается как сумма потерянных кадров за все интервалы), скорость (L2-L4) (число бит всего / текущее время теста).[0069] The integrated statistics on
[0070] Номер интервала, к которому будет принадлежать кадр определяет генератор 110 трафика в процессе отправки кадра. Генератор 110 вставляет индексы интервала в отправляемые кадры (в конец кадра, подробнее структура тестового кадра описана ниже), чтобы анализатор 120 мог правильно распределить кадры по интервалам.[0070] The number of the interval to which the frame will belong is determined by the traffic generator 110 in the process of sending the frame. The generator 110 inserts the interval indices into the sent frames (at the end of the frame, the structure of the test frame is described in more detail below) so that the
[0071] Если на анализаторе сейчас идет интервал N, и пришел кадр из интервала N, то он учитывается в статистике для интервала N.[0071] If the analyzer now goes to the interval N, and the frame came from the interval N, then it is taken into account in the statistics for the interval N.
[0072] Если на анализаторе 120 в данный момент времени идет интервал N (и прошло меньше времени, чем WAIT_TIME от начала интервала), и пришел кадр из интервала N-1, то он учитывается в статистике для интервала N-1.[0072] If the
[0073] Если на анализаторе 120 в данный момент времени идет интервал N (и до начала следующего интервала меньше, чем WAIT_TIME), и пришел кадр из интервала N+1, то он учитывается в статистике для интервала N+1.[0073] If the
[0074] Во всех других случаях кадр не учитывается в интервальной статистике, но учитывается в интегральной.[0074] In all other cases, the frame is not taken into account in the interval statistics, but is taken into account in the integral.
[0075] Данное техническое решение может осуществляться следующим образом.[0075] This technical solution can be implemented as follows.
[0076] Система 100 обращается к программному агенту 130, расположенному на генераторе 110, настраивает и запускает на нем способ измерения статистики трафика сети по n-секундным интервалам (тест). Затем программный агент 130, расположенный на генераторе 110, перед тестом настраивает программный агент 140, расположенный на анализаторе 120, после чего настраивает сам генератор 110 (скорости генерации трафика, длительности теста, длина пакета и т.д.). Анализатору 120 направляется информация о настройках теста (скорости генерации трафика, длительности теста, длина пакета и т.д.).[0076] The
[0077] Затем на основании этой информации анализатор 120 рассчитывает, сколько пакетов будет отправлено генератором 110 и когда он закончит процесс генерации.[0077] Then, based on this information, the
[0078] Далее программный агент 130 запускает генератор 110, а программный агент 140 запускает анализатор 120. Для правильного формирования интервалов на приеме временем начала теста считается время приема первого пакета. Если первый пакет не дошел, а дошел пакет с порядковым номером N (пакеты индексируются с нуля), то из времени приема пакета вычитается N * период генерации секунд.[0078] Next, the software agent 130 starts the generator 110, and the software agent 140 starts the
[0079] Например, в конкретном примере реализации анализатор 120 и генератор 110 были запущены со следующими настройками.[0079] For example, in a specific implementation example,
[0080] Скорость (L1) составляет 1000 Мбит/с (100% нагрузка), размер пакета (L1) равен 84 Байта (минимальный возможный кадр 64 Байт + 12 Байт Inter Frame GAP + 7 Байт Preamble + 1 Байт Start of frame delimiter), длительность интервала составляет 10 c.[0080] The speed (L1) is 1000 Mbps (100% load), the packet size (L1) is 84 Bytes (minimum possible frame 64 Bytes + 12 Bytes Inter Frame GAP + 7 Bytes Preamble + 1 Byte Start of frame delimiter) , the duration of the interval is 10 s.
[0081] Первые 10 пакетов были потеряны в сети и на анализатор 120 после старта теста первым пришел пакет с индексом 10. Значение периода генерации зависит от размера пакета и скорости генерации и рассчитывается как:[0081] The first 10 packets were lost on the network and the
[0082] Период генерации = (1/Число пакетов за 1 секунду);[0082] Generation period = (1 / Number of packets in 1 second);
[0083] Число пакетов за 1 секунду = Скорость L1 / (Размер пакета L1 в битах).[0083] Number of packets per 1 second = L1 speed / (L1 packet size in bits).
[0084] Для данного конкретного примера реализации получают следующие[0084] For this specific implementation example, the following
значения:values:
[0085] Число пакетов за 1 секунду = Скорость L1 / (Размер пакета L1 в битах)=1е9 / (84 * 8) = 1488095.238 пакетов в секунду.[0085] Number of packets per 1 second = L1 speed / (L1 packet size in bits) = 1е9 / (84 * 8) = 1488095.238 packets per second.
[0086] Период генерации = (1/Число пакетов за 1 секунду)=6.72е-7 с.[0086] Generation period = (1 / Number of packets per 1 second) = 6.72e-7 s.
[0087] После прихода первого пакета в тесте анализатор 120 должен выставить таймер, представляющий собой время завершение первого интервала и сохранить время начала теста.[0087] After the arrival of the first packet in the test,
[0088] Если бы первым пришел пакет #0:[0088] If
[0089] Время начала теста = текущее время - 0 * (период генерации пакетов) = текущее время.[0089] Test start time = current time - 0 * (packet generation period) = current time.
[0090] Время завершения первого интервала = INTERVAL_TIME - 0 * (период генерации пакетов) = INTERVAL_TIME = 10 с. [0090] Completion time of the first interval = INTERVAL_TIME - 0 * (packet generation period) = INTERVAL_TIME = 10 s.
[0091] Для случая, когда первые 10 пакетов были потеряны:[0091] For the case when the first 10 packets were lost:
[0092] Время начала теста = текущее время - 10 * (период генерации пакетов) = текущее время - 6.72е-6 с. [0092] Test start time = current time - 10 * (packet generation period) = current time - 6.72e-6 s.
[0093] Время завершения первого интервала=INTERVAL_TIME - 10 * (период генерации пакетов)=INTERVAL_TIME - 6.72е-6=9.99999328 с.[0093] The completion time of the first interval = INTERVAL_TIME - 10 * (packet generation period) = INTERVAL_TIME - 6.72e-6 = 9.99999328 s.
[0094] При условии, что задержка в сети не слишком меняется от пакета к пакету, это дает достаточную точность для времени начала.[0094] Provided that the network delay does not change too much from packet to packet, this gives sufficient accuracy for the start time.
[0095] Тест завершается после завершения всех интервалов по времени или при приеме от системы 100 команды на завершение теста.[0095] The test is completed after completion of all time intervals or upon receipt of a command to complete the test from
[0096] Варианты, при каждом из которых может происходить завершение теста:[0096] Options for each of which may complete the test:
• на анализатор 120 прошло заданное время теста+WAIT_TIME;• the
• выполнена команда остановки теста (при наличии канала).• a command to stop the test was performed (if there is a channel).
[0097] Для валидного измерения задержки кадров (FTD) в одностороннем тесте системные часы генератора 110 и анализатора 120 могут быть синхронизированы по протоколу NTP или РТР.[0097] For a valid measurement of frame delay (FTD) in a one-way test, the system clocks of the generator 110 and the
[0098] При условии тестирования на полной скорости канала и отсутствии резервного канала управления анализатор 120 считается недоступным. При таких условиях тест невозможно отключить средствами системы 100.[0098] With testing at full channel speed and no backup control channel,
[0099] Установкой соединения и запуском теста управляют программные агенты 130 и 140, поэтому в них не закладываются команды удаленного управления тестами.[0099] Software agents 130 and 140 control the establishment of the connection and the launch of the test, so remote test control commands are not included in them.
[00100] Основная логика работы способа измерения статистики трафика сети по n-секундным интервалам (который может быть представлен как тест) может быть реализована аппаратно с использованием FPGA. FPGA (англ. «Field-Programmable Gate Аrrау») представляет собой программируемую логическую интегральную схему (ПЛИС), конфигурация которой может быть загружена после включения питания. Также FPGA иногда называется программируемой пользователем вентильной матрицы.[00100] The basic logic of the method for measuring network traffic statistics at n-second intervals (which can be represented as a test) can be implemented in hardware using FPGA. FPGA (Field-Programmable Gate Arrow) is a programmable logic integrated circuit (FPGA), the configuration of which can be loaded after power is turned on. Also FPGA is sometimes called a user-programmable gate array.
[00101] Таким образом при осуществлении способа достигается:[00101] Thus, in the implementation of the method is achieved:
[00102] повышение точности длительности интервалов (с точностью до +- 25 ррm от длительности интервала, то есть +- 0.00025 с для интервала 10 с);[00102] increasing the accuracy of the duration of the intervals (accurate to + - 25 ppm of the duration of the interval, that is, + - 0.00025 s for the interval of 10 s);
[00103] повышение предсказуемости числа пакетов, отправляемых в интервал (с точностью +-1 пакет, так как пакет на границе интервалов может быть причислен к следующему или предыдущему интервалу).[00103] increasing the predictability of the number of packets sent per slot (with an accuracy of + -1 packet, since the packet at the boundary of the intervals can be assigned to the next or previous interval).
[00104] Генератор 110 может быть реализован следующим образом, как показано ниже.[00104] The generator 110 may be implemented as follows, as shown below.
[00105] Программный агент 130, расположенный на генераторе 110, взаимодействует с сервисом, который может работать под управлением ОС Linux, для управления генератора 110 трафика, запущенным на измерительном устройстве с функциями клиентского маршрутизатора и функцией мониторинга пользовательского трафика. В некоторых вариантах реализации таким устройством может быть программно-аппаратный зонд wiProbe™, который является измерительным устройством с поддержкой функции NFV/SDN и H-QoS.[00105] The software agent 130, located on the generator 110, interacts with a service that can run Linux, to control the traffic generator 110, running on the measuring device with the functions of the client router and the function of monitoring user traffic. In some embodiments, such a device may be a wiProbe ™ hardware and software probe, which is a measuring device that supports NFV / SDN and H-QoS.
[00106] Пользователь технического решения может направлять в систему 100 следующие команды:[00106] The user of the technical solution may send the following commands to system 100:
• запуск генератора;• generator start;
• остановка генератора;• generator stop;
• получение текущего статуса и настроек генератора;• obtaining the current status and generator settings;
• получение интервальной статистики генератора;• obtaining interval statistics of the generator;
• получение интегральной статистики генератора.• obtaining integral generator statistics.
[00107] Непосредственно за генерацию трафика отвечает генератор 110 трафика, расположенный в FPGA. После управляющей команды от пользователя, направленной из системы 100, на старт генерации генератор 110 в FPGA начинает генерировать пакеты с настроенным заголовком с постоянной скоростью. Длительность теста для FPGA всегда задается в пакетах, что гарантирует точное количество переданных пакетов на передаче.[00107] Directly responsible for generating traffic is the traffic generator 110 located in the FPGA. After the control command from the user directed from the
[00108] Длительность теста в байтах и времени переводится в пакеты по следующим формулам:[00108] The duration of the test in bytes and time is translated into packets according to the following formulas:
[00109] Длительность теста в пакетах = floor ((скорость генерации L1 (бит/с) / размер пакета L1 (бит)) * длительность теста в (с));[00109] Duration of the test in packets = floor ((generation rate L1 (bits / s) / packet size L1 (bits)) * test duration in (s));
[00110] Длительность теста в пакетах = ceil (длительность теста (байт) / размер пакета L1 (байт)),[00110] Test duration in packets = ceil (test duration (bytes) / packet size L1 (bytes)),
[00111] где floor-округление вниз до целого, ceil - округление вверх до целого.[00111] where floor is rounding down to the integer, ceil is rounding up to the whole.
[00112] В некоторых вариантах реализации настройки теста не могут быть изменены в процессе выполнения теста.[00112] In some embodiments, test settings cannot be changed during the test.
[00113] Принадлежность переданного пакета к конкретному интервалу определяется временем начала генерации пакета. Индекс интервала вставляется в тело пакета.[00113] The belonging of the transmitted packet to a specific interval is determined by the start time of the generation of the packet. The interval index is inserted into the package body.
Для того, чтобы рассчитывать все необходимые метрики теста, в тестовый пакет помещается следующая информация (в совокупности 10 байт информации):In order to calculate all the necessary test metrics, the following information is placed in the test package (a total of 10 bytes of information):
[00114] Flow ID (4 бита) (в некоторых вариантах реализации может быть 1 и более потоков).[00114] Flow ID (4 bits) (in some embodiments, there may be 1 or more streams).
[00115] Индекс интервала (4 бита) - считаем, что пакеты не могут задержаться на 16 интервалов.[00115] Interval index (4 bits) - we believe that packets cannot be delayed for 16 intervals.
[00116] Порядковый номер пакета (4 Байта) - начиная с 0. В данном параметре подразумевается, что сеть не может потерять подряд больше чем 232 пакетов.[00116] Packet serial number (4 Bytes) - starting at 0. This parameter assumes that the network cannot lose more than 2,232 packets in a row.
[00117] Время отправки кадра (5 Байт) - временная метка, вставляемая при отправке.[00117] Frame send time (5 Bytes) is the timestamp inserted when sending.
[00118] Таким образом, в данном техническом решении возможна реализация пакетов размером 64 байта даже с двумя VLAN-тегами. Временная метка отправки кадра соответствует времени выхода первого байта кадра из генератора 110 в канал связи. По терминологии Y.1563 это время соответствует ingress event FRE1.[00118] Thus, in this technical solution, it is possible to implement packets of size 64 bytes even with two VLAN tags. The timestamp for sending a frame corresponds to the time the first byte of the frame leaves the generator 110 in the communication channel. In Y.1563 terminology, this time corresponds to the ingress event FRE1.
[00119] В некоторых вариантах реализации генератор 110 трафика отправляет кадры фиксированной длины.[00119] In some embodiments, the traffic generator 110 sends frames of a fixed length.
[00120] Диапазоны размеров кадров (L2) (с учетом CRC-суммы) могут иметь следующие размеры:[00120] Frame size ranges (L2) (including CRC sums) may have the following sizes:
• минимальный размер кадра (L2) - 64 байта;• minimum frame size (L2) - 64 bytes;
• максимальный размер кадра (L2) - 9600 байт.• The maximum frame size (L2) is 9600 bytes.
[00121] Модуль 150 статистики генератора 110 предоставляет следующую статистику по последнему завершенному интервалу и по текущей тестовой сессии:[00121] The statistics module 150 of the generator 110 provides the following statistics for the last completed interval and for the current test session:
• Число переданных кадров;• The number of frames transmitted;
• Число переданных байт (L2);• The number of bytes transmitted (L2);
• Скорость генерации (L2-L4);• Generation rate (L2-L4);
• Номере последнего завершенного интервала;• Number of the last completed interval;
• Номере активного интервала;• Active interval number;
• Статус теста - (true | false) (тестовая сессия в процессе | завершена).• Test status - (true | false) (test session in process | completed).
[00122] Часть данной статистики собирается в FPGA:[00122] Part of this statistic is collected in the FPGA:
• Число переданных кадров (за последний интервал и всего);• The number of frames transmitted (for the last interval and total);
• Число переданных байт L2 (за последний интервал и всего);• The number of transmitted bytes L2 (for the last interval and total);
• Номере текущего интервала;• Current interval number;
• Статус генератора пакетов (отправляет пакеты | не отправляет пакеты).• Status of the packet generator (sends packets | does not send packets).
[00123] Остальная статистика вычисляется модулем 150 статистики генератора 110 трафика.[00123] The remaining statistics are calculated by the statistics module 150 of the traffic generator 110.
[00124] Модуль 150 статистики генератора 110 трафика после старта генерации периодически (не реже, чем раз в INTERVAL_TIME) опрашивает FPGA, и считывает значение номера текущего интервала и общую статистику за все время теста.[00124] The statistics module 150 of the traffic generator 110 after the start of generation periodically (at least once in INTERVAL_TIME) polls the FPGA and reads the value of the number of the current interval and general statistics for the entire duration of the test.
[00125] Общая статистика (интегральная) обновляется каждый раз, при такой проверке.[00125] The overall statistics (integral) is updated every time with such a check.
[00126] Статистика по интервалу считывается, если:[00126] Interval statistics are read if:
• Номер текущего и последнего завершенного интервала не совпадают;• The number of the current and last completed interval do not match;
• Номер текущего интервала не равен значению, прочитанному при предыдущем вычитывании.• The number of the current interval is not equal to the value read during the previous subtraction.
[00127] В этом случае количество кадров/Байт для завершенного интервала и его номер сохраняются в память, а номер активного интервала заменяется на новый.[00127] In this case, the number of frames / Bytes for the completed interval and its number are stored in memory, and the number of the active interval is replaced with a new one.
[00128] Так как размерность счетчиков в FPGA ограничена, после считывания числа переданных байт и кадров счетчики в FPGA очищаются, и задачей модуля 150 статистики является аккумуляция значений счетчиков после каждого вычитывания.[00128] Since the dimension of the counters in the FPGA is limited, after reading the number of bytes and frames transmitted, the counters in the FPGA are cleared, and the task of the statistics module 150 is to accumulate the count values after each read.
[00129] Непосредственно отправка пакетов генератором 110 может остановиться, например, в следующих случаях:[00129] Directly sending packets by the generator 110 may stop, for example, in the following cases:
[00130] было отправлено необходимое количество пакетов (FPGA завершает генерацию самостоятельно и уведомляет об этом изменяя значение статуса генератора 110);[00130] the necessary number of packets was sent (FPGA completes the generation on its own and notifies about this by changing the status value of the generator 110);
[00131] была получена команда об остановке теста от программного агента 130.[00131] a command was received to stop the test from the software agent 130.
[00132] В случае, если тест завершился штатно, и FPGA уведомила об этом модуль 150 статистики, и команда остановки генерации от модуля 150 статистики к FPGA не посылается, то статистика считывается еще раз.[00132] If the test completed normally and the FPGA notified the statistics module 150, and the generation stop command is not sent from the statistics module 150 to the FPGA, the statistics are read again.
[00133] После команды на остановку теста модуль 150 статистики сразу же дает команду на прекращение генерации в FPGA. После этого модуль 150 статистики считывает и обновляет статистику.[00133] After the command to stop the test, the statistics module 150 immediately gives the command to stop generation in the FPGA. After that, the statistics module 150 reads and updates statistics.
[00134] Результаты работы модуля 150 статистики доступны пользователю с помощью например следующих CLI команд:[00134] The results of the statistics module 150 are available to the user using, for example, the following CLI commands:
[00135] show wlt-tx results local profile (0 | 1) - выводит интервальную статистику;[00135] show wlt-tx results local profile (0 | 1) - displays interval statistics;
[00136] show wlt-tx results total profile (0 | 1) - выводит интегральную статистику.[00136] show wlt-tx results total profile (0 | 1) - displays integrated statistics.
[00137] Команда show wlt-tx results local profile (0 | 1) выводит информацию по интервальной статистике генератора 110:[00137] The show wlt-tx results local profile (0 | 1) command displays information on the interval statistics of generator 110:
• Status (Статус генератора) - (true | false) (генератор запущен | генератор выключен)• Status - (true | false) (generator running | generator off)
• Elapsed time (Время тестирования) - (Stop time - Start time)• Elapsed time (Test time) - (Stop time - Start time)
• Start time (Время начала генерации) - (Время начала интервала (Linux sys time))• Start time - (Interval start time (Linux sys time))
• Stop time (Время окончания генерации) - (Время конца интервала (Linux sys time))• Stop time - (End time interval (Linux sys time))
• Bucket - Номер текущего интервала генератора (начинается с 1)• Bucket - Number of the current interval of the generator (starts from 1)
• Packets - Число переданных кадров за последний завершенный интервал• Packets - The number of frames transmitted for the last completed interval
• Bytes - Число переданных байт (L2) за последний завершенный интервал• Bytes - The number of bytes transmitted (L2) for the last completed interval
• Rate (L2-L4) - Средняя скорость генерации за последний интервал• Rate (L2-L4) - Average generation rate for the last interval
• Elapsed meas time (Время фактических измерений) - ( = INTERVAL_TIME)• Elapsed meas time - (= INTERVAL_TIME)
• Start meas time (Время начала измерений) - (ТХ Start meas time total + ((Bucket -1) * INTERVAL_TIME))• Start meas time (- TX Start meas time total + ((Bucket -1) * INTERVAL_TIME))
• Stop meas time (Время окончания измерений) - (Start meas time + INTERVAL_TIME)• Stop meas time - (Start meas time + INTERVAL_TIME)
[00138] Команда show wlt-tx results total profile (0 | 1) выводит информацию по интегральной статистике генератора:[00138] The show wlt-tx results total profile (0 | 1) command displays information on the integrated statistics of the generator:
• Status (Статус генератора) - (true | false) (генератор запущен | генератор выключен)• Status - (true | false) (generator running | generator off)
• Elapsed time (Время тестирования) - (Stop time - Start time)• Elapsed time (Test time) - (Stop time - Start time)
• Start time (Время начала генерации) - (Время начала тестовой сессии (Linux sys time))• Start time - (Start time of the test session (Linux sys time))
• Stop time (Время окончания генерации) - (Время конца тестовой сессии (Linux sys time))• Stop time - (End time of the test session (Linux sys time))
• Bucket - Номер текущего интервала генератора (начинается с 1)• Bucket - Number of the current interval of the generator (starts from 1)
• Packets - Число переданных кадров за текущую тестовую сессию• Packets - The number of frames transmitted for the current test session
• Bytes - Число переданных байт L2 за текущую тестовую сессию• Bytes - The number of transmitted L2 bytes for the current test session
• Rate (L2-L4) - Средняя скорость генерации за текущую тестовую сессию• Rate (L2-L4) - Average generation rate for the current test session
• Elapsed meas time (Время фактических измерений) - (Bucket * INTERVAL_TIME)• Elapsed meas time - (Bucket * INTERVAL_TIME)
• Start meas time (Время начала измерений) - (Время отправки первого пакета из FPGA (FPGA time))• Start meas time - (Time to send the first packet from FPGA (FPGA time))
• Stop meas time (Время окончания измерений) - (Start meas time + Elapsed meas time)• Stop meas time - (Start meas time + Elapsed meas time)
[00139] Анализатор 120 может быть реализован следующим образом, как показано ниже.[00139] The
[00140] Программный агент 140 взаимодействует с модулем 150 статистики, работающим под управлением ОС Linux, для управления анализатором трафика, запущенным на зонде wiProbe.[00140] The software agent 140 interacts with a statistics module 150 running on a Linux OS to control a traffic analyzer running on a wiProbe probe.
[00141] Пользователь технического решения может направлять в систему 100[00141] The user of the technical solution may direct to the
следующие команды:following commands:
[00142] запуск анализатора;[00142] starting the analyzer;
[00143] остановка анализатора;[00143] stopping the analyzer;
[00144] текущий статус и настройки анализатора;[00144] the current status and settings of the analyzer;
[00145] интервальная статистика анализатора;[00145] interval analyzer statistics;
[00146] интегральная статистика анализатора.[00146] analyzer integrated statistics.
[00147] Основной процесс анализа тестового трафика происходит в FPGA. Модуль 150 статистики передает необходимые настройки в FPGA и запускает анализ трафика.[00147] The main test traffic analysis process takes place in the FPGA. The statistics module 150 transfers the necessary settings to the FPGA and starts traffic analysis.
[00148] В ходе настройки в анализатор 120 трафика в FPGA записывается информация о: длительности интервала, времени, в течение которого ожидается приход кадров из предыдущего интервала, периоде отправки пакетов на генераторе 110, длительности теста (выраженная в количестве интервалов), ожидаемого ToS пакетов, Pv4 destination, UDP destination.[00148] During the configuration, the
[00149] Период отправки пакетов вычисляется из заданной скорости генерации и размера пакета по формуле:[00149] The packet sending period is calculated from a given generation rate and packet size by the formula:
[00150] Период генерации = (1/Число пакетов за 1 секунду);[00150] Generation period = (1 / Number of packets in 1 second);
[00151] Число пакетов за 1 секунду = Скорость L1 / (Размер пакета L1 в битах).[00151] Number of packets per 1 second = L1 speed / (L1 packet size in bits).
[00152] FPGA считает тестовыми пакетами и учитывает их в интервальной статистике, те пакеты, которые попадают одновременно под все следующие фильтры:[00152] FPGA considers the test packets and takes them into account in the interval statistics, those packets that fall simultaneously under all of the following filters:
• IP-адрес получателя равен заданному (Pv4 destination)• destination IP address is set to (Pv4 destination)
• UDP-порт получателя равен заданному (UDP destination)• destination UDP port is equal to the specified (UDP destination)
• Размер пакета попадает в диапазон от 64 до 9600 байт• The packet size falls in the range from 64 to 9600 bytes
• Задержка пакета меньше 10 с• Packet delay less than 10 s
• Пакет принадлежит:• Package belongs to:
Текущему окну Current window
Предыдущему окну, но со смены окна прошло времени меньше, чем WAIT_TIME Previous window, but less than WAIT_TIME elapsed since window change
Следующему окну, но до смены окна осталось времени меньше, чем WAIT_TIME To the next window, but before the window changes, there is less time than WAIT_TIME
[00153] FPGA считает тестовыми пакетами и учитывает их в интегральной статистике, те которые попадают одновременно под все следующие фильтры:[00153] FPGA considers test packets and takes them into account in integrated statistics, those that fall simultaneously under all of the following filters:
• IP-адрес получателя равен заданному (Pv4 destination)• destination IP address is set to (Pv4 destination)
• UDP-порт получателя равен заданному (UDP destination)• destination UDP port is equal to the specified (UDP destination)
• Размер пакета попадает в диапазон от 64 до 9600 байт• The packet size falls in the range from 64 to 9600 bytes
• Задержка пакета меньше 10 с• Packet delay less than 10 s
[00154] Дополнительные счетчики учитывают, сколько из пришедших пакетов были и за каждый интервал и интегрально:[00154] Additional counters take into account how many of the incoming packets were for each interval and integrally:
• С CRC-ошибками• With CRC errors
• С полем ToS не равным заданному• With a ToS field not equal to the specified
[00155] Временная метка приема пакета защелкивается во время приема последнего байта тестового кадра. По терминологии Y.1563 это время соответствует egress event FRE2.[00155] The packet reception timestamp is latched while receiving the last byte of the test frame. In Y.1563 terminology, this time corresponds to the egress event FRE2.
[00156] После того, как модуль 150 статистики был запущен, приемник в FPGA начинает ожидание первого дошедшего пакета из тестового потока. При приеме этого пакета предсказывается длительность первого интервала на приеме по формуле:[00156] After the statistics module 150 has been started, the receiver in the FPGA starts waiting for the first packet to arrive from the test stream. Upon receipt of this packet, the duration of the first reception interval is predicted by the formula:
[00157] Время завершения первого интервала = INTERVAL_TIME - номер первого принятого пакета * (период генерации пакетов)[00157] Completion time of the first interval = INTERVAL_TIME - number of the first received packet * (packet generation period)
[00158] Схожим образом рассчитывается абсолютное время приема первого пакета:[00158] Similarly, the absolute reception time of the first packet is calculated:
[00159] Время приема первого пакета = текущее время - номер первого принятого пакета * (период генерации пакетов)[00159] First packet reception time = current time is the number of the first packet received * (packet generation period)
[00160] В случае, если потерь в начале теста не было, пакет будет с номером 0, и начало интервала будет совпадать со временем приема пакета.[00160] In the event that there were no losses at the start of the test, the packet will be numbered 0, and the beginning of the interval will coincide with the packet reception time.
[00161] Вычисленное время приема первого пакета сохраняется до конца теста - по нему модуль 150 статистики определяет действительную длительность всего нагрузочного теста.[00161] The calculated time of reception of the first packet is stored until the end of the test - according to it, the statistics module 150 determines the actual duration of the entire load test.
[00162] Время завершения первого интервала используется как инициализационное значение таймера в FPGA. В момент приема первого тестового кадра таймер запускается. После завершения отсчитанного времени таймер автоматически перезапускается, но для всех интервалов, кроме первого, в качестве инициализационного значения используется INTERVAL_TIME.[00162] The completion time of the first interval is used as the initialization value of the timer in the FPGA. When the first test frame is received, the timer starts. After the countdown has elapsed, the timer automatically restarts, but for all intervals except the first, INTERVAL_TIME is used as the initialization value.
[00163] Дальнейшая работа с интервальной статистикой в FPGA происходит на основе состояния этого таймера.[00163] Further work with interval statistics in the FPGA is based on the state of this timer.
[00164] Так как для анализа статистики учитываются не только пакеты текущего интервала, но и пакеты опоздавшие и пришедшие раньше времени, анализатор 120 в FPGA выделяет 3 интервала времени, в которые эти опоздавшие и опередившие свое время пакеты будут анализироваться.[00164] Since not only packets of the current interval, but also packets that are late and arrive ahead of time are taken into account for statistics analysis, the
[00165] На Фиг. 2 и Фиг. 3 показаны схемы, одна для случая, когда длительность WAIT_TIME меньше, чем 1/2 INTERVAL_TIME. Отдельно на Фиг. 3 представлен случай, когда длительность WAIT_TIME больше, чем 1/2 INTERVAL_TIME - в этом случае интервалы для будущих пакетов и для опоздавших пересекаются.[00165] In FIG. 2 and FIG. 3 shows diagrams, one for the case where the WAIT_TIME duration is less than 1/2 INTERVAL_TIME. Separately in FIG. Figure 3 shows the case when the duration of WAIT_TIME is longer than 1/2 INTERVAL_TIME - in this case, the intervals for future packets and for latecomers intersect.
[00166] АСС 0/1/2: счетчики статистики. Всего есть 3 счетчика, на фигуре знаком "+" обозначено, что в этот период времени указанный счетчик аккумулирует статистику (в скобках указано, какого потока эта статистика).[00166]
[00167] CURR/NEXT/PREVIOUS АСС: каждый из счетчиков в конкретный момент времени может собирать статистику одного из типов временного окна: текущего, предыдущего и следующего. На фигуре указано, какой счетчик какую статистику аккумулирует.[00167] CURR / NEXT / PREVIOUS ACC: each of the counters at a particular point in time can collect statistics of one of the types of time windows: current, previous and next. The figure shows which counter accumulates what statistics.
[00168] В конкретном примере реализации анализ пакетов интервала #1 начинается за WAIT TIME до конца интервала #0 (первое деление синего цвета).[00168] In a specific implementation example, packet analysis of
[00169] В этот момент за статистику данного интервала отвечает счетчик "NEXT АСС". На Фиг. 2 видно, что в этот момент времени это "АСС 1".[00169] At this point, the statistics of this interval is the responsibility of the "NEXT ACC" counter. In FIG. 2 shows that at this point in time it is "
[00170] Когда интервал #0 заканчивается (первое деление красного цвета) интервал #1 становится текущим - "CURRENT АСС". В этот же момент времени счетчик "CURRENT АСС" меняется с "АСС 0" на "АСС 1". Таким образом статистика за интервал #1 продолжает собираться в аккумулятор "АСС 1".[00170] When the
[00171] Когда основное время для интервала #1 заканчивается (второе деление красного цвета) текущим интервалам становится интервал #2. Но пакеты для интервала #1 все еще могут попасть в статистику, в течении времени WAIT TIME. Для этого используется аккумулятор "PREVIOUS АСС" который в этот же момент времени меняет свой адрес на "АСС 1".[00171] When the main time for
[00172] По истечении времени WAIT TIME статистика счетчика "АСС 1" экспортируется - сохраняется в теневые регистры. При этом счетчик "АСС 1" уже может собирать другую статистику - На Фиг. 2 он становится "NETX АСС" для интервала #4.[00172] After the WAIT TIME time has elapsed, the statistics of the
[00173] Модулю 150 статистики не нужно знать о том, что в FPGA есть три аккумулятора. По завершению анализа каждого интервала счетчик, который отвечал за сбор пакетов предыдущего интервала, сохранят свои значение в специальный регистр, к которому и обращается модуль 150 статистики для сбора статистики за последний интервал.[00173] The statistics module 150 does not need to know that there are three batteries in the FPGA. Upon completion of the analysis of each interval, the counter that was responsible for collecting the packets of the previous interval will save their values in a special register, which is accessed by the statistics module 150 to collect statistics for the last interval.
[00174] FPGA предоставляет информацию о:[00174] The FPGA provides information on:
• Последнем полностью собранном интервале и за всю тестовую сессию:• The last fully collected interval and for the entire test session:
Число принятых в нем кадров о Число принятых в нем байт (L2) The number of frames received in it o The number of bytes received in it (L2)
FTD (Frame Transfer Delay) - задержка кадров (min/max/acc) FTD (Frame Transfer Delay) - frame delay (min / max / acc)
Packet Jitter по RFC 3550 (А.8) - пакетный джиттер (min/max/acc) RFC 3550 Packet Jitter (A.8) - Packet Jitter (min / max / acc)
TOS cnt - количество кадров, у которых в ходе передачи поменялся ToS TOS cnt - the number of frames that changed ToS during transmission
Число пакетов вне очереди (OOP - Out Of Order Packets) Out Of Order Packets (OOP)
Число кадров с ошибками - кадры с CRC-ошибкой, которые подошли The number of frames with errors - frames with CRC error that came up
по фильтрамby filters
Минимальный номер пакета в интервале Minimum packet number in the interval
Максимальный номер пакета в интервале The maximum packet number in the interval
Флаг о том, что все пакеты в интервале приходили последовательно The flag that all packets in the interval arrived sequentially
• Действительное время начала тестовой сессии (время прихода первого пакета);• The actual start time of the test session (time of arrival of the first packet);
• Действительное время конца тестовой сессии (время прихода последнего пакета);• The actual time of the end of the test session (time of arrival of the last packet);
• Номере текущего интервала.• Current interval number.
[00175] Из-за ошибки синхронизации времени между генератором 110 и анализатором 120 FTD может принимать отрицательные значения. Такие значения не учитываются в статистике.[00175] Due to a time synchronization error between the generator 110 and the
[00176] FPGA не выполняет расчет средних значений FTD и джиттера, а только считает сумму этих значений. Задача модуль 150 статистики - разделить предоставленную сумму на число принятых пакетов и число принятых пакетов по порядку.[00176] The FPGA does not calculate the average values of the FTD and jitter, but only considers the sum of these values. The task of statistics module 150 is to divide the amount provided by the number of received packets and the number of received packets in order.
[00177] Таким образом, формируется следующая статистика, которая используется потом в процессе расчета потерь пакетов за интервал:[00177] Thus, the following statistics are generated, which are then used in the process of calculating packet loss over the interval:
• Минимальный номер пакета в интервале;• The minimum packet number in the interval;
• Максимальный номер пакета в интервале;• Maximum packet number in the interval;
• Флаг о том, что все пакеты в интервале приходили последовательно.• A flag that all packets in the interval came in sequence.
[00178] Проведя инициализацию FPGA, модуль 150 статистики начинает вызывать обработчик результатов не реже, чем раз в INTERVAL_TIME секунд. При каждом вызове запоминается номер текущего интервала и считывается интегральная статистика. Так как размерность счетчиков в FPGA ограничена -после считывания интегральной статистики счетчики в FPGA очищаются, и задача модуля 150 статистики - аккумуляция значений счетчиков после каждого вычитывания.[00178] After initializing the FPGA, the statistics module 150 starts calling the result handler at least once every INTERVAL_TIME seconds. Each call remembers the number of the current interval and reads the integrated statistics. Since the dimension of the counters in the FPGA is limited — after reading the integral statistics, the counters in the FPGA are cleared, and the task of the statistics module 150 is to accumulate the values of the counters after each reading.
[00179] Если номер текущего интервала изменился с последнего чтения -производятся следующие действия:[00179] If the number of the current interval has changed since the last read, the following actions are performed:
• Считывается вся статистика по последнему завершенному интервалу из FPGA;• Read all statistics for the last completed interval from the FPGA;
• Считается средняя скорость за интервал (число принятых бит за интервал / длительность интервала);• The average speed per interval (the number of received bits per interval / duration of the interval) is considered;
• Считаются число потерянных пакетов за интервал.• The number of lost packets per interval is counted.
[00180] В некоторых вариантах реализации осуществляют расчет потерь пакетов за интервал следующим образом. На первом шаге осуществляют предсказание числа переданных пакетов за последний интервал:[00180] In some embodiments, packet loss per interval is calculated as follows. At the first step, the number of transmitted packets for the last interval is predicted:
1. Определяют, сколько пакетов должно было быть отправлено с начала теста до конца текущего интервала (назовем это время TEST_TIME_TOTAL) расчет происходит с учетом особенностей генератора трафика внутри FPGA для большей точности:1. Determine how many packets should have been sent from the beginning of the test to the end of the current interval (let's call this time TEST_TIME_TOTAL) the calculation takes into account the characteristics of the traffic generator inside the FPGA for greater accuracy:
2. Схожим образом определяют, сколько пакетов должно было быть отправлено на конец предыдущего интервала (вместо TEST_JTIМE_TOTAL подставляем TEST_TIME_TOTAL - INTERVAL_TIME в формулы выше);2. Similarly determine how many packets should have been sent to the end of the previous interval (instead of TEST_JTIМE_TOTAL we substitute TEST_TIME_TOTAL - INTERVAL_TIME in the formulas above);
3. Считают число предсказанных пакетов на текущий интервал как разницу полученных в пунктах а и b значений.3. The number of predicted packets for the current interval is considered as the difference of the values obtained in points a and b.
[00181] Затем определяют возможное число потерянных пакетов как:[00181] Then determine the possible number of lost packets as:
[00182] Число предсказанных пакетов за текущий интервал - число принятых пакетов за текущий интервал (из статистики FPGA)[00182] Number of predicted packets for the current interval - the number of packets received for the current interval (from FPGA statistics)
[00183] Если данное значение больше двух, полученное число и есть количество потерянных пакетов за интервал[00183] If this value is more than two, the resulting number is the number of lost packets per interval
[00184] Если меньше или равно двух:[00184] If less than or equal to two:
1. Если все пакеты в интервале приходили по порядку (определяем по флагу из статистики FPGA) и это первый интервал и минимальный индекс пакета в интервале = 0: потерь нет1. If all packets in the interval came in order (determined by the flag from the FPGA statistics) and this is the first interval and the minimum packet index in the interval = 0: there are no losses
2. Если все пакеты в интервале приходили по порядку (определяем по флагу из статистики FPGA) и минимальный индекс пакета в интервале=максимальный индекс пакета в предыдущем интервале+1: потерь нет2. If all packets in the interval came in order (determined by the flag from the FPGA statistics) and the minimum packet index in the interval = maximum packet index in the previous interval + 1: there are no losses
3. Если ничего из вышеперечисленного: полученное число в пункте 2 и есть число потерь.3. If none of the above: the number obtained in
[00185] Анализатор 120 в FPGA завершит прием пакетов автоматически после того как отсчитает заданное количество интервалов. После получения статистики по последнему завершенному интервалу модуль 150 статистики последний раз обновляет интервальную и интегральную статистики.[00185] The
[00186] Потери в интегральной статистике равны сумме потерь во всех интервалах.[00186] Losses in integral statistics are equal to the sum of losses in all intervals.
[00187] В примерном варианте осуществления система может быть реализована посредством одной или более Специализированных Интегральных Схем (СИС), Цифрового Сигнального Процессора (ЦСП), Устройств Цифровой Обработки Сигнала (УЦОС), Программируемым Логическим Устройством (ПЛУ), логической микросхемой, программируемой в условиях эксплуатации (ППВМ), контроллера, микроконтроллера, микропроцессора или других электронных компонентов, и может быть сконфигурирован для реализации способа осуществления нагрузочного теста.[00187] In an exemplary embodiment, the system can be implemented through one or more Specialized Integrated Circuits (SIS), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSP), Programmable Logic Device (PLU), logic chip, programmable under conditions operation (PPVM), controller, microcontroller, microprocessor or other electronic components, and can be configured to implement a method of performing a load test.
[00188] Как будет понятно специалисту в данной области техники, аспекты настоящего технического решения могут быть выполнены в виде системы, способа или компьютерного программного продукта. Соответственно, различные аспекты настоящего технического решения могут быть реализованы исключительно как аппаратное обеспечение, как программное обеспечение (включая прикладное программное обеспечение и так далее) или как вариант осуществления, сочетающий в себе программные и аппаратные аспекты, которые в общем случае могут упоминаться как «модуль», «система» или «архитектура». Кроме того, некоторые детали реализации настоящего технического решения могут принимать форму компьютерного программного продукта, реализованного на одном или нескольких машиночитаемых носителях, имеющих машиночитаемый программный код, который на них реализован.[00188] As one skilled in the art will understand, aspects of the present technical solution may be implemented as a system, method, or computer program product. Accordingly, various aspects of the present technical solution can be implemented solely as hardware, as software (including application software and so on) or as an embodiment combining software and hardware aspects, which in general can be referred to as a “module” , “System” or “architecture”. In addition, some details of the implementation of this technical solution may take the form of a computer software product implemented on one or more computer-readable media having machine-readable program code that is implemented on them.
[00189] Также может быть использована любая комбинация одного или нескольких машиночитаемых носителей. Машиночитаемый носитель хранилища данных может представлять собой, без ограничений, электронную, магнитную, оптическую, электромагнитную, инфракрасную или полупроводниковую систему, устройство или любую подходящую их комбинацию. Конкретнее, примеры (неисчерпывающий список) машиночитаемого носителя хранилища включают в себя: электрическое соединение с помощью одного или нескольких проводов, портативную компьютерную дискету; жесткий диск, оперативную память (ОЗУ), постоянную память (ПЗУ), стираемую программируемую постоянную память (EPROM или Flash-память), оптоволоконное соединение, постоянную память на компакт-диске (CD-ROM), оптическое устройство хранения, магнитное устройство хранения или любую комбинацию вышеперечисленного. В контексте настоящего описания, машиночитаемый носитель хранилища может представлять собой любой гибкий носитель данных, который может содержать или хранить программу для использования самой системой, устройством, аппаратом или в соединении с ними.[00189] Any combination of one or more computer readable media may also be used. The computer-readable storage medium may be, without limitation, an electronic, magnetic, optical, electromagnetic, infrared or semiconductor system, device, or any suitable combination thereof. More specifically, examples (non-exhaustive list) of computer-readable storage media include: electrical connection using one or more wires, a portable computer diskette; hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or Flash memory), fiber optic connection, read-only memory on a compact disc (CD-ROM), optical storage device, magnetic storage device or any combination of the above. In the context of the present description, a computer-readable storage medium may be any flexible data medium that may contain or store a program for use by or in connection with the system, device, apparatus.
[00190] Программный код, встроенный в машиночитаемый носитель, может быть передан с помощью любого носителя, включая, без ограничений, беспроводную, проводную, оптоволоконную, инфракрасную и любую другую подходящую сеть или комбинацию вышеперечисленного.[00190] The program code embedded in a computer-readable medium can be transmitted using any medium, including, without limitation, wireless, wired, fiber optic, infrared, and any other suitable network or combination of the above.
[00191] Компьютерный программный код для выполнения операций для шагов настоящего технического решения может быть написан на любом языке программирования или комбинации языков программирования, включая объектно-ориентированный язык программирования, например Java, Smalltalk, С++ и так далее, и обычные процедурные языки программирования, например язык программирования «С» или аналогичные языки программирования. Программный код может выполняться на вычислителе системы полностью, частично, или же как отдельный пакет программного обеспечения, частично на локальном вычислителе и частично на удаленном вычислителе, или же полностью на удаленном вычислителе. В последнем случае, удаленный вычислитель может быть соединен с локальным вычислителе через доступную сеть любого типа, включая глобальную сеть (WAN) или соединение с внешним компьютером (например, через Интернет с помощью Интернет-провайдеров).[00191] The computer program code for performing operations for the steps of the present technical solution can be written in any programming language or a combination of programming languages, including an object-oriented programming language, such as Java, Smalltalk, C ++ and so on, and conventional procedural programming languages , for example, the programming language "C" or similar programming languages. The program code can be executed on the system computer completely, partially, or as a separate software package, partially on the local computer and partially on the remote computer, or completely on the remote computer. In the latter case, the remote computer can be connected to the local computer through any type of accessible network, including a wide area network (WAN) or connection to an external computer (for example, via the Internet using Internet providers).
[00192] Аспекты настоящего технического решения были описаны подробно со ссылкой на блок-схемы, принципиальные схемы и/или диаграммы способов, устройств (систем) и компьютерных программных продуктов в соответствии с вариантами осуществления настоящего технического решения. Следует иметь в виду, что каждый блок из блок-схемы и/или диаграмм, а также комбинации блоков из блок-схемы и/или диаграмм, могут быть реализованы компьютерными программными инструкциями. Эти компьютерные программные инструкции могут быть предоставлены процессору вычислителя общего назначения, вычислителя специального назначения или другому устройству обработки данных для создания процедуры, таким образом, чтобы инструкции, выполняемые процессором вычислителя или другим программируемым устройством обработки данных, создавали средства для реализации функций/действий, указанных в блоке или блоках блок-схемы и/или диаграммы.[00192] Aspects of the present technical solution have been described in detail with reference to flowcharts, schematic diagrams and / or diagrams of methods, devices (systems) and computer program products in accordance with embodiments of the present technical solution. It should be borne in mind that each block from the block diagram and / or diagrams, as well as combinations of blocks from the block diagram and / or diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a general purpose calculator processor, a special purpose calculator, or other data processing device to create a procedure, so that the instructions executed by the calculator processor or other programmable data processing device provide means for implementing the functions / actions specified in block or blocks of a flowchart and / or diagram.
[00193] Эти компьютерные программные инструкции также могут храниться на машиночитаемом носителе, который может управлять вычислителем, отличным от программируемого устройства обработки данных или отличным от устройств, которые функционируют конкретным образом, таким образом, что инструкции, хранящиеся на машиночитаемом носителе, создают устройство, включающее инструкции, которые осуществляют функции/действия, указанные в блоке блок-схемы и/или диаграммы.[00193] These computer program instructions can also be stored on a computer-readable medium that can control a computer other than a programmable data processing device or other devices that operate in a specific way, such that instructions stored on a computer-readable medium create a device including instructions that carry out the functions / actions indicated in the block diagram and / or block.
Claims (31)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2018143600A RU2703159C1 (en) | 2018-12-10 | 2018-12-10 | Method and system for measuring network traffic statistics in n-second intervals |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2018143600A RU2703159C1 (en) | 2018-12-10 | 2018-12-10 | Method and system for measuring network traffic statistics in n-second intervals |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2703159C1 true RU2703159C1 (en) | 2019-10-15 |
Family
ID=68280218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2018143600A RU2703159C1 (en) | 2018-12-10 | 2018-12-10 | Method and system for measuring network traffic statistics in n-second intervals |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2703159C1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030039212A1 (en) * | 2000-10-17 | 2003-02-27 | Lloyd Michael A. | Method and apparatus for the assessment and optimization of network traffic |
US20040047354A1 (en) * | 2002-06-07 | 2004-03-11 | Slater Alastair Michael | Method of maintaining availability of requested network resources, method of data storage management, method of data storage management in a network, network of resource servers, network, resource management server, content management server, network of video servers, video server, software for controlling the distribution of network resources |
US7508769B1 (en) * | 2000-02-04 | 2009-03-24 | At&T Intellectual Property, Ii, L.P. | Consistent sampling for network traffic measurement |
US7860965B1 (en) * | 2002-04-25 | 2010-12-28 | Jds Uniphase Corporation | System and method for network traffic and I/O transaction monitoring of a high speed communications network |
RU139537U1 (en) * | 2013-12-19 | 2014-04-20 | ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "МФИ Софт" | SYSTEM FOR THE PROVISION OF SERVICES FOR THE PROVISION OF INFORMATION ON THE CONTENT OF THE INTERNET TRAFFIC OF THE SUBSCRIBER OF THE DATA-TRANSFER NETWORK |
-
2018
- 2018-12-10 RU RU2018143600A patent/RU2703159C1/en active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7508769B1 (en) * | 2000-02-04 | 2009-03-24 | At&T Intellectual Property, Ii, L.P. | Consistent sampling for network traffic measurement |
US20030039212A1 (en) * | 2000-10-17 | 2003-02-27 | Lloyd Michael A. | Method and apparatus for the assessment and optimization of network traffic |
US7860965B1 (en) * | 2002-04-25 | 2010-12-28 | Jds Uniphase Corporation | System and method for network traffic and I/O transaction monitoring of a high speed communications network |
US20040047354A1 (en) * | 2002-06-07 | 2004-03-11 | Slater Alastair Michael | Method of maintaining availability of requested network resources, method of data storage management, method of data storage management in a network, network of resource servers, network, resource management server, content management server, network of video servers, video server, software for controlling the distribution of network resources |
RU139537U1 (en) * | 2013-12-19 | 2014-04-20 | ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "МФИ Софт" | SYSTEM FOR THE PROVISION OF SERVICES FOR THE PROVISION OF INFORMATION ON THE CONTENT OF THE INTERNET TRAFFIC OF THE SUBSCRIBER OF THE DATA-TRANSFER NETWORK |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190190804A1 (en) | Non-intrusive mechanism to measure network function packet processing delay | |
EP3295612B1 (en) | Uplink performance management | |
US9980163B2 (en) | Admission control for allowing or rejecting a measurement request between a first and a second device | |
US9350669B2 (en) | Network apparatus, performance control method, and network system | |
EP2681871B1 (en) | In-service throughput testing in distributed router/switch architectures | |
CN112689977B (en) | Techniques for collecting and transmitting telemetry information in a communication network | |
US9755926B2 (en) | Efficiently utilizing probe packets within a network | |
EP4030646B1 (en) | Packet forwarding method, device and system | |
US8879403B2 (en) | Link microbenchmarking with idle link correction | |
Zhou et al. | Analysis and implementation of packet preemption for time sensitive networks | |
WO2017052961A1 (en) | Technologies for network round-trip time estimation | |
CN102368729B (en) | Accurate network speed limit method at non-realtime system | |
WO2023123956A1 (en) | Io full-lifecycle latency monitoring method and related apparatus | |
US11121938B2 (en) | Performance measurement in a packet-switched communication network | |
US10965550B2 (en) | Precise statistics computation for communication networks | |
GB2459814A (en) | Measuring method, measuring device, and computer program | |
RU2703159C1 (en) | Method and system for measuring network traffic statistics in n-second intervals | |
WO2017011981A1 (en) | Timing processing method and apparatus for flow entry | |
US10887078B2 (en) | Device, system, and method for determining a forwarding delay through a networking device | |
US8989032B2 (en) | Systems and methods for measuring frame loss in multipoint networks | |
EP4169183A1 (en) | Time transfer using passive tapping | |
US20160381651A1 (en) | Metered interface | |
US20140022921A1 (en) | Frame loss measurement device, communication device, communication system and performance measurement method | |
US20140164602A1 (en) | Oam name state event trigger | |
CN116962213A (en) | Operation maintenance management information processing method, network node and storage medium |