CN104836744B - 一种报文处理方法和装置 - Google Patents
一种报文处理方法和装置 Download PDFInfo
- Publication number
- CN104836744B CN104836744B CN201510288683.XA CN201510288683A CN104836744B CN 104836744 B CN104836744 B CN 104836744B CN 201510288683 A CN201510288683 A CN 201510288683A CN 104836744 B CN104836744 B CN 104836744B
- Authority
- CN
- China
- Prior art keywords
- message
- source
- default
- unknown unicast
- sent
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种报文处理方法和装置,所述方法包括:检测当前队列的报文中是否存在未知单播报文;当检测到当前队列中的第一报文为未知单播报文时,CP持续发送未知单播通知报文到第一报文的目的数据流终端RP;接收目的RP发送的第一预设报文,第一预设报文是目的RP在接收到CP发送的未知单播通知报文时,向第一报文的源RP发送的预设的报文;CP学习第一预设报文的源媒体访问控制MAC地址。本发明能够在链路震荡导致MAC表项被清空时,把未知单播报文变成已知单播报文,在后续链路出现拥塞时提供QCN技术支持。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种报文处理方法和装置。
背景技术
量化拥塞通知(Quantized Congestion Notification,QCN)是一套应用于二层的端到端的拥塞通知机制,通过主动反向通知,减少网络中的丢包率和延时,从而提高网络性能。
但是,目前QCN技术只对二层的已知单播报文有作用,如果由于链路震荡导致拥塞点设备(Congestion Point,CP)或反作用点(Reaction Point,RP)上的媒体访问控制(Media Access Control,MAC)表项被清空时,在QCN中RP就是指数据流的源端(即数据流终端),就会使得单向报文从已知单播报文变成未知广播报文,当该报文后续出现拥塞时,QCN就无法对该报文起作用。
发明内容
有鉴于此,本发明提供一种报文处理方法和装置,在链路震荡导致MAC表项被清空时,把未知单播报文变成已知单播报文,在后续链路出现拥塞时提供QCN技术支持。
根据本发明实施例的第一方面,提供一种报文处理方法,用于拥塞点设备CP,所述方法包括:
检测当前队列的报文中是否存在未知单播报文;
当检测到所述当前队列中的第一报文为未知单播报文时,所述CP持续发送未知单播通知报文到所述第一报文的目的数据流终端RP;
接收所述目的RP发送的第一预设报文,所述第一预设报文是所述目的RP在接收到所述CP发送的所述未知单播通知报文时,向所述第一报文的源RP发送的预设的报文;
所述CP学习所述第一预设报文的源媒体访问控制MAC地址。
根据本发明实施例的第二方面,提供一种报文处理方法,用于数据流终端RP,所述方法包括:
接收拥塞点设备CP在检测到当前队列中的第一报文为未知单播报文时,向所述RP持续发送的未知单播通知报文;
所述RP判断自身是否为所述第一报文的目的RP;
当所述RP为所述第一报文的目的RP时,发送第一预设报文到所述第一报文的源RP,以使得所述CP在接收到所述第一预设报文后,学习所述第一预设报文的源媒体访问控制MAC地址。
根据本发明实施例的第三方面,提供一种报文处理装置,用于拥塞点设备CP,所述装置包括:
检测单元,用于检测当前队列的报文中是否存在未知单播报文;
第一通知单元,用于当检测到所述当前队列中的第一报文为未知单播报文时,所述CP持续发送未知单播通知报文到所述第一报文的目的数据流终端RP;
接收单元,用于接收所述目的RP发送的第一预设报文,所述第一预设报文是所述目的RP在接收到所述CP发送的所述未知单播通知报文时,向所述第一报文的源RP发送的预设的报文;
学习单元,用于所述CP学习所述第一预设报文的源媒体访问控制MAC地址。
根据本发明实施例的第四方面,提供一种报文处理装置,用于数据流终端RP,所述装置包括:
接收单元,用于接收拥塞点设备CP在检测到当前队列中的第一报文为未知单播报文时,向所述RP持续发送的未知单播通知报文;
第一判断单元,用于所述RP判断自身是否为所述第一报文的目的RP;
第一发送单元,用于当所述RP为所述第一报文的目的RP时,发送第一预设报文到所述第一报文的源RP,以使得所述CP在接收到所述第一预设报文后,学习所述第一预设报文的源媒体访问控制MAC地址。
本发明实施例中,拥塞点设备CP检测到第一报文为未知单播报文时,持续发送未知单播通知报文到所述第一报文的目的RP。然后由目的RP在接收到所述未知单播通知报文后向所述第一报文的源RP发送第一预设报文,则所述CP在接收到所述第一预设报文后,通过学习第一预设报文的源MAC地址,即此时CP学习到了第一报文的目的MAC地址,从而在CP上建立了与第一报文对应的MAC表项。
通过上述过程,第一报文在CP上建立了对应的MAC表项,实现了在链路出现震荡导致MAC表项被清空时,将第一报文由未知单播报文转变为已知单播报文的目的,并为后续链路出现拥塞时提供QCN技术支持。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是应用本发明实施例实现报文处理的应用场景示意图;
图2是本发明报文处理方法的一个实施例流程图;
图3是本发明报文处理方法的另一个实施例流程图;
图4是本发明报文处理方法的再一个实施例流程图;
图5是本发明报文处理方法的再一个实施例流程图;
图6是本发明报文处理装置所在设备的一种硬件结构图;
图7是本发明报文处理装置的一个实施例框图;
图8是本发明报文处理装置的另一个实施例框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
参见图1,为应用本发明实施例实现报文处理的应用场景示意图:
图1中,拥塞点设备CP检测到未知单播报文时,持续发送未知单播通知报文到第一报文的目的RP。目的RP上的MAC表项中如果不存在第一报文的源MAC地址,则目的RP需要学习所述第一报文的源MAC地址,从而在目的RP上建立与第一报文对应的MAC表项。
然后由目的RP发送第一预设报文到所述第一报文的源RP,则CP在接收到所述第一预设报文后,通过学习第一预设报文的源MAC地址,即此时CP学习到了所述第一报文的目的MAC地址,从而在CP上建立了与第一报文对应的MAC表项。
通过上述过程,在链路出现震荡导致MAC表项被清空时,第一报文在CP和目的RP上均有对应的MAC表项,实现了将第一报文由未知单播报文转变为已知单播报文的目的,并为后续链路出现拥塞时提供QCN技术支持。
进一步地,第一报文的源RP和目的RP之间可以通过交互预设报文,从而实现对目的不可达的报文的发送控制,避免当中间的CP损坏或链路中断使得单播报文不可能达到对方时,流量仍会占用CP链路大量带宽,影响其他报文转发速率的问题。
参见图2,为本发明报文处理方法的一个实施例流程图,该实施例从拥塞点设备CP进行描述,包括以下步骤:
步骤201:检测当前队列的报文中是否存在未知单播报文。
CP转发出端口上没有当前队列的某一报文的目的MAC表项时,说明当前队列的报文中存在未知单播报文。
步骤202:当检测到所述当前队列中的第一报文为未知单播报文时,所述CP持续发送未知单播通知报文到所述第一报文的目的数据流终端RP。
由于现有技术中,CP与RP之间的通信采用拥塞通知消息(CongestionNotification Message,CNM)。可选地,本实施例中,未知单播通知报文可以复用所述CNM报文。将CNM报文中的至少一位保留位置设置为预定值,并且用拥塞通知标签(CN-TAG)作为所述未知单播标识,通过在所述CNM报文中携带CN-TAG,来标识所述第一报文为未知单播报文。
CP持续发送CNM报文到第一报文的目的RP设备,本实施例中,所述CNM报文中至少一位保留位置已经设置为预定值,且携带标识所述第一报文的CN-TAG。目的RP设备在接收到CNM报文时,根据保留位置的值确定该CNM报文为未知单播通知报文,并根据CN-TAG确定当前的未知单播报文为第一报文。
步骤203:接收所述目的RP发送的第一预设报文,所述第一预设报文是所述目的RP在接收到所述CP发送的所述未知单播通知报文时,向所述第一报文的源RP发送的预设的报文。
目的RP由未知单播通知报文已经得知第一报文为未知单播报文后,发送第一预设报文到所述第一报文的源RP,使得CP接收到所述第一预设报文。
为了避免占用过多的带宽资源,可选地,第一预设报文为空数据报文,即第一预设报文是报文长度最短,且数据字段都为0的报文。
步骤204:所述CP学习所述第一预设报文的源MAC地址。
CP在接收到所述第一预设报文后,学习所述第一预设报文的源MAC地址,此时学习到的是第一报文的目的RP的MAC地址,从而在CP上建立了与第一报文对应的MAC表项。
可选地,本实施例中,报文处理方法还包括:
步骤205(图2中未示出):转发所述第一预设报文到位于所述目的RP与所述源RP之间的链路上的其他CP。
所述CP转发第一预设报文到位于所述目的RP与所述源RP之间的链路上的其他CP设备,使得所述链路上的其他CP也学习到所述第一预设报文的源MAC地址,最终使得第一报文的源RP发送的所有单播报文,在所述源RP到所述目的RP之间的链路上需要经过的所有CP上均实现已知单播。
另外,当某一CP设备发生损坏或链路中断使得单播报文不可能达到对方时,流量仍会占用CP链路大量带宽,影响其他报文的转发速率。为了解决这一问题,本实施例中,可选地,所述报文处理方法还包括:
步骤206(图2中未示出):所述CP持续发送未知单播通知报文到所述第一报文的源RP。
源RP设备在接收到所述未知单播通知报文时,本实施例中所述未知单播通知报文复用CNM报文,根据其中保留位置的值确定该CNM报文为未知单播通知报文,以及根据CN-TAG确定当前的未知单播报文为第一报文。
可选地,所述源RP启动一定时器,判断在预设时间段内是否接收到所述第一报文的目的RP发送的所述第一预设报文。如果在预设时间段内未接收到所述第一预设报文,则说明目前源RP发送的单播报文由于链路故障等原因,不可到达目的RP。为了避免目的不可达的报文占用大量带宽,所述源RP停止发送当前报文。
同时所述源RP发送第二预设报文到所述目的RP,当目的RP接收到第二预设报文时,目的RP得知所述源RP当前发送的报文不可到达自身,则目的RP回复第三预设报文到所述源RP。
通过在源RP和目的RP之间交互预设报文,使得所述源RP在接收到所述第三预设报文之后,确定当前链路已经恢复正常,且源RP发送的单播报文可以到达目的RP。此时源RP可以重新开始发送所述当前报文。
可选地,为了避免占用带宽资源,第二预设报文和第三预设报文同样为空数据报文。
步骤207(图2中未示出):在满足第一预设条件时,所述CP停止发送所述未知单播通知报文到所述目的RP,其中所述第一预设条件为:所述CP接收到所述目的RP发送的所述第一预设报文;或所述CP学习到所述第一预设报文的源MAC地址。
当CP接收到第一预设报文或者已经学习到所述第一预设报文的源MAC地址时,说明CP到目的RP的链路正常且报文可达,因此,所述CP不再向所述目的RP发送未知单播通知报文。
步骤208(图2中未示出):在满足第二预设条件时,所述CP停止发送所述未知单播通知报文到所述源RP,其中所述第二预设条件为:所述CP接收到所述源RP发送的第二预设报文,其中所述第二预设报文为所述源RP在接收到所述CP持续发送的所述未知单播通知报文时,向所述目的RP发送的预设的报文。
当所述CP接收到第二预设报文时,说明CP到源RP的链路正常且报文可达,因此,不再向源RP发送未知单播通知报文。
上述实施例中,第一报文在位于源RP到目的RP之间的链路上的所有CP和目的RP上均有对应的MAC表项,实现了在链路出现震荡导致MAC表项被清空时,将第一报文由未知单播报文转变为已知单播报文的目的,并为后续链路出现拥塞时提供QCN技术支持。
同时,通过源RP和目的RP之间交互空数据报文,实现二层单播MAC表项的建立及目的不可达的报文的收发控制。
参见图3,为本发明报文处理方法的另一个实施例流程图,该实施例从数据流终端RP侧进行描述,包括以下步骤:
步骤301:接收拥塞点设备CP在检测到当前队列中的第一报文为未知单播报文时,向所述RP持续发送的未知单播通知报文;
步骤302:所述RP判断自身是否为所述第一报文的目的RP;
步骤303:当所述RP为所述第一报文的目的RP时,发送第一预设报文到所述第一报文的源RP,以使得所述CP在接收到所述第一预设报文后,学习所述第一预设报文的源媒体访问控制MAC地址。
图3所示实施例与前述图2所示实施例的描述一致,其区别仅在于执行主体不同,在此不再赘述。
由上述实施例可见,第一报文在CP和目的RP上均有对应的MAC表项,实现了将第一报文由未知单播报文转变为已知单播报文的目的,并为后续链路出现拥塞时提供QCN技术支持。
另外,通过源RP和目的RP之间交互空数据报文,实现二层单播MAC表项的建立及目的不可达的报文的收发控制。
上述过程是从CP设备端检测到存在未知单播报文时,如何实现将未知单播报文转变为已知单播的情况。本发明实施例中,还有另一种针对在RP端检测到出现了未知单播报文时,如何实现将未知单播报文转变为已知单播的情况,如下:
当所述RP接收到目的MAC地址为自身的第二报文时,判断所述RP上的MAC表项中是否存在所述第二报文的源MAC地址,如果不存在,说明发送第二报文的源RP端此时发送的报文已经处于未知单播状态,则对应地,所述RP可以学习所述第二报文的源MAC地址,然后发送所述第一预设报文到所述第二报文的源RP。其中,可选地,所述RP在学习了所述第二源MAC地址后,连续发送2个以上的第一预设报文。
当CP接收到所述第一预设报文时,所述CP学习所述第一预设报文的源MAC地址,即学习到第二报文的目的MAC地址,并转发该报文,最终使得第二报文在位于所述第二报文的源RP到目的RP之间的链路上的所有CP和目的RP上均有对应的MAC表项。
参见图4,为本发明报文处理方法的另一个实施例流程图,该实施例通过拥塞点设备与数据流终端之间的交互,详细描述了本发明实施例针对在CP端检测到出现未知单播报文时,如何进行报文处理的过程:
步骤401:拥塞点设备CP检测当前队列的报文中是否存在未知单播报文。
CP转发出端口上没有当前队列的某一报文目的MAC的表项时,说明当前队列的报文中存在未知单播报文。
步骤402:当检测到所述当前队列中的第一报文为未知单播报文时,所述CP持续发送未知单播通知报文到所述第一报文的源RP和目的RP。
由于现有技术中,CP与RP之间的通信采用拥塞通知消息(CongestionNotification Message,CNM)。可选地,本实施例中,未知单播通知报文可以复用所述CNM报文。将CNM报文中的至少一位保留位置设置为预定值,并且用拥塞通知标签(CN-TAG)作为所述未知单播标识,通过在所述CNM报文中携带CN-TAG,来标识所述第一报文为未知单播报文。
可选地,所述CP以每秒1个报文的速率持续发送CNM报文到源RP和目的RP。所述CNM报文中至少一位保留位置已经设置为预定值,且携带标识所述第一报文的CN-TAG。以使得源RP或目的RP设备在接收到所述CNM报文时,根据保留位置的值确定该CNM报文为未知单播通知报文,并根据CN-TAG确定当前的未知单播报文为第一报文。
步骤403:当所述目的RP接收到所述CP持续发送的所述未知单播通知报文后,所述目的RP发送第一预设报文到所述源RP。
为了避免由于丢包造成CP后续无法学习到所述第一预设报文的源MAC地址,当目的RP接收到所述未知单播通知报文后,目的RP连续发送2个以上第一预设报文到源RP,其中所述第一预设报文的目的MAC地址为第一报文的源MAC地址,且第一预设报文为空数据报文。
步骤404:所述CP接收到所述第一预设报文后,学习所述第一预设报文的源MAC地址。
CP在接收到所述第一预设报文后,学习其中的源MAC地址,此时学习到的是第一报文的目的RP的MAC地址,从而在CP上建立了与第一报文对应的MAC表项。
步骤405:所述CP转发所述第一预设报文到位于所述目的RP与所述源RP之间的链路上的其他CP。
所述CP转发第一预设报文到位于所述目的RP与所述源RP之间的链路上的其他CP设备,使得其他CP也学习到所述源MAC地址,最终使得第一报文的源RP发送的所有单播报文,在从所述源RP到所述目的RP之间的链路上的所有CP上均实现已知单播。
步骤406:当所述CP接收到所述第一预设报文或学习到所述第一预收报文的源MAC地址后,停止向所述目的RP发送所述未知单播通知报文。
当CP接收到第一预设报文或者已经学习到所述第一预收报文的源MAC地址时,说明CP到目的RP的链路正常且报文可达,因此,所述CP不再向所述目的RP发送未知单播通知报文。
步骤407:当所述源RP接收到所述未知单播通知报文后,启动定时器,判断在预设时间段内是否接收到所述目的RP发送的所述第一预设报文。如果在定时器到时之前,接收到所述第一预设报文,则执行步骤408,否则执行步骤409。
步骤408:所述源RP关闭定时器。
源RP在预设时间段内接收到目的RP发送的所述第一预设报文时,说明源RP至目的RP之间的链路正常,且报文可达。因此,关闭定时器,继续当前报文的发送即可。
步骤409:所述源RP停止发送当前报文。
步骤410:所述源RP发送第二预设报文到所述目的RP。
所述源RP在预设时间段内未接收到所述第一预设报文,则说明目前源RP发送的单播报文由于链路故障等原因,不可到达目的RP。为了避免目的不可达的报文占用大量带宽,所述源RP停止发送当前报文。
同时,所述源RP向所述目的RP发送第二预设报文,第二预设报文的目的MAC地址为所述目的RP的MAC地址。可选地,第二预设报文为空数据报文。源RP以每秒2个报文的速率发送所述第二预设报文。
步骤411:所述CP设备接收到所述第二预设报文时,停止向所述源RP发送所述未知单播通知报文。
当所述CP接收到第二预设报文时,说明CP到源RP的链路正常且报文可达,因此,不再向源RP发送未知单播通知报文。
步骤412:当目的RP接收到第二预设报文时,目的RP回复第三预设报文到所述源RP。
可选地,第三预设报文为空数据报文。
步骤413:当所述源RP接收到所述第三预设数据报文时,重新开始发送所述当前报文。
通过在源RP和目的RP之间交互预设报文,使得所述源RP在接收到所述第三预设报文之后,源RP确定当前链路已经恢复正常,且源RP发送的单播报文可以到达目的RP。此时源RP可以停止向目的RP发送第二预设报文,重新开始正常的二层单播报文的发送。
上述实施例中,第一报文在CP和目的RP上均有对应的MAC表项,实现了在链路出现震荡导致MAC表项被清空时,将第一报文由未知单播报文转变为已知单播报文的目的,并为后续链路出现拥塞时提供QCN技术支持。
同时,当二层单播报文不可到达目的端时,减少该报文占用CP设备的端口带宽;通过源RP和目的RP之间交互空数据报文,控制源RP收发目的RP不可达的报文。
参见图5,为本发明报文处理方法的另一个实施例流程图,该实施例通过拥塞点设备与数据流终端之间的交互,详细描述了本发明实施例针对在RP端检测到出现未知单播报文时,如何进行报文处理的过程:
步骤501:RP接收到第二报文时,判断所述RP的MAC地址是否为所述第二报文的目的MAC地址。当所述RP的MAC地址为所述第二报文的目的MAC地址时,执行步骤502。
步骤502:判断所述RP的MAC表项中是否存在所述第二报文的源MAC地址。如果不存在,则执行步骤503。
步骤503:所述RP学习所述第二报文的源MAC地址。
这里是由于目的RP设备重启、端口震荡、等原因导致RP设备需要重新学习MAC表项,意味着源RP发送的单播报文处于未知广播状态,则目的RP需要学习源MAC地址。
步骤504:所述RP发送第一预设报文到所述第二报文的源RP。
为了避免由于丢包造成CP后续无法学习到所述第一预设报文的源MAC地址,所述RP连续发送2个以上第一预设报文到所述第二报文的源RP,其中所述第一预设报文的目的MAC地址为第二报文的源MAC地址,且第一预设报文为空数据报文。
步骤505:所述CP接收到所述第一预设报文后,学习所述第一预设报文的源MAC地址。
CP在接收到所述第一预设报文后,学习其中的源MAC地址,此时学习到的是第二报文的目的RP的MAC地址,从而在CP上建立了与第二报文对应的MAC表项。
步骤506:所述CP转发所述第一预设报文到位于所述目的RP与所述源RP之间的链路上的其他CP。
所述CP转发第一预设报文到位于所述目的RP与所述源RP之间的链路上的其他CP设备,使得其他CP也学习到所述源MAC地址,最终使得第二报文的源RP发送的所有单播报文,在从所述源RP到所述目的RP之间的链路上的所有CP上均实现已知单播。
上述实施例中,当在RP端检测到第二报文为未知单播报文时,通过上述过程实现了第二报文在CP和目的RP上均有对应的MAC表项,实现了在链路出现震荡导致MAC表项被清空时,将第二报文由未知单播报文转变为已知单播报文的目的,并为后续链路出现拥塞时提供QCN技术支持。
与前述报文处理方法实施例相对应,本发明还提供了报文处理装置的实施例。
本发明报文处理装置的实施例可以分别应用在拥塞点设备和数据源终端上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图6所示,为本发明报文处理装置所在设备的一种硬件结构图,除了图6所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等;从硬件结构上来讲该设备还可能是分布式的设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
参见图7,为本发明报文处理装置的一个实施例框图,所述装置应用在用于拥塞点设备CP上,所述装置包括:检测单元710、第一通知单元720、接收单元730和学习单元740。
其中,检测单元710,用于检测当前队列的报文中是否存在未知单播报文;
第一通知单元720,用于当检测到所述当前队列中的第一报文为未知单播报文时,所述CP持续发送未知单播通知报文到所述第一报文的目的数据流终端RP;
接收单元730,用于接收所述目的RP发送的第一预设报文,所述第一预设报文是所述目的RP在接收到所述CP发送的所述未知单播通知报文时,向所述第一报文的源RP发送的预设的报文;
学习单元740,用于所述CP学习所述第一预设报文的源媒体访问控制MAC地址。
在一个可选的实现方式中:
所述装置还包括(图7中未示出):转发单元,用于转发所述第一预设报文到位于所述目的RP与所述源RP之间的链路上的其他CP。
在另一个可选的实现方式中:
所述装置还包括(图7中未示出):第二通知单元,用于所述CP持续发送所述未知单播通知报文到所述第一报文的源RP。
在另一个可选的实现方式中:
所述装置还包括(图7中未示出):第一执行单元,用于在满足第一预设条件时,所述CP停止发送所述未知单播通知报文到所述目的RP,其中所述第一预设条件为:
所述CP接收到所述目的RP向所述源RP发送的所述第一预设报文;或
所述CP学习到所述源MAC地址。
在另一个可选的实现方式中:
所述装置还包括(图7中未示出):第二执行单元,用于在满足第二预设条件时,所述CP停止发送所述未知单播通知报文到所述源RP,其中所述第二预设条件为:
所述CP接收到所述源RP发送的第二预设报文,所述第二预设报文是所述源RP在接收到所述CP发送的所述未知单播通知报文时,向所述目的RP发送的预设的报文。
参见图8,为本发明报文处理装置的另一个实施例框图,所述装置应用在数据流终端RP上,所述装置包括:接收单元810、第一判断单元820和第一发送单元830。
其中:接收单元810,用于接收拥塞点设备CP在检测到当前队列中的第一报文为未知单播报文时,向所述RP持续发送的未知单播通知报文;
第一判断单元820,用于所述RP判断自身是否为所述第一报文的目的RP;
第一发送单元830,用于当所述RP为所述第一报文的目的RP时,发送第一预设报文到所述第一报文的源RP,以使得所述CP在接收到所述第一预设报文后,学习所述第一预设报文的源媒体访问控制MAC地址。
在一个可选的实现方式中:
所述装置还包括(图8中未示出):第二判断单元,用于当所述RP为所述第一报文的源RP时,判断是否接收到所述第一报文的目的RP发送的所述第一预设报文,其中所述CP在检测到所述第一报文为未知单播报文时向所述目的RP持续发送所述未知单播通知报文,以触发所述目的RP在接收到所述CP持续发送的所述未知单播通知报文后向所述第一报文的源RP发送所述第一预设报文;
第一执行单元,用于当所述RP未收到所述第一预设报文时,所述RP停止发送当前报文;
第二发送单元,用于发送第二预设报文到所述目的RP,以使得所述目的RP在接收到所述第二预设报文之后,发送第三预设报文到所述RP;
第二执行单元,用于当所述RP接收到所述第三预设报文之后,重新开始发送所述当前报文。
在另一个可选的实现方式中:
所述装置还包括(图8中未示出):第三判断单元,用于当所述RP接收到第二报文时,判断所述RP的MAC地址是否为所述第二报文的目的MAC地址;
第四判断单元,用于当所述RP的MAC地址为所述第二报文的目的MAC地址时,判断所述RP上的MAC表项中是否存在所述第二报文的源MAC地址;
学习单元,用于当所述RP上的MAC表项中不存在所述第二报文的所述源MAC地址时,所述RP学习所述第二报文的所述源MAC地址;
所述第一发送单元还用于当所述RP学习了所述第二报文的所述源MAC地址后,发送第一预设报文到所述第一报文的源RP,以使得所述CP在接收到所述第一预设报文后,学习所述第一预设报文的源媒体访问控制MAC地址。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,拥塞点设备CP检测到未知单播报文时,持续发送未知单播通知报文到第一报文的目的RP。目的RP上的MAC表项中如果不存在第一报文的源MAC地址,则目的RP需要学习所述第一报文的源MAC地址,从而在目的RP上建立与第一报文对应的MAC表项。
然后由目的RP发送第一预设报文到所述第一报文的源RP,则CP在接收到所述第一预设报文后,通过学习第一预设报文的源MAC地址,即此时CP学习到了所述第一报文的目的MAC地址,从而在CP上建立了与第一报文对应的MAC表项。
通过上述过程,在链路出现震荡导致MAC表项被清空时,第一报文在CP和目的RP上均有对应的MAC表项,实现了将第一报文由未知单播报文转变为已知单播报文的目的,并为后续链路出现拥塞时提供QCN技术支持。
进一步地,第一报文的源RP和目的RP之间可以通过交互预设报文,可选地,预设报文均为空数据报文,从而实现对目的不可达的报文的发送控制,避免当中间的CP损坏或链路中断使得单播报文不可能达到对方时,流量仍会占用CP链路大量带宽,影响其他报文转发速率的问题。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (16)
1.一种报文处理方法,用于拥塞点设备CP,其特征在于,所述方法包括:
检测当前队列的报文中是否存在未知单播报文;
当检测到所述当前队列中的第一报文为未知单播报文时,所述CP持续发送未知单播通知报文到所述第一报文的目的数据流终端RP;
接收所述目的RP发送的第一预设报文,所述第一预设报文是所述目的RP在接收到所述CP发送的所述未知单播通知报文时,向所述第一报文的源RP发送的预设的报文;
所述CP学习所述第一预设报文的源媒体访问控制MAC地址。
2.如权利要求1所述的报文处理方法,其特征在于,所述CP学习所述第一预设报文的源媒体访问控制MAC地址之后,所述方法还包括:
转发所述第一预设报文到位于所述目的RP与所述源RP之间的链路上的其他CP。
3.如权利要求1所述的报文处理方法,其特征在于,所述方法还包括:
所述CP持续发送所述未知单播通知报文到所述源RP。
4.如权利要求1所述的报文处理方法,其特征在于,所述方法还包括:
在满足第一预设条件时,所述CP停止发送所述未知单播通知报文到所述目的RP,其中所述第一预设条件为:
所述CP接收到所述目的RP向所述源RP发送的所述第一预设报文;或
所述CP学习到所述源MAC地址。
5.如权利要求3所述的报文处理方法,其特征在于,所述方法还包括:
在满足第二预设条件时,所述CP停止发送所述未知单播通知报文到所述源RP,其中所述第二预设条件为:
所述CP接收到所述源RP发送的第二预设报文,所述第二预设报文是所述源RP在接收到所述CP发送的所述未知单播通知报文时,向所述目的RP发送的预设的报文。
6.一种报文处理方法,用于数据流终端RP,其特征在于,所述方法包括:
接收拥塞点设备CP在检测到当前队列中的第一报文为未知单播报文时,向所述RP持续发送的未知单播通知报文;
所述RP判断自身是否为所述第一报文的目的RP;
当所述RP为所述第一报文的目的RP时,发送第一预设报文到所述第一报文的源RP,以使得所述CP在接收到所述第一预设报文后,学习所述第一预设报文的源媒体访问控制MAC地址。
7.如权利要求6所述的报文处理方法,其特征在于,当所述RP为所述第一报文的源RP时,所述方法还包括:
判断是否接收到所述第一报文的目的RP发送的所述第一预设报文,其中所述CP在检测到所述第一报文为未知单播报文时向所述目的RP持续发送所述未知单播通知报文,以触发所述目的RP在接收到所述CP持续发送的所述未知单播通知报文后向所述第一报文的源RP发送所述第一预设报文;
当所述RP未收到所述第一预设报文时,所述RP停止发送当前报文;
发送第二预设报文到所述第一报文的目的RP,以使得所述目的RP在接收到所述第二预设报文之后,发送第三预设报文到所述RP;
当所述RP接收到所述第三预设报文之后,重新开始发送所述当前报文。
8.如权利要求6所述的报文处理方法,其特征在于,所述方法还包括:
当所述RP接收到第二报文时,判断所述RP的MAC地址是否为所述第二报文的目的MAC地址;
当所述RP的MAC地址为所述第二报文的目的MAC地址时,判断所述RP上的MAC表项中是否存在所述第二报文的源MAC地址;
当所述RP上的MAC表项中不存在所述第二报文的所述源MAC地址时,所述RP学习所述第二报文的所述源MAC地址;
当所述RP学习了所述第二报文的所述源MAC地址后,执行所述发送第一预设报文到所述第一报文的源RP,以使得所述CP在接收到所述第一预设报文后,学习所述第一预设报文的源媒体访问控制MAC地址。
9.一种报文处理装置,用于拥塞点设备CP,其特征在于,所述装置包括:
检测单元,用于检测当前队列的报文中是否存在未知单播报文;
第一通知单元,用于当检测到所述当前队列中的第一报文为未知单播报文时,所述CP持续发送未知单播通知报文到所述第一报文的目的数据流终端RP;
接收单元,用于接收所述目的RP发送的第一预设报文,所述第一预设报文是所述目的RP在接收到所述CP发送的所述未知单播通知报文时,向所述第一报文的源RP发送的预设的报文;
学习单元,用于所述CP学习所述第一预设报文的源媒体访问控制MAC地址。
10.如权利要求9所述的报文处理装置,其特征在于,所述装置还包括:
转发单元,用于转发所述第一预设报文到位于所述目的RP与所述源RP之间的链路上的其他CP。
11.如权利要求9所述的报文处理装置,其特征在于,所述装置还包括:
第二通知单元,用于所述CP持续发送所述未知单播通知报文到所述第一报文的源RP。
12.如权利要求9所述的报文处理装置,其特征在于,所述装置还包括:
第一执行单元,用于在满足第一预设条件时,所述CP停止发送所述未知单播通知报文到所述目的RP,其中所述第一预设条件为:
所述CP接收到所述目的RP向所述源RP发送的所述第一预设报文;或
所述CP学习到所述源MAC地址。
13.如权利要求11所述的报文处理装置,其特征在于,所述装置还包括:
第二执行单元,用于在满足第二预设条件时,所述CP停止发送所述未知单播通知报文到所述源RP,其中所述第二预设条件为:
所述CP接收到所述源RP发送的第二预设报文,所述第二预设报文是所述源RP在接收到所述CP发送的所述未知单播通知报文时,向所述目的RP发送的预设的报文。
14.一种报文处理装置,用于数据流终端RP,其特征在于,所述装置包括:
接收单元,用于接收拥塞点设备CP在检测到当前队列中的第一报文为未知单播报文时,向所述RP持续发送的未知单播通知报文;
第一判断单元,用于所述RP判断自身是否为所述第一报文的目的RP;
第一发送单元,用于当所述RP为所述第一报文的目的RP时,发送第一预设报文到所述第一报文的源RP,以使得所述CP在接收到所述第一预设报文后,学习所述第一预设报文的源媒体访问控制MAC地址。
15.如权利要求14所述的报文处理装置,其特征在于,所述装置还包括:
第二判断单元,用于当所述RP为所述第一报文的源RP时,判断是否接收到所述第一报文的目的RP发送的所述第一预设报文,其中所述CP在检测到所述第一报文为未知单播报文时向所述目的RP持续发送所述未知单播通知报文,以触发所述目的RP在接收到所述CP持续发送的所述未知单播通知报文后向所述第一报文的源RP发送所述第一预设报文;
第一执行单元,用于当所述RP未收到所述第一预设报文时,所述RP停止发送当前报文;
第二发送单元,用于发送第二预设报文到所述目的RP,以使得所述目的RP在接收到所述第二预设报文之后,发送第三预设报文到所述RP;
第二执行单元,用于当所述RP接收到所述第三预设报文之后,重新开始发送所述当前报文。
16.如权利要求14所述的报文处理装置,其特征在于,所述装置还包括:
第三判断单元,用于当所述RP接收到第二报文时,判断所述RP的MAC地址是否为所述第二报文的目的MAC地址;
第四判断单元,用于当所述RP的MAC地址为所述第二报文的目的MAC地址时,判断所述RP上的MAC表项中是否存在所述第二报文的源MAC地址;
学习单元,用于当所述RP上的MAC表项中不存在所述第二报文的所述源MAC地址时,所述RP学习所述第二报文的所述源MAC地址;
所述第一发送单元还用于当所述RP学习了所述第二报文的所述源MAC地址后,发送第一预设报文到所述第一报文的源RP,以使得所述CP在接收到所述第一预设报文后,学习所述第一预设报文的源媒体访问控制MAC地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510288683.XA CN104836744B (zh) | 2015-05-29 | 2015-05-29 | 一种报文处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510288683.XA CN104836744B (zh) | 2015-05-29 | 2015-05-29 | 一种报文处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104836744A CN104836744A (zh) | 2015-08-12 |
CN104836744B true CN104836744B (zh) | 2018-06-12 |
Family
ID=53814389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510288683.XA Active CN104836744B (zh) | 2015-05-29 | 2015-05-29 | 一种报文处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104836744B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108243117B (zh) * | 2018-01-02 | 2022-05-24 | 新华三技术有限公司 | 一种流量监控方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101056267A (zh) * | 2007-05-15 | 2007-10-17 | 杭州华三通信技术有限公司 | 二层转发方法及转发设备 |
CN102123106A (zh) * | 2011-04-21 | 2011-07-13 | 杭州华三通信技术有限公司 | 一种虚拟专用局域网服务网络中mac地址学习方法和装置 |
CN103346962A (zh) * | 2013-06-20 | 2013-10-09 | 杭州华三通信技术有限公司 | 未知单播报文转发方法及路由桥 |
CN103685007A (zh) * | 2012-08-31 | 2014-03-26 | 杭州华三通信技术有限公司 | 一种边缘设备报文转发时的mac学习方法及边缘设备 |
CN104506437A (zh) * | 2014-12-29 | 2015-04-08 | 杭州华三通信技术有限公司 | 一种表项建立方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8988984B2 (en) * | 2011-02-04 | 2015-03-24 | Cisco Technology, Inc. | Designated forwarder election for VPLS with BGP-based MAC learning |
-
2015
- 2015-05-29 CN CN201510288683.XA patent/CN104836744B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101056267A (zh) * | 2007-05-15 | 2007-10-17 | 杭州华三通信技术有限公司 | 二层转发方法及转发设备 |
CN102123106A (zh) * | 2011-04-21 | 2011-07-13 | 杭州华三通信技术有限公司 | 一种虚拟专用局域网服务网络中mac地址学习方法和装置 |
CN103685007A (zh) * | 2012-08-31 | 2014-03-26 | 杭州华三通信技术有限公司 | 一种边缘设备报文转发时的mac学习方法及边缘设备 |
CN103346962A (zh) * | 2013-06-20 | 2013-10-09 | 杭州华三通信技术有限公司 | 未知单播报文转发方法及路由桥 |
CN104506437A (zh) * | 2014-12-29 | 2015-04-08 | 杭州华三通信技术有限公司 | 一种表项建立方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104836744A (zh) | 2015-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10778469B2 (en) | Packet processing method and network device in hybrid access network | |
CN104836743B (zh) | 一种拥塞控制方法及装置 | |
US8189488B2 (en) | Failback to a primary communications adapter | |
CN107332726A (zh) | 一种通信链路的检测方法及装置 | |
CN105162706B (zh) | 组播传输方法、装置及系统 | |
US10541904B2 (en) | Establishing a network fault detection session | |
CN101425942A (zh) | 一种实现双向转发检测的方法、装置及系统 | |
CN101938400A (zh) | 网络拥塞控制的方法和装置 | |
CN111431871B (zh) | Tcp半透明代理的处理方法和装置 | |
WO2022017529A1 (zh) | 数据传输方法、系统、电子设备及存储介质 | |
CN104283711A (zh) | 基于双向转发检测bfd的故障检测方法、节点及系统 | |
CN104702560A (zh) | 一种防止报文攻击方法及装置 | |
CN109218222A (zh) | 一种实现发送端调速的方法、装置和系统 | |
CN102739462B (zh) | 一种测试报文的发送方法以及装置 | |
CN104836744B (zh) | 一种报文处理方法和装置 | |
CN107465634A (zh) | 业务功能链中的资源释放方法、系统及装置 | |
EP3264851B1 (en) | Data transmission method and device for data service | |
CN105939216B (zh) | 报文传输的方法及装置 | |
US20150032872A1 (en) | Selectively Using Network Address Translated Mapped Addresses Based on their Prior Network Reachability | |
US8588064B2 (en) | Transport layer that warns application of potential bottleneck and methods thereof | |
CN107360012A (zh) | 一种链路状态处理方法及网络节点设备 | |
US11063876B2 (en) | Automatically cycling among packet traffic flows subjecting them to varying drop probabilities in a packet network | |
WO2017173899A1 (zh) | 一种终端、设备服务器、网络消息处理方法、系统及存储介质 | |
CN106992878B (zh) | 一种组播检测的方法及装置 | |
WO2017199913A1 (ja) | 送信装置、方法、プログラムおよび記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |