发明名称 基于用户终端IP的第三代移动通信核心网数据分流方法
摘要 本发明公开了一种基于用户终端IP的第三代移动通信核心网数据分流方法,目的是提供一种能够将所有数据报文按用户IP地址均匀分流到与该IP地址对应的后端分析设备的方法。技术方案是在前端数据处理分流设备中增加学模块和上下行判定模块,改进分流模块;学模块对信令报文中携带的PDSN或GGSN地址进行提取并存储,并将报文发送给上下行判定模块;上下行判定模块判定报文是上行链路报文还是下行链路报文,将报文发往解封装模块;解封装模块还原被封装了的报文,将报文送给分流模块;分流模块按照用户终端IP对所有报文进行分流。采用本发明可以使后端分析设备获取每一条完整的用户数据流,保证用户数据还原的准确性。
申请公布号 CN103024819B 申请公布日期 2014.11.26
申请号 CN201210198907.4 申请日期 2012.06.15
申请人 中国人民解放军国防科学技术大学 发明人 唐勇;陈曙晖;赵国鸿;程冕;苏金树;卢泽新
分类号 H04W28/10(2009.01)I 主分类号 H04W28/10(2009.01)I
代理机构 国防科技大学专利服务中心 43202 代理人 郭敏
主权项 一种基于用户终端IP的第三代移动通信核心网数据分流方法,其特征在于包括以下步骤:第一步,改进高速流量监控设备中的前端数据处理分流设备,前端数据处理分流设备与3G核心网即第三代移动通信核心网和多个后端分析系统通过光纤相连,前端数据处理分流设备的改进方法是:1.1 在前端数据处理分流设备增加学习模块和上下行判定模块:1.1.1 学习模块与3G核心网链路和上下行判定模块相连,从3G核心网链路获取用户数据报文和各类控制报文,对A11接口控制报文和Gn接口控制报文中携带的PDSN或GGSN地址进行提取并存储,并将所有报文发送给上下行判定模块;当3G核心网是CDMA2000核心网链路时,学习模块初始化时构建一张表项为N的PDSN地址表,然后获取CDMA2000核心网链路中控制报文携带的PDSN地址,并将其储存到PDSN地址表中;当3G核心网是WCDMA或TD‑SCDMA核心网链路时,学习模块初始化时构建一张表项为N的GGSN地址表,然后获取WCDMA或TD‑SCDMA核心网链路中控制报文携带的GGSN地址,并将其存储到GGSN地址表中;PDSN或GGSN地址表的项数N为正整数;PDSN或GGSN地址表的每个表项由ID号和地址值两个域组成,ID号表明每个PDSN或GGSN地址在表中的位置,地址值用来存放学习到的控制报文中携带的PDSN或GGSN地址;所述PDSN是指CDMA2000核心网络中的分组数据服务节点,GGSN是指WCDMA和TD‑SCDMA核心网络中的网关GPRS支持节点,GPRS指通用分组无线服务技术;1.1.2 上下行判定模块与学习模块和解封装模块相连,上下行判定模块从学习模块获得报文后,对所有报文进行链路上下行状态的判定,并将经过判定的数据报文发送给解封装模块;1.2 改进分流模块:分流模块由哈希表和分流软件组成;在分流软件中增加对所有报文用户终端IP的判定功能,并在哈希运算时采用用户终端IP作为关键字进行查表,分流模块在初始化时在存储空间内建立表项为M项的哈希表用于存储目的MAC地址,M等于后端分析设备的数目;哈希表的每个表项包括索引值、MAC地址值两个域,索引值域表明MAC地址在表中的位置,MAC地址值用来存放目的MAC地址,每个目的MAC地址对应一台后端分析系统;第二步,前端数据处理分流设备初始化:2.1 初始化学习模块:构建表项为N项的PDSN或GGSN地址表;2.2 初始化分流模块:初始化哈希表,将每台后端分析设备的MAC地址写入哈希表的MAC地址值域;第三步,学习模块接收来自3G核心网链路的用户数据报文和各类控制报文,若3G核心网链路是CDMA2000核心网链路,对A11接口控制报文中的PDSN地址进行提取并存储,若3G核心网链路是WCDMA或TD‑SCMDA核心网链路,则对Gn接口控制报文中携带的GGSN地址进行提取并存储,并将所有报文发送给上下行判定模块,流程如下:3.1 从3G核心网接收报文并判定报文类型,如果是数据报文或其它控制报文即A11接口控制报文和Gn接口控制报文以外的控制报文,转3.5;如果是A11接口控制报文或Gn接口控制报文,转3.2;3.2 如果与学习模块相连的是CDMA2000核心网链路,学习模块提取下一个到达的A11接口控制报文中携带的PDSN地址,转3.3;如果与学习模块相连的是WCDMA或TD‑SCDMA核心网链路,学习模块则提取下一个到达的Gn接口控制报文中携带的GGSN地址,转3.4;3.3 如果与学习模块相连的是CDMA2000核心网链路,学习模块将提取到的PDSN地址与PDSN地址表中的每一个表项进行比对,如果有任何一个表项跟提取到的PDSN地址相同,则返回步骤3.1;如果跟所有表项都不匹配,则将此PDSN地址写入PDSN地址表中尚空缺的表项中,转3.5;3.4 如果与学习模块相连的是WCDMA或TD‑SCDMA核心网链路,学习模块将提取到的GGSN地址与GGSN地址表中的每一个表项进行比对,如果有任何一个表项跟提取到的GGSN地址相同,则返回步骤3.1;如果跟所有表项都不匹配,则将此GGSN地址写入GGSN地址表中尚空缺的表项中,执行3.5;3.5 将报文发送给上下行判定模块,转第四步;第四步,上下行判定模块收到来自学习模块的报文后,判定报文是上行链路报文还是下行链路报文,并将判定结果写入该报文源MAC地址的特定位中,流程如下:4.1 接收报文,提取报文中的源IP地址和目的IP地址;4.2 如果与学习模块相连的是CDMA2000核心网链路,将报文的源IP地址和目的IP地址与学习模块中PDSN地址表中的每一个表项的地址值域进行逐项比对;4.3 如果发现报文的源IP地址与PDSN地址表中的PDSN地址匹配,说明此报文为下行链路报文,将此报文的源MAC地址中的任意两个比特位写为下行特定值,转步骤4.8;4.4 如果发现报文的目的IP地址与表中的PDSN地址匹配,说明此报文为上行链路报文,将此报文的源MAC地址中的任意两个比特位写为上行特定值,转步骤4.8;4.5 如果与学习模块相连的是WCDMA或TD‑SCDMA核心网链路,将报文的源IP地址和目的IP地址与学习模块中GGSN地址表中的每一个表项的地址值域进行逐项比对;4.6 如果发现报文的源IP地址与GGSN地址表中的GGSN地址匹配,说明此报文为下行链路报文,将此报文的源MAC地址中的两个比特位写为下行特定值,转步骤4.8;4.7 如果发现报文的目的IP地址与表中的GGSN地址匹配,说明此报文为上行链路报文,将此报文的源MAC地址中的两个比特位写为上行特定值,转步骤4.8;4.8将报文发往解封装模块;第五步,解封装模块接收来自上下行判定模块的所有报文,对于A11接口控制报文和Gn接口控制报文,直接发送至分流模块;对A11接口控制报文和Gn接口控制报文以外的所有报文进行解封装、解压缩及分片重组,还原其封装内的报文,将还原后的报文送给分流模块;第六步,分流模块收到从解封装模块送来的报文后,先进行报文中用户终端IP的判定,再按照用户终端IP对所有报文进行分流,流程如下:6.1 收到来自解封装模块的报文后,分流软件首先根据被上下行判定模块写为特定值的比特位来判断报文的源IP地址和目的IP地址哪个是用户终端IP地址,方法如下:6.1.1 如果特定值的比特位中写入的是上行特定值,可知此报文为用户终端发往Internet网络的报文,判定此报文的源IP地址即为用户终端IP地址,转6.2;6.1.1 如果特定值的比特位中写入的是下行特定值,可知此报文为Internet网络回复给用户终端的报文,判定此报文的目的IP地址即为用户终端IP地址,转6.2;6.2 分流软件对得到的用户终端IP地址进行哈希运算得到哈希值,将此哈希值与哈希表项数N的二进制数进行与运算,得到针对此源IP的索引值,然后将此索引值与哈希表中的每一个索引值域进行比较,得到此索引值域所对应的MAC地址值域中的MAC地址值;6.3 分流软件根据MAC地址值给报文的目的MAC地址域填上目的MAC地址,然后将报文发送到目的MAC地址所对应的后端分析设备,转第三步,继续接收下一个报文。
地址 410073 湖南省长沙市开福区德雅路109号