首先分光设备从GGSN上把GTP-C用户数据报文转发到数据采集服务器上,采集系统在网络设备上以混杂模式捕获原始数据报文,并从中提取下游DPI系统所需用户私有信息,信息内容包括用户唯一性标识、用户设备唯一性标识、IP地址、小区号、上行带宽、下行带宽。根据用户报文类型,将临时数据以键值对应关系保存在内存空间中。如果用户在创建上下文会话的时候,需要从本地或远程数据库中提取该用户的策略属性。此外,系统还必须跟踪所有关联PDP上下文的所有会话过程。一个完整的会话过程由GTP-C协议中的控制面ID来确保,如果接收方确认已经成功地给发送方分配了用于信令的控制面ID,则该值与以前发送的保持一致,当接收者接收到任何来自发送方的控制面消息的GTP头的TEID值就是其分配的值时,则认为成功分配控制面ID。对于关联会话的跟踪是实时更新用户数据的保证,并最终将采集分析后的用户数据与数据库中用户策略进行匹配,将结果以网络传输方式发送给下游DPI系统。
数据采集:初始化网络嗅探器,设置捕获条件,在指定网卡上捕获指定端口数据。将未经处理的数据直接提交给线程池中挂起线程等待处理。数据报文的捕获效率与完整性由网络嗅探器自身保证。
协议分析:初始化线程池及相关资源,线程在网络嗅探器捕获函数上挂起,等待嗅探器自动下发数据报文。解析完成后的报文直接送入队列或发送。初始化共享内存系统资源,该资源用于保存正在解析的用户数据,数据寻址方式为HASH定址,主键是用户的手机号码。使用共享内存方式主要考虑便于GTP-C解析进程与RANAP解析进程间的通信,此外,也可有效避免反复申请与释放内存所产生的内存碎片,降低系统效率下降的风险。
1、创建PDP上下文请求
- 报文说明
创建PDP上下文请求报文由SGSN节点向GGSN节点发送。当SGSN在发送了创建PDP上下文请求消息后,SGSN标记PDP上下文状态为“等待响应”。一个有效的请求将初始化SGSN中的PDP上下文和GGSN中的PDP上下文间的隧道创建。
- 报文元素
元素名称 | 是否要求 |
IMSI | 有条件的 |
恢复 | 可选项 |
选择模式 | 有条件的 |
数据(I) 的TEID | 必选项 |
控制面TEID | 有条件的 |
网络服务接入点标识(NSAPI) | 必选项 |
链接的NSAPI | 有条件的 |
计费特征 | 可选项 |
跟踪引用 | 可选项 |
跟踪类型 | 可选项 |
端用户地址 | 有条件的 |
接入点名(APN) | 有条件的 |
协议配置选项 | 有条件的 |
用于信令的SGSN地址 | 必选项 |
用于用户业务的SGSN地址 | 必选项 |
MSISDN | 有条件的 |
QoS脚本 | 必选项 |
业务流模板(TFT) | 有条件的 |
触发器ID | 可选项 |
OMC标识 | 可选项 |
Common Flags | 有条件的 |
APN Restriction | 有条件的 |
RAT Type | 有条件的 |
User Location Information | 有条件的 |
MS Time Zone | 有条件的 |
IMEI(SV) | 有条件的 |
CAMEL Charging Information Container | 有条件的 |
Additional Trace Info | 有条件的 |
Correlation-ID | 有条件的 |
私有扩展 | 可选项 |
2、创建PDP上下文响应
- 报文说明
创建PDP上下文响应报文由GGSN发给SGSN节点,作为创建PDP上下文请求的响应。当SGSN收到创建PDP上下文响应时,原因值指示“请求接受”。
- 报文元素
元素名称 | 是否要求 |
原因值 | 必选项 |
要求重排序 | 有条件的 |
恢复 | 可选项 |
数据(I)TEID | 有条件的 |
控制面的TEID | 有条件的 |
计费ID | 有条件的 |
端用户地址 | 有条件的 |
协议配置选项 | 可选项 |
用于控制面的GGSN地址 | 有条件的 |
用于用户业务的GGSN地址 | 有条件的 |
QoS脚本 | 有条件的 |
计费网关地址 | 可选项 |
私有扩展 | 可选项 |
3、更新PDP上下文请求
- 报文说明
更新PDP上下文请求消息由SGSN发送给GGSN,作为SGSN间GPRS路由区更新过程或PDP上下文修改过程或为负荷分担而重新发布上下文过程的一部分。这个消息用于修改QoS和路径。在SGSN间路由区更新过程中,由新的SGSN发送此消息。
- 报文元素
元素名称 | 是否要求 |
恢复 | 可选项 |
数据(I)TEID | 必选项 |
控制面的TEID | 有条件的 |
网络服务接入点标识(NSAPI) | 必选项 |
跟踪引用 | 可选项 |
跟踪类型 | 可选项 |
用于控制面的SGSN地址 | 必选项 |
用于用户业务的SGSN地址 | 必选项 |
QoS脚本 | 必选项 |
业务流模板(TFT) | 可选项 |
触发器ID | 可选项 |
OMC标识 | 可选项 |
私有扩展 | 可选项 |
4、更新PDP上下文响应
- 报文说明
更新PDP上下文响应报文由GGSN节点发给SGSN节点,作为更新PDP上下文请求的响应。若SGSN收到的更新PDP上下文响应的原因不是“请求接受”,它将放弃更新PDP上下文。
- 报文元素
元素名称 | 是否要求 |
原因 | 必选项 |
恢复 | 可选项 |
数据(I)TEID | 有条件的 |
控制面的TEID | 有条件的 |
计费ID | 有条件的 |
用于控制面的GGSN地址 | 有条件的 |
用于用户面的GGSN地址 | 有条件的 |
QoS脚本 | 有条件的 |
计费网关地址 | 可选项 |
私有扩展 | 可选项 |
5、删除PDP上下文请求
- 报文说明
删除PDP上下文请求报文由SGSN节点发给GGSN节点,作为GPRS分离过程的一部分或GPRS的 PDP上下文去活过程的一部分;或由GGSN节点发给SGSN节点,作为GGSN发起的PDP上下文去活过程的一部分。请求报文应用于去活一个激活的PDP上下文。GSN应在任何时候准备接收删除PDP上下文请求,并总是应答,且不考虑PDP上下文是否存在。若发生冲突,则删除PDP上下文请求比任何其它的隧道管理消息拥有更高的优先级。可选项撤消指示指出所有与这个PDP上下文共享PDP地址的PDP上下文都应去活。
- 报文元素
元素名称 | 是否要求 |
撤消指示 | 有条件的 |
网络业务接入点(NSAPI) | 必选项 |
私有扩展 | 可选项 |
6、删除PDP上下文响应
- 报文说明
这个消息是删除PDP上下文请求的响应。对不存在的PDP上下文,GSN将忽略删除PDP上下文响应。
- 报文元素
元素名称 | 是否要求 |
原因 | 必选项 |
私有扩展 | 可选项 |