一种短包数据的接入方法.pdf

上传人:54 文档编号:687406 上传时间:2018-03-05 格式:PDF 页数:14 大小:680.62KB
返回 下载 相关 举报
摘要
申请专利号:

CN200410033848.0

申请日:

2004.04.19

公开号:

CN1564550A

公开日:

2005.01.12

当前法律状态:

终止

有效性:

无权

法律详情:

未缴年费专利权终止IPC(主分类):H04L 12/56申请日:20040419授权公告日:20070321终止日期:20140419|||授权|||实质审查的生效|||公开

IPC分类号:

H04L12/56; H04L12/28

主分类号:

H04L12/56; H04L12/28

申请人:

中兴通讯股份有限公司;

发明人:

张修勇; 冯刚; 郭树波; 陈艳军

地址:

518057广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦A座6层

优先权:

专利代理机构:

北京安信方达知识产权代理有限公司

代理人:

颜涛;龙洪

PDF下载: PDF下载
内容摘要

本发明公开一种短包数据的接入方法,采用网络处理器和ATM接入,在接收方向,FPGA对到达主备光口的短包数据进行总线转换,完成CRC校验功能,将备用光口数据合入主光口并在短包数据上打上光口号标签,网络处理器只针对主用光口进行扫描接收,之后根据数据的光口号区分主备用光口数据,进行数据分离,然后进行相应的接收处理。在发送方向,将包长小于48字节的短包数据描述符加入发送队列,解析得到发送的逻辑光口号,映射得出相应的物理发送端口,在发送过程中指定真正的物理光口,完成实际的发送功能。本发明方法利用较少的网络处理器资源实现短包数据的高速接入,具备很好的性价比,同时降低了协议实现的复杂性和工程成本。

权利要求书

1、一种短包数据的接入方法,采用ATM接入,包括接收数据和发送数
据的处理流程,其特征在于:所述接收数据的处理流程包括以下步骤:
(a)将到达备用光口的短包数据并入主用光口,并在所有的短包数据
上打上光口号标签,再发送给网络处理器;
(b)网络处理器检测主用端口的查询信号,判断端口是否有短包数据,
如果有,执行下一步,否则继续检测;
(c)发送数据接收请求字,接收短包数据;
(d)提取数据包的端口号并进行端口剥离和有效性校验,校验成功,
执行下一步,否则丢弃该数据包;
(e)发送接收指令,将短包数据从接收FIFO中存储到内存中,并构造
短包数据的描述符,写入接收队列。
2、如权利要求1所述的短包数据的接入方法,其特征在于,所述发送
数据的处理流程包括以下步骤:
(o)从发送队列获取待发送的包长小于48字节的短包数据的描述符;
(p)提取并判断包发送端口和数据包长度是否有效,如果是,执行下
一步,否则丢弃;
(q)选择发送FIFO,进行端口仲裁并构造发送控制字,在发送端口准
备就绪后,进行数据发送。
3、如权利要求1所述的短包数据的接入方法,其特征在于,所述步骤
(a)之前,还包括步骤:进行CRC校验,得到检验结果;同时,在所述步
骤(e)之前,还包括步骤:所述网络处理器对得到的检验结果进行解析,
对于通过校验的短包数据再执行步骤(c),否则丢弃。
4、如权利要求1所述的短包数据的接入方法,其特征在于,所述步骤
(a)之前,还包括步骤:对到达主备光口的短包数据进行总线转换。
5、如权利要求1、2、3或4所述的短包数据的接入方法,其特征在于,
所述步骤(b)之前由可编程门阵列对短包数据进行处理。
6、如权利要求2所述的短包数据的接入方法,其特征在于,所述步骤
(q)之后,还包括步骤:根据所述描述符中的报文长度,进行CRC校验添
加并发送。
7、如权利要求1或2所述的短包数据的接入方法,其特征在于,所述
短包数据的描述符中,包含了数据包在内存中存放的缓冲区基地址,数据包
有效字节在内存缓冲区中的偏移量,数据包的逻辑接收端口或逻辑发送端
口,数据包的长度等字段。
8、如权利要求1或2所述的短包数据的接入方法,其特征在于,所述
短包数据的描述符中还包含了用于扩展使用的保留字段。
9、如权利要求7所述的短包数据的接入方法,其特征在于,所述步骤
(q)中进行端口仲裁时,通过对数据描述符的分析得到短包数据发送的逻
辑光口号,通过映射得出相应的物理发送端口,再在发送过程中指定真正的
物理光口。

说明书

一种短包数据的接入方法

技术领域

本发明涉及一种利用网络处理器实现数据的高速接入方法,尤其涉及移
动通信领域对短包数据的ATM高速接入。

背景技术

对于数据接入技术而言,可以从两个方面考虑其性能和功能的实现情
况,一是目前接入处理器的接入处理能力,二是数据链路的接入性能。

从接入处理器方面考虑,主处理器是否具有高速的处理能力也是真正实
现数据高速处理的一个关键。目前主要有通用处理器和网络处理器两种,两
者所实现的功能不同,性能也差异较大。计算机网络常采用高性能的服务器
来解决大流量的数据处理,然而研究表明,对于PIV2.0G的双CPU高性能
服务器,由于其读写内存性能的瓶颈,网络处理性能也只有400Mbps左右。
在通讯领域,目前多采用网络处理器实现数据的高速接入,这种网络数据专
用的处理器最大可以达到G比特的处理能力,可以满足目前的数据高速接入
需求。

然而,在实际应用中网络处理器需要做大量的业务处理,而出于成本的
考虑,网络处理器的性能可能会受到限制,以英特尔IXP1200网络处理器为
例,一共有6个微引擎,其中4个需用于数据接入后的后期处理,只能为数
据的接收和发送处理提供2个微引擎,同时要针对两组主备光口即4个光口
进行接收发送。实验证明,现有的接入处理方法均无法达到设计的总流量为
310Mbps的要求。

从数据链路的接入方式看,目前计算机及通讯领域常见的接入方式有以
太网接入、E1接入、ATM(Asynchronous Transfer Mode)接入等等。这些
接入方式的底层物理实现形式、性能以及实现的复杂性各有不同。

以太网接入实现简单,也最为常见,是目前数据接入的主要方式之一,
然而,这种数据接入方式适应长包数据的接入,对于短包数据,其带宽的浪
费以及传输的性能均无法达到要求,尤其是当数据长度小于64字节时表现
尤为明显。测试表明,当数据包长度为64字节时,设计带宽为百兆性能的
接口测试带宽只有60兆左右,而当数据报文中承载的为语音数据时,64字
节报文中有大量的以太网开销字节被浪费掉了。E1接入方式是目前基站语音
数据接入基站控制器的主要接入方式,但由于其固有带宽的限制,使其无法
实现数据的高速接入。ATM接入方式底层采用光纤传输,提供了短包数据
的高速接入方式,但是协议实现较为复杂,在适配层上需要完成分段/重组、
消息识别、顺序错误检测等功能,极大地提高了工程的复杂性、开发周期以
及开发费。

发明内容

本发明要解决的技术问题是提供一种短包数据的接入方法,可以充分
利用网络处理器有限的资源,实现短包数据的高速接入。

为了解决上述技术问题,本发明提供了一种短包数据的接入方法,采用
ATM接入,包括接收数据和发送数据的处理流程,其特征在于:所述接收
数据的处理流程包括以下步骤:

(a)将到达备用光口的短包数据并入主用光口,并在所有的短包数据
上打上光口号标签,再发送给网络处理器;

(b)网络处理器检测主用端口的查询信号,判断端口是否有短包数据,
如果有,执行下一步,否则继续检测;

(c)发送数据接收请求字,接收短包数据;

(d)提取数据包的端口号并进行端口剥离和有效性校验,校验成功,
执行下一步,否则丢弃该数据包;

(e)发送接收指令,将短包数据从接收FIFO中存储到内存中,并构造
短包数据的描述符,写入接收队列。

采用本发明方法后,使得网络处理器微引擎的接收线程在检测端口时只
看到主用端口,而不是实际支持的主备用端口,可以大大地减小线程查询总
线失败的次数,从而提高了性能。

进一步地,可采用以下发送数据的处理流程:

(o)从发送队列获取待发送的包长小于48字节的短包数据的描述符;

(p)提取并判断包发送端口和数据包长度是否有效,如果是,执行下
一步,否则丢弃;

(q)选择发送FIFO,进行端口仲裁并构造发送控制字,在发送端口准
备就绪后,进行数据发送。

上述方法还可加入CRC校验,即所述步骤(a)之前,还包括步骤:进
行CRC校验,得到检验结果;同时,在所述步骤(e)之前,还包括步骤:
所述网络处理器对得到的检验结果进行解析,对于通过校验的短包数据再执
行步骤(c),否则丢弃。

上述方法还可具有以下特点:所述步骤(a)之前,还包括步骤:对到
达主备光口的短包数据进行总线转换。

上述方法还可具有以下特点:所述步骤(b)之前由可编程门阵列对短
包数据进行处理。

上述方法还可具有以下特点:所述步骤(q)之后,还包括步骤:根据
所述描述符中的报文长度,进行CRC校验添加并发送。

上述方法还可具有以下特点:所述短包数据的描述符中,包含了数据包
在内存中存放的缓冲区基地址,数据包有效字节在内存缓冲区中的偏移量,
数据包的逻辑接收端口或逻辑发送端口,数据包的长度等字段。

上述方法还可具有以下特点:所述短包数据的描述符中还包含了用于扩
展使用的保留字段。

上述方法还可具有以下特点:所述步骤(q)中进行端口仲裁时,通过
对数据描述符的分析得到短包数据发送的逻辑光口号,通过映射得出相应的
物理发送端口,再在发送过程中指定真正的物理光口。和通常采用的通过调
度轮循发送端口数据的形式相比,节约了调度线程。

由上可知,本发明采用了网络处理器,通过主备逻辑端口合并技术,可
利用较少的网络处理器资源实现短包数据的高速接入,同时保证数据接入的
后续处理能力,具备很好的性价比。而采用无适配层的ATM接入方式,极
大地节省了带宽,降低了协议实现的复杂性和工程成本。因此,本发明为短
包数据接入提供了一种可靠、简单的高性能接入方法。特别适用于语音数据
的接入。

附图说明

图1是本发明实施例系统功能模块的结构示意图。

图2是本发明实施例方法短包数据的内存存储的描述符。

图3是本发明实施例接收短包数据的处理流程图。

图4是本发明实施例发送短包数据的处理流程图。

具体实施方式

本实施例的短包数据是指包长小于48个字节的数据包,由于规定数据
(由用户自定义)长度小于48字节,因而可以承载在一个ATM信元上面,
没有必要进行分片重组、顺序错误检测等适配功能。因此,本实施例针对特
殊的应用环境,采用了无适配层(即AAL0方式)的ATM接入方式,可以
节约额外的开销,节省了带宽,而且降低了协议实现的复杂性和工程成本。

如图1所示,网络处理器加FPGA(Field Programmable Gate Array,可
编程门阵列)10和STM物理芯片20是完成本发明实施例短包数据高速接入
方法的硬件基础。本实施例的STM物理芯片20采用CX29704芯片,用来
实现数据物理层和数据链路层的功能,但也可以采用任何一款支持ATM标
准的物理芯片。网络处理器采用前述的英特尔IXP1200网络处理器,利用其
特有的IXBUS总线和发送接收机制完成短包数据的接入及包头后净荷的业
务处理,同时协助完成CRC校验功能。而FPGA主要用于实现UTOPIA总
线和IXBUS总线的转换,16位CRC的生成和部分CRC校验,以及将备用
光口数据合入主光口并加上光口号标签以区分光口数据通道等功能。从发送
和接收两个方向的功能看,网络处理器加FPGA10可进一步地分为下述的功
能模块:

短包数据发送队列11,用于接收网络处理器内部业务处理模块完成数据
处理之后,写入的待发送短包数据的描述符;

ATM发送模块12,用于从短包数据发送队列中提取短包数据描述符,
分析数据属性,选择发送FIFO(First In First Out,先进先出队列)元素空间,
进行端口仲裁,构造发送状态字并发送;

发送CRC生成模块13,用于读取短包数据描述符中设置的报文长度,
生成CRC校验字段,本实施例是利用FPGA逻辑来完成的;

数据合并模块14,用于对到达主备光口的短包数据进行总线转换,将备
用光口数据合入主用光口,并在所有短包数据上打上光口号标签,本实施例
是用FPGA逻辑实现的;

接收CRC校验模块15,用于完成接收短包数据(即ATM信元)的CRC
校验功能,本实施例中,该校验功能是由FPGA和网络处理联合实现,FPGA
生成校验结果,由网络处理器进行校验结果的判别和相应的功能操作;

ATM接收模块16,用于完成ATM信元的接收功能,包括端口检测,
端口分离,数据缓冲申请,数据接收和存储以及数据描述等功能,最终将短
包数据描述符放入短包数据接收队列;

短包数据接收队列17,ATM接收模块在完成数据的接收之后,构造相
应的数据描述符,写入此接收队列,由业务处理模块读出并处理,在应用层
面,用户可以根据自身的需求解析承载的数据,甚至采用其它的协议。

上述短包数据发送和接收队列中的短包数据描述符是用于描述短包数
据在内存中的位置和数据包的属性,其具体的构造如图2所示,每个描述符
占用内存连续16个字节空间,由4个字节的描述符基地址、1个字节的端口
号、1个字节的偏移量、两个字节的长度及8个字节的保留字段。其中,描
述符基地址是数据包在内存中存放的缓冲区基地址;偏移量是数据包有效字
节在内存缓冲区中的偏移量,端口号对于接收方向是数据包的接收端口,对
于发送方向是数据包的发送端口,均为逻辑端口;长度字段存放数据包的长
度,可用于生成CRC校验字段;保留字段将来可以用来作为完善功能的扩
展使用,如作为服务质量(Quality of Service,Qos)字段等。

基于以上系统,本发明实施例短包数据的接收流程(不包括链路层和物
理层的处理过程)如图3所示,包括以下步骤:

步骤301,FPGA对到达主备光口的短包数据进行总线转换;

步骤302,进行CRC校验,得到校验结果,同时将备用光口数据合入主
光口,并在所有的短包数据上打上光口号标签,发送给网络处理器;

步骤303,网络处理器检测两个主用端口(对应于两个主用光口)的查
询信号,即进行IXP1200的IXBUS总线端口READY信号检测,当总线上
有数据包文时,READY信号将会置相应的READY位通知IXP1200的微引
擎线程;

步骤304,判断端口是否有数据报文,如果有,执行下一步,否则返回
步骤303,微引擎继续检测总线;

步骤305,发送数据接收请求字,请求字信息包含接收FIFO、接收线程
等信息供IXP1200接收状态机接收数据使用;

步骤306,接收数据报文,即在发送接收请求后,等待数据到达接收FIFO
中;

步骤307,提取端口号并判断是否有效,由于本实施例接收请求的处理
过程只轮循检测两个端口,因此这里要进行端口的剥离和端口有效性验证,
如果端口号是否有效,执行下一步,对于端口号错误的数据报文直接丢弃并
返回步骤303,重新开始报文接收;

步骤308,对数据报文CRC校验结果进行解析,如果校验通过,执行下
一步,否则丢弃报文,返回步骤303;本实施例针对接收FIFO采用在有效
数据后附加两个接收状态字节的方式来获取CRC校验结果;

步骤309,对于通过校验的短包数据,发送接收指令,将数据包从接收
FIFO中存储到内存中;

步骤310,构造短包数据的数据描述符,并将其写入接收队列,描述符
采用图2的形式。

上述流程特别值得注意的是,由于本实施例利用FPGA作了将备用光口
数据合入主光口的特殊处理,使得网络处理器微引擎的接收线程在检测端口
时只看到两个端口,而不是实际支持的四个端口,这种实现方式可以大大地
减小线程查询总线失败的次数,从而提高了性能。试验表明,对于四个光口,
这种实现方式可以很好的达到任意一对主备光口设计总流量155Mbps的要
求,而目前已有的其他方式均无法实现。

本发明实施例短包数据的发送流程如图4所示,包括以下步骤:

步骤401,从短包数据发送队列获取待发送的数据包的描述符,此队列
可以是接收模块的接口队列,也可以是任意模块的接口队列;

步骤402,提取包发送端口和数据包长度,由于任意一对主备光口共用
相同的发送队列,因此必须在发送前确认数据包的实际端口号,同时对数据
包的长度作必要的检查;

步骤403,判断包长度及端口号是否有效,如果是,执行下一步,否则
检测失败,丢弃相应的数据报文,返回步骤401;

步骤404,选择发送FIFO,进行端口仲裁并构造发送控制字。在发送方
向,对于发送FIFO的分配按照两个光口来分配;在ATM发送方向,网络处
理器在对数据描述符分析过程中得到短包数据发送的逻辑光口号,通过映射
得出相应的物理发送端口,在发送过程中指定真正的物理光口,而不是目前
通常设计采用的通过调度轮循发送端口数据的形式,节约了调度线程,提高
了发送性能;对于发送控制字,由于每个短包数据小于64字节,采用IXP1200
处理器发送状态机制时就是一个完整的数据包,因此同时是SOP(Start of
Packet)和EOP(End of Packet)报文;

步骤405,判断发送端口是否准备就绪,如果端口没有准备就绪,则循
环等待,否则执行下一步;

步骤406,置发送有效位,微引擎线程进行数据发送;

步骤407,FPGA根据描述符中的报文长度,进行CRC校验添加并发送。

可以看出,上述实施例在ATM接收方向,到达主备光口的短包数据(总
流量最多为155MBps)在经过FPGA逻辑进行总线转换之后,FPGA逻辑将
同时完成CRC校验功能和备用光口数据合入主光口的功能,并在所有的短
包数据上打上光口号标签发送给IXP1200网络处理器。网络处理器在接收到
数据时,基于性能的要求,只是针对主用光口进行扫描接收,之后根据数据
的光口号区分主备用光口数据进行数据分离,然后进行相应的接收处理。

这种处理方式可以使用较少的微引擎来支持接入处理,实现短包数据高
速接入,从而为业务处理提供了更多空闲的微引擎。就IXP1200网络处理器
而言,用两个微引擎用于接入处理,采用上述方法可以提供两个光口共
310Mbps流量的性能,支持四个主备光口同时工作时,在四个端口均有数据
到达且任意两个主备端口流量为155Mbps的设计要求下,可以达到任意两个
主备端口流量为210Mbps的流量,达到了非常好的性能指标,资源利用率很
高,是一种高性价比的处理方法。

在上述实施例的基础上,本发明还可以有各种变换,例如,可以选择支
持或不支持CRC校验处理,只需在接收和发送流程中通过宏编译开关来选
择。适配层的形式也不一定局限在AAL0。另外,FPGA的功能也可以用其
它的逻辑处理单元来代理。

一种短包数据的接入方法.pdf_第1页
第1页 / 共14页
一种短包数据的接入方法.pdf_第2页
第2页 / 共14页
一种短包数据的接入方法.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《一种短包数据的接入方法.pdf》由会员分享,可在线阅读,更多相关《一种短包数据的接入方法.pdf(14页珍藏版)》请在专利查询网上搜索。

本发明公开一种短包数据的接入方法,采用网络处理器和ATM接入,在接收方向,FPGA对到达主备光口的短包数据进行总线转换,完成CRC校验功能,将备用光口数据合入主光口并在短包数据上打上光口号标签,网络处理器只针对主用光口进行扫描接收,之后根据数据的光口号区分主备用光口数据,进行数据分离,然后进行相应的接收处理。在发送方向,将包长小于48字节的短包数据描述符加入发送队列,解析得到发送的逻辑光口号,映射。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1