一种报文处理方法和装置的制造方法
【技术领域】
[0001]本发明涉及网络通信技术领域,尤其涉及一种报文处理方法和装置。
【背景技术】
[0002]量化拥塞通知(QuantizedCongest1n Notificat1n,QCN)是一套应用于二层的端到端的拥塞通知机制,通过主动反向通知,减少网络中的丢包率和延时,从而提高网络性會K。
[0003]但是,目前QCN技术只对二层的已知单播报文有作用,如果由于链路震荡导致拥塞点设备(Congest1n Point,CP)或反作用点(React1n Point,RP)上的媒体访问控制(Media Access ControI,MAC)表项被清空时,在QCN中RP就是指数据流的源端(即数据流终端),就会使得单向报文从已知单播报文变成未知广播报文,当该报文后续出现拥塞时,QCN就无法对该报文起作用。
【发明内容】
[0004]有鉴于此,本发明提供一种报文处理方法和装置,在链路震荡导致MAC表项被清空时,把未知单播报文变成已知单播报文,在后续链路出现拥塞时提供QCN技术支持。
[0005]根据本发明实施例的第一方面,提供一种报文处理方法,用于拥塞点设备CP,所述方法包括:
[0006]检测当前队列的报文中是否存在未知单播报文;
[0007]当检测到所述当前队列中的第一报文为未知单播报文时,所述CP持续发送未知单播通知报文到所述第一报文的目的数据流终端RP ;
[0008]接收所述目的RP发送的第一预设报文,所述第一预设报文是所述目的RP在接收到所述CP发送的所述未知单播通知报文时,向所述第一报文的源RP发送的预设的报文;
[0009]所述CP学习所述第一预设报文的源媒体访问控制MAC地址。
[0010]根据本发明实施例的第二方面,提供一种报文处理方法,用于数据流终端RP,所述方法包括:
[0011]接收拥塞点设备CP在检测到当前队列中的第一报文为未知单播报文时,向所述RP持续发送的未知单播通知报文;
[0012]所述RP判断自身是否为所述第一报文的目的RP ;
[0013]当所述RP为所述第一报文的目的RP时,发送第一预设报文到所述第一报文的源RP,以使得所述CP在接收到所述第一预设报文后,学习所述第一预设报文的源媒体访问控制MAC地址。
[0014]根据本发明实施例的第三方面,提供一种报文处理装置,用于拥塞点设备CP,所述装置包括:
[0015]检测单元,用于检测当前队列的报文中是否存在未知单播报文;
[0016]第一通知单元,用于当检测到所述当前队列中的第一报文为未知单播报文时,所述CP持续发送未知单播通知报文到所述第一报文的目的数据流终端RP ;
[0017]接收单元,用于接收所述目的RP发送的第一预设报文,所述第一预设报文是所述目的RP在接收到所述CP发送的所述未知单播通知报文时,向所述第一报文的源RP发送的预设的报文;
[0018]学习单元,用于所述CP学习所述第一预设报文的源媒体访问控制MAC地址。
[0019]根据本发明实施例的第四方面,提供一种报文处理装置,用于数据流终端RP,所述装置包括:
[0020]接收单元,用于接收拥塞点设备CP在检测到当前队列中的第一报文为未知单播报文时,向所述RP持续发送的未知单播通知报文;
[0021]第一判断单元,用于所述RP判断自身是否为所述第一报文的目的RP ;
[0022]第一发送单元,用于当所述RP为所述第一报文的目的RP时,发送第一预设报文到所述第一报文的源RP,以使得所述CP在接收到所述第一预设报文后,学习所述第一预设报文的源媒体访问控制MAC地址。
[0023]本发明实施例中,拥塞点设备CP检测到第一报文为未知单播报文时,持续发送未知单播通知报文到所述第一报文的目的RP。然后由目的RP在接收到所述未知单播通知报文后向所述第一报文的源RP发送第一预设报文,则所述CP在接收到所述第一预设报文后,通过学习第一预设报文的源MAC地址,即此时CP学习到了第一报文的目的MAC地址,从而在CP上建立了与第一报文对应的MAC表项。
[0024]通过上述过程,第一报文在CP上建立了对应的MAC表项,实现了在链路出现震荡导致MAC表项被清空时,将第一报文由未知单播报文转变为已知单播报文的目的,并为后续链路出现拥塞时提供QCN技术支持。
【附图说明】
[0025]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
[0026]图1是应用本发明实施例实现报文处理的应用场景示意图;
[0027]图2是本发明报文处理方法的一个实施例流程图;
[0028]图3是本发明报文处理方法的另一个实施例流程图;
[0029]图4是本发明报文处理方法的再一个实施例流程图;
[0030]图5是本发明报文处理方法的再一个实施例流程图;
[0031]图6是本发明报文处理装置所在设备的一种硬件结构图;
[0032]图7是本发明报文处理装置的一个实施例框图;
[0033]图8是本发明报文处理装置的另一个实施例框图。
【具体实施方式】
[0034]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0035]在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0036]应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0037]参见图1,为应用本发明实施例实现报文处理的应用场景示意图:
[0038]图1中,拥塞点设备CP检测到未知单播报文时,持续发送未知单播通知报文到第一报文的目的RP。目的RP上的MAC表项中如果不存在第一报文的源MAC地址,则目的RP需要学习所述第一报文的源MAC地址,从而在目的RP上建立与第一报文对应的MAC表项。
[0039]然后由目的RP发送第一预设报文到所述第一报文的源RP,则CP在接收到所述第一预设报文后,通过学习第一预设报文的源MAC地址,即此时CP学习到了所述第一报文的目的MAC地址,从而在CP上建立了与第一报文对应的MAC表项。
[0040]通过上述过程,在链路出现震荡导致MAC表项被清空时,第一报文在CP和目的RP上均有对应的MAC表项,实现了将第一报文由未知单播报文转变为已知单播报文的目的,并为后续链路出现拥塞时提供QCN技术支持。
[0041]进一步地,第一报文的源RP和目的RP之间可以通过交互预设报文,从而实现对目的不可达的报文的发送控制,避免当中间的CP损坏或链路中断使得单播报文不可能达到对方时,流量仍会占用CP链路大量带宽,影响其他报文转发速率的问题。
[0042]参见图2,为本发明报文处理方法的一个实施例流程图,该实施例从拥塞点设备CP进行描述,包括以下步骤:
[0043]步骤201:检测当前队列的报文中是否存在未知单播报文。
[0044]CP转发出端口上没有当前队列的某一报文的目的MAC表项时,说明当前队列的报文中存在未知单播报文。
[0045]步骤202:当检测到所述当前队列中的第一报文为未知单播报文时,所述CP持续发送未知单播通知报文到所述第一报文的目的数据流终端RP。
[0046]由于现有技术中,CP与RP之间的通信采用拥塞通知消息(Congest1nNotificat1n Message,CNM)。可选地,本实施例中,未知单播通知报文可以复用所述CNM报文。将CNM报文中的至少一位保留位置设置为预定值,并且用拥塞通知标签(CN-TAG)作为所述未知单播标识,通过在所述CNM报文中携带CN-TAG,来标识所述第一报文为未知单播报文。
[0047]CP持续发送CNM报文到第一报文的目的RP设备,本实施例中,所述CNM报文中至少一位保留位置已经设置为预定值,且携带标识所述第一报文的CN-TAG。目的RP设备在接收到CNM报文时,根据保留位置的值确定该CNM报文为未知单播通知报文,并根据CN-TAG确定当前的未知单播报文为第一报文。
[0048]步骤203:接收所述目的RP发送的第一预设报文,所述第一预设报文是所述目的RP在接收到所述CP发送的所述未知单播通知报文时,向所述第一报文的源RP发送的预设的报文。
[0049]目的RP由未知单播通知报文已经得知第一报文为未知单播报文后,发送第一预设报文到所述第一报文的源RP,使得CP接收到所述第一预设报文。
[0050]为了避免占用过多的带宽资源,可选地,第一预设报文为空数据报文,即第一预设报文是报文长度最短,且数据字段都为O的报文。
[0051]步骤204:所述CP学习所述第一预设报文的源MAC地址。
[0052]CP在接收到所述第一预设报文后,学习所述第一预设报文的源MAC地址,此时学习到的是第一报文的目的RP的MAC地址,从而在CP上建立了与第一报文对应的MAC表项。
[0053]可选地,本实施例中,报文处理方法还包括:
[0054]步