点对点协议VJ压缩数据还原方法
技术领域
本发明涉及到第三代移动通信***的网络监测技术领域,特别涉及到第三代移动通信***中点对点协议VJ压缩数据还原方法。
背景技术
CDMA20001x/EV-DO是第三代移动通信的标准之一(以下简称为C网),C网又分为电路域CS(以下简称为CS)和分组域PS(以下简称为PS),CS提供话音业务和低速数据业务,PS提供高速上网业务。随着数据业务的日益普及,流量增长每年都超过100%,因此,分组域PS网络质量和业务内容的监测以及流量分析越来越受到运营商的重视。
R-P接口是C网分组域PS最核心的一个网络接口,也是C网监测最重要的接口,通过分析R-P接口数据可以再现移动用户拨号上网的PPP连接建立过程。R-P接口位于分组控制功能PCF和分组数据服务节点PDSN设备之间,又称为A10/A11接口。其中,PDSN是C网最核心的交换设备,负责移动终端IP地址的分配,A10连接的建立和维护,以及业务数据的转发等。手机上网,首先必须在终端和PDSN之间建立点对点PPP连接(以下简称为PPP连接),然后,才能通过此连接访问互联网。PPP连接建立过程分为三个阶段:链路控制协议LCP认证、口令认证协议PAP/挑战握手认证协议CHAP认证和IP控制协议IPCP协商。经过这些过程后,手机将获得IP地址以及传输链路属性,然后,进行业务内容的传递。终端PPP连接建立过程在R-P接口透传,因此,通过在PDSN侧R-P接口进行数据采集能够捕获到全网的PPP连接建立过程。
由于空中链路带宽有限,业务内容传递时常常采用传输控制协议/网际协议TCP/IP(以下简称为TCP/IP)报头压缩技术,最常用的就是VanJacobsonTCP/IP报头压缩技术,即VJ压缩技术,而采用VJ压缩技术处理的数据被称为VJ压缩数据。采用VJ压缩后,点对点协议PPP中直接封装传输控制协议TCP净荷,而源IP地址、目的IP地址、源端口号和目的端口号都将被省略。这些省略给R-P接口的分组域PS网络质量和业务内容的监测以及流量分析带来困难。因此,现有网络监测技术往往是从R-P接口采集和分析信令数据,同时,从PDSN与互联网之间的接口Pi采集和分析业务数据。这种监测方法将增加***采集接口和重复采集的总流量,给***稳定性带来隐患。
发明内容
为了解决现有网络监测技术从R-P接口采集和分析信令数据,同时,从PDSN与互联网之间的接口Pi采集和分析业务数据,存在着增加***采集接口和重复采集的总流量,给***稳定性带来隐患等问题,本发明提出一种点对点协议VJ压缩数据还原方法。本发明点对点协议VJ压缩数据还原方法,从位于分组控制功能PCF和分组数据服务节点PDSN设备之间的R-P接口采集点对点PPP数据,根据点对点PPP数据中的Protocol字段取值判断所接收的数据是否为VanJacobson传输控制协议/网际协议TCP/IP报头压缩数据,即VJ压缩数据;如果是非VJ压缩数据,则取PPP连接上层IP头中的protocol字段作为连接号,并建立该连接号、通用路由封装协议GREKey、GRE下层源IP、GRE下层目的IP与PPP上层源IP、PPP上层目的IP、源端口号和目的端口号之间的映射关系表,即映射关系表,并以连接号、GREKey、GRE下层源IP、GRE下层目的IP为组合索引键;并将PPP上层IP头中的Protocol字段的值修改为0x06,即指示PPP连接上层IP之上的传输控制协议TCP,即TCP协议;如果是VJ压缩数据,则提取每个VJ压缩数据帧携带的连接号与GREKey、GRE下层源IP和GRE下层目的IP生成组合索引键,在前述非VJ压缩数据时所建立的映射关系表中进行搜索,成功匹配后即可获取PPP上层的源IP地址、目的IP地址、源端口号和目的端口号。
进一步的,本发明点对点协议VJ压缩数据还原方法包括以下步骤:
⑴从位于分组控制功能PCF和分组数据服务节点PDSN设备之间的R-P接口采集点对点PPP数据,解析PPP数据中Protocol字段的取值:
⑵PPP数据中的Protocol字段值为0x0021,即IP地址,则将数据帧直接交给上层IP协议层处理,返回执行步骤⑴;
⑶PPP数据中的Protocol字段值为0x002f,即为非VJ压缩数据,一方面将PPP上层IP头中的Protocol字段的值修改为0x06,即指示PPP连接上层IP之上的传输控制协议TCP,即TCP协议,并将数据帧直接交给上层IP协议层处理;另一方面从PPP协议层的上层IP协议层中直接获取protocol字段,将其作为连接号;从通用路由封装协议GRE协议层获取GREKey,从GRE下层的IP协议层获取GRE下层源IP和GRE下层目的IP,从PPP上层IP协议分析层获取PPP上层源IP和PPP上层目的IP;并建立连接号、GREKey、GRE下层源IP和GRE下层目的IP与PPP上层源IP、PPP上层目的IP、源端口号和目的端口号之间的映射关系表,即映射关系表,并以连接号、GREKey、GRE下层源IP、GRE下层目的IP为组合索引键,返回执行步骤⑴;
⑷PPP数据中的Protocol字段值为0x002d,即为VJ压缩数据,一方面完成从压缩TCP/IP头中获取连接号,从GRE协议层提取GREKey,GRE下层的IP协议层获取GRE下层源IP、GRE下层目的IP,另一方面将连接号、GREKey、GRE下层源IP、GRE下层目的IP生成组合索引键,并以此在步骤⑶所建立的映射关系表中进行搜索,成功匹配后即可获取映射关系表中的PPP上层的源IP地址、目的IP地址、源端口号和目的端口号,也即VJ压缩时被省略的源IP地址、目的IP地址、源端口号和目的端口号;根据端口号获得相应协议类型,得到协议类型后再将数据交给对应的协议层次处理,返回执行步骤⑴;
⑸PPP数据中的Protocol字段值为0x0c21,即为链路控制协议LCP,若为LCP终止连接请求,即PPP连接释放请求,则在此过程,清除建立在该PPP连接上的所有组合索引键与PPP上层目的IP、源端口号和目的端口号之间的映射关系以释放内存,并结束PPP连接;若非LCP终止连接请求,返回执行步骤⑴;
⑹PPP数据中的Protocol字段值为步骤⑵至⑸所述四种情况以外的值,则提交网络中相应的协议层处理,返回执行步骤⑴。
本发明点对点协议VJ压缩数据还原方法的有益技术效果是能够在位于分组控制功能PCF和分组数据服务节点PDSN设备之间的R-P接口采集点对点PPP数据同时实现信令和业务数据的监测与分析,解决了现有网络监测技术从R-P接口采集和分析信令数据,同时,从PDSN与互联网之间的接口Pi采集和分析业务数据,存在的增加***采集接口和重复采集的总流量,给***稳定性带来隐患等问题,并使网络监测结果更接近实际,更具代表性。
附图说明
附图1为本发明点对点协议VJ压缩数据还原方法流程图。
下面附图和具体实施方式对本发明点对点协议VJ压缩数据还原方法做进一步的说明。
具体实施方式
附图1为本发明点对点协议VJ压缩数据还原方法流程图,由图可知,本发明点对点协议VJ压缩数据还原方法,从位于分组控制功能PCF和分组数据服务节点PDSN设备之间的R-P接口采集点对点PPP数据,根据点对点PPP数据中的Protocol字段取值判断所接收的数据是否为VanJacobson传输控制协议/网际协议TCP/IP报头压缩数据,即VJ压缩数据;如果是非VJ压缩数据,则取PPP连接上层IP头中的protocol字段作为连接号,并建立该连接号、通用路由封装协议GREKey、GRE下层源IP、GRE下层目的IP与PPP上层源IP、PPP上层目的IP、源端口号和目的端口号之间的映射关系表,即映射关系表,并以连接号、GREKey、GRE下层源IP、GRE下层目的IP为组合索引键;并将PPP上层IP头中的Protocol字段的值修改为0x06,即指示PPP连接上层IP之上的传输控制协议TCP,即TCP协议;如果是VJ压缩数据,则提取每个VJ压缩数据帧携带的连接号与GREKey、GRE下层源IP和GRE下层目的IP生成组合索引键,在前述非VJ压缩数据时所建立的映射关系表中进行搜索,成功匹配后即可获取PPP上层的源IP地址、目的IP地址、源端口号和目的端口号。
具体而言,本发明点对点协议VJ压缩数据还原方法包括以下步骤:
⑴从位于分组控制功能PCF和分组数据服务节点PDSN设备之间的R-P接口采集点对点PPP数据,解析PPP数据中Protocol字段的取值:
⑵PPP数据中的Protocol字段值为0x0021,即IP地址,则将数据帧直接交给上层IP协议层处理,返回执行步骤⑴;
⑶PPP数据中的Protocol字段值为0x002f,即为非VJ压缩数据,一方面将PPP上层IP头中的Protocol字段的值修改为0x06,即指示PPP连接上层IP之上的传输控制协议TCP,即TCP协议,并将数据帧直接交给上层IP协议层处理;另一方面从PPP协议层的上层IP协议层中直接获取protocol字段,将其作为连接号;从通用路由封装协议GRE协议层获取GREKey,从GRE下层的IP协议层获取GRE下层源IP和GRE下层目的IP,从PPP上层IP协议分析层获取PPP上层源IP和PPP上层目的IP;并建立连接号、GREKey、GRE下层源IP和GRE下层目的IP与PPP上层源IP、PPP上层目的IP、源端口号和目的端口号之间的映射关系表,即映射关系表,并以连接号、GREKey、GRE下层源IP、GRE下层目的IP为组合索引键,返回执行步骤⑴;
⑷PPP数据中的Protocol字段值为0x002d,即为VJ压缩数据,一方面完成从压缩TCP/IP头中获取连接号,从GRE协议层提取GREKey,GRE下层的IP协议层获取GRE下层源IP、GRE下层目的IP,另一方面将连接号、GREKey、GRE下层源IP、GRE下层目的IP生成组合索引键,并以此在步骤⑶所建立的映射关系表中进行搜索,成功匹配后即可获取映射关系表中的PPP上层的源IP地址、目的IP地址、源端口号和目的端口号,也即VJ压缩时被省略的源IP地址、目的IP地址、源端口号和目的端口号;根据端口号获得相应协议类型,得到协议类型后再将数据交给对应的协议层次处理,返回执行步骤⑴。例如:将80端口的数据交付给HTTP协议层。另外,还需说明的是,根据rfc1144标准规定压缩数据方法,在收到压缩数据之前必将先收到非VJ压缩数据,此时,连接号、GREKey、GRE下层源IP和GRE下层目的IP与PPP上层源IP、PPP上层目的IP、源端口号和目的端口号之间的映射关系表已经建立,即映射关系表已经建立,此时根据连接号、GREKey、GRE下层源IP、GRE下层目的IP生成的组合索引键在映射关系表中搜索,必将搜索到匹配的PPP上层的源IP地址、目的IP地址、源端口号和目的端口号。
⑸PPP数据中的Protocol字段值为0x0c21,即为链路控制协议LCP,若为LCP终止连接请求,即PPP连接释放请求,则在此过程,清除建立在该PPP连接上的所有组合索引键与PPP上层目的IP、源端口号和目的端口号之间的映射关系以释放内存,并结束PPP连接;若非LCP终止连接请求,返回执行步骤⑴;
⑹PPP数据中的Protocol字段值为步骤⑵至⑸所述四种情况以外的值,则提交网络中相应的协议层处理,返回执行步骤⑴。
显然,本发明点对点协议VJ压缩数据还原方法的有益技术效果是能够在位于分组控制功能PCF和分组数据服务节点PDSN设备之间的R-P接口采集点对点PPP数据,同时实现信令和业务数据的监测与分析,解决了现有网络监测技术从R-P接口采集和分析信令数据,同时,从PDSN与互联网之间的接口Pi采集和分析业务数据,存在的增加***采集接口和重复采集的总流量,给***稳定性带来隐患等问题,并使网络监测结果更接近实际,更具代表性。