CN1328890C - 一种用网络处理器实现分组控制功能的方法 - Google Patents
一种用网络处理器实现分组控制功能的方法 Download PDFInfo
- Publication number
- CN1328890C CN1328890C CNB2004100464642A CN200410046464A CN1328890C CN 1328890 C CN1328890 C CN 1328890C CN B2004100464642 A CNB2004100464642 A CN B2004100464642A CN 200410046464 A CN200410046464 A CN 200410046464A CN 1328890 C CN1328890 C CN 1328890C
- Authority
- CN
- China
- Prior art keywords
- message
- micro engine
- core
- data
- processing unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种用网络处理器实现分组控制功能的方法,其特征在于,利用网络处理器的并行处理能力,将协议报文、信令报文和数据报文进行分开处理,包括:通过网络处理器中的微引擎承担报文的接收和发送、协议报文和信令报文同数据报文的分离、数据报文的业务处理,以及将业务处理后的数据报文做缓存或转发处理;通过网络处理器中的核心部分或挂接在网络处理器上的子卡承担协议报文和信令报文的处理。本发明解决了现有技术性能低、组网难及产品的成本很高的问题。
Description
技术领域
本发明涉及无线移动通讯领域,适用码分多址(CDMA)蜂窝移动通讯系统中分组控制功能的实现方法,尤其是采用网络处理器实现分组控制功能的方法。
背景技术
分组控制功能(PCF)是CDMA2000蜂窝移动通讯系统中为支持用户分组数据业务增加的一个功能实体,其在CDMA2000系统中的位置如图1所示。PCF位于基站控制器(BSC)和分组数据服务节点(PDSN)之间,为二者之间的数据转发通道,本身并不处理用户业务,只是为了支持数据业务的Null(空)、Dormant(休眠)和Active(激活)状态转换和数据业务的切换。其中,A9为信令通道,通过A9信令来建立和释放A8连接,而A8为数据通道,PCF通过A8接口向BSC发送数据或者从BSC接收数据。A11为信令通道,通过A11建立和释放A10连接,A10为数据通道,PCF通过A10接口向PDSN发送数据或者从PDSN接收数据。
为了支持数据业务的状态切换,在数据业务状态为Dormant时,PCF需要缓存A10数据,直到业务状态为Active时转发数据或Null时丢弃数据。数据的缓存非常占用CPU资源,现有技术使用通用处理器,数据转发处理和信令处理都由一个CPU来完成,性能非常低,如果使用多个通用处理器负荷分担处理,将增加PCF的数量、组网难度及产品的成本。
发明内容
本发明所要解决的技术问题是克服现有技术性能低、组网难及产品的成本很高的问题,进而提供一种用网络处理器实现分组控制功能的方法。
为达到上述目的,本发明提供了一种用网络处理器实现分组控制功能的方法,其特点在于,利用网络处理器的并行处理能力,将协议报文、信令报文和数据报文进行分开处理,包括:
通过网络处理器中的微引擎承担报文的接收和发送、协议报文和信令报文同数据报文的分离、数据报文的业务处理,以及将业务处理后的数据报文做缓存或转发处理;
通过网络处理器中的核心部分或挂接在网络处理器上的子卡承担协议报文和信令报文的处理。
上述的方法,其特点在于,网络处理器中的微引擎将协议报文和信令报文发送给所述核心部分,所述核心部分承担协议报文和信令报文的处理、表同步、版本下载及微引擎启动。
上述的方法,其特点在于,所述子卡是通过在网络处理器的PCI总线上挂接一个通用处理器CPU来实现,由所述通用处理器CPU完成协议报文和信令报文的处理,由网络处理器的核心部分完成微引擎与核心部分、核心部分与通用处理器CPU之间的通信。
上述的方法,其特点在于,进一步包括如下步骤:
步骤一,微引擎接收并分析报文,分离出协议报文发送给核心部分处理并将异常报文丢弃;
步骤二,微引擎分离出信令报文发送给核心部分处理,并且微引擎对数据报文进行业务处理;
步骤三,微引擎发送数据报文。
上述的方法,其特点在于,所述步骤一进一步包括如下步骤:
步骤A,由核心部分启动微引擎;
步骤B,微引擎的接收模块从基站控制器BSC或分组数据服务节点PDSN接收报文;
步骤C,微引擎进行报文分析,对于异常的报文直接丢弃;
步骤D,判断报文是否为IP协议报文,是则执行步骤F,否则执行步骤E;
步骤E,将协议报文发送给所述核心部分来处理;
步骤F,进行IP头校验,如果IP头校验失败则丢弃该报文,返回步骤B;否则检查IP地址,如果IP地址是组播或广播地址,将该报文发送给核心部分处理,如果是单播地址则执行步骤G;
步骤G,检查IP头中分片标识字段,如果报文为IP分片报文,则对报文进行IP重组后执行步骤二,否则直接执行步骤二。
上述的方法,其特点在于,所述步骤二进一步包括如下步骤:
步骤a,根据报文的目的IP地址和IP头中的协议类型区分出A8数据报文、A9信令报文、A10数据报文和A11信令报文;
步骤b,微引擎对A8数据报文和A10数据报文进行业务处理,并将A9信令报文和A11信令报文发送给核心部分处理;
步骤c,将A8数据报文和A10数据报文发送给微引擎中的微引擎发送模块。
上述的方法,其特点在于,所述步骤b进一步包括判断A10数据报文是否需要缓存的步骤,是则将A10数据报文进行缓存,否则直接执行步骤c。
上述的方法,其特点在于,所述步骤三中进一步包括由所述微引擎发送模块检测是否有报文发送,如果有,则把报文发送给基站控制器BSC或分组数据服务节点PDSN,如果没有则继续检测。
本发明的技术效果在于:
本发明采用网络处理器实现CDMA2000系统中的分组控制功能,可以克服当前采用通用处理器实现PCF时,数据转发处理性能低的技术问题及大容量时要求PCF数量多、产品成本高的经济效益问题。本发明与现有的技术相比,由于IP分片重组由微引擎完成,在小容量时核心部分HOST的处理能力提高了10%左右,在大容量时由于可以在网络处理器的PCI总线上挂接子卡,HOST的处理能力将是采用通用CPU的2倍左右,而微引擎的数据处理转发能力是通用CPU的20倍左右。大容量时成本却比现在多个PCF低50-60%。这样采用本发明实现的PCF,不但数据处理能力提高,而且PCF处理模块单一,对提高CDMA网络整体性能、降低组网难度和成本都非常有益。
附图说明
图1是现有的CDMA2000系统架构示意图;
图2是本发明所用网络处理器的进程模块图;
图3是本发明方法的流程图;
图4本发明方法实施例的处理流程图。
具体实施方式
下面结合附图进一步详细说明本发明的具体实施例。
如图2所示,是本发明所用网络处理器的进程模块图,本发明是利用网络处理器的并行处理能力,将协议处理、信令处理过程和数据报文处理过程分离开来,分别交给网络处理器的两个不同部分:核心部分HOST和微引擎部分处理。其中网络处理器中的核心部分承担协议处理、信令处理、表同步,版本下载及微引擎启动,网络处理器中的微引擎部分承担报文的接收和发送、协议和信令报文同数据报文的分离,同时将协议和信令报文送给HOST中的进程处理,将数据报文做业务处理后做缓存或转发处理。
如果所选用网络处理器的HOST处理能力不高时,可以在网络处理器的PCI总线上挂接一个采用通用处理器实现的子卡,这样大部分协议处理和信令处理由子卡完成,而HOST只完成微引擎与HOST,HOST与通用CPU之间的通信。
如图3所示,是本发明方法的流程图。本发明方法包括:
步骤100,微引擎接收并分析报文,分离出协议报文发送给核心部分处理并将异常报文丢弃;
步骤110,微引擎分离出信令报文发送给核心部分处理,并且微引擎对数据报文进行业务处理;
步骤120,微引擎发送数据报文。
图4本发明方法实施例的处理流程图。本发明在网络处理器上的HOST运行各种进程及微引擎通信任务,完成协议处理、A9/A11信令处理及微引擎与HOST之间的通信。微引擎处理主要由微引擎接收模块,微引擎发送模块,业务处理模块组成,其中业务处理模块包括IP分片重组模块、A8/A10处理模块,缓存模块。微引擎接收模块从BSC/PDSN接收以太网报文,进行以太网头和IP头过滤,丢弃异常报文,对于IP分片报文由IP重组模块进行重组,对于协议报文送给HOST上的协议栈处理。对于其他报文根据虚IP地址区分报文来自BSC或PDSN,然后根据协议类型区分是A8/A10数据报文还是A9/A11信令报文,A8数据报文送A8处理模块处理后由微引擎发送模块转发给PDSN,A10数据报文送A10处理模块处理后根据A8链路状态决定送给缓存模块做缓存处理或由微引擎发送模块转发给BSC,信令报文送HOST上的信令进程处理。
本发明的具体实施流程如下:
开始:PCF系统启动,启动微引擎;
步骤301,微引擎接收模块从BSC或PDSN接收以太网帧;
步骤302,进行以太网帧头过滤,对于以太网帧头异常的报文直接丢弃,回到步骤301;否则在步骤304中检查以太网协议类型,如果以太网协议类型为ARP/RARP,则在步骤303中,通过微引擎通信模块送给HOST中的协议栈进程进行协议处理,然后回到步骤301,如果以太网协议类型为IP报文,则转到步骤305;
步骤305,进行IP头校验,如果IP头校验失败则丢弃该报文,回到步骤301,否则检查IP地址。步骤306中,如果IP地址是组播或广播地址,通过微引擎通信模块送给HOST中协议栈处理,如果是单播地址转到步骤308;
步骤308,检查IP头中分片标识字段,如果为IP分片报文,则送IP重组模块进行IP重组;
步骤309,如果是完整IP报文,根据目的IP地址区分出是A8/A9报文还是A10/A11报文;如果是A8/A9报文,转到步骤311,如果是A10/A11报文转到步骤312;
步骤311,根据IP头中协议类型区分是A8数据报文还是A9信令报文,如果是A8数据报文,送给A8处理模块;如果是A9信令报文,则步骤312通过微引擎通信模块送给HOST中的信令进程处理,然后转到步骤301;
步骤314,A8处理模块根据A8 GRE KEY查用户连接表,用用户连接表中的A10 GRE KEY替换A18 GRE KEY值,同时用用户连接表中的PDSN的IP地址查路由表、ARP表,做IP封装和以太网封装后送给微引擎发送模块(在此过程中,如果查用户连接表,路由表失败则丢弃该报文,如果查ARP表失败则通知HOST中的协议栈进程);
步骤312,根据协议类型区分是A10数据报文还是A11信令报文,如果是A11信令报文,则通过微引擎通信模块送给HOST中的信令进程处理,然后转到步骤301;如果是A10数据报文,送A10处理模块处理;
步骤313中,A10处理模块根据A10 GRE KEY查用户连接表,用查到的A8 GRE KEY替换A10的GRE KEY,同时从用户连接表中获得A8链路建立的标志,检查A8链路是否建立,。
步骤315,如果A8链路建立了,根据用户连接表表项下标索引缓存状态表,检查数据是否需要缓存。如果不需要缓存,取出用户连接表中BSC的IP地址查路由表、ARP表,做IP封装和以太网封装后送给微引擎发送模块;如果需要缓存,则缓存A10数据(在此过程中,如果查路由表失败则丢弃该报文,如果查ARP表失败则通知HOST中的协议栈进程);
步骤315,如果A8链路未建立,则在缓存状态表中标识一个缓存,缓存A10数据,同时通知HOST中信令进程建立A8链路。如果A8建立失败,则信令进程通知微引擎清空缓存的A10数据。
步骤317,缓存检测模块循环检测缓存状态表,检查是否有缓存的A10数据,如果有,则根据A10 GRE KEY查用户连接表,获得A8建立的标志。
步骤317中,如果A8链路建立了,取出用户连接表中BSC的IP地址查路由表、ARP表,做IP封装和以太网封装后送给微引擎发送模块(在此过程中,如果查路由表失败则丢弃该报文,如果查ARP表失败则通知HOST中的协议栈进程);若A8链路未建立,继续检测。
步骤307中,IP重组模块检查是否有需要重组的报文,如果有,进行IP分片的重组,重组失败则丢弃IP分片报文,重组成功后再转到步骤309。
步骤316中,微引擎发送模块检测是否有报文发送,如果有,则把报文发送给BSC或PDSN,如果没有则继续检测。
以上所述仅为本发明的一个具体实施例,不能以此拘限本发明的实施范围,凡运用本发明说明书及图式内容所作的等效变化和修饰,均包含于本发明的范围内。
Claims (8)
1、一种用网络处理器实现分组控制功能的方法,其特征在于,利用网络处理器的并行处理能力,将协议报文、信令报文和数据报文进行分开处理,包括:
通过网络处理器中的微引擎承担报文的接收和发送、协议报文和信令报文同数据报文的分离、数据报文的业务处理,以及将业务处理后的数据报文做缓存或转发处理;
通过网络处理器中的核心部分或挂接在网络处理器上的子卡承担协议报文和信令报文的处理。
2、根据权利要求1所述的方法,其特征在于,当通过网络处理器中的核心部分承担协议报文和信令报文的处理时,网络处理器中的微引擎将协议报文和信令报文发送给所述核心部分,所述核心部分承担协议报文和信令报文的处理、表同步、版本下载及微引擎启动。
3、根据权利要求1所述的方法,其特征在于,当通过挂接在网络处理器上的子卡承担协议报文和信令报文的处理时,所述子卡是通过在网络处理器的PCI总线上挂接一个通用处理器CPU来实现,由所述通用处理器CPU完成协议报文和信令报文的处理,由网络处理器的核心部分完成微引擎与核心部分、核心部分与通用处理器CPU之间的通信。
4、根据权利要求1或2所述的方法,其特征在于,进一步包括如下步骤:
步骤一,微引擎接收并分析报文,分离出协议报文发送给核心部分处理并将异常报文丢弃;
步骤二,微引擎分离出信令报文发送给核心部分处理,并且微引擎对数据报文进行业务处理;
步骤三,微引擎发送数据报文。
5、根据权利要求4所述的方法,其特征在于,所述步骤一进一步包括如下步骤:
步骤A,由核心部分启动微引擎;
步骤B,微引擎的接收模块从基站控制器BSC或分组数据服务节点PDSN接收报文;
步骤C,微引擎进行报文分析,对于异常的报文直接丢弃;
步骤D,判断报文是否为IP协议报文,是则执行步骤F,否则执行步骤E;
步骤E,将协议报文发送给所述核心部分来处理;
步骤F,进行IP头校验,如果IP头校验失败则丢弃该报文,返回步骤B;否则检查IP地址,如果IP地址是组播或广播地址,将该报文发送给核心部分处理,如果是单播地址则执行步骤G;
步骤G,检查IP头中分片标识字段,如果报文为IP分片报文,则对报文进行IP重组后执行步骤二,否则直接执行步骤二。
6、根据权利要求5所述的方法,其特征在于,所述步骤二进一步包括如下步骤:
步骤a,根据报文的目的IP地址和IP头中的协议类型区分出A8数据报文、A9信令报文、A10数据报文和A11信令报文;
步骤b,微引擎对A8数据报文和A10数据报文进行业务处理,并将A9信令报文和A11信令报文发送给核心部分处理;
步骤c,将A8数据报文和A10数据报文发送给微引擎中的微引擎发送模块。
7、根据权利要求6所述的方法,其特征在于,所述步骤b进一步包括判断A10数据报文是否需要缓存的步骤,是则将A10数据报文进行缓存,否则直接执行步骤c。
8、根据权利要求6所述的方法,其特征在于,所述步骤三中进一步包括由所述微引擎发送模块检测是否有报文发送,如果有,则把报文发送给基站控制器BSC或分组数据服务节点PDSN,如果没有则继续检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100464642A CN1328890C (zh) | 2004-02-10 | 2004-06-09 | 一种用网络处理器实现分组控制功能的方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200410003401.9 | 2004-02-10 | ||
CN200410003401 | 2004-02-10 | ||
CNB2004100464642A CN1328890C (zh) | 2004-02-10 | 2004-06-09 | 一种用网络处理器实现分组控制功能的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1558626A CN1558626A (zh) | 2004-12-29 |
CN1328890C true CN1328890C (zh) | 2007-07-25 |
Family
ID=34378869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100464642A Expired - Fee Related CN1328890C (zh) | 2004-02-10 | 2004-06-09 | 一种用网络处理器实现分组控制功能的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1328890C (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100442768C (zh) * | 2005-08-05 | 2008-12-10 | 华为技术有限公司 | 一种在网络处理器中加载指令代码的方法和路由设备 |
CN100428738C (zh) * | 2005-09-21 | 2008-10-22 | 华为技术有限公司 | 无连接的分组交换通信系统 |
CN100365575C (zh) * | 2006-03-18 | 2008-01-30 | 华为技术有限公司 | 一种实现网络处理器动态加载微码的方法及网络设备 |
CN101136792B (zh) * | 2006-12-20 | 2011-01-05 | 中兴通讯股份有限公司 | 一种基于网络处理器的通讯协议监测系统及方法 |
CN101778015A (zh) * | 2010-01-07 | 2010-07-14 | 中兴通讯股份有限公司 | 一种微码测试方法和装置 |
CN102625473A (zh) * | 2012-02-22 | 2012-08-01 | 中兴通讯股份有限公司 | 一种防止数据业务建立失败的方法及装置 |
CN107438035B (zh) * | 2016-05-25 | 2021-11-12 | 中兴通讯股份有限公司 | 一种网络处理器、网络处理方法和系统、单板 |
CN108259298B (zh) * | 2017-05-31 | 2020-12-29 | 新华三技术有限公司 | 一种报文转发方法及装置 |
CN108833299B (zh) * | 2017-12-27 | 2021-12-28 | 北京时代民芯科技有限公司 | 一种基于可重构交换芯片架构的大规模网络数据处理方法 |
CN108809854B (zh) * | 2017-12-27 | 2021-09-21 | 北京时代民芯科技有限公司 | 一种用于大流量网络处理的可重构芯片架构 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6065039A (en) * | 1996-11-14 | 2000-05-16 | Mitsubishi Electric Information Technology Center America, Inc. (Ita) | Dynamic synchronous collaboration framework for mobile agents |
US6233601B1 (en) * | 1996-11-14 | 2001-05-15 | Mitsubishi Electric Research Laboratories, Inc. | Itinerary based agent mobility including mobility of executable code |
-
2004
- 2004-06-09 CN CNB2004100464642A patent/CN1328890C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6065039A (en) * | 1996-11-14 | 2000-05-16 | Mitsubishi Electric Information Technology Center America, Inc. (Ita) | Dynamic synchronous collaboration framework for mobile agents |
US6233601B1 (en) * | 1996-11-14 | 2001-05-15 | Mitsubishi Electric Research Laboratories, Inc. | Itinerary based agent mobility including mobility of executable code |
Also Published As
Publication number | Publication date |
---|---|
CN1558626A (zh) | 2004-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2141934B1 (en) | PROCESSING METHOD AND APPARATUS FOR Iu INTERFACE PARALLEL MULTIMEDIA BROADCAST MULTICAST SERVICE SESSION START-UP | |
CN101222419B (zh) | 数据通信方法及系统、数据发送/接收装置 | |
CN1328890C (zh) | 一种用网络处理器实现分组控制功能的方法 | |
US7885670B2 (en) | Method and system for communication of a dual-mode terminal | |
CN100553199C (zh) | 基于pcie交换网的组播实现方法、系统及设备 | |
CN201039398Y (zh) | 将3gpp服务原语映射至媒介独立切换事件服务的设备 | |
US20040009773A1 (en) | Mobile communication system and operation control method thereof | |
JP2007221797A (ja) | 移動通信システムのmbmsサービスのためのpdcp構造及び動作方法 | |
WO2013067811A1 (zh) | 一种无线数据传输方法、装置和系统 | |
WO2013016862A1 (en) | Small downlink data transmissions | |
WO2007062548A1 (fr) | Procede de radiomessagerie et d'acces ulterieur apres l'etablissement d'appel de groupe | |
WO2010017728A1 (zh) | 业务数据同步发送的恢复处理方法和装置 | |
CN107787042A (zh) | 网络寻呼响应方法、装置及移动终端 | |
CN106856595A (zh) | 基于B-TrunC组呼的IP组播广播业务传输方法 | |
CN110225557A (zh) | 一种基于物联网的通信方法及装置 | |
EP2442522B1 (en) | Synchronization processing method for multimedia broadcast multicast service, upper layer network element, and lower layer network element thereof | |
CN101945342A (zh) | 用户端设备及其无线组播转单播业务的实现方法 | |
CN103686936A (zh) | 分组交换业务的接入方法和演进基站 | |
CN101217786A (zh) | 一种基带资源共享方法、通信系统及设备 | |
CN102710743A (zh) | 手持终端apn自适应的无线接入方法 | |
CN108307322A (zh) | 一种处理同网络侧建立连接与多播接收优先级的方法及装置 | |
CN100499696C (zh) | 一种信令与业务分离架构下内外部同抢的解决方法 | |
CN100382545C (zh) | 实现双模终端同时接收双网消息的系统及方法 | |
CN101427527B (zh) | 一种终端无线承载资源管理方法 | |
CN104065661B (zh) | 一种降低移动互联网ott业务网络资源消耗的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070725 Termination date: 20140609 |
|
EXPY | Termination of patent right or utility model |