exponenta event banner

Создание и визуализация шаблона трафика приложения FTP

В этом примере показано, как создать шаблон трафика приложения протокола передачи файлов (FTP) на основе методологии оценки 802.11ax™ IEEE ® [1] и спецификации 3GPP TR 36,814 [2].

Модель трафика приложения FTP

Многорежимные системы связи включают в себя моделирование различных моделей трафика приложений. Каждое приложение характеризуется такими параметрами, как скорость передачи данных, время между поступлениями пакетов и размер пакетов. Для оценки различных алгоритмов и протоколов органы стандартизации, такие как IEEE и 3GPP, определяют определенные схемы трафика приложений, такие как Voice over Internet Protocol (VoIP), видеоконференции и FTP. В этом примере создается и визуализируется шаблон трафика приложения FTP.

Шаблон трафика приложения FTP моделируется как последовательность передач файлов, разделенных временем чтения. Время чтения определяет интервал времени между двумя последовательными передачами файлов. Файл генерируется как несколько пакетов, разделенных временем взаимного поступления пакетов. Время между поступлениями пакетов определяет интервал времени между двумя последовательными передачами пакетов.

Методология оценки 11ax [1] определяет эту модель трафика приложения FTP:

  • Локальная модель трафика FTP - эта модель характеризуется усеченным размером файла Lognormal и экспоненциальным временем чтения.

Спецификация 3GPP TR 36,814 [2] определяет следующие модели трафика приложений FTP:

  • FTP-трафик модели 2 - эта модель характеризуется 2/0,5 мегабайт размер файла и экспоненциальное время чтения. На этом рисунке показана схема трафика этой модели FTP.

  • FTP-трафик модели 3 - эта модель характеризуется 0,5 мегабайтами файла, экспоненциальным временем чтения и скоростью поступления пакета Пуассона. На этом рисунке показана схема трафика этой модели FTP.

В этом примере показана локальная модель трафика FTP, указанная в 11-ax Методика оценки [1]. Аналогично, можно использовать модели трафика FTP 2 и 3, указанные в спецификации 3GPP TR 36,814 [2], используя свойства размера файла и скорости поступления пакетов.

Настройка объекта шаблона трафика FTP-приложения

Создайте объект конфигурации для создания шаблона трафика приложения FTP.

% Create FTP application traffic pattern object with default properties
ftpObj = networkTrafficFTP;

% Set exponential distribution mean value for reading time in milliseconds
ftpObj.ExponentialMean = 50;

% Set truncated Lognormal distribution mu value for file size calculation
ftpObj.LogNormalMu = 10;

% Set truncated Lognormal distribution sigma value for file size calculation
ftpObj.LogNormalSigma = 1;

% Set truncated Lognormal distribution upper limit in megabytes
ftpObj.UpperLimit = 5;

% Display object
disp(ftpObj);
  networkTrafficFTP with properties:

               LogNormalMu: 10
            LogNormalSigma: 1
                UpperLimit: 5
           ExponentialMean: 50
    PacketInterArrivalTime: 0
            GeneratePacket: 0

Создание и визуализация шаблона трафика приложения FTP

Создание шаблона трафика FTP-приложения с помощью generate объектная функция networkTrafficFTP объект.

% Set simulation time in milliseconds
simTime = 10000;

% Set step time in milliseconds
stepTime = 1;

% Validate simTime, simTime must be greater than or equal to stepTime
validateattributes(simTime, {'numeric'}, {'real', 'scalar', 'finite', '>=', stepTime});
rng('default');

% Time after which the generate method must be invoked again
nextInvokeTime = 0;

% Generated packet count
packetCount = 0;

% Initialize arrays to store outputs for visualization
% Packet generation times in milliseconds
generationTime = zeros(5000, 1);

% Time interval between two consecutive packet transfers in milliseconds
packetIntervals = zeros(5000, 1);

% Packet sizes in bytes
packetSizes = zeros(5000, 1);

% Loop over the simulation time, generating FTP application traffic pattern
% and saving the dt and packet size values for visualization
while simTime
    if nextInvokeTime <= 0           % Time to generate the packet
        packetCount = packetCount+1; % Increment packet count
        % Call generate method and store outputs for visualization
        [packetIntervals(packetCount), packetSizes(packetCount)] = generate(ftpObj);
        % Set next invoke time
        nextInvokeTime = packetIntervals(packetCount);
        % Store packet generation time for visualization
        generationTime(packetCount+1) = generationTime(packetCount) + packetIntervals(packetCount);
    end

    % Update next invoke time
    nextInvokeTime = nextInvokeTime - stepTime;

    % Update simulation time
    simTime = simTime - stepTime;
end

Визуализация сформированной схемы трафика приложения FTP. На этом графике dt представляет собой интервал времени между двумя последовательными пакетами приложений FTP.

% Packet Number Versus Packet Intervals (dt)
% Stem graph to see packet intervals
pktIntervalsFig = figure('Name', 'Packet intervals', 'NumberTitle', 'off');
pktIntervalsAxes = axes(pktIntervalsFig);
stem(pktIntervalsAxes, packetIntervals(1:packetCount));
title(pktIntervalsAxes, 'Packet Number Versus dt');
xlabel(pktIntervalsAxes, 'Packet Number');
ylabel(pktIntervalsAxes, 'dt in Milliseconds');

Figure Packet intervals contains an axes. The axes with title Packet Number Versus dt contains an object of type stem.

% Plot to see different packet sizes
pktSizesFig = figure('Name', 'Packet sizes', 'NumberTitle', 'off');
pktSizesAxes = axes(pktSizesFig);
plot(pktSizesAxes, packetSizes(1:packetCount), 'marker', 'o');
title(pktSizesAxes, 'Packet Number Versus Packet Size');
xlabel(pktSizesAxes, 'Packet Number');
ylabel(pktSizesAxes, 'Packet Size in Bytes');

Figure Packet sizes contains an axes. The axes with title Packet Number Versus Packet Size contains an object of type line.

% Stem graph of FTP application traffic pattern (Packet sizes of different files
% at different packet generation times)
ftpPatternFig = figure('Name', 'FTP application traffic pattern', 'NumberTitle', 'off');
ftpPatternAxes = axes(ftpPatternFig);
stem(ftpPatternAxes, generationTime(1:packetCount), packetSizes(1:packetCount), 'Marker', 'o');
title(ftpPatternAxes, 'Packet Generation Time Versus Packet Size');
ylabel(ftpPatternAxes, 'Packet Size in Bytes');
xlabel(ftpPatternAxes, 'Time in Milliseconds');

Figure FTP application traffic pattern contains an axes. The axes with title Packet Generation Time Versus Packet Size contains an object of type stem.

Дальнейшие исследования

В этом примере создается схема трафика FTP в соответствии с методикой оценки 11ax [1] и спецификацией 3GPP [2]. Аналогично, можно использовать networkTrafficVoIP и networkTrafficOnOff объекты для формирования шаблонов трафика приложений VoIP и On-Off соответственно. Эти различные схемы трафика приложений можно использовать в моделировании на уровне системы для точного моделирования реального трафика данных.

Ссылки

  1. IEEE 802.11-14/0571r12. «Методика оценки 11ax». P802.11 IEEE. Беспроводные локальные сети.

  2. 3GPP ТР 36.814. "Развитый универсальный наземный радиодоступа (E-UTRA). Дальнейшие усовершенствования для аспектов физического уровня E-UTRA ". проект партнерства 3-го поколения; Техническая спецификация на сеть радиодоступа группы.

См. также

Объекты