一种转发MP分片报文的方法和装置与流程

文档序号:11929986阅读:211来源:国知局
一种转发MP分片报文的方法和装置与流程

本申请涉及网络通信技术领域,特别涉及一种转发MP分片报文的方法和装置。



背景技术:

在分布式网络设备上存在不同功能的CPU,包括主控板CPU、业务板CPU等。主控板CPU用于处理本机报文,业务板CPU用于处理业务报文,其中主控板CPU和业务板CPU独立工作。

当分布式网络设备接收到报文时,主控板CPU会基于MP协议将本机报文进行报文分片生成本机MP分片报文。业务板CPU会基于MP协议将业务报文进行报文分片生成业务MP分片报文。其中,各类MP分片报文的报头中均包含分片序号。

由于主控板CPU和业务板CPU独立工作,主控板CPU生成的本机MP分片报文的分片序号与业务板CPU生成的业务MP分片报文的分片列号分开编制,因此对端分布式网络设备接收到的MP分片报文的分片序号会出现不连续的情况,在这样的情况下,对端分布式网络设备会将接收到的不是所需序列号的MP分片报文进行丢弃,从而会导致报文丢包的现象。



技术实现要素:

有鉴于此,本申请提供一种转发MP分片报文的方法和装置,应用于配置了基于MP协议的多链路的分布式网络设备,避免丢包现象的出现。

具体地,本申请是通过如下技术方案实现的:

一种转发MP分片报文的方法,应用于配置了基于MP协议的多链路的分布式网络设备,所述分布式网络设备包括主控板CPU和业务板CPU,包括:

基于MP协议针对业务板接收到的报文进行报文分片,并为分片报文设置分片序号;

主控板CPU校验所述分片报文的分片序号与上一次发出的分片报文的分片序号是否连续;

如果所述分片报文的分片序号与上一次发出的分片报文的分片序号不连续,将该分片报文的分片序号修改为与上一次发出的分片报文的分片序号保持连续后,通过与所述分片报文对应的出接口发送该分片报文。

一种转发MP分片报文的装置,应用于配置了基于MP协议的多链路的分布式网络设备,所述分布式网络设备包括主控板CPU和业务板CPU,包括:

分片单元,用于基于MP协议针对业务板接收到的报文进行分片,并为分片报文设置分片序号;

校验单元,用于主控板CPU校验所述分片报文的分片序号与上一次发出的分片报文的分片序号是否连续;

执行单元,用于如果所述分片报文的分片序号与上一次发出的分片报文的分片序号不连续,将该分片报文的分片序号修改为与上一次发出的分片报文的分片序号保持连续后,通过与所述分片报文对应的出接口发送该分片报文。

主控板CPU在将MP分片报文发送至对端分布式网络设备之前,对MP分片报文的分片序号进行校验,使发送至对端分布式网络设备的MP分片报文的分片序号保持连续,因此对端分布式网络设备接收到MP分片报文后,不会出现误认为丢包的情况,从而不会将MP分片错误地丢弃。

附图说明

图1为本申请一示例性实施例示出的一种转发MP分片报文的方法流程图;

图2为本申请一种转发MP分片报文的装置所在分布式网络设备的一种硬件结构图;

图3为本申请一示例性实施例示出的一种转发MP分片报文的装置。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

在现有技术中,在分布式网络设备中包含了若干不同功能的CPU,其中包括主控板CPU和业务板CPU,主控板CPU和业务板CPU互相独立工作。当该分布式网络设备为配置了基于MP协议的多链路的分布式网络设备时,主控板CPU可以将本机报文进行报文分片,生成MP分片报文,其中MP分片报文的报头中包含了分片序号;业务板CPU也可以将转发报文进行报文分片,生成MP分片报文,其中MP分片报文的报头中也包含了分片序号。主控板CPU得到MP分片报文后可以将MP分片报文通过对应的出接口进行转发,业务板CPU得到MP分片报文后也可以将MP分片报文通过对应的出接口进行转发。

当本端设备向对端设备发送报文后,对端设备可以响应本端设备,其中响应报文的报头中携带本端设备最近一次发送的报文的报头中的序号。对端设备按照接收到的序号来判断是否丢包。

例如,对端设备最近一次接收到本端设备发送的报文的报头中的序号为10,那么对端设备接下来需要接收到的报文的报头中的序号为11。

然后,现有技术中,分布式网络设备中的主控板CPU和业务板CPU互相独立工作,对发送至对端设备的报文的报头中的序号的编制也是互相独立。因此,现有技术中会出现本端设备将主控板CPU生成的MP分片报文发送至对端设备后,继续发送业务板CPU生成的MP分片报文时,上一次发送的MP分片报文的报头中的序号与本次将要发送至对端设备的MP分片报文的报头中的序号不连续的情况。

在这样的情况下,对端设备会误认为本端设备在发送MP分片报文时出现了丢包,因此对端设备接收到本端设备后续将要发送的MP分片报文时,可以将该MP分片报文直接丢弃。实际上本端设备发送的MP分片报文并未丢包,从造成对端设备真正出现丢包情况。

为了解决现有技术中的问题,本申请提供了一种转发MP分片报文的方法,应用于配置了基于MP协议的多链路的分布式网络设备,通过基于MP协议针对业务板接收到的报文进行报文分片,并为分片报文设置分片序号;主控板CPU校验所述分片报文的分片序号与上一次发出的分片报文的分片序号是否连续;如果所述分片报文的分片序号与上一次发出的分片报文的分片序号不连续,将该分片报文的分片序号修改为与上一次发出的分片报文的分片序号保持连续后,通过与所述分片报文对应的出接口发送该分片报文。

主控板CPU在将MP分片报文发送至对端分布式网络设备之前,对MP分片报文的分片序号进行校验,使发送至对端分布式网络设备的MP分片报文的分片序号保持连续,因此对端分布式网络设备接收到MP分片报文后,不会出现误认为丢包的情况,从而不会将MP分片错误地丢弃。

请参见图1,图1为本申请一示例性实施例示出的一种转发MP分片报文的方法流程图,具体执行以下步骤:

步骤101:基于MP协议针对业务板接收到的报文进行报文分片,并为分片报文设置分片序号;

步骤102:主控板CPU校验所述分片报文的分片序号与上一次发出的分片报文的分片序号是否连续;

步骤103:如果所述分片报文的分片序号与上一次发出的分片报文的分片序号不连续,将该分片报文的分片序号修改为与上一次发出的分片报文的分片序号保持连续后,通过与所述分片报文对应的出接口发送该分片报文。

在本实施例中,本申请中所述分布式网络设备中包含有主控板和业务板,当然还有若干其余应用于不同用途的功能板,以及用于数据发送和接收的出接口。

其中,上述主控板上的CPU主要用于管理整个分布式网络设备,包括参数配置等。在本实施例中,主控板CPU用于本机报文的数据处理,可以基于MP协议,将本机报文进行报文分片,然后为分片报文设置分片序号,生成MP分片报文,以及校验业务板CPU上传的MP分片报文的分片序号和主控板CPU生成的MP分片报文的分片序号。

上述业务板主要用于将分布式网络设备接收到的报文进行分类,分成本机报文和业务报文,将本机报文上传至主控板,将业务报文交给业务板CPU处理,业务板CPU可以基于MP协议,将业务报文进行报文分片,然后为分片报文设置分片序号,生成MP分片报文。然后将设置完分片序号的MP分片报文的上传至主控板,交由主控板CPU进一步处理。

在示出的一种实施方式中,分布式网络设备接收到接口板上传的报文后,分布式网络设备中的业务板可以将该报文进行分析。根据报文的类型,判断该报文为业务报文还是本机报文。如果该报文为本机报文,业务板可以将该报文上传至分布式网络设备中的主控板。如果该报文为业务报文,业务板可以将该报文交给业务板的CPU进行对该报文进行处理。

在本实施例中,如果该报文为本机报文,主控板可以接收到业务板上传的该报文。主控板接收到该报文后,主控板CPU可以检测该报文的大小是否大于预设阈值。

如果该报文的大小大于预设阈值,那么主控板CPU可以基于MP协议将该报文进行报文分片,直到该报文的大小不大于预设阈值时,不再对该报文进行报文分片,然后为分片报文设置分片序号,生成MP分片报文。

例如,该报文的大小为1000字节,预设阈值为300字节,在这样的情况下,主控板CPU可以将该报文进行报文分片,直到将报文进行三次报文分片后,生成3个报文大小为300字节的分片报文后,剩下100字节大小的报文时,100字节<300字节,所以不用再进行报文分片,因此该1000字节的报文进行报文分片后可以生成300字节,300字节,300字节,100字节的4个分片报文,然后主控板CPU可以为该4个分片报文设置分片序号为1,2,3,4。

如果该报文的大小不大于预设阈值,主控板CPU可以基于MP协议直接为该报文设置分片序号,生成MP分片报文。

在本实施例中,如果该报文为业务报文,业务板CPU可以接收到业务板上传的该报文。业务板CPU接收到该报文后,业务板CPU可以检测该报文的大小是否大于预设阈值。

如果该报文的大小大于预设阈值,业务板CPU可以基于MP协议对该报文进行报文分片,直到该报文的大小不大于预设阈值时,为分片报文设置分片序号,生成MP分片报文。

例如,该报文的大小为1000字节,预设阈值为300字节,在这样的情况下,业务板CPU可以将该报文进行报文分片,直到将报文进行三次报文分片后,生成3个报文大小为300字节的分片报文后,剩下100字节大小的报文时,100字节<300字节,所以不用再进行报文分片,因此该1000字节的报文进行报文分片后可以生成300字节,300字节,300字节,100字节的4个分片报文,然后业务板CPU可以为该4个分片报文设置分片序号为6,7,8,9。

如果该报文的大小不大于预设阈值,业务板CPU可以基于MP协议直接为该报文设置分片序号,生成MP分片报文。

在示出的一种实施方式中,当业务板CPU生成MP分片报文后,业务板CPU可以将所述MP分片报文上传至主控板CPU。

在本实施例中,由于主控板CPU和业务板CPU互相独立工作,主控板CPU基于MP协议对接收到的本机报文进行报文分片后,为分片报文设置分片序号的机制,与业务板CPU基于MP协议对接收到的业务报文进行报文分片后,为分片报文设置分片序号的机制是互相独立的,因此为了避免本端分布式网络设备发送至对端分布式网络设备的MP分片报文的分片序号出现不连续的情况,在申请提供的技术方案中,主控板CPU可以对MP分片报文进行分片序号的校验。

在示出的一种实施方式中,主控板CPU在将MP分片报文发送至对端分布式网络设备之前,主控板CPU可以校验将要发送的MP分片报文的分片序号与上一次发送的MP分片报文的分片序号是否连续。

如果将要发送的MP分片报文的分片序号与上一次发送的MP分片报文的分片序号不连续,在这样的情况下,主控板CPU可以对将要发送的MP分片报文的分片序号修改为与上一次发送的MP分片报文的分片序号保持连续的分片序号,然后通过与该将要发送的MP分片报文对应的出接口,将该将要发送的MP分片报文发送至对端分布式网络设备。

例如,本端分布式网络设备刚把本机报文发送完,MP分片报文的分片序号为4,现在将要发送业务报文,业务报文通过MP协议生成的MP分片报文的分片序号从6开始,那么主控板CPU可以将该MP分片报文的分片序号修改为5,然后再将该MP分片报文通过对应的出接口发送至对端分布式网络设备。

如果将要发送至对端分布式网络设备的MP分片报文的分片序号与上一次发送的MP分片报文的分片序号连续,在这样的情况下,主控板CPU可以将该MP分片报文通过对应的出接口发送至对端分布式网络设备。

由以上本申请提供的技术方案可见,通过基于MP协议针对业务板接收到的报文进行报文分片,并为分片报文设置分片序号;主控板CPU校验所述分片报文的分片序号与上一次发出的分片报文的分片序号是否连续;如果所述分片报文的分片序号与上一次发出的分片报文的分片序号不连续,将该分片报文的分片序号修改为与上一次发出的分片报文的分片序号保持连续后,通过与所述分片报文对应的出接口发送该分片报文。

主控板CPU在将MP分片报文发送至对端分布式网络设备之前,对MP分片报文的分片序号进行校验,使发送至对端分布式网络设备的MP分片报文的分片序号保持连续,因此对端分布式网络设备接收到MP分片报文后,不会出现误认为丢包的情况,从而不会将MP分片错误地丢弃。

与前述一种转发MP分片报文的方法的实施例相对应,本申请还提供了一种转发MP分片报文的装置的实施例。

本申请一种转发MP分片报文的装置的实施例可以应用在分布式网络设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在分布式网络设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图2所示,为本申请一种转发MP分片报文的装置所在分布式网络设备的一种硬件结构图,除了图2所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的分布式网络设备通常根据该转发MP分片报文的实际功能,还可以包括其他硬件,对此不再赘述。

请参考图3,图3为本申请一示例性实施例示出的一种转发MP分片报文的装置,应用于配置了MP协议的多链路的分布式网络设备,所述装置包括:分片单元310,校验单元320,执行单元330。

其中分片单元,用于基于MP协议针对业务板接收到的报文进行分片,并为分片报文设置分片序号。

校验单元,用于主控板CPU校验所述分片报文的分片序号与上一次发出的分片报文的分片序号是否连续。

执行单元,用于如果所述分片报文的分片序号与上一次发出的分片报文的分片序号不连续,将该分片报文的分片序号修改为与上一次发出的分片报文的分片序号保持连续后,通过与所述分片报文对应的出接口发送该分片报文。

在本申请示出的实施例中,所述分片单元具体用于:

当业务板接收到报文时,判断所述报文的报文类型;

如果所述报文是本地报文,业务板将所述报文上送至主控板CPU,由主控板CPU对所述报文进行分片,并为分片报文设置序号。

同时,所述分片单元进一步用于:

如果所述报文为转发报文,将所述报文上送至业务板CPU,由业务板CPU对所述报文进行分片,并为分片报文设置序号;

业务板CPU将分片报文上送至主控板CPU。

在本申请示出的实施例中,所述执行单元进一步用于:

如果所述分片报文的分片序号与上一次发出的分片报文的分片序号连续,通过对应的出接口发送所述分片报文。

另外,本申请实施的装置中还包括:

检测单元,用于检测所述报文的大小是否大于预设阈值;如果所述报文的大小大于预设阈值,对所述报文进行分片。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1