Data multicast method, electronic device and communication system

By using the programming method in the communication between network nodes, packaging and encrypted broadcast data packets, the problem of waste and security hazards in single -broadcast and broadcasting methods are solved, and efficient and secure data transmission is achieved.

CN116962100BActive Publication Date: 2025-01-28HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210384368.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-04-13
Publication Date
2025-01-28
Estimated Expiration
2042-04-13

AI Technical Summary

Technical Problem

In the communication between network nodes, the unicast method wastes communication resources, and the broadcast method causes interference and security risks to unrelated nodes.

Method used

Adopting the broadcast method, obtaining multiple broadcast data packets through the broadcasting device, packaging as data packets and encrypted segmented, only to the target device, the target equipment decrypts the business data subscribed by the header of the message.

Benefits of technology

It improves the efficiency of the broadcast, reduces the waste of network load and resources, and enhances data security, and avoids interference of unrelated nodes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116962100B_ABST
    Figure CN116962100B_ABST
Patent Text Reader

Abstract

The present application discloses a data multicast method, an electronic device and a communication system, which relate to the field of wireless communication technology, and can improve the security of multicast data while improving the multicast efficiency. In the scheme disclosed in the present application, the multicast device can combine and package multiple multicast data packets through a combined packaging strategy, such as combining and packaging multiple multicast data packets from the same or different service data publishers and sent to the same or different multicast addresses, so as to reduce the number of multicast messages in the network, improve the multicast transmission efficiency, and ensure the stability of the network load. In addition, the multicast device can segmentally encrypt each multicast data packet in the multicast message through a segmented encryption strategy to avoid sending some service data to irrelevant network nodes, resulting in low multicast efficiency and interference to irrelevant network nodes, while ensuring the security of service data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of wireless communication technology, and in particular to a data multicast method, electronic device, and communication system. Background Art

[0002] Generally, the communication modes between network nodes may include: unicast and broadcast. Unicast is a data transmission technology that allows one network node to send data only to another network node, and broadcast is a data transmission technology that allows one network node to send data to multiple network nodes at the same time.

[0003] In some cases, it is assumed that network node A wants to send information to certain network nodes (such as network node B1, network node B2 and network node B3) in the network instead of all network nodes. As a possible implementation method, Figure 1 As shown in (a) of FIG. 1 , network node A can use unicast to send the same information to the target network nodes (i.e., network node B1, network node B2, and network node B3). However, this unicast method will waste a lot of communication resources (such as bandwidth), increase network load, and have low efficiency. As another possible implementation method, Figure 1 As shown in (b), network node A can send the same information to all network nodes in the network (such as network node B1, network node B2, network node B3, ..., network node Bn, where n is a positive integer and n is greater than 3) in a broadcast manner. However, this broadcast manner will waste communication resources (such as bandwidth) by sending information to irrelevant network nodes, cause interference to other irrelevant network nodes, and increase data security risks. Summary of the invention

[0004] The present application provides a data multicast method, electronic device and communication system, which can improve the security of multicast data while improving the multicast efficiency.

[0005] In order to achieve the above purpose, the embodiment of the present application adopts the following technical solution:

[0006] In a first aspect, a data multicast method is provided, the method comprising: a multicast device acquires a plurality of multicast data packets; the multicast device packages the plurality of multicast data packets into data packet groups, and encrypts the data packet groups in segments; the multicast device multicasts the encrypted data packet groups to a plurality of target devices corresponding to the plurality of multicast data packets; the plurality of target devices decrypts the subscribed service data from the data packet groups.

[0007] Exemplarily, a multicast device (ie, a multicast terminal) obtains M multicast data packets, where M is a positive integer greater than 1.

[0008] Exemplarily, the multicast device (ie, the multicast end) may package the acquired M multicast data packets into N data packet groups, where N is a positive integer and N<M.

[0009] In the solution provided in the first aspect above, the multicast device can combine and package multiple multicast data packets through a combined packaging strategy, for example, combine and package multiple multicast data packets from the same or different service data publishers and sent to the same or different multicast addresses, so as to reduce the number of multicast messages in the network, improve the multicast transmission efficiency, and ensure the stability of the network load. In addition, the multicast device can segmentally encrypt each multicast data packet in the multicast message through a segmented encryption strategy to avoid sending some service data to irrelevant network nodes, resulting in low multicast efficiency and interference to irrelevant network nodes, while ensuring the security of service data.

[0010] In a possible implementation, the multicast device performs segmented encryption on the data packet group, specifically including: the multicast device uses multiple encryption keys to encrypt multiple multicast data packets in the data packet group respectively. As an example, the multicast device can perform segmented encryption on the data packet group based on the multicast data packet granularity. This method is easy to encrypt and decrypt and has strong operability.

[0011] In a possible implementation, the above-mentioned multiple encryption keys are respectively determined by the sending devices of the multiple multicast data packets and the corresponding target devices in advance through negotiation. As an example, the multicast device can use the key negotiated between the corresponding devices (sending device and target device) to encrypt the data packet group in segments based on the granularity of the multicast data packet. This method is easy to encrypt and decrypt and has strong operability.

[0012] In a possible implementation, the multicast device multicasts the encrypted data packet group to the multiple target devices corresponding to the multiple multicast data packets, including: the multicast device multicasts the encrypted data packet group to the multiple target devices corresponding to the multiple multicast data packets through a multicast message; wherein the multicast message includes a message header, and the message header is used to indicate at least: the sending devices corresponding to the multiple multicast data packets in the multicast message, the offset starting points of the multiple multicast data packets in the multicast message, and the data lengths of the multiple multicast data packets in the multicast message. In order to facilitate the target device to extract and decrypt the service data it subscribes to, as an example, the multicast device can carry information such as the sending devices, offset starting points and data lengths of the multiple multicast data packets it encapsulates in the multicast message.

[0013] In a possible implementation, the above-mentioned multiple target devices decrypt the subscribed service data from the data packet group, including: the target device A determines the service data subscribed by the target device A and the decryption key required to decrypt the service data subscribed by the target device A from the above-mentioned multiple multicast data packets according to the sending devices corresponding to the multiple multicast data packets indicated by the message header (such as message header 2 (header2)); the target device A determines the position of the service data subscribed by the target device A in the multicast message according to the determined service data subscribed by the target device A, and the offset starting points of the multiple multicast data packets indicated by the above-mentioned message header and the data lengths of the multiple multicast data packets; the target device A obtains the multicast data packet corresponding to the service data subscribed by the target device A according to the position of the service data subscribed by the target device A in the multicast message; the target device A decrypts the multicast data packet corresponding to the service data subscribed by the target device A using the determined decryption key; wherein the target device A is any one of the above-mentioned multiple target devices. Based on this method, the target device can quickly obtain and decrypt the subscribed data packets from the multicast message according to the message header without extracting other irrelevant multicast data packets, which can not only improve the multicast efficiency but also ensure the security of business data.

[0014] In a possible implementation, the multicast device multicasts the encrypted data packet group to the multiple target devices corresponding to the multiple multicast data packets, including: the multicast device multicasts the encrypted data packet group to the multiple target devices corresponding to the multiple multicast data packets through one or more transmission devices. The solution provided by the present application is not only applicable to the direct multicast scenario, but also to the multicast scenario forwarded step by step through transmission devices such as routers and switches, and has strong versatility.

[0015] In a possible implementation, the method further includes: when transmission device A determines that the next hop address of multicast data packet A indicates target device A, multicast data packet A is deleted from the multicast message to be multicasted to other target devices; wherein transmission device A is one of the one or more transmission devices, multicast data packet A is any one of the multiple multicast data packets, and target device A is the target device corresponding to the multicast data packet A. Through this method, the size of the multicast message can be reduced to the maximum extent without affecting the transmission of service data, thereby improving the multicast efficiency.

[0016] In a possible implementation, when it is determined that the next hop address of the multicast data packet A indicates the target device A, the method further includes: the transmission device A deletes the other multicast data packets except the multicast data packet A from the multicast message to be multicasted to the target device A. Through this method, the size of the multicast message can be reduced to the maximum extent without affecting the transmission of service data, thereby improving the multicast efficiency.

[0017] In a possible implementation, the transmission device A determines the next hop address of the multicast data packet A to indicate the target device A according to the multicast address and the multicast routing table entry.

[0018] It can be understood that in some cases, the transmission device maintains a multicast routing table entry, which is used to represent the upstream interface information and downstream interface information of the multicast. Based on this, the transmission device can determine whether the next hop address of the multicast data packet indicates its corresponding target device by comparing the multicast address and the downstream interface information represented by the multicast routing table entry.

[0019] In a possible implementation, the multicast device multicasts the encrypted data packet group to multiple target devices through the one or more transmission devices based on the shortest-path tree (SPT) principle or the rendezvous point tree (RPT) principle. The solution provided by the present application can be applied to communication systems with various network structures and has strong versatility.

[0020] In a possible implementation, the above-mentioned multiple encryption keys are all different. As an example, the multicast device may use different encryption keys to encrypt multiple multicast data packets in a data packet group to provide security for the multicast data.

[0021] In a possible implementation, at least two of the multiple encryption keys are the same. As an example, for mutually authorized services, multicast devices may use the same encryption key for encryption to reduce the cost of multicast key negotiation and encryption.

[0022] In a possible implementation, the multicast device obtains multiple multicast data packets, including: the multicast device obtains M multicast data packets; wherein M≤k, k is a preset number of data packets, and M and k are both positive integers greater than 1. By limiting the number of data packets in the data packet group, the size of the multicast message can be effectively controlled, the multicast transmission efficiency can be improved, and the stability of the network load can be guaranteed.

[0023] In a possible implementation, the multicast device obtains multiple multicast data packets, including: the multicast device obtains M multicast data packets, the data volume of the M multicast data packets is ≤ r; wherein M is a positive integer greater than 1, r is a preset data volume threshold, and r is a positive number. By limiting the data volume of the data packet group, the size of the multicast message can be effectively controlled, the multicast transmission efficiency can be improved, and the stability of the network load can be guaranteed.

[0024] In a possible implementation, the multicast device obtains multiple multicast data packets, including: the multicast device obtains M multicast data packets, M≤k and the data volume of the M multicast data packets≤r; wherein M and k are both positive integers greater than 1, k is a preset number of data packets, r is a preset data volume threshold, and r is a positive number. By limiting the data volume of the data packet group and the number of data packets in the data packet group, the size of the multicast message can be effectively controlled, the multicast transmission efficiency can be improved, and the stability of the network load can be guaranteed.

[0025] In a possible implementation, the M multicast data packets correspond to different multicast addresses respectively; or, at least two of the M multicast data packets correspond to the same multicast address; or, at least one of the M multicast data packets corresponds to multiple multicast addresses. This application does not limit the subscription device corresponding to the multicast data packet. For example, the subscription devices corresponding to multiple multicast data packets can be different devices or the same device.

[0026] In a possible implementation, the M multicast data packets correspond to different services respectively; or, at least two of the M multicast data packets correspond to the same service. This application does not limit the services corresponding to the multicast data packets, for example, multiple multicast data packets can be for the same service or different services.

[0027] In a possible implementation, the M multicast data packets are respectively from different sending devices; or, at least two of the M multicast data packets are from the same sending device. This application does not limit the source of the multicast data packets, for example, multiple multicast data packets can come from the same user (sending device) or from different users (sending devices).

[0028] In a second aspect, a data multicast method is provided, the method comprising: a multicast device obtains multiple multicast data packets; the multicast device packages the multiple multicast data into data packet groups, and encrypts the data packet groups in segments; the multicast device multicasts the encrypted data packet groups to multiple target devices corresponding to the multiple multicast data packets.

[0029] In the solution provided in the second aspect, the multicast device can combine and package multiple multicast data packets through a combined packaging strategy, for example, combine and package multiple multicast data packets from the same or different service data publishers and sent to the same or different multicast addresses, so as to reduce the number of multicast messages in the network, improve the multicast transmission efficiency, and ensure the stability of the network load. In addition, the multicast device can segmentally encrypt each multicast data packet in the multicast message through a segmented encryption strategy to avoid sending some service data to irrelevant network nodes, resulting in low multicast efficiency and interference to irrelevant network nodes, while ensuring the security of service data.

[0030] In a possible implementation, the multicast device performs segmented encryption on the data packet group, specifically including: the multicast device uses multiple encryption keys to encrypt multiple multicast data packets in the data packet group respectively. As an example, the multicast device can perform segmented encryption on the data packet group based on the multicast data packet granularity. This method is easy to encrypt and decrypt and has strong operability.

[0031] In a possible implementation, the above-mentioned multiple encryption keys are respectively determined by the sending devices of the multiple multicast data packets and the corresponding target devices in advance through negotiation. As an example, the multicast device can use the key negotiated between the corresponding devices (sending device and target device) to encrypt the data packet group in segments based on the granularity of the multicast data packet. This method is easy to encrypt and decrypt and has strong operability.

[0032] In a possible implementation, the multicast device multicasts the encrypted data packet group to the multiple target devices corresponding to the multiple multicast data packets, including: the multicast device multicasts the encrypted data packet group to the multiple target devices corresponding to the multiple multicast data packets through a multicast message; wherein the multicast message includes a message header, and the message header is used to indicate at least: the sending devices corresponding to the multiple multicast data packets in the multicast message, the offset starting points of the multiple multicast data packets in the multicast message, and the data lengths of the multiple multicast data packets in the multicast message. In order to facilitate the target device to extract and decrypt the service data it subscribes to, as an example, the multicast device can carry information such as the sending devices, offset starting points and data lengths of the multiple multicast data packets it encapsulates in the multicast message.

[0033] In a possible implementation, the multicast device multicasts the encrypted data packet group to the multiple target devices corresponding to the multiple multicast data packets, including: the multicast device multicasts the encrypted data packet group to the multiple target devices corresponding to the multiple multicast data packets through one or more transmission devices. The solution provided by the present application is not only applicable to the direct multicast scenario, but also to the multicast scenario forwarded step by step through transmission devices such as routers and switches, and has strong versatility.

[0034] In a possible implementation, the multicast device multicasts the encrypted data packet group to multiple target devices through the one or more transmission devices based on the shortest path tree (SPT) principle or the shared tree (RPT) principle. The solution provided by the present application can be applied to communication systems with various network structures and has strong versatility.

[0035] In a possible implementation, the above-mentioned multiple encryption keys are all different. As an example, the multicast device may use different encryption keys to encrypt multiple multicast data packets in a data packet group to provide security for the multicast data.

[0036] In a possible implementation, at least two of the multiple encryption keys are the same. As an example, for mutually authorized services, multicast devices may use the same encryption key for encryption to reduce the cost of multicast key negotiation and encryption.

[0037] In a possible implementation, the multicast device obtains multiple multicast data packets, including: the multicast device obtains M multicast data packets; wherein M≤k, k is a preset number of data packets, and M and k are both positive integers greater than 1. By limiting the number of data packets in the data packet group, the size of the multicast message can be effectively controlled, the multicast transmission efficiency can be improved, and the stability of the network load can be guaranteed.

[0038] In a possible implementation, the multicast device obtains multiple multicast data packets, including: the multicast device obtains M multicast data packets, the data volume of the M multicast data packets is ≤ r; wherein M is a positive integer greater than 1, r is a preset data volume threshold, and r is a positive number. By limiting the data volume of the data packet group, the size of the multicast message can be effectively controlled, the multicast transmission efficiency can be improved, and the stability of the network load can be guaranteed.

[0039] In a possible implementation, the multicast device obtains multiple multicast data packets, including: the multicast device obtains M multicast data packets, M≤k and the data volume of the M multicast data packets≤r; wherein M and k are both positive integers greater than 1, k is a preset number of data packets, r is a preset data volume threshold, and r is a positive number. By limiting the data volume of the data packet group and the number of data packets in the data packet group, the size of the multicast message can be effectively controlled, the multicast transmission efficiency can be improved, and the stability of the network load can be guaranteed.

[0040] In a possible implementation, the M multicast data packets correspond to different multicast addresses respectively; or, at least two of the M multicast data packets correspond to the same multicast address; or, at least one of the M multicast data packets corresponds to multiple multicast addresses. This application does not limit the subscription device corresponding to the multicast data packet. For example, the subscription devices corresponding to multiple multicast data packets can be different devices or the same device.

[0041] In a possible implementation, the M multicast data packets correspond to different services respectively; or, at least two of the M multicast data packets correspond to the same service. This application does not limit the services corresponding to the multicast data packets, for example, multiple multicast data packets can be for the same service or different services.

[0042] In a possible implementation, the M multicast data packets are respectively from different sending devices; or, at least two of the M multicast data packets are from the same sending device. This application does not limit the source of the multicast data packets, for example, multiple multicast data packets can come from the same user (sending device) or from different users (sending devices).

[0043] In a third aspect, a data multicast method is provided, which is applied to an electronic device, such as any target device among multiple target devices that receives a multicast message from a multicast device, the method comprising: the target device receives a multicast message from the multicast device; wherein the multicast message includes a message header, and the message header is used to indicate at least: sending devices corresponding to multiple multicast data packets in the multicast message, an offset starting point of the multicast data packet in the multicast message, and a data length of multiple multicast data packets in the multicast message; the target device decrypts the service data subscribed by the target device from the above-mentioned multicast message.

[0044] According to the solution provided in the third aspect, the target device can quickly obtain and decrypt the subscribed data packets from the multicast message according to the message header without extracting other irrelevant multicast data packets, which can not only improve the multicast efficiency but also ensure the security of business data.

[0045] In a possible implementation, the target device decrypts the service data subscribed by the target device from the multicast message, including: the target device determines the service data subscribed by the target device and the decryption key required to decrypt the service data subscribed by the target device from the multicast message according to the sending devices corresponding to the multicast data packets indicated by the message header (such as the message header 2 (header2)); the target device determines the position of the service data subscribed by the target device in the multicast message according to the determined service data subscribed by the target device, the offset starting point of the multicast data packets indicated by the message header, and the data length of the multicast data packets; the target device obtains the multicast data packet corresponding to the service data subscribed by the target device according to the position of the service data subscribed by the target device in the multicast message; the target device uses the determined decryption key to decrypt the multicast data packet corresponding to the service data subscribed by the target device. Based on this method, the target device can quickly obtain and decrypt the subscribed data packet from the multicast message according to the message header, without extracting other irrelevant multicast data packets, which can not only improve the multicast efficiency, but also ensure the security of the service data.

[0046] In a possible implementation, the target device receives a multicast message from a multicast device, including: the target device receives a multicast message from a multicast device and forwarded through one or more transmission devices. The solution provided by the present application is not only applicable to direct multicast scenarios, but also to multicast scenarios forwarded step by step through transmission devices such as routers and switches, and has strong versatility.

[0047] In a possible implementation, the multicast message includes M multicast data packets, wherein M≤k, k is a preset number of data packets, and both M and k are positive integers greater than 1. By limiting the number of data packets in the data packet group, the size of the multicast message can be effectively controlled, the multicast transmission efficiency can be improved, and the stability of the network load can be ensured.

[0048] In a possible implementation, the multicast message includes M multicast data packets; the data volume of the M multicast data packets is ≤ r; wherein M is a positive integer greater than 1, r is a preset data volume threshold, and r is a positive number. By limiting the data volume of the data packet group, the size of the multicast message can be effectively controlled, the multicast transmission efficiency can be improved, and the stability of the network load can be ensured.

[0049] In a possible implementation, the multicast message includes M multicast data packets; M≤k and the data volume of the M multicast data packets≤r; wherein M and k are both positive integers greater than 1, k is the preset number of data packets, r is the preset data volume threshold, and r is a positive number. By limiting the data volume of the data packet group and the number of data packets in the data packet group, the size of the multicast message can be effectively controlled, the multicast transmission efficiency can be improved, and the stability of the network load can be ensured.

[0050] In a fourth aspect, a data multicast method is provided, which is applied to an electronic device, such as any transmission device for forwarding a multicast message from a multicast device, the method comprising: the transmission device receiving a multicast message from a multicast device; wherein the multicast message comprises a message header (such as message header 2 (header2)), and the message header is used to indicate at least: a sending device corresponding to multiple multicast data packets in the multicast message, an offset starting point of multiple multicast data packets in the multicast message, and a data length of multiple multicast data packets in the multicast message; the transmission device sends the multicast message to multiple target devices corresponding to the above-mentioned multiple multicast data packets.

[0051] Exemplarily, the transmission equipment is such as a router, a switch, etc., which is not limited in this application.

[0052] In the solution provided in the fourth aspect, the multicast device carries the information such as the sending device, offset starting point and data length of the multiple multicast data packets it encapsulates in the multicast message, so that the target device can quickly obtain and decrypt the subscribed data packet from the multicast message according to the message header, without extracting other irrelevant multicast data packets, which can not only improve the multicast efficiency but also ensure the security of business data. In addition, the solution provided by the present application can be applied to multicast scenarios forwarded step by step through transmission devices such as routers and switches, and has strong versatility.

[0053] In a possible implementation, the method further includes: when the transmission device determines that the next hop address of the multicast data packet A indicates the target device A, the multicast data packet A is deleted from the multicast message to be multicasted to other target devices; wherein the multicast data packet A is any one of the above-mentioned multiple multicast data packets, and the target device A is the target device corresponding to the above-mentioned multicast data packet A. Through this method, the size of the multicast message can be reduced to the maximum extent without affecting the transmission of service data, thereby improving the multicast efficiency.

[0054] In a possible implementation, when it is determined that the next hop address of the multicast data packet A indicates the target device A, the method further includes: the transmission device deletes the other multicast data packets except the multicast data packet A from the multicast message to be multicasted to the target device A. Through this method, the size of the multicast message can be reduced to the maximum extent without affecting the transmission of service data, thereby improving the multicast efficiency.

[0055] In a possible implementation, the transmission device determines the next hop address of the multicast data packet A to indicate the target device A according to the multicast address and the multicast routing table entry.

[0056] In a possible implementation, the multicast message includes M multicast data packets, wherein M≤k, k is a preset number of data packets, and both M and k are positive integers greater than 1. By limiting the number of data packets in the data packet group, the size of the multicast message can be effectively controlled, the multicast transmission efficiency can be improved, and the stability of the network load can be ensured.

[0057] In a possible implementation, the multicast message includes M multicast data packets; the data volume of the M multicast data packets is ≤ r; wherein M is a positive integer greater than 1, r is a preset data volume threshold, and r is a positive number. By limiting the data volume of the data packet group, the size of the multicast message can be effectively controlled, the multicast transmission efficiency can be improved, and the stability of the network load can be ensured.

[0058] In a possible implementation, the multicast message includes M multicast data packets; M≤k and the data volume of the M multicast data packets≤r; wherein M and k are both positive integers greater than 1, k is the preset number of data packets, r is the preset data volume threshold, and r is a positive number. By limiting the data volume of the data packet group and the number of data packets in the data packet group, the size of the multicast message can be effectively controlled, the multicast transmission efficiency can be improved, and the stability of the network load can be ensured.

[0059] In a fifth aspect, an electronic device is provided, which electronic device is a multicast device, and the electronic device includes: a communication unit for obtaining multiple multicast data packets; a processing unit for packaging the obtained multiple multicast data packets into data packet groups and encrypting the data packet groups in segments; the above-mentioned communication unit is also used to multicast the encrypted data packet groups to multiple target devices corresponding to the multiple multicast data packets.

[0060] In the scheme provided in the fifth aspect, the multicast device can combine and package multiple multicast data packets through a combined packaging strategy, for example, combine and package multiple multicast data packets from the same or different service data publishers and sent to the same or different multicast addresses, so as to reduce the number of multicast messages in the network, improve the multicast transmission efficiency, and ensure the stability of the network load. In addition, the multicast device can segmentally encrypt each multicast data packet in the multicast message through a segmented encryption strategy to avoid sending some service data to irrelevant network nodes, resulting in low multicast efficiency and interference to irrelevant network nodes, while ensuring the security of service data.

[0061] In a possible implementation, the processing unit performs segmented encryption on the data packet group, specifically including: the processing unit uses multiple encryption keys to encrypt multiple multicast data packets in the data packet group respectively. As an example, the multicast device can perform segmented encryption on the data packet group based on the multicast data packet granularity. This method is easy to encrypt and decrypt and has strong operability.

[0062] In a possible implementation, the above-mentioned multiple encryption keys are respectively determined by the sending devices of the multiple multicast data packets and the corresponding target devices in advance through negotiation. As an example, the multicast device can use the key negotiated between the corresponding devices (sending device and target device) to encrypt the data packet group in segments based on the granularity of the multicast data packet. This method is easy to encrypt and decrypt and has strong operability.

[0063] In a possible implementation, the communication unit multicasts the encrypted data packet group to the multiple target devices corresponding to the multiple multicast data packets, including: the communication unit multicasts the encrypted data packet group to the multiple target devices corresponding to the multiple multicast data packets through a multicast message; wherein the multicast message includes a message header, and the message header is used to indicate at least: the sending devices corresponding to the multiple multicast data packets in the multicast message, the offset starting points of the multiple multicast data packets in the multicast message, and the data lengths of the multiple multicast data packets in the multicast message. In order to facilitate the target device to extract and decrypt the service data it subscribes to, as an example, the multicast device can carry information such as the sending device, offset starting point and data length of the multiple multicast data packets it encapsulates in the multicast message.

[0064] In a possible implementation, the communication unit multicasts the encrypted data packet group to the multiple target devices corresponding to the multiple multicast data packets, including: the communication unit multicasts the encrypted data packet group to the multiple target devices corresponding to the multiple multicast data packets through one or more transmission devices. The solution provided by the present application is not only applicable to the direct multicast scenario, but also to the multicast scenario forwarded step by step through transmission devices such as routers and switches, and has strong versatility.

[0065] In a possible implementation, the multicast device multicasts the encrypted data packet group to multiple target devices through the one or more transmission devices based on the shortest path tree (SPT) principle or the shared tree (RPT) principle. The solution provided by the present application can be applied to communication systems with various network structures and has strong versatility.

[0066] In a possible implementation, the above-mentioned multiple encryption keys are all different. As an example, the multicast device may use different encryption keys to encrypt multiple multicast data packets in a data packet group to provide security for the multicast data.

[0067] In a possible implementation, at least two of the multiple encryption keys are the same. As an example, for mutually authorized services, multicast devices may use the same encryption key for encryption to reduce the cost of multicast key negotiation and encryption.

[0068] In a possible implementation, the communication unit obtains multiple multicast data packets, including: the communication unit receives M multicast data packets respectively from M sending devices; or the communication unit receives M multicast data packets from M-1 sending devices. The present application does not limit the source of the multicast data packets. For example, multiple multicast data packets can come from the same user (sending device) or from different users (sending devices).

[0069] In a sixth aspect, an electronic device is provided, which is any target device among multiple target devices that receives a multicast message from a multicast device, and the electronic device includes: a communication unit, used to receive a multicast message from a multicast device; wherein the multicast message includes a message header, and the message header is used to indicate at least: a sending device corresponding to multiple multicast data packets in the multicast message, an offset starting point of the multicast data packet in the multicast message, and a data length of multiple multicast data packets in the multicast message; a processing unit, used to decrypt the service data subscribed by the target device from the above-mentioned multicast message.

[0070] The solution provided in the sixth aspect above enables the target device to quickly obtain and decrypt the subscribed data packets from the multicast message according to the message header without extracting other irrelevant multicast data packets, which can not only improve the multicast efficiency but also ensure the security of business data.

[0071] In a possible implementation, the processing unit decrypts the service data subscribed by the target device from the multicast message, including: the processing unit determines the service data subscribed by the target device and the decryption key required for decrypting the service data subscribed by the target device from the multicast message according to the sending devices corresponding to the multicast data packets indicated by the message header (such as the message header 2 (header2)); the processing unit determines the position of the service data subscribed by the target device in the multicast message according to the determined service data subscribed by the target device, the offset starting point of the multicast data packets indicated by the message header, and the data length of the multicast data packets; the processing unit obtains the multicast data packet corresponding to the service data subscribed by the target device according to the position of the service data subscribed by the target device in the multicast message; the processing unit decrypts the multicast data packet corresponding to the service data subscribed by the target device using the determined decryption key. Based on this method, the target device can quickly obtain and decrypt the subscribed data packet from the multicast message according to the message header, without extracting other irrelevant multicast data packets, which can not only improve the multicast efficiency, but also ensure the security of the service data.

[0072] In a possible implementation, the communication unit receives a multicast message from a multicast device, including: the communication unit receives a multicast message from a multicast device and forwarded through one or more transmission devices. The solution provided by the present application is not only applicable to direct multicast scenarios, but also to multicast scenarios forwarded step by step through transmission devices such as routers and switches, and has strong versatility.

[0073] In a possible implementation, the multicast message includes M multicast data packets, wherein M≤k, k is a preset number of data packets, and both M and k are positive integers greater than 1. By limiting the number of data packets in the data packet group, the size of the multicast message can be effectively controlled, the multicast transmission efficiency can be improved, and the stability of the network load can be ensured.

[0074] In a possible implementation, the multicast message includes M multicast data packets; the data volume of the M multicast data packets is ≤ r; wherein M is a positive integer greater than 1, r is a preset data volume threshold, and r is a positive number. By limiting the data volume of the data packet group, the size of the multicast message can be effectively controlled, the multicast transmission efficiency can be improved, and the stability of the network load can be ensured.

[0075] In a possible implementation, the multicast message includes M multicast data packets; M≤k and the data volume of the M multicast data packets≤r; wherein M and k are both positive integers greater than 1, k is the preset number of data packets, r is the preset data volume threshold, and r is a positive number. By limiting the data volume of the data packet group and the number of data packets in the data packet group, the size of the multicast message can be effectively controlled, the multicast transmission efficiency can be improved, and the stability of the network load can be ensured.

[0076] In a seventh aspect, an electronic device is provided, which is any transmission device for forwarding a multicast message from a multicast device, and the electronic device includes: a communication unit for receiving a multicast message from a multicast device; and sending the multicast message to multiple target devices corresponding to the above-mentioned multiple multicast data packets. The multicast message includes a message header (such as message header 2 (header2)), and the message header is used to indicate at least: a sending device corresponding to multiple multicast data packets in the multicast message, an offset starting point of multiple multicast data packets in the multicast message, and a data length of multiple multicast data packets in the multicast message.

[0077] Exemplarily, the transmission equipment is such as a router, a switch, etc., which is not limited in this application.

[0078] In the solution provided in the seventh aspect, the multicast device carries the information such as the sending device, offset starting point and data length of the multiple multicast data packets it encapsulates in the multicast message, so that the target device can quickly obtain and decrypt the subscribed data packet from the multicast message according to the message header, without extracting other irrelevant multicast data packets, which can not only improve the multicast efficiency but also ensure the security of business data. In addition, the solution provided by the present application can be applied to multicast scenarios forwarded step by step through transmission devices such as routers and switches, and has strong versatility.

[0079] In a possible implementation, the electronic device further includes: a processing unit, configured to delete the multicast data packet A from the multicast message to be multicasted to other target devices when determining that the next hop address of the multicast data packet A indicates the target device A; wherein the multicast data packet A is any one of the above-mentioned multiple multicast data packets, and the target device A is the target device corresponding to the multicast data packet A. Through this method, the size of the multicast message can be reduced to the maximum extent without affecting the transmission of service data, thereby improving the multicast efficiency.

[0080] In a possible implementation, when it is determined that the next hop address of the multicast data packet A indicates the target device A, the processing unit is further configured to: delete other multicast data packets except the multicast data packet A from the multicast message to be multicast to the target device A. Through this method, the size of the multicast message can be reduced to the maximum extent without affecting the transmission of service data, thereby improving the multicast efficiency.

[0081] In a possible implementation, the processing unit is further configured to: determine the next hop address of the multicast data packet A to indicate the target device A according to the multicast address and the multicast routing table entry.

[0082] In a possible implementation, the multicast message includes M multicast data packets, wherein M≤k, k is a preset number of data packets, and both M and k are positive integers greater than 1. By limiting the number of data packets in the data packet group, the size of the multicast message can be effectively controlled, the multicast transmission efficiency can be improved, and the stability of the network load can be ensured.

[0083] In a possible implementation, the multicast message includes M multicast data packets; the data volume of the M multicast data packets is ≤ r; wherein M is a positive integer greater than 1, r is a preset data volume threshold, and r is a positive number. By limiting the data volume of the data packet group, the size of the multicast message can be effectively controlled, the multicast transmission efficiency can be improved, and the stability of the network load can be ensured.

[0084] In a possible implementation, the multicast message includes M multicast data packets; M≤k and the data volume of the M multicast data packets≤r; wherein M and k are both positive integers greater than 1, k is the preset number of data packets, r is the preset data volume threshold, and r is a positive number. By limiting the data volume of the data packet group and the number of data packets in the data packet group, the size of the multicast message can be effectively controlled, the multicast transmission efficiency can be improved, and the stability of the network load can be ensured.

[0085] In an eighth aspect, an electronic device is provided, such as a multicast device, which includes: a communication interface for sending and receiving radio signals; a memory for storing computer program instructions; and a processor for executing the computer program instructions to support the electronic device to implement a method in any possible implementation manner of the second aspect.

[0086] In a ninth aspect, an electronic device is provided, such as a multicast device, which includes: a communication interface for sending and receiving radio signals; a memory for storing computer program instructions; and a processor for executing the computer program instructions to support the electronic device to implement a method in any possible implementation manner of the third aspect.

[0087] In a tenth aspect, an electronic device is provided, such as a multicast device, which includes: a communication interface for sending and receiving radio signals; a memory for storing computer program instructions; and a processor for executing the computer program instructions to support the electronic device to implement a method in any possible implementation manner of the fourth aspect.

[0088] In an eleventh aspect, a communication system is provided, the communication system comprising an electronic device (i.e., a multicast device) in any possible implementation of the fifth aspect or the eighth aspect, an electronic device (i.e., a target device) in any possible implementation of the sixth aspect or the ninth aspect, and an electronic device (i.e., a transmission device) in any possible implementation of the seventh aspect or the tenth aspect. The communication system is used to implement the method in any possible implementation of the first aspect.

[0089] In a twelfth aspect, a computer-readable storage medium is provided, on which computer program instructions are stored. When the computer program instructions are executed by a processor, a method in any possible implementation of the second aspect, the third aspect or the fourth aspect is implemented.

[0090] In a thirteenth aspect, a chip system is provided, the chip system comprising a processor and a memory, wherein computer program instructions are stored in the memory; when the computer program instructions are executed by the processor, the method in any possible implementation of the second aspect, the third aspect, or the fourth aspect is implemented. The chip system may be composed of a chip, or may include a chip and other discrete devices. BRIEF DESCRIPTION OF THE DRAWINGS

[0091] Figure 1 Schematic diagrams of two conventional point-to-multipoint data transmission methods;

[0092] Figure 2 A schematic diagram of a multicast network architecture provided in an embodiment of the present application;

[0093] Figure 3 A schematic diagram of the hardware structure of a multicast terminal / receiving terminal provided in an embodiment of the present application;

[0094] Figure 4 A schematic diagram of the hardware structure of another multicast terminal / receiving terminal provided in an embodiment of the present application;

[0095] Figure 5 A schematic diagram of a point-to-multipoint data transmission method provided in an embodiment of the present application;

[0096] Figure 6 A flow chart of a data multicast method provided in an embodiment of the present application;

[0097] Figure 7 A schematic diagram of a subscription service process provided in an embodiment of the present application;

[0098] Figure 8 Schematic diagram of the multicast process of data provided in the embodiment of the present application Figure 1 ;

[0099] Fig. 9 A flow chart of another data multicast method provided in an embodiment of the present application;

[0100] Fig.10 Schematic diagram of the multicast process of data provided in the embodiment of the present application Figure 2 ;

[0101] Fig.11 Schematic diagram of the multicast process of data provided in the embodiment of the present application Figure 3 ;

[0102] Fig.12 Schematic diagram of the multicast process of data provided in the embodiment of the present application Figure 4 ;

[0103] Fig.13 A structural block diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0104] The technical solutions in the embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application. In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in the description of the embodiments of the present application, "multiple" means two or more than two.

[0105] In the following, the terms "first" and "second" are used for descriptive purposes only and are not to be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features. In the description of this embodiment, unless otherwise specified, "plurality" means two or more.

[0106] It can be understood that when processing point-to-multipoint data transmission requirements based on unicast communication technology, since the sender needs to send the same data to multiple receivers respectively, this method will waste a lot of communication resources (such as bandwidth) and increase the network load. In addition, the larger the amount of data, the greater the network load and the lower the communication efficiency. When processing point-to-multipoint data transmission requirements based on broadcast communication technology, since the sender will send the same data to all network nodes in the network, this method will lead to a waste of communication resources (such as bandwidth), interfere with other irrelevant network nodes, and increase data security risks.

[0107] Considering the drawbacks of conventional technologies in dealing with point-to-multipoint data transmission requirements, in order to more effectively optimize point-to-multipoint communication, an embodiment of the present application provides a data multicast method. Among them, multicast is also called multicast, point broadcast or groupcast. Multicast is a point-to-multipoint communication method. Specifically, multicast refers to sending data to network nodes in a preset node subset in the network according to the principle of best-effort. The preset node subset is called a multicast group.

[0108] Among them, multicast can be based on a variety of communication protocols for data transmission. Taking multicast based on the Internet Protocol (IP) as an example, IP multicast transmits IP data packets to network nodes in an IP multicast group by using a specific IP multicast address in accordance with the best-effort principle. As an example, an IP multicast group can be identified by a multicast IP address.

[0109] For ease of understanding, the multicast-related terms appearing in the embodiments of the present application are explained and illustrated below.

[0110] 1. Multicast end: A multicast end is a sender of multicast data packets received by network nodes in a multicast group. A multicast end does not join a multicast group.

[0111] The data packets sent by the multicast end to the receiving end may come from one user or multiple users, which is not limited in the embodiment of the present application.

[0112] 2. Multicast transmission device: hereinafter referred to as transmission device. Multicast transmission device supports Layer 3 multicast function. Multicast transmission device does not join a multicast group. For example, the multicast transmission device is a router or a Layer 3 switch.

[0113] 3. Multicast receiving end: hereinafter referred to as receiving end. A multicast receiving end is a member of a multicast group.

[0114] 4. Multicast address: The multicast address is the IP address shared by all network nodes in the multicast group.

[0115] For example, an IP multicast group can be identified by a Class D IP address, such as an IP address from 224.0.0.0 to 239.255.255.255. It can be understood that an IP multicast group is an IP address, and a network node joining an IP multicast group means that the network node receives messages with a target address corresponding to the IP address.

[0116] 5. Multicast protocol: Multicast protocol includes group membership protocol between hosts and routers, and multicast routing protocol between routers.

[0117] Among them, the group membership protocol includes the Internet Group Management Protocol (IGMP). IGMP is a protocol in the Transmission Control Protocol (TCP / IP) protocol family responsible for IP multicast group management. It is used to establish and maintain multicast group membership between IP hosts (such as multicast terminals and receivers) and multicast transmission devices directly adjacent to them (such as multicast routers).

[0118] Multicast routing protocols are divided into intra-domain multicast routing protocols and inter-domain multicast routing protocols. Intra-domain multicast routing protocols include protocol independent multicast decompact mode (PIM-DM), PIM in decompact mode (PIM-SM), distance vector multicast routing protocol (DVMRP) and other protocols, while inter-domain multicast routing protocols include multiprotocol border gateway protocol (MBGP), multicast source discovery protocol (MSDP) and other protocols.

[0119] In an embodiment of the present application, the multicast end may send data packets to the receiving end through one or more transmission devices (such as routers), or may send data packets to the receiving end through multiple transmission devices (such as multiple routers), which is not limited by the embodiment of the present application.

[0120] For example, take the case where a multicast end sends a data packet to a receiving end through multiple transmission devices. Figure 2 , Figure 2 A schematic diagram of a multicast network architecture provided by an embodiment of the present application is shown. Figure 2 As shown, the multicast end sends a data packet (assuming the destination address is 224.0.1.24) to transmission device 1. Transmission device 1 sends the data packet to the network nodes in the multicast group with the multicast address of 224.0.1.24 through transmission devices 2, 3, and 4. For example, the network nodes in the multicast group with the address of 224.0.1.24 include Figure 2 Shown are receiving end 1, receiving end 2 and receiving end 3.

[0121] The communication systems to which the embodiments of the present application can be applied include, but are not limited to: narrowband Internet of Things (NB-IoT) systems, wireless local access networks (WLAN) systems, long term evolution (LTE) systems, fifth generation mobile communications (5G), also known as new radio (NR) systems, or communication systems after 5G, such as 6G systems, device to device (D2D) communication systems, Internet of Vehicles, etc.

[0122] Among them, in the embodiments of the present application, the multicast end and the receiving end may include but are not limited to terminal devices, access networks (AN) / radio access networks (RAN) (such as base stations), wireless terminals (WT), relay devices, or other network nodes that have the ability to communicate with terminal devices and core networks.

[0123] Exemplarily, the multicast end or receiving end may be a desktop device, laptop device, handheld device, wearable device, smart home device, computing device, vehicle-mounted device, etc. with wireless connection function, such as a netbook, tablet computer, smart watch, ultra-mobile personal computer (UMPC), smart camera, netbook, personal digital assistant (PDA), portable multimedia player (PMP), augmented reality (AR) / virtual reality (VR) device, wireless device on aircraft, wireless device on robot, wireless device in industrial control, wireless device in telemedicine, wireless device in smart grid, wireless device in smart city, wireless device in smart home, etc.

[0124] In addition, the multicast end or receiving end may also be an access terminal, a user unit, a user station, a mobile station, a mobile station, a relay station, a remote station, a remote terminal, a mobile device, a user terminal (UE), a terminal, a wireless communication device, a user agent or a user device. The terminal device may also be a cellular phone, a cordless phone, a session initiation protocol (SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (PDA), a handheld device with wireless communication function, a computing device or other processing device connected to a wireless modem, a vehicle-mounted device, a wearable device, a terminal device in a future 5G network, a terminal device in a future evolved public land mobile network (PLMN), or a terminal device in a future Internet of Vehicles, etc.

[0125] Exemplarily, the multicast end or receiving end may also be Ng-eNB, gNB or transmission / reception point (TRP). It may also be a base station defined by the 3rd Generation Partnership Project (3GPP). For example, eNB or e-NodeB, etc. In addition, when the eNB accesses the core network of NR or the next generation core network (NGC) or the 5th generation core network (5GC), the eNB may also be called eLTE eNB.

[0126] In addition, the multicast end or the receiving end may also be an access point (AP) or an access controller (AC), etc. The present application does not limit the specific functions and structures of the multicast end and the receiving end.

[0127] As an example, Figure 3 Taking AN / RAN as an example, a hardware structure diagram of a multicast terminal / receiving terminal provided by an embodiment of the present application is shown.

[0128] like Figure 3 As shown, the multicast end / receiving end may include a processor 301, a communication line 302, a memory 303 and at least one communication interface ( Figure 3 The communication interface 304 is used as an example for illustration only).

[0129] The processor 301 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program of the present application.

[0130] The communication link 302 may include a pathway to transmit information between the above-mentioned components.

[0131] The communication interface 304 uses any transceiver or other device to communicate with other devices or communication networks, such as Ethernet, RAN, WLAN, etc.

[0132] In the embodiment of the present application, the communication interface 304 of the multicast terminal can be used to support the multicast terminal to communicate with the sending device, the transmission device (such as a router) or the receiving terminal. The communication interface 304 of the receiving terminal can be used to support the receiving terminal to communicate with the transmission device or the multicast terminal. Figure 3 The hardware structure diagram is shown.

[0133] The memory 303 may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory may exist independently and be connected to the processor via a communication line 302. The memory may also be integrated with the processor.

[0134] The memory 303 is used to store computer-executable instructions for executing the solution of the present application, wherein the memory 303 can store instructions for implementing two modular functions: sending instructions, receiving instructions, and processing instructions, and the execution is controlled by the processor 301. The processor 301 is used to execute the computer-executable instructions stored in the memory 303, thereby implementing the method provided in the following embodiments of the present application. Figure 3 The memory 303 shown in the figure is only a schematic diagram, and the memory may also include other functional instructions, which is not limited by the present invention.

[0135] Optionally, the computer-executable instructions in the present application may also be referred to as application code, which is not specifically limited in the present application.

[0136] In a specific implementation, as an embodiment, the processor 301 may include one or more CPUs, such as Figure 3 CPU0 and CPU1 in.

[0137] It should be noted that Figure 3 This is only an example of a multicast terminal / receiver, and does not limit the specific structure of the multicast terminal / receiver. For example, the multicast terminal / receiver may also include other functional modules.

[0138] As another example, Figure 4 Taking a mobile phone as an example, a schematic diagram of the hardware structure of another multicast terminal / receiving terminal provided in an embodiment of the present application is shown.

[0139] like Figure 4 As shown, the multicast end / receiving end may include a processor 410, an external memory interface 420, an internal memory 421, a universal serial bus (USB) interface 430, a charging management module 440, a power management module 441, a battery 442, an antenna 1, an antenna 2, a mobile communication module 450, a wireless communication module 460, an audio module 470, a speaker 470A, a receiver 470B, a microphone 470C, an earphone interface 470D, a sensor module 480, a button 490, a motor 491, an indicator 492, a camera 493, a display screen 494, and a subscriber identification module (SIM) card interface 495, etc. The sensor module 480 may include a pressure sensor 480A, a gyroscope sensor 480B, an air pressure sensor 480C, a magnetic sensor 480D, an acceleration sensor 480E, a distance sensor 480F, a proximity light sensor 480G, a fingerprint sensor 480H, a temperature sensor 480J, a touch sensor 480K, an ambient light sensor 480L, a bone conduction sensor 480M, etc.

[0140] It is to be understood that the structures illustrated in the embodiments of the present application do not constitute specific limitations on the multicast end / receiving end. In other embodiments of the present application, the multicast end / receiving end may include more or fewer components than those illustrated, or may combine certain components, or may separate certain components, or may have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0141] The processor 410 may include one or more processing units, for example, the processor 410 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), an audio processor / digital processor (the audio processor), a controller, a memory, a video codec, an audio codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Among them, different processing units may be independent devices or integrated in one or more processors.

[0142] Among them, the controller can be the nerve center and command center of the multicast end / receiving end. The controller can generate an operation control signal according to the operation code and timing signal of the user's operation instruction to complete the control of fetching instructions and executing instructions. For example, a memory can also be set in the processor 410 to store instructions and data. In some embodiments, the memory in the processor 410 is a cache memory. The memory can save instructions or data that the processor 410 has just used or circulated. If the processor 410 needs to use the instruction or data again, it can be directly called from the memory. Repeated access is avoided, and the waiting events of the processor 410 are reduced, thereby improving the efficiency of the system.

[0143] In some embodiments, the processor 410 may include one or more interfaces. The interface may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO), a subscriber identity module interface, and / or a universal serial bus interface, etc.

[0144] It should be understood that the interface connection relationship between the modules illustrated in the embodiments of the present application is only a schematic illustration and does not constitute a structural limitation on the multicast terminal / receiving terminal. In other embodiments of the present application, the multicast terminal / receiving terminal may also adopt different interface connection methods in the above embodiments, or a combination of multiple interface connection methods.

[0145] The charging management module 440 is used to receive charging input from the charger. The power management module 441 is used to connect the battery 442, the charging management module 440 and the processor 410. The power management module 441 receives input from the battery 442 and / or the charging management module 440 to power the processor 410, the internal memory 421, the external memory, the display screen 494, the camera 493, and the wireless communication module 463.

[0146] The wireless communication function of the multicast end / receiving end can be realized through antenna 1, antenna 2, mobile communication module 450, wireless communication module 460, modem processor and baseband processor.

[0147] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in the multicast terminal / receiver can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve the utilization of the antennas. The mobile communication module 450 can provide solutions for wireless communications including 2G / 3G / 4G / 5G applied to the multicast terminal / receiver.

[0148] In the embodiment of the present application, antenna 1 and antenna 2 of the multicast end can be used to support the multicast end to send multicast messages, and antenna 1 and antenna 2 of the receiving end can be used to support the receiving end to receive multicast messages.

[0149] The modulation and demodulation processor may include a modulator and a demodulator. The modulator is used to modulate the low-frequency baseband signal to be sent into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The wireless communication module 460 can provide wireless local area networks (WLAN) (such as wireless fidelity (WI-FI) network), Bluetooth (BT), BeiDou navigation satellite system (BDS), global navigation satellite system (GNSS), frequency modulation (FM), near field communication technology (NFC), infrared technology (IR) and other wireless communication solutions applied to the multicast end / receiving end.

[0150] The multicast end / receiver implements the display function through a graphics processing unit (GPU), a display screen 494, and an application processor. The GPU is a microprocessor for image processing, which connects the display screen 494 and the application processor. The GPU is used to perform data and geometric calculations for graphics rendering. The processor 410 may include one or more GPUs, which execute program instructions to generate or change display information.

[0151] The display screen 494 is used to display images, videos, etc. The display screen 494 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light emitting diode (AMOLED), a flexible light-emitting diode (FLED), a quantum dot light emitting diode (QLED), etc.

[0152] The multicast end / receiving end can realize the shooting function through an image signal processor (ISP), a camera 493, a video codec, a GPU, a display screen 494, and an application processor, etc. In the present application, the camera 493 may include a front camera and a rear camera of the multicast end / receiving end, which may be an optical zoom lens, etc., and the present application does not limit this.

[0153] The external memory interface 420 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the multicast end / receiving end. The external memory card communicates with the processor 410 through the external memory interface 420 to implement a data storage function. For example, audio, video and other files are stored in the external memory card.

[0154] Internal memory 421 may be used to store executable program code of a computer program. For example, the computer program may include an operating system program and an application program. The operating system may include, but is not limited to,

[0155] OS and other operating systems. Among them, the executable program code includes instructions. The processor 410 executes various functional applications and data processing of the multicast terminal / receiving terminal by running the instructions stored in the internal memory 421. The internal memory 421 may include a program storage area and a data storage area. Among them, the program storage area may store an operating system, an application required for at least one function (such as an audio playback function, an image playback function, etc.), etc. The data storage area may store data created during the use of the multicast terminal / receiving terminal (such as application data, user data, etc.), etc. In addition, the internal memory 421 may include a high-speed random access memory, and may also include a non-volatile memory, for example, at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc.

[0156] The multicast end / receiving end can implement audio functions such as audio playback and recording through the audio module 470, the speaker 470A, the receiver 470B, the microphone 470C, the headphone interface 470D, and the application processor.

[0157] The touch sensor 480K is also called a "touch panel". The touch sensor 480K can be set on the display screen 494, and the touch sensor 480K and the display screen 494 form a touch screen, also called a "touch screen". The touch sensor 480K is used to detect touch operations acting on or near it. The touch sensor can transmit the detected touch operation (including information such as touch position, touch force, contact area and touch duration) to a processor (such as a DSP, etc.) to determine the type of touch event. Visual output related to the touch operation can be provided through the display screen 494. In other embodiments, the touch sensor 480K can also be set on the surface of the multicast end / receiving end, which is different from the position of the display screen 494.

[0158] It is to be understood that the structures illustrated in the embodiments of the present application do not constitute specific limitations on the multicast end / receiving end. In other embodiments of the present application, the multicast end / receiving end may include more or fewer components than those shown in the figure, or combine some components, or split some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.

[0159] It can be understood that based on the multicast communication mode, a single information flow can be sent to the network nodes in the multicast group simultaneously along the tree path, and the same multicast data flow has at most only one copy on each link. In addition, only the network nodes in the multicast group can receive the data, and other network nodes in the network cannot receive it. Therefore, based on the multicast communication mode, the multicast end can send only one copy of the data and send the data accurately to the receiving end. This method can greatly save communication resources (such as bandwidth), improve data transmission efficiency, avoid interference with other network nodes, and also increase the security of data transmission.

[0160] However, with the widespread application of communication technology, there are usually a large number of multicast groups in the network. In addition, there are also many users who have data multicast needs. In the case where multicast data is mainly composed of data packets with small data volume, there will be a large number of multicast data packets to be transmitted in the network. In order to further improve the transmission efficiency of multicast messages, the multicast end usually packages the multicast data packets together for transmission. For example, the multicast end usually packages the multicast data packets from multiple users together for transmission. For another example, the multicast end usually packages the multicast data packets sent to multiple multicast groups together for transmission.

[0161] In order to ensure the security of multicast data, as a possible implementation method, such as Figure 5 As shown, the multicast end can send multiple multicast packets (such as Figure 5 Data packets 1, 3 and 3 are packaged and encrypted uniformly before being sent to the network nodes in the multicast group (such as Figure 5 The receiving end 1, receiving end 2 and receiving end 3 are shown in the figure. The key for decrypting the data packet by the multicast end is negotiated with the receiving end in advance, for example, it is negotiated with the receiving end when the receiving end accesses the multicast group. After receiving the data packet, the receiving end uses the previously negotiated key to decrypt the data packet to obtain the data packets packaged together, including data packet 1, data packet 3 and data packet 3. In this method, since only the multicast end and the receiving end know the encryption / decryption key of the data packet, the security of the multicast data can be guaranteed.

[0162] However, in the above-mentioned unified packaging and decoding multicast method, since the transmission device does not know the decryption key of the data packet, the transmission device forwards the packaged data packet intact during transmission and does not process the data packet in any way. Therefore, all network nodes in the multicast group receive the same packaged data packet, which causes some receiving ends to receive data that users do not need to receive, resulting in information leakage and interference to users.

[0163] In order to provide more secure multicast communication, the present application provides a data multicast method, which can use a combined packaging and segmented encryption strategy for multicast. Based on the combined packaging and segmented encryption strategy, the multicast data packets in the network can be reduced while improving the security of multicast data.

[0164] A data multicast method provided in an embodiment of the present application will be specifically introduced below in conjunction with the accompanying drawings.

[0165] like Figure 6 As shown, a data multicast method provided in an embodiment of the present application may include the following S601-S605:

[0166] S601: A multicast terminal obtains a plurality of multicast data packets corresponding to a plurality of multicast addresses.

[0167] Exemplarily, the multicast end obtains M multicast data packets. The multiple multicast data packets correspond to R multicast addresses. Wherein, M and R are both positive integers greater than 1.

[0168] In some embodiments, M=R, that is, the M multicast data packets correspond to different multicast addresses. For example, the target addresses of data packet 1, data packet 2, data packet 3, ..., data packet M-1, and data packet M are multicast address 1, multicast address 2, multicast address 3, ..., multicast address M-1, and multicast address M, respectively.

[0169] In some other embodiments, M>R, that is, at least two of the M multicast data packets correspond to the same multicast address. For example, the destination addresses of data packet 1, data packet 2, data packet 3, ..., data packet M-2 are multicast address 1, multicast address 2, multicast address 3, ..., multicast address M-2, and the destination addresses of data packets M-1 and data packet M are multicast address M-1.

[0170] In some other embodiments, M<R, that is, at least one of the M multicast data packets corresponds to multiple multicast addresses. For example, the destination addresses of data packet 1, data packet 2, data packet 3, ..., data packet M-1 are multicast address 1, multicast address 2, multicast address 3, ..., multicast address M-1, respectively, and the destination addresses of data packet M are multicast address 1 and multicast address M.

[0171] In the embodiment of the present application, the M multicast data packets may be related to services and / or users.

[0172] As a possible situation, the M multicast data packets obtained by the multicast end correspond to T (T is a positive integer) services.

[0173] In some embodiments, M=T, that is, the M multicast data packets are service data of different services. For example, data packet 1, data packet 2, data packet 3, ..., data packet M-1, and data packet M are service data of service 1, service 2, service 3, ..., service M-1, and service M, respectively.

[0174] In some embodiments, M>T, that is, at least two of the M multicast data packets are service data of the same service. For example, data packet 1, data packet 2, data packet 3, ..., data packet M-2 are service data of service 1, service 2, service 3, ..., service M-2, respectively, and data packet M-1 and data packet M are service data of service M-1.

[0175] The embodiment of the present application does not limit the relationship between R and T, and the relationship between R and T may satisfy R=T, R>T or R<T.

[0176] Exemplarily, assuming that M=4, R=2, and T=2, for example, the multicast end obtains data packet 1, data packet 2, data packet 3, and data packet 4. Among them, data packet 1 and data packet 2 are service data of service 1, and data packet 3 and data packet 4 are service data of service 2; and the destination address of data packet 1 and data packet 2 is multicast address 1, and the destination address of data packet 3 and data packet 4 is multicast address 2.

[0177] For another example, the multicast end obtains data packet 1, data packet 2, data packet 3, and data packet 4. Among them, data packet 1 and data packet 2 are service data of service 1, and data packet 3 and data packet 4 are service data of service 2; and the destination address of data packet 1 and data packet 3 is multicast address 1, and the destination address of data packet 2 and data packet 4 is multicast address 2.

[0178] As another possible situation, the M multicast data packets obtained by the multicast end correspond to K (K is a positive integer) users, such as K sending devices.

[0179] In some embodiments, M=K, that is, M multicast data packets come from different users (sending devices). For example, data packet 1, data packet 2, data packet 3, ..., data packet M-1, and data packet M come from sending device 1, sending device 2, sending device 3, ..., sending device M-1, and sending device M, respectively.

[0180] In some other embodiments, M>K, that is, at least two of the M multicast data packets come from the same user (sending device). For example, data packet 1, data packet 2, data packet 3, ..., data packet M-2 come from sending device 1, sending device 2, sending device 3, ..., sending device M-2, respectively, and data packet M-1 and data packet M come from sending device M-1.

[0181] The embodiment of the present application does not limit the relationship between K and R, and between K and T. For example, the relationship between K and R may satisfy K=R, K>R or K<R; the relationship between K and T may satisfy K=T, K>T or K<T.

[0182] Exemplarily, assuming that M=4, R=2, T=2, and K=2, for example, the multicast end obtains data packet 1, data packet 2, data packet 3, and data packet 4. Among them, data packet 1 and data packet 2 are service data of service 1, and data packet 3 and data packet 4 are service data of service 2; the destination addresses of data packet 1 and data packet 2 are multicast address 1, and the destination addresses of data packet 3 and data packet 4 are multicast address 2, and data packet 1 and data packet 3 come from sending device 1, and data packet 2 and data packet 4 come from sending device 2.

[0183] S602: The multicast terminal packages the obtained multiple multicast data packets into a data packet group to be multicast.

[0184] Exemplarily, the multicast terminal may package the acquired M multicast data packets into N groups of data packets to be multicast, where N is a positive integer and N<M.

[0185] Optionally, N<M / 2.

[0186] As a possible implementation manner, the multicast end may package the obtained M multicast data packets into N to-be-multicast data packet groups according to a preset number of data packets k (k is a positive integer, and k>1).

[0187] For example, That is, N is the value of M / k rounded up. Taking M=11 and k=3 as an example, Take M=9, k=3 as an example,

[0188] By limiting the number of data packets in a multicast data packet group, the size of the multicast message can be effectively controlled, the multicast transmission efficiency can be improved, and the stability of the network load can be guaranteed.

[0189] As another possible implementation, the multicast end may package the obtained M multicast data packets into N to-be-multicast data packet groups according to a preset data volume threshold r (r is a positive number), wherein the data volume of any one of the N to-be-multicast data packet groups is less than or equal to (≤) the preset data volume threshold r.

[0190] For example, if the total data volume of data packet 1, data packet 2, ..., data packet M-2 and data packet M-1 is less than the preset data volume threshold r, and the total data volume of data packet 1, data packet 2, ..., data packet M-1 and data packet M is greater than the preset data volume threshold r, the multicast end combines data packet 1, data packet 2, ..., data packet M-2 and data packet M-1 into the same data packet group to be multicast.

[0191] By limiting the amount of multicast data packets, the size of multicast messages can be effectively controlled, the multicast transmission efficiency can be improved, and the stability of network load can be guaranteed.

[0192] As another possible implementation, the multicast end may comprehensively consider the preset number of data packets k and the preset data volume threshold r, and package the obtained M multicast data packets into N to-be-multicast data packet groups.

[0193] For example, if (M-1)=k, the total data volume of data packet 1, data packet 2, ..., data packet M-2 and data packet M-1 is less than the preset data volume threshold r, and the total data volume of data packet 1, data packet 2, ..., data packet M-1 and data packet M is greater than the preset data volume threshold r, then the multicast end combines data packet 1, data packet 2, ..., data packet M-2 and data packet M-1 into the same data packet group to be multicast.

[0194] Alternatively, the multicast end may also combine and package multiple data packets based on other preset rules or strategies. This application does not specifically limit the specific packaging rules and strategies.

[0195] Take M=3, R=3, K=3, that is, the multicast end obtains three multicast data packets from sending device 1, sending device 2 and sending device 3, and the destination addresses are multicast address 1, multicast address 2 and multicast address 3 respectively, as an example. Figure 8 As shown, in an embodiment of the present application, the multicast end can combine and package the three acquired multicast data packets, such as data packet 1, data packet 2, and data packet 3, into a data packet group 700 to be multicast.

[0196] S603: The multicast end encrypts the data packets in the multicast data packet group in sections to obtain a multicast message.

[0197] As a possible implementation manner, the multicast end may treat each data packet in the multicast data packet and perform segmented encryption using different encryption keys.

[0198] As an example, the multiple encryption keys used by the multicast end for segment encryption may be multicast keys determined by negotiation between the sending device corresponding to the multiple data packets and the service subscription device.

[0199] For example, Figure 7 As shown in FIG. 1 , when a new service subscriber (such as network node B1, network node B2, and network node B3) subscribes to a certain service, the service subscriber (i.e., network node B1, network node B2, and network node B3) usually sends a service subscription request to the service data publisher (i.e., network node A). In response to the service subscription request, the service data publisher (i.e., network node A) instructs the service subscriber (i.e., network node B) to join the service subscription group (i.e., multicast group). For example, the multicast address of the service subscription group is as follows: Figure 7 In addition, the service data publisher (such as network node A) will trigger the negotiation of multicast keys (including encryption keys and decryption keys) with the service subscriber (such as network node B). After the negotiation of the multicast keys, the service data publisher (such as network node A) and the service subscriber (such as network node B) save the negotiated multicast keys (such as Figure 7 Keys A-B1, A-B2 and A-B3 are shown).

[0200] The negotiated encryption key is used by the service data publisher to encrypt the multicast data packets of the corresponding service that are multicasted to the corresponding multicast address. Alternatively, the negotiated encryption key is used by the multicast end to encrypt the multicast data packets of the corresponding service from the corresponding service data publisher in the group of data packets to be multicasted. The negotiated decryption key is used by the receiving end to decrypt the data packets of the corresponding service.

[0201] As an example, when a service subscriber (such as network node B) subscribes to a service, the service data publisher (such as network node A) and the service subscriber (such as network node B) can communicate based on a TCP transmission control protocol (TCP) connection, such as performing multicast key negotiation, which is not limited in the embodiments of the present application.

[0202] For example, the multicast end packages and encrypts data packet 1 from sending device 1, data packet 2 from sending device 2, and data packet 3 from sending device 3 in segments. Figure 8 As shown, the multicast end can use key 1, key 2 and key 3 to encrypt data packet 1, data packet 2 and data packet 3 respectively. Among them, key 1 is the multicast key negotiated between the sending device 1 and the service subscription device of the first service, key 2 is the multicast key negotiated between the sending device 2 and the service subscription device of the second service, and key 3 is the multicast key negotiated between the sending device 3 and the service subscription device of the third service; data packet 1 is the service data of the first service, data packet 2 is the service data of the second service, and data packet 3 is the service data of the third service.

[0203] Optionally, for mutually authorized services, the service data publisher and the service subscription device can negotiate to determine the same key. For example, service 1 and service 2 are mutually authorized. Then, when a new service subscriber sends a service subscription request to the service data publisher to subscribe to service 1, in response to the service subscription request, the service data publisher (such as network node A) instructs the service subscriber to join the service 1 subscription group and the service 2 subscription group at the same time, and the service data publisher negotiates with the service subscriber to determine the multicast key, which is used to encrypt or decrypt the relevant service data about service 1 and service 2 between the service data publisher and the service subscription device. Based on this, when performing segmented encryption, the multicast end can use the same password to encrypt the relevant service data about service 1 and service 2 from the service data publisher. Through this method, the overhead of multicast key negotiation and encryption can be reduced.

[0204] Furthermore, the multicast end may encapsulate the combined, packaged and segmented encrypted data packets to be multicast into a multicast message.

[0205] The embodiment of the present application does not limit the specific format of the multicast message, and reference may be made to conventional technologies. For example, the multicast message may be a multicast message in a user datagram format (UDP).

[0206] In some embodiments, the multicast end may add a message header 1 (header1) before the group of data packets to be multicast after packaging. The message header 1 (header1) is used to indicate but not limited to one or more of the following information: multicast port, destination port, length and checksum. The source port is used to identify the sending device of the multicast message. The destination port is used to identify the receiving end corresponding to the multicast message. The length is used to identify the length of the multicast message. The checksum is used to perform a multicast data security check.

[0207] Taking a multicast message in user datagram format (UDP) (hereinafter referred to as UDP multicast message) as an example, for example, Figure 8 As shown, the multicast end can add a UDP header 1 (header1) before the group of multicast data packets to be packaged. Exemplarily, the UDP header 1 may include 4 fields with a total of 8 bytes, wherein the length of each field is 2 bytes. The 4 fields are used to carry the source port number, the destination port number, the length and the checksum, respectively. For the specific format of the UDP multicast message and the introduction of related fields, please refer to the explanation and description in the conventional technology, which will not be repeated here.

[0208] Taking the case where a multicast message is encapsulated with data packet 1, data packet 2 and data packet 3, which are from sending device 1, sending device 2 and sending device 3 respectively and whose destination addresses are multicast address 1, multicast address 2 and multicast address 3 respectively, the multicast end can add UDP header 1 (header 1) in front of the group of data packets to be multicast after packaging. Among them, UDP header 1 can include field 1, field 2, field 3 and field 4, field 1 is the source port number (i.e., the port number of sending device 1, sending device 2 and sending device 3), field 2 is the destination port number (i.e., multicast address 1, multicast address 2 and multicast address 3), field 3 is the length of the multicast message, and field 4 is the checksum of the multicast message.

[0209] Furthermore, in some embodiments, the multicast end may also add a message header 2 (header2) before the group of data packets to be multicast after packaging. The message header 2 (header2) is used to indicate but not limited to one or more of the following information: the subscriber of each data packet in the multicast message, the offset starting point of each data packet, and the data length of each data packet. The message header 2 (header2) can facilitate the receiving end to accurately locate the data packets it subscribes to, so as to quickly obtain the data packets it subscribes to from the multicast message. Taking the UDP multicast message as an example, illustratively, Figure 8 As shown, the multicast end can add a UDP header 2 (header2) before the group of data packets to be multicast after packaging.

[0210] Taking the case where the multicast message contains data packets 1, 2 and 3 from sending device 1, 2 and 3, and the destination addresses are multicast address 1, multicast address 2 and multicast address 3, respectively, the multicast end can add UDP header 2 (header2) before the group of data packets to be multicast after packaging. UDP header 2 is used to indicate the subscribers of data packets 1, 2 and 3 (i.e., multicast address 1, multicast address 2 and multicast address 3), the offset starting points of data packets 1, 2 and 3, and the data lengths of data packets 1, 2 and 3.

[0211] S604: The multicast end multicasts the multicast message to the corresponding receiving end.

[0212] Exemplarily, the multicast end may multicast the multicast message to the corresponding receiving end according to the multicast address corresponding to the multicast message. Exemplarily, the multicast address corresponding to the multicast message is as follows: Figure 8 The destination port number carried in the UDP header is shown.

[0213] Taking the case where data packet 1, data packet 2 and data packet 3 are encapsulated in a multicast message, and field 2 in UDP header 1 is multicast address 1, multicast address 2 and multicast address 3, the multicast end can multicast the multicast message to the network nodes corresponding to multicast address 1, multicast address 2 and multicast address 3 according to the destination port number indicated in field 2.

[0214] As a possible implementation method, the multicast end can directly multicast the multicast message to the corresponding receiving end, such as Figure 6 and Figure 8 shown.

[0215] As another possible implementation method, the multicast end may multicast the multicast message to the corresponding receiving end through a transmission device, such as Fig. 9 and Fig.10 Among them, the transmission equipment is such as a router or a three-layer switch, etc., which is not limited in the embodiment of the present application.

[0216] Exemplarily, the multicast end may multicast the multicast message to the corresponding receiving end through a transmission device.

[0217] Exemplarily, the multicast end may multicast the multicast message to the corresponding receiving end through multiple transmission devices. Fig.10 As shown, the multicast end multicasts the multicast message to the corresponding receiving end through transmission device 1, transmission device 2 and transmission device 3.

[0218] It should be noted that in the embodiment of the present application, if the multicast end multicasts the multicast message to the corresponding receiving end through one or more transmission devices, as a possible implementation method, a point-to-multipoint multicast forwarding path is established between the multicast end and the one or more transmission devices in a tree structure. The tree structure can be called a multicast distribution tree (MDT).

[0219] Exemplarily, the multicast distribution tree is such as a shortest-path tree (SPT) or a rendezvous point tree (RPT). Among them, the shortest path tree (SPT) is also called an active tree. The shortest path tree (SPT) takes the multicast source (such as the multicast end) as the root and the multicast group members as the leaves, and constructs a distribution tree with the shortest path from the root to the leaves. The rendezvous point tree (RPT) takes the rendezvous point as the root and the multicast group members as the leaves. After the multicast end sends the multicast message to the transmission device, the transmission device performs subsequent distribution.

[0220] by Fig.10 Taking the multicast process shown as an example, the route between the multicast end and transmission device 1 is the shortest path tree (SPT) route; the route between transmission device 1 and transmission device 2, the route between transmission device 1 and receiving end 1, the route between transmission device 2 and transmission device 3, the route between transmission device 2 and receiving end 2, and the route between transmission device 3 and receiving end 3 are shared tree (RPT) routes.

[0221] For a detailed introduction to the multicast distribution tree (MDT), the shortest path tree (SPT) and the shared tree (RPT), please refer to the explanations and descriptions in conventional technologies, which will not be elaborated in the embodiments of the present application.

[0222] S605: The receiving end decrypts the received multicast message to obtain corresponding service data.

[0223] As a possible implementation, after receiving a multicast message, the receiving end may first determine the key to be used to decrypt the multicast message, and then use the key to decrypt the multicast message to obtain the service data subscribed by the receiving end, that is, the service data corresponding to the receiving end.

[0224] Exemplarily, the receiving end may determine the key to be used for decrypting the multicast message according to the publisher of the service data corresponding to each data packet in the multicast message.

[0225] For example, if the multicast message includes a message header 1, after receiving the multicast message, the receiving end can determine the publisher of the service data according to the source port number carried in the message header 1 of the multicast message, and then determine the decryption key to be used to decrypt the multicast message. Further, the receiving end can use the decryption key to decrypt the multiple data packets encapsulated in the multicast message one by one to obtain the service data subscribed by the receiving end. Among them, the decryption key to be used to decrypt the multicast message is the key that has been negotiated between the receiving end and the publisher of the service data.

[0226] For another example, if the multicast message includes a message header 2, after receiving the multicast message, the receiving end can determine the publisher of the service data based on the information of the subscribers of each data packet carried in the message header 2 of the multicast message, and then determine the decryption key to be used to decrypt the multicast message. Furthermore, the receiving end can accurately locate the position of the data packet corresponding to the publisher of the service data in the multicast message based on the offset starting point of each data packet carried in the message header 2 and the data length of each data packet. Finally, the receiving end can use the determined decryption key to decrypt the above-mentioned located data packet to obtain the service data subscribed by the receiving end. Among them, the decryption key to be used to decrypt the multicast message is the key that has been negotiated between the receiving end and the publisher of the service data.

[0227] For example, Figure 8 The multicast message shown encapsulates data packets 1 of service 1, data packets 2 of service 2 and data packets 3 of service 3 from sending device 1, sending device 2 and sending device 3, respectively, and the target addresses are multicast address 1, multicast address 2 and multicast address 3, respectively. For example, the multicast address of the multicast group where receiving end 1 is located is multicast address 1, the multicast address of the multicast group where receiving end 2 is located is multicast address 2, and the multicast address of the multicast group where receiving end 3 is located is multicast address 3. After receiving end 1 receives the multicast message, receiving end 1 first determines data packet 1 of service 1 subscribed to by it in the multicast message according to the information of the subscribers of each data packet carried in the message header 2, and then determines that the key to be used to decrypt the multicast message is key 1. Further, receiving end 1 accurately locates the position of data packet 1 corresponding to the publisher of the service data in the multicast message (such as the 9th to 20th bytes), such as the starting point field and the end point field, according to the offset starting point (such as the 9th byte) of data packet 1 carried in the message header 2 and the data length (such as 12 bytes) of data packet 1. Finally, the receiving end 1 can use the determined key 1 to decrypt the located data packet 1 and obtain the service data subscribed by the receiving end 1.

[0228] Similarly, after receiving the multicast message, the receiving end 2 first determines the data packet 2 encapsulating the subscribed service 2 in the multicast message according to the subscriber information of each data packet carried in the message header 2, and then determines that the key to be used to decrypt the multicast message is key 2. Further, the receiving end 2 accurately locates the position of the data packet 2 corresponding to the publisher of the service data in the multicast message according to the offset starting point of the data packet 2 carried in the message header 2 and the data length of the data packet 2, such as the starting point field and the end point field. Finally, the receiving end 2 can use the determined key 2 to decrypt the located data packet 2 and obtain the service data subscribed by the receiving end 2.

[0229] Similarly, after receiving the multicast message, the receiving end 3 first determines the data packet 3 in the multicast message that encapsulates the subscribed service 3 according to the subscriber information of each data packet carried in the message header 2, and then determines that the key to be used to decrypt the multicast message is key 3. Further, the receiving end 3 accurately locates the position of the data packet 3 corresponding to the publisher of the service data in the multicast message, such as the starting point field and the end point field, according to the offset starting point of the data packet 3 carried in the message header 2 and the data length of the data packet 3. Finally, the receiving end 3 can use the determined key 3 to decrypt the located data packet 3 and obtain the service data subscribed by the receiving end 3.

[0230] It can be understood that based on the data multicast method provided in the embodiment of the present application, the multicast terminal can combine and package multiple multicast data packets through a combined packaging strategy, for example, combine and package multiple multicast data packets from the same or different service data publishers and sent to the same or different multicast addresses, so as to reduce the number of multicast messages in the network, improve the multicast transmission efficiency, and ensure the stability of the network load. Then, the multicast terminal can segmentally encrypt each multicast data packet in the multicast message through a segment encryption strategy to avoid sending some service data to irrelevant network nodes to cause interference to irrelevant network nodes, and to ensure the security of service data.

[0231] In some embodiments, when a multicast end multicasts a multicast message to a corresponding receiving end through a transmission device, in order to further improve the multicast transmission efficiency, avoid interference to irrelevant network nodes, and ensure the security of business data, the transmission device (such as a router) can dynamically delete one or more data packets encapsulated in the multicast message to maximize the reduction of the size of the multicast message without affecting the transmission of business data.

[0232] As an example, a transmission device (such as a router) may delete a data packet whose target receiving end has been determined from a multicast message to reduce the size of the multicast message.

[0233] It can be understood that, generally, each transmission device (such as a router) maintains a multicast routing table entry, and the multicast routing table entry is used to represent the upstream interface information and the downstream interface information of the multicast.

[0234] As an example, a multicast routing table entry can be represented by (S, G), where S refers to the upstream interface information and G refers to the downstream interface information. The upstream interface information can be represented by the IP address of the sending device, and the downstream interface information can be represented by the corresponding multicast address. Taking the multicast network architecture with the shortest path tree (SPT) structure as an example, after the multicast network architecture is constructed, multicast routing table entries are maintained on the transmission devices in the network architecture. Among them, the upstream interface information represented by the multicast routing table entry maintained by each transmission device is the interface information of the transmission device toward the multicast end, and the downstream interface information is the interface information of the transmission device toward the multicast group. Fig.10 Taking the transmission device 1 shown as an example, in the multicast routing table entry (S, G) maintained by the transmission device 1, S is the interface information of the transmission device 1 toward the multicast end, and G is the interface information of the transmission device 1 toward the multicast group 1, transmission device 2 and transmission device 3.

[0235] Optionally, the multicast routing table entry can also be used to characterize one or more of a network mask (mask), a routing priority (pre), a routing cost (cost), an output interface (interface), a next hop address (nexthop), etc. Among them, the network mask is used to identify the receiving end together with the multicast address or to identify the address of the network segment where the transmission device is located. The routing priority is used to identify the priority of multiple routes in the multicast routing table. Exemplarily, the routing priority can be used to select a route with a higher priority when routing to improve routing efficiency. The routing cost is used to represent the network cost spent on routing. Exemplarily, the routing cost can be used to select a route with the lowest cost when the priorities of multiple routes are the same to save network costs. The output interface is used to characterize the interface used when the multicast message is sent from the transmission device. The next hop address is used to characterize the next transmission device that the multicast message is about to pass through. For a specific introduction to the multicast routing table, reference can be made to the explanations and descriptions in the conventional technology, and the embodiments of the present application will not be repeated.

[0236] Based on this, in the embodiment of the present application, as a possible implementation method, the transmission device (such as a router) can determine whether the target receiving end address of a data packet is the next hop address in combination with the multicast address and the multicast routing table entry. And further, when the transmission device (such as a router) determines that the target receiving end address of a data packet is the next hop address, the data packet can be deleted from the multicast message routed to other network nodes at the next hop to reduce the size of the multicast message.

[0237] For example, Fig.11As shown, it is assumed that transmission device 1 determines that the target receiving end address of data packet 1 (i.e., multicast address 1) is the next hop address of transmission device 1 based on the downstream interface information (i.e., the interface information of multicast group 1, transmission device 2, and transmission device 3) and the multicast address represented by its routing table entry. Further, transmission device 1 can delete data packet 1 (i.e., multicast address 1) in the multicast message to be routed to transmission device 2 and transmission device 3. Fig.11 Optionally, the transmission device 1 may also delete the information related to the multicast address 1 and the data packet 1 from the message header (such as the message header 1 and / or the message header 2).

[0238] Similarly, transmission device 2 determines that the target receiving end address of data packet 2 (i.e., multicast address 2) is the next hop address of transmission device 2 based on the downstream interface information (i.e., the interface information of multicast group 2 and transmission device 3) and the multicast address represented by its routing table entry. Further, transmission device 2 can delete data packet 2 (i.e., multicast address 2) in the multicast message to be routed to transmission device 3. Fig.11 Optionally, the transmission device 2 may also delete the information related to the multicast address 2 and the data packet 2 from the message header (such as the message header 1 and / or the message header 2).

[0239] Optionally, as a possible implementation method, when a transmission device (such as a router) determines that the target receiving address of a data packet is the next-hop address, it may delete other data packets except the data packet in the message routed to the target receiving address of the data packet to reduce the size of the multicast message.

[0240] For example, Fig.12 As shown, it is assumed that transmission device 1 determines that the target receiving end address of data packet 1 (i.e., multicast address 1) is the next hop address of transmission device 1 based on the downstream interface information (i.e., interface information of multicast group 1, transmission device 2, and transmission device 3) represented by its routing table entry and the multicast address. Further, transmission device 1 can delete other data packets (i.e., data packets 2 and data packets 3) except data packet 1 in the message to be routed to multicast address 1 (e.g., Fig.12 Optionally, the transmission device 1 may also delete the multicast address 2, the multicast address 3, the data packet 2, and the related information of the data packet 3 from the message header (such as the message header 1 and / or the message header 2).

[0241] Similarly, transmission device 2 determines that the target receiving end address of data packet 2 (i.e., multicast address 2) is the next hop address of transmission device 2 based on the downstream interface information (i.e., the interface information of multicast group 2 and transmission device 3) and the multicast address represented by its routing table entry. Further, transmission device 2 can delete other data packets (i.e., data packet 3) in the message to be routed to multicast address 2 except data packet 2 (e.g., data packet 2). Fig.12Optionally, the transmission device 2 may also delete the multicast address 3 and the information related to the data packet 3 from the message header (such as the message header 1 and / or the message header 2).

[0242] It can be understood that if the transmission device determines that the target receiving end address of a data packet is the next hop address, it means that the data packet in the multicast message can be successfully sent to the network node subscribed to the service data in the next hop. Therefore, the transmission device deletes the data packet from the multicast message routed to other network nodes at the next hop. Further, optionally, the transmission device deletes other data packets from the message routed to the target receiving end address, which will not affect the transmission of service data, but can also minimize the size of the multicast message, improve the efficiency of multicast transmission, and avoid interference with irrelevant network nodes, thereby ensuring the security of service data.

[0243] It should be understood that the various schemes of the embodiments of the present application can be used in reasonable combination, and the explanations or descriptions of the various terms appearing in the embodiments can be mutually referenced or explained in the various embodiments, without limitation.

[0244] It should also be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0245] It is understandable that, in order to implement the functions of any of the above-mentioned embodiments, the electronic device includes a hardware structure and / or software module corresponding to the execution of each function. Those skilled in the art should easily realize that, in combination with the units and algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0246] The embodiments of the present application can divide the electronic device into functional modules. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The above integrated modules can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiments of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation.

[0247] For example, when the functional modules are divided in an integrated manner, Fig.13As shown in FIG. 1 , it is a structural block diagram of an electronic device provided in an embodiment of the present application. Fig.13 As shown, the electronic device may include a communication unit 1310 , a processing unit 1320 and a storage unit 1330 .

[0248] Among them, the communication unit 1310 is used to support the electronic device to receive and send radio signals, such as sending or receiving multicast data, and / or other processes related to the embodiments of the present application. For example, when the electronic device is a sending device, the communication unit 1310 is used to support the sending device to send multicast data packets to the multicast device, negotiate multicast keys with the target device, etc. When the electronic device is a multicast device, the communication unit 1310 is used to support the multicast device to receive multicast data packets from the sending device, send multicast messages to the target device, etc. When the electronic device is a transmission device, the communication unit 1310 is used to support the transmission device to receive multicast messages from the multicast device, send multicast messages to the target device, etc. When the electronic device is a target device, the communication unit 1310 is used to support the target device to receive multicast messages, negotiate multicast keys with the sending device, etc.

[0249] When the electronic device is a sending device, the processing unit 1320 is used to support the sending device and the target device to negotiate a multicast key, and / or other processes related to the embodiments of the present application. When the electronic device is a multicast device, the processing unit 1320 is used to support the multicast device to package the acquired multiple multicast data into data packet groups, and to encrypt the data packet groups in segments, and / or other processes related to the embodiments of the present application. When the electronic device is a transmission device, the processing unit 1320 is used to support the transmission device to delete the multicast data packet from the multicast message to be multicasted to other target devices when determining that the next hop address of a multicast data packet indicates its target device; and / or delete other multicast data packets other than the multicast data packet from the multicast message to be multicasted to the target device; and / or other processes related to the embodiments of the present application. When the electronic device is a target device, the processing unit 1320 is used to support the target device and the sending device to negotiate a multicast key, decrypt the multicast message, and / or other processes related to the embodiments of the present application.

[0250] The storage unit 1330 is used to store computer program instructions and related data related to the embodiments of the present application.

[0251] As an example, the communication unit 1310 may include a radio frequency circuit. Specifically, the electronic device may receive and send wireless signals through the radio frequency circuit. Typically, the radio frequency circuit includes but is not limited to an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, etc. In addition, the radio frequency circuit may also communicate with other devices through wireless communication. The wireless communication may use any communication standard or protocol, including but not limited to global system for mobile communications, general packet radio service, code division multiple access, wideband code division multiple access, long term evolution, email, short message service, etc.

[0252] It should be understood that each module in the electronic device can be implemented in software and / or hardware form, and there is no specific limitation on this. In other words, the input device is presented in the form of a functional module. The "module" here can refer to a specific application integrated circuit ASIC, a circuit, a processor and a memory that executes one or more software or firmware programs, an integrated logic circuit, and / or other devices that can provide the above functions.

[0253] In an optional manner, when data transmission is implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is implemented in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a digital video disk (DVD)), or a semiconductor medium (e.g., a solid state disk (SSD)), etc.

[0254] The steps of the method or algorithm described in conjunction with the embodiments of the present application can be implemented in hardware or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, and the software modules can be stored in a RAM memory, a flash memory, a ROM memory, an EPROM memory, an EEPROM memory, a register, a hard disk, a mobile hard disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and can write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can be located in an ASIC. In addition, the ASIC can be located in an electronic device. Of course, the processor and the storage medium can also be present in an electronic device as discrete components.

[0255] Through the description of the above implementation methods, technical personnel in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

Claims

1. A data multicast method, characterized in that: The method comprises: The multicast device obtains multiple multicast data packets; The multicast device packages the plurality of multicast data into data packet groups, and performs segmented encryption on the data packet groups; The multicast device multicasts the encrypted data packet group to multiple target devices corresponding to the multiple multicast data packets through one or more transmission devices; When transmission device A determines that the next hop address of multicast data packet A indicates target device A, the multicast data packet A is deleted from the multicast message to be multicasted to other target devices, wherein the transmission device A is one of the one or more transmission devices, the multicast data packet A is any one of the multiple multicast data packets, and the target device A is the target device corresponding to the multicast data packet A; The multiple target devices decrypt the subscribed service data from the data packet group.

2. The method according to claim 1, characterized in that The multicast device performs segmented encryption on the data packet group, specifically comprising: The multicast device uses a plurality of encryption keys to encrypt the plurality of multicast data packets in the data packet group respectively.

3. The method according to claim 2, characterized in that The multiple encryption keys are respectively determined in advance by the sending devices of the multiple multicast data packets and the corresponding target devices through negotiation.

4. The method according to claim 3, characterized in that The multicast device multicasts the encrypted data packet group to multiple target devices corresponding to the multiple multicast data packets, including: The multicast device multicasts the encrypted data packets to multiple target devices corresponding to the multiple multicast data packets through a multicast message; Among them, the multicast message includes a message header, and the message header is used to indicate at least: the sending devices corresponding to multiple multicast data packets in the multicast message, the offset starting points of the multiple multicast data packets in the multicast message, and the data lengths of the multiple multicast data packets in the multicast message.

5. The method according to claim 4, characterized in that The multiple target devices decrypt the subscribed service data from the data packet group, including: The target device A determines, from the multiple multicast data packets according to the sending devices corresponding to the multiple multicast data packets indicated by the message header, the service data subscribed by the target device A and the decryption key required to decrypt the service data subscribed by the target device A; The target device A determines the position of the service data subscribed by the target device A in the multicast message according to the determined service data subscribed by the target device A, the offset starting points of the multiple multicast data packets indicated by the message header, and the data lengths of the multiple multicast data packets; The target device A obtains the multicast data packet corresponding to the service data subscribed by the target device A according to the position of the service data subscribed by the target device A in the multicast message; The target device A uses the determined decryption key to decrypt the multicast data packet corresponding to the service data subscribed by the target device A; The target device A is any one of the multiple target devices.

6. The method according to any one of claims 1 to 5, characterized in that The method further comprises: The transmission device A deletes other multicast data packets except the multicast data packet A from the multicast message to be multicast to the target device A.

7. The method according to any one of claims 1 to 5, characterized in that The transmission device A determines the next hop address of the multicast data packet A to indicate the target device A according to the multicast address and the multicast routing table entry.

8. The method according to any one of claims 1 to 5, characterized in that The multicast device multicasts the encrypted data packet group to the multiple target devices through the one or more transmission devices based on the shortest path tree SPT principle or the shared tree RPT principle.

9. The method according to any one of claims 2 to 5, characterized in that: The multiple encryption keys are all different.

10. The method according to any one of claims 2 to 5, characterized in that: At least two encryption keys among the multiple encryption keys are the same.

11. The method according to claim 1, characterized in that The multicast device obtains a plurality of multicast data packets, including: The multicast device obtains M multicast data packets, where M≤k; Wherein, k is the preset number of data packets, and M and k are both positive integers greater than 1.

12. The method according to claim 1, characterized in that The multicast device obtains a plurality of multicast data packets, including: The multicast device obtains M multicast data packets, where the data volume of the M multicast data packets is ≤r; Wherein, M is a positive integer greater than 1, r is a preset data volume threshold, and r is a positive number.

13. The method according to claim 1, characterized in that The multicast device obtains a plurality of multicast data packets, including: The multicast device obtains M multicast data packets, where M≤k and the data volume of the M multicast data packets≤r; Wherein, M and k are both positive integers greater than 1, k is the preset number of data packets, r is the preset data volume threshold, and r is a positive number.

14. The method according to any one of claims 11 to 13, characterized in that The M multicast data packets correspond to different multicast addresses respectively; or, At least two of the M multicast data packets correspond to the same multicast address; or, At least one multicast data packet among the M multicast data packets corresponds to multiple multicast addresses.

15. The method according to any one of claims 11 to 13, characterized in that The M multicast data packets correspond to different services respectively; or, At least two of the M multicast data packets correspond to the same service.

16. The method according to any one of claims 11 to 13, characterized in that: The M multicast data packets are respectively from different sending devices; or, At least two of the M multicast data packets come from the same sending device.

17. A data multicast method, characterized in that: The method comprises: The electronic device receives a multicast message from a multicast device; the multicast message includes a message header, and the message header is used to indicate at least: a sending device corresponding to multiple multicast data packets in the multicast message, an offset starting point of the multiple multicast data packets in the multicast message, and a data length of the multiple multicast data packets in the multicast message; The electronic device sends the multicast message to multiple target devices corresponding to the multiple multicast data packets; When it is determined that the next hop address of multicast data packet A indicates target device A, the electronic device deletes the multicast data packet A from the multicast message to be multicast to other target devices, the multicast data packet A is any one of the multiple multicast data packets, and the target device A is the target device corresponding to the multicast data packet A among the multiple target devices.

18. The method according to claim 17, characterized in that The method further comprises: The electronic device deletes other multicast data packets except the multicast data packet A from the multicast message to be multicast to the target device A.

19. The method according to claim 17 or 18, characterized in that The electronic device determines the next hop address of the multicast data packet A to indicate the target device A according to the multicast address and the multicast routing table entry.

20. An electronic device, characterized in that: The electronic device comprises: transceivers, used to receive or send radio signals; a memory for storing computer program instructions; A processor is used to execute the computer program instructions to support the multicast device to implement the method as described in any one of claims 17-19.

21. A communication system, characterized in that: The communication system comprises: A multicast device, and an electronic device as claimed in claim 20; The communication system is used to implement the method according to any one of claims 1 to 16.

22. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer program codes, and when the computer program codes are executed by a processing circuit, the method according to any one of claims 1-16 and 17-19 is implemented.

23. A computer program product comprising instructions, characterized in that When the computer program product is run on a computer, the computer is caused to execute the method according to any one of claims 1 to 16 and 17 to 19.

24. A chip system, characterized in that: The chip system includes a processing circuit and a storage medium, wherein the storage medium stores computer program instructions; when the computer program instructions are executed by the processing circuit, the method as described in any one of claims 1-16 and 17-19 is implemented.

Citation Information

Patent Citations

  • Multi-key information encryption method and device, multi-key information decryption method and device and storage medium

    CN112165443A

  • Code cache transmission method based on cache channel joint coding

    CN113259056A