CN100499480C - 一种对分片式报文重组和业务分配的方法 - Google Patents
一种对分片式报文重组和业务分配的方法 Download PDFInfo
- Publication number
- CN100499480C CN100499480C CNB031538827A CN03153882A CN100499480C CN 100499480 C CN100499480 C CN 100499480C CN B031538827 A CNB031538827 A CN B031538827A CN 03153882 A CN03153882 A CN 03153882A CN 100499480 C CN100499480 C CN 100499480C
- Authority
- CN
- China
- Prior art keywords
- message
- burst
- module
- reorganization
- recombination
- 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
本发明涉及一种在分布式处理系统使用单一IP地址实现业务时对IP分片报文重组和业务分配的方法,通过将分布式系统在逻辑上划分成:接口模块部分,重组模块部分和业务模块部分,在重组模块中完成IP分片报文重组;采用本发明的方法能够将IP分片报文均匀地、低开销地分配到多个重组模块中进行重组,避免在单IP地址的分布式处理系统中出现IP分片报文的重组瓶颈,保证系统的处理能力得到充分发挥。
Description
技术领域:
本发明涉及一种对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.接步骤4,重组模块将重组后的IP报文根据其业务信息,并按照设定的分发策略,将所述IP报文转发到对应的业务模块;或者,接步骤2,接口模块将非分片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是本发明对分片式报文重组和业务分配方法的业务流程图。
图2是采用本发明对分片式报文重组和业务分配方法的实施例原理图。
图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.接步骤4,重组模块将重组后的IP报文根据其业务信息,并按照设定的分发策略,将所述IP报文转发到对应的业务模块;或者,接步骤2,接口模块将非分片IP报文根据其业务信息,并按照设定的分发策略,直接转发到对应的业务模块。
下面将结合附图2,举例说明在单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,fragment 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报文的重组的方法与通常的处理方法相比,能够克服系统重组的性能瓶颈,无需应用层程序的参与,给应用和组网提供了很大的灵活性和方便性。以上所述的实施例只是本发明方法的一个实现性描述,而本发明方法所提出的分配思想并不需要在物理上存在重组模块部分,该部分的功能完全可以在其他物理实体中实现。在不脱离本发明的精神和范围的情况下,所有的变化和修改都在本发明的范围之内。
Claims (4)
1.一种对分片式报文重组和业务分配的方法,其特征在于,所述方法包括以下处理步骤:
1)将整个分布式系统在逻辑上分为接口模块部分,重组模块部分和业务模块部分,每个部分包括若干模块;
2)所述接口模块接收上级发来的IP报文,判断接收到的IP报文是否为分片IP报文,如果是,则转步骤3),否则,转步骤5);
3)所述接口模块根据所述IP报文的业务信息,并按照设定的分发策略,将所述IP报文转发到对应的重组模块;
4)重组模块暂存并重组所述分片IP报文,若重组完成转步骤5),若在定时范围内后续分片IP报文还未到达,则返回失败;
5)接步骤4,重组模块将重组后的IP报文根据其业务信息,并按照设定的分发策略,将所述IP报文转发到对应的业务模块;或者,接步骤2,接口模块将非分片IP报文根据其业务信息,并按照设定的分发策略,直接转发到对应的业务模块。
2.根据权利要求1所述的对分片式报文重组和业务分配的方法,其特征在于,所述步骤3)中,可以通过提取IP报文头部的fragment ID字段,并按照对重组模块数取模的方法或MD5的方法实现对所述IP报文的分发。
3.根据权利要求1所述的对分片式报文重组和业务分配的方法,其特征在于,所述步骤5)中,可以通过提取IP报文头部的源端口信息,并按照对业务模块数取模的方法实现对所述IP报文的分发。
4.根据权利要求1至3之一所述的对分片式报文重组和业务分配的方法,其特征在于,所述步骤4)中,具体包括以下处理步骤:
a)根据所述分片IP报文的源IP和fragment ID,对于新的分片IP报文,则分配一个重组缓冲区,将所述分片IP报文存入缓冲区,启动保护定时器;
b)当后续分片IP报文在定时范围内到达时,根据其源IP和fragmentID,查找重组缓冲区,如果是新的分片IP报文,返回步骤a),否则,找到该分片IP报文的重组缓冲区,进行重组;
c)循环步骤b)直到重组完成;如果在定时范围内后续分片IP报文还未到达,则返回失败,回收重组缓冲区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031538827A CN100499480C (zh) | 2003-08-27 | 2003-08-27 | 一种对分片式报文重组和业务分配的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031538827A CN100499480C (zh) | 2003-08-27 | 2003-08-27 | 一种对分片式报文重组和业务分配的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1592215A CN1592215A (zh) | 2005-03-09 |
CN100499480C true CN100499480C (zh) | 2009-06-10 |
Family
ID=34597898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031538827A Expired - Fee Related CN100499480C (zh) | 2003-08-27 | 2003-08-27 | 一种对分片式报文重组和业务分配的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100499480C (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100420238C (zh) * | 2006-04-12 | 2008-09-17 | 华为技术有限公司 | 一种ip报文分片重组的方法 |
CN101035082B (zh) * | 2007-04-28 | 2010-09-22 | 杭州华三通信技术有限公司 | 分片报文重组方法及接口板 |
CN101159694B (zh) * | 2007-11-16 | 2011-04-06 | 中兴通讯股份有限公司 | 一种ip共享的分布式系统避免分片重组失败的方法 |
CN101447930B (zh) * | 2008-12-25 | 2011-01-05 | 华为技术有限公司 | 报文处理的方法和装置 |
CN101860487A (zh) * | 2010-05-28 | 2010-10-13 | 中兴通讯股份有限公司 | 互联网协议ip分片报文的转发方法及接口板 |
WO2013097184A1 (zh) * | 2011-12-30 | 2013-07-04 | 华为技术有限公司 | 业务分发方法、设备和系统 |
CN102624611B (zh) * | 2011-12-31 | 2015-01-21 | 华为数字技术(成都)有限公司 | 报文分流方法、装置、处理器和网络设备 |
CN104639511B (zh) * | 2013-11-13 | 2018-08-03 | 安凯(广州)微电子技术有限公司 | 一种节省内存的实现方法及装置 |
CN104486226B (zh) * | 2014-12-23 | 2019-04-05 | 北京天融信科技有限公司 | 一种报文处理方法及装置 |
CN106487858B (zh) * | 2015-09-01 | 2019-11-08 | 北京大学 | 信息上传方法及装置 |
CN105610744B (zh) * | 2016-01-28 | 2018-10-23 | 东南大学 | 一种ip报文分片与重组方法及装置 |
EP3761571B1 (en) | 2018-03-22 | 2022-06-22 | Huawei Technologies Co., Ltd. | Method, device and system for handling message fragmentation |
CN110581812A (zh) * | 2018-06-08 | 2019-12-17 | 北京京东尚科信息技术有限公司 | 一种数据报文的处理方法和装置 |
CN109257143B (zh) * | 2018-09-07 | 2021-07-06 | 武汉虹信科技发展有限责任公司 | 用于有长度限制的网络传输协议中分片传输数据包的方法 |
-
2003
- 2003-08-27 CN CNB031538827A patent/CN100499480C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1592215A (zh) | 2005-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100499480C (zh) | 一种对分片式报文重组和业务分配的方法 | |
US7389359B2 (en) | Method and system for intelligently forwarding multicast packets | |
CN100555991C (zh) | 报文访问控制的方法、转发引擎装置和通信设备 | |
US7512688B2 (en) | PPPoE network system that can distribute connection requests from PPPoE client terminals to specific PPPoE servers | |
CN105791214B (zh) | 一种RapidIO报文和以太网报文之间的转换方法和设备 | |
US20010014097A1 (en) | Method and apparatus for providing an integrated cluster alias address | |
JPH09508509A (ja) | 安全な高速パケット交換機能と保証サービス品質を有するネットワーク | |
CN102577270A (zh) | 用于云拓扑中企业扩展的可伸缩架构 | |
US20140149549A1 (en) | Distributed cluster processing system and packet processing method thereof | |
CN101662511A (zh) | 网络地址分配方法及dhcp服务器、接入系统及方法 | |
US8681797B2 (en) | Systems and methods for transporting data across an air interface using reduced address headers | |
CN102340436B (zh) | 跨网络报文转发方法和交换机系统 | |
CN102246495A (zh) | 一种防止地址冲突的方法及接入节点 | |
US9491098B1 (en) | Transparent network multipath utilization through encapsulation | |
CN111193969B (zh) | 一种基于dpu的数据通信与通信管理方法及dpu | |
CN101459615A (zh) | 一种传输报文的方法、端口和系统 | |
JPH11284664A (ja) | 仮想専用網構築システム | |
US8874743B1 (en) | Systems and methods for implementing dynamic subscriber interfaces | |
CN111385026A (zh) | 一种olt设备虚拟化的方法及olt设备 | |
CN100479457C (zh) | 一种实现虚拟私有网络中数据传输的方法 | |
CN114978986B (zh) | 一种数据传输方法、装置及存储介质 | |
CN101159694B (zh) | 一种ip共享的分布式系统避免分片重组失败的方法 | |
CN1968284A (zh) | 具有标签交换协议接口的动态构造的标签交换路由器 | |
CN1744538A (zh) | 选择不同网络服务提供商提供的服务的方法 | |
CN113746736B (zh) | 发送和接收消息的方法、装置和通信系统 |
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: 20090610 Termination date: 20140827 |
|
EXPY | Termination of patent right or utility model |