首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种Fast‑Hello报文的传输方法和设备 

申请/专利权人:新华三技术有限公司

申请日:2014-06-27

公开(公告)日:2017-11-28

公开(公告)号:CN104144129B

主分类号:H04L12/803(2013.01)I

分类号:H04L12/803(2013.01)I;H04L12/26(2006.01)I

优先权:

专利状态码:有效-授权

法律状态:2017.11.28#授权;2017.06.16#著录事项变更;2015.02.11#实质审查的生效;2014.11.12#公开

摘要:本发明公开了一种Fast‑Hello报文的传输方法和设备,该方法包括:主节点向传输节点发送第一Fast‑Hello报文,由传输节点在收到所述第一Fast‑Hello报文后,将聚合链路的负载分担方式配置为利用源MAC地址进行链路负载分担;所述主节点选取预设第一数量的源MAC地址;所述主节点构造预设第一数量的第二Fast‑Hello报文,并依次发送所述第二Fast‑Hello报文;传输节点从所述第二Fast‑Hello报文中获得源MAC地址,利用所述源MAC地址进行链路负载分担,并基于链路负载分担结果转发所述第二Fast‑Hello报文。本发明实施例中,可以使得三个连续的Fast‑hello报文在聚合链路的不同链路上进行转发,降低RRPP误检测的概率,并避免造成检测震荡和临时环路等问题。

主权项:一种完整性快速检测Fast‑Hello报文的传输方法,应用于包括主节点和多个传输节点的快速环网保护协议RRPP网络中,其特征在于,当所述RRPP网络中的相邻节点之间存在聚合链路时,所述方法包括以下步骤:所述主节点向传输节点发送第一Fast‑Hello报文,所述第一Fast‑Hello报文用于指示传输节点配置聚合链路的负载分担方式为利用源介质访问控制MAC地址进行链路负载分担;由传输节点在收到所述第一Fast‑Hello报文后,将聚合链路的负载分担方式配置为利用源MAC地址进行链路负载分担;所述主节点选取预设第一数量的源MAC地址;所述主节点以所述预设第一数量的源MAC地址分别构造第二Fast‑Hello报文,并依次发送每个所述第二Fast‑Hello报文;以使收到第二Fast‑Hello报文的传输节点从所述第二Fast‑Hello报文中获得源MAC地址,利用所述源MAC地址在聚合链路对应的多个物理端口之间进行链路负载分担,并基于链路负载分担结果转发所述第二Fast‑Hello报文。

全文数据:一种Fast-HeIIο报文的传输方法和设备技术领域[0001]本发明涉及通信技术领域,尤其是一种Fast-Hello报文的传输方法和设备。背景技术[0002]在RRPPRapidRingProtectionProtocol,快速环网保护协议)的快速检测机制中,当需要检测链路状况时,主节点会设置Fast-Hello完整性快速检测定时器,并周期性地从主端口发送Fast-HelIo报文。在Fast-Fail定时器超时前,如果主节点通过副端口收到该Fast-HelIo报文,则认为环路处于健康状态,即没有链路发生故障;否则,认为环路处于断裂状态,即有链路发生故障。[0003]进一步的,主节点一般通过专用CPUCentralProcessingUnit,中央处理器发送Fast-HelIo报文,且Fast-HelIo报文的发送周期一般为ms毫秒级别,例如,Fast-HelIo报文的发送周期为l〇ms。基于此,如果主节点连续发送3次Fast-Hello报文之后,主节点均没有通过副端口收到相应的Fast-HelIo报文,则主节点就会将副端口放开,从而达到50ms以内(如30ms的收敛性能。[0004]如图1所示,为RRPP的组网示意图,设备B和设备C之间存在三条链路,这三条链路组成一条聚合链路。基于此,设备B在向设备C发送Fast-Hello报文时,会通过同一条链路如链路1发送Fast-Hello报文。当该链路如链路1发生故障时,设备B会选择另一条链路如链路2发送Fast-HelIo报文。[0005]但是,如果设备B无法在较快时间(如30ms时间)内将从链路1上发送的Fast-Hello报文切换到链路2上发送,则会造成主节点连续发送3次Fast-Hello报文之后,均没有通过副端口收到Fast-Hello报文,因此,主节点会认为环路处于断裂状态,并将副端口放开,显然此时环路应该是健康状态,即得到了错误的结论。当设备B将从链路1上发送的Fast-Hello报文切换到链路2上发送后,主节点重新从副端口收到Fast-Hello报文,认为环路是健康状态,并会重新阻塞副端口。在此期间,会造成一次检测震荡,且会有临时环路产生。发明内容[0006]本发明实施例提供一种完整性快速检测Fast-Hello报文的传输方法,应用于包括主节点和多个传输节点的快速环网保护协议RRPP网络中,当所述RRPP网络中的相邻节点之间存在聚合链路时,所述方法包括以下步骤:[0007]所述主节点向传输节点发送第一Fast-HelIo报文,所述第一Fast-HelIo报文用于指示传输节点配置聚合链路的负载分担方式为利用源介质访问控制MAC地址进行链路负载分担;由传输节点在收到所述第一Fast-Hello报文后,将聚合链路的负载分担方式配置为利用源MAC地址进行链路负载分担;[0008]所述主节点选取预设第一数量的源MAC地址;[0009]所述主节点以所述预设第一数量的源MAC地址分别构造第二Fast-Hello报文,并依次发送每个所述第二Fast-HelIo报文;[0010]以使收到第二Fast-Hello报文的传输节点从所述第二Fast-Hello报文中获得源MAC地址,利用所述源MAC地址在聚合链路对应的多个物理端口之间进行链路负载分担,并基于链路负载分担结果转发所述第二Fast-HelIo报文。[0011]所述主节点选取预设第一数量的源MAC地址的过程,具体包括:[0012]所述主节点选取预设第二数量的备选源MAC地址,并以所述预设第二数量的备选源MAC地址分别构造第三Fast-HelIo报文,并依次发送每个所述第三Fast-HelIo报文;以使通过聚合链路收到所述第三Fast-Hello报文的传输节点获得所述第三Fast-Hello报文中携带的备选源MAC地址,并由所述传输节点确定本传输节点上收到所述第三Fast-HelIo报文的物理端口;其中,所述预设第二数量大于所述预设第一数量,且等于聚合链路的最大成员端口的数目;[0013]所述主节点接收来自所述传输节点的携带所述备选源MAC地址、所述物理端口和所述传输节点的MAC地址的第四Fast-HelIo报文,并在所述备选源MAC地址下记录所述物理端口和所述传输节点的MAC地址;如果所述主节点通过聚合链路收到所述主节点发送的第三Fast-Hello报文,则所述主节点在所述第三Fast-Hello报文中携带的备选源MAC地址下记录所述主节点上收到所述第三Fast-HelIo报文的物理端口和所述主节点的MAC地址;[0014]所述主节点为各备选源MAC地址维护端口链表,且所述端口链表中记录有第三Fast-HelIo报文经过的各节点的MAC地址以及各节点上收到所述第三Fast-HelIo报文的物理端口,并利用各备选源MAC地址对应的端口链表从所述预设第二数量的备选源MAC地址中选取出预设第一数量的源MAC地址。[0015]所述主节点利用各备选源MAC地址对应的端口链表从所述预设第二数量的备选源MAC地址中选取出预设第一数量的源MAC地址,具体包括:[0016]所述主节点将预设第一数量个端口链表划分到一个端口链表组;[0017]针对每个端口链表组,所述主节点确定端口链表组对应的预设第一数量的备选源MAC地址被同一节点上的同一物理端口收到的冲突概率;[0018]所述主节点选择冲突概率最小的端口链表组对应的预设第一数量的备选源MAC地址,为选取出的所述预设第一数量的源MC地址。[0019]所述主节点确定端口链表组对应的预设第一数量的备选源MAC地址被同一节点上的同一物理端口收到的冲突概率的过程,具体包括以下步骤:[0020]针对端口链表组内的所有端口链表,所述主节点统计各端口链表中记录的MAC地址和物理端口;如果各端口链表分别对应的备选源MAC地址在各自的端口链表中对应的MAC地址和物理端口是相同的,则对所述端口链表组的冲突概率加1;其中,冲突概率的初始值为〇;[0021]所述主节点计算每个端口链表组的冲突概率;[0022]如果冲突概率最小的端口链表组为1个,则所述主节点确定该端口链表组为被同一节点上的同一物理端口收到的冲突概率最小的端口链表组;[0023]如果冲突概率最小的端口链表组为多个,则针对所述多个端口链表组内的所有端口链表,所述主节点统计各端口链表中记录的MAC地址和物理端口;针对所有端口链表中的任意两个端口链表,如果所述两个端口链表分别对应的备选源MAC地址在所述两个端口链表中对应的MC地址和物理端口是相同的,则对所述端口链表组的冲突概率加1;[0024]所述主节点计算所述多个端口链表组中的每个端口链表组的冲突概率;[0025]如果冲突概率最小的端口链表组为1个,则所述主节点确定该端口链表组为被同一节点上的同一物理端口收到的冲突概率最小的端口链表组;[0026]如果冲突概率最小的端口链表组为多个,则所述主节点从多个冲突概率最小的端口链表组中任意选择一个端口链表组,并确定该选择的端口链表组为被同一节点上的同一物理端口收到的冲突概率最小的端口链表组。[0027]基于故障检测需要的Fast-Hello报文数量设置所述预设第一数量的值;基于所述RRPP网络中支持的聚合链路的成员端口上限数量设置所述预设第二数量的值;所述预设第二数量的备选源MAC地址所对应的hash值均不相同。[0028]本发明实施例提供一种完整性快速检测Fast-Hello报文的传输方法,应用于包括主节点和多个传输节点的快速环网保护协议RRPP网络中,当所述RRPP网络中的相邻节点之间存在聚合链路时,所述方法包括以下步骤:[0029]传输节点接收来自所述主节点的第一Fast-HelIo报文,所述第一Fast-HelIo报文用于指示传输节点配置聚合链路的负载分担方式为利用源介质访问控制MAC地址进行链路负载分担;所述传输节点在收到所述第一Fast-Hello报文后,将聚合链路的负载分担方式配置为利用源MAC地址进行链路负载分担;[0030]所述传输节点在收到第二Fast-Hello报文之后,从所述第二Fast-Hello报文中获得源MAC地址,利用所述源MAC地址在聚合链路对应的多个物理端口之间进行链路负载分担,并基于链路负载分担结果转发所述第二Fast-HelIo报文;其中,所述第二Fast-HelIo报文是所述主节点以预设第一数量的源MAC地址分别构造并依次发送的第二Fast-HelIo报文。[0031]所述方法还包括:所述传输节点通过聚合链路收到来自主节点的第三Fast-HelIo报文之后,获得所述第三Fast-Hello报文中携带的备选源MAC地址,并确定本传输节点上收到所述第三Fast-Hello报文的物理端口;其中,所述第三Fast-Hello报文是主节点以预设第二数量的备选源MAC地址分别构造并依次发送的第三Fast-Hello报文;所述预设第二数量大于所述预设第一数量,且等于聚合链路的最大成员端口的数目;[0032]当所述传输节点上没有记录所述备选源MAC地址与所述物理端口之间的对应关系时,所述传输节点在本传输节点上记录所述备选源MAC地址与所述物理端口之间的对应关系,并向所述主节点发送携带所述备选源MAC地址、所述物理端口和所述传输节点的MAC地址的第四Fast-Hello报文;[0033]以使所述主节点在所述备选源MAC地址下记录所述物理端口和所述传输节点的MAC地址,为各备选源MAC地址维护端口链表,所述端口链表中记录有第三Fast-HelIo报文经过的各节点的MAC地址以及各节点上收到第三Fast-Hello报文的物理端口,并利用各备选源MAC地址对应的端口链表从预设第二数量的备选源MAC地址中选取出预设第一数量的源MAC地址。[0034]基于故障检测需要的Fast-Hello报文数量设置所述预设第一数量的值;基于所述RRPP网络中支持的聚合链路的成员端口上限数量设置所述预设第二数量的值;所述预设第二数量的备选源MAC地址所对应的hash值均不相同。[0035]本发明实施例提供一种完整性快速检测Fast-Hello报文的传输设备,作为主节点应用于包括主节点和多个传输节点的快速环网保护协议RRPP网络中,当所述RRPP网络中的相邻节点之间存在聚合链路时,所述主节点包括:[0036]第一发送模块,用于向传输节点发送第一Fast-HeIlo报文,第一Fast-HeIlo报文用于指示传输节点配置聚合链路的负载分担方式为利用源介质访问控制MAC地址进行链路负载分担;由传输节点在收到所述第一Fast-Hello报文后,将聚合链路的负载分担方式配置为利用源MAC地址进行链路负载分担;[0037]选取模块,用于选取预设第一数量的源MAC地址;[0038]第二发送模块,用于以所述预设第一数量的源MAC地址分别构造第二Fast-Hello报文,并依次发送每个所述第二Fast-HelIo报文;使收到第二Fast-HelIo报文的传输节点从所述第二Fast-HeIlo报文中获得源MAC地址,利用所述源MAC地址在聚合链路对应的多个物理端口之间进行链路负载分担,并基于链路负载分担结果转发所述第二Fast-Hello报文。[0039]所述选取模块,具体用于选取预设第二数量的备选源MAC地址,并以所述预设第二数量的备选源MAC地址分别构造第三Fast-HelIo报文,并依次发送每个所述第三Fast-Hello报文;以使通过聚合链路收到所述第三Fast-HelIo报文的传输节点获得所述第三Fast-Hello报文中携带的备选源MAC地址,并由所述传输节点确定本传输节点上收到所述第三Fast-Hello报文的物理端口;其中,所述预设第二数量大于所述预设第一数量,且等于聚合链路的最大成员端口的数目;[0040]接收来自所述传输节点的携带所述备选源MAC地址、所述物理端口和所述传输节点的MAC地址的第四Fast-HelIo报文,并在所述备选源MAC地址下记录所述物理端口和所述传输节点的MAC地址;[0041]如果所述主节点通过聚合链路收到所述主节点发送的第三Fast-Hello报文,贝Ij在所述第三Fast-HeIlo报文中携带的备选源MAC地址下记录所述主节点上收到所述第三Fast-HeIlo报文的物理端口和所述主节点的MAC地址;[0042]为各备选源MAC地址维护端口链表,且所述端口链表中记录有第三Fast-HelIo报文经过的各节点的MAC地址以及各节点上收到所述第三Fast-He11〇报文的物理端口,并利用各备选源MAC地址对应的端口链表从所述预设第二数量的备选源MAC地址中选取出预设第一数量的源MAC地址。[0043]所述选取模块,进一步用于将预设第一数量个端口链表划分到一个端口链表组;针对每个端口链表组,确定端口链表组对应的预设第一数量的备选源MAC地址被同一节点上的同一物理端口收到的冲突概率;[0044]选择冲突概率最小的端口链表组对应的预设第一数量的备选源MAC地址,为选取出的所述预设第一数量的源MC地址。[0045]所述选取模块,进一步用于针对端口链表组内的所有端口链表,统计各端口链表中记录的MAC地址和物理端口;如果各端口链表分别对应的备选源MAC地址在各自的端口链表中对应的MAC地址和物理端口是相同的,则对所述端口链表组的冲突概率加1;其中,冲突概率的初始值为〇;计算每个端口链表组的冲突概率;如果冲突概率最小的端口链表组为1个,确定该端口链表组为被同一节点上的同一物理端口收到的冲突概率最小的端口链表组;[0046]如果冲突概率最小的端口链表组为多个,则针对所述多个端口链表组内的所有端口链表,统计各端口链表中记录的MAC地址和物理端口;针对所有端口链表中的任意两个端口链表,如果所述两个端口链表分别对应的备选源MAC地址在所述两个端口链表中对应的MAC地址和物理端口是相同的,则对所述端口链表组的冲突概率加1;计算所述多个端口链表组中的每个端口链表组的冲突概率;如果冲突概率最小的端口链表组为1个,则确定该端口链表组为被同一节点上的同一物理端口收到的冲突概率最小的端口链表组;[0047]如果冲突概率最小的端口链表组为多个,则从多个冲突概率最小的端口链表组中任意选择一个端口链表组,并确定该选择的端口链表组为被同一节点上的同一物理端口收到的冲突概率最小的端口链表组。[0048]基于故障检测需要的Fast-Hello报文数量设置所述预设第一数量的值;基于所述RRPP网络中支持的聚合链路的成员端口上限数量设置所述预设第二数量的值;所述预设第二数量的备选源MAC地址所对应的hash值均不相同。[0049]本发明实施例提供一种完整性快速检测Fast-Hello报文的传输设备,作为传输节点应用于包括主节点和多个传输节点的快速环网保护协议RRPP网络中,当RRPP网络中的相邻节点之间存在聚合链路时,所述传输节点包括:[0050]接收模块,用于接收来自所述主节点的第一Fast-Hello报文;其中,所述第一Fast-Hello报文用于指示传输节点配置聚合链路的负载分担方式为利用源介质访问控制MAC地址进行链路负载分担;[0051]配置模块,用于在收到所述第一Fast-Hello报文之后,将聚合链路的负载分担方式配置为利用源MC地址进行链路负载分担;[0052]处理模块,用于在收到第二Fast-Hello报文后,从第二Fast-Hello报文中获得源MAC地址,利用所述源MAC地址在聚合链路对应的多个物理端口之间进行链路负载分担;其中,所述第二Fast-Hello报文是所述主节点以预设第一数量的源MAC地址分别构造并依次发送的第二Fast-HelIo报文。[0053]发送模块,用于基于链路负载分担结果转发所述第二Fast-Hello报文。[0054]所述处理模块,还用于在通过聚合链路收到来自主节点的第三Fast-Hello报文后,获得第三Fast-HelIo报文中携带的备选源MAC地址,并确定本传输节点上收到所述第三Fast-Hello报文的物理端口;其中,所述第三Fast-Hello报文是主节点以预设第二数量的备选源MAC地址分别构造并依次发送的第三Fast-Hello报文;所述预设第二数量大于所述预设第一数量,且等于聚合链路的最大成员端口的数目;[0055]所述发送模块,还用于当所述传输节点上没有记录所述备选源MAC地址与所述物理端口之间的对应关系时,在本传输节点上记录所述备选源MAC地址与所述物理端口之间的对应关系,并向所述主节点发送携带所述备选源MAC地址、所述物理端口和所述传输节点的MAC地址的第四Fast-HelIo报文;以使所述主节点在所述备选源MAC地址下记录所述物理端口和所述传输节点的MAC地址,为各备选源MAC地址维护端口链表,所述端口链表中记录有第三Fast-HelIo报文经过的各节点的MAC地址以及各节点上收到第三Fast-HelIo报文的物理端口,并利用各备选源MAC地址对应的端口链表从预设第二数量的备选源MAC地址中选取出预设第一数量的源MAC地址。[0056]基于故障检测需要的Fast-Hello报文数量设置所述预设第一数量的值;基于所述RRPP网络中支持的聚合链路的成员端口上限数量设置所述预设第二数量的值;所述预设第二数量的备选源MAC地址所对应的hash值均不相同。[0057]基于上述技术方案,本发明实施例中,主节点和各传输节点可以利用源MACMediaAccessControl,介质访问控制地址进行链路负载分担,从而使得三个连续的Fast-hello报文在聚合链路的不同链路上进行转发,降低RRPP误检测的概率,并且可以避免造成检测震荡和临时环路等问题。附图说明[0058]图1是现有技术中提出的RRPP的组网不意图;[0059]图2是本发明实施例提供的一种Fast-Hello报文的传输方法流程图;[0060]图3是本发明实施例提供的一种主节点的结构示意图;[0061]图4是本发明实施例提供的一种传输节点的结构示意图。具体实施方式[0062]针对现有技术中存在的问题,本发明实施例提供一种Fast-Hello报文的传输方法,该方法可以应用于包括主节点和多个传输节点的RRPP网络中;本发明实施例中,该RRPP网络中的相邻节点之间存在聚合链路。以图1为本发明实施例的应用场景示意图,在设备B和设备C之间存在聚合链路,且该聚合链路由链路1、链路2和链路3组成;在设备C和设备D之间存在聚合链路,且该聚合链路由链路4、链路5和链路6组成;在设备D和设备E之间存在聚合链路,且该聚合链路由链路7和链路8组成。在上述应用场景下,如图2所示,该Fast-HelIo报文的传输方法具体可以包括以下步骤:[0063]步骤201,主节点向传输节点发送第一Fast-Hello报文,该第一Fast-Hello报文用于指示传输节点配置聚合链路的负载分担方式为利用源MAC地址进行链路负载分担;由传输节点在接收到第一Fast-Hello报文之后,将聚合链路的负载分担方式配置为利用源MAC地址进行链路负载分担。[0064]如图1所示,用户需要在设备A上配置聚合链路的负载分担方式为利用源MAC地址进行链路负载分担。设备A向设备B发送第一Fast-Hello报文,设备B将聚合链路的负载分担方式配置为利用源MAC地址进行链路负载分担,并将第一Fast-Hello报文发送给设备C。设备C将聚合链路的负载分担方式配置为利用源MAC地址进行链路负载分担,并将第一Fast-Hello报文发送给设备D。设备D将聚合链路的负载分担方式配置为利用源MC地址进行链路负载分担,并将第一Fast-Hello报文发送给设备E。设备E将聚合链路的负载分担方式配置为利用源MAC地址进行链路负载分担,并将第一Fast-Hello报文发送给设备A。设备A在收到第一Fast-HelIo报文后,执行步骤202。[0065]如表1所示,为Fast-Hello报文的格式示意图,其中的AGG_HASH_M0DE聚合哈希值方式字段占用一个字节,并用于指示聚合链路的负载分担方式。例如,当AGG_HASH_M0DE字段的值为指定标识如2时,表示聚合链路的负载分担方式为利用源MC地址进行链路负载分担。各传输节点在收到FaSt-Hell0报文后,如果发现AGG_HASH_MODE字段的值为指定标识,则将聚合链路的负载分担方式配置为利用源MAC地址进行链路负载分担,并利用源MAC地址在聚合链路对应的多个物理端口之间进行链路负载分担。[0066]表I[0069]基于上述表1所示的Fast-Hello报文的格式,对于第一Fast-Hello报文,其AGG_HASH_M0DE字段的取值为指定标识如2,其源MAC地址可以为任意源MAC地址,如源MAC地址可以为000F-E203-FD75。其中,源MAC地址000F-E203-FD75为现有的Fast-Hello报文的源MAC地址。此外,对于其它字段的取值,与现有技术的取值相同,本发明实施例对此不再赘述。[0070]步骤202,主节点选取预设第一数量的源MAC地址。[0071]本发明实施例中,可以基于故障检测需要的Fast-Hello报文数量设置预设第一数量的值。例如,主节点通过主端口连续发送3次Fast-HelIo报文后,如果没有通过副端口收到相应的Fast-Hello报文,则认为链路存在故障时,则故障检测需要的Fast-Hello报文数量为3,因此可以设置预设第一数量的值为3。[0072]步骤203,主节点以预设第一数量的源MAC地址分别构造第二Fast-Hello报文,并依次发送每个第二Fast-HelIo报文。[0073]假设预设第一数量的值为3,主节点选取的3个源MAC地址为源MAC地址1、源MAC地址2、源MAC地址3。则:主节点以源MAC地址1构造第二Fast-Hello报文1,以源MAC地址2构造第二Fast-Hello报文2,以源MAC地址3构造第二Fast-Hello报文3。之后,主节点依次发送第二Fast-HelIo报文1、第二Fast-HelIo报文2、第二Fast-HelIo报文3。具体的,主节点通过专用CPU发送Fast-Hello报文,且Fast-Hello报文的发送周期为IOms时,在第一个10ms,主节点发送第二Fast-HelIo报文1,在第二个IOms,主节点发送第二Fast-HelIo报文2,在第三个IOms,主节点发送第二Fast-HelIo报文3,在第四个IOms,主节点继续发送第二Fast-HelIo报文1,···,以此类推。[0074]基于上述表1所示的Fast-Hello报文的格式,对于第二Fast-Hello报文,其AGG_HASH_M0DE字段的取值为指定标识如2。对于以源MAC地址l构造的第二Fast-Hello报文l,其源MAC地址为源MAC地址1,对于以源MAC地址2构造的第二Fast-Hello报文2,其源MAC地址为源MAC地址2,对于以源MAC地址3构造的第二Fast-HelIo报文3,其源MAC地址为源MAC地址3。对于其它字段的取值,与现有技术的取值相同,在此不再赘述。[0075]步骤204,传输节点在收到第二Fast-Hello报文后,从第二Fast-Hello报文中获得源MAC地址,并利用源MAC地址在聚合链路对应的多个物理端口之间进行链路负载分担,并基于链路负载分担结果转发第二Fast-HelIo报文。[0076]如图1所示,设备B在收到第二Fast-HeIIo报文1后,从第二Fast-HeIIo报文1中获得源MAC地址1,并利用源MAC地址1在聚合链路对应的多个物理端口(端口3、端口4和端口5之间进行链路负载分担,假设链路负载分担结果为端口3,则通过端口3转发第二Fast-Hello报文1。设备B在收到第二Fast-HelIo报文2后,从第二Fast-HelIo报文2中获得源MAC地址2,并利用源MAC地址2在聚合链路对应的多个物理端口(端口3、端口4和端口5之间进行链路负载分担,假设链路负载分担结果为端口4,则通过端口4转发第二Fast-HelIo报文2。设备B在收到第二Fast-Hello报文3后,从第二Fast-Hello报文3中获得源MAC地址3,并利用源MAC地址3在聚合链路对应的多个物理端口(端口3、端口4和端口5之间进行链路负载分担,假设链路负载分担结果为端口5,则通过端口5转发第二Fast-HelIo报文3。[0077]对于设备C和设备D的处理,其与设备B的处理类似,在此不再赘述。[0078]对于设备E,在收到第二Fast-HelIo报文1、第二Fast-HelIo报文2、第二Fast-Hello报文3后,均通过端口19将各第二Fast-HelIo报文转发给设备A。[0079]本发明实施例中,针对步骤202,主节点在选取源MAC地址时,可以根据实际需要任意选择预设第一数量的源MAC地址,如上述选择源MAC地址1、源MAC地址2、源MAC地址3。在一种优选的实施方式中,主节点选取预设第一数量的源MAC地址的过程,还可以包括但不限于如下步骤:[0080]步骤1,主节点选取预设第二数量的备选源MAC地址。[0081]本发明实施例中,可以基于RRPP网络中支持的聚合链路的成员端口上限数量设置预设第二数量的值。例如,RRPP网络中支持的聚合链路的成员端口上限数量为8时,可以设置预设第二数量的值为8或大于8的其它数值。[0082]需要注意的是,预设第二数量的值需要大于预设第一数量的值,且预设第二数量的值可以等于聚合链路的最大成员端口的数目。[0083]本发明实施例中,预设第二数量的备选源MAC地址所对应的hash值均不相同。如预设第二数量的值为8时,主节点选取备选源MAC地址1、备选源MAC地址2、备选源MAC地址3、备选源MAC地址4、备选源MAC地址5、备选源MAC地址6、备选源MAC地址7、备选源MAC地址8。其中,这8个备选源MAC地址的hash值均不相同,即当聚合链路的成员端口为8个时,则这8个备选源MAC地址的hash值会对应到不同的成员端口上。[0084]步骤2,主节点以预设第二数量的备选源MAC地址分别构造第三Fast-HelIo报文,并依次发送每个第三Fast-HelIo报文。[0085]例如,当预设第二数量的值为8时,则主节点可以分别以备选源MAC地址1构造第三Fast-Hello报文1,以备选源MAC地址2构造第三Fast-Hello报文2,以备选源MAC地址3构造第三Fast-Hello报文3,以备选源MAC地址4构造第三Fast-Hello报文4,以备选源MAC地址5构造第三Fast-Hello报文5,以备选源MAC地址6构造第三Fast-Hello报文6,以备选源MAC地址7构造第三Fast-Hello报文7,以备选源MAC地址8构造第三Fast-Hello报文8。进一步的,主节点依次发送第三Fast-HelIo报文1、第三Fast-HelIo报文2、第三Fast-HelIo报文3、第三Fast-He11〇报文4、第三Fast-He11〇报文5、第三Fast-He11〇报文6、第三Fast-HeIlo报文7、第三Fast-Hello报文8。[0086]基于上述表1所示的Fast-Hello报文的格式,对于第三Fast-Hello报文,其AGG_HASH_M0DE字段的取值为指定标识如2。对于以备选源MAC地址1构造的第三Fast-Hello报文1,其源MAC地址为备选源MAC地址1,对于以备选源MAC地址2构造的第三Fast-Hello报文2,其源MAC地址为备选源MAC地址2,以此类推,其它第三Fast-HelIo报文的源MAC地址不再详加赘述。对于其它字段的取值,与现有技术的取值相同,在此不再赘述。[0087]步骤3,传输节点在收到第三Fast-HelIo报文之后,如果本传输节点未通过聚合链路接收到第三Fast-Hello报文,则直接转发第三Fast-Hello报文。如果本传输节点通过聚合链路接收到第三Fast-HelIo报文,则本传输节点转发第三Fast-HelIo报文,并获得该第三Fast-Hello报文中携带的备选源MAC地址,并确定本传输节点上收到该第三Fast-Hello报文的物理端口。[0088]在传输节点通过聚合链路接收到第三Fast-HelIo报文时,当传输节点的关联表中记录有当前获得的备选源MAC地址与当前确定的物理端口之间的对应关系时,如果关联表中该备选源MAC地址对应的物理端口为当前确定的物理端口,则不更新关联表;如果关联表中该备选源MAC地址对应的物理端口不是当前确定的物理端口,则将关联表中该备选源MAC地址对应的物理端口更新为当前确定的物理端口;当传输节点的关联表中没有记录该备选源MAC地址与当前确定的物理端口之间的对应关系时,在本传输节点的关联表中记录该备选源MAC地址与当前确定的物理端口之间的对应关系。传输节点将关联表中该备选源MAC地址对应的物理端口更新为当前确定的物理端口,或者,在本传输节点的关联表中记录该备选源MAC地址与当前确定的物理端口之间的对应关系之后,传输节点还需要向主节点发送携带该备选源MAC地址、当前确定的物理端口和本传输节点的MAC地址的第四Fast-HeIIo报文。[0089]基于上述表1所示的Fast-Hello报文的格式,对于第四Fast-Hello报文,其AGG_HASH_M0DE字段的取值为指定标识(如2,其源MAC地址与传输节点收到的第三Fast-He11〇报文中携带的源MAC地址相同,即相应的备选源MAC地址,其SYSTEM_MAC_ADDR字段的取值为本传输节点的MAC地址,其RCV_P0RT字段的取值为当前确定的物理端口(如物理端口的端口号)。对于其它字段的取值,与现有技术的取值相同,在此不再赘述。[0090]如图1所示,设备B在收到第三Fast-Hello报文1之后,由于未通过聚合链路接收到第三Fast-Hello报文1,因此设备B从该第三Fast-Hello报文1中获得备选源MAC地址1,并利用备选源MAC地址1在聚合链路对应的多个物理端口(端口3、端口4和端口5之间进行链路负载分担,假设链路负载分担结果为端口3,则通过端口3转发第三Fast-HelIo报文1。对于其它第三Fast-Hello报文的处理,与第三Fast-Hello报文1的处理类似,在此不再赘述。[0091]设备C在接收到第三Fast-HelIo报文1之后,由于通过聚合链路接收到第三Fast-Hello报文1,因此设备C从该第三Fast-Hello报文1中获得备选源MAC地址1,并利用备选源MAC地址1在聚合链路对应的多个物理端口(端口9、端口10和端口11之间进行链路负载分担,假设链路负载分担结果为端口9,则设备C通过端口9转发第三Fast-HelIo报文1。在此基础上,设备C还需要获得第三Fast-HelIo报文1中携带的备选源MAC地址(即备选源MAC地址1,并确定设备C上收到第三Fast-Hello报文1的物理端口(即端口6。之后,如果设备C的关联表中记录有备选源MAC地址1与端口6之间的对应关系,则设备C不需要更新关联表;如果设备C的关联表中没有记录备选源MAC地址1与端口6之间的对应关系,则设备C需要在关联表中记录备选源MAC地址1与端口6之间的对应关系,并向主节点(设备A发送携带备选源MAC地址1、端口6和设备C的MAC地址假设为MAC-C的第四Fast-Hello报文,即第四Fast-Hello报文的源MAC地址为备选源MAC地址1,第四Fast-Hello报文的SYSTEM_MAC_ADDR字段的取值为MAC-C,第四Fast-Hello报文的RCV_P0RT字段的取值为端口6。对于其它第三Fast-Hello报文的处理,与第三Fast-Hello报文1的处理类似,在此不再赘述。[0092]设备D的处理与设备C的处理类似,在此不再赘述。设备E在接收到第三Fast-Hello报文1后,由于通过聚合链路接收到第三Fast-HelIo报文1,因此直接通过端口19转发第三Fast-Hello报文1。在此基础上,设备E还需要获得第三Fast-Hello报文1中携带的备选源MAC地址(即备选源MAC地址1,并确定设备E上收到第三Fast-Hello报文1的物理端口(如端口17。之后,如果设备E的关联表中记录有备选源MAC地址1与端口17之间的对应关系,则设备E不需要更新关联表;如果设备E的关联表中没有记录备选源MC地址1与端口17之间的对应关系,则设备E需要在关联表中记录备选源MC地址1与端口17之间的对应关系,并向主节点(设备A发送携带备选源MAC地址1、端口17和设备E的MAC地址(假设为MAC-E的第四Fast-Hello报文,即第四Fast-Hello报文的源MAC地址为备选源MAC地址1,第四Fast-Hello报文的SYSTEM_MAC_ADDR字段的取值为MAC-E,第四Fast-Hello报文的RCV_P0RT字段的取值为端口17。对于其它第三Fast-Hello报文的处理,与第三Fast-Hello报文1的处理类似,在此不再赘述。[0093]步骤4,主节点接收来自传输节点的第四Fast-HelIo报文,基于该第四Fast-HelIo报文中携带的备选源MAC地址、物理端口和传输节点的MAC地址,主节点在该备选源MAC地址下记录物理端口和传输节点的MC地址。例如,主节点在收到来自设备C的携带备选源MC地址1、端口6和MAC-C的第四Fast-Hello报文后,在备选源MAC地址1下记录端口6和MAC-C。[0094]需要注意的是,针对主节点发送的第三Fast-Hello报文,如果本主节点通过聚合链路接收到该第三Fast-HelIo报文,则主节点也需要在该第三Fast-HelIo报文中携带的备选源MAC地址下记录本主节点上收到该第三Fast-HeIlo报文的物理端口以及本主节点的MAC地址;此外,如果主节点未通过聚合链路接收到该第三Fast-Hello报文,则主节点直接丢弃第三Fast-HelIo报文即可。[0095]步骤5,基于在步骤4中记录的相关信息,主节点为各备选源MC地址分别维护端口链表。其中,端口链表中将记录有第三Fast-Hello报文经过的各节点的MAC地址、以及各节点上收到该第三Fast-HelIo报文的物理端口。[0096]本发明实施例中,针对步骤2,主节点在发送第一个第三Fast-HelIo报文之后,还可启动源MAC筛选定时器。主节点每次收到第四Fast-Hello报文时,均刷新源MAC筛选定时器。基于此,当源MAC筛选定时器超时后,则主节点为各备选源MAC地址分别维护端口链表。其中,源MAC筛选定时器的超时时间可以根据实际经验任意设置,如设置为24*Fast-Hell〇报文的发送周期。[0097]步骤6、主节点利用各备选源MAC地址对应的端口链表从预设第二数量的备选源MAC地址中选取出预设第一数量的源MAC地址。[0098]具体的,主节点将预设第一数量个端口链表划分到一个端口链表组,端口链表组中的端口链表不完全相同;针对每个端口链表组,主节点确定该端口链表组对应的预设第一数量的备选源MAC地址被同一节点上的同一物理端口收到的冲突概率,且主节点选择冲突概率最小的端口链表组对应的预设第一数量的备选源MAC地址,为选取出的预设第一数量的源MAC地址。[0099]例如,假设备选源MAC地址1对应端口链表1,备选源MAC地址2对应端口链表2,备选源MAC地址3对应端口链表3,备选源MAC地址4对应端口链表4,备选源MAC地址5对应端口链表5,备选源MAC地址6对应端口链表6,备选源MAC地址7对应端口链表7,备选源MAC地址8对应端口链表8。则:主节点将端口链表1、端口链表2和端口链表3划分到端口链表组1,将端口链表1、端口链表2和端口链表4划分到端口链表组2,将端口链表1、端口链表2和端口链表5划分到端口链表组3,…,以此类推,主节点一共可以划分C8,3个端口链表组,S卩56个端口链表组。[0100]针对端口链表组1,主节点确定备选源MAC地址1、备选源MAC地址2、备选源MAC地址3被同一节点上的同一物理端口收到的冲突概率。其中,如果备选源MAC地址1、备选源MAC地址2、备选源MAC地址3对应的第三Fast-HelIo报文均被设备C上的端口6接收,则冲突概率为1。如果备选源MAC地址1、备选源MAC地址2、备选源MAC地址3对应的第三Fast-HelIo报文均被设备C上的端口6接收,且均被设备D上的端口12接收,则冲突概率为2,以此类推。针对端口链表组2,主节点确定备选源MAC地址1、备选源MAC地址2、备选源MAC地址4被同一节点上的同一物理端口收到的冲突概率。…,以此类推,主节点可以确定出56个端口链表组的冲突概率。基于56个端口链表组的冲突概率,假设冲突概率最小的端口链表组为端口链表组2,则主节点可以选择端口链表组2对应的备选源MAC地址1、备选源MAC地址2、备选源MAC地址4为步骤202中选取出的三个源MAC地址。[0101]进一步的,为了确定端口链表组对应的预设第一数量的备选源MAC地址被同一节点上的同一物理端口收到的冲突概率,在本发明实施例的一种具体实现方式中,包括但不限于通过如下步骤确定相应的冲突概率:[0102]步骤61,针对端口链表组内的所有端口链表,主节点统计各端口链表中记录的MAC地址和物理端口。如针对端口链表组1内的端口链表1、端口链表2和端口链表3,主节点统计各端口链表中记录的MAC地址和物理端口。[0103]假设主节点为备选源MAC地址1维护的端口链表1如表2所示,为备选源MAC地址2维护的端口链表2如表3所示,为备选源MAC地址3维护的端口链表3如表4所示,为备选源MAC地址4维护的端口链表4如表5所;^,为备选源MAC地址5维护的端口链表5如表6所;^,为备选源MAC地址6维护的端口链表6如表7所示,为备选源MAC地址7维护的端口链表7如表8所示,为备选源MAC地址8维护的端口链表8如表9所示。基于各端口链表,主节点能够统计出各端口链表中记录的MAC地址和物理端口。[0120]步骤62,如果各端口链表分别对应的备选源MAC地址在各自的端口链表中对应的MAC地址和物理端口是相同的,则主节点需要对端口链表组的冲突概率加1。其中,各端口链表组的冲突概率的初始值可以为O。[0121]针对端口链表组1,主节点统计端口链表1、端口链表2和端口链表3中记录的MAC地址和物理端口。基于此,备选源MAC地址1在MAC-C上对应端口6,备选源MAC地址2在MAC-C上对应端口7,备选源MAC地址3在MAC-C上对应端口8,因此各备选源MAC地址在MAC-C上的物理端口不同,因此不对端口链表组1的冲突概率加1;备选源MAC地址1在MAC-D上对应端口12,备选源MAC地址2在MAC-D上对应端口13,备选源MAC地址3在MAC-D上对应端口14,因此各备选源MAC地址在MAC-D上的物理端口不同,因此不对端口链表组1的冲突概率加1;备选源MAC地址1在MAC-E上对应端口17,备选源MAC地址2在MAC-E上对应端口18,备选源MAC地址3在MAC-E上对应端口17,因此各备选源MAC地址在MAC-E上的物理端口不同,因此不对端口链表组1的冲突概率加1。[0122]步骤63,主节点计算每个端口链表组的冲突概率。其中,在对每个端口链表组进行步骤62的处理后,主节点可以计算出每个端口链表组的冲突概率。[0123]本发明实施例中,如果冲突概率最小的端口链表组为1个,则执行步骤64;如果冲突概率最小的端口链表组为多个,则执行步骤65。[0124]步骤64,主节点确定该端口链表组(即冲突概率最小的端口链表组为被同一节点上的同一物理端口收到的冲突概率最小的端口链表组。[0125]例如,如果主节点计算出端口链表组1的冲突概率最小,贝議定该端口链表组1为被同一节点上的同一物理端口收到的冲突概率最小的端口链表组。[0126]步骤65,针对多个端口链表组(即冲突概率最小的多个端口链表组)内的所有端口链表,主节点统计各端口链表中记录的MAC地址和物理端口。[0127]例如,如果主节点计算出端口链表组1和端口链表组2的冲突概率均为最小,则主节点需要统计端口链表组1内的端口链表1、端口链表2和端口链表3中记录的MAC地址和物理端口,并统计端口链表组2内的端口链表1、端口链表2和端口链表4中记录的MAC地址和物理端口。[0128]步骤66,针对所有端口链表中的任意两个端口链表,如果该两个端口链表分别对应的备选源MAC地址在该两个端口链表中对应的MAC地址和物理端口是相同的,则主节点需要对端口链表组的冲突概率加1。[0129]针对端口链表组1,对于端口链表1和端口链表2,备选源MAC地址1在MAC-C上对应端口6,备选源MAC地址2在MAC-C上对应端口7,因此各备选源MAC地址在MAC-C上的物理端口不同,不对端口链表组1的冲突概率加1;备选源MAC地址1在MAC-D上对应端口12,备选源MAC地址2在MAC-D上对应端口13,因此各备选源MAC地址在MAC-D上的物理端口不同,不对端口链表组1的冲突概率加1;备选源MAC地址1在MAC-E上对应端口17,备选源MAC地址2在MAC-E上对应端口18,因此各备选源MAC地址在MAC-E上的物理端口不同,不对端口链表组1的冲突概率加1。对于端口链表1和端口链表3,备选源MAC地址1在MAC-C上对应端口6,备选源MAC地址3在MAC-C上对应端口8,因此各备选源MAC地址在MAC-C上的物理端口不同,不对端口链表组1的冲突概率加1;备选源MAC地址1在MAC-D上对应端口12,备选源MAC地址3在MAC-D上对应端口14,因此各备选源MAC地址在MAC-D上的物理端口不同,不对端口链表组1的冲突概率加1;备选源MAC地址1在MAC-E上对应端口17,备选源MAC地址3在MAC-E上对应端口17,因此各备选源MAC地址在MAC-E上的物理端口相同,需要对端口链表组1的冲突概率加1。对于端口链表2和端口链表3,备选源MAC地址2在MAC-C上对应端口7,备选源MAC地址3在MAC-C上对应端口8,因此各备选源MAC地址在MAC-C上的物理端口不同,不对端口链表组1的冲突概率加1;备选源MAC地址2在MAC-D上对应端口13,备选源MAC地址3在MAC-D上对应端口14,因此各备选源MAC地址在MAC-D上的物理端口不同,不对端口链表组1的冲突概率加1;备选源MAC地址2在MAC-E上对应端口18,备选源MAC地址3在MAC-E上对应端口17,因此各备选源MAC地址在MAC-E上的物理端口不同,不对端口链表组1的冲突概率加1。基于上述处理,端口链表组1的冲突概率为1。[0130]步骤67,主节点计算多个端口链表组(即步骤63中计算出的冲突概率最小的多个端口链表组)中的每个端口链表组的冲突概率。其中,在对冲突概率最小的多个端口链表组中的每个端口链表组进行步骤66的处理后,主节点可以计算出各端口链表组的冲突概率。如果冲突概率最小的端口链表组为1个,则执行步骤68;如果冲突概率最小的端口链表组为多个,则执行步骤69。[0131]步骤68,主节点确定该端口链表组(即步骤67中确定的冲突概率最小的端口链表组为被同一节点上的同一物理端口收到的冲突概率最小的端口链表组。例如,步骤67中计算出端口链表组1的冲突概率最小,则确定该端口链表组1为被同一节点上的同一物理端口收到的冲突概率最小的端口链表组。[0132]步骤69,主节点从多个冲突概率最小的端口链表组(即步骤67中确定的多个冲突概率最小的端口链表组)中任意选择一个端口链表组如:选择端口链表组标识最小或最大的端口链表组),并确定该选择的端口链表组为被同一节点上的同一物理端口收到的冲突概率最小的端口链表组。[0133]本发明实施例中,当传输节点的聚合链路发生变化时,传输节点向主节点发送第四Fast-Hello报文,主节点在收到第四Fast-Hello报文后,如果当前已经选择完预设第一数量的源MAC地址,则主节点需要重新选择预设第一数量的源MAC地址,并利用重新选择的源MAC地址执行后续步骤。和或,当主节点的聚合链路发生变化时,如果当前已经选择完预设第一数量的源MAC地址,则主节点需要重新选择预设第一数量的源MAC地址,并利用重新选择的源MC地址执行后续步骤。和或,当主节点检测到链路发生故障后,如果当前已经选择完预设第一数量的源MAC地址,则主节点需要重新选择预设第一数量的源MAC地址,并利用重新选择的源MC地址执行后续步骤。[0134]本发明实施例中,如果需要清除传输节点的关联表中记录的信息,则主节点在发送Fast-Hello报文时,还可以将Fast-Hello报文的RCV_P0RT字段设置为OxFFFF。基于此,各传输节点在收到Fast-Hello报文之后,如果发现RCV_P0RT字段的取值为OxFFFF,则清空本地关联表中记录的信息。[0135]综上所述,主节点和各传输节点可以利用源MAC地址进行链路负载分担,从而使得三个连续的Fast-hello报文在聚合链路的不同链路上进行转发,降低RRPP误检测的概率,并且可以避免造成检测震荡和临时环路等问题。[0136]基于与上述方法同样的发明构思,本发明实施例中还提供了一种完整性快速检测Fast-Hello报文的传输设备,作为主节点应用于包括主节点和多个传输节点的快速环网保护协议RRPP网络中,当所述RRPP网络中的相邻节点之间存在聚合链路时,如图3所示,所述主节点具体包括:[0137]第一发送模块11,用于向传输节点发送第一Fast-Hello报文,所述第一Fast-Hello报文用于指示传输节点配置聚合链路的负载分担方式为利用源介质访问控制MAC地址进行链路负载分担;由传输节点在收到第一Fast-HelIo报文后将聚合链路的负载分担方式配置为利用源MC地址进行链路负载分担;[0138]选取模块12,用于选取预设第一数量的源MAC地址;[0139]第二发送模块13,用于以所述预设第一数量的源MAC地址分别构造第二Fast-Hello报文,并依次发送每个所述第二Fast-Hello报文;使收到第二Fast-Hello报文的传输节点从所述第二Fast-Hello报文中获得源MAC地址,利用所述源MAC地址在聚合链路对应的多个物理端口之间进行链路负载分担,并基于链路负载分担结果转发所述第二Fast-HelIo报文。[0140]所述选取模块12,具体用于选取预设第二数量的备选源MAC地址,并以所述预设第二数量的备选源MAC地址分别构造第三Fast-HelIo报文,并依次发送每个所述第三Fast-Hello报文;以使通过聚合链路收到所述第三Fast-HelIo报文的传输节点获得所述第三Fast-Hello报文中携带的备选源MAC地址,并由所述传输节点确定本传输节点上收到所述第三Fast-Hello报文的物理端口;其中,所述预设第二数量大于所述预设第一数量,且等于聚合链路的最大成员端口的数目;[0141]接收来自所述传输节点的携带所述备选源MAC地址、所述物理端口和所述传输节点的MAC地址的第四Fast-HelIo报文,并在所述备选源MAC地址下记录所述物理端口和所述传输节点的MAC地址;[0142]如果所述主节点通过聚合链路收到所述主节点发送的第三Fast-Hello报文,贝Ij在所述第三Fast-HeIlo报文中携带的备选源MAC地址下记录所述主节点上收到所述第三Fast-HeIlo报文的物理端口和所述主节点的MAC地址;[0143]为各备选源MAC地址维护端口链表,且所述端口链表中记录有第三Fast-Hello报文经过的各节点的MAC地址以及各节点上收到所述第三Fast-He11〇报文的物理端口,并利用各备选源MAC地址对应的端口链表从所述预设第二数量的备选源MAC地址中选取出预设第一数量的源MAC地址。[0144]所述选取模块12,进一步用于将预设第一数量个端口链表划分到一个端口链表组;针对每个端口链表组,确定端口链表组对应的预设第一数量的备选源MAC地址被同一节点上的同一物理端口收到的冲突概率;[0145]选择冲突概率最小的端口链表组对应的预设第一数量的备选源MAC地址,为选取出的所述预设第一数量的源MC地址。[0146]所述选取模块12,进一步用于针对端口链表组内的所有端口链表,统计各端口链表中记录的MAC地址和物理端口;如果各端口链表分别对应的备选源MAC地址在各自的端口链表中对应的MAC地址和物理端口是相同的,则对所述端口链表组的冲突概率加1;其中,冲突概率的初始值为〇;计算每个端口链表组的冲突概率;如果冲突概率最小的端口链表组为1个,确定该端口链表组为被同一节点上的同一物理端口收到的冲突概率最小的端口链表组;如果冲突概率最小的端口链表组为多个,则针对所述多个端口链表组内的所有端口链表,统计各端口链表中记录的MAC地址和物理端口;针对所有端口链表中的任意两个端口链表,如果所述两个端口链表分别对应的备选源MAC地址在所述两个端口链表中对应的MAC地址和物理端口是相同的,则对所述端口链表组的冲突概率加1;计算所述多个端口链表组中的每个端口链表组的冲突概率;如果冲突概率最小的端口链表组为1个,则确定该端口链表组为被同一节点上的同一物理端口收到的冲突概率最小的端口链表组;[0147]如果冲突概率最小的端口链表组为多个,则从多个冲突概率最小的端口链表组中任意选择一个端口链表组,并确定该选择的端口链表组为被同一节点上的同一物理端口收到的冲突概率最小的端口链表组。[0148]基于故障检测需要的Fast-Hello报文数量设置所述预设第一数量的值;基于所述RRPP网络中支持的聚合链路的成员端口上限数量设置所述预设第二数量的值;所述预设第二数量的备选源MAC地址所对应的hash值均不相同。[0149]其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。[0150]基于与上述方法同样的发明构思,本发明实施例中还提供了一种完整性快速检测Fast-Hello报文的传输设备,作为传输节点应用于包括主节点和多个传输节点的快速环网保护协议RRPP网络中,如图4所示,当所述RRPP网络中的相邻节点之间存在聚合链路时,所述传输节点具体包括:[0151]接收模块21,用于接收来自所述主节点的第一Fast-HeIlo报文;其中,所述第一Fast-Hello报文用于指示传输节点配置聚合链路的负载分担方式为利用源介质访问控制MAC地址进行链路负载分担;[0152]配置模块22,用于在收到所述第一Fast-Hello报文之后,将聚合链路的负载分担方式配置为利用源MC地址进行链路负载分担;[0153]处理模块23,用于在收到第二Fast-Hello报文后,从第二Fast-Hello报文中获得源MAC地址,利用所述源MAC地址在聚合链路对应的多个物理端口之间进行链路负载分担;其中,所述第二Fast-Hello报文是所述主节点以预设第一数量的源MAC地址分别构造并依次发送的第二Fast-HelIo报文。[0154]发送模块24,用于基于链路负载分担结果转发所述第二Fast-Hello报文。[0155]所述处理模块23,还用于在通过聚合链路收到来自主节点的第三Fast-Hello报文后,获得第三Fast-HelIo报文中携带的备选源MAC地址,并确定本传输节点上收到所述第三Fast-Hello报文的物理端口;其中,所述第三Fast-Hello报文是主节点以预设第二数量的备选源MAC地址分别构造并依次发送的第三Fast-Hello报文;所述预设第二数量大于所述预设第一数量,且等于聚合链路的最大成员端口的数目;[0156]所述发送模块24,还用于当所述传输节点上没有记录所述备选源MAC地址与所述物理端口之间的对应关系时,在本传输节点上记录所述备选源MAC地址与所述物理端口之间的对应关系,并向所述主节点发送携带所述备选源MAC地址、所述物理端口和所述传输节点的MAC地址的第四Fast-HelIo报文;以使所述主节点在所述备选源MAC地址下记录所述物理端口和所述传输节点的MAC地址,为各备选源MAC地址维护端口链表,所述端口链表中记录有第三Fast-Hello报文经过的各节点的MAC地址以及各节点上收到第三Fast-Hello报文的物理端口,并利用各备选源MAC地址对应的端口链表从预设第二数量的备选源MAC地址中选取出预设第一数量的源MAC地址。[0157]基于故障检测需要的Fast-Hello报文数量设置所述预设第一数量的值;基于所述RRPP网络中支持的聚合链路的成员端口上限数量设置所述预设第二数量的值;所述预设第二数量的备选源MAC地址所对应的hash值均不相同。[0158]其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。[0159]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备可以是个人计算机,服务器,或者网络设备等执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

权利要求:1.一种完整性快速检测Fast-Hello报文的传输方法,应用于包括主节点和多个传输节点的快速环网保护协议RRPP网络中,其特征在于,当所述RRPP网络中的相邻节点之间存在聚合链路时,所述方法包括以下步骤:所述主节点向传输节点发送第一Fast-HelIo报文,所述第一Fast-HelIo报文用于指示传输节点配置聚合链路的负载分担方式为利用源介质访问控制MAC地址进行链路负载分担;由传输节点在收到所述第一Fast-Hello报文后,将聚合链路的负载分担方式配置为利用源MAC地址进行链路负载分担;所述主节点选取预设第一数量的源MAC地址;所述主节点以所述预设第一数量的源MAC地址分别构造第二Fast-HelIo报文,并依次发送每个所述第二Fast-HelIo报文;以使收到第二Fast-Hello报文的传输节点从所述第二Fast-Hello报文中获得源MAC地址,利用所述源MAC地址在聚合链路对应的多个物理端口之间进行链路负载分担,并基于链路负载分担结果转发所述第二Fast-Hello报文。2.如权利要求1所述的方法,其特征在于,所述主节点选取预设第一数量的源MAC地址的过程,具体包括:所述主节点选取预设第二数量的备选源MAC地址,并以所述预设第二数量的备选源MAC地址分别构造第三Fast-HelIo报文,并依次发送每个所述第三Fast-HelIo报文;以使通过聚合链路收到所述第三Fast-Hello报文的传输节点获得所述第三Fast-Hello报文中携带的备选源MAC地址,并由所述传输节点确定本传输节点上收到所述第三Fast-HelIo报文的物理端口;其中,所述预设第二数量大于所述预设第一数量,且等于聚合链路的最大成员端口的数目;所述主节点接收来自所述传输节点的携带所述备选源MAC地址、所述物理端口和所述传输节点的MAC地址的第四Fast-HelIo报文,并在所述备选源MAC地址下记录所述物理端口和所述传输节点的MAC地址;如果所述主节点通过聚合链路收到所述主节点发送的第三Fast-HeIlo报文,则所述主节点在所述第三Fast-HeIlo报文中携带的备选源MAC地址下记录所述主节点上收到所述第三Fast-HelIo报文的物理端口和所述主节点的MAC地址;所述主节点为各备选源MAC地址维护端口链表,且所述端口链表中记录有第三Fast-Hello报文经过的各节点的MAC地址以及各节点上收到所述第三Fast-Hello报文的物理端口,并利用各备选源MAC地址对应的端口链表从所述预设第二数量的备选源MAC地址中选取出预设第一数量的源MAC地址。3.如权利要求2所述的方法,其特征在于,所述主节点利用各备选源MAC地址对应的端口链表从所述预设第二数量的备选源MAC地址中选取出预设第一数量的源MAC地址的过程,具体包括以下步骤:所述主节点将预设第一数量个端口链表划分到一个端口链表组;针对每个端口链表组,所述主节点确定端口链表组对应的预设第一数量的备选源MAC地址被同一节点上的同一物理端口收到的冲突概率;所述主节点选择冲突概率最小的端口链表组对应的预设第一数量的备选源MAC地址,为选取出的所述预设第一数量的源MC地址。4.如权利要求3所述的方法,其特征在于,所述主节点确定端口链表组对应的预设第一数量的备选源MAC地址被同一节点上的同一物理端口收到的冲突概率的过程,具体包括以下步骤:针对端口链表组内的所有端口链表,所述主节点统计各端口链表中记录的MAC地址和物理端口;如果各端口链表分别对应的备选源MAC地址在各自的端口链表中对应的MAC地址和物理端口是相同的,则对所述端口链表组的冲突概率加1;其中,冲突概率的初始值为O;所述主节点计算每个端口链表组的冲突概率;如果冲突概率最小的端口链表组为1个,则所述主节点确定该端口链表组为被同一节点上的同一物理端口收到的冲突概率最小的端口链表组;如果冲突概率最小的端口链表组为多个,则针对所述多个端口链表组内的所有端口链表,所述主节点统计各端口链表中记录的MAC地址和物理端口;针对所有端口链表中的任意两个端口链表,如果所述两个端口链表分别对应的备选源MAC地址在所述两个端口链表中对应的MC地址和物理端口是相同的,则对所述端口链表组的冲突概率加1;所述主节点计算所述多个端口链表组中的每个端口链表组的冲突概率;如果冲突概率最小的端口链表组为1个,则所述主节点确定该端口链表组为被同一节点上的同一物理端口收到的冲突概率最小的端口链表组;如果冲突概率最小的端口链表组为多个,则所述主节点从多个冲突概率最小的端口链表组中任意选择一个端口链表组,并确定该选择的端口链表组为被同一节点上的同一物理端口收到的冲突概率最小的端口链表组。5.如权利要求2-4任一项所述的方法,其特征在于,基于故障检测需要的Fast-Hello报文数量设置所述预设第一数量的值;基于所述RRPP网络中支持的聚合链路的成员端口上限数量设置所述预设第二数量的值;所述预设第二数量的备选源MAC地址所对应的hash值均不相同。6.—种完整性快速检测Fast-HelIo报文的传输方法,应用于包括主节点和多个传输节点的快速环网保护协议RRPP网络中,其特征在于,当所述RRPP网络中的相邻节点之间存在聚合链路时,所述方法包括以下步骤:传输节点接收来自所述主节点的第一Fast-HelIo报文,所述第一Fast-HelIo报文用于指示传输节点配置聚合链路的负载分担方式为利用源介质访问控制MAC地址进行链路负载分担;所述传输节点在收到所述第一Fast-Hello报文后,将聚合链路的负载分担方式配置为利用源MAC地址进行链路负载分担;所述传输节点在收到第二Fast-Hello报文之后,从所述第二Fast-Hello报文中获得源MAC地址,利用所述源MAC地址在聚合链路对应的多个物理端口之间进行链路负载分担,并基于链路负载分担结果转发所述第二Fast-Hello报文;其中,所述第二Fast-Hello报文是所述主节点以预设第一数量的源MAC地址分别构造并依次发送的第二Fast-Hello报文。7.如权利要求6所述的方法,其特征在于,所述方法还包括:所述传输节点通过聚合链路收到来自主节点的第三Fast-Hello报文之后,获得所述第三Fast-Hello报文中携带的备选源MAC地址,并确定本传输节点上收到所述第三Fast-Hello报文的物理端口;其中,所述第三Fast-Hello报文是主节点以预设第二数量的备选源MAC地址分别构造并依次发送的第三Fast-Hello报文;所述预设第二数量大于所述预设第一数量,且等于聚合链路的最大成员端口的数目;当所述传输节点上没有记录所述备选源MAC地址与所述物理端口之间的对应关系时,所述传输节点在本传输节点上记录所述备选源MAC地址与所述物理端口之间的对应关系,并向所述主节点发送携带所述备选源MAC地址、所述物理端口和所述传输节点的MAC地址的第四Fast-Hello报文;以使所述主节点在所述备选源MAC地址下记录所述物理端口和所述传输节点的MAC地址,为各备选源MAC地址维护端口链表,所述端口链表中记录有第三Fast-HeIIo报文经过的各节点的MAC地址以及各节点上收到第三Fast-Hello报文的物理端口,并利用各备选源MAC地址对应的端口链表从预设第二数量的备选源MAC地址中选取出预设第一数量的源MAC地址。8.如权利要求7所述的方法,其特征在于,基于故障检测需要的Fast-Hello报文数量设置所述预设第一数量的值;基于所述RRPP网络中支持的聚合链路的成员端口上限数量设置所述预设第二数量的值;所述预设第二数量的备选源MAC地址所对应的hash值均不相同。9.一种完整性快速检测Fast-Hello报文的传输设备,作为主节点应用于包括主节点和多个传输节点的快速环网保护协议RRPP网络中,其特征在于,当所述RRPP网络中的相邻节点之间存在聚合链路时,所述主节点包括:第一发送模块,用于向传输节点发送第一Fast-HelIo报文,第一Fast-HelIo报文用于指示传输节点配置聚合链路的负载分担方式为利用源介质访问控制MAC地址进行链路负载分担;由传输节点在收到所述第一Fast-Hello报文后,将聚合链路的负载分担方式配置为利用源MAC地址进行链路负载分担;选取模块,用于选取预设第一数量的源MC地址;第二发送模块,用于以所述预设第一数量的源MAC地址分别构造第二Fast-Hello报文,并依次发送每个所述第二Fast-HelIo报文;使收到第二Fast-HelIo报文的传输节点从所述第二Fast-HelIo报文中获得源MAC地址,利用所述源MAC地址在聚合链路对应的多个物理端口之间进行链路负载分担,并基于链路负载分担结果转发所述第二Fast-HelIo报文。10.如权利要求9所述的设备,其特征在于,所述选取模块,具体用于选取预设第二数量的备选源MAC地址,并以所述预设第二数量的备选源MAC地址分别构造第三Fast-HelIo报文,并依次发送每个所述第三Fast-HelIo报文;以使通过聚合链路收到所述第三Fast-HelIo报文的传输节点获得所述第三Fast-HelIo报文中携带的备选源MAC地址,并由所述传输节点确定本传输节点上收到所述第三Fast-Hello报文的物理端口;其中,所述预设第二数量大于所述预设第一数量,且等于聚合链路的最大成员端口的数目;接收来自所述传输节点的携带所述备选源MAC地址、所述物理端口和所述传输节点的MAC地址的第四Fast-Hello报文,并在所述备选源MAC地址下记录所述物理端口和所述传输节点的MAC地址;如果所述主节点通过聚合链路收到所述主节点发送的第三Fast-Hello报文,则在所述第三Fast-HeIlo报文中携带的备选源MAC地址下记录所述主节点上收到所述第三Fast-Hello报文的物理端口和所述主节点的MAC地址;为各备选源MAC地址维护端口链表,且所述端口链表中记录有第三Fast-HelIo报文经过的各节点的MAC地址以及各节点上收到所述第三Fast-HeIIo报文的物理端口,并利用各备选源MAC地址对应的端口链表从所述预设第二数量的备选源MAC地址中选取出预设第一数量的源MAC地址。11.如权利要求10所述的设备,其特征在于,所述选取模块,进一步用于将预设第一数量个端口链表划分到一个端口链表组;针对每个端口链表组,确定端口链表组对应的预设第一数量的备选源MAC地址被同一节点上的同一物理端口收到的冲突概率;选择冲突概率最小的端口链表组对应的预设第一数量的备选源MAC地址,为选取出的所述预设第一数量的源MC地址。12.如权利要求11所述的设备,其特征在于,所述选取模块,进一步用于针对端口链表组内的所有端口链表,统计各端口链表中记录的MAC地址和物理端口;如果各端口链表分别对应的备选源MAC地址在各自的端口链表中对应的MC地址和物理端口是相同的,则对所述端口链表组的冲突概率加1;其中,冲突概率的初始值为〇;计算每个端口链表组的冲突概率;如果冲突概率最小的端口链表组为1个,确定该端口链表组为被同一节点上的同一物理端口收到的冲突概率最小的端口链表组;如果冲突概率最小的端口链表组为多个,则针对所述多个端口链表组内的所有端口链表,统计各端口链表中记录的MAC地址和物理端口;针对所有端口链表中的任意两个端口链表,如果所述两个端口链表分别对应的备选源MAC地址在所述两个端口链表中对应的MAC地址和物理端口是相同的,则对所述端口链表组的冲突概率加1;计算所述多个端口链表组中的每个端口链表组的冲突概率;如果冲突概率最小的端口链表组为1个,则确定该端口链表组为被同一节点上的同一物理端口收到的冲突概率最小的端口链表组;如果冲突概率最小的端口链表组为多个,则从多个冲突概率最小的端口链表组中任意选择一个端口链表组,并确定该选择的端口链表组为被同一节点上的同一物理端口收到的冲突概率最小的端口链表组。13.如权利要求10-12任一项所述的设备,其特征在于,基于故障检测需要的Fast-Hello报文数量设置所述预设第一数量的值;基于所述RRPP网络中支持的聚合链路的成员端口上限数量设置所述预设第二数量的值;所述预设第二数量的备选源MAC地址所对应的hash值均不相同。14.一种完整性快速检测Fast-Hello报文的传输设备,作为传输节点应用于包括主节点和多个传输节点的快速环网保护协议RRPP网络中,其特征在于,当RRPP网络中的相邻节点之间存在聚合链路时,所述传输节点包括:接收模块,用于接收来自所述主节点的第一Fast-HeIlo报文;其中,所述第一Fast-Hello报文用于指示传输节点配置聚合链路的负载分担方式为利用源介质访问控制MAC地址进行链路负载分担;配置模块,用于在收到所述第一Fast-Hello报文之后,将聚合链路的负载分担方式配置为利用源MAC地址进行链路负载分担;处理模块,用于在收到第二Fast-Hello报文后,从第二Fast-Hello报文中获得源MAC地址,利用所述源MAC地址在聚合链路对应的多个物理端口之间进行链路负载分担;其中,所述第二Fast-HelIo报文是所述主节点以预设第一数量的源MAC地址分别构造并依次发送的第二Fast-HelIo报文;发送模块,用于基于链路负载分担结果转发所述第二Fast-HelIo报文。15.如权利要求14所述的设备,其特征在于,所述处理模块,还用于在通过聚合链路收到来自主节点的第三Fast-Hello报文后,获得第三Fast-Hello报文中携带的备选源MAC地址,并确定本传输节点上收到所述第三Fast-Hello报文的物理端口;其中,所述第三Fast-Hello报文是主节点以预设第二数量的备选源MAC地址分别构造并依次发送的第三Fast-Hello报文;所述预设第二数量大于所述预设第一数量,且等于聚合链路的最大成员端口的数目;所述发送模块,还用于当所述传输节点上没有记录所述备选源MAC地址与所述物理端口之间的对应关系时,在本传输节点上记录所述备选源MAC地址与所述物理端口之间的对应关系,并向所述主节点发送携带所述备选源MAC地址、所述物理端口和所述传输节点的MAC地址的第四Fast-Hello报文;以使所述主节点在所述备选源MAC地址下记录所述物理端口和所述传输节点的MAC地址,为各备选源MAC地址维护端口链表,所述端口链表中记录有第三Fast-Hello报文经过的各节点的MAC地址以及各节点上收到第三Fast-Hello报文的物理端口,并利用各备选源MAC地址对应的端口链表从预设第二数量的备选源MAC地址中选取出预设第一数量的源MAC地址。16.如权利要求15所述的设备,其特征在于,基于故障检测需要的Fast-Hello报文数量设置所述预设第一数量的值;基于所述RRPP网络中支持的聚合链路的成员端口上限数量设置所述预设第二数量的值;所述预设第二数量的备选源MAC地址所对应的hash值均不相同。

百度查询: 新华三技术有限公司 一种Fast‑Hello报文的传输方法和设备

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。