网络系统实时整体测试的方法\n技术领域\n[0001] 本发明涉及一种网络的测试方法,特别涉及一种网络系统实时整体测试的方法。\n背景技术\n[0002] 网络整体测试,是为掌握网络运行的实际情况,便于网络管理人员优化网络,定位网络故障和为网络调整升级提供量化的重要工具和方法,目前众多的网络整体测试方法是在网络搭建后正式使用前或使用后或部分停止使用时即网络非运行或运营时状态时,用专业监测设备或系统进行网络测试,通过对一项或多项指标如:延时,抖动,迟到,重复,乱序,丢包等的测试,得出最终当前网络状态的结论。\n[0003] 当网络在运行状态时,若需要整体测试,则需要安排专人到应用终端,模拟用户测试实际使用情况,这种方法耗费成本高,网络测试覆盖度低,数据真实度较差,和真实网络状态差别较大。\n发明内容\n[0004] 本发明的目的是提供一种网络系统实时整体测试的方法,采用本发明所述方法可以在网络运行状态下实时进行,具有检测方法简单,网络测试覆盖率高,测试结果能反应测试是网络通道的真实状态,测试成本低的优点。\n[0005] 本发明的技术方案是:网络系统实时整体测试的方法,所述网络系统包括检测中心系统和客户终端环回响应系统,所述检测方法有以下步骤;\n[0006] 1)测试中心服务器运行测试中心系统,所述测试中心系统包括测试发起端、测试接受端和统计分析端,接收终端运行客户终端环回响应系统; \n[0007] 2)测试中心系统从网络实时或非实时获得所有或部分可以测试的客户应用终端设备的网络地址,以及与可测试客户应用终端设备的网络地址对应的网络信道信息;\n[0008] 3)测试中心系统通过客户终端设备的网络地址向部分或者所有终端发送系列序号递增的测试包,每个测试包均包含发送时间和发送序号,测试中心发送的系列测试包发至被测网络的每个单一终端,所述系列测试包通过网络信道传送到客户终端系统上;\n[0009] 4)客户终端系统在收到测试包后,立即将此测试包通过网络信道回传给测试中心系统;\n[0010] 5) 测试中心系统在收到客户终端系统回传的测试包后,记录接收时间并从测试包中提取发送时间和序号,对所有回传的测试包进行以下循环检测:延时包、抖动包的计算,再检测所有回传的测试包是否为正常包,若是,则记录到中心系统数据库;若是非正常包,则设置期望包,按照迟到包、重复包、乱序包、丢包的顺序依次检测,所得检测数据即生成单一客户终端基础信息,记录到中心系统数据库;\n[0011] 6)分析测试中心系统将数据库中的所有客户终端测试数据,得出网络信道在测试时段的状态。\n[0012] 步骤5)所述期望包序号=收到的正常包序号+1。\n[0013] 步骤5)所述正常包的判断方法是,当收到包序号≥期望包序号是,则判断为该测试包正常包,非正常包是指正常包以外的测试包。\n[0014] 步骤5)所述延时的计算方法:延时=测试中心系统接收客户终端回传的测试包时间-测试中心系统发送测试包的时间。\n[0015] 步骤5)所述抖动的计算方法:抖动=后一测试包的延时-前一测试包的延时的绝对值。\n[0016] 步骤5)所述重复的判断方法:1)测试中心系统建立已收到发送测试包序号的区间范围,即重复包范围,所述重复包范围包含多个区间,每个区间有测试中心系统收到的连续测试包的序号;2)判断重复包范围内的测试包的序号,有重复序号的则为重复包,否则不是。\n[0017] 步骤5)所述迟到的判断方法:1)设定测试中心系统的发送测试包的间隔时间和测试包的迟到时间,通过发送测试包的间隔时间将测试包的迟到时间转换为迟到包阈值,以所述迟到包阈值划分是否迟到包;2)用当前的期望包序号减去这个迟到包阈值,得到一个迟到包分界数量,被测包序号小于这个迟到包分界数量的则为迟到包。\n[0018] 步骤5)所述乱序的判断方法:测试中心系统收到所有测试包中,除去正常包、重复包、迟到包,剩下的包都是乱序包\n[0019] 步骤5)所述丢包的计算方法为:丢包数量=发包数量-正常包数量-重复包数量-迟到包数量-乱序包数量。 \n[0020] 本发明所述方法中当测试中心系统每收到一个客户终端系统回传的测试包时,即开始进行步骤5)所述的检测,如:收到包号1的测试包,即对包号1的测试包进行步骤5)所述的检测,若是正常包,则记录到中心系统数据库;收到包号2的测试包,即对包号1-2的测试包进行步骤5)所述的检测,若是正常包,则记录到中心系统数据库;……收到包号n的测试包,即对包号1-n的测试包进行步骤5)所述的检测,若是正常包,则记录到中心系统数据库,若有非正常包,则需要判断是否是重复包、迟到包、乱序包、丢包等,并将判断结果记录到中心系统数据库。如此往复,直至对客户终端系统回传的所有测试包检测结束,再分析测试中心系统将数据库中的所有客户终端测试数据,得出网络信道在测试时段的状态。\n[0021] 本发明所述的测试方法可在网络运行的同时全天24小时及时可靠的获取网络运行状态,对获取大数据量进行测试,因此可以实时分析网络的运行状态。其测试结果更加趋近于网络的真实情况,可以大大降低测试成本,以准确的更趋向于真实运行网络的测试结果驱动网络优化,增加网络的利用效率和提高网络运行质量。本发明根据实际应用情况,将测试中全部或部分以上具体测试数据,加权整合获得。反映整体网络状态的定量指标,帮助非专业人员或专业人员直观监测网络整体状态。\n[0022] 本发明所述的测试方法可以在网络运行或运营时,也可以在非运行或运营时进行,由测试中心系统和经系统分析抽取的客户应用终端(少量或大批量)通信,进行环回测试,测试结果结合了目前业界最先进的测试测量方法和充分考虑网络的特性,能够从全网覆盖以及端到端业务质量保证的角度对网络进行测量和监控。采用本发明方法能够高效率,高可靠的掌握网络的实际情况,为网络管理人员优化网络,定位网络故障和为网络调整升级等提供量化的科学依据。\n[0023] 本发明所述的测试方法,可以应用于通信、电力等领域的网络整体的测试。\n[0024] 本发明涉及的术语如下:\n[0025] 延时:是指在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。\n[0026] 产生原因:物理媒介的固有时延、链路速度延迟、交换和路由延迟、排队延迟、跳数等等。影响:网络延时越大,使用效率低,终端客户开始使用服务时等待时间长。\n[0027] 抖动:是指分组延迟的变化程度,即顺序传递的相邻两个帧的转发时延之差的绝对值,恒为正值。\n[0028] 产生原因:网络路由改变、网络设备不稳定等等。影响:抖动越大,网络越不稳定,网络畅通程度低,特别是对语音视频等多媒体服务影响较大。\n[0029] 迟到:是指当包延时超过迟到阈值的包。\n[0030] 产生原因:网络路由改变、网络设备不稳定情况较恶劣等等。影响:网络畅通受极大影响,如:无法语音和视频通讯。\n[0031] 重复:同一个包收到两次或者两次以上。\n[0032] 产生原因:网络路由设备故障等等。影响:网络畅通受影响,如:语音回音等等。\n[0033] 乱序:是指数据包到达接收端的数据包的顺序是混乱的。\n[0034] 产生原因:网络路由改变、网络设备不稳定等等。影响:网络畅通受较大影响,如:\n语音模糊、视频服务停顿较多。\n[0035] 丢包:是指网络传输过程中丢失,接收端无法收到的包。\n[0036] 产生原因:网络自身问题、路由信息错误、网络拥塞等等。影响:网络畅通受影响(如:常常掉线、网速较慢等等)。\n[0037] 下面结合附图对本发明做进一步的说明。\n附图说明\n[0038] 图1为本发明所述网络测试方法示意图;\n[0039] 图2为本发明所述网络测试方法的流程图;\n[0040] 图3为重复包测试的流程图;\n[0041] 图4为建立一个新的重复包范围区间或纳入已有重复包范围区间的流程图;\n[0042] 图5迟到包和乱序包测试的流程图。\n具体实施方案\n[0043] 参见图1和图2,网络系统实时整体测试的方法,其网络系统包括检测中心系统和客户终端环回响应系统,其中检测中心系统可以为服务器系统、有线或无线信道(包括网线,光纤,同轴线,路由,基站)等,客户终端可以为个人电脑、手机、其它智能设备等等,所述检测方法有以下步骤;\n[0044] 1)测试中心服务器运行测试中心系统,所述测试中心服务器中设置测试中心系统,所述测试中心系统包括测试发起端、测试接受端和统计分析端,接收终端运行客户终端环回响应系统,客户终端设置有终端环回响应系统; \n[0045] 2)测试中心系统从网络实时或非实时获得所有或部分可以测试的客户应用终端设备的网络地址,如:IP,IPv6,自定义网络的终端地址等等,以及与可测试客户应用终端设备的网络地址对应的网络信道信息,包括单独信道和公用信道信息;\n[0046] 3)测试中心系统通过客户终端设备的网络地址向部分或者所有终端发送系列序号递增的测试包,每个测试包均包含发送时间和发送序号,测试中心发送的系列测试包发至被测网络的每个单一终端,所述单一终端序号递增为序号=前一序号+1,所述系列测试包通过网络信道传送到客户终端系统上;发送的测试包间隔时间,测试包长度等根据用户的实际需求设置。\n[0047] 4)客户终端系统在收到系列测试包后,立即将收到的系列测试包通过网络信道一一回传给测试中心系统;\n[0048] 5) 测试中心系统在收到客户终端系统回传的测试包后,记录接收时间并从测试包中提取发送时间和序号,对所有回传的测试包进行以下循环检测:延时、抖动的计算,再通过与期望包比较,检测回传的测试包是否为正常包,若是,则记录到中心系统数据库;若是非正常包,按照迟到包、重复包、乱序包、丢包的顺序依次检测,所得检测数据即生成单一客户终端基础信息,记录到中心系统数据库。所述期望包=收到的正常包+1。正常包的判断方法是,当收到包序号≥期望包序号是,则判断为该测试包正常包,非正常包是指正常包以外的测试包。\n[0049] 将回传的测试包进行延时包的计算:\n[0050] 延时的计算方法:延时=测试中心系统接收客户终端回传的测试包时间-测试中心系统发送测试包的时间。\n[0051] 将回传的测试包进行延时的计算后,再进行抖动的计算:\n[0052] 所述抖动的计算方法:抖动=后一测试包的延时-前一测试包的延时的绝对值。\n[0053] 将回传的测试包进行抖动的计算后,进行正常包的判断:\n[0054] 所述正常包的判断方法:当前收到包序号≥当前期望包序号的包 \n[0055] 若当前测试包是非正常包(指正常包以外的测序包),再进行重复包的判断:\n[0056] 参见图3和图4,所述重复包的判断方法为:1)测试中心系统建立已收到发送测试包序号的区间范围,即重复包范围(根据客户的需要设定在测试中心)。所述重复包范围包含多个区间,每个区间表示测试中心系统收到的连续测试包的序号。收到的连续测试包的序号,可以不按照顺序排列,但必须是连续的,否则将建立一个或若干个新的重复包范围区间;2)判断收到的测试包的序号是否在重复包范围内,若在此范围内,有序号重复的,则为重复包;若不在重复包范围,则建立一个或若干个新的重复包范围区间,若建立新的重复包范围区间与已有的重复包范围区间相邻,则新的重复包范围区间合并到已有的重复包范围区间,若不相邻,则建立一个或若干个新的重复包范围区间,再重复重复包判断方法中1)的判断。\n[0057] 通常重复包范围区间个数越多,结果越准确,但占用内存越大,消耗CPU的运算越多;重复包范围区间个数越少,结果越不准确,但占用内存越小,消耗CPU的运算越少。因此,实际应用中,根据实际的系统资源情况,可增加或减少区间数量,以获得算法覆盖度和资源消耗的最佳比例。采用保留最近的重复包范围几个区间的方法,将重复包范围区间个数,根据资源(CPU速度、内存大小)情况进行相应调整。\n[0058] 若当前包是重复包,则此时该测试点的重复包率=重复包数/发包总数。\n[0059] 将非正常包进行重复包的判断后,若当前此包不是重复包,则进行迟到包的判断:\n[0060] 参见图5,用迟到包阈值进行计算,可以避免平行延迟带来大量迟到包现象,使测试结果能更加准确的反应网络情况。迟到包阈值=迟到包阈值时间/发送间隔时间,其中迟到阈值时间根据客户需要进行设置。所述迟到的判断方法:1)设定发送测试包的间隔时间和测试包的迟到时间,通过发送测试包的间隔时间将测试包的迟到时间转换为迟到包阈值,以所述迟到包阈值划分是否迟到包;2)用当前的期望包序号减去迟到包阈值,得到一个迟到包分界数,被测包的序号小于迟到包分界数量的则为迟到包。 \n[0061] 若当前包是迟到包,则此时该测试点的迟到包率=迟到包数量/发包总数。\n[0062] 非正常包进行迟到包的判断后,若当前不是迟到包,则进行乱序包的判断:\n[0063] 收到包若不是正常包(收到包序号≥期望包序号)、重复包、迟到包,则此包为乱序包。\n[0064] 若当前包是乱序包,则乱序包数加1, 进而可计算此时这个测试点的乱序包率=乱序包数/发包数。\n[0065] 最后对将非正常包进行丢包的计算:\n[0066] 所述丢包的计算方法为:丢包数量=发包数量-正常包数量-重复包数量-迟到包数量-乱序包数量\n[0067] 可计算此时这个测试点的丢包率=丢包数/发包数。\n[0068] 通过收到包序号的跳跃情况计算丢包数量,并在收到非期望包序号时,对计算的丢包数量做修正,从而得到“当前”丢包数。对“当前”丢包数作滑动窗口滤波取最小值,在一定程度上避免丢包数变小的情况。\n[0069] 6)分析测试中心系统将数据库中的所有客户终端测试数据,得出网络信道在测试时段的状态。通过对所有客户端的测试后获单点客户端状态,分析网络运行状态并判断故障点位置。\n[0070] 检测中心将所得检测数据即生成单一客户终端基础信息,记录到中心系统数据库,重复上述的检测步骤,检测中心将所得检测的所有客户的终端基础信息,均记录到中心系统数据库。\n[0071] 客户针对每个测试指标设定相应的问题限值,如单点测试指标的测试结果超过设定的问题限值,则说明此客户端设备到测试中心系统中间的网络存在问题。例如,客户设置延时的限值为1000,当测试延时为1200(大于1000)时,表示网络有问题)\n[0072] 对测试数据进行统计计算,排除干扰数据(干扰数据根据客户的需要设定在测试中心),获得网络整体测试结果,若同一条测试路径上有100个应用客户端,测试结果只有2个有问题,即可断定为个案,排除网络问题。\n[0073] 通过对测试中心系统到客户端的路径分析,判断问题点位置。当发现有目标测试超过设定的问题限值或者失败(指发出测试包没有返回测试中心)时,通过比较具有公共路径(指没有问题的路径)的测试的状态,逐段排除,定位问题点位置。例如:从路径A发起到路径G进行测试,第一路径为A→B→C→F,第二路径为A→B→C→D→G,经测试,第一路径正常即正常,第二路径异常,则A→B→C为正常的公共路径,问题可以定位到在C→D→G路径上。\n[0074] 通过上述方法,可以计算出网络在运行过程中的非正常包的重复包率、迟到包率、乱序包率、丢包等情况,给出运行的整体网络状态的定量指标,便于网络管理人员直观的监测网络整体状态,作为是否需要优化网络,定位网络故障和为网络调整升级等依据,以增加网络的利用效率和提高网络运行质量。\n[0075] 实施例1 \n[0076] 设置迟到包阈值:5\n[0077] 发送测序包序号序列如下:(发送)\n[0078] 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25[0079] 测试中心系统收到客户终端回传的收到包序号序列:\n[0080] 2,3,5,4,6,10,7,8,9,11,12,13,14,1,11,15,25,16,17,18,19,20,21\n[0081] 若发送时间如下\n[0082] 包号2发送时间:1000000微秒\n[0083] 包号2接受时间:1002000微秒\n[0084] 包号3发送时间:1005000微秒\n[0085] 包号3接受时间:1009000微秒\n[0086] 分析:\n[0087] 延时和抖动的技术:\n[0088] 包号2延时:包号2接受时间(1002000) –包号2发送时间(1000000) = 2000微秒\n[0089] 包号3延时:包号3接受时间(1009000) –包号3发送时间(1005000) = 4000微秒\n[0090] 包号3抖动:包号3延时(4000) -包号2延时(2000)= 2000微秒\n[0091] 重复包、迟到包、乱序包、丢包总数的判断:\n[0092] 重复包\n[0093] 测试中心系统收到客户终端回传的收到包序号序列中2,3,5,4,6,10,7,8,9,11,1\n2,13,14,1,11,15的序号是连续的,因此重复包范围区间1为包号1-15的测试包,该区间的有2个包号为11测试包,因此包号11的测试包为重复包;紧接的序号25的测试包不与重复包范围区间1相邻,因此包号25的测试包为重复包范围区间2,此区间没有重复的数字序号;紧接的序号16,17,18,19,20,21连续且与重复包范围区间1相邻,此时重复包范围区间\n1融合16,17,18,19,20,21,重复包范围区间1变为包号1-21的测试包,此区间没有重复的数字序号。\n[0094] 所以,测试中心系统收到客户终端回传的收到包序号序列中,重复包总数: 1个(包号11的测试包)。\n[0095] 迟到包: \n[0096] 本实施例设置迟到包阈值为5,用迟到包阈值对测试中心系统收到客户终端回传的收到包序号依次进行迟到包的判断,以包号13为例,包号13前面的包是序号为12的测试包 ,包号13的测试包的期望值为12+1=13,用当前的期望值减去迟到包阈值,得到迟到包分界数量=13-5=8,由于8>13,因此,包号为13的测试包不是迟到包;\n[0097] 在判断包号1时,由于包号1前面的包号数字为14,因此包号1的期望值是\n14+1=15,当前的迟到包分界数量15-5=10,由于1<10,因此,包号为1的测试包是迟到包;同理包号16、17、18、19、20为迟到包。\n[0098] 所以,测试中心系统收到客户终端回传的收到包序号序列中,迟到包总数: 6个(包号1的测试包,包号16的测试包,包号17的测试包,包号18的测试包,包号19的\n测试包,包号20的测试包)。\n[0099] 乱序包:\n[0100] 乱序包为除去正常包(包号为2、3、5、6、10、12、13、14、15的测试包)、重复包(包号为11的测试包)、迟到包(包号为1,16,17,18,19,20的测试包)。\n[0101] 所以,测试中心系统收到客户终端回传的收到包序号序列中,乱序包总数: 5个(包号为4的测试包, 包号为7的测试包, 包号为8的测试包, 包号为9的测试包, 包号为21的测试包)。\n[0102] 丢包:\n[0103] 丢包=所有的发包(包号为1-25的测试包)-正常包(包号为2、3、5、6、10、12-15的测试包)-重复包(包号11的测试包)-迟到包(包号1、16-20的测试包)-乱序包(包号为4、7、8、9、21的测试包)。\n[0104] 所以,测试中心系统收到客户终端回传的收到包序号序列中,丢包总数: 3个(包号为22的测试包, 包号为23的测试包, 包号为24的测试包)。\n[0105] 分析测试中心系统将数据库中的所有客户终端测试数据,得出网络信道在测试时段的状态。通过对所有客户端的测试后获单点客户端状态,分析网络运行状态并判断故障点位置。如本实施例非正常包中,重复包率=1/25=4%,迟到包率=6/25=24%,乱序包率=5/25=20%,丢包率=3/25=12%,若客户设置迟到包率和乱序包率>20%时,需要对网络进行优化处理,则网络用户通过上述测试方法,可以对网络进行调整升级或消除故障等维护。