多单元发送时的报文序列号检测方法及装置的制作方法

文档序号:7958280阅读:117来源:国知局
专利名称:多单元发送时的报文序列号检测方法及装置的制作方法
技术领域
本发明涉及数据传输技术领域,具体涉及多单元发送时的报文序列号检测方法及装置。
背景技术
在数据通讯领域中,通讯双方通常使用报文序列号来标识报文的唯一性。发送方维护一个发送序列号状态,每发送一个报文更新发送序列号状态;接收方维护一个接收序列号状态,每收到一个报文更新接收序列号状态。序列号状态的实际内容与通讯协议相关,但通常发送方序列号状态包含下一个发送报文使用的序列号。由于报文在到达接收方前,中间要经过多个设备进行转发,不同的报文所经过的链路和设备不同,到达接收方的顺序与发送方发送的顺序可能不同。所以,接收方采用滑动窗口来记录接收序列号状态。如图1所示,滑动窗口通常包括窗口左边界、窗口宽度、已收到的序列号标记,还可包括窗口右边界。其中窗口左边界与接收方可接受的最小报文序列号对应;与报文序列号的发送顺序对应,每一个小窗口对应一个报文序列号;每收到一个序列号,将窗口上对应的序列号标记为已收到如可标记为1;窗口宽度小于或等于接收方可接受的报文序列号的宽度,窗口宽度可为固定的也可为可变的。
IPsec是IP安全协议,在TCP/IP协议栈的IP层为通讯数据提供机密、完整、真实、防重放的安全服务,是目前最可靠的安全技术之一。根据IPsec协议,通讯双方通过因特网密钥协商(IKE)确定安全联盟(SA)参数,并将该SA参数作为IPsec报文的序列号。为了实现防重放,发送方每使用一个SA发送一个报文,将该SA的序列号增1,以便用该SA发送下一个报文。图2是现有的IPsec报文传送流程图,如图2所示,其具体步骤如下步骤201发送方将报文序列号填入要发送的报文中,然后将报文发送给接收方。
步骤202接收方收到报文后,判断报文序列号是否落在滑动窗口内,若是,执行步骤203;否则,执行步骤205。
步骤203接收方判断该报文序列号在滑动窗口上是否标记为未收到,若是,执行步骤204;否则,执行步骤207。
步骤204接收方判定该报文为合法报文,并在滑动窗口上将该报文序列号标记为已收到,本流程结束。
步骤205接收方判断报文序列号是否落在滑动窗口的左边界之外,若是,执行步骤207;否则,执行步骤206。
步骤206接收方判定该报文为合法报文,同时确定报文序列号落在滑动窗口的左边界与窗口宽度之和所对应边界之外,将滑动窗口右移,以使滑动窗口包含该报文序列号,并在滑动窗口上将该报文序列号标记为已收到,本流程结束。
步骤207接收方判定该报文为非法报文,丢弃该报文,本流程结束。
上述方法只适用于发送方采用一个单元处理同一个连接的数据,对发送方采用多个单元处理同一个连接的数据时,由于多个单元使用的序列号集合相同,则一个单元发送的报文序列号就会与另一个单元发送的报文序列号相同,接收方就会收到来自多个单元的多个相同序列号的报文,从而在接收到来自其中一个单元的某序列号的报文后,再接收到来自另外一个单元的相同序列号的报文,在进行滑动窗口检测时就会误认为该报文已收到而丢弃该报文。为了解决该问题,现有技术在发送方采用如下方法在每个单元发送一个报文时,通知其它单元该报文序列号已使用,其它单元得知该序列号已使用,在后续的发送过程中则不会再采用该序列号发送报文,具体流程如图3所示,其具体步骤如下步骤301发送方的单元确定要发送报文,根据自身保存的报文序列号总集合和从其它单元发来的已使用报文序列号集合,选择一个未使用的报文序列号填入报文中然后将报文发送给接收方;同时,通知其它单元该报文序列号已使用。
步骤302~307与步骤202~207相同。
这种方法的缺点是增加了系统的消息负载,且也可能会导致报文的丢失。因为在发送方的单元较多时,由于各单元的发送时序、发送速率的不同,以及通知报文序列号已使用消息的时延,很可能出现单元A刚使用过一个序列号发送报文,但单元A发送的该序列号已使用信息还未到达单元B而单元B的下一个发送时刻已经到来,导致单元B使用与单元A同样的序列号发送下一个报文,从而导致报文的丢失。

发明内容
有鉴于此,本发明的主要目的在于提供一种多单元发送时的报文序列号检测方法,以在发送方包含多个单元时,提高报文合法性检测的准确率,避免报文的丢失;本发明的另一目的在于,提供一种多单元报文发送装置、一种多单元发送时的报文接收装置和一种多单元发送时的报文序列号检测系统,以提高报文合法性检测的准确率。
为达到上述目的,本发明的技术方案是这样实现的一种多单元发送时的报文序列号检测方法,该方法预先将所有报文序列号划分为互不重叠的、数目至少等于发送方包含的单元数的子集,将每个子集分配给一个单元;接收方根据各子集确定滑动窗口,且记录滑动窗口与序列号子集的对应关系,包括发送方的单元将自身子集的一个序列号填入到要发送的报文中,将该报文发送给接收方;接收方收到该报文后,根据自身记录的滑动窗口与序列号子集的对应关系,查找该报文的序列号对应的滑动窗口,然后根据所述查找到的滑动窗口和所述序列号进行报文合法性检测。
所述根据所述查找到的滑动窗口和所述序列号进行报文合法性检测具体为a、接收方判断序列号是否落在所述滑动窗口内,若是,执行步骤b;否则,执行步骤c;b、接收方判断该序列号在所述滑动窗口上是否标记为未收到,若是,判定该报文为合法报文,并在滑动窗口中将该序列号标记为已收到,本流程结束;否则,判定该报文为非法报文,丢弃该报文,本流程结束;c、接收方判断该序列号是否落在滑动窗口的左边界之外,若是,判定该报文为非法报文,丢弃该报文,本流程结束;否则,接收方判定该报文为合法报文,将滑动窗口右移至包含该序列号,并在滑动窗口上将该序列号标记为已收到,本流程结束。
所述接收方根据各子集确定滑动窗口具体为接收方根据各子集为每个子集设定一个滑动窗口。
所述发送方的各单元发送报文的速率相等,所述将序列号划分为互不重叠的、数目至少等于发送方包含的单元数的子集具体为将所有序列号按照从小到大的顺序依次排列,然后将各序列号轮循分配给各个子集;所述接收方根据各子集确定滑动窗口具体为接收方根据各子集为所有子集设定同一个滑动窗口。
所述序列号子集的相邻两序列号之间满足预定的计算规则,所述发送方的单元将自身子集的一个序列号填入到要发送的报文中具体为所述单元根据前一次发送报文的序列号和所述计算规则,计算出当前报文的序列号,然后将该序列号填入到要发送的报文中。
所述各滑动窗口以滑动窗口序号区分,所述滑动窗口与序列号子集的对应关系具体为滑动窗口的序号与该序列号子集中的序列号满足一定的计算规则,所述接收方查找报文的序列号对应的滑动窗口具体为接收方根据报文的序列号及所述计算规则,计算出滑动窗口的序号,从而找到该滑动窗口序号对应的滑动窗口。
一种多单元发送时的报文发送装置,该装置包括发送方序列号子集分配单元和至少两个发送单元,其中发送方序列号子集分配单元,用于根据与接收方相同的序列号分配规则,将序列号集合划分为数目至少等于发送单元数的、互不重叠的序列号子集,然后为每个发送单元分配一个序列号子集;任意一个发送单元,用于在要发送报文时,将发送方序列号子集分配单元发来的一个序列号填入到所述报文中,然后将报文发送给接收单元。
一种多单元发送时的报文接收装置,该装置包括接收方序列号子集分配单元和接收单元,其中接收方序列号子集分配单元,用于根据与发送方相同的序列号分配规则,将序列号集合划分为数目至少等于发送单元数的、互不重叠的序列号子集,然后将各序列号子集发送给接收单元;接收单元,用于根据接收方序列号子集分配单元发来的序列号子集,确定滑动窗口,保存序列号子集与滑动窗口的对应关系;在收到发送单元发来的报文后,根据所述滑动窗口和所述报文的序列号对所述报文进行合法性检测。
所述接收单元包括滑动窗口确定单元和序列号检测单元,其中,滑动窗口确定单元,用于根据接收方序列号子集分配单元发来的序列号子集,确定滑动窗口,并将序列号子集和滑动窗口的对应关系发送给序列号检测单元;序列号检测单元,用于在收到发送单元发来的报文后,在自身保存的来自滑动窗口确定单元的序列号子集和滑动窗口的对应关系中,查找到所述报文序列号对应的滑动窗口,然后根据所述滑动窗口和所述报文的序列号对所述报文进行合法性检测。
一种多单元发送时的报文序列号检测系统,该系统包括报文发送装置和报文接收装置,且,报文发送装置包括发送方序列号子集分配单元和至少两个发送单元,报文接收装置包括接收方序列号子集分配单元和接收单元,其中发送方序列号子集分配单元,用于根据与接收方相同的序列号分配规则,将序列号集合划分为数目至少等于发送单元数的、互不重叠的序列号子集,然后为每个发送单元分配一个序列号子集;任意一个发送单元,用于在要发送报文时,将发送方序列号子集分配单元发来的一个序列号填入到所述报文中,然后将报文发送给接收单元;接收方序列号子集分配单元,用于根据与发送方相同的序列号分配规则,将序列号集合划分为数目至少等于发送单元数的、互不重叠的序列号子集,然后将各序列号子集发送给接收单元;接收单元,用于根据接收方序列号子集分配单元发来的序列号子集,确定滑动窗口,保存序列号子集与滑动窗口的对应关系;在收到任意一个发送单元发来的报文后,根据所述滑动窗口和所述报文的序列号对所述报文进行合法性检测。
所述接收单元包括滑动窗口确定单元和序列号检测单元,其中,滑动窗口确定单元,用于根据接收方序列号子集分配单元发来的序列号子集,确定滑动窗口,并将序列号子集和滑动窗口的对应关系发送给序列号检测单元;序列号检测单元,用于在收到任意一个发送单元发来的报文后,在自身保存的来自滑动窗口确定单元的序列号子集和滑动窗口的对应关系中,查找到所述报文序列号对应的滑动窗口,然后根据所述滑动窗口和所述报文的序列号对所述报文进行合法性检测。
在所述报文发送装置和报文接收装置位于同一设备时,所述发送方序列号子集分配单元和接收方序列号子集分配单元为同一单元。
与现有技术相比,本发明预先将序列号划分为互不重叠的、数目至少等于发送方包含的单元数的子集,将每个子集分配给一个单元;接收方根据各子集确定滑动窗口,且记录滑动窗口与序列号子集的对应关系;接收方收到该报文后,根据自身记录的滑动窗口与序列号子集的对应关系,查找该报文的序列号对应的滑动窗口,然后根据所述查找到的滑动窗口和所述序列号确定该报文是否为合法报文。本发明使得发送方各单元发送的报文的序列号没有重叠,且接收方收到报文后,根据序列号找到对应滑动窗口进行报文合法性检测,提高了报文合法性检测的准确率,避免了报文的丢失。


图1为滑动窗口结构示意图;图2为现有的一个单元发送时的报文序列号检测流程图;图3为现有的多单元发送时的报文序列号检测流程图;图4为本发明提供的多单元发送时的报文序列号检测流程图;图5为本发明提供的多单元发送时的报文序列号检测的实施例的示意图;图6为本发明提供的多单元发送时的报文发送装置框图;图7为本发明提供的多单元发送时的报文接收装置框图一;图8为本发明提供的多单元发送时的报文接收装置框图二;图9为本发明提供的多单元发送时的报文序列号检测系统框图一;图10为本发明提供的多单元发送时的报文序列号检测系统框图二。
具体实施例方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图4是本发明提供的多单元发送时的报文序列号检测流程图,如图4所示,其具体步骤如下步骤401预先将报文序列号划分为互不重叠的、数目至少等于发送方所包含的单元数的子集,将每个子集包含的序列号分配给一个单元;接收方根据各序列号子集确定滑动窗口,且接收方记录滑动窗口与序列号子集的对应关系。
这里,序列号集合的确定和子集的划分可根据一定规则配置,若协议本身具有序列号集合确定和子集划分的协商机制,则根据该协商机制来确定序列号集合和划分子集,接收方根据该协商机制可得知序列号集合和划分的子集。
接收方可为发送方每个单元对应的序列号子集确定一个滑动窗口,即滑动窗口的数目与序列号子集的数目相同;或者,若发送方每个单元发送报文的速率相同,且序列号子集的划分是将总集合中的序列号进行有序排列后,按照顺序轮循分配给每一个单元,则接收方可以只使用一个滑动窗口对发送方所有单元发来的报文进行检测,如发送方有3个单元单元1、单元2和单元3,序列号总集合为M={1,2,3,4,5,6},则单元1的序列号集合为A={1,4},单元2的序列号集合为B={2,5},单元3的序列号集合为C={3,6},则接收方可使用一个左边界为1、宽度为6的滑动窗口对发送方3个单元发来的报文进行检测。
各子集间的序列号必须没有重合,即一个序列号唯一属于一个子集。
步骤402发送方的单元将自身序列号子集的一个序列号填入到要发送的报文中,然后将该报文发送给接收方。
发送方单元在发送报文时,可依次从自身的序列号子集中取出一个序列号填入到报文中;或者,对某个单元来说,若自身报文的相邻两序列号之间满足一定的计算规则,则该单元只需保存自身序列号子集的第一个序列号和所述计算规则,在每发送一个报文后,可根据该计算规则计算出下一个报文序列号,同样接收方也可根据接收到报文的序列号计算出该序列号所属的滑动窗口,例如把递增的序列号集合{a,b}按照顺序轮循分配到m个子集Seq(0)~Seq(m-1),Seq(0)={a,a+m,a+2*m,a+3*m,....,a+n*m},Seq(1)={a+1,a+m+1,a+2*m+1,...,a+n*m+1},...,Seq(i)={a+i,a+2*m+i,...,a+n*m+i},...,每个子集Seq(i)对应一个单元i,同时对应一个滑动窗口i,这样,对某个单元来说,若当前报文的序列号为Seq,则可知下一个报文的序列号为Seq+m;接收方收到报文后,可知该序列号Seq所属的子集为(Seq-a)%m,可利用滑动窗口(Seq-a)%m进行检测。
步骤403接收方收到该报文后,根据自身记录的滑动窗口与序列号子集的对应关系,查找该报文所包含的序列号对应的滑动窗口。
步骤404接收方判断该查找到的序列号是否落在滑动窗口内,若是,执行步骤405;否则,执行步骤407。
步骤405接收方判断该报文序列号在滑动窗口上是否标记为未收到,若是,执行步骤406;否则,执行步骤409。
步骤406接收方判定该报文为合法报文,并在滑动窗口中将该报文序列号标记为已收到,本流程结束。
步骤407接收方判断该报文序列号是否落在滑动窗口的左边界之外,若是,执行步骤409;否则,执行步骤408。
步骤408接收方判定该报文为合法报文,并判定该报文序列号落在滑动窗口的左边界加上滑动窗口宽度后所得边界之外,将滑动窗口右移至包含该序列号,并在滑动窗口上将该报文序列号标记为已收到,本流程结束。
步骤409接收方判定该报文为非法报文,丢弃该报文,本流程结束。
以下给出一个具体例子如图5所示,设发送方有两个单元单元1和单元2,发送方的报文序列号为1~2n,且n为整数,则将报文序列号划分为两个子集A={1,3,5,...2n-1},B={2,4,6,...,2n},并将A作为单元1的发送报文序列号集合,将B作为单元2的发送报文序列号集合,同时,接收方根据单元1和单元2的报文序列号集合,确定集合A的滑动窗口1为左边界为1,总宽度为n,确定集合B的滑动窗口2为左边界为2,总宽度为n;此后,单元1第一次发送报文时,将序列号1填入到报文中,同时计算出下一个序列号为3;单元2第一次发送报文时,将序列号2填入到报文中,同时计算出下一个序列号为4;接收方收到报文后,若检测到报文序列号为奇数,则知该报文来自单元1,则利用滑动窗口1来进行报文合法性检测,若检测到报文序列号为偶数,则知该报文来自单元2,则利用滑动窗口2来进行报文合法性检测。
图6是本发明提供的多单元发送时的报文发送装置框图,如图6所示,其主要包括发送方序列号子集分配单元61和至少两个发送单元1~n发送方序列号子集分配单元61用于根据与接收方相同的序列号分配规则,将序列号集合划分为数目至少等于发送单元数的、互不重叠的序列号子集,然后为每个发送单元分配一个序列号子集。
发送方序列号子集分配单元61可在划分完序列号集合之后,立刻将各序列号子集分配给各发送单元;也可在发送单元发送报文时,再将对应序列号子集的序列号发送给发送单元。
发送单元1~n用于在要发送报文时,将发送方序列号子集分配单元61发来的一个序列号填入到所述报文中,然后将报文发送给接收方。
这里,n为大于1的整数。
图7是本发明提供的多单元发送时的报文接收装置框图一,如图7所示,其主要包括接收方序列号子集分配单元71用于根据与发送方相同的序列号分配规则,将序列号集合划分为数目至少等于发送单元数的、互不重叠的序列号子集,然后将各序列号子集发送给接收单元72。
接收单元72用于根据接收方序列号子集分配单元71发来的序列号子集,确定滑动窗口,保存序列号子集与滑动窗口的对应关系;在收到发送单元发来的报文后,根据所述滑动窗口和所述报文的序列号对所述报文进行合法性检测。
图8是本发明提供的多单元发送时的报文接收装置框图二,与图7所示装置相比,接收单元72包括滑动窗口确定单元721和序列号检测单元722,其中,滑动窗口确定单元721用于根据接收方序列号子集分配单元71发来的序列号子集,确定滑动窗口,并将序列号子集和滑动窗口的对应关系发送给序列号检测单元722;序列号检测单元722用于在收到发送单元发来的报文后,在自身保存的来自滑动窗口确定单元721的序列号子集和滑动窗口的对应关系中,查找到所述报文序列号对应的滑动窗口,然后根据所述滑动窗口和所述报文的序列号对所述报文进行合法性检测。
图9为本发明提供的多单元发送时的报文序列号检测系统框图一,如图9所示,该系统包括报文发送装置和报文接收装置,其中,报文发送装置包括发送方序列号子集分配单元91和发送单元1~n发送方序列号子集分配单元91用于根据与接收方相同的序列号分配规则,将序列号集合划分为数目至少等于发送单元数的、互不重叠的序列号子集,然后为每个发送单元分配一个序列号子集。
发送单元1~n用于在要发送报文时,将发送方序列号子集分配单元91发来的一个序列号填入到所述报文中,然后将报文发送给接收单元93。
这里,n为大于1的整数。
报文接收装置包括接收方序列号子集分配单元92和接收单元93接收方序列号子集分配单元92用于根据与发送方相同的序列号分配规则,将序列号集合划分为数目至少等于发送单元数的、互不重叠的序列号子集,然后将各序列号子集发送给接收单元93。
接收单元93用于根据接收方序列号子集分配单元92发来的序列号子集,确定滑动窗口,保存序列号子集与滑动窗口的对应关系;在收到任意一个发送单元发来的报文后,根据所述滑动窗口和所述报文的序列号对所述报文进行合法性检测。
需要指出的是,在报文发送装置和报文接收装置位于同一设备中时,发送方序列号子集分配单元91和接收方序列号子集分配单元92可为同一单元。
图10为本发明提供的多单元发送时的报文序列号检测系统框图二,如图10所示,与图9所示系统相比,接收单元93包括滑动窗口确定单元931和序列号检测单元932,其中,滑动窗口确定单元931用于根据接收方序列号子集分配单元92发来的序列号子集,确定滑动窗口,并将序列号子集和滑动窗口的对应关系发送给序列号检测单元932;序列号检测单元932用于在收到任意一个发送单元发来的报文后,在自身保存的来自滑动窗口确定单元931的序列号子集和滑动窗口的对应关系中,查找到所述报文序列号对应的滑动窗口,然后根据所述滑动窗口和所述报文的序列号对所述报文进行合法性检测。
以上所述仅为本发明的过程及方法实施例,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种多单元发送时的报文序列号检测方法,其特征在于,预先将所有报文序列号划分为互不重叠的、数目至少等于发送方包含的单元数的子集,将每个子集分配给一个单元;接收方根据各子集确定滑动窗口,且记录滑动窗口与序列号子集的对应关系,该方法包括发送方的单元将自身子集的一个序列号填入到要发送的报文中,将该报文发送给接收方;接收方收到该报文后,根据自身记录的滑动窗口与序列号子集的对应关系,查找该报文的序列号对应的滑动窗口,然后根据所述查找到的滑动窗口和所述序列号进行报文合法性检测。
2.如权利要求1所述的方法,其特征在于,所述根据所述查找到的滑动窗口和所述序列号进行报文合法性检测具体为a、接收方判断序列号是否落在所述滑动窗口内,若是,执行步骤b;否则,执行步骤c;b、接收方判断该序列号在所述滑动窗口上是否标记为未收到,若是,判定该报文为合法报文,并在滑动窗口中将该序列号标记为已收到,本流程结束;否则,判定该报文为非法报文,丢弃该报文,本流程结束;c、接收方判断该序列号是否落在滑动窗口的左边界之外,若是,判定该报文为非法报文,丢弃该报文,本流程结束;否则,接收方判定该报文为合法报文,将滑动窗口右移至包含该序列号,并在滑动窗口上将该序列号标记为已收到,本流程结束。
3.如权利要求1所述的方法,其特征在于,所述接收方根据各子集确定滑动窗口具体为接收方根据各子集为每个子集设定一个滑动窗口。
4.如权利要求1所述的方法,其特征在于,所述发送方的各单元发送报文的速率相等,所述将序列号划分为互不重叠的、数目至少等于发送方包含的单元数的子集具体为将所有序列号按照从小到大的顺序依次排列,然后将各序列号轮循分配给各个子集;所述接收方根据各子集确定滑动窗口具体为接收方根据各子集为所有子集设定同一个滑动窗口。
5.如权利要求1所述的方法,其特征在于,所述序列号子集的相邻两序列号之间满足预定的计算规则,所述发送方的单元将自身子集的一个序列号填入到要发送的报文中具体为所述单元根据前一次发送报文的序列号和所述计算规则,计算出当前报文的序列号,然后将该序列号填入到要发送的报文中。
6.如权利要求1所述的方法,其特征在于,所述各滑动窗口以滑动窗口序号区分,所述滑动窗口与序列号子集的对应关系具体为滑动窗口的序号与该序列号子集中的序列号满足一定的计算规则,所述接收方查找报文的序列号对应的滑动窗口具体为接收方根据报文的序列号及所述计算规则,计算出滑动窗口的序号,从而找到该滑动窗口序号对应的滑动窗口。
7.一种多单元发送时的报文发送装置,其特征在于,该装置包括发送方序列号子集分配单元和至少两个发送单元,其中发送方序列号子集分配单元,用于根据与接收方相同的序列号分配规则,将序列号集合划分为数目至少等于发送单元数的、互不重叠的序列号子集,然后为每个发送单元分配一个序列号子集;任意一个发送单元,用于在要发送报文时,将发送方序列号子集分配单元发来的一个序列号填入到所述报文中,然后将报文发送给接收单元。
8.一种多单元发送时的报文接收装置,其特征在于,该装置包括接收方序列号子集分配单元和接收单元,其中接收方序列号子集分配单元,用于根据与发送方相同的序列号分配规则,将序列号集合划分为数目至少等于发送单元数的、互不重叠的序列号子集,然后将各序列号子集发送给接收单元;接收单元,用于根据接收方序列号子集分配单元发来的序列号子集,确定滑动窗口,保存序列号子集与滑动窗口的对应关系;在收到发送单元发来的报文后,根据所述滑动窗口和所述报文的序列号对所述报文进行合法性检测。
9.如权利要求8所述的装置,其特征在于,所述接收单元包括滑动窗口确定单元和序列号检测单元,其中,滑动窗口确定单元,用于根据接收方序列号子集分配单元发来的序列号子集,确定滑动窗口,并将序列号子集和滑动窗口的对应关系发送给序列号检测单元;序列号检测单元,用于在收到发送单元发来的报文后,在自身保存的来自滑动窗口确定单元的序列号子集和滑动窗口的对应关系中,查找到所述报文序列号对应的滑动窗口,然后根据所述滑动窗口和所述报文的序列号对所述报文进行合法性检测。
10.一种多单元发送时的报文序列号检测系统,其特征在于,该系统包括报文发送装置和报文接收装置,且,报文发送装置包括发送方序列号子集分配单元和至少两个发送单元,报文接收装置包括接收方序列号子集分配单元和接收单元,其中发送方序列号子集分配单元,用于根据与接收方相同的序列号分配规则,将序列号集合划分为数目至少等于发送单元数的、互不重叠的序列号子集,然后为每个发送单元分配一个序列号子集;任意一个发送单元,用于在要发送报文时,将发送方序列号子集分配单元发来的一个序列号填入到所述报文中,然后将报文发送给接收单元;接收方序列号子集分配单元,用于根据与发送方相同的序列号分配规则,将序列号集合划分为数目至少等于发送单元数的、互不重叠的序列号子集,然后将各序列号子集发送给接收单元;接收单元,用于根据接收方序列号子集分配单元发来的序列号子集,确定滑动窗口,保存序列号子集与滑动窗口的对应关系;在收到任意一个发送单元发来的报文后,根据所述滑动窗口和所述报文的序列号对所述报文进行合法性检测。
11.如权利要求10所述的系统,其特征在于,所述接收单元包括滑动窗口确定单元和序列号检测单元,其中,滑动窗口确定单元,用于根据接收方序列号子集分配单元发来的序列号子集,确定滑动窗口,并将序列号子集和滑动窗口的对应关系发送给序列号检测单元;序列号检测单元,用于在收到任意一个发送单元发来的报文后,在自身保存的来自滑动窗口确定单元的序列号子集和滑动窗口的对应关系中,查找到所述报文序列号对应的滑动窗口,然后根据所述滑动窗口和所述报文的序列号对所述报文进行合法性检测。
12.如权利要求10或11所述的系统,其特征在于,在所述报文发送装置和报文接收装置位于同一设备时,所述发送方序列号子集分配单元和接收方序列号子集分配单元为同一单元。
全文摘要
本发明公开了多单元发送时的报文序列号检测方法,预先将所有报文序列号划分为互不重叠的、数目至少等于发送方包含的单元数的子集,将每个子集分配给一个单元;接收方根据各子集确定滑动窗口,且记录滑动窗口与序列号子集的对应关系;此后接收方根据所述对应关系和发送方发来报文的序列号确定所述报文是否为合法报文;本发明同时公开了多单元发送时的报文发送装置、报文接收装置和报文序列号检测系统。本发明使得发送方各单元发送的报文的序列号没有重叠,且接收方收到报文后,根据序列号找到对应滑动窗口对报文的合法性进行检测,提高了报文合法性检测的准确率,避免了报文的丢失。
文档编号H04L12/56GK1819560SQ200610064820
公开日2006年8月16日 申请日期2006年3月14日 优先权日2006年3月14日
发明者杨银柱 申请人:杭州华为三康技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1