首页> 中国专利> 一种对分片式报文重组和业务分配的方法

一种对分片式报文重组和业务分配的方法

摘要

本发明涉及一种在分布式处理系统使用单一IP地址实现业务时对IP分片报文重组和业务分配的方法,通过将分布式系统在逻辑上划分成:接口模块部分,重组模块部分和业务模块部分,在重组模块中完成IP分片报文重组;采用本发明的方法能够将IP分片报文均匀地、低开销地分配到多个重组模块中进行重组,避免在单IP地址的分布式处理系统中出现IP分片报文的重组瓶颈,保证系统的处理能力得到充分发挥。

著录项

  • 公开/公告号CN1592215A

    专利类型发明专利

  • 公开/公告日2005-03-09

    原文格式PDF

  • 申请/专利权人 中兴通讯股份有限公司;

    申请/专利号CN03153882.7

  • 发明设计人 金友兴;张云翔;

    申请日2003-08-27

  • 分类号H04L12/24;H04L29/06;H04L12/56;

  • 代理机构11259 北京金硕果知识产权代理事务所;

  • 代理人张玫

  • 地址 518057 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法律部

  • 入库时间 2023-12-17 15:55:48

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-10-28

    未缴年费专利权终止 IPC(主分类):H04L12/24 授权公告日:20090610 终止日期:20140827 申请日:20030827

    专利权的终止

  • 2009-06-10

    授权

    授权

  • 2005-05-11

    实质审查的生效

    实质审查的生效

  • 2005-03-09

    公开

    公开

说明书

技术领域:

本发明涉及一种对IP分片报文重组和业务分配的方法,尤其涉及分布式处理系统使用单一IP地址实现业务时,对收到IP分片报文进行分布式重组,以及为进一步分布式业务处理而做的分配的方法。

背景技术:

网络与通信是当今最热和发展最快的领域之一,为了应付日益繁忙的信息流,网络的速度由几年前的155Mb/s,发展到现在的10Gb/s,在未来的2~3年内将会提高到40Gb/s。同时通讯网络设备的处理能力不断地提高,各种大容量节点设备不断出现,单CPU、集中处理的结构越来越不能适应市场的需求。如今,各制造商普遍采用分布式处理技术,将通讯业务的处理分散在多个模块、多个CPU上加以处理。然而,为了给运营商和最终用户提供方便,同时也为了与现有的设备更好的兼容,制造商们仍然希望其分布式处理系统能够只对外暴露一个虚拟的业务IP地址,例如,用10台服务器组成一个分布式的HTTP服务器,而只使用一个业务IP地址,对于客户端而言,只能见到这一个IP地址,或者说是一台性能十分强劲的服务器。

采用单IP地址一般来说是可行的,系统可以根据IP报文中的源端口号或者目的端口号等信息将不同的报文合理分配到多个CPU上,达到分布式处理的目的。合适的分配策略可以将业务量合理地分配到各个模块。但是当收到的IP报文中有大量的分片报文时,就会出现问题。IP报文的分片中只有第一分片中才包含端口号等信息,而后续分片中并不包含这些信息,这样就无法按原来的分布式处理方式进行。如果采用某一个CPU集中做IP分片报文地重组工作,将会丧失分布式处理的优点,很可能找不到一款CPU的处理能力能够大到足以应付高速网络发来的大量分片报文的处理工作,从而使该CPU成为整个系统处理能力的瓶颈。

为了解决这个问题一般大家常常使用限制网络的MTU(最大传输单元)的方法,保证在整个端到端的传输中不会发生IP报文分片的情况,一旦发现分片报文,则丢弃之,传输失败。这种方法有很大的局限性,一是对端设备的应用层提出了额外的要求,缺乏灵活性,如果应用层不支持网络MTU的探测及应用层载荷按网络MTU进行分片,或者支持得不好,传输将会失败;另一是将传输路径当作静态的来处理的话,显然是不合适的,传输路径很有可能在一次业务过程中发生改变,而如果要动态地监控网络MTU,则在技术上有很大的难度,最坏的情况下,网络MTU将会不停的振荡。

发明内容:

本发明的目的就是提供一种方法来克服当前单业务IP地址的分布式系统处理IP分片报文时存在的缺点,通过该方法能够均匀地将分片IP报文分配到多个重组模块进行分布式重组,然后再进一步分配到多个业务模块加以处理,保证分布式处理的优越性得以发挥。

本发明所述的对分片式报文重组和业务分配的方法,具体包括以下处理步骤:

1.将整个分布式系统在逻辑上分为接口模块部分,重组模块部分和业务模块部分,每个部分包括若干模块;

2.所述接口模块接收上级发来的IP报文,判断是否为分片IP报文,如果是,则转步骤3,否则,转步骤5;

3.所述接口模块根据所述IP报文的业务信息,并按照设定的分发策略,将所述IP报文转发到对应的重组模块;

4.重组模块暂存并重组所述分片IP报文,若重组完成转步骤5,若在定时范围内后续分片IP报文还未到达,则返回失败;

5.重组模块将重组后的IP报文或非分片IP报文根据其业务信息,并按照设定的分发策略,将所述IP报文转发到对应的业务模块。

所述步骤3中,可以通过提取IP报文头部的fragment ID(分片标识)字段,并按照对重组模块数取模的方法或MD5的方法实现对所述IP报文的分发。

所述步骤5中,可以通过提取IP报文头部的源端口信息,并按照对业务模块数取模的方法实现对所述IP报文的分发。

所述步骤4中,具体包括以下处理步骤:

1)根据所述分片IP报文的源IP和fragment ID,对于新的分片IP报文,则分配一个重组缓冲区,将所述分片IP报文存入缓冲区,启动保护定时器;

2)当后续分片IP报文在定时范围内到达时,根据其源IP和fragmentID,查找重组缓冲区,如果是新的分片IP报文,返回步骤1),否则,找到该分片IP报文的重组缓冲区,进行重组;

3)循环步骤2),直到重组完成;如果在定时范围内后续分片IP报文还未到达,则返回失败,回收重组缓冲区。

采用本发明对分片式报文重组和业务分配的方法,与现有的技术相比,能够将IP分片报文均匀地、低开销地分配到多个重组模块中进行重组,避免在单IP地址的分布式处理系统中出现IP分片报文的重组瓶颈,保证系统的处理能力得到充分发挥。

附图说明:

图1是本发明对分片式报文重组和业务分配方法的业务流程图。

图2a是接收模块1收到目的IP为202.0.0.100,源端口为38642,fragment ID为3682的IP报文的第二分片的示意图。

图2b是接收模块1根据fragment ID取模的结果将报文转发给重组模块1,重组模块1为其分配缓冲区并启动定时器0的示意图。

图2c是接收模块3收到目的IP为202.0.0.100,源端口为63132,fragment ID为42165的IP报文的第一分片的示意图。

图2d是接收模块3根据fragment ID取模的结果将报文转发给重组模块0,重组模块0为其分配缓冲区并启动定时器1的示意图。

图2e是接收模块2收到目的IP为202.0.0.100,源端口为38642,fragment ID为3682的IP报文的第一分片的示意图。

图2f是接收模块2根据fragment ID取模的结果将报文转发给重组模块1,重组模块1完成重组工作,杀死定时器0,并根据源端口号取模的结果将报文转发给业务模块2进行业务处理的示意图。

图2g是定时器1超时,重组模块0丢弃不完整报文,回收缓冲区的示意图。

具体实施方式:

如图1所示的本发明的重组和业务分配的方法,具体包括以下处理步骤:

1.将整个分布式系统在逻辑上分为接口模块部分,重组模块部分和业务模块部分,每个部分包括若干模块;

2.所述接口模块接收上级发来的IP报文,判断是否为分片IP报文,如果是,则转步骤3,否则,转步骤5;

3.所述接口模块根据所述IP报文的业务信息,并按照设定的分发策略,将所述IP报文转发到对应的重组模块;

4.重组模块暂存并重组所述分片IP报文,若重组完成转步骤5,若在定时范围内后续分片IP报文还未到达,则返回失败;

5.重组模块将重组后的IP报文或非分片IP报文根据其业务信息,并按照设定的分发策略,将所述IP报文转发到对应的业务模块。

下面将结合图2a至图2g,举例说明在单IP地址分布式系统中采用本发明提供的重组和业务分配的方法将IP分片报文分配到多个重组模块进行重组和进一步分配到多个业务模块容的一个具体实施过程。

1)分布式系统的虚拟IP地址为202.0.0.100,系统被划分为接口模块部分,重组模块部分和业务模块部分三个部分,接口部分有4个模块(接口模块0——接口模块3),重组部分有3个模块(重组模块0—重组模块2),业务部分有5个模块(业务模块0——业务模块4),如图2a。

2)一个目的IP为202.0.0.100,源端口为38642,fragment ID为3682的IP报文的第二分片被Internet中的上级路由器路由给接口模块1,如图2b。

3)接口模块1收到此报文后,取得fragment,对3取模,得到1,将此报文转发给重组模块1,如图2b。分发时除了采用取模的方法决定转发的重组模块以外,还可以用MD5方法等其他公开的或未公开的算法,在本实施例中不予详细描述。

4)重组模块1收到此报文,根据其源IP和fragment ID,查找重组缓冲区,发现到达的是一个新IP报文的分片,为其分配重组缓冲区,并启动保护定时器0,如图2b。

5)重组模块1发现该IP报文仍然不完整,等待其余分片到达。

6)一个目的IP为202.0.0.100,源端口为63132,ffagment ID为42165的IP报文的第一分片被Internet中的上级路由器路由给接口模块3,如图2c。

7)接口模块3收到此报文后,取得fragment,对3取模,得到0,将此报文转发给重组模块0,如图2d。

8)重组模块0收到此报文,根据其源IP和fragment ID,查找重组缓冲区,发现到达的是一个新IP报文的分片,为其分配重组缓冲区,并启动保护定时器1,如图2d。

9)重组模块0发现该IP报文仍然不完整,等待其余分片到达。

10)目的IP为202.0.0.100,源端口为38642,fragment ID为3682的IP报文的第一分片被Internet中的上级路由器路由给接口模块2,如图2e。

11)接口模块2收到此报文后,取得fragment,对3取模,得到1,将此报文转发给重组模块1,如图2e。

12)重组模块1收到此报文,根据其源IP和fragment ID,找到该IP报文的重组缓冲区,进行重组,如图2f。

13)重组模块1发现该IP报文已经完整,杀死保护定时器0,取得源端口,对5取模,得到2,将此报文转发给业务模块2,如图2f。

14)如果有其他IP报文到达,同2)或10)一样处理。

15)保护定时器1超时,fragment ID为42165的IP报文的第二分片仍未到达,重组失败,重组模块0丢弃此IP报文的不完整片断,回收重组缓冲区,如图2g。

本发明所提出的单IP地址分布式处理系统中增加重组模块部分,根据IP报文的frgment ID实现分布式IP报文的重组的方法与通常的处理方法相比,能够克服系统重组的性能瓶颈,无需应用层程序的参与,给应用和组网提供了很大的灵活性和方便性。以上所述的实施例只是本发明方法的一个实现性描述,而本发明方法所提出的分配思想并不需要在物理上存在重组模块部分,该部分的功能完全可以在其他物理实体中实现。在不脱离本发明的精神和范围的情况下,所有的变化和修改都在本发明的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号