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

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

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

Системы связи мультиузла включают моделирование различных моделей трафика приложения. Каждое приложение характеризуется параметрами, такими как скорость передачи данных, пакет предают земле время поступления и пакетный размер. Чтобы оценить различные алгоритмы и протоколы, органы по стандартизации, такие как IEEE и 3GPP задают определенные шаблоны трафика приложения, такие как Речь по межсетевому протоколу (VoIP), организация видеоконференций и FTP. Этот пример генерирует и визуализирует шаблон трафика приложения FTP.

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

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

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

3GPP спецификация [2] TR 36.814 задает эти модели трафика приложения FTP:

  • Модель 2 трафика FTP - Эта модель характеризуется 2/0.5 размером файла мегабайтов и экспоненциальное время считывания. Этот рисунок показывает шаблон трафика этой модели FTP.

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

Этот пример демонстрирует локальную модель трафика FTP, заданную в Методологии [1] Оценки с 11 осями. Точно так же можно использовать модели 2 и 3 трафика FTP, заданные в 3GPP спецификация [2] TR 36.814 с помощью размера файла и пакетных свойств частоты поступления.

Сконфигурируйте объект шаблона трафика приложения 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

   Read-only properties:
    No properties.

Сгенерируйте и визуализируйте шаблон трафика приложения 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 object. The axes object 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 object. The axes object 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 object. The axes object with title Packet Generation Time Versus Packet Size contains an object of type stem.

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

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

Ссылки

  1. IEEE 802.11-14/0571r12. "11ax Методология Оценки". IEEE P802.11. Беспроводная LAN.

  2. 3GPP TR 36.814. "Развитый Универсальный Наземный Радио-доступ (к E-UTRA). Дальнейшие продвижения для аспектов физического уровня E-UTRA". Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.