一种高精度测量无线通信系统单向时延的方法转让专利

申请号 : CN202011459770.4

文献号 : CN112600734B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 龚业余昕龚凡简春兵

申请人 : 深圳金信诺高新技术股份有限公司

摘要 :

本发明公开了一种高精度测量无线通信系统单向时延的方法,该方法包括以下步骤:将客户端、服务器部署于相同的物理个人计算机及操作系统下,并设置两个不同网段的IP;在所述客户端和服务器之间添加永久静态路由;通过标准路径实现所述客户端与服务器之间的双向通信;启动所述个人计算机上的抓包工具,同时获取客户端/服务器的用户数据报协议报文/传输控制协议报文,并利用预设方法计算得到单向下行时间及单向上行时延。有益效果:不仅能够高精度测量到单终端环境无线通信系统的单向上行/下行时延;而且还能够在多终端环境下,高精度测量无线通信系统中所有终端路径下的各自的单向下行/上行时延。

权利要求 :

1.一种高精度测量无线通信系统单向时延的方法,其特征在于,用于测试单终端无线通信系统的单向时延,该方法包括以下步骤:S1、将客户端、服务器部署于相同的物理个人计算机及操作系统下,并设置两个不同网段的IP;

S2、在所述客户端和服务器之间添加永久静态路由;

S3、通过标准路径实现所述客户端与服务器之间的双向通信;

S4、启动所述个人计算机上的抓包工具,同时获取客户端/服务器的用户数据报协议报文/传输控制协议报文,并利用预设方法计算得到单向下行时间及单向上行时延;

其中,所述S1中个人计算机的第一个IP供服务器使用,用于连接数据网关,个人计算机的第二个IP供客户端使用,用于连接终端,且第二个IP与终端IP位于相同的网段。

2.根据权利要求1所述的一种高精度测量无线通信系统单向时延的方法,其特征在于,所述S3中通过标准路径实现所述客户端与服务器之间的双向通信包括以下步骤:S31、所述客户端经过终端向服务器发送报文;

S32、所述终端接收报文,并通过标准路径将报文发送给服务器;

S33、所述服务器通过反方向的标准路径向终端发送报文;

S34、所述终端接收报文,并按照标准流程将报文返回给客户端;

S35、所述客户端接收报文,完成客户端和服务器之间的双向通信。

3.根据权利要求2所述的一种高精度测量无线通信系统单向时延的方法,其特征在于,所述标准路径为:终端至基站、基站至数据网关、数据网关至服务器。

4.根据权利要求1所述的一种高精度测量无线通信系统单向时延的方法,其特征在于,所述S4中利用预设方法计算得到单向下行时间及单向上行时延包括以下步骤:通过同一报文的服务器发出时间及客户端收到时间计算得到单向下行时延,单向下行时延的计算公式为:单向下行时延=客户端收到时间‑服务器发出时间;

通过同一报文的客户端发出时间及服务器收到时间计算得到单向上行时延,单向上行时延的计算公式为:服务器收到时间‑客户端发出时间。

5.一种高精度测量无线通信系统单向时延的方法,其特征在于,用于测试多终端无线通信系统的单向时延,该方法包括以下步骤:S1’、将客户端、服务器部署于相同的物理个人计算机及操作系统下,并设置两个不同网段的IP;

S2’、通过预设方法对地址转换系统进行部署,并实现与客户端之间的通信;

S3’、所述地址转换系统使用多个端口来实现对客户端的对接及报文的转发;

S4’、开启多个客户端进程,连接地址转换系统的第一端口,建立客户端与服务器之间的双向通信;

S5’、通过网络抓包的方法获取报文的发出及收到时间,计算延时并修正得到单向时延;

其中,所述S1’中个人计算机的第一个IP供服务器使用,用于连接数据网关,个人计算机的第二个IP供多个客户端使用,用于连接地址转换系统,且第二个IP与地址转换系统位于相同的网段。

6.根据权利要求5所述的一种高精度测量无线通信系统单向时延的方法,其特征在于,所述S2’中通过预设方法对地址转换系统进行部署,并实现与客户端之间的通信包括以下两种方式:

第一种:将所述地址转换系统部署于与客户端及服务器相同的物理个人计算机上,并与客户端之间通过环回IP进行通信;

第二种:或者将所述地址转换系统部署于另一物理个人计算机上,并与客户端之间通过内网IP进行通信。

7.根据权利要求5所述的一种高精度测量无线通信系统单向时延的方法,其特征在于,所述S3’中地址转换系统使用多个端口来实现对客户端的对接及报文的转发具体包括以下步骤:

S31’、所述地址转换系统使用多个第一端口来实现与多个客户端的对接;

S32’、所述地址转换系统使用多个第二端口来将客户端发来的报文分别路由经过多个终端转发给服务器,并将服务器返回的报文通过第一端口转发至对应的客户端。

8.根据权利要求5所述的一种高精度测量无线通信系统单向时延的方法,其特征在于,所述S4’中建立客户端与服务器之间的双向通信包括以下步骤:S41’、所述客户端向地址转换系统发送报文;

S42’、所述报文路由经过不同终端并经过空口发送给服务器;

S43’、所述服务器响应的报文按原路返回给客户端,完成客户端与服务器之间双向通信。

9.根据权利要求5所 述的一种高精度测量无线通信系统单向时延的方法,其特征在于,所述S4’中双向通信的路径为:客户端至地址转换系统、地址转换系统至终端、终端至基站、基站至数据网关、数据网关至服务器。

10.根据权利要求5所述的一种高精度测量无线通信系统单向时延的方法,其特征在于,所述S5’中通过网络抓包的方法获取报文的发出及收到时间,计算延时并修正得到单向时延具体包括以下步骤:

S51’、启动所述个人计算机上的抓包工具,同时获取客户端/服务器的用户数据报协议报文/传输控制协议报文,并利用延时计算公式计算得到单向总时延;其中,单向总时延的计算公式为:

单向下行总时延=客户端收到时间‑服务器发出时间;

单向上行总时延=服务器收到时间‑客户端发出时间;

S52’、利用抓包工具同时获取地址转换系统发出及收到报文的时间,并利用延时计算公式计算得地址转换系统额外造成的单向时延;其中,额外造成的单向时延的计算公式为:额外造成的单向下行时延=地址转换系统发出时间‑地址转换系统收到时间;

额外造成的单向上行时延=地址转换系统发出时间‑地址转换系统收到时间;

S53、通过单向总时延和额外造成的单向时延计算得到单向时延,其中,单向时延的时间公式为:

单向下行时延=单向下行总时延‑额外造成的单向下行时延;

单向上行时延=单向上行总时延‑额外造成的单向上行时延。

说明书 :

一种高精度测量无线通信系统单向时延的方法

技术领域

[0001] 本发明涉及通信技术领域,具体来说,涉及一种高精度测量无线通信系统单向时延的方法。

背景技术

[0002] 在无线通信系统中,通常需要做数据业务(上行/下行的UDP/TCP)以测试(多)客户端+(多)终端+基站+网关+服务器的整体性能,其中一个重要指标就是时延。如图5所示为现
有技术中测试数据业务的组网方式。
[0003] 目前,对时延的测量,通常采用在TCP发送端进行网络抓包来确认TCP 数据的环回时延(精度可达到微秒);或者采用ping包来测量环回时延(精度为毫秒)。而当需要优化时
延指标时,通常需要得到更细化的单向时延;并且在某些采用UDP传输的特殊业务场景如直
播、实时游戏,下行/上行单向时延才是主要评价指标。
[0004] 由于客户端与服务器时间不同步(或难以达到微秒级别的同步),目前并没有很好的手段测量单向时延。而现有技术中主要采用以下两种方式来对单向时延的测量:
[0005] 1)采用NTP方式同步客户端和服务器的时钟。但即使在局域网内部署,也只能达到亚毫秒级别。
[0006] 2)采用GPS/1588时钟同步。可达到微秒级同步,但需要额外的硬件设施。
[0007] 然而,现有的测量方法虽然能够得到数据业务的高精度环回时延,却难以得到数据业务的高精度单向时延;尤其在多终端测试时。
[0008] 针对相关技术中的问题,目前尚未提出有效的解决方案。

发明内容

[0009] 针对相关技术中的问题,本发明提出一种高精度测量无线通信系统单向时延的方法,以克服现有相关技术所存在的上述技术问题。
[0010] 为此,本发明采用的具体技术方案如下:
[0011] 根据本发明的一个方面,提供了一种高精度测量无线通信系统单向时延的方法,用于测试单终端无线通信系统的单向时延,该方法包括以下步骤:
[0012] S1、将客户端、服务器部署于相同的物理个人计算机及操作系统下,并设置两个不同网段的IP;
[0013] S2、在所述客户端和服务器之间添加永久静态路由;
[0014] S3、通过标准路径实现所述客户端与服务器之间的双向通信;
[0015] S4、启动所述个人计算机上的抓包工具,同时获取客户端/服务器的用户数据报协议报文/传输控制协议报文,并利用预设方法计算得到单向下行时间及单向上行时延;
[0016] 其中,所述S1中个人计算机的第一个IP供服务器使用,用于连接数据网关,个人计算机的第二个IP供客户端使用,用于连接终端,且第二个 IP与终端IP位于相同的网段。
[0017] 进一步的,所述S3中通过标准路径实现所述客户端与服务器之间的双向通信包括以下步骤:
[0018] S31、所述客户端经过终端向服务器发送报文;
[0019] S32、所述终端接收报文,并通过标准路径将报文发送给服务器;
[0020] S33、所述服务器通过反方向的标准路径向终端发送报文;
[0021] S34、所述终端接收报文,并按照标准流程将报文返回给客户端;
[0022] S35、所述客户端接收报文,完成客户端和服务器之间的双向通信。
[0023] 进一步的,所述标准路径为:终端至基站、基站至数据网关、数据网关至服务器。
[0024] 进一步的,所述S4中利用预设方法计算得到单向下行时间及单向上行时延包括以下步骤:
[0025] 通过同一报文的服务器发出时间及客户端收到时间计算得到单向下行时延,单向下行时延的计算公式为:单向下行时延=客户端收到时间‑服务器发出时间;
[0026] 通过同一报文的客户端发出时间及服务器收到时间计算得到单向上行时延,单向上行时延的计算公式为:单向上行时延=服务器收到时间‑客户端发出时间。
[0027] 根据本发明的另一个方面,提供了一种高精度测量无线通信系统单向时延的方法,用于测试多终端无线通信系统的单向时延,该方法包括以下步骤:
[0028] S1’、将客户端、服务器部署于相同的物理个人计算机及操作系统下,并设置两个不同网段的IP;
[0029] S2’、通过预设方法对地址转换系统进行部署,并实现与客户端之间的通信;
[0030] S3’、所述地址转换系统使用多个端口来实现对客户端的对接及报文的转发;
[0031] S4’、开启多个客户端进程,连接地址转换系统的第一端口,建立客户端与服务器之间的双向通信;
[0032] S5’、通过网络抓包的方法获取报文的发出及收到时间,计算延时并修正得到单向时延;
[0033] 其中,所述S1’中个人计算机的第一个IP供服务器使用,用于连接数据网关,个人计算机的第二个IP供多个客户端使用,用于连接地址转换系统,且第二个IP与地址转换系
统位于相同的网段。
[0034] 进一步的,所述S2’中通过预设方法对地址转换系统进行部署,并实现与客户端之间的通信包括以下两种方式:
[0035] 第一种:将所述地址转换系统部署于与客户端及服务器相同的物理个人计算机上,并与客户端之间通过环回IP进行通信;
[0036] 第二种:或者将所述地址转换系统部署于另一物理个人计算机上,并与客户端之间通过内网IP进行通信。
[0037] 进一步的,所述S3’中地址转换系统使用多个端口来实现对客户端的对接及报文的转发具体包括以下步骤:
[0038] S31’、所述地址转换系统使用多个第一端口来实现与多个客户端的对接;
[0039] S32’、所述地址转换系统使用多个第二端口来将客户端发来的报文分别路由经过多个终端转发给服务器,并将服务器返回的报文通过第一端口转发至对应的客户端。
[0040] 进一步的,所述S4’中建立客户端与服务器之间的双向通信包括以下步骤:
[0041] S41’、所述客户端向地址转换系统发送报文;
[0042] S42’、所述报文路由经过不同终端并经过空口发送给服务器;
[0043] S43’、所述服务器响应的报文按原路返回给客户端,完成客户端与服务器之间双向通信。
[0044] 进一步的,所述S4’中双向通信的路径为:客户端至地址转换系统、地址转换系统至终端、终端至基站、基站至数据网关、数据网关至服务器。
[0045] 进一步的,所述S5’中通过网络抓包的方法获取报文的发出及收到时间,计算延时并修正得到单向时延具体包括以下步骤:
[0046] S51’、启动所述个人计算机上的抓包工具,同时获取客户端/服务器的用户数据报协议报文/传输控制协议报文,并利用延时计算公式计算得到单向总时延;其中,单向总时
延的计算公式为:
[0047] 单向下行总时延=客户端收到时间‑服务器发出时间;
[0048] 单向上行总时延=服务器收到时间‑客户端发出时间;
[0049] S52’、利用抓包工具同时获取地址转换系统发出及收到报文的时间,并利用延时计算公式计算得地址转换系统额外造成的单向时延;其中,额外造成的单向时延的计算公
式为:
[0050] 额外造成的单向下行时延=地址转换系统发出时间‑地址转换系统收到时间;
[0051] 额外造成的单向上行时延=地址转换系统发出时间‑地址转换系统收到时间;
[0052] S53、通过单向总时延和额外造成的单向时延计算得到单向时延,其中,单向时延的时间公式为:
[0053] 单向下行时延=单向下行总时延‑额外造成的单向下行时延;
[0054] 单向上行时延=单向上行总时延‑额外造成的单向上行时延。
[0055] 本发明的有益效果为:通过本发明提供的组网方式,令测试无线通信系统数据业务的服务器与客户端部署在一台物理PC、同一个操作系统下,通过网络抓包可以得到服务
器发/收包时间和客户端收/发包时间,从而能够高精度测量到单终端环境无线通信系统的
单向上行/下行时延;此外,通过使用地址转换的技术,令服务器和多终端客户端部署在一
台物理PC、同一个操作系统下,还能够在多终端环境下,高精度测量无线通信系统中所有终
端路径下的各自的单向下行/上行时延。

附图说明

[0056] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施
例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获
得其他的附图。
[0057] 图1是根据本发明实施例的一种高精度测量无线通信系统单向时延的方法的流程图;
[0058] 图2是根据本发明实施例的一种高精度测量无线通信系统单向时延的方法中测试单终端数据业务的组网方式示意图;
[0059] 图3是根据本发明另一实施例的一种高精度测量无线通信系统单向时延的方法的流程图;
[0060] 图4是根据本发明另一实施例的一种高精度测量无线通信系统单向时延的方法中测试多终端数据业务的组网方式示意图;
[0061] 图5是现有技术中测试数据业务的组网方式示意图。

具体实施方式

[0062] 为进一步说明各实施例,本发明提供有附图,这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理,配合参
考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点,图中
的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。
[0063] 根据本发明的实施例,提供了一种高精度测量无线通信系统单向时延的方法。
[0064] 现结合附图和具体实施方式对本发明进一步说明,如图1‑2所示,根据本发明一个实施例,提供了一种的高精度测量无线通信系统单向时延的方法,用于测试单终端无线通
信系统的单向时延,该方法包括以下步骤:
[0065] S1、将客户端、服务器部署于相同的物理个人计算机(PC)及操作系统下(推荐linux操作系统),并设置两个不同网段的IP(推荐采用双网卡,或者采用单网卡双IP+交换
机);
[0066] 其中,所述S1中个人计算机的第一个IP供服务器使用,用于连接数据网关,个人计算机的第二个IP供客户端使用,用于连接终端,且第二个 IP与终端IP位于相同的网段。
[0067] S2、在所述客户端和服务器之间添加永久静态路由,令PC发往服务器IP时需经过终端IP;
[0068] S3、通过标准路径实现所述客户端与服务器之间的双向通信;
[0069] 其中,所述S3包括以下步骤:
[0070] S31、所述客户端经过终端向服务器发送报文;
[0071] S32、所述终端接收报文,并通过标准路径(标准路径为:终端至基站、基站至数据网关、数据网关至服务器)将报文发送给服务器;
[0072] S33、所述服务器通过反方向的标准路径(服务器至数据网关、数据网关至基站、基站至终端)向终端发送报文;
[0073] S34、所述终端接收报文,并按照标准流程将报文返回给客户端;
[0074] S35、所述客户端接收报文,完成客户端和服务器之间的双向通信。
[0075] S4、启动所述个人计算机上的抓包工具(在linux中可采用tcpdump 命令),同时获取客户端/服务器的用户数据报协议(UDP)报文/传输控制协议(TCP)报文,并利用预设方法
计算得到单向下行时间及单向上行时延;
[0076] 其中,所述S4中利用预设方法计算得到单向下行时间及单向上行时延包括以下步骤:
[0077] 由于服务器、客户端在相同物理PC及相同操作系统下,其时钟严格对齐,因此可通过同一报文的服务器发出时间及客户端收到时间计算得到单向下行时延,单向下行时延的
计算公式为:单向下行时延=客户端收到时间 ‑服务器发出时间;
[0078] 同理,通过同一报文的客户端发出时间及服务器收到时间计算得到单向上行时延,单向上行时延的计算公式为:单向上行时延=服务器收到时间 ‑客户端发出时间。
[0079] 为了方便理解本发明的上述技术方案,以下对上述方法的应用进行举例详细说明。
[0080] 首先,备置一台物理PC,安装linux操作系统,装有服务器软件和客户端软件,拥有双IP,其中服务器IP设为10.0.1.1,客户端IP设为192.168.1.1 然后,假设终端IP为
192.168.2.1,则在linux操作系统下,做以下操作:
[0081] 在/etc/sysconfig/static‑routes中添加any net 10.0.1.1/32gw 192.168.2.1;
[0082] 接着,客户端向服务器(10.0.1.1)发出的报文会经过终端(192.168.2.1)。客户端经终端与服务器进行双向通信是无线通信中的标准过程,此处不再赘述。
[0083] 最后,在linux下使用命令:tcpdump‑i any;
[0084] 此命令可以抓取所有网卡上的报文。
[0085] 假如看到17:25:30.677514时服务器发出了一个序号20008的TCP数据报文;找到客户端收到序号20008的TCP数据报文的时间,假如为 17:25:30.723325。
[0086] 那么两个时间直接相减可得到单向下行时延为45811微秒。同理可得到单向上行时延。
[0087] 此方法可得到单向下行/上行时延的某个时刻的瞬时值,也可统计得出某段时间的平均值。
[0088] 根据本发明另一个实施例,如图3‑4所示,提供了一种高精度测量无线通信系统单向时延的方法,用于测试多终端(此处终端采用CPE,通过网线和交换机连接客户端PC)无线
通信系统的单向时延,该方法包括以下步骤:
[0089] S1’、将客户端、服务器部署于相同的物理个人计算机及操作系统下(推荐linux操作系统),并设置两个不同网段的IP(推荐采用双网卡,或者采用单网卡双IP+交换机);
[0090] 其中,所述S1’中个人计算机的第一个IP供服务器使用,用于连接数据网关,个人计算机的第二个IP供多个客户端(N个客户端)使用,用于连接地址转换系统,且第二个IP与
地址转换系统位于相同的网段;N个客户端编号为0~N‑1,分别对应终端编号0~N‑1。
[0091] S2’、通过预设方法对地址转换系统进行部署,并实现与客户端之间的通信;
[0092] 其中,所述S2’中通过预设方法对地址转换系统进行部署,并实现与客户端之间的通信包括以下两种方式:
[0093] 第一种:将所述地址转换系统部署于与客户端及服务器相同的物理个人计算机上,并与客户端之间通过环回IP(127.0.0.1)进行通信;
[0094] 第二种:或者将所述地址转换系统部署于另一物理个人计算机上,并与客户端之间通过内网IP进行通信。
[0095] S3’、所述地址转换系统使用多个端口来实现对客户端的对接及报文的转发;
[0096] 其中,所述S3’中地址转换系统使用多个端口来实现对客户端的对接及报文的转发具体包括以下步骤:
[0097] S31’、所述地址转换系统使用多个第一端口(N个第一端口)来实现与多个(N个)客户端的对接;
[0098] S32’、所述地址转换系统使用多个第二端口(N个第二端口,且N个第二端口与N个第一端口有一对一的对应关系)来将客户端发来的报文分别路由经过多个(N个)终端转发
给服务器,并将服务器返回的报文通过第一端口转发至对应的客户端。
[0099] S4’、开启多个(N个)客户端进程,连接地址转换系统的第一端口,建立客户端与服务器之间的双向通信;
[0100] 其中,所述S4’中建立客户端与服务器之间的双向通信包括以下步骤:
[0101] S41’、所述客户端向地址转换系统发送报文;
[0102] S42’、所述报文路由经过不同终端并经过空口发送给服务器;
[0103] S43’、所述服务器响应的报文按原路返回给客户端,完成客户端与服务器之间双向通信(双向通信的路径为:客户端‑地址转换系统‑终端‑基站数据网关‑服务器)。
[0104] S5’、通过网络抓包的方法获取报文的发出及收到时间,计算延时并修正得到单向时延;
[0105] 其中,所述S5’具体包括以下步骤:
[0106] S51’、得到单向总时延:启动所述个人计算机上的抓包工具(在linux 中可采用tcpdump命令),通过网络抓包可同时获取客户端/服务器的用户数据报协议报文/传输控制
协议报文,由于服务器、客户端在相同物理PC 及相同操作系统下,其时钟严格对齐,因此可
通过同一报文的“服务器发出”、“客户端收到”时间得到单向下行时延,其中,单向总时延的
计算公式为:
[0107] 单向下行总时延=客户端收到时间‑服务器发出时间;
[0108] 单向上行总时延=服务器收到时间‑客户端发出时间;
[0109] S52’、得到额外造成的时延:由于在多终端测量中额外采用了地址转换系统,理应减去地址转换系统造成的时延,利用抓包工具同时获取地址转换系统发出及收到报文的时
间(抓包方法同上,如地址转换系统部署在客户端所在PC,那么步骤S51’抓包时就可以抓包
地址转换系统的收、发报文),通过同一报文的“发出”、“收到”时间可得到地址转换系统额
外造成的时延,其中,额外造成的单向时延的计算公式为:
[0110] 额外造成的单向下行时延=地址转换系统发出时间‑地址转换系统收到时间;
[0111] 额外造成的单向上行时延=地址转换系统发出时间‑地址转换系统收到时间;
[0112] S53、得到单向时延:通过单向总时延和额外造成的单向时延计算得到单向时延,其中,单向时延的时间公式为:
[0113] 单向下行时延=单向下行总时延‑额外造成的单向下行时延
[0114] =(客户端收到时间‑服务器发出时间)‑(地址转换系统发出时间‑地址转换系统收到时间);
[0115] 单向上行时延=单向上行总时延‑额外造成的单向上行时延
[0116] =(服务器收到时间‑客户端发出时间)‑(地址转换系统发出时间‑地址转换系统收到时间)。
[0117] 为了方便理解本发明的上述技术方案,以下对上述方法的应用进行举例详细说明。
[0118] 假如地址转换系统部署在与客户端/服务器所在PC上,则linux下采用命令:tcpdump‑i any;
[0119] 此命令可以抓取所有网卡(包括环回IP 127.0.0.1)上的报文。
[0120] 然后:
[0121] 1)假如看到17:29:43.976225时看到编号0客户端从地址转换系统(端口50000)收到一个序号20008的TCP(客户终端设备)数据报文;
[0122] 2)找到地址转换系统中50000端口发出的序号20008的TCP数据报文时间,假设为:17:29:43.976222;
[0123] 3)假设地址转换系统的组一端口(发出端口)50000对应的组二端口 (收到端口)为60000。找到地址转换系统中60000端口收到的序号20008 的TCP数据报文时间,假设为:
17:29:43.936176;
[0124] 4)找到服务器收到的60000端口过来的序号20008的TCP数据报文时间,假设为:17:29:43.934136;
[0125] 5)套用公式:单向下行时延=(客户端收到时间‑服务器发出时间)– (地址转换系统发出时间‑地址转换系统收到时间),得到单向时延等于 (17:29:43.976225‑17:29:
43.934136)‑(17:29:43.936222‑17:29:43.936176),结果为42043微秒。
[0126] 此方法可以得到当时经过编号0终端的单向下行时延;同理可得到经过其它编号终端的单向下行/上行时延。
[0127] 此外,下面以描述+举例的方式,来解释图4详细过程中,地址转换系统的实现。
[0128] 1、将服务器使用的IP和端口输入地址转换系统中;
[0129] 2、将N个终端(编号0~N‑1)的MAC(媒体介入控制层)地址输入地址转换系统中;
[0130] 3、分配2*N端口,建立对应关系:
[0131] 1)分配N个端口(编号0~N‑1,统称组一端口),用以连接N个客户端。假设分配的端口为50000~50000+N‑1;
[0132] 2)分配另外N个端口(编号0~N‑1,统称组二端口),用以连接N个终端。假设分配的端口为60000~60000+N‑1;
[0133] 3)建立编号与组一、组二端口的对应关系。在本例中,编号X (0<=X<=N‑1)的终端对应的组一端口为50000+X,对应的组二端口为 60000+X;组一端口转换到对应组二端口
需要+10000,组二端口转换到对应组一端口需要‑10000;
[0134] 4、使用socket(套接字)的SOCK_RAW(原始套接字)来从这2*N 个端口中收IP报文。如需测试TCP业务,则为防止操作系统收到这2*N 个端口的TCP报文时自动回应TCP RST
(TCP复位),应设置防火墙过滤这2*N个端口的TCP RST报文:
[0135] linux下用iptables命令来设置(需设置2*N次):
[0136] iptables‑t filter‑I OUTPUT‑p tcp‑‑sport 50000‑‑tcp‑flags RST RST‑j DROP
[0137] iptables‑t filter‑I OUTPUT‑p tcp‑‑sport 50001‑‑tcp‑flags RST RST‑j DROP
[0138] ……
[0139] iptables‑t filter‑I OUTPUT‑p tcp‑‑sport 60000‑‑tcp‑flags RST RST‑j DROP
[0140] iptables‑t filter‑I OUTPUT‑p tcp‑‑sport 60001‑‑tcp‑flags RST RST‑j DROP
[0141] ……
[0142] 5、当编号X(0<=X<=N‑1)客户端向地址转换系统的50000+X端口发起双向通信。当地址转换系统的50000+X端口收到IP报文时,地址转换系统记录编号X客户端的IP、端口
(即IP报文中的源IP、源端口这两个字段),并对收到的IP报文做以下处理、封装并发出:
[0143] 1)源IP改为地址转换系统的IP
[0144] 源端口改为目的端口+10000(由组一端口转换为对应的组二端口 60000+X);
[0145] 2)目的IP、目的端口改为服务器使用的IP、端口(最终目的地址是服务器);
[0146] 3)添加MAC头,其中源MAC地址填地址转换系统的MAC地址,目的MAC地址填编号X终端的MAC地址(路由的下一跳是编号X终端);
[0147] 其中,编号X客户端发给地址转换系统的50000+X端口的报文,会变为地址转换系统从60000+X端口发给服务器;由于该报文路由的下一跳是编号X终端,因此报文会经过无
线通信标准路径(终端‑基站‑数据网关) 才最终到达目的地址服务器。而服务器返回的报
文会按原路(数据网关‑ 基站‑终端)经过编号X终端最终到达地址转换系统的60000+X端
口。
[0148] 6、当地址转换系统的60000+X端口收到IP报文时,识别出该报文应该由本机的50000+X端口转交给编号X客户端,因此对该IP报文做以下处理并发出:
[0149] 1)源IP改为地址转换系统的IP;
[0150] 源端口改为目的端口‑10000(由组二端口转换为对应的组一端口 50000+X);
[0151] 2)目的IP、目的端口改为步骤5中记录的编号X客户端的IP、端口;
[0152] 其中,编号X客户端收到报文,认为自身已于地址转换系统的50000+X 端口建立起双向通信;事实上,编号X客户端是经过以下路径:编号X客户端‑地址转换系统‑编号X终端‑
基站‑数据网关‑服务器,与服务器建立起双向通信。同理,编号Y客户端也经过以下路径来
与服务器建立双向通信:编号Y客户端‑地址转换系统‑编号Y终端‑基站‑数据网关‑服务器。
[0153] 因此采用本发明提供的技术方案。可以在多终端环境下,测量无线通信系统中所有终端路径下的各自的单向下行/上行时延。
[0154] 综上所述,借助于本发明的上述技术方案,通过本发明提供的组网方式,令测试无线通信系统数据业务的服务器与客户端部署在一台物理PC、同一个操作系统下,通过网络
抓包可以得到服务器发/收包时间和客户端收/发包时间,从而能够高精度测量到单终端环
境无线通信系统的单向上行/下行时延;此外,通过使用地址转换的技术,令服务器和多终
端客户端部署在一台物理PC、同一个操作系统下,还能够在多终端环境下,高精度测量无线
通信系统中所有终端路径下的各自的单向下行/上行时延。
[0155] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。