主要内容

生成并可视化FTP应用流量模式

此示例显示如何基于IEEE®802.11ax™评估方法生成文件传输协议(FTP)应用程序流量模式[1]及3GPP TR 36.814规范[2].

FTP应用流量模型

多节点通信系统涉及不同应用流量模型的建模。每个应用程序都由数据速率、数据包到达时间和数据包大小等参数来表征。为了评估各种算法和协议,IEEE和3GPP等标准化机构定义了某些应用流量模式,如VoIP (Voice over Internet Protocol)、视频会议和FTP。此示例生成并可视化FTP应用程序流量模式。

FTP应用程序流量模式被建模为按读取时间分隔的文件传输序列。读取时间是指连续两次传输文件的时间间隔。文件生成为多个数据包,按数据包到达时间分隔。报文到达间隔时间指连续两次报文传输之间的时间间隔。

11ax评估方法[1]表示FTP应用流量模式:

  • 本地FTP流量模型-该模型的特点是截断对数正态文件大小和指数读取时间。

3GPP TR 36.814规范[2]指定FTP应用流量模型:

  • FTP流量模型2 -该模型的特点是2/0.5兆字节的文件大小和指数级的读取时间。该图显示了此FTP模型的流量模式。

  • FTP流量模型3 -该模型的特点是一个0.5兆字节的文件,指数阅读时间和泊松包到达率。该图显示了此FTP模型的流量模式。

本例演示了11-ax评估方法中指定的本地FTP流量模型[1].类似地,您可以使用3GPP TR 36.814规范中指定的FTP流量模型2和3 [2]使用文件大小和数据包到达速率属性。

配置FTP应用流量模式对象

创建配置对象以生成FTP应用程序流量模式。

重置随机数生成器rng (“默认”);创建具有默认属性的FTP应用程序流量模式对象ftpObj = networkTrafficFTP;设置读取时间的指数分布平均值,单位为毫秒ftpObj。指数平均数= 50;为文件大小计算设置截断对数正态分布mu值ftpObj。LogNormalMu = 10;设置截断对数正态分布sigma值用于文件大小计算ftpObj。LogNormalSigma = 1;设置截断对数正态分布上限(以兆字节为单位)ftpObj。UpperLimit = 5;%显示对象disp (ftpObj);
networkTrafficFTP with properties: LogNormalMu: 10 LogNormalSigma: 1 UpperLimit: 5 ExponentialMean: 50 PacketInterArrivalTime: 0 GeneratePacket: 0

生成并可视化FTP应用流量模式

生成FTP应用程序流量模式生成(5 g工具箱)的对象函数。networkTrafficFTP(5 g工具箱)对象。

设置模拟时间,单位为毫秒simTime = 10000;以毫秒为单位设置步骤时间stepTime = 1;%验证simTime, simTime必须大于或等于stepTimevalidateattributes (simTime, {“数字”}, {“真实”的“标量”“有限”“> =”, stepTime});%必须再次调用generate方法的时间nextInvokeTime = 0;产生的包数%packetCount = 0;初始化数组以存储用于可视化的输出%包生成时间(以毫秒为单位)generationTime = 0 (5000,1);%连续两次报文传输的时间间隔,单位为毫秒packetinterval = 0 (5000, 1);%数据包大小(以字节为单位)packetSizes = 0 (5000, 1);%循环模拟时间,生成FTP应用程序流量模式%并保存dt和包大小值以供可视化simTime如果nextInvokeTime <= 0%生成报文的时间packetCount = packetCount+1;增量包数调用生成方法并存储可视化输出[packetinterval (packetCount), packetSizes(packetCount)] = generate(ftpObj);设置下次调用时间nextInvokeTime = packetinterval (packetCount);存储包生成时间,用于可视化generationTime(packetCount+1) = generationTime(packetCount) + packetinterval (packetCount);结束%更新下一次调用时间nextInvokeTime = nextInvokeTime - stepTime;%更新模拟时间simTime = simTime - stepTime;结束

可视化生成的FTP应用程序流量模式。图中dt为连续两次FTP应用报文之间的时间间隔。

包数与包间隔百分比(dt)查看包间隔的干图pktIntervalsFig =图(“名字”“包间隔”“NumberTitle”“关闭”);pktIntervalsAxes =轴(pktIntervalsFig);茎(pktIntervalsAxes packetIntervals (1: packetCount));标题(pktIntervalsAxes,“包数与dt”);包含(pktIntervalsAxes“包数”);ylabel (pktIntervalsAxes以毫秒为单位的dt);

图包间隔包含一个轴对象。标题为Packet Number Versus dt的axes对象包含一个类型为stem的对象。

绘制不同的包大小pktSizesFig = figure(“名字”数据包大小的“NumberTitle”“关闭”);pktSizesAxes =坐标轴(pktSizesFig);情节(pktSizesAxes packetSizes (1: packetCount),“标记”“o”);标题(pktSizesAxes,“包数与包大小”);包含(pktSizesAxes“包数”);ylabel (pktSizesAxes“以字节为单位的数据包大小”);

图包大小包含一个轴对象。标题为“Packet Number Versus Packet Size”的axis对象包含一个line类型的对象。

FTP应用流量模式干图(不同文件的包大小%)ftpPatternFig = figure(“名字”“FTP应用程序流量模式”“NumberTitle”“关闭”);ftpPatternAxes =坐标轴(ftpPatternFig);stem(ftpPatternAxes, generationTime(1:packetCount), packetSizes(1:packetCount),“标记”“o”);标题(ftpPatternAxes,“数据包生成时间与数据包大小”);ylabel (ftpPatternAxes“以字节为单位的数据包大小”);包含(ftpPatternAxes“以毫秒计的时间”);

图FTP应用流量模式包含一个axes对象。标题为“数据包生成时间与数据包大小”的axes对象包含一个stem类型的对象。

进一步的探索

本例根据11ax评估方法生成一个FTP流量模式[1]及3GPP规范[2].类似地,您可以使用networkTrafficVoIP(5 g工具箱)而且networkTrafficOnOff(5 g工具箱)对象,分别生成VoIP和On-Off应用程序流量模式。您可以在系统级模拟中使用这些不同的应用程序流量模式来准确地模拟真实的数据流量。

参考文献

  1. IEEE 802.11-14/0571r12。“11ax评估方法”。IEEE P802.11。无线局域网。

  2. 3gpp tr 36.814。“进化的通用地面无线电接入(E-UTRA)。E-UTRA物理层方面的进一步进展”。第三代伙伴计划;技术规范集团无线接入网