В этом примере показано, как сгенерировать шаблон трафика приложения протокола передачи файлов (FTP) на основе методологии оценки 802.11ax™ IEEE ® [1] и спецификации 3GPP TR 36.814 [2].
Мультиузлы включают моделирование различных моделей трафика приложений. Каждое приложение характеризуется такими параметрами, как скорость передачи данных, время поступления пакета и размер пакета. Чтобы оценить различные алгоритмы и протоколы, органы стандартизации, такие как IEEE и 3GPP, определяют определенные шаблоны трафика приложений, такие как Voice over Межсетевого протокола (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.
% 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 с помощью 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');
% 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');
% 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');
Этот пример генерирует шаблон FTP-трафика согласно 11ax Evaluation Methodology [1] и 3GPP спецификации [2]. Точно так же можно использовать networkTrafficVoIP
и networkTrafficOnOff
объекты для генерации шаблонов трафика приложений VoIP и On-Off, соответственно. Можно использовать эти различные шаблоны трафика приложений в симуляциях уровня системы, чтобы точно смоделировать реальный трафик данных.
IEEE 802 .11-14/0571r12. «Методика оценки 11ax». P802.11 IEEE. Беспроводные локальные сети.
3GPP TR 36.814. "Evolved Universal Terrestrial Radio Access (E-UTRA). Дальнейшие достижения в аспектах физического слоя E-UTRA ". Проект Партнерства 3-ьей генерации; Группа технических спецификаций Радиосеть доступ.