CN114726795A - 负载分担的方法、根节点设备、叶子节点设备以及系统 - Google Patents

负载分担的方法、根节点设备、叶子节点设备以及系统 Download PDF

Info

Publication number
CN114726795A
CN114726795A CN202110108665.4A CN202110108665A CN114726795A CN 114726795 A CN114726795 A CN 114726795A CN 202110108665 A CN202110108665 A CN 202110108665A CN 114726795 A CN114726795 A CN 114726795A
Authority
CN
China
Prior art keywords
node device
root
root node
leaf node
leaf
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.)
Pending
Application number
CN202110108665.4A
Other languages
English (en)
Inventor
谢经荣
段方红
刘淑英
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to JP2023537695A priority Critical patent/JP2024500451A/ja
Priority to EP21909214.5A priority patent/EP4250675A4/en
Priority to PCT/CN2021/137653 priority patent/WO2022135217A1/zh
Publication of CN114726795A publication Critical patent/CN114726795A/zh
Priority to US18/337,940 priority patent/US20230336484A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种负载分担的方法、根节点设备、叶子节点设备以及系统,该方法包括:第一根节点设备接收叶子节点设备发送的消息,该消息中包括第一标识和配置信息,该第一标识指示叶子节点设备,该配置信息指示叶子节点设备请求的、从根节点设备组到叶子节点设备的负载分担的配置方式,根节点设备组包括第一根节点设备;第一根节点设备根据第一标识和配置信息确定从第一根节点设备到叶子节点设备的负载分担的配置结果;响应于配置结果为第一结果,第一根节点设备确定第一根节点设备为叶子节点设备的主根;或者响应于配置结果为第二结果,第一根节点设备确定第一根节点设备为叶子节点设备的备根。该方法可以实现组播流量的负载分担。

Description

负载分担的方法、根节点设备、叶子节点设备以及系统
本申请要求于2020年12月21日提交国家知识产权局、申请号为CN202011519565.2、发明名称为“一种组播冗余保护方法、设备及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及网络通信领域,并且更具体地,涉及一种负载分担的方法、根节点设备、叶子节点设备以及系统。
背景技术
组播(multicast)是一种通过使用一个组播地址将数据在同一时间以高效的方式发往处于传输控制协议(transmission control protocol,TCP)/互联网协议(internetprotocol,IP)网络上的多个接收者的数据传输方式。
组播应用场景中包括多个根节点设备,在相关的技术方案中,该多个根节点设备中的一个作为主用设备,负责向叶子节点设备发送组播流量。而除主用设备之外的其他设备作为叶子节点设备的备用设备,在主用设备正常工作的情况下,其他的备用设备则不向叶子节点设备发送组播流量。该相关的技术方案中,多个根节点设备中的主用设备会由于负载过大而产生故障。
发明内容
本申请提供一种负载分担的方法、第一根节点设备、叶子节点设备以及负载分担的系统,可以实现组播流量的负载分担。
第一方面,提供了一种负载分担的方法,该方法应用于通信网络,所述通信网络包括组播源设备、根节点设备组和叶子节点设备,所述组播源设备用于经由所述根节点设备组向所述叶子节点设备发送组播流量,所述根节点设备组中包括至少两个根节点设备,所述方法包括:第一根节点设备接收所述叶子节点设备发送的消息,所述消息中包括第一标识和配置信息,所述第一标识指示所述叶子节点设备,所述配置信息用于指示所述叶子节点设备请求的、从所述根节点设备组到所述叶子节点设备的负载分担的配置方式,所述根节点设备组包括所述第一根节点设备;所述第一根节点设备根据所述第一标识和所述配置信息确定从所述第一根节点设备到所述叶子节点设备的负载分担的配置结果;响应于所述配置结果为第一结果,所述第一根节点设备确定所述第一根节点设备为所述叶子节点设备的主根,所述主根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的指定转发者DF;或者响应于所述配置结果为第二结果,所述第一根节点设备确定所述第一根节点设备为所述叶子节点设备的备根,所述备根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的非指定转发者non-DF。
结合第一方面,在第一方面的某些实现方式中,所述配置信息中包括第一指示信息,所述第一指示信息用于指示所述第一根节点设备为所述叶子节点设备的主根。
结合第一方面,在第一方面的某些实现方式中,所述配置信息中包括第二指示信息,所述第二指示信息用于指示所述第一根节点设备为所述叶子节点设备的备根。
结合第一方面,在第一方面的某些实现方式中,所述配置信息中包括第三指示信息,所述第三指示信息用于指示作为所述叶子节点设备的主根的候选根节点设备信息。
结合第一方面,在第一方面的某些实现方式中,所述候选根节点设备中包括所述第一根节点设备,所述第一根节点设备对所述第一标识和配置信息进行哈希计算,得到所述配置结果。
结合第一方面,在第一方面的某些实现方式中,所述消息中还包括组播源组(S,G),所述候选根节点设备中包括所述第一根节点设备,所述第一根节点设备对所述组播源组(S,G)、所述第一标识以及配置信息进行哈希计算,得到所述配置结果。
结合第一方面,在第一方面的某些实现方式中,所述方法还包括:所述第一根节点设备接收所述组播流量;响应于所述第一根节点设备为所述叶子节点设备的主根,所述第一根节点设备向所述叶子节点设备发送所述组播流量。
结合第一方面,在第一方面的某些实现方式中,所述通信网络为组播虚拟专用网MVPN。
第二方面,提供了一种负载分担的方法,所述方法应用于通信网络,所述通信网络包括组播源设备、根节点设备组和叶子节点设备,所述组播源设备用于经由所述根节点设备组向所述叶子节点设备发送组播流量,所述根节点设备组中包括至少两个根节点设备,所述方法包括:所述叶子节点设备生成消息,所述消息中包括第一标识和配置信息,所述第一标识指示所述叶子节点设备,所述配置信息用于指示所述叶子节点设备请求的、从所述根节点设备组到所述叶子节点设备的负载分担的配置方式;所述叶子节点设备向第一根节点设备发送所述消息,所述根节点设备组包括所述第一根节点设备。
结合第二方面,在第二方面的某些实现方式中,所述配置信息中包括第一指示信息,所述第一指示信息所述第一根节点设备为所述叶子节点设备的主根,所述主根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的指定转发者DF。
结合第二方面,在第二方面的某些实现方式中所述配置信息中包括第二指示信息,所述第二指示信息所述第一根节点设备为所述叶子节点设备的备根,所述备根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的非指定转发者non-DF。
结合第二方面,在第二方面的某些实现方式中所述配置信息中包括第三指示信息,所述第三指示信息用于指示作为所述叶子节点设备的主根的候选根节点设备信息。
结合第二方面,在第二方面的某些实现方式中所述第一根节点设备为所述叶子节点设备的主根,所述方法还包括:所述叶子节点设备接收所述第一根节点设备发送的所述组播流量。
结合第二方面,在第二方面的某些实现方式中所述通信网络为组播虚拟专用网MVPN。
第三方面,提供了一种负载分担的方法,所述方法应用于通信网络,所述通信网络包括组播源设备、根节点设备组和第一叶子节点设备、第二叶子节点设备,所述组播源设备用于经由所述根节点设备组向所述第一叶子节点设备、所述第二叶子节点设备发送组播流量,所述根节点设备组中包括第一根节点设备和第二根节点设备,所述方法包括:所述第一根节点设备接收所述组播流量,所述根节点设备组中包括所述第一根节点设备;响应于所述第一根节点设备为所述第一叶子节点设备的主根,所述第一根节点设备向所述第一叶子节点设备发送所述组播流量,所述第一根节点设备为第一叶子节点设备的主根指示所述第一根节点设备是向所述第一叶子节点设备转发所述组播流量的指定转发者DF;所述第二根节点设备接收所述组播流量,所述根节点设备组中包括所述第二根节点设备;响应于所述第二根节点设备为所述第二叶子节点设备的主根,所述第二根节点设备向所述第二叶子节点设备发送所述组播流量,所述第二根节点设备为第二叶子节点设备的主根指示所述第二根节点设备是向所述第二叶子节点设备转发所述组播流量的指定转发者DF。
结合第三方面,在第三方面的某些实现方式中,所述方法还包括:所述第一根节点设备接收所述第一叶子节点设备发送的第一消息,所述第一消息中包括所述第一标识和第一配置信息,所述第一标识指示所述第一叶子节点设备,所述第一配置信息用于指示所述第一叶子节点设备请求的、从所述根节点设备组到所述第一叶子节点设备的负载分担的配置方式;所述第一根节点根据所述第一标识和所述第一配置信息确定从所述第一根节点设备到所述第一叶子节点设备的第一负载分担的配置结果;响应于所述第一负载分担的配置结果为第一结果,所述第一根节点设备确定所述第一根节点设备为所述第一叶子节点设备的主根。
结合第三方面,在第三方面的某些实现方式中,所述第一配置信息中包括第一指示信息,所述第一指示信息用于指示所述第一根节点设备为所述第一叶子节点设备的主根。
结合第三方面,在第三方面的某些实现方式中,所述第一配置信息中包括第二指示信息,所述第二指示信息用于指示作为所述第一叶子节点设备的主根的第一候选根节点设备信息。
结合第三方面,在第三方面的某些实现方式中,所述第一候选根节点设备中包括所述第一根节点设备,所述第一根节点设备对所述第一标识和第一配置信息进行哈希计算,得到所述第一负载分担的配置结果。
结合第三方面,在第三方面的某些实现方式中,所述第一消息中还包括组播源组(S,G),所述第一候选根节点设备中包括所述第一根节点设备,所述第一根节点设备对所述组播源组(S,G)、所述第一标识以及配置信息进行哈希计算,得到所述第一负载分担的配置结果。
结合第三方面,在第三方面的某些实现方式中,所述方法还包括:所述第二根节点设备接收所述第二叶子节点设备发送的第二消息,所述第二消息中包括第二标识和第二配置信息,所述第二标识指示所述第二叶子节点设备,所述第二配置信息用于指示所述第二叶子节点设备请求的、从所述根节点设备组到所述第二叶子节点设备的负载分担的配置方式;所述第二根节点设备根据所述第二标识和所述第二配置信息确定从所述第二根节点设备到所述第二叶子节点设备的第二负载分担的配置结果;响应于所述第二负载分担的配置结果为第二结果,所述第二根节点设备确定所述第二根节点设备为所述第二叶子节点设备的主根。
结合第三方面,在第三方面的某些实现方式中,所述第二配置信息中包括第三指示信息,所述第三指示信息用于指示所述第二根节点设备为所述第二叶子节点设备的主根。
结合第三方面,在第三方面的某些实现方式中,所述第二配置信息中包括第四指示信息,所述第四指示信息用于指示作为所述第二叶子节点设备的主根的第二候选根节点设备信息。
结合第三方面,在第三方面的某些实现方式中,所述第二候选根节点设备中包括所述第二根节点设备,所述第二根节点设备对所述第二标识和第二配置信息进行哈希计算,得到所述第二负载分担的配置结果。
结合第三方面,在第三方面的某些实现方式中,所述第二消息中还包括组播源组(S,G),所述第二候选根节点设备中包括所述第二根节点设备,所述第二根节点设备对所述组播源组(S,G)、所述第二标识以及第二配置信息进行哈希计算,得到所述第二负载分担的配置结果。
结合第三方面,在第三方面的某些实现方式中,所述通信网络为组播虚拟专用网MVPN。
第四方面,提供了一种第一根节点设备,所述第一根节点设备应用于通信网络,所述通信网络包括组播源设备、根节点设备组和叶子节点设备,所述组播源设备用于经由所述根节点设备组向所述叶子节点设备发送组播流量,所述根节点设备组中包括所述第一根节点设备在内的至少两个根节点设备,所述第一根节点设备包括:
接收模块,用于接收所述叶子节点设备发送的消息,所述消息中包括第一标识和配置信息,所述第一标识指示所述叶子节点设备,所述配置信息用于指示所述叶子节点设备请求的、从所述根节点设备组到所述叶子节点设备的负载分担的配置方式,所述根节点设备组包括所述第一根节点设备;
确定模块,用于根据所述第一标识和所述配置信息确定从所述第一根节点设备到所述叶子节点设备的负载分担的配置结果;
所述确定模块,还用于响应于所述配置结果为第一结果,确定所述第一根节点设备为所述叶子节点设备的主根,所述主根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的指定转发者DF;或者
所述确定模块,还用于响应于所述配置结果为第二结果,确定所述第一根节点设备为所述叶子节点设备的备根,所述备根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的非指定转发者non-DF。
结合第四方面,在第四方面的某些实现方式中,所述配置信息中包括第一指示信息,所述第一指示信息用于指示所述第一根节点设备为所述叶子节点设备的主根。
结合第四方面,在第四方面的某些实现方式中,所述配置信息中包括第二指示信息,所述第二指示信息用于指示所述第一根节点设备为所述叶子节点设备的备根。
结合第四方面,在第四方面的某些实现方式中,,所述配置信息中包括第三指示信息,所述第三指示信息用于指示作为所述叶子节点设备的主根的候选根节点设备信息。
结合第四方面,在第四方面的某些实现方式中,所述候选根节点设备中包括所述第一根节点设备,所述确定模块具体用于:对所述第一标识和配置信息进行哈希计算,得到所述配置结果。
结合第四方面,在第四方面的某些实现方式中,所述消息中还包括组播源组(S,G),所述候选根节点设备中包括所述第一根节点设备,所述确定模块具体用于:对所述组播源组(S,G)、所述第一标识以及配置信息进行哈希计算,得到所述配置结果。
结合第四方面,在第四方面的某些实现方式中,所述接收模块,用于接收所述组播流量;所述第一根节点设备还包括:发送模块,用于响应于所述第一根节点设备为所述叶子节点设备的主根,向所述叶子节点设备发送所述组播流量。
结合第四方面,在第四方面的某些实现方式中,所述通信网络为组播虚拟专用网MVPN。
第五方面,提供了一种叶子节点设备,所述叶子节点设备应用于通信网络,所述通信网络包括组播源设备、根节点设备组和所述叶子节点设备,所述组播源设备用于经由所述根节点设备组向所述叶子节点设备发送组播流量,所述根节点设备组中包括至少两个根节点设备,所述叶子节点设备包括:
生成模块,用于生成消息,所述消息中包括第一标识和配置信息,所述第一标识指示所述叶子节点设备,所述配置信息用于指示所述叶子节点设备请求的、从所述根节点设备组到所述叶子节点设备的负载分担的配置方式;
发送模块,用于向第一根节点设备发送所述消息,所述根节点设备组包括所述第一根节点设备。
结合第五方面,在第五方面的某些实现方式中,所述配置信息中包括第一指示信息,所述第一指示信息所述第一根节点设备为所述叶子节点设备的主根,所述主根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的指定转发者DF。
结合第五方面,在第五方面的某些实现方式中,所述配置信息中包括第二指示信息,所述第二指示信息所述第一根节点设备为所述叶子节点设备的备根,所述备根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的非指定转发者non-DF。
结合第五方面,在第五方面的某些实现方式中,所述配置信息中包括第三指示信息,所述第三指示信息用于指示作为所述叶子节点设备的主根的候选根节点设备信息。
结合第五方面,在第五方面的某些实现方式中,所述第一根节点设备为所述叶子节点设备的主根,所述叶子节点设备还包括:接收模块,用于接收所述第一根节点设备发送的所述组播流量。
结合第五方面,在第五方面的某些实现方式中,所述通信网络为组播虚拟专用网MVPN。
第六方面,提供了一种负载分担的系统,所述系统应用于通信网络,所述通信网络包括组播源设备、根节点设备组和第一叶子节点设备、第二叶子节点设备,所述组播源设备用于经由所述根节点设备组向所述第一叶子节点设备、所述第二叶子节点设备发送组播流量,所述根节点设备组中包括第一根节点设备和第二根节点设备,所述系统包括:
接收模块,用于所述第一根节点设备接收所述组播流量,所述根节点设备组中包括所述第一根节点设备;
发送模块,用于响应于所述第一根节点设备为所述第一叶子节点设备的主根,所述第一根节点设备向所述第一叶子节点设备发送所述组播流量,所述第一根节点设备为第一叶子节点设备的主根指示所述第一根节点设备是向所述第一叶子节点设备转发所述组播流量的指定转发者DF;
所述接收模块,还用于所述第二根节点设备接收所述组播流量,所述根节点设备组中包括所述第二根节点设备;
发送模块,用于响应于所述第二根节点设备为所述第二叶子节点设备的主根,所述第二根节点设备向所述第二叶子节点设备发送所述组播流量,所述第二根节点设备为第二叶子节点设备的主根指示所述第二根节点设备是向所述第二叶子节点设备转发所述组播流量的指定转发者DF。
结合第六方面,在第六方面的某些实现方式中,所述确定模块,还用于所述第一根节点设备接收所述第一叶子节点设备发送的第一消息,所述第一消息中包括所述第一标识和第一配置信息,所述第一标识指示所述第一叶子节点设备,所述第一配置信息用于指示所述第一叶子节点设备请求的、从所述根节点设备组到所述第一叶子节点设备的负载分担的配置方式;所述系统还包括:确定模块,用于所述第一根节点根据所述第一标识和所述第一配置信息确定从所述第一根节点设备到所述第一叶子节点设备的第一负载分担的配置结果;所述确定模块,还用于响应于所述第一负载分担的配置结果为第一结果,所述第一根节点设备确定所述第一根节点设备为所述第一叶子节点设备的主根。
结合第六方面,在第六方面的某些实现方式中,所述第一配置信息中包括第一指示信息,所述第一指示信息用于指示所述第一根节点设备为所述第一叶子节点设备的主根。
结合第六方面,在第六方面的某些实现方式中,所述第一配置信息中包括第二指示信息,所述第二指示信息用于指示作为所述第一叶子节点设备的主根的第一候选根节点设备信息。
结合第六方面,在第六方面的某些实现方式中,所述第一候选根节点设备中包括所述第一根节点设备,所述确定模块具体用于:所述第一根节点设备对所述第一标识和第一配置信息进行哈希计算,得到所述第一负载分担的配置结果。
结合第六方面,在第六方面的某些实现方式中,所述第一消息中还包括组播源组(S,G),所述第一候选根节点设备中包括所述第一根节点设备,所述确定模块具体用于:所述第一根节点设备对所述组播源组(S,G)、所述第一标识以及第一配置信息进行哈希计算,得到所述第一负载分担的配置结果。
结合第六方面,在第六方面的某些实现方式中,所述接收模块,还用于所述第二根节点设备接收所述第二叶子节点设备发送的第二消息,所述第二消息中包括第二标识和第二配置信息,所述第二标识指示所述第二叶子节点设备,所述第二配置信息用于指示所述第二叶子节点设备请求的、从所述根节点设备组到所述第二叶子节点设备的负载分担的配置方式;所述确定模块,还用于所述第二根节点设备根据所述第二标识和所述第二配置信息确定从所述第二根节点设备到所述第二叶子节点设备的第二负载分担的配置结果;所述确定模块,还用于响应于所述第二负载分担的配置结果为第二结果,所述第二根节点设备确定所述第二根节点设备为所述第二叶子节点设备的主根。
结合第六方面,在第六方面的某些实现方式中,所述第二配置信息中包括第三指示信息,所述第三指示信息用于指示所述第二根节点设备为所述第二叶子节点设备的主根。
结合第六方面,在第六方面的某些实现方式中,所述第二配置信息中包括第四指示信息,所述第四指示信息用于指示作为所述第二叶子节点设备的主根的第二候选根节点设备信息。
结合第六方面,在第六方面的某些实现方式中,所述第二候选根节点设备中包括所述第二根节点设备,所述确定模块还用于:所述第二根节点设备对所述第二标识和第二配置信息进行哈希计算,得到所述第二负载分担的配置结果。
结合第六方面,在第六方面的某些实现方式中,所述第二消息中还包括组播源组(S,G),所述第二候选根节点设备中包括所述第二根节点设备,所述确定模块,还用于所述第二根节点设备对所述组播源组(S,G)、所述第二标识以及第二配置信息进行哈希计算,得到所述第二负载分担的配置结果。
结合第六方面,在第六方面的某些实现方式中,所述通信网络为组播虚拟专用网MVPN。
第七方面,提供了一种第一根节点设备,所述第一根节点设备具有实现上述方法中第一根节点设备行为的功能。所述功能可以基于硬件实现,也可以基于硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,第一根节点设备的结构中包括处理器和接口,所述处理器被配置为支持第一根节点设备执行上述方法中相应的功能。所述接口用于支持第一根节点设备接收所述叶子节点设备发送的消息。
所述第一根节点设备还可以包括存储器,所述存储器用于与处理器耦合,其保存第一根节点设备必要的程序指令和数据。
在另一个可能的设计中,所述第一根节点设备包括:处理器、发送器、接收器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接发送器、接收器、随机存取存储器以及只读存储器。其中,当需要运行第一根节点设备时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导第一根节点设备进入正常运行状态。在第一根节点设备进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第一方面或第一方面的任意可能的实现方式中的方法。
第八方面,提供一种第一根节点设备,所述第一根节点设备包括:主控板和接口板,进一步,还可以包括交换网板。所述第一根节点设备用于执行第一方面或第一方面的任意可能的实现方式中的方法。具体地,所述第一根节点设备包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的模块。
第九方面,提供一种第一根节点设备,所述第一根节点设备包括控制模块和第一转发子设备。所述第一转发子设备包括:接口板,进一步,还可以包括交换网板。所述第一转发子设备用于执行第八方面中的接口板的功能,进一步,还可以执行第八方面中交换网板的功能。所述控制模块中包括接收器、处理器、发送器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接接收器、发送器、随机存取存储器以及只读存储器。其中,当需要运行控制模块时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导控制模块进入正常运行状态。在控制模块进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第八方面中主控板的功能。
可以理解的是,在实际应用中,第一根节点设备可以包含任意数量的接口,处理器或者存储器。
第十方面,提供了一种叶子节点设备,所述叶子节点设备具有实现上述方法中叶子节点设备行为的功能。所述功能可以基于硬件实现,也可以基于硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,叶子节点设备的结构中包括处理器和接口,所述处理器被配置为支持叶子节点设备执行上述方法中相应的功能。所述接口用于支持向第一根节点设备发送消息;或接收所述第一根节点设备发送的所述组播流量。
所述叶子节点设备还可以包括存储器,所述存储器用于与处理器耦合,其保存叶子节点设备必要的程序指令和数据。
在另一个可能的设计中,所述叶子节点设备包括:处理器、发送器、接收器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接发送器、接收器、随机存取存储器以及只读存储器。其中,当需要运行叶子节点设备时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导叶子节点设备进入正常运行状态。在叶子节点设备进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第二方面或第二方面的任意可能的实现方式中的方法。
第十一方面,提供一种叶子节点设备,所述叶子节点设备包括:主控板和接口板,进一步,还可以包括交换网板。所述叶子节点设备用于执行第二方面或第二方面的任意可能的实现方式中的方法。具体地,所述叶子节点设备包括用于执行第二方面或第二方面的任意可能的实现方式中的方法的模块。
第十二方面,提供一种叶子节点设备,所述叶子节点设备包括控制模块和第一转发子设备。所述第一转发子设备包括:接口板,进一步,还可以包括交换网板。所述第一转发子设备用于执行第十一方面中的接口板的功能,进一步,还可以执行第十一方面中交换网板的功能。所述控制模块中包括接收器、处理器、发送器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接接收器、发送器、随机存取存储器以及只读存储器。其中,当需要运行控制模块时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导控制模块进入正常运行状态。在控制模块进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第十一方面中主控板的功能。
可以理解的是,在实际应用中,叶子节点设备可以包含任意数量的接口,处理器或者存储器。
第十三方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种可能执行的方法。
第十四方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第二方面或第二方面的任一种可能执行的方法。
第十五方面,提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种可能执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasablePROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(harddrive)。
第十六方面,提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第二方面或第二方面的任一种可能执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasablePROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(harddrive)。
第十七方面,提供一种芯片,该芯片包括处理器与数据接口,其中,处理器通过该数据接口读取存储器上存储的指令,以执行第一方面或第一方面任意一种可能的实现方式中的方法。在具体实现过程中,该芯片可以以中央处理器(central processing unit,CPU)、微控制器(micro controller unit,MCU)、微处理器(micro processing unit,MPU)、数字信号处理器(digital signal processing,DSP)、片上系统(system on chip,SoC)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或可编辑逻辑器件(programmable logicdevice,PLD)的形式实现。
第十八方面,提供一种芯片,该芯片包括处理器与数据接口,其中,处理器通过该数据接口读取存储器上存储的指令,以执行第二方面或第二方面任意一种可能的实现方式中的方法。在具体实现过程中,该芯片可以以中央处理器(central processing unit,CPU)、微控制器(micro controller unit,MCU)、微处理器(micro processing unit,MPU)、数字信号处理器(digital signal processing,DSP)、片上系统(system on chip,SoC)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或可编辑逻辑器件(programmable logicdevice,PLD)的形式实现。
第十九方面,提供了一种系统,该系统包括上述第一根节点设备和叶子节点设备。
附图说明
图1是应用于本申请实施例的一种组播场景示意图。
图2是本申请实施例提供的一种负载分担的方法的示意性流程图。
图3是本申请实施例提供的另一种负载分担的方法的示意性流程图。
图4是本申请实施例提供的一种第一根节点设备400的示意性结构图。
图5是本申请实施例的一种叶子节点设备500的示意性结构图。
图6是本申请实施例的第一根节点设备2000的硬件结构示意图。
图7为本申请实施例的另一种第一根节点设备2100的硬件结构示意图。
图8是本申请实施例的叶子节点设备2200的硬件结构示意图。
图9为本申请实施例的另一种叶子节点设备2300的硬件结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请将围绕包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
另外,在本申请实施例中,“示例的”、“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
本申请实施例中,“相应的(corresponding,relevant)”和“对应的(corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
本申请实施例描述的网络架构以及业务场景是为了更加清楚地说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:包括单独存在A,同时存在A和B,以及单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
组播(multicast)是一种通过使用一个组播地址将数据在同一时间以高效的方式发往处于传输控制协议(transmission control protocol,TCP)/互联网协议(internetprotocol,IP)网络上的多个接收者的数据传输方式。组播源经由网络中的链路向组播组中的组播组成员发送组播流,该组播组中的组播组成员均可以接收到该组播流。组播传输方式实现了组播源和组播组成员之间的点对多点的数据连接。由于组播流在每条网络链路上只需传递一次,且只有在链路出现支路时,该组播才会被复制。因此,组播传输方式提高了数据传输效率和减少了骨干网络出现拥塞的可能性。IP组播技术实现了IP网络中点到多点的高效数据传送,能够有效地节约网络带宽、降低网络负载。因此,在实时数据传送、多媒体会议、数据拷贝、交互式网络电视(internet protocol television,IPTV)、游戏和仿真等诸多方面都有广泛的应用。
下面结合图1,对应用于本申请实施例的一种组播场景进行详细描述。如图1所示,该组播场景中可以包括:组播源110、交换机(switch,SW)120、运营商边缘设备(provideredge,PE)1/PE2/PE3,L1/L2/L3,H1/H2/H3。
组播源110用于发送组播流量。一个示例,例如在全局表组播(global tablemulticast,GTM),或者Non-VPN Multicast,或者互联网多播(internet multicast)的应用场景中,一个组播流量可以通过组播源组(S,G)来表示,S表示组播源(source)的地址,G表示组播组(group,G)的地址。另一个示例,在组播虚拟专用网络(multicast virtualprivate network,MVPN)的应用场景中,通常还会有VPN实例或虚拟路由转发(virtualroute forwarding,VRF)实例,因此,也可以通过(VPN,S,G)表示一个组播流量。为了便于描述,下面以(S,G)表示一个组播流量为例进行举例说明。
H1/H2/H3为组播接收者,用于接收组播源110发送的组播流量。H1/H2/H3也可以称为用户侧的路由器或主机设备。
PE1/PE2/PE3和L1/L2/L3组成的网络属于承载网络,用于负责将组播源110发送的组播流转发至H1/H2/H3。该承载网络例如可以是运营商网络,或者还可以是数据中心网络,或者还可以是园区网络等,本申请对此不做具体限定。其中,PE1/PE2/PE3为入口(ingress)设备,L1/L2/L3为出口(egress)PE设备。PE1/PE2/PE3也可以称为ingress PE,或根(root)节点,或Root PE。L1/L2/L3也可以称为egress PE,或叶子(leaf)节点,或leaf PE。
可选地,PE1/PE2/PE3和L1/L2/L3之间还可以包括一个或多个中间转发设备(图1中未示出),本申请对此不做具体限定。
相关的技术方案中,PE1作为叶子节点(L1/L2/L3)的主根(primary root)或者主要的上游多播跳(primary upstream multicast hop,primary UMH),负责将组播流量发送给各个叶子节点(L1/L2/L3)。而PE2和PE3作为备根,在PE1正常工作的情况下,PE2和PE3不负责发送组播流量给各个叶子节点(L1/L2/L3),仅处于备用状态。同理,如果有更多数量的叶子节点(例如30个或者300个叶子)的情况下,也是由PE1负责向所有这些叶子发送组播流量,而PE2和PE3处于备用状态。当PE1故障或者PE1和SW120之间链路故障时,PE2或PE3中的任意一个会接管并负责发送组播流量给各个叶子节点(L1/L2/L3)。上述方案中,在PE1正常工作的情况下,PE1的负载大而PE2、PE3的负载小,这样容易造成PE1因为负载过大而产生故障。并且,即使PE1故障,也是由PE2或PE3中的任意一个负责发送组播流量给各个叶子节点,PE2和PE3之间也是负载分配不均衡的,PE2或PE3中负责发送组播流量的也会因为负载过大而产生故障。
有鉴于此,本申请实施例提供了一种负载分担的方法,使得组播流量在各个根节点之间进行负载分担,实现负载均衡,从而避免上述相关方案中各个根节点的负载分配不均衡的问题。下面结合图2,对本申请实施例提供的一种负载分担的方法进行详细描述。
图2是本申请实施例提供的一种负载分担的方法的示意性流程图。如图2所示,该方法可以包括步骤210-240,下面分别对步骤210-240进行详细描述。
应理解,该方法可以应用于通信网络,也可以称为应用了组播技术的网络,例如,该方法应用于虚拟专用网(virtual private network,VPN),具体的,可以应用于组播虚拟专用网(multicast virtual private network,MVPN)。作为示例,该通信网络可以包括组播源设备、根节点设备组和叶子节点设备,所述组播源设备用于经由所述根节点设备组向所述叶子节点设备发送组播流量,所述根节点设备组中包括至少两个根节点设备。其中,该网络中可以包括一个叶子节点设备,或者也可以包括多个叶子节点设备,本申请不做具体限定。如果该网络中包括一个叶子节点设备,该叶子节点设备与根节点设备组中包括的至少两个根节点设备连接;如果该网络中包括多个叶子节点设备,该多个叶子节点设备与根节点设备组中包括的至少两个根节点设备全连接。
例如,该方法可以应用于图1所示的组播场景。该组播场景中组播源110可以是上文中的组播源设备。PE1/PE2/PE3可以是上文中的根节点设备,PE1、PE2、PE3构成一个根节点设备组。L1/L2/L3可以是上文中的叶子节点设备,为了便于描述,图1中以包括三个叶子节点设备(L1、L2、L3)为例进行说明的。
步骤210:第一根节点设备接收叶子节点设备发送的消息,所述消息中包括第一标识和配置信息。
根节点设备组中包括至少两个根节点设备,该第一根节点设备可以是根节点设备组中的一个设备。第一根节点设备可以接收叶子节点设备发送的消息,该消息中包括第一标识和配置信息。其中,第一标识用于指示所述叶子节点设备,例如,该第一标识可以是叶子节点设备的IP地址。又如,该第一标识还可以是叶子节点设备的位转发路由器标识(bitforwarding router identifier,BFR ID)。上述配置信息可以用于指示所述叶子节点设备请求的、从所述根节点设备组到所述叶子节点设备的负载分担的配置方式。具体的,配置信息指示从根节点设备组到叶子节点设备的负载分担的配置方式的实现方式有多种,本申请对此不做具体限定,下面对几种可能的实现方式进行详细描述。
作为示例,一种实现方式中,该配置信息中可以包括第一指示信息,所述第一指示信息指示第一根节点设备为所述叶子节点设备的主根。第一根节点设备为叶子节点设备的主根可以理解为所述第一根节点设备是向所述叶子节点设备转发所述组播流量的指定转发者(designated forwarder,DF)。或者,该配置信息中可以包括第二指示信息,所述第二指示信息指示第一根节点设备为所述叶子节点设备的备根。第一根节点设备为叶子节点设备的备根可以理解为所述第一根节点设备是向所述叶子节点设备转发所述组播流量的非指定转发者(non-designated forwarder,non-DF)。
作为示例,另一种实现方式中,该配置信息中可以包括第三指示信息,所述第三指示信息用于指示作为所述叶子节点设备的主根的候选根节点设备信息,并由候选根节点设备自行确定作为叶子节点设备的主根。也就是说,该第三指示信息指示了一个作为叶子节点设备的主根的负载分担组,该负载分担组中包括候选的多个根节点设备,并由该负载分担组中的多个根节点设备自己决定作为叶子节点设备的主根的设备。
可选地,该配置信息中还可以包括第四指示信息,该第四指示信息用于指示作为所述叶子节点设备的备根的候选根节点设备信息,并由候选根节点设备自行确定作为叶子节点设备的备根。也就是说,该第三指示信息指示了一个作为叶子节点设备的备根的负载分担组,该负载分担组中包括候选的多个根节点设备,并由该负载分担组中的多个根节点设备自己决定作为叶子节点设备的备根的设备。
步骤220:第一根节点设备根据第一标识和配置信息确定从第一根节点设备到叶子节点设备的负载分担的配置结果。
第一根节点设备在接收到叶子节点设备发送的第一标识和配置信息后,可以根据第一标识和配置信息确定从第一根节点设备到叶子节点设备的负载分担的配置结果。一个示例,如果配置信息中包括上述第一指示信息,第一根节点设备可以直接根据第一指示信息确定配置结果为第一结果。或者,如果配置信息中包括上述第二指示信息,第一根节点设备可以直接根据第二指示信息确定配置结果为第二结果。另一个示例,如果配置信息中包括上述第三指示信息,第一根节点设备作为叶子节点设备的主根的候选根节点设备,可以根据对所述第一标识和配置信息(例如,第三指示信息指示的作为所述叶子节点设备的主根的候选根节点设备信息)进行哈希计算,得到所述第一结果。或者,如果配置信息中包括上述第四指示信息,第一根节点设备作为叶子节点设备的备根的候选根节点设备,可以对所述第一标识和配置信息(例如,第四指示信息指示的作为所述叶子节点设备的备根的候选根节点设备信息)进行哈希计算,得到所述第二结果。另一个示例,如果配置信息中包括上述第三指示信息,叶子节点设备发送给第一根节点设备的消息中还包括播源组(S,G),第一根节点设备作为叶子节点设备的主根的候选根节点设备,可以对播源组(S,G)、所述第一标识和配置信息(例如,第三指示信息指示的作为所述叶子节点设备的主根的候选根节点设备信息)进行哈希计算,得到所述第一结果。或者,如果配置信息中包括上述第四指示信息,第一根节点设备作为叶子节点设备的备根的候选根节点设备,可以对播源组(S,G)、所述第一标识和配置信息(例如,第四指示信息指示的作为所述叶子节点设备的备根的候选根节点设备信息)进行哈希计算,得到所述第二结果。
第一根节点设备可以根据上述负载分担的配置结果为第一结果还是第二结果,确定自己是作为叶子节点设备的主根还是备根。作为示例,如果从第一根节点设备到叶子节点设备的负载分担的配置结果为第一结果,第一根节点设备可以执行步骤230;或者,如果从第一根节点设备到叶子节点设备的负载分担的配置结果为第一结果,第一根节点设备可以执行步骤240。
步骤230:响应于所述配置结果为第一结果,所述第一根节点设备确定所述第一根节点设备为所述叶子节点设备的主根。
作为示例,第一根节点设备确定自己为主根,其作为向叶子节点设备转发组播流量的指定转发者,可以将该组播流量发送给该叶子节点设备。
步骤240:响应于所述配置结果为第二结果,所述第一根节点设备确定所述第一根节点设备为所述叶子节点设备的备根。
作为示例,第一根节点设备确定自己为备根,其作为向叶子节点设备转发组播流量的非指定转发者,可以阻止向将该组播流量发送给该叶子节点设备。
上述技术方案中,各个根节点可以对组播流量进行负载分担,实现组播流量的负载均衡。
下面以图1所示的组播场景为例,结合图3,对本申请实施例提供的负载分担的方法的一种具体实现方式进行详细描述。应理解,图3的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将申请实施例限制于所示例的具体数值或具体场景。本领域技术人员根据下面所给出的图3的例子,显然可以进行各种等价的修改或变化,这样的修改和变化也落入本申请实施例的范围内。
图3是本申请实施例提供的另一种负载分担的方法的示意性流程图。如图3所示,该方法可以包括步骤310-337,下面分别对步骤310-337进行详细描述。
步骤310:根节点PE1接收叶子节点L1发送的消息,该消息中携带叶子节点L1的标识和UMH选择指示信息。
作为示例,在步骤310之前,PE1、L1之间可以建立网关边界协议(border gatewayprotocol,BGP)会话并使用BGP-MVPN地址族(或BGP-MVPN协议),其中的BGP会话可以是两两设备之间直接建立,或者也可以是通过一个路由反射器(routing reflector,RR)建立,本申请对此不做具体限定。为了便于描述,下面以两两设备之间直接建立BGP会话为例说明。
例如,H1可以向L1发送组播加入消息,该组播加入消息用于获取组播流量(S1,G1)。L1可以将组播加入消息发送给根节点PE1,由根节点PE1向SW120发送组播加入消息,再由SW120将该组播加入消息发送给组播源110。
应理解,本申请实施例对组播接收者H1发送的上述组播加入消息不做具体限定。可以是因特网组管理协议(internet group management protocol,IGMP)消息,或者也可以是组播发现监听协议(multicast listener discovery,MLD)消息,或者还可以是协议无关组播协议(protocol independent multicast,PIM)消息。举例说明,H1向叶子节点L1发送的组播加入消息可以是IGMP消息或MLD消息,根节点PE1向SW120发送的组播加入消息可以是PIM消息。
上述叶子节点L1还可以向根节点PE1发送叶子节点L1的标识和UMH选择指示信息(也可以称为配置信息)。例如,PE1可以向叶子节点L1发送选择式运营商组播服务接口(selective provider multicast service interface auto-discovery route,S-PMSIA-D),并指定组播流量(S1,G1)。叶子节点L1收到S-PMSI A-D路由后,向根节点PE1发送LeafA-D路由。该Leaf A-D路由中可以包括叶子节点L1的标识和UMH选择指示信息。
作为一个示例,叶子节点L1的标识可以是叶子节点L1的IP地址,携带在该Leaf A-D路由的网络层可达信息(network layer reachability info,NLRI)中。这样,在Leaf A-D路由传递的过程中,例如经过路由反射器(route reflector,RR)或者自治系统边缘路由器(autonomous system boundary router,ASBR)进行路由重发布的过程中其叶子节点的标识都不会改变。上述UMH选择指示信息可以用于指示叶子节点L1选择的主根和备根,或者还用于指示由根节点(PE1/PE2/PE3)自行决定确定作为叶子节点L1的主根和备根,下面分别对不同的实现方式进行详细描述。
应理解,为了便于描述,下面以组播流量(S1,G1)为例进行说明。
1、一种可能的实现方式中,UMH选择指示信息用于指示叶子节点L1选择的主根和备根。
以叶子节点L1选择PE1作为主根,PE2/PE3作为备根作为示例。也就是说,由PE1负责发送组播流量给L1。在PE1正常的情况下,PE2和PE3仅处于备用状态,不负责发送组播流量给L1。本申请实施例中对UMH选择指示信息的具体形式不做限定,只要发送给PE1的UMH选择指示信息和发送给PE2/PE3的UMH选择指示信息可以区分开即可。一个示例,L1发送给PE1的消息中UMH选择指示信息可以是“primary”,表示L1选择PE1作为主根。L1发送给PE2和PE3的UMH选择指示信息为“secondary”,表示L1选择PE2和PE3作为备根。另一个示例,L1发送给PE1的消息中UMH选择指示信息可以是一个“NULL”,也就是说没有额外信息下默认“NULL”为“primary”,表示L1选择PE1作为主根。发送给PE2和PE3的UMH选择指示信息为“secondary”或“backup”或“standby”,表示L1选择PE2和PE3作为备根。
举例说明,叶子节点L1发送给根节点PE1的信息为:(S1,G1,节点ID=L1,UMH选择信息=primary)。可选地,叶子节点L1发送给根节点PE2的信息为:(S1,G1,节点ID=L1,UMH选择信息=secondary);发送给根节点PE3的信息为:(S1,G1,节点ID=L1,UMH选择信息=secondary)。
2、另一种可能的实现方式中,UMH选择指示信息用于指示由作为叶子节点L1的主根的候选根节点(PE1/PE2/PE3)自行确定作为该叶子节点L1的主根。
以叶子节点L1为例,L1发送给根节点PE1的消息中的UMH选择指示信息不再是primary或secondary的指示信息,而是将作为叶子节点L1的主根的候选根节点集合(PE1/PE2/PE3)通知给根节点PE1。由根节点PE1自行决定其是否作为L1的主根。
举例说明,叶子节点L1发送给根节点PE1的信息为:(S1,G1,节点ID=L1,UMH选择信息=信息1)。可选地,叶子节点L1发送给根节点PE2的信息为:(S1,G1,节点ID=L1,UMH选择信息=信息1);发送给根节点PE3的信息为:(S1,G1,节点ID=L1,UMH选择信息=信息1)。
上述信息1中可以包含作为叶子节点L1的主根的候选根节点信息,该信息例如可以候选根节点的标识。该标识的具体实现方式有多种,下面对几种可能的实现方式进行详细描述。应理解,为了便于描述,图3中是作为叶子L1的主根的候选根节点包括PE1、PE2、PE3为例进行说明的。
具体的,作为示例,该标识可以是PE1的ID、PE2的ID、PE3的ID。例如,PE1的ID、PE2的ID、PE3的ID可以是各个PE的IP地址。举例说明,PE1/PE2/PE3的IP地址分别是192.168.10.1,192.168.20.1,192.168.30.1。又如,PE1的ID、PE2的ID、PE3的ID还可以是各个PE的IPv6地址。举例说明,PE1/PE2/PE3的IPv6地址分别是2001:db8:1::1234,2001:db8:2::1234,2001:db8:3::1234。又如,PE1的ID、PE2的ID、PE3的ID还可以是各PE上配置的一个标识,假设PE1/PE2/PE3作为一组路由器,共享一个Anycast的IP地址192.168.0.1,其用于标识这一组路由器(或者组ID),并分别配置一个整数1/2/3标识各PE。举例说明,PE1/PE2/PE3的ID可以是192.168.0.1:1,192.168.0.1:2,192.168.0.1:3。又如,该标识可以是包含PE1/PE2/PE3这一组路由器的标识(例如,192.168.0.1),再包含一个BitString 0111表示ID=1/2/3的路由器。举例说明,位串(BitString)从右到左的第一个位置1标识ID=1的PE1,BitString从右到左的第二个位置1标识ID=2的PE2,BitString从右到左的第三个位置1标识ID=3的PE3。又如,该标识可以只包括组ID,这个组ID代表PE1/PE2/PE3这一组路由器,可以是如上所述的Anycast IP地址,再由组ID所代表的三个路由器上分别配置AnycastIP和三个路由器的对应关系。
可选地,上述信息1中还可以包含一个计数,表示作为叶子节点L1的主根的候选根节点集合中包括的根节点的数量。
可选地,上述信息1中还可以包含指示信息,该指示信息用于指示由作为叶子节点L1的主根的候选根节点集合中包括的根节点自行确定作为L1的主根。例如,该指示信息可以通过auto-select-by-root来标识。
具体的,举例说明,上述信息1可以为<PE1,PE2,PE3,auto-select-by-root>,其中,<PE1,PE2,PE3>表示作为叶子节点L1的主根的候选根节点集合中包括的根节点,<auto-select-by-root>表示由PE1/PE2/PE3自行确定作为L1的主根。确定的具体实现方式有多种,下面会对几种可能的方法进行详细描述,此处暂不详述。
步骤315:根节点PE1根据叶子节点L1发送的消息确定负载分担的配置结果,该配置结果为所述根节点PE1是叶子节点L1的主根。
1、一种可能的实现方式中,UMH选择指示信息用于指示叶子节点选择的主根和备根。
对于PE1而言,其收到的叶子节点L1发送的消息为:(S1,G1,节点ID=L1,UMH选择信息=primary)。可选地,其收到的叶子节点L2发送的消息为:(S1,G1,节点ID=L2,UMH选择信息=secondary);其收到的叶子节点L3发送的消息为:(S1,G1,节点ID=L3,UMH选择信息=secondary)。PE1可以根据上述UMH选择信息确定其作为叶子节点L1的主根,负责向叶子节点L1转发组播流量。
2、另一种可能的实现方式中,UMH选择指示信息用于指示由作为叶子节点L1的主根的候选根节点(PE1/PE2/PE3)自行决定作为叶子节点L1的主根。
具体的,一个示例,可以使用最高随机权重(highest random weight,HRW)的方法,使用各个候选根节点(PE1/PE2/PE3)和叶子节点L1的标识进行哈希(hash)计算,并根据哈希计算的结果确定作为该叶子节点L1的主根。
对于PE1而言,根据叶子节点L1的标识、候选根节点(PE1/PE2/PE3)的信息进行HRW计算的方法如下所示:对PE1的标识和L1的标识进行hash计算,得到结果11,表示为hash11=HRW(L1 ID,PE1 ID)。同理,对PE2的标识和L1的标识进行hash计算,得到结果21,表示为hash21=HRW(L1 ID,PE2 ID)。同理,对PE3的标识和L1的标识进行hash计算,得到结果31,表示为hash31=HRW(L1 ID,PE3 ID)。PE1可以对这几个hash值进行比较大小确定最大的一个值,例如,hash11/hash21/hash31中的最大值为hash11,即使用PE1进行hash计算的值是最大哈希值或最高随机权重,可以表示为HRW(L1,candidate(PE1,PE2,PE3))=PE1,则PE1作为L1的DF。根据该结果,PE1可以确定其作为L1的主根,负责发送组播流量给L1。
同样的,对于PE2而言,也会根据L1节点标识、候选根节点(PE1/PE2/PE3)的信息进行HRW计算,计算的结果和PE1上计算的结果相同,即HRW(L1,candidate(PE1,PE2,PE3))的计算结果同样也是PE1。因此,PE2根据该结果可以确定自己不是L1的主根,不负责发送流量给L1。对于PE3而言,PE3也会根据L1节点标识、候选根节点(PE1/PE2/PE3)的信息进行HRW计算,计算的结果和PE1、PE2上计算的结果相同。因此,PE3根据该结果可以确定自己不是L1的主根,不负责发送流量给L1。
具体的,另一个示例,也可以将组播流量也参与进Hash计算。以(S1,G1)的流量为例,使用HRW的方法,对各个候选根节点(PE1/PE2/PE3)、叶子节点L1的标识以及(S1,G1)进行哈希(hash)计算,并根据哈希计算的结果确定作为该叶子节点L1的主根。具体的实现方法与上一个示例中的方法类似,可以参考上一个示例中描述的Hash计算的方法,此处不再赘述。
具体的,另一个示例,在使用BIER进行组播转发的场景中,PE1还可以根据BitString进行选择。一个示例,PE1作为N*3(N=0/1/…)中包括的叶子节点的主根,优先负责向N*3(N=0/1/…)中包括的叶子节点发送组播流量。PE2作为N*3+1(N=0/1/…)中包括的叶子节点的主根,优先负责向N*3+1(N=0/1/…)中包括的叶子节点发送组播流量。PE3作为N*3+2(N=0/1/…)中包括的叶子节点的主根,优先负责向N*3+2(N=0/1/…)中包括的叶子节点发送组播流量。
举例说明,当N=0时,PE1作为第0个集合或集合ID=0中包括的叶子节点(BFR ID分别为1-256)的主根,负责向BFR ID分别为1-256的叶子节点发送组播流量。同样的,PE2作为第1个集合或集合ID=1中包括的叶子节点(BFR ID分别为257-512)的主根,负责向BFRID分别为257-512的叶子节点发送组播流量。PE3作为第2个集合或集合ID=2中包括的叶子节点(BFR ID分别为513-768)的主根,负责向BFR ID分别为513-768的叶子节点发送组播流量。假设叶子节点L1对应于集合0,L2对应于集合1,L3对应于集合2,那么PE1作为L1的主根,负责向L1发送组播流量;PE2作为L2的主根,负责向L2发送组播流量;PE3作为L3的主根,负责向L3发送组播流量;
另一个示例,在使用BIER进行组播转发的场景中,可以使用HRW的方法,使用各个候选根节点(PE1/PE2/PE3)和集合ID进行哈希(hash)计算,并根据哈希计算的结果确定作为该集合对应的叶子节点的主根。
以集合ID=0对应的叶子节点为例。PE1根据集合ID=0、候选根节点(PE1/PE2/PE3)的信息进行HRW计算的方法如下所示:对PE1的标识和集合ID=0进行hash计算,得到结果11,表示为hash11=HRW(Set ID<0>,PE1 ID)。同理,对PE2的标识和集合ID=0进行hash计算,得到结果21,表示为hash21=HRW(Set ID<0>,PE2 ID)。同理,对PE3的标识和集合ID=0进行hash计算,得到结果31,表示为hash31=HRW(Set ID<0>,PE3 ID)。PE1可以对这几个hash值进行比较大小确定最大的一个值,例如,hash11/hash21/hash31中的最大值为hash11,即使用PE1进行hash计算的值是最大哈希值或最高随机权重,可以表示为HRW(集合ID=0,candidate(PE1,PE2,PE3))=PE1,则PE1作为集合ID=0的所有叶子节点(BFR ID分别为1-256的节点)的DF。根据该结果,PE1可以确定其作为集合ID=0的所有叶子节点(BFRID分别为1-256的节点)的主根,负责发送组播流量给集合ID=0的所有叶子节点(BFR ID分别为1-256的节点)。假设叶子节点L1对应于集合0,那么,PE1可以确定其作为L1的主根,负责发送组播流量给L1。
同样的,PE2和PE3也会根据集合ID=0、候选根节点(PE1/PE2/PE3)的信息进行HRW计算,计算的结果和PE1上计算的结果相同,即HRW(集合ID=0,candidate(PE1,PE2,PE3))的计算结果同样也是PE1。因此,PE2和PE3根据该结果可以确定自己不是集合ID=0的所有叶子节点(BFR ID分别为1-256的节点)的主根,不负责发送组播流量给集合ID=0的所有叶子节点(BFR ID分别为1-256的节点)。假设叶子节点L1对应于集合0,那么,PE2和PE3可以确定自己不是L1的主根,不负责发送组播流量给L1。
步骤317:根节点PE1接收组播源110发送的组播流量(S1,G1),并基于负载分担的配置结果向叶子节点L1发送组播流量(S1,G1)。
本申请实施例对步骤315和步骤317的执行顺序不做具体限定,可以先执行步骤315再执行步骤317,或者也可以先执行步骤317再执行步骤315,或者还可以同时执行步骤315和步骤317。
也就是说,如果先执行步骤315再执行步骤317,那么根节点PE1在接收到组播流量(S1,G1)之前已经确定了上述负载分担的配置结果,根节点PE1可以在收到组播流量(S1,G1)时即可根据负载分担的配置结果转发组播流量(S1,G1)。如果先执行步骤317再执行步骤315,那么根节点PE1在接收到组播流量(S1,G1)后还未得到上述配置结果,根节点PE1可以等待确定了上述负载分担的配置结后,再根据负载分担的配置结果转发组播流量(S1,G1)。这样,可以避免还未确定配置结果就转发组播流量所造成的流量重复发送的问题。
下面对根节点PE1根据负载分担的配置结果对组播流量(S1,G1)进行转发的具体实现过程进行详细描述。
以根节点PE1作为叶子节点L1的主根为例,PE1在接收到组播流量(S1,G1)后,可以确定需要将组播流量(S1,G1)转发给叶子节点L1。具体的,作为示例,根节点PE1和叶子节点L1之间可以使用“无状态(stateless)”的隧道,并通过该隧道将组播流量(S1,G1)发送给叶子节点L1。例如,一种无状态隧道头的例子为BIER隧道头或BIER头。也就是说,根节点PE1可以对组播流量(S1,G1)封装一个BIER头,该BIER头中可以包括bit string字段,该bitstring中与叶子节点L1所对应的bit位的取值为1。
应理解,bit string中的每个bit用来标识边缘BFR(例如,BFIR或BFER),例如bitstring的低位(最右)的一个bit用来标识BFR-ID=1的BFER。bit string中从右往左第2个Bit用来标识BFR-ID=2的BFER。转发面转发所依据的转发表项则是根据报文中的bitstring决定该报文要往哪几个BFER发送。当BIER域中的BFR在接收到了包含有BIER头的报文时,根据BIER头中携带的bit string以及BIFT ID转发BIER报文。需要说明的是,bit位的值为1表示报文要往该BFR-ID所代表的BFER设备发送,bit位的值为0则表示报文不需要往该BFR-ID所代表的BFER设备发送。
步骤320:根节点PE2接收叶子节点L2发送的消息,该消息中携带叶子节点L2的标识和UMH选择指示信息。
1、一种可能的实现方式中,UMH选择指示信息用于指示叶子节点L2选择的主根和备根。以叶子节点L2选择PE2作为主根,PE1/PE3作为备根作为示例。一个示例,L2发送给PE2的消息中UMH选择指示信息可以是“primary”,表示L2选择PE2作为主根。L2发送给PE1和PE3的UMH选择指示信息为“secondary”,表示L2选择PE1和PE3作为备根。另一个示例,L2发送给PE2的消息中UMH选择指示信息可以是一个“NULL”,也就是说没有额外信息下默认“NULL”为“primary”,表示L2选择PE2作为主根。发送给PE1和PE3的UMH选择指示信息为“secondary”或“backup”或“standby”,表示L2选择PE1和PE3作为备根。
举例说明,叶子节点L2发送给根节点PE2的信息为:(S1,G1,节点ID=L2,UMH选择信息=primary)。可选地,叶子节点L2发送给根节点PE1的信息为:(S1,G1,节点ID=L2,UMH选择信息=secondary);发送给根节点PE3的信息为:(S1,G1,节点ID=L2,UMH选择信息=secondary)。
2、另一种可能的实现方式中,UMH选择指示信息用于指示由作为叶子节点L2的主根的候选根节点(PE1/PE2/PE3)自行确定作为该叶子节点L2的主根和备根。举例说明,叶子节点L2发送给根节点PE2的信息为:(S1,G1,节点ID=L2,UMH选择信息=信息2<PE1,PE2,PE3>)。可选地,叶子节点L2发送给根节点PE1的信息为:(S1,G1,节点ID=L2,UMH选择信息=信息2<PE1,PE2,PE3>);发送给根节点PE3的信息为:(S1,G1,节点ID=L2,UMH选择信息=信息2<PE1,PE2,PE3>)。
步骤325:根节点PE2根据叶子节点L2发送的消息确定负载分担的配置结果,该配置结果为所述根节点PE2是叶子节点L2的主根。
实现的方法有多种,下面以HRW为例,以使用各个候选根节点(PE1/PE2/PE3)和叶子节点L2的标识进行hash计算确定作为叶子节点L2的主根进行说明。其他的实现方法与步骤315中的方法类似,具体的请参考步骤315中的描述,此处不再赘述。
对于PE1而言,根据叶子节点L2的标识、候选根节点(PE1/PE2/PE3)的信息进行HRW计算的方法如下所示:对PE1的标识和L2的标识进行hash计算,得到结果12,表示为hash12=HRW(L2 ID,PE1 ID)。同理,对PE2的标识和L2的标识进行hash计算,得到结果22,表示为hash22=HRW(L2 ID,PE2 ID)。同理,对PE3的标识和L2的标识进行hash计算,得到结果32,表示为hash32=HRW(L2 ID,PE3 ID)。PE1可以对这几个hash值进行比较大小确定最大的一个值,例如,hash12/hash22/hash32中的最大值为hash22,即使用PE2进行hash计算的值是最大哈希值或最高随机权重,可以表示为HRW(L2,candidate(PE1,PE2,PE3))=PE2,则PE2作为L2的DF。根据该结果,PE1可以确定自己不是L2的主根,不负责发送流量给L2。
同样的,对于PE2而言,也会根据L2节点标识、候选根节点(PE1/PE2/PE3)的信息进行HRW计算,计算的结果和PE1上计算的结果相同,即HRW(L2,candidate(PE1,PE2,PE3))的计算结果同样也是PE2。因此,PE2根据该结果可以确定自己作为L2的主根,负责发送流量给L2。对于PE3而言,PE3也会根据L2节点标识、候选根节点(PE1/PE2/PE3)的信息进行HRW计算,计算的结果和PE1、PE2上计算的结果相同。因此,PE3根据该结果可以确定自己不是L2的主根,不负责发送流量给L2。
步骤327:根节点PE2接收组播源发送的组播流量(S1,G1),并基于各自确定的负载分担的配置结果向叶子节点L2发送组播流量(S1,G1)。
以根节点PE2作为叶子节点L2的主根为例,根节点PE2在接收到组播流量(S1,G1)后,也可以将组播流量(S1,G1)转发给叶子节点L2。以BIER隧道为例,根节点PE2可以对组播流量(S1,G1)封装一个BIER头,该BIER头中可以包括bit string字段,该bit string中与叶子节点L2所对应的bit位的取值为1。
步骤330:根节点PE3接收叶子节点L3发送的消息,该消息中携带叶子节点L3的标识和UMH选择指示信息。
1、一种可能的实现方式中,UMH选择指示信息用于指示叶子节点L3选择的主根和备根。以叶子节点L3选择PE3作为主根,PE2/PE3作为备根作为示例。一个示例,L3发送给PE3的消息中UMH选择指示信息可以是“primary”,表示L3选择PE3作为主根。L3发送给PE2和PE3的UMH选择指示信息为“secondary”,表示L3选择PE2和PE3作为备根。另一个示例,L3发送给PE3的消息中UMH选择指示信息可以是一个“NULL”,也就是说没有额外信息下默认“NULL”为“primary”,表示L3选择PE3作为主根。发送给PE2和PE3的UMH选择指示信息为“secondary”或“backup”或“standby”,表示L3选择PE2和PE3作为备根。
举例说明,叶子节点L3发送给根节点PE3的信息为:(S1,G1,节点ID=L3,UMH选择信息=primary)。可选地,叶子节点L3发送给根节点PE1的信息为:(S1,G1,节点ID=L3,UMH选择信息=secondary);发送给根节点PE2的信息为:(S1,G1,节点ID=L3,UMH选择信息=secondary)。
2、另一种可能的实现方式中,UMH选择指示信息用于指示由作为叶子节点L3的主根的候选根节点(PE1/PE2/PE3)自行确定作为该叶子节点L3的主根和备根。举例说明,叶子节点L3发送给根节点PE3的信息为:(S1,G1,节点ID=L3,UMH选择信息=信息3<PE1,PE2,PE3>)。可选地,叶子节点L3发送给根节点PE1的信息为:(S1,G1,节点ID=L3,UMH选择信息=信息3<PE1,PE2,PE3>);发送给根节点PE2的信息为:(S1,G1,节点ID=L3,UMH选择信息=信息3<PE1,PE2,PE3>)。
步骤335:根节点PE3根据叶子节点L3发送的消息确定负载分担的配置结果,该配置结果为所述根节点PE3是叶子节点L3的主根。
实现的方法有多种,下面以HRW方法为例,以使用各个候选根节点(PE1/PE2/PE3)和叶子节点L3的标识进行hash计算确定作为该叶子节点L3的主根进行说明。其他的实现方法与步骤315中的方法类似,具体的请参考步骤315中的描述,此处不再赘述。
对于PE1而言,根据叶子节点L3的标识、候选根节点(PE1/PE2/PE3)的信息进行HRW计算的方法如下所示:对PE1的标识和L3的标识进行hash计算,得到结果13,表示为hash13=HRW(L3 ID,PE1 ID)。同理,对PE2的标识和L3的标识进行hash计算,得到结果23,表示为hash23=HRW(L3 ID,PE2 ID)。同理,对PE3的标识和L3的标识进行hash计算,得到结果33,表示为hash33=HRW(L3 ID,PE3 ID)。PE1可以对这几个hash值进行比较大小确定最大的一个值,例如,hash13/hash23/hash33中的最大值为hash33,即使用PE3进行hash计算的值是最大哈希值或最高随机权重,可以表示为HRW(L3,candidate(PE1,PE2,PE3))=PE3,则PE3作为L3的DF。根据该结果,PE1可以确定自己不是L3的主根,不负责发送流量给L3。
同样的,对于PE2而言,也会根据L3节点标识、候选根节点(PE1/PE2/PE3)的信息进行HRW计算,计算的结果和PE1上计算的结果相同,即HRW(L3,candidate(PE1,PE2,PE3))的计算结果同样也是PE3。因此,PE2根据该结果确定自己不是L3的主根,不负责发送流量给L3。对于PE3而言,PE3也会根据L3节点标识、候选根节点(PE1/PE2/PE3)的信息进行HRW计算,计算的结果和PE1、PE2上计算的结果相同。因此,PE3根据该结果可以确定自己是L3的主根,负责发送流量给L3。
步骤337:根节点PE3接收组播源发送的组播流量(S1,G1),并基于各自确定的负载分担的配置结果向叶子节点L3发送组播流量(S1,G1)。
以根节点PE3作为叶子节点L3的主根为例,根节点PE3在接收到组播流量(S1,G1)后,也可以将组播流量(S1,G1)转发给叶子节点L3。以BIER隧道为例,根节点PE3可以对组播流量(S1,G1)封装一个BIER头,该BIER头中可以包括bit string字段,该bit string中与叶子节点L3所对应的bit位的取值为1。
上述技术方案中各个根节点在业务正常工作时可以进行负载分担,降低了单个设备的业务量,从而避免单个设备由于负载过大而导致的故障。
可选地,当某个根节点无法正常工作时,由其他可用的根节点对无法正常工作的根节点上的组播流量进行分担。本申请实施例中的某个根节点无法正常工作,可以理解为该根节点自身发生故障导致其无法正常工作,例如,掉电。或者还可以理解为该根节点和其他设备之间的链路发生故障从而导致其无法正常工作,例如,该根节点和与其连接的叶子节点之间的链路发生故障。
下面以根节点PE1故障为例,由其他可用的根节点(例如,PE2或PE3)对PE1的组播流量进行分担的不同实现方式进行详细描述。
一种可能的实现方式中,L1在确定PE1自身发生故障或PE1和L1之间的链路故障后,会重新向根节点(PE2/PE3)发送UMH选择指示信息。一个示例,假设L1重新确定PE2作为L1的主根,由PE2负责发送组播流量(S1,G1)给L1。L1发送给PE2的信息为:(S1,G1,节点ID=L1,UMH选择信息=primary);L1发送给PE3的信息为:(S1,G1,节点ID=L1,UMH选择信息=secondary)。PE2可以根据上述UMH选择信息确定其作为叶子节点L1的主根,负责向叶子节点L1转发组播流量。而PE3根据上述UMH选择信息确定其作为叶子节点L1的备根。另一个示例,L1发送给PE2的信息为:(S1,G2,节点ID=L1,UMH选择信息=信息1<PE2,PE3,auto-select-by-root>);L1发送给PE3的信息为:(S1,G2,节点ID=L1,UMH选择信息=信息1<PE2,PE3,auto-select-by-root>)。PE2和PE3可以根据步骤320中的任意一种方法确定作为叶子节点L1的主根和备根。假设确定PE2作为L1的主根,由PE2负责发送组播流量(S1,G1)给L1。
另一种可能的实现方式中,PE2和PE3各自在确定PE1故障后,PE2和PE3会自行确定负责向L1发送组播流量(S1,G1)的根节点。例如,PE2和PE3根据hash12的取值>hash12的取值确定PE2作为L1的主根,由PE2负责向L1发送组播流量(S1,G1)。
本申请实施例中,PE2/PE3根据检测得到的PE1的故障信息进行的切换,与L1检测到PE1的故障以后发送给PE2/PE3的更新信息进行的切换结果相同,哪个先发生就可以触发切换。这样,可以提高性能,减少因为节点故障而中断组播流量的时间。
在PE1故障或PE1和L1之间的链路故障的情况下,对于PE2而言,既作为L1的主根,又作为L2的主根,PE2可以将组播流量(S1,G1)分别发送给L1和L2。以BIER隧道为例,根节点PE2可以对组播流量(S1,G1)封装一个BIER头,该BIER头中可以包括bit string字段,该bitstring中与叶子节点L1和L2所对应的bit位的取值均为1。对于PE3而言,其仍然作为L3的主根,负责向L3转发组播流量(S1,G1)。也就是说,在1个根节点故障的情况下,流量仍然是负载分担的。
上述技术方案各个根节点既可以在业务正常工作时进行负载分担,降低单个设备的业务量,也能在设备故障时进行快速保护,还能在叶子节点与根节点之间的链路故障时进行有效的保护。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文结合图1至图3,详细描述了本申请实施例提供的一种负载分担的方法,下面将结合图4至图9,详细描述本申请的装置的实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图4是本申请实施例提供的一种第一根节点设备400的示意性结构图。图4所示的该第一根节点设备400可以执行上述实施例的方法中第一根节点设备执行的相应步骤。如图4所示,所述第一根节点设备400包括:接收模块410、确定模块420,
接收模块410,用于接收所述叶子节点设备发送的消息,所述消息中包括第一标识和配置信息,所述第一标识指示所述叶子节点设备,所述配置信息用于指示所述叶子节点设备请求的、从所述根节点设备组到所述叶子节点设备的负载分担的配置方式,所述根节点设备组包括所述第一根节点设备;
确定模块420,用于根据所述第一标识和所述配置信息确定从所述第一根节点设备到所述叶子节点设备的负载分担的配置结果;
所述确定模块420,还用于响应于所述配置结果为第一结果,确定所述第一根节点设备为所述叶子节点设备的主根,所述主根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的指定转发者;或者
所述确定模块420,还用于响应于所述配置结果为第二结果,确定所述第一根节点设备为所述叶子节点设备的备根,所述备根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的非指定转发者。
可选地,所述配置信息中包括第一指示信息,所述第一指示信息用于指示所述第一根节点设备为所述叶子节点设备的主根。
可选地,所述配置信息中包括第二指示信息,所述第二指示信息用于指示所述第一根节点设备为所述叶子节点设备的备根。
可选地,所述配置信息中包括第三指示信息,所述第三指示信息用于指示作为所述叶子节点设备的主根的候选根节点设备信息。
可选地中,所述候选根节点设备中包括所述第一根节点设备,所述确定模块420具体用于:对所述第一标识和配置信息进行哈希计算,得到所述配置结果。
可选地,所述消息中还包括组播源组(S,G),所述候选根节点设备中包括所述第一根节点设备,所述确定模块420具体用于:对所述组播源组(S,G)、所述第一标识以及配置信息进行哈希计算,得到所述配置结果。
可选地,所述接收模块410,用于接收所述组播流量;所述第一根节点设备还包括:发送模块430,用于响应于所述第一根节点设备为所述叶子节点设备的主根,向所述叶子节点设备发送所述组播流量。
图5是本申请实施例的一种叶子节点设备500的示意性结构图。图5所示的该叶子节点设备500可以执行上述实施例的方法中叶子节点设备执行的相应步骤。如图5所示,所述叶子节点设备500包括:生成模块510、发送模块520,
生成模块510,用于生成消息,所述消息中包括第一标识和配置信息,所述第一标识指示所述叶子节点设备,所述配置信息用于指示所述叶子节点设备请求的、从所述根节点设备组到所述叶子节点设备的负载分担的配置方式;
发送模块520,用于向第一根节点设备发送所述消息,所述根节点设备组包括所述第一根节点设备。
可选地,所述配置信息中包括第一指示信息,所述第一指示信息所述第一根节点设备为所述叶子节点设备的主根,所述主根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的指定转发者。
可选地,所述配置信息中包括第二指示信息,所述第二指示信息所述第一根节点设备为所述叶子节点设备的备根,所述备根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的非指定转发者。
可选地,所述配置信息中包括第三指示信息,所述第三指示信息用于指示作为所述叶子节点设备的主根的候选根节点设备信息。
可选地,所述第一根节点设备为所述叶子节点设备的主根,所述叶子节点设备500还包括:接收模块530,用于接收所述第一根节点设备发送的所述组播流量。
图6是本申请实施例的第一根节点设备2000的硬件结构示意图。图6所示第一根节点设备2000可以执行上述实施例的方法中第一根节点设备执行的相应步骤。
如图6所示,所述第一根节点设备2000包括处理器2001、存储器2002、接口2003和总线2004。其中接口2003可以通过无线或有线的方式实现,具体来讲可以是网卡。上述处理器2001、存储器2002和接口2003通过总线2004连接。
所述接口2003具体可以包括发送器和接收器,用于第一根节点设备实现上述收发。例如,所述接口2003用于支持第一根节点设备接收所述叶子节点设备发送的消息。
所述处理器2001用于执行上述实施例中由第一根节点设备进行的处理。例如,用于根据所述第一标识和所述配置信息确定从所述第一根节点设备到叶子节点设备的负载分担的配置结果;和/或用于本文所描述的技术的其他过程。存储器2002包括操作系统20021和应用程序20022,用于存储程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成方法实施例中涉及第一根节点设备的处理过程。可选的,所述存储器2002可以包括只读存储器(read-only memory,ROM)和随机存取存储器(random accessmemory,RAM)。其中,所述ROM包括基本输入/输出系统(basic input/output system,BIOS)或嵌入式系统;所述RAM包括应用程序和操作系统。当需要运行第一根节点设备2000时,通过固化在ROM中的BIOS或者嵌入式系统中的bootloader引导系统进行启动,引导第一根节点设备2000进入正常运行状态。在第一根节点设备2000进入正常运行状态后,运行在RAM中的应用程序和操作系统,从而,完成方法实施例中涉及第一根节点设备2000的处理过程。
可以理解的是,图6仅仅示出了第一根节点设备2000的简化设计。在实际应用中,第一根节点设备可以包含任意数量的接口,处理器或者存储器。
图7为本申请实施例的另一种第一根节点设备2100的硬件结构示意图。图7所示的第一根节点设备2100可以执行上述实施例的方法中第一根节点设备执行的相应步骤。
如图7所述,第一根节点设备2100包括:主控板2110、接口板2130、交换网板2120和接口板2140。主控板2110、接口板2130和2140,以及交换网板2120之间通过系统总线与系统背板相连实现互通。其中,主控板2110用于完成系统管理、设备维护、协议处理等功能。交换网板2120用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。接口板2130和2140用于提供各种业务接口(例如,POS接口、GE接口、ATM接口等),并实现数据包的转发。
接口板2130可以包括中央处理器2131、转发表项存储器2134、物理接口卡2133和网络处理器2132。其中,中央处理器2131用于对接口板进行控制管理并与主控板上的中央处理器进行通信。转发表项存储器2134用于保存表项。物理接口卡2133用于完成流量的接收和发送。
应理解,本申请实施例中接口板2140上的操作与所述接口板2130的操作一致,为了简洁,不再赘述。
应理解,本实施例的第一根节点设备2100可对应于上述方法实施例所具有的功能和/或所实施的各种步骤,在此不再赘述。
此外,需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,第一根节点设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,第一根节点设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,第一根节点设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的第一根节点设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
图8是本申请实施例的叶子节点设备2200的硬件结构示意图。图8所示叶子节点设备2200可以执行上述实施例的方法中叶子节点设备执行的相应步骤。
如图8所示,所述叶子节点设备2200包括处理器2201、存储器2202、接口2203和总线2204。其中接口2203可以通过无线或有线的方式实现,具体来讲可以是网卡。上述处理器2201、存储器2202和接口2203通过总线2204连接。
所述接口2203具体可以包括发送器和接收器,用于向第一根节点设备发送消息;接收所述第一根节点设备发送的所述组播流量。所述处理器2201用于执行上述实施例中由叶子节点设备进行的处理。例如,所述处理器2201用于生成消息;和/或用于本文所描述的技术的其他过程。存储器2202包括操作系统22021和应用程序22022,用于存储程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成方法实施例中涉及叶子节点设备的处理过程。可选的,所述存储器2202可以包括只读存储器(read-only memory,ROM)和随机存取存储器(random access memory,RAM)。其中,所述ROM包括基本输入/输出系统(basic input/output system,BIOS)或嵌入式系统;所述RAM包括应用程序和操作系统。当需要运行叶子节点设备2200时,通过固化在ROM中的BIOS或者嵌入式系统中的bootloader引导系统进行启动,引导叶子节点设备2200进入正常运行状态。在叶子节点设备2200进入正常运行状态后,运行在RAM中的应用程序和操作系统,从而,完成方法实施例中涉及叶子节点设备2200的处理过程。
可以理解的是,图8仅仅示出了叶子节点设备2200的简化设计。在实际应用中,叶子节点设备可以包含任意数量的接口,处理器或者存储器。
图9为本申请实施例的另一种叶子节点设备2300的硬件结构示意图。图9所示的叶子节点设备230可以执行上述实施例的方法中叶子节点设备执行的相应步骤。
如图9所述,叶子节点设备230包括:主控板2310、接口板2330、交换网板2320和接口板2340。主控板2310、接口板2330和2340,以及交换网板2320之间通过系统总线与系统背板相连实现互通。其中,主控板2310用于完成系统管理、设备维护、协议处理等功能。交换网板2320用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。接口板2330和2340用于提供各种业务接口(例如,POS接口、GE接口、ATM接口等),并实现数据包的转发。
接口板2330可以包括中央处理器2331、转发表项存储器2334、物理接口卡2333和网络处理器2332。其中,中央处理器2331用于对接口板进行控制管理并与主控板上的中央处理器进行通信。转发表项存储器2334用于保存表项。物理接口卡2133用于完成流量的接收和发送。
应理解,本申请实施例中接口板2340上的操作与所述接口板2330的操作一致,为了简洁,不再赘述。应理解,本实施例的叶子节点设备2300可对应于上述方法实施例所具有的功能和/或所实施的各种步骤,在此不再赘述。
此外,需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,叶子节点设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,叶子节点设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,叶子节点设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的叶子节点设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一根节点设备执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-onlymemory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasable PROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(harddrive)。
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述叶子节点设备执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-onlymemory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasable PROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(harddrive)。
本申请实施例还提供了一种芯片系统,应用于第一根节点设备中,该芯片系统包括:至少一个处理器、至少一个存储器和接口电路,所述接口电路负责所述芯片系统与外界的信息交互,所述至少一个存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有指令;所述指令被所述至少一个处理器执行,以进行上述各个方面的所述的方法中所述第一根节点设备的操作。
在具体实现过程中,该芯片可以以中央处理器(central processing unit,CPU)、微控制器(micro controller unit,MCU)、微处理器(micro processing unit,MPU)、数字信号处理器(digital signal processing,DSP)、片上系统(system on chip,SoC)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)或可编辑逻辑器件(programmable logic device,PLD)的形式实现。
本申请实施例还提供了一种芯片系统,应用于叶子节点设备中,该芯片系统包括:至少一个处理器、至少一个存储器和接口电路,所述接口电路负责所述芯片系统与外界的信息交互,所述至少一个存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有指令;所述指令被所述至少一个处理器执行,以进行上述各个方面的所述的方法中所述叶子节点设备的操作。
在具体实现过程中,该芯片可以以中央处理器(central processing unit,CPU)、微控制器(micro controller unit,MCU)、微处理器(micro processing unit,MPU)、数字信号处理器(digital signal processing,DSP)、片上系统(system on chip,SoC)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)或可编辑逻辑器件(programmable logic device,PLD)的形式实现。
本申请实施例还提供了一种计算机程序产品,应用于第一根节点设备中,所述计算机程序产品包括一系列指令,当所述指令被运行时,以进行上述各个方面的所述的方法中所述第一根节点设备的操作。
本申请实施例还提供了一种计算机程序产品,应用于叶子节点设备中,所述计算机程序产品包括一系列指令,当所述指令被运行时,以进行上述各个方面的所述的方法中所述叶子节点设备的操作。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (46)

1.一种负载分担的方法,其特征在于,所述方法应用于通信网络,所述通信网络包括组播源设备、根节点设备组和叶子节点设备,所述组播源设备用于经由所述根节点设备组向所述叶子节点设备发送组播流量,所述根节点设备组中包括至少两个根节点设备,所述方法包括:
第一根节点设备接收所述叶子节点设备发送的消息,所述消息中包括第一标识和配置信息,所述第一标识指示所述叶子节点设备,所述配置信息用于指示所述叶子节点设备请求的、从所述根节点设备组到所述叶子节点设备的负载分担的配置方式,所述根节点设备组包括所述第一根节点设备;
所述第一根节点设备根据所述第一标识和所述配置信息确定从所述第一根节点设备到所述叶子节点设备的负载分担的配置结果;
响应于所述配置结果为第一结果,所述第一根节点设备确定所述第一根节点设备为所述叶子节点设备的主根,所述主根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的指定转发者DF;或者
响应于所述配置结果为第二结果,所述第一根节点设备确定所述第一根节点设备为所述叶子节点设备的备根,所述备根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的非指定转发者non-DF。
2.根据权利要求1所述的方法,其特征在于,所述配置信息中包括第一指示信息,所述第一指示信息用于指示所述第一根节点设备为所述叶子节点设备的主根。
3.根据权利要求1所述的方法,其特征在于,所述配置信息中包括第二指示信息,所述第二指示信息用于指示所述第一根节点设备为所述叶子节点设备的备根。
4.根据权利要求1所述的方法,其特征在于,所述配置信息中包括第三指示信息,所述第三指示信息用于指示作为所述叶子节点设备的主根的候选根节点设备信息。
5.根据权利要求4所述的方法,其特征在于,所述候选根节点设备中包括所述第一根节点设备,
所述第一根节点设备根据所述第一标识和所述配置信息确定从所述第一根节点设备到所述叶子节点设备的负载分担的配置结果,包括:
所述第一根节点设备对所述第一标识和所述配置信息进行哈希计算,得到所述配置结果。
6.根据权利要求4所述的方法,其特征在于,所述消息中还包括组播源组(S,G),所述候选根节点设备中包括所述第一根节点设备,
所述第一根节点设备根据所述第一标识和所述配置信息确定从所述第一根节点设备到所述叶子节点设备的负载分担的配置结果,包括:
所述第一根节点设备对所述组播源组(S,G)、所述第一标识以及所述配置信息进行哈希计算,得到所述配置结果。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
所述第一根节点设备接收所述组播流量;
响应于所述第一根节点设备为所述叶子节点设备的主根,所述第一根节点设备向所述叶子节点设备发送所述组播流量。
8.一种负载分担的方法,其特征在于,所述方法应用于通信网络,所述通信网络包括组播源设备、根节点设备组和叶子节点设备,所述组播源设备用于经由所述根节点设备组向所述叶子节点设备发送组播流量,所述根节点设备组中包括至少两个根节点设备,所述方法包括:
所述叶子节点设备生成消息,所述消息中包括第一标识和配置信息,所述第一标识指示所述叶子节点设备,所述配置信息用于指示所述叶子节点设备请求的、从所述根节点设备组到所述叶子节点设备的负载分担的配置方式;
所述叶子节点设备向第一根节点设备发送所述消息,所述根节点设备组包括所述第一根节点设备。
9.根据权利要求8所述的方法,其特征在于,所述配置信息中包括第一指示信息,所述第一指示信息所述第一根节点设备为所述叶子节点设备的主根,所述主根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的指定转发者DF。
10.根据权利要求8所述的方法,其特征在于,所述配置信息中包括第二指示信息,所述第二指示信息所述第一根节点设备为所述叶子节点设备的备根,所述备根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的非指定转发者non-DF。
11.根据权利要求10所述的方法,其特征在于,所述配置信息中包括第三指示信息,所述第三指示信息用于指示作为所述叶子节点设备的主根的候选根节点设备信息。
12.根据权利要求8至11中任一项所述的方法,其特征在于,所述第一根节点设备为所述叶子节点设备的主根,所述方法还包括:
所述叶子节点设备接收所述第一根节点设备发送的所述组播流量。
13.一种负载分担的方法,其特征在于,所述方法应用于通信网络,所述通信网络包括组播源设备、根节点设备组和第一叶子节点设备、第二叶子节点设备,所述组播源设备用于经由所述根节点设备组向所述第一叶子节点设备、所述第二叶子节点设备发送组播流量,所述根节点设备组中包括第一根节点设备和第二根节点设备,所述方法包括:
所述第一根节点设备接收所述组播流量,所述根节点设备组中包括所述第一根节点设备;
响应于所述第一根节点设备为所述第一叶子节点设备的主根,所述第一根节点设备向所述第一叶子节点设备发送所述组播流量,所述第一根节点设备为第一叶子节点设备的主根指示所述第一根节点设备是向所述第一叶子节点设备转发所述组播流量的指定转发者DF;
所述第二根节点设备接收所述组播流量,所述根节点设备组中包括所述第二根节点设备;
响应于所述第二根节点设备为所述第二叶子节点设备的主根,所述第二根节点设备向所述第二叶子节点设备发送所述组播流量,所述第二根节点设备为第二叶子节点设备的主根指示所述第二根节点设备是向所述第二叶子节点设备转发所述组播流量的指定转发者DF。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
所述第一根节点设备接收所述第一叶子节点设备发送的第一消息,所述第一消息中包括所述第一标识和第一配置信息,所述第一标识指示所述第一叶子节点设备,所述第一配置信息用于指示所述第一叶子节点设备请求的、从所述根节点设备组到所述第一叶子节点设备的负载分担的配置方式;
所述第一根节点根据所述第一标识和所述第一配置信息确定从所述第一根节点设备到所述第一叶子节点设备的第一负载分担的配置结果;
响应于所述第一负载分担的配置结果为第一结果,所述第一根节点设备确定所述第一根节点设备为所述第一叶子节点设备的主根。
15.根据权利要求14所述的方法,其特征在于,所述第一配置信息中包括第一指示信息,所述第一指示信息用于指示所述第一根节点设备为所述第一叶子节点设备的主根。
16.根据权利要求14所述的方法,其特征在于,所述第一配置信息中包括第二指示信息,所述第二指示信息用于指示作为所述第一叶子节点设备的主根的第一候选根节点设备信息。
17.根据权利要求16所述的方法,其特征在于,所述第一候选根节点设备中包括所述第一根节点设备,所述第一根节点设备根据所述第一标识和所述第一配置信息确定从所述第一根节点设备到所述第一叶子节点设备的第一负载分担的配置结果,包括:
所述第一根节点设备对所述第一标识和所述第一配置信息进行哈希计算,得到所述第一负载分担的配置结果。
18.根据权利要求16所述的方法,其特征在于,所述第一消息中还包括组播源组(S,G),所述第一候选根节点设备中包括所述第一根节点设备,
所述第一根节点设备根据所述第一标识和所述第一配置信息确定从所述第一根节点设备到所述第一叶子节点设备的第一负载分担的配置结果,包括:
所述第一根节点设备对所述组播源组(S,G)、所述第一标识以及所述第一配置信息进行哈希计算,得到所述第一负载分担的配置结果。
19.根据权利要求13至18中任一项所述的方法,其特征在于,所述方法还包括:
所述第二根节点设备接收所述第二叶子节点设备发送的第二消息,所述第二消息中包括第二标识和第二配置信息,所述第二标识指示所述第二叶子节点设备,所述第二配置信息用于指示所述第二叶子节点设备请求的、从所述根节点设备组到所述第二叶子节点设备的负载分担的配置方式;
所述第二根节点设备根据所述第二标识和所述第二配置信息确定从所述第二根节点设备到所述第二叶子节点设备的第二负载分担的配置结果;
响应于所述第二负载分担的配置结果为第二结果,所述第二根节点设备确定所述第二根节点设备为所述第二叶子节点设备的主根。
20.根据权利要求19所述的方法,其特征在于,所述第二配置信息中包括第三指示信息,所述第三指示信息用于指示所述第二根节点设备为所述第二叶子节点设备的主根。
21.根据权利要求19所述的方法,其特征在于,所述第二配置信息中包括第四指示信息,所述第四指示信息用于指示作为所述第二叶子节点设备的主根的第二候选根节点设备信息。
22.根据权利要求21所述的方法,其特征在于,所述第二候选根节点设备中包括所述第二根节点设备,
所述第二根节点设备根据所述第二标识和所述第二配置信息确定从所述第一根节点设备到所述第一叶子节点设备的所述第二负载分担的配置结果,包括:
所述第二根节点设备对所述第二标识和所述第二配置信息进行哈希计算,得到所述第二负载分担的配置结果。
23.根据权利要求21所述的方法,其特征在于,所述第二消息中还包括组播源组(S,G),所述第二候选根节点设备中包括所述第二根节点设备,
所述第二根节点设备根据所述第二标识和所述第二配置信息确定从所述第一根节点设备到所述第一叶子节点设备的所述第二负载分担的配置结果,包括:
所述第二根节点设备对所述组播源组(S,G)、所述第二标识以及所述第二配置信息进行哈希计算,得到所述第二负载分担的配置结果。
24.一种第一根节点设备,其特征在于,所述第一根节点设备应用于通信网络,所述通信网络包括组播源设备、根节点设备组和叶子节点设备,所述组播源设备用于经由所述根节点设备组向所述叶子节点设备发送组播流量,所述根节点设备组中包括所述第一根节点设备在内的至少两个根节点设备,所述第一根节点设备包括:
接收模块,用于接收所述叶子节点设备发送的消息,所述消息中包括第一标识和配置信息,所述第一标识指示所述叶子节点设备,所述配置信息用于指示所述叶子节点设备请求的、从所述根节点设备组到所述叶子节点设备的负载分担的配置方式,所述根节点设备组包括所述第一根节点设备;
确定模块,用于根据所述第一标识和所述配置信息确定从所述第一根节点设备到所述叶子节点设备的负载分担的配置结果;
所述确定模块,还用于响应于所述配置结果为第一结果,确定所述第一根节点设备为所述叶子节点设备的主根,所述主根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的指定转发者DF;或者
所述确定模块,还用于响应于所述配置结果为第二结果,确定所述第一根节点设备为所述叶子节点设备的备根,所述备根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的非指定转发者non-DF。
25.根据权利要求24所述的第一根节点设备,其特征在于,所述配置信息中包括第一指示信息,所述第一指示信息用于指示所述第一根节点设备为所述叶子节点设备的主根。
26.根据权利要求24所述的第一根节点设备,其特征在于,所述配置信息中包括第二指示信息,所述第二指示信息用于指示所述第一根节点设备为所述叶子节点设备的备根。
27.根据权利要求24所述的第一根节点设备,其特征在于,所述配置信息中包括第三指示信息,所述第三指示信息用于指示作为所述叶子节点设备的主根的候选根节点设备信息。
28.根据权利要求27所述的第一根节点设备,其特征在于,所述候选根节点设备中包括所述第一根节点设备,所述确定模块具体用于:
对所述第一标识和所述配置信息进行哈希计算,得到所述配置结果。
29.根据权利要求27所述的第一根节点设备,其特征在于,所述消息中还包括组播源组(S,G),所述候选根节点设备中包括所述第一根节点设备,所述确定模块具体用于:
对所述组播源组(S,G)、所述第一标识以及所述配置信息进行哈希计算,得到所述配置结果。
30.根据权利要求24至29中任一项所述的第一根节点设备,其特征在于,
所述接收模块,用于接收所述组播流量;
所述第一根节点设备还包括:
发送模块,用于响应于所述第一根节点设备为所述叶子节点设备的主根,向所述叶子节点设备发送所述组播流量。
31.一种叶子节点设备,其特征在于,所述叶子节点设备应用于通信网络,所述通信网络包括组播源设备、根节点设备组和所述叶子节点设备,所述组播源设备用于经由所述根节点设备组向所述叶子节点设备发送组播流量,所述根节点设备组中包括至少两个根节点设备,所述叶子节点设备包括:
生成模块,用于生成消息,所述消息中包括第一标识和配置信息,所述第一标识指示所述叶子节点设备,所述配置信息用于指示所述叶子节点设备请求的、从所述根节点设备组到所述叶子节点设备的负载分担的配置方式;
发送模块,用于向第一根节点设备发送所述消息,所述根节点设备组包括所述第一根节点设备。
32.根据权利要求31所述的叶子节点设备,其特征在于,所述配置信息中包括第一指示信息,所述第一指示信息所述第一根节点设备为所述叶子节点设备的主根,所述主根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的指定转发者DF。
33.根据权利要求31所述的叶子节点设备,其特征在于,所述配置信息中包括第二指示信息,所述第二指示信息所述第一根节点设备为所述叶子节点设备的备根,所述备根指示所述第一根节点设备是向所述叶子节点设备转发所述组播流量的非指定转发者non-DF。
34.根据权利要求31所述的叶子节点设备,其特征在于,所述配置信息中包括第三指示信息,所述第三指示信息用于指示作为所述叶子节点设备的主根的候选根节点设备信息。
35.根据权利要求31至34中任一项所述的叶子节点设备,其特征在于,所述第一根节点设备为所述叶子节点设备的主根,所述叶子节点设备还包括:
接收模块,用于接收所述第一根节点设备发送的所述组播流量。
36.一种负载分担的系统,其特征在于,所述系统应用于通信网络,所述通信网络包括组播源设备、根节点设备组和第一叶子节点设备、第二叶子节点设备,所述组播源设备用于经由所述根节点设备组向所述第一叶子节点设备、所述第二叶子节点设备发送组播流量,所述根节点设备组中包括第一根节点设备和第二根节点设备,所述系统包括:
接收模块,用于所述第一根节点设备接收所述组播流量,所述根节点设备组中包括所述第一根节点设备;
发送模块,用于响应于所述第一根节点设备为所述第一叶子节点设备的主根,所述第一根节点设备向所述第一叶子节点设备发送所述组播流量,所述第一根节点设备为第一叶子节点设备的主根指示所述第一根节点设备是向所述第一叶子节点设备转发所述组播流量的指定转发者DF;
所述接收模块,还用于所述第二根节点设备接收所述组播流量,所述根节点设备组中包括所述第二根节点设备;
发送模块,用于响应于所述第二根节点设备为所述第二叶子节点设备的主根,所述第二根节点设备向所述第二叶子节点设备发送所述组播流量,所述第二根节点设备为第二叶子节点设备的主根指示所述第二根节点设备是向所述第二叶子节点设备转发所述组播流量的指定转发者DF。
37.根据权利要求36所述的系统,其特征在于,
所述确定模块,还用于所述第一根节点设备接收所述第一叶子节点设备发送的第一消息,所述第一消息中包括所述第一标识和第一配置信息,所述第一标识指示所述第一叶子节点设备,所述第一配置信息用于指示所述第一叶子节点设备请求的、从所述根节点设备组到所述第一叶子节点设备的负载分担的配置方式;
所述系统还包括:
确定模块,用于所述第一根节点根据所述第一标识和所述第一配置信息确定从所述第一根节点设备到所述第一叶子节点设备的第一负载分担的配置结果;
所述确定模块,还用于响应于所述第一负载分担的配置结果为第一结果,所述第一根节点设备确定所述第一根节点设备为所述第一叶子节点设备的主根。
38.根据权利要求37所述的系统,其特征在于,所述第一配置信息中包括第一指示信息,所述第一指示信息用于指示所述第一根节点设备为所述第一叶子节点设备的主根。
39.根据权利要求37所述的系统,其特征在于,所述第一配置信息中包括第二指示信息,所述第二指示信息用于指示作为所述第一叶子节点设备的主根的第一候选根节点设备信息。
40.根据权利要求39所述的系统,其特征在于,所述第一候选根节点设备中包括所述第一根节点设备,所述确定模块具体用于:
所述第一根节点设备对所述第一标识和所述第一配置信息进行哈希计算,得到所述第一负载分担的配置结果。
41.根据权利要求39所述的系统,其特征在于,所述第一消息中还包括组播源组(S,G),所述第一候选根节点设备中包括所述第一根节点设备,所述确定模块具体用于:
所述第一根节点设备对所述组播源组(S,G)、所述第一标识以及所述第一配置信息进行哈希计算,得到所述第一负载分担的配置结果。
42.根据权利要求36至41中任一项所述的系统,其特征在于,
所述接收模块,还用于所述第二根节点设备接收所述第二叶子节点设备发送的第二消息,所述第二消息中包括第二标识和第二配置信息,所述第二标识指示所述第二叶子节点设备,所述第二配置信息用于指示所述第二叶子节点设备请求的、从所述根节点设备组到所述第二叶子节点设备的负载分担的配置方式;
所述确定模块,还用于所述第二根节点设备根据所述第二标识和所述第二配置信息确定从所述第二根节点设备到所述第二叶子节点设备的第二负载分担的配置结果;
所述确定模块,还用于响应于所述第二负载分担的配置结果为第二结果,所述第二根节点设备确定所述第二根节点设备为所述第二叶子节点设备的主根。
43.根据权利要求42所述的系统,其特征在于,所述第二配置信息中包括第三指示信息,所述第三指示信息用于指示所述第二根节点设备为所述第二叶子节点设备的主根。
44.根据权利要求42所述的系统,其特征在于,所述第二配置信息中包括第四指示信息,所述第四指示信息用于指示作为所述第二叶子节点设备的主根的第二候选根节点设备信息。
45.根据权利要求44所述的系统,其特征在于,所述第二候选根节点设备中包括所述第二根节点设备,所述确定模块,还用于:
所述第二根节点设备对所述第二标识和所述第二配置信息进行哈希计算,得到所述第二负载分担的配置结果。
46.根据权利要求44所述的系统,其特征在于,所述第二消息中还包括组播源组(S,G),所述第二候选根节点设备中包括所述第二根节点设备,
所述确定模块,还用于所述第二根节点设备对所述组播源组(S,G)、所述第二标识以及所述第二配置信息进行哈希计算,得到所述第二负载分担的配置结果。
CN202110108665.4A 2020-12-21 2021-01-27 负载分担的方法、根节点设备、叶子节点设备以及系统 Pending CN114726795A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2023537695A JP2024500451A (ja) 2020-12-21 2021-12-14 負荷共有方法、ルート・ノード・デバイス、リーフ・ノード・デバイスおよびシステム
EP21909214.5A EP4250675A4 (en) 2020-12-21 2021-12-14 LOAD SHARING METHOD AND SYSTEM, ROOT NODE DEVICE AND LEAF NODE DEVICE
PCT/CN2021/137653 WO2022135217A1 (zh) 2020-12-21 2021-12-14 负载分担的方法、根节点设备、叶子节点设备以及系统
US18/337,940 US20230336484A1 (en) 2020-12-21 2023-06-20 Load sharing method, root node device, leaf node device, and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011519565 2020-12-21
CN2020115195652 2020-12-21

Publications (1)

Publication Number Publication Date
CN114726795A true CN114726795A (zh) 2022-07-08

Family

ID=82233381

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110108665.4A Pending CN114726795A (zh) 2020-12-21 2021-01-27 负载分担的方法、根节点设备、叶子节点设备以及系统

Country Status (1)

Country Link
CN (1) CN114726795A (zh)

Similar Documents

Publication Publication Date Title
US9882741B2 (en) Communication apparatus and communication method
EP2962431B1 (en) Spanning tree in fabric switches
US11381883B2 (en) Dynamic designated forwarder election per multicast stream for EVPN all-active homing
US9678840B2 (en) Fast failover for application performance based WAN path optimization with multiple border routers
EP3399703A1 (en) Method for implementing load balancing, apparatus, and network system
EP4030704A1 (en) Message sending method and first network device
US11546267B2 (en) Method for determining designated forwarder (DF) of multicast flow, device, and system
CN108141392B (zh) 伪线负载分担的方法和设备
CN113114576B (zh) 报文发送的方法、设备和系统
CN114465920A (zh) 确定对应关系的方法、装置以及系统
EP3534571A1 (en) Service packet transmission method, and node apparatus
CN112822097A (zh) 报文转发的方法、第一网络设备以及第一设备组
CN113285878B (zh) 负载分担的方法、第一网络设备
CN114598644A (zh) Bier报文转发的方法、设备以及系统
CN114006780A (zh) 报文转发的方法、设备以及系统
CN114726795A (zh) 负载分担的方法、根节点设备、叶子节点设备以及系统
CN113572685B (zh) 一种信息上报方法、信息处理方法、装置及设备
US20230336484A1 (en) Load sharing method, root node device, leaf node device, and system
CN117097818A (zh) 一种报文处理的方法及相关设备
CN115580574A (zh) 报文转发方法、装置以及系统
CN114520762A (zh) BIERv6报文的发送方法以及第一网络设备
CN113765815B (zh) 组播报文负载分担的方法、设备和系统
CN117596284B (zh) 数据传输的方法、装置、计算机设备和存储介质
CN111385182B (zh) 流量的传输方法及装置,系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination