包处理方法及装置制造方法

文档序号:7999481阅读:159来源:国知局
包处理方法及装置制造方法
【专利摘要】本发明公开了一种包处理方法及装置。其中,该包处理方法包括:通过与多条链路中的第一链路对应的第一端口接收来自第一链路的包数据;使用多个包处理方式中与第一端口对应的第一包处理方式对包数据进行包处理,其中,多个包处理方式的数目与多条链路的数目是相同的。通过本发明,达到了节省报文查找、匹配的时间,提高网络处理器的包处理效率的效果。
【专利说明】
包处理方法及装置

【技术领域】
[0001]本发明涉及通信领域,具体而言,涉及一种包处理方法及装置。

【背景技术】
[0002]随着网络系统的高速发展,网络系统的中间设备先后经历了通用处理器、专用集成电路(Applicat1n Specific Integrated Circuit,简称为ASIC)芯片,通用网络处理器的发展阶段。由于网络处理器具有成本低和可编程的灵活性特点,得到越来越广泛的应用。
[0003]网络处理器如果仅具有上述两个优点是不够的,还得具有超出常规ASIC芯片的高性能。例如,网络处理器的作用主要是以软件方式控制包的处理过程,因此,除了硬件本身的设计外,一个好的软件设计,也可以提高网络处理器的包处理性能。
[0004]图1是根据相关技术的网络处理器的包处理方法流程图,在该包处理流程中,主要包括以下几个步骤:(I)进入到物理链路模块中的所有物理链路/通道中的合法报文,通过唯一的端口(port)进入报文查找匹配识别模块;(2)报文查找匹配识别模块根据控制软件的配置已经预先准备好了业务或者通道对应的表项,报文查找匹配识别模块中的搜索引擎或者HASH引擎根据进入的合法报文的特征,对内部表项一一查找、匹配,并将匹配出来的合法报文发送给包处理模块;(3)包处理模块使用与表项相关联的包处理方法对包进行处理。这种软件设计方式中需要对报文进行大量的查找、匹配工作,因此导致网络处理器的包处理能力比较低。可以看出,目前的网络处理器的软件设计性能方面无法满足在包处理方面的高性能要求,导致其包处理能力比较低。
[0005]针对相关技术中网络处理器的包处理能力比较低的问题,目前尚未提出有效的解决方案。


【发明内容】

[0006]本发明提供了一种包处理方法及装置,以至少解决上述问题。
[0007]根据本发明的一个方面,提供了一种包处理方法,包括:通过与多条链路中的第一链路对应的第一端口接收来自第一链路的包数据;使用多个包处理方式中与第一端口对应的第一包处理方式对包数据进行包处理,其中,多个包处理方式的数目与多条链路的数目是相同的。
[0008]优选地,第一链路的类型包括:物理链路或物理通道。
[0009]优选地,当第一链路的类型为物理链路时,多条链路中除第一链路之外的其它链路的类型为物理链路,其中,其它链路包括:第二链路;当第一链路的类型为物理通道时,多条链路中除第一链路之外的其它链路的类型为物理通道,其中,其它链路包括:第二链路。
[0010]优选地,多条链路中的第二链路与预先设置的多个端口中的第二端口是对应的,其中,多个端口包括:第一端口和第二端口,第二端口与第一端口是不相同的。
[0011 ] 优选地,第二端口与多个包处理方式中的第二包处理方式是对应的。
[0012]优选地,包数据包括:合法报文。
[0013]根据本发明的另一方面,提供了一种包处理装置,包括:接收模块,用于通过与多条链路中的第一链路对应的第一端口接收来自第一链路的包数据;处理模块,用于使用多个包处理方式中与第一端口匹配的第一包处理方式对包数据进行包处理,其中,多个包处理方式的数目与多条链路的数目是相同的。
[0014]优选地,第一链路的类型包括:物理链路或物理通道。
[0015]优选地,当第一链路的类型为物理链路时,多条链路中除第一链路之外的其它链路的类型为物理链路,其中,其它链路包括:第二链路;当第一链路的类型为物理通道时,多条链路中除第一链路之外的其它链路的类型为物理通道,其中,其它链路包括:第二链路。
[0016]优选地,多条链路中的第二链路与预先设置的多个端口中的第二端口是对应的,其中,多个端口包括:第一端口和第二端口,第二端口与第一端口是不相同的。
[0017]优选地,第二端口与多个包处理方式中的第二包处理方式是对应的。
[0018]优选地,包数据包括:合法报文。
[0019]通过本发明,采用预先为每条物理链路或物理通道设置一个具有对应关系的端口后,对于通过该端口后的报文可以直接使用与该端口对应的包处理方式对合法报文进行包处理操作的方式,解决了相关技术中网络处理器的包处理能力比较低的问题,进而达到了节省报文查找、匹配的时间,提高网络处理器的包处理效率的效果。

【专利附图】

【附图说明】
[0020]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0021]图1是根据相关技术的网络处理器的包处理方法的过程示意图;
[0022]图2是根据本发明实施例的包处理方法流程图;
[0023]图3是根据本发明实施例的包处理装置的结构框图;
[0024]图4是根据本发明优选实施例的包处理方法的过程示意图;
[0025]图5是根据本发明优选实施例的包处理装置中各个模块间的控制关系示意图。

【具体实施方式】
[0026]下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0027]本实施例提供了一种包处理方法。图2是根据本发明实施例的包处理方法流程图,如图2所示,该方法主要包括以下步骤(步骤S202-步骤S204):
[0028]步骤S202,通过与多条链路中的第一链路对应的第一端口接收来自第一链路的包数据;
[0029]步骤S204,使用多个包处理方式中与第一端口对应的第一包处理方式对包数据进行包处理,其中,多个包处理方式的数目与多条链路的数目是相同的。
[0030]通过上述两个步骤,对于通过预先为物理链路或物理通道设置的端口后的报文,可以直接使用与该端口对应的包处理方式对合法报文进行包处理操作。
[0031]在本实施例中,第一链路的类型可以包括:物理链路或物理通道。上述多条链路可以都是物理链路,也可以都是物理通道,当然在实际应用中,在多条链路中,一部分链路采用物理链路,一部分链路采用物理通道也是可行的。在本实施例中,(I)当第一链路的类型为物理链路时,多条链路中除第一链路之外的其它链路的类型为物理链路,其中,其它链路包括:第二链路;(2)当第一链路的类型为物理通道时,多条链路中除第一链路之外的其它链路的类型为物理通道,其中,其它链路包括:第二链路。
[0032]在本实施例中,多条链路中的第二链路与预先设置的多个端口中的第二端口是对应的,其中,多个端口可以包括:第一端口和第二端口,第二端口与第一端口是不相同的。优选地,第二端口与多个包处理方式中的第二包处理方式是对应的。
[0033]在本实施例中,包数据可以包括:合法报文。在实际应用中,对于一个物理链路或物理通道而言,其在接收到所有的报文时,会将非法报文丢弃掉,只传输合法报文。这使得到的与该物理链路或物理通道对应的端口的报文均是合法报文。
[0034]当对应于每个物理链路或物理通道的端口接收到合法报文时,其不用再像现有包处理方式一样对需要采用的包处理方式与合法报文进行查找匹配,这是因为在设置端口时,已经在端口和包处理方式之间建立了对应关系,这样,可以直接采用相应的包处理方式对被端口传输后的合法报文进行包处理操作,省去了查找匹配流程,提高了包处理的效率。
[0035]本实施例提供了一种包处理装置。图3是根据本发明实施例的包处理装置的结构框图,该装置用于实现上述实施例提供的包处理方法,如图3所示,该装置包括:接收模块10和处理模块20。其中,接收模块10,用于通过与多条链路中的第一链路对应的第一端口接收来自第一链路的包数据;处理模块20,连接至接收模块10,用于使用多个包处理方式中与第一端口匹配的第一包处理方式对包数据进行包处理,其中,多个包处理方式的数目与多条链路的数目是相同的。
[0036]在本实施例中,第一链路的类型可以包括:物理链路或物理通道。优选地,当第一链路的类型为物理链路时,多条链路中除第一链路之外的其它链路的类型为物理链路,其中,其它链路包括:第二链路;当第一链路的类型为物理通道时,多条链路中除第一链路之外的其它链路的类型为物理通道,其中,其它链路包括:第二链路。当然在实际应用中,在多条链路中,一部分链路采用物理链路,一部分链路采用物理通道也是可行的。
[0037]在本实施例提供的包处理装置中,多条链路中的第二链路与预先设置的多个端口中的第二端口是对应的,其中,多个端口包括:第一端口和第二端口,第二端口与第一端口是不相同的。其中,第二端口与多个包处理方式中的第二包处理方式是对应的。
[0038]优选地,包数据可以包括:合法报文。
[0039]下面结合图4和图5以及优选实施例对上述实施例提供的包处理方法进行更详细的说明。
[0040]在以下优选实施例中,将以四个功能模块为基础对整个包处理流程进行描述。
[0041]首先,对以下用的四个功能模块的功能进行适当说明:
[0042]控制软件模块,负责通过控制软件的方式控制包处理的过程,该模块内置的软件中集成有:物理链路的设置、报文查找匹配识别硬件表项的设置,以及包处理过程和流程的设置等。
[0043]物理链路模块,该模块包括:物理层(Physical Layer,简称为PHY)片、现场可编程门阵列(Field — Programmable Gate Array,简称为 FPGA),或者 UFE3 等。
[0044]报文查找匹配模块,该模块中主要包含有网络处理器内部的一些硬件表项,和搜索、散列算法(Hash Funct1n,简称为HASH)引擎等。
[0045]包处理模块,该模块中主要包含有网络处理器内部的一些软件资源,例如:缓冲区,队列等,主要用来对包进行修改,增加,删除操作。
[0046]图4是根据本发明优选实施例的包处理方法的过程示意图,如图4所示,该过程主要包括:(1)对于物理链路模块的每一个链路或者通道,其在将非法报文丢弃后将合法报文发送给在报文查找匹配模块上预先分配的一个对应的端口(port),其中,port就代表了通道,间接代表了该通道中的合法报文的处理需求;(2)报文查找匹配模块不必再浪费大量的时间在大量的硬件表里查找、匹配等操作了,可以直接将合法报文发送给包处理模块;
(3)包处理模块直接使用对应于上述传输合法报文的端口的包处理方式(即与port相关联的包处理方式)对合法报文进行包处理操作(即:对包进行修改,增加,删除操作)。
[0047]请同时参考图5,图5是根据本发明优选实施例的包处理装置中各个模块间的控制关系示意图,如图5所示:控制软件模块根据需要向其它三个模块下发控制命令,以控制整个包处理流程;物理链路模块接受控制软件模块的控制命令后,配置物理属性,从物理链路或者通道上接收合法的包(即合法报文),并丢弃掉非法的包(非法报文);报文查找匹配模块接受控制软件模块的控制命令后,准备相应的硬件表项和搜索、HASH引擎,一旦有包从port进入时不再对包进行查找、匹配等操作,而是将包直接发给包处理模块;包处理模块直接使用对应于预先设置在报文查找匹配模块终端的端口(对应于每物理链路或物理通道)的包处理方式对包进行处理。
[0048]在实现本优选实施例(即实现网络处理器的包处理性能)的过程中,可以通过控制软件来控制对网络处理器的配置来实现,其中,对于每条通道业务而言,控制软件配置的过程可以包括:
[0049](I)根据一条通道业务的需求,配置该物理通道,主要是PHY片,FPGA, UFE3等;
[0050](2)由于一条通道业务的需求决定该通道上包的处理方法,因此在包处理模块中为该通道增加一个包处理方法;
[0051](3)在报文查找匹配模块里建立一个port,用该port把物理通道和增加的包处理方法关联起来;
[0052](4)有报文进入物理通道时,非法包会被丢弃,合法包进入port ;
[0053](5) port上进入查找匹配流程的开关关闭,包直接进入与port关联的包处理方法;
[0054](6)包处理方法对包进行增加、删除、修改操作,完成了包处理过程。
[0055]采用上述实施例提供的包处理方法及装置,可以通过增加的port将物理通道和包处理方法进行关联的方式,避免了采用查找匹配表项来关联方式导致的包处理性能比较低的问题,从而提高了网络处理器的包处理效率。
[0056]从以上的描述中,可以看出,本发明实现了如下技术效果:采用预先为每条物理链路或物理通道设置一个具有对应关系的端口后,对于通过该端口后的报文可以直接使用与该端口对应的包处理方式对合法报文进行包处理操作的方式,解决了相关技术中网络处理器的包处理能力比较低的问题,进而达到了节省报文查找、匹配的时间,提高网络处理器的包处理效率的效果。
[0057]显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0058]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种包处理方法,其特征在于,包括: 通过与多条链路中的第一链路对应的第一端口接收来自所述第一链路的包数据;使用多个包处理方式中与所述第一端口对应的第一包处理方式对所述包数据进行包处理,其中,所述多个包处理方式的数目与所述多条链路的数目是相同的。
2.根据权利要求1所述的方法,其特征在于,所述第一链路的类型包括:物理链路或物理通道。
3.根据权利要求2所述的方法,其特征在于, 当所述第一链路的类型为所述物理链路时,所述多条链路中除所述第一链路之外的其它链路的类型为所述物理链路,其中,所述其它链路包括:第二链路; 当所述第一链路的类型为所述物理通道时,所述多条链路中除所述第一链路之外的其它链路的类型为所述物理通道,其中,所述其它链路包括:第二链路。
4.根据权利要求1所述的方法,其特征在于,所述多条链路中的第二链路与预先设置的多个端口中的第二端口是对应的,其中,所述多个端口包括:所述第一端口和所述第二端口,所述第二端口与所述第一端口是不相同的。
5.根据权利要求4所述的方法,其特征在于,所述第二端口与所述多个包处理方式中的第二包处理方式是对应的。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述包数据包括:合法报文。
7.一种包处理装置,其特征在于,包括: 接收模块,用于通过与多条链路中的第一链路对应的第一端口接收来自所述第一链路的包数据; 处理模块,用于使用多个包处理方式中与所述第一端口匹配的第一包处理方式对所述包数据进行包处理,其中,所述多个包处理方式的数目与所述多条链路的数目是相同的。
8.根据权利要求7所述的装置,其特征在于,所述第一链路的类型包括:物理链路或物理通道。
9.根据权利要求8所述的装置,其特征在于, 当所述第一链路的类型为所述物理链路时,所述多条链路中除所述第一链路之外的其它链路的类型为所述物理链路,其中,所述其它链路包括:第二链路; 当所述第一链路的类型为所述物理通道时,所述多条链路中除所述第一链路之外的其它链路的类型为所述物理通道,其中,所述其它链路包括:第二链路。
10.根据权利要求7所述的装置,其特征在于,所述多条链路中的第二链路与预先设置的多个端口中的第二端口是对应的,其中,所述多个端口包括:所述第一端口和所述第二端口,所述第二端口与所述第一端口是不相同的。
11.根据权利要求10所述的装置,其特征在于,所述第二端口与所述多个包处理方式中的第二包处理方式是对应的。
12.根据权利要求7至11中任一项所述的装置,其特征在于,所述包数据包括:合法报文。
【文档编号】H04L12/863GK104168199SQ201310182462
【公开日】2014年11月26日 申请日期:2013年5月15日 优先权日:2013年5月15日
【发明者】赵继诚 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1