WO2017201750A1 - 组播数据处理方法、装置及系统 - Google Patents

组播数据处理方法、装置及系统 Download PDF

Info

Publication number
WO2017201750A1
WO2017201750A1 PCT/CN2016/083741 CN2016083741W WO2017201750A1 WO 2017201750 A1 WO2017201750 A1 WO 2017201750A1 CN 2016083741 W CN2016083741 W CN 2016083741W WO 2017201750 A1 WO2017201750 A1 WO 2017201750A1
Authority
WO
WIPO (PCT)
Prior art keywords
multicast
address
service data
policy information
drs
Prior art date
Application number
PCT/CN2016/083741
Other languages
English (en)
French (fr)
Inventor
吴明晓
孟万红
陈晓露
胡永锋
吴晓露
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2016/083741 priority Critical patent/WO2017201750A1/zh
Publication of WO2017201750A1 publication Critical patent/WO2017201750A1/zh

Links

Images

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a multicast data processing method, apparatus, and system in the field of multicast technology.
  • Multicast also known as multicast, is a point-to-multipoint method of information communication. Multicast has two layers of multicast and three layers of multicast. Multicast routing technology is required for Layer 3 multicast, and Protocol Independent Multicast (PIM) is a widely used protocol in multicast routing technology.
  • PIM Protocol Independent Multicast
  • the PIM protocol is divided into PIM-DM (Protocol Independent Multicast-Dense Mode) and PIM-SM (Protocol Independent Multicast-Sparse Mode).
  • PIM-DM Protocol Independent Multicast-Dense Mode
  • PIM-SM Protocol Independent Multicast-Sparse Mode
  • PIM-DM Generally, it is applicable to small networks with relatively large multicast group members.
  • PIM-SM is usually applicable to large and medium-sized networks with widely distributed multicast group members and a wide range.
  • a DR Designated Router
  • the election process of the DR is as follows: Each router on the shared network sends Hello packets to each other (with the parameters of the DR priority). The router with the highest priority will become the DR. If the priorities are the same, or at least one in the network. The router does not support the parameter of the DR priority in the Hello packet. The DR is elected according to the IP address of each router. The router with the largest IP address becomes the DR. When the DR fails, the other routers do not receive Hello packets from the DR after the timeout, which triggers a new DR election process.
  • the DR After the DR is elected, the DR is responsible for forwarding the multicast data stream, and other non-DR routers do not forward the multicast data stream.
  • this single DR mechanism will cause the DR pressure to be too large, and the bandwidth of other routers is wasted, and the load of each router is not balanced.
  • the embodiment of the invention provides a multicast data processing method, device and system to solve the problem that the router load is unbalanced.
  • a multicast data processing method comprising the following steps: at least two routers in a routing network are elected as designated routers DR; the at least two DRs are sequentially numbered as ⁇ 0, 1... N-1 ⁇ , where n is the number of DRs, and n ⁇ 2; the at least two DRs send Hello packets, the Hello packets carry load balancing policy information, and the load sharing policy information indicates different
  • the numbered DR is configured to process the multicast service data or the multicast management message, and the at least two DRs respectively process the corresponding multicast service data or the multicast management message according to the load sharing policy information.
  • the load balancing policy information includes: indicating that the DR forwarding processing source MAC address or the destination MAC address and the mod value of the DR number are m Multicast service data or multicast management message, DR forwarding instruction number m, multicast service data or multicast management message, or multicast service packet with source code and source IP address and mod value of m Indicates information such as multicast service data or multicast management message with a mod value of m and a mod value of the number of DRs of the DR forwarding number m, where 0 ⁇ m ⁇ n-1, and m is an integer.
  • Each DR can share the multicast service data or the multicast management packet according to the multicast service data or the multicast management packet address and the mod value of the DR number and its DR number. The bandwidth can be flexibly adjusted according to the number of DRs.
  • the multicast service data or the multicast management packet carries (S, G, V) information, where S is the IP address or MAC address information of the multicast source, G is the IP address or MAC address information of the multicast group of the multicast service data or multicast management message, and V is the multicast service data. Or VLAN address information of multicast management packets.
  • the Hello packet includes an option type (Option Type)
  • the option type includes a load sharing policy type
  • the option value is a load sharing policy value, which is used to indicate corresponding load sharing policy information.
  • the load balancing policy information carried by the at least two DRs in the routing network is different, the load balancing policy of the DR with the highest priority is adopted; If there is a router that does not support the load sharing policy, it will be restored to the form of selecting a single DR.
  • a new router joins in the routing network, causing the routing network topology to change, the DR election is restarted.
  • the DR is re-elected to trigger the exchange of the new load balancing policy information.
  • a second aspect provides a multicast data processing method, where the method includes the following steps: a router sends a Hello packet and receives a Hello packet sent by another router in the routing network, where the Hello packet carries load sharing policy information; The router is elected as a DR; according to the routing network The priority of the at least one DR is the same as the DR number; the DR processes the corresponding multicast service data or the multicast management packet according to the load sharing policy information, where the load sharing policy information includes different numbers of DRs.
  • the instructions for processing multicast service data or multicast management packets are shared.
  • the DR priority is determined according to a router's DR priority parameter and/or the IP address, and a DR priority parameter has a larger DR priority. The level is higher. If the router has the same DR priority parameter as other routers, the router with the larger IP address has a higher priority.
  • Each DR can share the multicast service data or the multicast management packet according to the multicast service data or the multicast management packet address and the mod value of the DR number and its DR number. The bandwidth can be flexibly adjusted according to the number of DRs.
  • the multicast service data or the multicast management report The text carries (S, G, V) information, where S is the IP address or MAC address information of the multicast source, G is the IP address or MAC address information of the multicast group, and V is the multicast service data or multicast management. VLAN address information of the packet.
  • the Hello packet includes an option type (Option Type)
  • the option type includes a load sharing policy type
  • the option value is a load sharing policy value, which is used to indicate corresponding load sharing policy information.
  • a routing device in a third aspect, includes a Hello packet sending and receiving module, a DR election module, a DR numbering module, and a processing module.
  • the Hello packet sending and receiving module is configured to send the first Hello packet carrying the DR priority parameter, the IP address, and the load balancing policy information, and receive the second Hello packet sent by other routers on the routing network, and the other router sends the second Hello packet.
  • the second Hello packet also carries information such as a parameter of the DR priority, an IP address, and a load balancing policy.
  • the DR election module is configured to elect the routing device as a DR, and the DR numbering module is configured according to the DR.
  • the priority is used to number the DR. The higher the priority of the DR is, the smaller the DR number is.
  • the processing module is configured to use the DR number of the routing device and the load balancing policy information to multicast service data or groups. Broadcast management packets are shared.
  • the address (address) is the source MAC address or destination MAC address of the multicast service data or multicast management packet, or the multicast service data or multicast management.
  • Each DR according to the multicast service data or the multicast management message address and the correspondence between the mod value of the DR number and its DR number to the multicast service data or multicast management report
  • the data is shared and processed, and the bandwidth of each DR can be used reasonably.
  • the data of each DR shared processing can be flexibly adjusted according to the number of DRs.
  • the multicast service data or the multicast management packet carries (S, G, V) information, where S is the IP address or MAC address information of the multicast source, G is the IP address or MAC address information of the multicast group of the multicast service data or multicast management message, and V is the multicast service VLAN address information of data or multicast management packets.
  • the Hello packet includes an option type (Option Type)
  • the option type includes a load sharing policy type
  • the option value is a load sharing policy value, which is used to indicate corresponding load sharing policy information.
  • the processing module uses The multicast service data or the multicast management packet is shared according to the DR number of the routing device and the load balancing policy information of the DR with the highest priority.
  • the DR election module is used to re-elect the routing device. It is a DR, and the DR numbering module is used to renumber the DR.
  • the DR election module is used to re-elect the route.
  • the device is a DR
  • the Hello packet generating module is configured to generate a Hello packet carrying the new load balancing policy information to trigger the exchange of the new load balancing policy information.
  • a routing device comprising a processor, a memory, and an interface.
  • the interface is configured to send a Hello packet, where the Hello packet carries the DR priority parameter, the IP address, and the load balancing policy information of the routing device.
  • the interface is further configured to receive the Hello sent by other routers on the routing network.
  • the message, the Hello packet sent by the other routers also carries the parameters of the DR priority, the IP address, and the load balancing policy information.
  • the processor is configured to elect the routing device as a DR and the DR according to the priority of the DR. No. The higher the priority of the DR, the smaller the DR number is.
  • the processor is further configured to perform multicast service data or multicast management packets according to the DR number of the routing device and the load balancing policy information. Sharing processing.
  • the address (address) is the source MAC address or destination MAC address of the multicast service data or multicast management packet, or the multicast service data or multicast management.
  • Each DR can share the multicast service data or the multicast management packet according to the multicast service data or the multicast management packet address and the mod value of the DR number and its DR number. The bandwidth can be flexibly adjusted according to the number of DRs.
  • the multicast service data or the multicast management packet carries (S, G, V) information, where S is the IP address or MAC address information of the multicast source, and G is the multicast service data or group The information of the IP address or MAC address of the multicast group that broadcasts the management packet, and V is the VLAN address information of the multicast service data or multicast management packet.
  • the Hello packet includes an Option Type and an Option Length And an Option value field, where the Option Type field includes a load balancing policy type, and the Option Value is a load sharing policy value.
  • the processor is configured according to the DR number and priority of the routing device.
  • the load balancing policy information of the highest-level DR is used to share the multicast service data or multicast management packets.
  • the processor re-elects the routing device as a DR Number it.
  • the processor re-elects the routing device as a DR and regenerates a Hello report.
  • the text triggers the exchange of new load sharing policy information.
  • the fifth aspect provides a system for implementing multicast load sharing, where the system includes n routing devices or n of the fourth aspect or any possible implementation manner of the third aspect. Aspect or the routing device of any one of the possible implementations of the fourth aspect, wherein n is a natural number greater than or equal to 2.
  • the embodiment of the present invention provides a DR load balancing solution, in which at least two DRs are elected in a multi-router network, and corresponding multicast service data or multicast management messages are respectively processed to avoid a single DR overload and a router in the network.
  • the problem of unbalanced load increases the bandwidth utilization efficiency of the router.
  • FIG. 1 is a schematic diagram of a multicast system according to Embodiment 1 of the present invention.
  • FIG. 2 is a flowchart of a method for processing multicast data according to Embodiment 1 of the present invention.
  • FIG. 3 is a diagram showing an example in which two routers are elected as DRs according to an embodiment of the present invention.
  • FIG. 4 is a structural diagram of a Hello message according to an embodiment of the present invention.
  • 5-9 are scene diagrams of two routers in a routing network according to an embodiment of the present invention.
  • 10-15 are scene diagrams of three routers in a routing network according to an embodiment of the present invention.
  • FIG. 16 is a flowchart of a method for processing multicast data according to Embodiment 2 of the present invention.
  • FIG. 17 is a schematic block diagram of a routing device according to Embodiment 3 of the present invention.
  • FIG. 18 is a structural diagram of a routing device according to Embodiment 4 of the present invention.
  • the first embodiment of the present invention provides a multicast data processing method, which can be applied to the multicast system 10 shown in FIG. 1.
  • the multicast system 10 includes: a multicast source 11, A plurality of routers 13 and a plurality of user terminals 15.
  • the plurality of routers 13 are connected to the multicast source 11 through an IP (Internet Protocol) network 12, and can be used to receive multicast data sent by the multicast source 11.
  • the plurality of routers are also connected to the user terminal 15 through a network (such as the Ethernet) 14 and can be used to forward the multicast data to the user terminal 15 or report the information sent by the user terminal 15 to the multicast source 11 to receive the same multicast.
  • One or more user terminals 15 of the service data may belong to the same multicast group.
  • n (n ⁇ 2) routers 13 in the multicast system 10 are elected as DRs, and the n DRs are sequentially numbered ⁇ 0 according to the order of the DR priorities from high to low. , 1...n-1 ⁇ .
  • the multicast data processing method specifically includes the following steps.
  • the routing network includes at least two routers connected to the same network, such as Ethernet.
  • the IP address may be an IPv4 or IPv6 address
  • IPv4 is a fourth version of the Internet Protocol (IP)
  • IIPv6 is a next-generation IP protocol of IPv4.
  • the routing network may be a network connected to a receiver (such as a user terminal) or a network connected to a multicast source.
  • all routers in the routing network can be selected as DRs, and these DRs are numbered according to the DR priority. All routers can participate in load sharing. If necessary, select some routers as DRs. For example, when the amount of multicast data is small, the number of DRs can be reduced. When the number of multicast groups is small, the number of DRs can be reduced. Thus, the single DR load can be avoided. The problem can also simplify the data transmission path according to the actual situation.
  • the 103 Sending, by the at least two DRs, a Hello packet, where the Hello packet carries the load balancing policy information, where the load balancing policy information includes different numbers of DRs to share the multicast service data or the multicast management packet. Instructions.
  • the at least two DRs respectively process corresponding multicast service data or multicast management messages according to the load sharing policy information.
  • Each DR can share the multicast service data (such as multicast programs) or multicast management packets (such as join/prune messages) according to the number and the load balancing policy information carried in the Hello packets.
  • the Hello packet carries not only the information of the DR priority parameter and the IP address, but also the load sharing policy information, which is used to indicate the manner in which the DR performs load sharing.
  • the at least two DRs respectively process the corresponding multicast service data or the multicast management message according to the load sharing policy information, and specifically include: the at least two DRs identify the address of the multicast service data or the multicast management message; The at least two DRs calculate the correspondence between the address of the multicast service data or the multicast management packet and the DR number according to the load sharing policy information; and the at least two DRs respectively forward the corresponding multicast service data or group Broadcast management messages.
  • the load balancing policy can be configured according to the actual service requirements, including the following cases: load balancing based on the source MAC address or destination MAC address of the multicast service data or multicast management packets and the mod value of the DR number; Or load-sharing the multicast group IP address or source IP address of the multicast management packet and the mod value of the DR number; or the VLAN (virtual local area network) address and the mod of the DR number according to the multicast service data or multicast management packet.
  • the value is load balanced.
  • the multicast service data or the multicast management packet carries (S, G, V) information, where S is the IP address or MAC address information of the multicast source, and G is the IP address or MAC address information of the multicast group.
  • V is the VLAN address information of multicast service data or multicast management packets.
  • a multicast system there may be multiple multicast source Ss, and multiple multicast groups G.
  • the source MAC address or IP address of different multicast sources is different.
  • the value of the load balancing mode of the DR may be determined according to the mod value of the source MAC address or the source IP address and the DR number, or the mod value of the MAC address or the IP address of the multicast group and the DR number. For example, if the load sharing policy is to share the IP address of the multicast group and the mod value of the DR number, and there are two DRs (DR0, DR1) in the routing network, the DR0 handles the multicast group IP address as an even number. (Multicast data with even and 2 mod values of 0), DR1 handles multicast data with an IP address of odd multicast group (odd number and mod value of 2), so that routers can implement multicast data. Sharing processing.
  • each VLAN is a set of logical devices and users, and is not subject to physical location restrictions.
  • the multicast data sent by the multicast source can be sent to different VLANs. Different VLAN addresses are different. You can determine the DR load balancing mode based on the mod value of the VLAN address and the number of DRs.
  • the multicast network includes VLAN 1 and VLAN 2, the address of VLAN 1 is 2.2.2.2, the address of VLAN 2 is 2.2.2.3, and there are two DRs (DR0, DR1) in the routing network, DR0 processes VLAN 1 (the address of VLAN 1 and 2 mod value is 0)
  • DR1 processes the multicast data of VLAN 2 (the address of VLAN 2 and the mod value of 2), so that the router can share the multicast data.
  • the Hello packet in the PIM protocol is extended, and the load balancing policy information is exchanged by extending the option field in the Hello packet.
  • the hello packet format includes multiple option (option type, option length, option value) fields.
  • the option type that has been defined includes: hello hold time, DR Priority, Generation ID, Address List, and so on.
  • the embodiment of the present invention extends the option field of the Hello packet, and adds load balancing policy information to the hello packet.
  • the extended option field includes the option type (option type), the option length (option length), and the option value (option value).
  • the type indicated by the option type is the load balancing policy.
  • the indication is The option type is the load balancing policy.
  • the option value is the load sharing policy.
  • the value ranges from 0 to 255.
  • Different option values indicate different load balancing policies. For example, when the option value is set to 1, the load balancing policy is based on the mod value of the multicast group and the mod value of the DR number. If the option value is 2, the load balancing policy indicated is load sharing based on the source MAC address of the multicast data and the mod value of the DR number.
  • the process of information exchange during the DR election is also a process of capability negotiation. If a device that does not support the load balancing policy is found in the routing network, it is restored to a mechanism for electing only one DR.
  • the load balancing policy information carried by the DRs in the routing network is consistent. If the packets are inconsistent, the load balancing policy information carried by the DR with the highest priority takes precedence.
  • the routers in the routing network periodically send Hello packets to each other. Therefore, each DR can obtain the load balancing policy information carried by the DR with the highest priority.
  • the DR election is restarted. For example, if a router is faulty, it can be quickly detected by a mechanism such as behavior-based fault diagnosis (BFD). If a fault is detected, the device automatically responds to the Hello packet and immediately sends a Hello packet. Quickly adjust the effect of the load sharing strategy.
  • BFD behavior-based fault diagnosis
  • the DR election is restarted.
  • the Hello packet is sent out. The other routers detect that the new neighbor joins and immediately respond to the Hello packet.
  • the following describes the application scenarios of two routers and multiple routers in the routing network.
  • Figure 5-9 shows a scenario where there are two routers in the routing network.
  • the load balancing policy is configured to share the IP address of the multicast group based on the multicast data.
  • the sharing algorithm is:
  • IP address %DR number DR number
  • the IP address is the IP address of the multicast group.
  • DR0 processes the multicast service data or multicast management packets with the IP address of the multicast group (such as 232.1.1.2) and the IP address of the multicast group (such as 232.1.1.1). It is an odd number (mod value of 1) multicast service data or multicast management message.
  • the PIM Join/Prune message sent by the OLT is sent to the two routers at the same time.
  • the Join/Prune packets with the IP address of the multicast group are discarded in the DR1.
  • the Join/Prune packet whose IP address is an odd number is discarded on DR0.
  • the Join/Prune message in Figure 6 can be sent to the DR0 and the DR1 by the OLT.
  • the OLT When a new member joins the multicast group, the OLT sends a Join message to the DR. The DR sends a Join message to the upstream node to establish The new multicast path is configured. When the member exits the multicast group, the OLT sends a prune message to the DR. The DR sends the prune message to the upstream node. The unnecessary path is pruned.
  • the multicast data sent by the upstream node (such as the multicast source) can also be forwarded to the OLT through DR0 and DR1, and then sent to the user terminal by the OLT.
  • the DR0 and DR1 can share the multicast data according to the load balancing policy.
  • the multicast data sent by the multicast source to the multicast group member or the join/prune message carries the (S, G, V) information. Therefore, the DR can know the address of the multicast service data or the multicast management packet. information.
  • DR0 fails, the DR election is re-executed. Only one router works, the DR number is 1, and the DR1 number is changed to DR0. In order to distinguish it from the original DR0, the DR0 name for re-election in Figure 8 is used.
  • DR0' according to the sharing algorithm, all multicast service data or multicast management messages are shared by DR0'.
  • the Join/Prune message in Figure 8 can be sent by the OLT to DR0' and then continue to be sent to the upstream node.
  • the multicast data sent by the upstream node can also be forwarded to the OLT through DR0', and then sent by the OLT to the user terminal. See Figure 9 for a schematic diagram of DR0' forwarding multicast data.
  • Figure 10-15 shows the application scenario of multiple routers in a routed network.
  • the three routers are used as an example.
  • the load balancing policy is configured to share the IP address of the multicast group based on the multicast data.
  • the sharing algorithm is:
  • IP address %DR number DR number
  • DR0 forwards the IP address of the multicast group and the mod value of the DR number to 0.
  • the DR1 processes the multicast group IP address and the mod value of the DR number with the mod value of 1, such as multicast.
  • the DR1 forwards the packet or multicast data with the multicast group IP address 232.1.1.1.
  • the DR2 processes the multicast group.
  • the processing group is forwarded by the DR2. Broadcast packets or multicast data with the IP address 232.1.1.2.
  • the PIM Join/Prune message sent by the OLT is sent to the three routers at the same time.
  • the multicast group IP address and the mod value of the multicast group with the mod value of 1 or 2 are discarded in DR0.
  • the Join/Prune message with the mod value of 0 or 2 of the DR is discarded in DR1.
  • the Join/Prune message with the IP address of the multicast group and the mod value of the DR is 0 or 1 is discarded in DR2.
  • the Join/Prune message in Figure 11 can be sent by the OLT to DR0, DR1, DR2 and then continue to be sent to the upstream node (such as a video server).
  • the multicast data sent by the upstream node can also be forwarded to the OLT through DR0, DR1, and DR2, and then sent to the user terminal by the OLT.
  • the schematic diagram of DR0, DR1, and DR2 forwarding multicast data can be seen in FIG.
  • DR0 fails, only DR1 and DR2 work. After detecting the DR0 fault, the two routers send HELLO packets immediately. Both of them quickly sense that the current DR number in the routing network is 2. Renumber each DR priority with another DR priority and renumber them as DR0' and DR1'.
  • the PIM Join/Prune message sent by the OLT is sent to DR0' and DR1' at the same time.
  • the DR0' forwards the Join/Prune message with the mod value of the multicast group and the DR number of the DR group.
  • the Join/Prune message in Figure 14 can be sent by the OLT to DR0' and DR1' and then continue to be sent to the upstream node (e.g., video server).
  • the upstream node e.g., video server
  • the multicast data sent by the upstream node can also be forwarded to the OLT through DR0' and DR1', and then sent to the user terminal by the OLT; the schematic diagram of DR0' and DR1' forwarding the multicast data can be seen in FIG.
  • the DR0' forwards the multicast data of the multicast group IP address and the mod value of the DR number to 0, and the DR1' forwards the multicast data of the multicast group IP address and the mod value of the DR number of 1.
  • DR0 recovers from the fault and rejoins the routing network, it immediately sends a HELLO packet.
  • DR0' and DR1' respond quickly and send HELLO immediately. All three routers perceive the routing network. After the current DR number is changed to 3, and the DR priority is compared with other routers, the three routers are renumbered as DR0, DR1, and DR2, and the three DRs return the multicast data according to the load balancing policy.
  • multiple routers are used to share and forward multicast data streams at the same time, and the bandwidth of multiple routers is fully utilized to avoid overloading a single DR.
  • the routers that are elected as the DRs are numbered according to the priority level.
  • Each DR performs the sharing processing on the multicast data according to the relationship between the multicast service data or the address of the multicast management packet and the mod value of the DR number and its DR number.
  • the quantity of the DR dynamically adjusts the data processed by each DR, and the load sharing mode is flexible. After the routing network topology changes, you can quickly adjust the deployment and quickly and stably distribute the network. After the load balancing policy is set, the device can load and exchange load balancing policy information, which can be intelligently adjusted to reduce device management complexity.
  • a second embodiment of the present invention provides a multicast data processing method, which is applied to a network including one or more routers, and the method includes the following steps.
  • the router on the routing network sends a Hello packet, where the Hello packet carries the DR priority parameter, the IP address, and the load balancing policy of the router.
  • the router receives the Hello packets sent by other routers on the routing network, and the Hello packets sent by other routers also carry the parameters of the DR priority, the IP address, and the load balancing policy.
  • only one DR may be present in the routing network. In this case, the router does not receive the Hello packet of other routers, and the router can serve as the only data forwarder in the routing network.
  • 203 electing the router as a DR, and numbering according to the order of priority of the DR; if the priority of the router is the highest, the DR number is 0, and if the priority of the router is the second highest, the DR number is Is 1, and so on.
  • the specific numbering rule is: if n (n ⁇ 2) DRs are elected in the routing network, the n DRs are sequentially numbered ⁇ 0, 1...n-1 ⁇ , and the higher the priority, the smaller the number.
  • the DR processes the corresponding multicast service data or the multicast management message according to the load sharing policy information, where the load sharing policy information includes different numbers of DR sharing processing multicast service data or multicast management messages.
  • the specific process of the DR processing the corresponding multicast service data or the multicast management message according to the load sharing policy information includes: the DR identifying the address of the multicast service data or the multicast management message;
  • the load sharing policy information calculates multicast Corresponding relationship between the address of the service data or the multicast management packet and the DR number; and the DR forwarding the corresponding multicast service data or multicast management packet.
  • the load sharing policy information includes: sharing the source MAC address or the destination MAC address of the multicast service data or the multicast management packet with the mod value of the DR number; and multicasting according to the multicast service data or the multicast management packet.
  • the group IP address or the source IP address is shared with the mod value of the DR number.
  • the information such as the multicast service data or the VLAN (virtual local area network) address of the multicast management packet and the mod value of the DR number are shared.
  • the DR0 handles the multicast group IP address to be an even number (even number and Multicast data with a mod value of 0) discards multicast data whose multicast group IP address is odd (odd and 2 mod value is 1).
  • the embodiment of the present invention extends the option field of the Hello packet, so that the packet carries the load balancing policy information.
  • the extended option field includes the option type (option type), the option length (option length), and the option value (option value).
  • the option value is the load sharing policy value.
  • the value range is 0 to 255. Different option values are used to indicate different load balancing policies.
  • the load balancing policy is based on the mod value of the multicast group and the mod value of the DR number.
  • the load balancing policy information carried by the DR with the highest priority is used.
  • the DR load balancing policy information changes, the DR is re-elected to trigger the exchange of new load balancing policy information.
  • the third embodiment of the present invention provides a routing device 500, which includes a Hello packet generating module 510, a Hello packet sending and receiving module 520, a DR number identifying module 530, and a processing module. 540.
  • the routing device 500 is a router or other device having a routing function.
  • the Hello packet generating module 510 is configured to generate a Hello packet, where the Hello packet carries information such as a DR priority parameter, an IP address, and a load sharing policy of the routing device 500.
  • the Hello packet sending and receiving module 520 is configured to send a Hello packet to the other routers on the routing network, and the router that receives the Hello packet carrying the load balancing policy information immediately responds to the Hello packet, and the Hello packet sending and receiving module 520 It is also used to receive Hello packets sent by other routers.
  • the Hello packets sent by other routers also carry information such as parameters of their DR priorities, IP addresses, and load balancing policies.
  • the DR number identification module 530 is configured to identify that the routing device 500 is elected as a DR, and identify the number that the DR is assigned.
  • the routing device 500 is elected as a DR, and the routing network in which the routing device 500 is located may also have other DRs. All the DRs in the routing network are numbered ⁇ 0,1...n-1 ⁇ in order of priority from high to low. n is the number of DRs in the routing network. The higher the priority, the higher the priority. The smaller the number. If the routing device 500 has the highest priority, its DR number is 0. If the routing device 500 has the highest priority, the DR number is 1, and so on. The routing device 500 can elect its own DR in the process of DR election, compare the priority information carried by itself with the priority information sent by other routers, and number the routing device 500 according to the comparison result.
  • the priority information of each router can be carried in the Hello packet, including the priority parameter and the IP address.
  • the larger the priority parameter the higher the DR priority, the two DRs with the same priority parameter, and the larger DR.
  • the priority is higher.
  • the processing module 540 is configured to perform sharing processing on the multicast service data or the multicast management packet according to the DR number of the routing device 500 and the load balancing policy information.
  • the processing of the multicast service data or the multicast management packet by the processing module 540 according to the DR number of the routing device 500 and the load balancing policy information includes: identifying the multicast service data or the multicast management packet.
  • the address of the multicast service data or the multicast management packet is calculated according to the load balancing policy information, and the routing device is instructed to forward the corresponding multicast service data or multicast management packet.
  • the load sharing policy information includes: sharing the source MAC address or the destination MAC address of the multicast service data or the multicast management packet with the mod value of the DR number; and multicasting according to the multicast service data or the multicast management packet.
  • the group IP address or the source IP address is shared with the mod value of the DR number.
  • the information such as the multicast service data or the VLAN (virtual local area network) address of the multicast management packet and the mod value of the DR number are shared.
  • Each DR can share the multicast service data or the multicast management packet according to the multicast service data or the multicast management packet address and the mod value of the DR number and its DR number. The bandwidth can be flexibly adjusted according to the number of DRs.
  • the embodiment of the present invention extends the option field of the Hello packet, so that the packet carries the load balancing policy information.
  • the extended option field includes the option type (option type), the option length (option length), and the option value (option value).
  • the option value is the load sharing policy value.
  • the processing module 540 identifies that the load balancing policy information carried by the DRs in the routing network is inconsistent, the load balancing policy information carried by the DR with the highest priority is used.
  • the processing module 540 restarts the DR election and renumbers the routing device 500.
  • the processing module 540 identifies that the load balancing policy information of the routing device 500 or other router changes, the processing module 540 re-elects the DR to trigger the exchange of the new load sharing policy information.
  • a fourth embodiment of the present invention provides a routing device 600.
  • the routing device 600 includes a processor 610, a transceiver 620, an antenna 630, a memory 640, and an interface 650.
  • the antenna 630 is connected to the transceiver 620 and can be used for transmitting and receiving wireless signals.
  • the number of the interfaces 650 may be one or more for interacting with other devices in the network, such as sending and receiving. Hello packets, sending and receiving data or packets.
  • the processor 610 is configured to process the received multicast service data or the multicast management packet, identify or match the received data or the packet, and then control the interface 650 to send the corresponding multicast service data or group.
  • the broadcast management packet is forwarded to the downstream device or the upstream device.
  • the memory 640 is used to store a particular program or data for use by the processor 610.
  • the interface 650 is configured to send a first Hello packet to the other routers on the routing network, where the first Hello packet carries the DR priority parameter, the IP address, and the load balancing policy information of the routing device 500. .
  • the interface 650 is further configured to receive the second Hello packet sent by the other routers on the routing network, and the second Hello packet sent by the other routers also carries the parameters of the DR priority, the IP address, and the load balancing policy.
  • the processor 610 is configured to elect the routing device 600 to be a DR, and number the routing device 600 according to the DR priority; if the routing device 600 has the highest priority, the DR number is 0, if the routing device 600 If the priority is the second highest, then the DR number is 1, and so on.
  • the specific numbering rule is: if n (n ⁇ 2) DRs are elected in the routing network, the n DRs are sequentially numbered ⁇ 0, 1...n-1 ⁇ , and the higher the priority, the smaller the number.
  • the processor 610 is further configured to perform a shared processing on the multicast data stream according to the DR number of the routing device 600 and the load sharing policy information.
  • the load balancing policy information includes: performing load balancing according to the source MAC address or the destination MAC address of the multicast service data or the multicast management packet and the mod value of the DR number; and grouping the multicast service data or the multicast management packet. Load-sharing is performed on the mod value of the IP address or the source IP address of the broadcast group and the mod value of the DR number. The load sharing and other indications are performed according to the multicast service data or the VLAN (virtual local area network) address of the multicast management packet and the mod value of the DR number.
  • VLAN virtual local area network
  • the embodiment of the present invention extends the option field of the Hello packet, so that the packet carries the load balancing policy information.
  • the extended option field includes the option type (option type), the option length (option length), and the option value (option value).
  • the option value is the load sharing policy value.
  • the IP address may be an IPv4 or IPv6 address.
  • the processor 610 identifies that the load balancing policy information carried by the at least two DRs in the routing network is inconsistent, the load balancing policy information carried by the DR with the highest priority is used.
  • the processor 610 restarts the DR election and renumbers the routing device 600.
  • the processor 610 If the processor 610 recognizes that the load balancing policy information of the routing device 600 or other routers changes, the processor 610 re-elects the DR and generates a new Hello packet to trigger the exchange of the new load balancing policy information.
  • the multicast service data or the multicast management packet may be sent through the interface 650 of the routing device 600 or wireless through the antenna 630. send.
  • the disclosed system, apparatus, and method may also be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division, and may be implemented in actual implementation. Additional ways of dividing, such as multiple units or components, may be combined or integrated into the same electronic component or chip, or some features may be omitted or not performed.
  • the functional units in the various embodiments of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit may be implemented in the form of hardware, software or a combination of software and hardware; the software program may be stored in a readable storage medium, and the program executes the corresponding steps in the above method when executed.
  • the above storage medium may be, for example, a ROM/RAM, a magnetic disk, an optical disk, or the like.

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种组播数据处理方法、装置及系统,该方法包括:路由网络上的路由器相互发送Hello报文,该Hello报文携带有负载分担策略信息;选举n个DR,n为不小于2的自然数;按DR优先级对n个DR依次编号为{0,1…n-1};每个DR根据其DR编号及所述负载分担策略对组播业务数据或组播管理报文进行分担处理。本发明提供了一种基于DR的负载分担的解决方案,对于各组播组的业务在多个路由器之间均衡负载,避免单一DR负载过重的问题。

Description

组播数据处理方法、装置及系统 技术领域
本发明涉及通信技术领域,尤其涉及组播技术领域中组播数据处理方法、装置及系统。
背景技术
组播,也称多播,是一种点到多点的信息通信方式。组播有二层组播及三层组播两种划分方式。其中三层组播需要使用组播路由技术,而PIM(Protocol Independent Multicast,协议无关组播)协议是组播路由技术中广泛采用的协议。PIM协议分为PIM-DM(Protocol Independent Multicast-Dense Mode,协议无关组播—密集模式)与PIM-SM(Protocol Independent Multicast-Sparse Mode,协议无关组播—稀疏模式)两种协议,PIM-DM通常适用于组播组成员相对比较密集的小型网络,PIM-SM通常适用于组播组成员分布相对分散、范围较广的大中型网络。
在一个采用PIM-SM协议的网络中,可能有多个路由器会连接到同一个共享网络(如以太网)上。在这些路由器当中,通过一个简单的选举过程选出一个DR(Designated Router,指定路由器)。DR的选举过程如下:共享网络上的各路由器相互之间发送Hello报文(携带有竞选DR优先级的参数),拥有最高优先级的路由器将成为DR;如果优先级相同,或者网络中至少有一台路由器不支持在Hello报文中携带竞选DR优先级的参数,则根据各路由器的IP地址大小来竞选DR,IP地址最大的路由器将成为DR。当DR出现故障时,其余路由器在超时后仍没有收到来自DR的Hello报文,则会触发新的DR选举过程。
DR选举出来后,就由此DR负责组播数据流的转发,其它非DR的路由器则不进行组播数据流的转发。但是,这种单一的DR机制,会导致DR压力过大,而其它路由器带宽的浪费,各路由器的负载不均衡。
发明内容
本发明实施例提供一种组播数据处理方法、装置及系统,以解决路由器负载不均衡的问题。
第一方面,提供了一种组播数据处理方法,该方法包括以下步骤:路由网络中的至少两个路由器被选举为指定路由器DR;所述至少两个DR被依次编号为{0,1…n-1},n为DR的个数,且n≥2;所述至少两个DR之间发送Hello报文,所述Hello报文携带有负载分担策略信息,所述负载分担策略信息指示不同编号的DR分担处理组播业务数据或组播管理报文;所述至少两个DR根据所述负载分担策略信息分别处理对应的组播业务数据或组播管理报文。
结合第一方面,在第一方面的第一种可能的实现方式中,所述负载分担策略信息包括:指示编号为m的DR转发处理源MAC地址或目的MAC地址与DR数的mod值为m的组播业务数据或组播管理报文、指示编号为m的DR转发处理组播组IP地址或源IP地址与DR数的mod值为m的组播业务数据或组播管理报文、或指示编号为m的DR转发处理VLAN地址与DR数的mod值为m的组播业务数据或组播管理报文等指示信息;其中,0≤m≤n-1,且m为整数。每个DR按照组播业务数据或组播管理报文的地址与DR数的mod值与其DR编号的对应关系对组播业务数据或组播管理报文进行分担处理,既可合理利用各DR的带宽,还可根据DR的数量灵活调整各DR分担处理的数据。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述组播业务数据或组播管理报文携带有(S、G、V)信息,其中S是组播源的IP地址或MAC地址信息,G是该组播业务数据或组播管理报文的组播组的IP地址或MAC地址的信息、V是组播业务数据或组播管理报文的VLAN地址信息。
结合第一方面或第一方面的第一至第二种可能的实现方式中的任意一种,在第一方面的第三种可能的实现方式中,所述Hello报文包括选项类型(Option Type)、选项长度(Option Length)及选项值(Option value)字段,所述选项类型包括负载分担策略类型,所述选项值为负载分担策略值,用于指示对应的负载分担策略信息。
结合第一方面,在第一方面的第四种可能的实现方式中,如果路由网络中至少两个DR携带的负载分担策略信息不同,则采用优先级最高的DR的负载分担策略;如果路由网络中有不支持负载分担策略的路由器,则恢复成选取单个DR的形式。
结合第一方面,在第一方面的第五种可能的实现方式中,如果路由网络中有新的路由器加入,引起路由网络拓扑结构变化,则重新启动DR选举。
结合第一方面,在第一方面的第六种可能的实现方式中,如果DR的负载分担策略信息发生变化,则重新选举DR以触发新的负载分担策略信息的交换。
第二方面,提供了一种组播数据处理方法,该方法包括以下步骤:路由器发送Hello报文并接收路由网络中其它路由器发送的Hello报文,所述Hello报文携带有负载分担策略信息;所述路由器被选举为DR;根据路由网络中的 至少一个DR的优先级的排序对该DR编号;所述DR根据所述负载分担策略信息处理对应的组播业务数据或组播管理报文,其中,所述负载分担策略信息包括不同编号的DR分担处理组播业务数据或组播管理报文的指示信息。
结合第二方面,在第二方面的第一种可能的实现方式中,所述DR优先级根据路由器的DR优先级参数及/或所述IP地址确定,DR优先级参数较大的DR的优先级较高,如果所述路由器与其他路由器的DR优先级参数相同,则IP地址较大的路由器优先级较高。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述负载分担策略信息指示的分担算法为mod(address,n)=DR编号,n为路由网络中DR的数量,mod(address,n)是地址与DR数的mod值,所述address(地址)是组播业务数据或组播管理报文的源MAC地址或目的MAC地址、或是组播业务数据或组播管理报文的组播组IP地址或源IP地址、或是组播业务数据或组播管理报文的VLAN地址。每个DR按照组播业务数据或组播管理报文的地址与DR数的mod值与其DR编号的对应关系对组播业务数据或组播管理报文进行分担处理,既可合理利用各DR的带宽,还可根据DR的数量灵活调整各DR分担处理的数据。
结合第二方面或第二方面的第一至第二种可能的实现方式中的任意一种,在第二方面的第三种可能的实现方式中,所述组播业务数据或组播管理报文携带有(S、G、V)信息,其中S是组播源的IP地址或MAC地址信息,G是组播组的IP地址或MAC地址的信息、V是组播业务数据或组播管理报文的VLAN地址信息。
结合第二方面或第二方面的第一至第三种可能的实现方式中的任意一种,在第二方面的第四种可能的实现方式中,所述Hello报文包括选项类型(Option Type)、选项长度(Option Length)及选项值(Option value)字段,所述选项类型包括负载分担策略类型,所述选项值为负载分担策略值,用于指示对应的负载分担策略信息。
第三方面,提供了一种路由设备,该路由设备包括Hello报文收发模块、DR选举模块、DR编号模块及处理模块。所述Hello报文收发模块用于发送携带DR优先级的参数、IP地址及负载分担策略信息的第一Hello报文,并接收路由网络上的其它路由器发送的第二Hello报文,其它路由器发送的第二Hello报文也携带有其DR优先级的参数、IP地址及负载分担策略等信息;所述DR选举模块用于将该路由设备选举为DR,所述DR编号模块对根据该DR的优先级对该DR进行编号;该DR的优先级越高,其DR编号越小;所述处理模块,用于根据该路由设备的DR编号及所述负载分担策略信息对组播业务数据或组播管理报文进行分担处理。
结合第三方面,在第三方面的第一种可能的实现方式中,所述负载分担策略信息指示的分担算法为mod(address,n)=DR编号,n为路由网络中DR的数量,mod(address,n)是地址与DR数的mod值,所述address(地址)是组播业务数据或组播管理报文的源MAC地址或目的MAC地址、或是组播业务数据或组播管理报文的组播组IP地址或源IP地址、或是组播业务数据或组播管理报文的VLAN地址。每个DR按照组播业务数据或组播管理报文的地址与DR数的mod值与其DR编号的对应关系对组播业务数据或组播管理报 文进行分担处理,既可合理利用各DR的带宽,还可根据DR的数量灵活调整各DR分担处理的数据。
结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述组播业务数据或组播管理报文携带有(S、G、V)信息,其中S是组播源的IP地址或MAC地址信息,G是该组播业务数据或组播管理报文的组播组的IP地址或MAC地址的信息、V是该组播业务数据或组播管理报文的VLAN地址信息。
结合第三方面或第三方面的第一至第二种可能的实现方式中的任意一种,在第三方面的第三种可能的实现方式中,所述Hello报文包括选项类型(Option Type)、选项长度(Option Length)及选项值(Option value)字段,所述选项类型包括负载分担策略类型,所述选项值为负载分担策略值,用于指示对应的负载分担策略信息。
结合第三方面,在第三方面的第四种可能的实现方式中,如果所述路由设备携带的负载分担策略信息与路由网络中其它DR携带的负载分担策略信息不同,则所述处理模块用于根据所述路由设备的DR编号及优先级最高的DR的负载分担策略信息对组播业务数据或组播管理报文进行分担处理。
结合第三方面,在第三方面的第五种可能的实现方式中,如果路由网络中有新的路由器加入,引起路由网络拓扑结构变化,则所述DR选举模块用于重新选举所述路由设备为DR,且所述DR编号模块用于重新对该DR进行编号。
结合第三方面,在第三方面的第六种可能的实现方式中,如果所述路由设备的负载分担策略信息发生变化,则所述DR选举模块用于重新选举所述路由 设备为DR,且所述Hello报文生成模块用于生成携带新的负载分担策略信息的Hello报文以触发新的负载分担策略信息的交换。
第四方面,提供了一种路由设备,该路由设备包括处理器、存储器及接口。所述接口用于发送Hello报文,该Hello报文携带有该路由设备的DR优先级的参数、IP地址及负载分担策略信息;所述接口还用于接收路由网络上的其它路由器发送的Hello报文,其它路由器发送的Hello报文也携带有其DR优先级的参数、IP地址及负载分担策略信息;所述处理器用于将该路由设备选举为DR并根据该DR的优先级对该DR进行编号;该DR的优先级越高,其DR编号越小;所述处理器还用于根据该路由设备的DR编号及所述负载分担策略信息对组播业务数据或组播管理报文进行分担处理。
结合第四方面,在第四方面的第一种可能的实现方式中,所述负载分担策略信息指示的分担算法为mod(address,n)=DR编号,n为路由网络中DR的数量,mod(address,n)是地址与DR数的mod值,所述address(地址)是组播业务数据或组播管理报文的源MAC地址或目的MAC地址、或是组播业务数据或组播管理报文的组播组IP地址或源IP地址、或是组播业务数据或组播管理报文的VLAN地址。每个DR按照组播业务数据或组播管理报文的地址与DR数的mod值与其DR编号的对应关系对组播业务数据或组播管理报文进行分担处理,既可合理利用各DR的带宽,还可根据DR的数量灵活调整各DR分担处理的数据。
结合第四方面或第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述组播业务数据或组播管理报文携带有(S、G、V)信息,其中S是组播源的IP地址或MAC地址信息,G是该组播业务数据或组 播管理报文的组播组的IP地址或MAC地址的信息、V是该组播业务数据或组播管理报文的VLAN地址信息。
结合第四方面或第四方面的第一至第二种可能的实现方式中的任意一种,在第四方面的第三种可能的实现方式中,所述Hello报文包括Option Type、Option Length及Option value字段,所述Option Type字段包括负载分担策略类型,所述Option Value是负载分担策略值。
结合第四方面,在第四方面的第四种可能的实现方式中,如果路由网络中至少两个DR携带的负载分担策略信息不同,则所述处理器根据所述路由设备的DR编号及优先级最高的DR的负载分担策略信息对组播业务数据或组播管理报文进行分担处理。
结合第四方面,在第四方面的第五种可能的实现方式中,如果路由网络中有新的路由器加入,引起路由网络拓扑结构变化,则所述处理器重新选举所述路由设备为DR并对其进行编号。
结合第四方面,在第四方面的第六种可能的实现方式中,如果所述路由设备的负载分担策略信息发生变化,则所述处理器重新选举所述路由设备为DR并重新生成Hello报文以触发新的负载分担策略信息的交换。
第五方面,提供了一种实现组播负载分担的系统,该系统包括n个所述第三方面或第三方面的任意一种可能的实现方式所述的路由设备或n个所述第四方面或第四方面的任意一种可能的实现方式所述的路由设备,其中n为大于或等于2的自然数。
本发明实施例提供了一种DR负载分担解决方案,在多路由器网络中选举至少两个DR,分别处理对应的组播业务数据或组播管理报文,避免网络中单一DR负载过重及路由器负载不均衡的问题,提高了路由器的带宽利用效率。
附图说明
图1为本发明实施例一提供的组播系统的示意图。
图2为本发明实施例一提供的组播数据处理方法流程图。
图3为本发明实施例中有两个路由器被选举为DR的示例图。
图4为本发明实施例中Hello报文的组成图。
图5-9为本发明实施例中路由网络有两台路由器的场景图。
图10-15为本发明实施例中路由网络有三台路由器的场景图。
图16为本发明实施例二提供的组播数据处理方法流程图。
图17为本发明实施例三提供的路由设备的组成模块图。
图18为本发明实施例四提供的路由设备的结构图。
具体实施方式
请参阅图1及图2,本发明实施例一提供了一种组播数据处理方法,可应用于如图1所示的组播系统10中,该组播系统10包括:组播源11、多个路由器13及多个用户终端15。所述多个路由器13通过IP(Internet Protocol,网际协议)网络12与组播源11连接,可用于接收组播源11发送的组播数据。所述多个路由器还通过网络(如以太网)14与用户终端15通信连接,可用于转发组播数据至用户终端15或将用户终端15发送的信息上报给组播源11,接收相同组播业务数据的一个或一个以上的用户终端15可归属于同一组播 组。为避免单一DR负载过重,该组播系统10中有n(n≥2)个路由器13被选举为DR,且根据DR优先级从高到底的顺序,对这n个DR依次编号为{0,1…n-1}。所述组播数据处理方法,具体包括以下步骤。
101:路由网络中的至少两个路由器被选举为DR。所述路由网络包括连接于同一网络(如以太网)的至少两个路由器。所述IP地址可以是IPv4或IPv6地址,IPv4是互联网协议(Internet Protocol,IP)的第四版,IIPv6是IPv4的下一代IP协议。在本发明实施例中,所述路由网络可以是与接收者(如用户终端)相连的网络,也可以是与组播源相连的网络。
102所述至少两个DR被依次编号。具体地,所述至少两个DR按照优先级从高到底的次序被依次编号为{0,1…n-1},n是路由网络中DR的个数,优先级越高的DR编号越小,以此类推。如图3所示,在路由网络中有两台(n=2)路由器被选举为DR的情况下,路由器A的优先级最高,编号为0;路由器B的优先级次之,编号为1。
在DR选举的过程中,路由网络中的路由器周期性的发送Hello报文,可通过比较各路由器的Hello报文中所携带的优先级参数和IP地址,为多路由器网段选举DR;例如,选举两个(n=2)DR时,选择优先级最高及次高的两个路由器为DR,这两个DR中优先级最高的DR编号为0,优先级次高的DR的编号为1。在确定路由器的优先级时,比较路由器的优先级参数,优先级参数较大的优先级较高;如果两个路由器的优先级参数相同,则IP地址较大的路由器优先级较高。
在选举DR的过程中,可以选择路由网络中的所有路由器为DR,并根据DR优先级对这些DR编号,所有的路由器均可参与负载分担;也可以根据实 际需要,选择部分路由器为DR,例如,组播数据量较小时,可减小DR数量;或组播组数量较少的时候,可以减小DR数量,如此,既可以避免单一DR负载过重的问题,还可以根据实际情况简化数据传输路径。
103:所述至少两个DR之间发送Hello报文,所述Hello报文携带有负载分担策略信息,所述负载分担策略信息包括不同编号的DR分担处理组播业务数据或组播管理报文的指示信息。
104:所述至少两个DR根据所述负载分担策略信息分别处理对应的组播业务数据或组播管理报文。每个DR可根据其编号及Hello报文中携带的负载分担策略信息对组播业务数据(如组播节目)或组播管理报文(如加入/剪枝报文)进行分担处理。在本发明实施例中,所述Hello报文不仅携带有DR优先级参数及IP地址等信息,还携带有负载分担策略信息,用于指示DR进行负载分担的方式。
所述至少两个DR根据所述负载分担策略信息分别处理对应的组播业务数据或组播管理报文具体包括:所述至少两个DR识别组播业务数据或组播管理报文的地址;所述至少两个DR根据所述负载分担策略信息计算组播业务数据或组播管理报文的地址与DR编号的对应关系;及所述至少两个DR分别转发对应的组播业务数据或组播管理报文。
负载分担策略可根据实际业务需求制定,包括以下几种情况:按组播业务数据或组播管理报文的源MAC地址或目的MAC地址与DR数的mod值进行负载分担;按组播业务数据或组播管理报文的组播组IP地址或源IP地址与DR数的mod值进行负载分担;或按组播业务数据或组播管理报文的VLAN(虚拟局域网)地址与DR数的mod值进行负载分担。其中,mod是一种表示整 除取余的取模运算符,例如,某组播组的IP地址为偶数,DR数n为2,则该组播组的IP地址与DR数的mod值为0,可由DR0来负责转发该组播组的数据或报文。
所述组播业务数据或组播管理报文携带有(S、G、V)信息,其中S是组播源的IP地址或MAC地址信息,G是组播组的IP地址或MAC地址信息、V是组播业务数据或组播管理报文的VLAN地址信息。
在组播系统中,组播源S可以有多个,组播组G也可以有多个,不同的组播源的源MAC地址或IP地址不同,不同的组播组的MAC地址或IP地址也不同;可根据源MAC地址或源IP地址与DR数的mod值,或根据组播组的MAC地址或IP地址与DR数的mod值,确定DR的负载分担方式。例如,如果负载分担策略为按组播数据的组播组IP地址与DR数的mod值进行分担,且路由网络内有两台DR(DR0、DR1)时,DR0处理组播组IP地址为偶数(偶数与2的mod值为0)的组播数据,DR1则处理组播组IP地址为奇数(奇数与2的mod值为1)的组播数据,这样就可以实现路由器对组播数据的分担处理。
如果网络中配置有组播专用VLAN(虚拟局域网),每个VLAN是一组逻辑上的设备和用户,不受物理位置的限制。组播源发送的组播数据可以发送到不同的VLAN中,不同的VLAN地址不同,可根据VLAN地址与DR数的mod值,确定DR的负载分担方式。例如,组播网络中包括VLAN1及VLAN2,VLAN1的地址为2.2.2.2,VLAN2的地址为2.2.2.3,且路由网络内有两个DR(DR0、DR1)时,DR0处理VLAN1(VLAN1的地址与2的mod值为0)的 组播数据,DR1处理VLAN2(VLAN2的地址与2的mod值为1)的组播数据,这样就可以实现路由器对组播数据的分担处理。
所述负载分担策略信息指示的分担算法可以是:mod(address,n)=DR编号,其中mod(address,n)是地址与DR数的mod值,所述address(地址)是组播业务数据或组播管理报文的源MAC地址或目的MAC地址、或是组播业务数据或组播管理报文的组播组IP地址或源IP地址、或是组播业务数据或组播管理报文的VLAN地址。
在本发明实施例中,需要对PIM协议中的Hello报文进行扩展,通过扩展Hello报文中的option(选择)字段来交换负载分担策略信息。Hello报文格式如图4所示,包括多个option(option type,option length,option value)字段。目前,已经定义的option type(选项类型)包括:hello hold time(握手报文持续时间),DR Priority(DR优先级),Generation ID(身份标识),Address List(地址列表)等。在此基础上,本发明实施例扩展Hello报文的option字段,在hello报文中添加负载分担策略信息。扩展的option字段包括option type(选项类型),option length(选项长度),option value(选项值);option type指示的类型为负载分担策略(Load Balance Policy),例如option type=20时,指示该选项类型为负载分担策略;option Length=1,指示该选项长度为1个字节(8bits);option Value就是负载分担策略值,最大支持256(28=256)种负载分担策略,option Value的取值范围是0~255,不同的option value对应指示不同的负载分担策略,例如,option Value=1时,指示的负载分担策略为按组播组的IP地址与DR数的mod值进行负载分担,option Value=2时,指示的负载分担策略为按组播数据的源MAC地址与DR数的mod值进行负载分担。
DR选举时信息交互的过程也是能力协商的过程,若发现路由网络里有不支持负载分担策略的设备,则恢复成只选举一个DR的机制。路由网路中的各DR携带的负载分担策略信息通常是一致的,如果不一致,则以优先级最高的DR携带的负载分担策略信息为准。由于路由网络中的路由器之间周期性的相互发送Hello报文,因此,每个DR均能获知优先级最高的DR携带的负载分担策略信息。
如果路由器退出引起路由网络拓补结构发生变化,则重新启动DR选举。比如路由器出现故障,可通过BFD(behavior-based fault diagnosis,基于行为的故障诊断)等机制快速检测,若检测到故障,则启动对Hello报文的快速响应并立即向外发送Hello报文,达到快速调整负载分担策略的效果。
如果新路由器加入引起路由网络拓补结构发生变化,则重新启动DR选举。新路由器加入时立即向外发送Hello报文,其它路由器检测到新邻居加入,立即响应Hello报文,达到快速调整负载分担策略的效果。
下面分别介绍路由网络中有两台路由器及多台路由器的应用场景。
图5-9所示的是路由网络中有两台路由器的场景。
如图5所示,通过DR选举,选举出两台DR:DR0(编号0)与DR1(编号1)。设定负载分担策略为按组播数据的组播组IP地址进行分担,分担算法为:
IP地址%DR数=DR编号
其中IP地址为组播组的IP地址,DR数为2(n=2),DR编号为0或1。
选举结束后,DR0处理组播组IP地址(如232.1.1.2)为偶数(mod值为0)的组播业务数据或组播管理报文,DR1处理组播组IP地址(如232.1.1.1) 为奇数(mod值为1)的组播业务数据或组播管理报文。OLT(optical line terminal,光线路终端)上报的PIM Join/Prune(加入/剪枝)报文同时往两台路由器发送,组播组IP地址为偶数的Join/Prune报文在DR1丢弃,组播组IP地址为奇数的Join/Prune报文在DR0丢弃。图6中的Join/Prune报文可由OLT发送至DR0及DR1,当有新的成员加入组播组时,OLT发送加入(Join)报文至DR,DR向上游节点发送加入报文,以建立新的组播路径;当成员退出组播组时,OLT发送剪枝(Join)报文至DR,DR向上游节点发送剪枝报文,不必要的路径就被剪枝。上游节点(如组播源)发送的组播数据也能通过DR0及DR1的转发给OLT,再由OLT发送给用户终端;DR0及DR1根据负载分担策略对组播数据进行分担处理的示意图可参见图7。
组播源发送给组播组成员的组播数据或所述加入/剪枝报文均携带有(S、G、V)信息,因此DR能获知组播业务数据或组播管理报文的地址信息。
请参见图8,如果DR0出现故障,则重新进行DR选举,此时只有一台路由器工作,DR数为1,DR1编号变更为DR0,为了与原先的DR0区分,图8中重新选举的DR0命名为DR0’,按照分担算法,由DR0’分担所有的组播业务数据或组播管理报文。图8中的Join/Prune报文可由OLT发送至DR0’,然后继续向上游节点发送。上游节点发送的组播数据也能通过DR0’的转发给OLT,再由OLT发送给用户终端;DR0’转发组播数据的示意图可参见图9。
图10-15所示的是路由网络内有多台路由器的应用场景,具体以三台路由器为例。
如图10所示,经过DR选举,选举出3台DR:DR0(编号0)、DR1(编号1)及DR2(编号2)。设定负载分担策略为按组播数据的组播组IP地址进行分担,分担算法为:
IP地址%DR数=DR编号
其中,%表示模运算,计算IP地址与DR数的余数,IP地址为组播组的IP地址,DR数为3(n=3)。
选举结束后,DR0转发组播组IP地址与DR数的mod值为0的报文或组播数据,如组播组IP地址为232.1.1.3,其与DR数(n=3)的mod值为0,则由DR0转发组播组IP地址为232.1.1.3的报文或组播数据;DR1处理组播组IP地址与DR数的mod值为1的报文或组播数据,如组播组IP地址为232.1.1.1,其与DR数(n=3)的mod值为1,则由DR1转发处理组播组IP地址为232.1.1.1的报文或组播数据;DR2处理组播组IP地址与DR数的mod值为2的报文或组播数据,如组播组IP地址为232.1.1.2,其与DR数(n=3)的mod值为2,则由DR2转发处理组播组IP地址为232.1.1.2的报文或组播数据。
如图11所示,OLT上报的PIM Join/Prune报文同时往三台路由器发送,组播组IP地址与DR的mod值为1或2的Join/Prune报文在DR0丢弃,组播组IP地址与DR的mod值为0或2的Join/Prune报文在DR1丢弃,组播组IP地址与DR的mod值为0或1的Join/Prune报文在DR2丢弃。图11中的Join/Prune报文可由OLT发送至DR0、DR1、DR2,然后继续向上游节点(如视频服务器)发送。上游节点发送的组播数据也能通过DR0、DR1、DR2转发给OLT,再由OLT发送给用户终端;DR0、DR1、DR2转发组播数据的示意图可参见图12。
请参见图13,如果DR0出现故障,只有DR1和DR2工作,这两个路由器通过BFD检测到DR0故障后,立即向外发送HELLO报文,二者都快速感知到路由网络内当前的DR数为2,并将自身DR优先级与另一DR的优先级比对后各自重新编号为DR0’、DR1’。
请参见图14,OLT上报的PIM Join/Prune报文同时往DR0’及DR1’发送,DR0’转发组播组IP地址与DR数的mod值为0的Join/Prune报文,DR1’转发组播组IP地址与DR数的mod值为1的Join/Prune报文。图14中的Join/Prune报文可由OLT发送至DR0’及DR1’,然后继续向上游节点(如视频服务器)发送。
上游节点发送的组播数据也能通过DR0’及DR1’转发给OLT,再由OLT发送给用户终端;DR0’及DR1’转发组播数据的示意图可参见图15。其中DR0’转发组播组IP地址与DR数的mod值为0的组播数据,DR1’转发组播组IP地址与DR数的mod值为1的组播数据。
如果DR0从故障中恢复,重新加入路由网络,立即向外发送HELLO报文,DR0’和DR1’接收到此HELLO报文后,快速响应并立即向外发送HELLO,三台路由器都感知到路由网络内当前DR数变为3,并将自身DR优先级与其它路由器比对后,三台路由器重新编号为DR0、DR1、DR2,又重新返回3台DR根据负载分担策略转发组播数据的场景。
本发明实施例利用多个路由器同时进行组播数据流的分担转发,充分利用多个路由器的带宽,避免单一DR负载过重。多个被选举为DR的路由器按照优先级的高低进行编号,各DR按照组播业务数据或组播管理报文的地址与DR数的mod值与其DR编号的关系对组播数据进行分担处理,因而根据DR 的数量动态调整各DR分担处理的数据,负载分担方式很灵活。在路由网络拓扑结构发生变化后,可以快速调整分担部署,快速稳定分发网络。且在负载分担策略信息设置完成后,通过协议报文(如hello报文)承载并交换负载分担策略信息,可以做到智能调整,减少了设备管理复杂度。
请参阅图16,基于上述实施例,本发明实施例二提供了一种组播数据处理方法,应用于包括一个或一个以上的路由器的网络中,该方法包括以下步骤。
201:路由网络上的路由器发送Hello报文,该Hello报文携带有该路由器的DR优先级的参数、IP地址及负载分担策略等信息。
202:该路由器接收路由网络上的其它路由器发送的Hello报文,其它路由器发送的Hello报文也携带有其DR优先级的参数、IP地址及负载分担策略等信息。在本发明实施例中,所述路由网络中也可能出现仅有一DR的情况,此时,该路由器接收不到其他路由器的Hello报文,该路由器可以作为该路由网络中唯一的数据转发者。
203:将该路由器选举为DR,并且根据所述DR的优先级的排序被编号;如果该路由器的优先级最高,则其DR编号为0,如果该路由器的优先级次高,则其DR编号为1,依次类推。具体编号规则为:如果路由网络中选举有n(n≥2)个DR,则这n个DR依次编号为{0,1…n-1},优先级越高,编号越小。
204:该DR根据所述负载分担策略信息处理对应的组播业务数据或组播管理报文,其中,所述负载分担策略信息包括不同编号的DR分担处理组播业务数据或组播管理报文的指示信息。该DR根据所述负载分担策略信息处理对应的组播业务数据或组播管理报文的具体过程包括:所述DR识别所述组播业务数据或组播管理报文的地址;所述DR根据所述负载分担策略信息计算组播 业务数据或组播管理报文的地址与DR编号的对应关系;及所述DR转发对应的组播业务数据或组播管理报文。
所述负载分担策略信息包括:按组播业务数据或组播管理报文的源MAC地址或目的MAC地址与DR数的mod值进行分担;按组播业务数据或组播管理报文的组播组IP地址或源IP地址与DR数的mod值进行分担;或按组播业务数据或组播管理报文的VLAN(虚拟局域网)地址与DR数的mod值进行分担等指示信息。
例如,如果负载分担策略信息指示的是按组播数据的组播组IP地址与DR数的mod值进行分担,且该DR编号为0,则该DR0处理组播组IP地址为偶数(偶数与2的mod值为0)的组播数据,丢弃组播组IP地址为奇数(奇数与2的mod值为1)的组播数据。
本发明实施例扩展Hello报文的option字段,使得报文中携带负载分担策略信息。扩展的option字段包括option type(选项类型),option length(选项长度),option value(选项值);option type指示的类型为负载分担策略(Load Balance Policy),例如option type=20时,指示该选项类型为负载分担策略;option Length=1,指示选项长度为1个字节(8bits);option Value就是负载分担策略值,最大支持255(28=256)种负载分担策略,option Value的取值范围是0~255,不同的option value对应指示不同负载分担策略,例如,option Value=1时,指示的负载分担策略为按组播组的IP地址与DR数的mod值进行负载分担,option Value=2时,指示的负载分担策略为按组播数据的源MAC地址与DR数的mod值进行负载分担。
如果路由网络中各DR负载分担策略不一致,则采用优先级最高的DR的携带的负载分担策略信息。
如果路由网络中有新的路由器加入,引起路由网络拓扑结构变化,则重新启动DR选举。
如果DR的负载分担策略信息发生变化,则重新选举DR以触发新的负载分担策略信息的交换。
请参阅图17,基于上述实施例,本发明实施例三提供了一种路由设备500,该路由设备500包括Hello报文生成模块510、Hello报文收发模块520、DR编号识别模块530及处理模块540。所述路由设备500是路由器或其它具有路由功能的设备。
所述Hello报文生成模块510用于生成Hello报文,该Hello报文携带有该路由设备500的DR优先级的参数、IP地址及负载分担策略等信息。
所述Hello报文收发模块520用于向路由网络上的其它路由器发送的Hello报文,接收到携带负载分担策略信息的Hello报文的路由器立即响应Hello报文,所述Hello报文收发模块520还用于接收其它路由器发送的Hello报文,其它路由器发送的Hello报文也携带有其DR优先级的参数、IP地址及负载分担策略等信息。
所述DR编号识别模块530,用于识别该路由设备500被选举为DR,以及识别该DR被分配的编号。
为了实现负载分担,该路由设备500被选举为DR,该路由设备500所在的路由网络中还可以有其它DR。路由网路中的所有DR按照优先级从高到底的次序被依次编号为{0,1…n-1},n是路由网络中DR的个数,优先级越高, 编号越小。如果该路由设备500的优先级最高,则其DR编号为0,如果该路由设备500的优先级次高,则其DR编号为1,依次类推。所述路由设备500可以在DR选举的过程中选举自身为DR,并将自身携带的优先级信息与其他路由器发送的优先级信息作比较,根据比较结果为该路由设备500编号。每个路由器的优先级信息可以携带于Hello报文中,包括优先级参数及IP地址,优先级参数越大,DR优先级越高,优先级参数相等的两个DR,IP地址较大的DR优先级较高。所述处理模块540用于根据该路由设备500的DR编号及所述负载分担策略信息对组播业务数据或组播管理报文进行分担处理。所述处理模块540根据该路由设备500的DR编号及所述负载分担策略信息对组播业务数据或组播管理报文进行分担处理具体包括:识别所述组播业务数据或组播管理报文的地址;根据所述负载分担策略信息计算组播业务数据或组播管理报文的地址与DR编号的对应关系;及指示所述路由设备转发对应的组播业务数据或组播管理报文。
所述负载分担策略信息包括:按组播业务数据或组播管理报文的源MAC地址或目的MAC地址与DR数的mod值进行分担;按组播业务数据或组播管理报文的组播组IP地址或源IP地址与DR数的mod值进行分担;或按组播业务数据或组播管理报文的VLAN(虚拟局域网)地址与DR数的mod值进行分担等指示信息。
所述负载分担策略信息指示的分担算法为mod(address,n)=DR编号,n为路由网络中DR的数量,mod(address,n)是地址与DR数的mod值,所述address(地址)是组播业务数据或组播管理报文的源MAC地址或目的MAC地址、或是组播业务数据或组播管理报文的组播组IP地址或源IP地址、或是 组播业务数据或组播管理报文的VLAN地址。每个DR按照组播业务数据或组播管理报文的地址与DR数的mod值与其DR编号的对应关系对组播业务数据或组播管理报文进行分担处理,既可合理利用各DR的带宽,还可根据DR的数量灵活调整各DR分担处理的数据。
本发明实施例扩展Hello报文的option字段,使得报文中携带负载分担策略信息。扩展的option字段包括option type(选项类型),option length(选项长度),option value(选项值);option type指示的类型为负载分担策略(Load Balance Policy),例如option type=20时,指示该选项类型为负载分担策略;option Length=1,指示选项长度为1个字节(8bits);option Value就是负载分担策略值,最大支持255(28=256)种负载分担策略,option Value的取值范围是0~255,不同的option value对应指示不同负载分担策略。
如果所述处理模块540识别出路由网络中的各DR携带的负载分担策略信息不一致,则采用优先级最高的DR的携带的负载分担策略信息。
如果路由网络中有新的路由器加入,引起路由网络拓扑结构变化,则所述处理模块540重新启动DR选举并对该路由设备500重新编号。
如果所述处理模块540识别出该路由设备500或其它路由器的负载分担策略信息发生变化,则所述处理模块540重新选举DR以触发新的负载分担策略信息的交换。
请参阅图18,基于上述实施例,本发明实施例四提供了一种路由设备600,该路由设备600包括处理器610、收发器620、天线630、存储器640及接口650。所述天线630与所述收发器620相连,可用于收发无线信号。所述接口650的数量可以是一个或多个,用于与网络中的其它设备交互信息,如收发 Hello报文、收发数据或报文等。所述处理器610用于处理接收到的组播业务数据或组播管理报文,对接收到的数据或报文进行识别或匹配,再控制所述接口650将相应的组播业务数据或组播管理报文转发给下游设备或上游设备。所述存储器640用于存储特定的程序或数据,供所述处理器610使用。
具体地,所述接口650用于向路由网络上的其它路由器发送第一Hello报文,所述第一Hello报文携带有该路由设备500的DR优先级的参数、IP地址及负载分担策略信息。
所述接口650还用于接收路由网络上其它路由器发送的第二Hello报文,其它路由器发送的第二Hello报文也携带有其DR优先级的参数、IP地址及负载分担策略信息。
所述处理器610用于选举该路由设备600为DR,并根据DR优先级对该路由设备600进行编号;如果该路由设备600的优先级最高,则其DR编号为0,如果该路由设备600的优先级次高,则其DR编号为1,依次类推。具体编号规则为:如果路由网络中选举有n(n≥2)个DR,则这n个DR依次编号为{0,1…n-1},优先级越高,编号越小。
所述处理器610还用于根据所述路由设备600的DR编号及所述负载分担策略信息对组播数据流进行分担处理。
所述负载分担策略信息包括:按组播业务数据或组播管理报文的源MAC地址或目的MAC地址与DR数的mod值进行负载分担;按组播业务数据或组播管理报文的组播组IP地址或源IP地址与DR数的mod值进行负载分担;或按组播业务数据或组播管理报文的VLAN(虚拟局域网)地址与DR数的mod值进行负载分担等指示信息。
本发明实施例扩展Hello报文的option字段,使得报文中携带负载分担策略信息。扩展的option字段包括option type(选项类型),option length(选项长度),option value(选项值);option type指示的类型为负载分担策略(Load Balance Policy),例如option type=20时,指示该选项类型为负载分担策略;option Length=1,指示选项长度为1个字节(8bits);option Value就是负载分担策略值,最大支持255(28=256)种负载分担策略,option Value的取值范围是0~255,不同的option value对应指示不同负载分担策略。在本发明实施例中,所述IP地址可以是IPv4或IPv6地址。
如果所述处理器610识别出路由网络中的至少两个DR携带的负载分担策略信息不一致,则采用优先级最高的DR的携带的负载分担策略信息。
如果路由网络中有新的路由器加入,引起路由网络拓扑结构变化,则所述处理器610重新启动DR选举并对该路由设备600重新编号。
如果所述处理器610识别出该路由设备600或其它路由器的负载分担策略信息发生变化,则所述处理器610重新选举DR并生成新的Hello报文以触发新的负载分担策略信息的交换。
在本发明实施例中,所述组播业务数据或组播管理报文(如Hello报文、或Join/Prune报文)可以通过所述路由设备600的接口650发送或通过所述天线630无线发送。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,也可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有 另外的划分方式,例如多个单元或组件可以结合或者可以集成到同一电子组件或芯片中,或一些特征可以忽略,或不执行。
在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元可以采用硬件、软件或软硬件结合的形式实现;软件程序可以存储于可读取存储介质中,该程序运行时执行上述方法中的对应步骤。上述的存储介质可以如:ROM/RAM、磁碟、光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (23)

  1. 一种组播数据处理方法,应用于路由网络中,其特征在于,
    至少两个路由器被选举为指定路由器DR;
    所述至少两个DR被依次编号;
    所述至少两个DR相互发送Hello报文,所述Hello报文携带有负载分担策略信息;所述负载分担策略信息包括不同编号的DR分担处理组播业务数据或组播管理报文的指示信息;
    所述至少两个DR根据所述负载分担策略信息分别处理对应的组播业务数据或组播管理报文。
  2. 如权利要求1所述的方法,其特征在于:所述至少两个DR被依次编号为{0,1…n-1},其中,n为DR的个数,n≥2;所述负载分担策略信息指示每个DR处理地址与n的mod值与该DR的编号对应的组播业务数据或组播管理报文。
  3. 如权利要求1-2其中任意一项所述的方法,其特征在于:所述组播业务数据或组播管理报文的地址是该组播业务数据或组播管理报文的组播源IP地址、组播组IP地址或VLAN地址。
  4. 如权利要求1-3其中任意一项所述的方法,其特征在于:当n=2时,所述DR的编号分别为0和1,其中DR0根据所述负载分担策略信息处理组播组IP地址为偶数的组播业务数据或组播管理报文,DR1根据所述负载分担策略信息处理组播组IP地址为奇数的组播业务数据或组播管理报文。
  5. 如权利要求1-4任意一项所述的方法,其特征在于:所述Hello报文包括携带负载分担策略信息的Option字段,该Option字段包括Option Type、 Option Length及Option value字段,所述Option Type字段包括负载分担策略类型,所述Option Value是负载分担策略值,用于指示对应的负载分担策略。
  6. 如权利要求1-5任意一项所述的方法,其特征在于:所述至少两个DR根据所述负载分担策略信息分别处理对应的组播业务数据或组播管理报文包括:所述至少两个DR识别组播业务数据或组播管理报文的地址;所述至少两个DR根据所述负载分担策略信息计算组播业务数据或组播管理报文的地址与DR编号的对应关系;及所述至少两个DR分别转发对应的组播业务数据或组播管理报文。
  7. 如权利要求1-6任意一项所述的方法,其特征在于:所述每个DR发送的Hello报文还携带有该DR的优先级参数及IP地址,所述至少两个DR按照DR优先级从高到底的次序被依次编号为{0,1…n-1},优先级参数较大的DR的优先级较高,如果至少两个DR的优先级参数相同,则IP地址较大的DR优先级较高。
  8. 如权利要求1所述的方法,其特征在于:如果所述至少两个DR携带的负载分担策略信息不同,则所述至少两个DR采用优先级最高的DR的负载分担策略信息。
  9. 一种组播数据处理方法,应用于路由网络中,包括:
    路由器发送Hello报文,所述Hello报文携带有负载分担策略信息;
    所述路由器被选举为DR,并且根据所述DR的优先级的排序被编号;及
    所述DR根据所述负载分担策略信息处理对应的组播业务数据或组播管理报文,其中,所述负载分担策略信息包括不同编号的DR分担处理组播业务数据或组播管理报文的指示信息。
  10. 如权利要求9所述的方法,其特征在于:所述负载分担策略信息指示DR处理地址与n的mod值与该DR的编号对应的组播业务数据或组播管理报文。
  11. 如权利要求9-10任意一项所述的方法,其特征在于:所述组播业务数据或组播管理报文的地址是该组播业务数据或组播管理报文的组播源IP地址、组播组IP地址或VLAN地址。
  12. 如权利要求9-11任意一项所述的方法,其特征在于:所述Hello报文包括携带负载分担策略信息的Option字段,该Option字段包括Option Type、Option Length及Option value字段,所述Option Type字段包括负载分担策略类型,所述Option Value是负载分担策略值,用于指示对应的负载分担策略。
  13. 如权利要求9-12中任意一项所述的方法,其特征在于:所述DR根据所述负载分担策略信息处理对应的组播业务数据或组播管理报文包括:所述DR识别所述组播业务数据或组播管理报文的地址;所述DR根据所述负载分担策略信息计算组播业务数据或组播管理报文的地址与DR编号的对应关系;及所述DR转发对应的组播业务数据或组播管理报文。
  14. 如权利要求9-13任意一项所述的方法,其特征在于:所述DR的编号是{0,1…n-1}其中的一个数字,n是所述路由网络中DR的个数,优先级越高的DR编号越小;所述DR的优先级与所述Hello报文携带的优先级参数及/或IP地址相关。
  15. 如权利要求9所述的方法,其特征在于:如果所述DR携带的负载分担策略信息与路由网络中其它DR携带的负载分担策略信息不同,则所述DR采用优先级最高的DR的负载分担策略信息。
  16. 一种路由设备,包括:
    Hello报文收发模块,用于向路由网络中的其它路由器发送Hello报文或接收其它路由器发送的Hello报文,所述Hello报文携带有负载分担策略信息;
    DR编号识别模块,用来识别该路由设备被选举为DR,以及识别该DR被分配的编号;
    处理模块,用于根据所述负载分担策略信息处理对应的组播业务数据或组播管理报文,其中,所述负载分担策略信息包括不同编号的DR分担处理组播业务数据或组播管理报文的指示信息。
  17. 如权利要求16所述的路由设备,其特征在于:所述负载分担策略信息指示DR处理地址与n的mod值与该DR的编号对应的组播业务数据或组播管理报文。
  18. 如权利要求16或17所述的路由设备,其特征在于:所述组播业务数据或组播管理报文的地址是该组播业务数据或组播管理报文的组播源IP地址、组播组IP地址或VLAN地址。
  19. 如权利要求16-18任意一项所述的路由设备,其特征在于:所述Hello报文包括携带负载分担策略信息的Option字段,该Option字段包括Option Type、Option Length及Option value字段,所述Option Type字段指示负载分担策略类型,所述Option Value是负载分担策略值,用于指示对应的负载分担策略。
  20. 如权利要求16-19所述的路由设备,其特征在于:所述处理模块用于:识别所述组播业务数据或组播管理报文的地址;根据所述负载分担策略信息计 算组播业务数据或组播管理报文的地址与DR编号的对应关系;及指示所述路由设备转发对应的组播业务数据或组播管理报文。
  21. 如权利要求16-20所述的路由设备,其特征在于:所述DR被分配的编号与该DR的优先级有关,该DR所在的路由网络中,优先级越高的DR编号越小,所述路由网络中的每个DR的优先级与该DR携带的优先级参数及/或IP地址有关。
  22. 一种组播数据处理系统,包括:n个如权利要求16-21其中任意一项所述的路由设备,n为大于或等于2的自然数。
  23. 如权利要求22所述的系统,其特征在于:所述系统还包括至少一个用于发送组播业务数据的组播源及至少一个用于接收所述组播业务数据的组播组,所述路由设备用于转发组播业务数据至所述至少一个组播组或用于转发组播管理报文至所述至少一个组播源。
PCT/CN2016/083741 2016-05-27 2016-05-27 组播数据处理方法、装置及系统 WO2017201750A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/083741 WO2017201750A1 (zh) 2016-05-27 2016-05-27 组播数据处理方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/083741 WO2017201750A1 (zh) 2016-05-27 2016-05-27 组播数据处理方法、装置及系统

Publications (1)

Publication Number Publication Date
WO2017201750A1 true WO2017201750A1 (zh) 2017-11-30

Family

ID=60411079

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/083741 WO2017201750A1 (zh) 2016-05-27 2016-05-27 组播数据处理方法、装置及系统

Country Status (1)

Country Link
WO (1) WO2017201750A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113765815A (zh) * 2020-06-05 2021-12-07 华为技术有限公司 组播报文负载分担的方法、设备和系统
CN114205287A (zh) * 2021-12-17 2022-03-18 锐捷网络股份有限公司 组播接收者信息收集方法及装置
CN114286127A (zh) * 2022-03-08 2022-04-05 浙江微能科技有限公司 一种分布式人工智能分析方法及装置
CN114793226A (zh) * 2022-06-23 2022-07-26 北京安盟信息技术股份有限公司 一种基于中间设备实现组播代理与组播溯源的方法及系统
EP4002767A4 (en) * 2019-08-30 2022-08-31 Huawei Technologies Co., Ltd. METHOD, DEVICE AND MESSAGE SENDING SYSTEM APPLIED TO NETWORKING A DISTRIBUTED ROUTER

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101577679A (zh) * 2009-06-26 2009-11-11 杭州华三通信技术有限公司 实现指定路由器之间组播业务分担的状态管理方法和装置
CN101651609A (zh) * 2008-08-14 2010-02-17 华为技术有限公司 实现组播负载分担的方法及装置
CN101789902A (zh) * 2009-12-25 2010-07-28 福建星网锐捷网络有限公司 一种组播数据流的负载均衡方法、路由设备及网络系统
CN101841485A (zh) * 2010-05-28 2010-09-22 华为技术有限公司 组播流量分担的方法及相关装置
CN102201999A (zh) * 2011-06-13 2011-09-28 中兴通讯股份有限公司 一种实现组播业务负荷分担的方法和系统
US20120294308A1 (en) * 2011-05-20 2012-11-22 Cisco Technology, Inc. Protocol independent multicast designated router redundancy
CN103117935A (zh) * 2013-02-28 2013-05-22 杭州华三通信技术有限公司 应用于多归属组网的组播数据转发方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651609A (zh) * 2008-08-14 2010-02-17 华为技术有限公司 实现组播负载分担的方法及装置
CN101577679A (zh) * 2009-06-26 2009-11-11 杭州华三通信技术有限公司 实现指定路由器之间组播业务分担的状态管理方法和装置
CN101789902A (zh) * 2009-12-25 2010-07-28 福建星网锐捷网络有限公司 一种组播数据流的负载均衡方法、路由设备及网络系统
CN101841485A (zh) * 2010-05-28 2010-09-22 华为技术有限公司 组播流量分担的方法及相关装置
US20120294308A1 (en) * 2011-05-20 2012-11-22 Cisco Technology, Inc. Protocol independent multicast designated router redundancy
CN102201999A (zh) * 2011-06-13 2011-09-28 中兴通讯股份有限公司 一种实现组播业务负荷分担的方法和系统
CN103117935A (zh) * 2013-02-28 2013-05-22 杭州华三通信技术有限公司 应用于多归属组网的组播数据转发方法和装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4002767A4 (en) * 2019-08-30 2022-08-31 Huawei Technologies Co., Ltd. METHOD, DEVICE AND MESSAGE SENDING SYSTEM APPLIED TO NETWORKING A DISTRIBUTED ROUTER
US11882028B2 (en) 2019-08-30 2024-01-23 Huawei Technologies Co., Ltd. Packet sending method in distributed router networking, device, and system
CN113765815A (zh) * 2020-06-05 2021-12-07 华为技术有限公司 组播报文负载分担的方法、设备和系统
CN113765815B (zh) * 2020-06-05 2024-03-26 华为技术有限公司 组播报文负载分担的方法、设备和系统
CN114205287A (zh) * 2021-12-17 2022-03-18 锐捷网络股份有限公司 组播接收者信息收集方法及装置
CN114205287B (zh) * 2021-12-17 2024-03-19 锐捷网络股份有限公司 组播接收者信息收集方法及装置
CN114286127A (zh) * 2022-03-08 2022-04-05 浙江微能科技有限公司 一种分布式人工智能分析方法及装置
CN114793226A (zh) * 2022-06-23 2022-07-26 北京安盟信息技术股份有限公司 一种基于中间设备实现组播代理与组播溯源的方法及系统

Similar Documents

Publication Publication Date Title
US10230577B2 (en) Packet broadcast mechanism in a split architecture network
US11381883B2 (en) Dynamic designated forwarder election per multicast stream for EVPN all-active homing
US7911977B2 (en) Designated router assignment per multicast group address/range
WO2022166691A1 (zh) 一种业务处理方法、装置、存储介质及电子装置
WO2017201750A1 (zh) 组播数据处理方法、装置及系统
CN109150580B (zh) 协议无关多播加入熵
US9100203B2 (en) IP multicast over multi-chassis trunk
US9992099B2 (en) Protocol independent multicast designated router redundancy
EP3748916A1 (en) Forwarding multicast traffic over link aggregation ports
WO2022062506A1 (zh) 一种数据处理方法、装置、存储介质及电子装置
US20140044129A1 (en) Multicast packet forwarding in a network
US8902794B2 (en) System and method for providing N-way link-state routing redundancy without peer links in a network environment
CN109379297B (zh) 一种实现流量负载均衡的方法和装置
CN101789949B (zh) 一种实现负荷分担的方法和路由设备
US9160683B2 (en) Providing PIM-SSM support for MRSVP-TE based multicast virtual private networks
CN101651609A (zh) 实现组播负载分担的方法及装置
CN103117935A (zh) 应用于多归属组网的组播数据转发方法和装置
KR20190062525A (ko) 멀티캐스트 서비스를 제공하기 위한 방법 및 소프트웨어 정의 네트워킹(sdn) 제어기
JP2023527932A (ja) Bierマルチキャストトラフィック統計の収集方法、装置、およびシステム
US11909546B2 (en) Method and network node for sending and obtaining assert packet
US11916783B2 (en) Information reporting method, information processing method, apparatus, and device
CN106375222A (zh) 环型组网组播线路切换的方法及装置
US11018886B1 (en) Methods and apparatus for selectively filtering an IP multicast data stream for selected group members of a multicast group
WO2020021558A1 (en) Methods, apparatus and machine-readable media relating to path computation in a communication network
Papán et al. The new PIM-SM IPFRR mechanism

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16902739

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 16902739

Country of ref document: EP

Kind code of ref document: A1