Multicast joining method and device

By using network slicing in a multicast network, the multicast receiver end is added to the multicast source group, which solves the problems of multicast services in a network slicing environment, and realizes the flexible utilization of network resources.

CN119520183AActive Publication Date: 2025-02-25HUAWEI TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202311077465.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-08-24
Publication Date
2025-02-25
Estimated Expiration
2043-08-24

AI Technical Summary

Technical Problem

In a multicast network, how to add the multicast receiver to the multicast source group based on network slices, ensure the quality requirements of multicast services and realize service isolation and flexible utilization of network resources.

Method used

The leaf node receives the join message sent by the multicast receiver, obtains the slice identifier based on the multicast source group information and mapping relationship in the message, and sends the join message through the port corresponding to the network slice, so that the intermediate node and/or the root node can add the multicast receiver to the corresponding multicast source group.

Benefits of technology

It realizes the quality assurance of multicast services, realizes the isolation between multicast services and other services, and realizes the flexible utilization of network resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119520183A_ABST
    Figure CN119520183A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a multicast joining method and device, and belongs to the technical field of communication. Network slices are deployed in the multicast network, and leaf nodes in the multicast network obtain slice identifiers used for identifying the network slices according to the mapping relation and multicast source group information included in a join message sent by a multicast receiving end. A join message comprising multicast source group information and the slice identifier is sent through a port corresponding to the network slice; and enabling an intermediate node and / or a root node in the multicast network to add the multicast receiving end into the multicast source group identified by the multicast source group information based on the network slice according to the joining message comprising the multicast source group information and the slice identifier. The network node in the multicast network can forward the multicast service of the multicast source group to the multicast receiving end through the network slice, the quality requirement of the multicast service is guaranteed, and service isolation and flexible utilization of network resources are achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a multicast joining method and device. Background Art

[0002] A network slice is a logical network deployed in a physical network. The resources of different network slices deployed in the same physical network are isolated from each other. Different network slices can be deployed in a physical network according to the differentiated needs of different services, industries or users. The corresponding services can be forwarded through these network slices to meet the differentiated needs of these services, industries or users, and to achieve service isolation and flexible use of network resources. With the development of multicast services, network slices can be deployed in multicast networks. For example, network slices are deployed in a multicast network according to the quality requirements of multicast services. After the network slice is deployed in the multicast network, the network nodes in the multicast network forward the multicast service to the multicast receiver through the network slice, thereby ensuring the quality requirements of the multicast service and isolating the multicast service from other services. However, after the network slice is deployed in the multicast network, how the multicast receiver joins the multicast source group corresponding to the multicast service based on the network slice is a problem that needs to be solved. Summary of the invention

[0003] The present application provides a multicast joining method and device, which can join a multicast receiving terminal to a multicast source group based on network slicing, ensure the quality requirements of the multicast service, isolate the multicast service from other services, and realize flexible use of network resources. The technical solution of the present application is as follows.

[0004] In the first aspect, a multicast joining method is provided, the method comprising: a leaf node receives a first joining message sent by a multicast receiving end, the first joining message includes multicast source group information; the leaf node obtains a slice identifier according to the multicast source group information and a mapping relationship, the mapping relationship includes the multicast source group information and the slice identifier, and the slice identifier is used to identify a network slice; the leaf node sends a second joining message through a first port, the second joining message includes the multicast source group information and the slice identifier, and the first port is a port corresponding to the network slice determined based on the slice identifier (that is, the first port is a slice port of the network slice). The first port in the leaf node is connected to a root node, or to an intermediate node between the root node and the leaf node, and the leaf node sends the second joining message through the first port, that is, the leaf node sends the second joining message to the root node or the intermediate node through the first port.

[0005] The technical solution provided by the present application is that the leaf node in the multicast network obtains a slice identifier for identifying a network slice according to a mapping relationship and the multicast source group information included in a join message sent by a multicast receiving end, and sends a join message including the multicast source group information and the slice identifier through a port corresponding to the network slice, so that the intermediate node and / or the root node in the multicast network can add the multicast receiving end to the multicast source group identified by the multicast source group information based on the network slice according to the join message including the multicast source group information and the slice identifier, and then the network nodes (including root nodes, intermediate nodes, and leaf nodes) in the multicast network forward the multicast service of the multicast source group to the multicast receiving end through the network slice, which helps to ensure the quality requirements of the multicast service, isolate the multicast service from other services, and realize flexible use of network resources.

[0006] Optionally, the method further includes: the leaf node obtains a forwarding table entry according to the multicast source group information, the first port and the second port, the forwarding table entry includes the multicast source group information, the identifier of the first port and the identifier of the second port, and the second port is used to receive the first join message. Wherein, the identifier of the first port and the identifier of the second port can both be port numbers, the first port is the ingress port of the multicast service corresponding to the multicast source group information in the leaf node, and the second port is the egress port of the multicast service corresponding to the multicast source group information in the leaf node.

[0007] The technical solution provided by the present application is that the leaf node generates a forwarding table entry including multicast source group information, an identifier of a first port, and an identifier of a second port, which can facilitate the leaf node to forward the multicast service corresponding to the multicast source group information according to the forwarding table entry (that is, forwarding the multicast message of the multicast service, and the multicast service corresponding to the multicast source group information is also called the multicast service of the multicast source group identified by the multicast source group information). Specifically, the leaf node receives the multicast message of the multicast service through the first port according to the forwarding table entry, and forwards the multicast message of the multicast service through the second port. Since the first port is the port corresponding to the network slice in the leaf node, the leaf node forwards the multicast service corresponding to the multicast source group information according to the forwarding table entry, that is, the leaf node forwards the multicast service through the network slice according to the forwarding table entry, so that the present application can realize the forwarding of the multicast service through the network slice, which helps to ensure the quality requirements of the multicast service.

[0008] Optionally, the second join message includes a join attribute field, which is used to carry a slice identifier.

[0009] Optionally, the network slice is a network slice based on a flexible algorithm (Flex-Algo), and the network slice is bound to the forwarding plane defined by the Flex-Algo. In other words, the network slice is a network slice deployed in the forwarding plane of the Flex-Algo.

[0010] In a second aspect, a multicast joining method is provided, the method comprising: a first node receives a first joining message sent by a second node through a first port, the first joining message comprising multicast source group information and a first slice identifier, the first slice identifier is used to identify a first network slice, and the first port is a port corresponding to the first network slice; the first node obtains a forwarding table entry according to the multicast source group information and the first port, the forwarding table entry comprising the multicast source group information and an identifier of the first port. The identifier of the first port is a port number, and the first port is an egress port of the multicast service corresponding to the multicast source group information in the first node.

[0011] The technical solution provided by the present application is that the first node generates a forwarding table entry including multicast source group information and an identifier of the first port, which can facilitate the first node to forward the multicast service corresponding to the multicast source group information according to the forwarding table entry. Specifically, the first node forwards the multicast message of the multicast service through the first port according to the forwarding table entry. Since the first port is the port corresponding to the first network slice in the first node, the first node forwards the multicast service corresponding to the multicast source group information according to the forwarding table entry, that is, the first node forwards the multicast service corresponding to the multicast source group information through the first network slice according to the forwarding table entry, which helps to ensure the quality requirements of the multicast service.

[0012] Optionally, the first node is a root node, and the second node is a leaf node or an intermediate node.

[0013] Optionally, the first node is an intermediate node, and the second node is a leaf node or an intermediate node, and the method further includes: the first node sends a second join message through a second port, the second join message includes the multicast source group information and the first slice identifier, and the second port is a port corresponding to the first network slice determined based on the first slice identifier (that is, the second port is a slice port of the first network slice). The second port in the first node is connected to the root node or to the intermediate node between the root node and the first node, and the first node sends the second join message through the second port, that is, the first node sends the second join message to the root node or the intermediate node through the second port.

[0014] The technical solution provided by the present application, in which the first node sends a second join message through the second port, can facilitate the root node or the intermediate node between the root node and the first node to obtain a forwarding table entry associated with the first network slice and used to forward the multicast service corresponding to the multicast source group information according to the second join message including the multicast source group information and the first slice identifier, so that the root node or the intermediate node between the root node and the first node can forward the multicast service through the first network slice according to the forwarding table entry, which helps to ensure the quality requirements of the multicast service.

[0015] Optionally, the first node obtains the forwarding table entry according to the multicast source group information and the first port, including: the first node obtains the forwarding table entry according to the multicast source group information, the first port and the second port, and the forwarding table entry includes the multicast source group information, the identifier of the first port and the identifier of the second port. The identifier of the first port and the identifier of the second port are both port numbers, the first port is the egress port of the multicast service corresponding to the multicast source group information in the first node, and the second port is the ingress port of the multicast service corresponding to the multicast source group information in the first node.

[0016] The technical solution provided by the present application is that the first node generates a forwarding table entry including multicast source group information, an identifier of the first port, and an identifier of the second port, which can facilitate the first node to forward the multicast service corresponding to the multicast source group information according to the forwarding table entry. Specifically, the first node receives the multicast message of the multicast service through the second port according to the forwarding table entry, and forwards the multicast message of the multicast service through the first port. Since the first port and the second port are both ports corresponding to the first network slice in the first node, the first node forwards the multicast service according to the forwarding table entry, that is, the first node forwards the multicast service through the first network slice according to the forwarding table entry, so that the present application can realize the forwarding of multicast services through network slices, which helps to ensure the quality requirements of multicast services.

[0017] Optionally, the method includes: the first node receives a third join message sent by a third node, the third join message includes the multicast source group information and a second slice identifier, and the second slice identifier is used to identify the second network slice; the first node determines that the slice attribute carried by the third join message conflicts with the slice attribute carried by the first join message; the first node determines the first network slice based on the slice conflict resolution strategy. Among them, the third node is a leaf node or an intermediate node. The slice attribute carried by the third join message conflicts with the slice attribute carried by the first join message, that is, the slice identifier carried by the third join message conflicts with the slice identifier carried by the first join message. Since the multicast source group information carried by the third join message is the same as the multicast source group information carried by the first join message, and the slice identifier carried by the third join message is different from the slice identifier carried by the first join message, the slice attribute carried by the third join message conflicts with the slice attribute carried by the first join message.

[0018] The technical solution provided by the present application is that when the first node determines that the slice attributes carried by different join messages used to join the same multicast source group conflict, the first node selects the slice attribute from the slice attributes carried by the different join messages based on the slice conflict resolution strategy, which can solve the slice conflict problem. In the present application, the first node selects the slice attribute carried by the first join message based on the slice conflict resolution strategy, so the first node determines the first network slice, and the first node sends the second join message through the second port in the first node corresponding to the first network slice.

[0019] Optionally, the first node obtains a forwarding table entry based on the multicast source group information and the first port, including: the first node obtains a forwarding table entry based on the multicast source group information, the first port, the second port and the third port, the forwarding table entry includes the multicast source group information, the identifier of the first port, the identifier of the second port and the identifier of the third port, the third port is the port corresponding to the second network slice (that is, the third port is the slice port of the second network slice), and the third port is used to receive a third join message. In combination with the above description, for example, the first node receives a first join message including the multicast source group information and the first slice identifier through a first port corresponding to the first network slice in the first node, and the first node receives a third join message including the multicast source group information and the second slice identifier through a third port corresponding to the second network slice in the first node, and the first node determines that the slice attribute carried by the third join message conflicts with the slice attribute carried by the first join message, and the first node determines the first network slice based on the slice conflict resolution strategy, so the first node sends a second join message including the multicast source group information and the first slice identifier through a second port corresponding to the first network slice in the first node, and the first node generates a forwarding table entry according to the multicast source group information, the first port, the second port, and the third port. Wherein, the first port and the third port are both egress ports of the multicast service corresponding to the multicast source group information in the first node, and the second port is an ingress port of the multicast service corresponding to the multicast source group information in the first node.

[0020] The technical solution provided by the present application is that the first node generates a forwarding table entry including multicast source group information, an identifier of the first port, an identifier of the second port, and an identifier of the third port, which can facilitate the first node to forward the multicast service corresponding to the multicast source group information according to the forwarding table entry. Specifically, the first node receives the multicast message of the multicast service through the second port according to the forwarding table entry, and forwards the multicast message of the multicast service through the first port and the third port. Since the first port, the second port, and the third port are all ports corresponding to the network slice in the first node, the first node forwards the multicast service according to the forwarding table entry, that is, the first node forwards the multicast service through the network slice according to the forwarding table entry, so that the present application can realize the forwarding of the multicast service through the network slice, which helps to ensure the quality requirements of the multicast service.

[0021] Optionally, the slice conflict resolution strategy includes: at least one of a conflict resolution strategy based on slice identifier and a conflict resolution strategy based on slice bandwidth.

[0022] Optionally, the conflict resolution strategy based on slice identifier includes: determining a network slice with a smaller slice identifier or determining a network slice with a larger slice identifier; the conflict resolution strategy based on slice bandwidth includes: determining a network slice with a smaller bandwidth or determining a network slice with a larger bandwidth.

[0023] Optionally, the first join message includes a join attribute field, which is used to carry the first slice identifier.

[0024] The second join message includes a join attribute field, which is used to carry the first slice identifier.

[0025] The third join message includes a join attribute field, which is used to carry the second slice identifier.

[0026] Optionally, the first network slice is a network slice based on the first Flex-Algo, and the first network slice is bound to the forwarding plane defined by the first Flex-Algo. In other words, the first network slice is a network slice deployed in the forwarding plane of the first Flex-Algo.

[0027] Optionally, the second network slice is a network slice based on the second Flex-Algo, and the second network slice is bound to the forwarding plane defined by the second Flex-Algo. In other words, the second network slice is a network slice deployed in the forwarding plane of the second Flex-Algo.

[0028] In a third aspect, a multicast joining device is provided, which includes modules for executing the method provided in the first aspect or any optional manner of the first aspect.

[0029] In a fourth aspect, a multicast joining device is provided, which includes modules for executing the method provided in the second aspect or any optional manner of the second aspect.

[0030] The modules in the third aspect or the fourth aspect mentioned above may be implemented based on software, hardware or a combination of software and hardware, and the modules may be arbitrarily combined or divided based on specific implementations.

[0031] In a fifth aspect, a multicast joining device is provided, comprising a memory and a processor;

[0032] The memory is used to store computer programs; the processor is used to execute the computer programs stored in the memory so that the multicast joining device executes the method provided by the above-mentioned first aspect or any optional manner of the first aspect.

[0033] In a sixth aspect, a multicast joining device is provided, comprising a memory and a processor;

[0034] The memory is used to store computer programs; the processor is used to execute the computer programs stored in the memory so that the multicast joining device executes the method provided by the second aspect or any optional manner of the second aspect.

[0035] In a seventh aspect, a multicast joining device is provided, which includes a main control board and an interface board, and the main control board and the interface board are used to implement the method provided in the first aspect or any optional manner of the first aspect.

[0036] In an eighth aspect, a multicast joining device is provided, which includes a main control board and an interface board, and the main control board and the interface board are used to implement the method provided in the second aspect or any optional manner of the second aspect.

[0037] In a ninth aspect, a multicast joining system is provided, comprising a leaf node and a first node, wherein the first node is a root node or an intermediate node;

[0038] The leaf node includes the multicast joining device provided by the third aspect, the fifth aspect or the seventh aspect;

[0039] The first node includes the multicast joining device provided in the fourth aspect, the sixth aspect or the eighth aspect.

[0040] In the tenth aspect, a computer-readable storage medium is provided, in which a computer program is stored. When the computer program is executed, it implements the method provided by the first aspect or any optional manner of the first aspect, or implements the method provided by the second aspect or any optional manner of the second aspect.

[0041] In the eleventh aspect, a computer program product is provided, which includes a program or code. When the program or code is executed, it implements the method provided by the first aspect or any optional manner of the first aspect, or implements the method provided by the second aspect or any optional manner of the second aspect.

[0042] In the twelfth aspect, a chip is provided, which includes a programmable logic circuit and / or program instructions, and when the chip is running, it is used to implement the method provided by the above-mentioned first aspect or any optional embodiment of the first aspect, or to implement the method provided by the above-mentioned second aspect or any optional embodiment of the second aspect.

[0043] The technical effects of the third to twelfth aspects mentioned above can refer to the technical effects of the first to second aspects and will not be elaborated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] Figure 1 It is a schematic diagram of an application scenario provided by an embodiment of the present application;

[0045] Figure 2 is a flow chart of a multicast joining method provided in an embodiment of the present application;

[0046] Figure 3 is a schematic diagram of an encoded-source Address field provided in an embodiment of the present application;

[0047] Figure 4 is a flowchart of another multicast joining method provided in an embodiment of the present application;

[0048] Figure 5 is a flowchart of another multicast joining method provided in an embodiment of the present application;

[0049] Figure 6 is a flowchart of another multicast joining method provided in an embodiment of the present application;

[0050] Figure 7 is a schematic diagram of a multicast joining method provided in an embodiment of the present application;

[0051] Figure 8 is a schematic diagram of another multicast joining method provided in an embodiment of the present application;

[0052] Fig. 9 is a schematic diagram of a multicast joining device provided in an embodiment of the present application;

[0053] Fig.10 is a schematic diagram of another multicast joining device provided in an embodiment of the present application;

[0054] Fig.11 It is a schematic diagram of another multicast joining device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0055] The implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.

[0056] With the emergence of the fifth-generation mobile communication technology (5G) and diversified new services in the cloud era, different industries, services, users, etc. have put forward various service requirements for the network. For example, mobile communications, smart homes, environmental monitoring, smart agriculture, smart meter reading and other services require the network to support massive device connections and frequent small messages; network live broadcast, video backhaul, mobile medical services and other services have put forward higher requirements for the network transmission rate; Internet of Vehicles, smart grid, industrial control and other services require the network transmission delay to be in the millisecond level and the network to have a reliability close to 100%. Therefore, the network should have the capabilities of massive access, deterministic delay, and high reliability, and it is necessary to build a flexible and dynamic network to meet the needs of users and diversified services in vertical industries. In response to these needs, slicing technology came into being. Slicing technology meets the differentiated needs of different services by establishing a dedicated, virtualized, and mutually isolated logical network on the physical network. The logical network established on the physical network is a network slice. With the development of multicast technology, network slices can be deployed in multicast networks to ensure the quality requirements of multicast services. For example, network slicing is deployed in a protocol independent multicast (PIM) network to ensure the quality requirements of multicast services that need to be forwarded by the PIM network. Among them, the PIM network supports the protocol independent multicast-sparse mode (PIM-SM) protocol. The PIM network that supports the PIM-SM protocol is also called a PIM-SM network. The PIM-SM network can effectively solve the "point-to-multipoint" data transmission problem in large networks and scenarios where users are relatively dispersed, allowing users to receive data on demand, achieving efficient point-to-multipoint data transmission, and effectively saving network bandwidth and reducing network load. The PIM-SM network is widely used in scenarios such as Internet Protocol Television (IPTV) and securities trading. Deploying network slicing in a PIM-SM network can ensure the quality requirements of IPTV services, securities trading services, etc. that need to be forwarded by the PIM-SM network.

[0057] The application scenario of an embodiment of the present application provides a communication system, which includes a multicast network and a multicast source and a multicast receiving end connected to the multicast network. The multicast source is used to provide a multicast service. The multicast receiving end can subscribe to the multicast service from the multicast source. The multicast network is used to forward the multicast service provided by the multicast source to the multicast receiving end (that is, forwarding the multicast message of the multicast service).

[0058] The multicast network may be a PIM network, for example, the multicast network is a PIM-SM network. Furthermore, the multicast network may be an Internet Protocol (IP) network, for example, the multicast network is a native IP network. The multicast network includes a plurality of network nodes, which are communicatively connected. The network nodes may be switches, routers, virtual switches created in physical devices, virtual routers created in physical devices, etc. The types of the plurality of network nodes may be the same or different, for example, the plurality of network nodes may be switches or routers, or some of the plurality of network nodes may be routers, and another portion of the plurality of network nodes may be switches.

[0059] Among them, the multiple network nodes include root nodes and leaf nodes, and may also include intermediate nodes connected between the root node and the leaf node. The leaf node may also be called the egress node of the multicast network, and the root node may be called the ingress node of the multicast network. The root node may be a rendezvous point (RP). The above-mentioned network nodes are also called network devices, the root node is also called the root device, and the leaf node is also called the leaf device. The root node may also be called the head node or head device, and the leaf node may also be called the tail node or tail device. The embodiment of the present application does not limit this. In the embodiment of the present application, the root node is connected to the multicast source to introduce the multicast stream from the multicast source into the multicast network; the leaf node is connected to the multicast receiving end to lead the multicast stream from the multicast network to the multicast receiving end; the intermediate node is used to perform multicast forwarding between the root node and the leaf node. Among them, the multicast source may be a multicast server, a virtual machine (VM) created in the multicast server, or containers created in the multicast server. The multicast receiving end can be a host, user terminal, home gateway (such as an optical modem), TV and other user devices. User terminals include but are not limited to mobile phones, tablet computers, laptops, desktop computers, smart screens, etc.

[0060] Please refer to Figure 1, which shows a schematic diagram of an application scenario provided by an embodiment of the present application, wherein the communication system provided by the application scenario includes a multicast network 100, a multicast source 200 connected to the multicast network 100, and a plurality of multicast receiving terminals 310-340. The multicast network 100 includes a plurality of network nodes 110-160, wherein the network node 110 is a root node, the network nodes 140-160 are leaf nodes, the network nodes 120-130 are intermediate nodes, and the network nodes 120-130 are connected between the network node 110 and the network nodes 140-160. The multicast source 200 is connected to the network node 110. The multicast receiving terminals 310-340 are connected to the network nodes 140-160, wherein the multicast receiving terminal 310 is connected to the network node 140, the multicast receiving terminals 320-330 are connected to the network node 150, and the multicast receiving terminal 340 is connected to the network node 160. The multicast source 200 is used to provide multicast services. The multicast receiving terminals 310-340 can subscribe to the multicast service from the multicast source 200. The multicast network 100 is used to forward the multicast message of the multicast service from the multicast source 200 to the multicast receiving terminals 310-340. In the embodiment of the present application, a network slice is deployed in the multicast network 100, and the network nodes 110-160 can forward the multicast message from the multicast source 200 to the multicast receiving terminals 320-330 through the network slice, thereby achieving the quality assurance of the multicast service by the multicast network 100. Optionally, at least one flexible algorithm (Flex-Algo) is deployed in the multicast network 100, and Flex-Algo can define a forwarding plane in the multicast network 100, and the network slice can be deployed in the forwarding plane defined by Flex-Algo (for example, called the Flex-Algo plane), and the network nodes in the Flex-Algo plane forward the multicast message from the multicast source 200 to the multicast receiving terminals 320-330 through the network slice. The embodiment of the present application introduces the implementation process of multicast receiving ends 310~340 joining the multicast source group corresponding to the multicast service provided by the multicast source 200 based on the network slice when network slices are deployed in the multicast network 100. Figure 1 The application scenarios shown are only for example and are not intended to limit the technical solutions of the embodiments of the present application. Figure 1As shown in the figure, more or fewer network nodes, multicast receiving terminals, etc., the application scenario may also include other devices, for example, a controller to control the network nodes, multicast sources, multicast receiving terminals, etc. The controller can be integrated in the network node, multicast source or multicast receiving terminal, or it can be a control device or a third-party network element independent of the network node, multicast source, or multicast receiving terminal. The controller can be a functional module deployed in a server, or a server, or a server cluster composed of several servers, or a cloud computing service center, or other devices or modules with network control functions. The controller integrates functions such as network management, service control and network analysis. For example, the controller is a network control engine (NCE).

[0061] Please refer to Figure 2 , which shows a flowchart of a multicast joining method provided by an embodiment of the present application. The multicast joining method is executed by a leaf node L, and the leaf node L is any leaf node in the multicast network. For example Figure 1 As shown, the leaf node L is any network node among the network nodes 140 to 160. Figure 2 The multicast joining method includes the following steps S201 to S203.

[0062] S201. The leaf node L receives a first join message A1 sent by the multicast receiving end R. The first join message A1 includes multicast source group information W.

[0063] The leaf node L is any leaf node in the multicast network, and the multicast receiving end R is any multicast receiving end that accesses the multicast network through the leaf node L. For example Figure 1 As shown, in one example, the leaf node L is the network node 140, and the multicast receiving end R is the multicast receiving end 310; in another example, the leaf node L is the network node 150, and the multicast receiving end R is the multicast receiving end 320 or the multicast receiving end 330; in another example, the leaf node L is the network node 160, and the multicast receiving end R is the multicast receiving end 340.

[0064] When the multicast receiving terminal R joins the multicast group identified by the multicast source group information W, the multicast receiving terminal R generates a first join message A1 including the multicast source group information W, and sends the first join message A1 to the leaf node L. The leaf node L receives the first join message A1 sent by the multicast receiving terminal R through the second port. The second port is a port in the leaf node L used to communicate with the multicast receiving terminal R. The second port can be a physical port or a logical port. In an embodiment of the present application, the multicast source group information W is (S, G) or (*, G), S is the information of the multicast source, G is the information of the multicast group, and * indicates that the non-specific multicast source, that is, RP, is the root node.

[0065] S202. The leaf node L obtains the slice identifier 1 according to the multicast source group information W and the mapping relationship. The mapping relationship includes the multicast source group information W and the slice identifier 1. The slice identifier 1 is used to identify the network slice 1.

[0066] The leaf node L includes a mapping relationship between the multicast source group information W and the slice identifier 1. The leaf node L obtains the multicast source group information W from the first join message A1. The leaf node L searches for the mapping relationship according to the multicast source group information W to obtain the slice identifier 1. Among them, the mapping relationship can be statically configured in the leaf node L, or the multicast source notifies the leaf node L. For example, the controller or manually configures the mapping relationship in the multicast source, and the multicast source notifies the mapping relationship to the leaf node L. The embodiment of the present application does not limit this. Slice identifier 1 is used to identify network slice 1. Network slice 1 is a network slice deployed in the multicast network according to the quality requirements of the multicast service corresponding to the multicast source group information W. Optionally, network slice 1 is a network slice based on Flex-Algo, and network slice 1 is bound to the forwarding plane defined by Flex-Algo. In other words, network slice 1 is a network slice deployed in the forwarding plane of Flex-Algo. Since Flex-Algo can realize flexible utilization of network resources, network slice 1 deployed in the forwarding plane of Flex-Algo can realize flexible utilization of network resources.

[0067] S203. The leaf node L sends a second join message A2 through the first port. The second join message A2 includes multicast source group information W and slice identifier 1. The first port is a port corresponding to network slice 1 determined based on slice identifier 1.

[0068] The first port in the leaf node L is the port corresponding to the network slice 1, or is called the slice port of the network slice 1. The first port is a logical port. Optionally, the leaf node L generates a second join message A2 according to the multicast source group information W included in the first join message A1 and the slice identifier 1 obtained in S202. The leaf node L determines the first port corresponding to the network slice 1 in the leaf node L according to the slice identifier 1, and the leaf node L sends the second join message A2 through the first port. The leaf node L determines the first port corresponding to the network slice 1 in the leaf node L through reverse path forwarding (RPF) routing according to the slice identifier 1. The destination address of the second join message A2 is the address of the multicast source or the address of the RP. The leaf node L searches the unicast routing table of the leaf node L according to the destination address of the second join message A2 to determine the outbound port of the second join message A2. The leaf node L determines the first port corresponding to the network slice 1 in the leaf node L according to the search result and the slice identifier 1. In one embodiment, the leaf node L determines that the egress port of the second join message A2 is the first port corresponding to the network slice 1 by searching the unicast routing table, and the leaf node L sends the second join message A2 through the first port. In another embodiment, the leaf node L determines that the egress port of the second join message A2 is a physical port by searching the unicast routing table, and the physical port includes the first port corresponding to the network slice 1 (the first port is a logical port in the physical port), and the leaf node L determines the first port included in the physical port according to the slice identifier 1, and the leaf node L sends the second join message A2 through the first port.

[0069] In an optional embodiment, the second join message A2 includes a join attribute field, and the join attribute field is used to carry a slice identifier 1. In one embodiment, the second join message A2 is a PIM join prune (JP) message, and the second join message A2 includes an encoded-source address (encoded-source dddress) field, and the encoded-source address field includes the join attribute field.

[0070] As an example, see Figure 3, which shows a schematic diagram of an encoded source address field provided in an embodiment of the present application. The encoded source address field includes: an address family (Addr family) field, an encoding type (encoding type) field, a reserved (Rsrvd) field, a sparse (sparse, S) field, a wildcard (wildcard, W) field, a rendezvous point tree (rendezvous point tree, R) field, a mask length (mask length, mask len) field, a source address (source address, SA) field and a join attribute field. The join attribute field is used to carry join attributes (such as the slice identifier in the embodiment of the present application). As Figure 3 As shown, the added attribute field is a type length value (TLV) field, and the added attribute field includes an F bit, an E bit, an attribute type (Attr type) subfield, a length (len) subfield, and a value subfield. The F bit is used to indicate whether the added attribute carried by the added attribute field is a transitive attribute; if the F bit is set (for example, the value of the F bit is 1), the F bit is used to indicate that the added attribute carried by the added attribute field is a transitive attribute; if the F bit is not set (for example, the value of the F bit is 0), the F bit is used to indicate that the added attribute carried by the added attribute field is a non-transitive attribute. The E bit is used to indicate whether the added attribute carried by the added attribute field is an end attribute (end of attribute); if the E bit is set (for example, the value of the E bit is 1), the E bit is used to indicate that the added attribute carried by the added attribute field is an end attribute (that is, it is the last added attribute carried by the encoded source address field); if the E bit is not set (for example, the value of the E bit is 0), the E bit is used to indicate that the added attribute carried by the added attribute field is not an end attribute. The attribute type subfield is used to indicate the type of added attribute carried by the added attribute field. The length subfield is used to indicate the length of the value subfield. The value subfield is used to carry added attributes (for example, the slice identifier in the embodiment of the present application). For the meaning of other fields in the encoded source address field, please refer to the request for comments (RFC) 5384, and for the format of the PIM join message, please refer to RFC4601, which will not be repeated here.

[0071] The technical solution provided by the embodiment of the present application is that the leaf node in the multicast network obtains a slice identifier for identifying a network slice according to a mapping relationship and the multicast source group information included in the join message sent by the multicast receiving end, and sends a join message including the multicast source group information and the slice identifier through the port corresponding to the network slice, so that the intermediate node and / or the root node in the multicast network can add the multicast receiving end to the multicast source group identified by the multicast source group information based on the network slice according to the join message including the multicast source group information and the slice identifier, and then the network nodes in the multicast network can forward the multicast service of the multicast source group to the multicast receiving end through the network slice, which helps to ensure the quality requirements of the multicast service, isolate the multicast service from other services, and realize flexible use of network resources.

[0072] For optional embodiments, please continue to refer to Figure 2 After S203, the multicast joining method further includes the following step S204.

[0073] S204. The leaf node L obtains a forwarding table entry X according to the multicast source group information W, the first port and the second port. The forwarding table entry X includes the multicast source group information W, the identifier of the first port and the identifier of the second port. The second port is used to receive the first join message A1.

[0074] The first port and the second port described in S204 are both ports in the leaf node L, and the first port is the port in the leaf node L corresponding to the network slice 1. The identifier of the first port and the identifier of the second port can both be port numbers. The forwarding table entry X is a multicast forwarding table entry. In the forwarding table entry X, the first port is the input port, and the second port is the output port. Therefore, the first port is the input port of the multicast service corresponding to the multicast source group information W in the leaf node L, and the second port is the output port of the multicast service corresponding to the multicast source group information W in the leaf node L. In one embodiment, the leaf node L obtains the identifier of the first port and the identifier of the second port, and the leaf node L generates the forwarding table entry X according to the multicast source group information W, the identifier of the first port, and the identifier of the second port.

[0075] In an example, the first port is identified as L-P1, the second port is identified as L-P2, and the forwarding table entry X is shown in Table 1 below.

[0076] Table 1 (Forwarding Table Item X)

[0077] Multicast source group information Ingress port (IIF) Outgoing Interface (OIF) W1 L-P1 L-P2

[0078] After the leaf node L obtains the forwarding table entry X, the subsequent leaf node L forwards the multicast service corresponding to the multicast source group information W to the multicast receiving end according to the forwarding table entry X. For example, the leaf node L receives the multicast message including the multicast source group information W through the first port indicated by the port identifier "L-P1" (the first port is the port corresponding to the network slice 1 in the leaf node L, that is, the slice port of the network slice 1) according to the forwarding table entry X shown in Table 1, and sends the multicast message through the second port indicated by the port identifier "L-P2".

[0079] The technical solution provided by the embodiment of the present application is that the first port in the leaf node is the port in the leaf node corresponding to the network slice, and the leaf node generates a forwarding table entry including multicast source group information, an identifier of the first port, and an identifier of the second port, which can facilitate the leaf node to forward the multicast service corresponding to the multicast source group information through the first port corresponding to the network slice according to the forwarding table entry.

[0080] An embodiment of the present application also provides a multicast joining method executed by a first node in a multicast network, where the first node is a root node or an intermediate node in the multicast network. The following is divided into three embodiments, taking the first node being a root node or an intermediate node as an example to introduce the method provided by the embodiment of the present application.

[0081] First example: Please refer to Figure 4 , which shows a flowchart of another multicast joining method provided in an embodiment of the present application. The multicast joining method is executed by the first node. In this embodiment, the first node is a root node as an example. For example Figure 1 As shown, the first node (ie, the root node) may be the network node 110. Figure 4 The multicast joining method includes the following steps S401 to S402.

[0082] S401. The first node receives the first join message B1 sent by the second node through the first port. The first join message B1 includes multicast source group information W and a first slice identifier. The first slice identifier is used to identify the first network slice. The first port is the port corresponding to the first network slice.

[0083] The first node receives the first join message B1 sent by the second node through the first port in the first node, the first port is a port in the first node for communicating with the second node, the first port is a port corresponding to the first network slice, the first port is a slice port of the first network slice, and the first port is a logical port. The first network slice is a network slice deployed in a multicast network. For example, the first network slice is a network slice deployed in a multicast network according to the quality requirements of the multicast service corresponding to the multicast source group information W. Optionally, the first network slice is a network slice based on the first Flex-Algo, and the first network slice is bound to the forwarding plane defined by the first Flex-Algo. In other words, the first network slice is a network slice deployed in the forwarding plane of the first Flex-Algo. Since Flex-Algo can realize flexible utilization of network resources, the first network slice deployed in the forwarding plane of Flex-Algo can realize flexible utilization of network resources.

[0084] In the embodiment of the present application, the first join message B1 includes multicast source group information W and a first slice identifier. For example, the first join message B1 is a PIM join message, and the first join message B1 includes a join attribute field, and the join attribute field is used to carry the first slice identifier. In one embodiment, the first join message B1 includes Figure 3 The encoded source address field shown includes the added attribute field.

[0085] In an embodiment of the present application, the first node is a root node, and the second node is a leaf node or an intermediate node between the first node and the leaf node. Figure 2 In the leaf node L of the embodiment shown, the first join message B1 is Figure 2 In the second join message A2 in the embodiment shown, the first slice identifier is Figure 2 In the embodiment shown, the slice identifier 1, the first network slice is Figure 2 In another embodiment, the second node is connected to the first node and Figure 2 In the illustrated embodiment, the intermediate node between the leaf nodes L, the first join message B1 is a message sent by the second node based on Figure 2 In the embodiment shown, the second join message A2 is sent to the first node, and the first slice identifier may be Figure 2 The slice identifier 1 in the embodiment shown may not be the slice identifier 1. The first network slice may be Figure 2 The network slice 1 in the shown embodiment may not be the network slice 1, and the embodiment of the present application does not limit this.

[0086] S402. The first node obtains a forwarding table entry Y according to the multicast source group information W and the first port, where the forwarding table entry Y includes the multicast source group information W and an identifier of the first port.

[0087] The first port described in S402 is the port corresponding to the first network slice in the first node, and the identifier of the first port can be a port number. The forwarding table entry Y is a multicast forwarding table entry. In the forwarding table entry Y, the first port is the egress port, so the first port is the egress port of the multicast service corresponding to the multicast source group information W in the first node. In one embodiment, the first node obtains the multicast source group information W from the first join message B1, the first node obtains the identifier of the first port, and the first node generates the forwarding table entry Y according to the multicast source group information W and the identifier of the first port. In an example, the identifier of the first port is U-P1, and the forwarding table entry Y is shown in Table 2 below.

[0088] Table 2 (Forwarding Table Item Y)

[0089] Multicast source group information Outgoing Interface (OIF) W1 U-P1

[0090] In an optional embodiment, after the first node receives the first join message B1, the first node also searches the unicast routing table of the first node according to the destination address of the first join message B1 to determine that the outgoing port of the first join message B1 is the second port in the first node, the first node obtains the identifier of the second port, and the first node generates a forwarding table item Y according to the multicast source group information W, the identifier of the first port, and the identifier of the second port, and the forwarding table item Y includes the multicast source group information W, the identifier of the first port, and the identifier of the second port. Among them, the destination address of the first join message B1 is the address of the multicast source or the address of the RP, the second port in the first node is a physical port in the first node, and can also be a logical port in the first node, and the second port is used for the first node to communicate with the multicast source or the RP.

[0091] In an example, the first port is identified as U-P1, the second port is identified as U-P2, and the forwarding table entry Y is shown in Table 3 below.

[0092] Table 3 (Forwarding Table Item Y)

[0093] Multicast source group information Ingress port (IIF) Outgoing Interface (OIF) W1 U-P2 U-P1

[0094] After the first node obtains the forwarding table entry Y, the first node subsequently forwards the multicast service corresponding to the multicast source group information W to the multicast receiving end according to the forwarding table entry Y. In one example, the first node sends a multicast message including the multicast source group information W through the first port indicated by the port identifier "U-P1" (the first port is the port corresponding to the first network slice in the first node) according to the forwarding table entry Y shown in Table 2. In another example, the first node receives a multicast message including the multicast source group information W through the second port indicated by the port identifier "U-P2" according to the forwarding table entry Y shown in Table 3, and sends a multicast message including the multicast source group information W through the first port indicated by the port identifier "U-P1".

[0095] According to the technical solution provided by the embodiment of the present application, the first port in the first node is the port in the first node corresponding to the first network slice, and the first node generates a forwarding table entry including multicast source group information and an identifier of the first port, which can facilitate the first node to forward the multicast service corresponding to the multicast source group information through the first network slice according to the forwarding table entry, thereby helping to ensure the quality requirements of the multicast service.

[0096] Second example: Please refer to Figure 5 , which shows a flowchart of another multicast joining method provided in an embodiment of the present application. The multicast joining method is executed by the first node. In this embodiment, the first node is an intermediate node as an example. For example Figure 1 As shown, the first node (ie, the intermediate node) is the network node 120 or 130. Figure 5 The multicast joining method includes the following steps S501 to S503.

[0097] S501. The first node receives the first join message C1 sent by the second node through the first port. The first join message C1 includes multicast source group information W and a first slice identifier. The first slice identifier is used to identify the first network slice. The first port is the port corresponding to the first network slice.

[0098] The first node receives the first join message C1 sent by the second node through the first port in the first node, the first port is a port in the first node for communicating with the second node, the first port is a port corresponding to the first network slice, the first port is a slice port of the first network slice, and the first port is a logical port. The first network slice is a network slice deployed in a multicast network. For example, the first network slice is a network slice deployed in a multicast network according to the quality requirements of the multicast service corresponding to the multicast source group information W. Optionally, the first network slice is a network slice based on the first Flex-Algo, and the first network slice is bound to the forwarding plane defined by the first Flex-Algo. In other words, the first network slice is a network slice deployed in the forwarding plane of the first Flex-Algo. Since Flex-Algo can realize flexible utilization of network resources, the first network slice deployed in the forwarding plane of Flex-Algo can realize flexible utilization of network resources.

[0099] In the embodiment of the present application, the first join message C1 includes multicast source group information W and a first slice identifier. For example, the first join message C1 is a PIM join message, and the first join message C1 includes a join attribute field, and the join attribute field is used to carry the first slice identifier. In one embodiment, the first join message C1 includes Figure 3 The encoded source address field shown includes the added attribute field.

[0100] In an embodiment of the present application, the first node is an intermediate node, and the second node is a leaf node or an intermediate node connected between the first node and the leaf node. Figure 2 In the leaf node L of the embodiment shown, the first join message C1 is Figure 2 In the second join message A2 in the embodiment shown, the first slice identifier is Figure 2 In the embodiment shown, the slice identifier 1, the first network slice is Figure 2 In another embodiment, the second node is connected to the first node and Figure 2 In the embodiment shown, the intermediate node between the leaf nodes L, the first join message C1 is a message sent by the second node based on Figure 2 In the embodiment shown, the second join message A2 is sent to the first node, and the first slice identifier may be Figure 2 The slice identifier 1 in the embodiment shown may not be the slice identifier 1. The first network slice may be Figure 2 The network slice 1 in the shown embodiment may not be the network slice 1, and the embodiment of the present application does not limit this.

[0101] S502. The first node sends a second join message C2 through the second port, and the second join message C2 includes multicast source group information W and a first slice identifier. The second port is a port corresponding to the first network slice determined based on the first slice identifier.

[0102] The second port in the first node is the port corresponding to the first network slice, the second port is the slice port of the first network slice, and the second port is a logical port. Optionally, the first node obtains the multicast source group information W and the first slice identifier from the first join message C1, the first node generates a second join message C2 according to the multicast source group information W and the first slice identifier, the first node determines the second port corresponding to the first network slice in the first node according to the first slice identifier, and the first node sends the second join message C2 through the second port. The second join message C2 includes the multicast source group information W and the first slice identifier. For example, the second join message C2 is a PIM join message, and the second join message C2 includes Figure 3 The encoded source address field shown, the added attribute field in the encoded source address field is used to carry the first slice identifier.

[0103] In an optional embodiment, the first node determines the second port corresponding to the first network slice in the first node through RPF routing according to the first slice identifier. In a specific embodiment, the destination address of the second join message C2 is the address of the multicast source or the address of the RP, the first node searches the unicast routing table of the first node according to the destination address of the second join message C2 to determine the egress port of the second join message C2, and the first node determines the second port corresponding to the first network slice in the first node according to the search result and the first slice identifier. In one embodiment, the first node determines that the egress port of the second join message C2 is the second port corresponding to the first network slice by searching the unicast routing table, and the first node sends the second join message C2 through the second port. In another embodiment, the first node determines that the egress port of the second join message C2 is a physical port by searching the unicast routing table, and the physical port includes the second port corresponding to the first network slice (the second port is a logical port in the physical port), the first node determines the second port included in the physical port according to the first slice identifier, and the first node sends the second join message C2 through the second port.

[0104] S503. The first node obtains a forwarding table entry Z according to the multicast source group information W, the first port and the second port, where the forwarding table entry Z includes the multicast source group information W, the identifier of the first port and the identifier of the second port.

[0105] The first port and the second port described in S503 are both ports corresponding to the first network slice in the first node, and the identifier of the first port and the identifier of the second port can both be port numbers. The forwarding table entry Z is a multicast forwarding table entry. In the forwarding table entry Z, the first port is the egress port, and the second port is the ingress port. Therefore, the first port is the egress port of the multicast service corresponding to the multicast source group information W in the first node, and the second port is the ingress port of the multicast service corresponding to the multicast source group information W in the first node. In one embodiment, the first node obtains the identifier of the first port and the identifier of the second port in the first node, and the first node generates the forwarding table entry Z according to the multicast source group information W, the identifier of the first port, and the identifier of the second port.

[0106] In an example, the first port is identified as U-P1, the second port is identified as U-P2, and the forwarding table entry Z is shown in Table 4 below.

[0107] Table 4 (Forwarding Table Item Z)

[0108] Multicast source group information Ingress port (IIF) Outgoing Interface (OIF) W1 U-P2 U-P1

[0109] After the first node obtains the forwarding table entry Z, the first node subsequently forwards the multicast service corresponding to the multicast source group information W to the multicast receiving end according to the forwarding table entry Z. For example, the first node receives the multicast message including the multicast source group information W through the second port indicated by the port identifier "U-P2" (the second port is the port corresponding to the first network slice in the first node, that is, the slice port of the first network slice) according to the forwarding table entry Z shown in Table 4, and sends the multicast message including the multicast source group information W through the first port indicated by the port identifier "U-P1" (the first port is the port corresponding to the first network slice in the first node, that is, the slice port of the first network slice).

[0110] According to the technical solution provided by the embodiment of the present application, the first port and the second port in the first node are both ports in the first node corresponding to the first network slice. The first node generates a forwarding table entry including multicast source group information, an identifier of the first port and an identifier of the second port. This can facilitate the first node to forward the multicast service corresponding to the multicast source group information through the port corresponding to the first network slice according to the forwarding table entry, thereby helping to ensure the quality requirements of the multicast service, isolate the multicast service from other services, and realize flexible use of network resources.

[0111] The third embodiment: please refer to Figure 6 , which shows a flowchart of another multicast joining method provided in an embodiment of the present application. The multicast joining method is executed by the first node. In this embodiment, the first node is an intermediate node as an example. For example Figure 1 As shown, the first node (ie, the intermediate node) is the network node 120 or 130. Figure 6 The multicast joining method includes the following steps S601 to S606.

[0112] S601. The first node receives the first join message C1 sent by the second node through the first port. The first join message C1 includes multicast source group information W and a first slice identifier. The first slice identifier is used to identify the first network slice. The first port is the port corresponding to the first network slice.

[0113] The implementation process of S601 can refer to the implementation process of S501, which will not be described in detail here.

[0114] S602. The first node receives a third join message C3 sent by a third node through a third port. The third join message C3 includes multicast source group information W and a second slice identifier. The second slice identifier is used to identify a second network slice. The third port is a port corresponding to the second network slice.

[0115] The first node receives the third join message C3 sent by the third node through the third port in the first node, the third port is the port in the first node for communicating with the third node, the third port is the port corresponding to the second network slice, the third port is the slice port of the second network slice, and the third port is a logical port. The second network slice is a network slice deployed in the multicast network. For example, the second network slice is a network slice deployed in the multicast network according to the quality requirements of the multicast service corresponding to the multicast source group information W. Optionally, the second network slice is a network slice based on the second Flex-Algo, and the second network slice is bound to the forwarding plane defined by the second Flex-Algo. In other words, the second network slice is a network slice deployed in the forwarding plane of the second Flex-Algo. Since Flex-Algo can realize flexible utilization of network resources, the second network slice deployed in the forwarding plane of Flex-Algo can realize flexible utilization of network resources.

[0116] In the embodiment of the present application, the third join message C3 includes the multicast source group information W and the second slice identifier. For example, the third join message C3 is a PIM join message, and the third join message C3 includes a join attribute field, which is used to carry the second slice identifier. In one embodiment, the third join message C3 includes: Figure 3 The encoded source address field shown includes the added attribute field.

[0117] In an embodiment of the present application, the first node is an intermediate node, and the third node is a leaf node or an intermediate node connected between the first node and the leaf node. Figure 2 In the leaf node L in the embodiment shown, the third join message C3 is Figure 2 In the second joining message A2 in the embodiment shown, the second slice identifier is Figure 2 In the embodiment shown, the slice identifier 1, the second network slice is Figure 2 In another embodiment, the third node is connected to the first node and Figure 2 In the illustrated embodiment, the intermediate node between the leaf nodes L, the third join message C3 is a message sent by the third node based on Figure 2 In the embodiment shown, the second join message A2 is sent to the first node, and the second slice identifier may be Figure 2 The slice identifier 1 in the embodiment shown may not be the slice identifier 1. The second network slice may be Figure 2 The network slice 1 in the shown embodiment may not be the network slice 1, and the embodiment of the present application does not limit this.

[0118] In the embodiment of the present application, the second node is different from the third node, the first network slice is different from the second network slice, and the first slice identifier is different from the second slice identifier. Figure 1 As shown, the first node is network node 120, the second node is network node 140, and the third node is network node 150; the first join message C1 is sent by network node 140 to network node 120, and the first join message C1 is used for the multicast receiving end 310 to access the multicast source group identified by the multicast source group information W; the third join message C3 is sent by network node 150 to network node 120, and the third join message C3 is used for the multicast receiving end 320 or the multicast receiving end 330 to access the multicast source group identified by the multicast source group information W.

[0119] S603. The first node determines that the slice attributes carried by the third join message C3 conflict with the slice attributes carried by the first join message C1.

[0120] The first node parses the first join message C1 to determine that the first join message C1 includes multicast source group information W and a first slice identifier. The first node parses the third join message C3 to determine that the third join message C3 includes multicast source group information W and a second slice identifier. The first node determines that the multicast source group information included in the first join message C1 and the multicast source group information included in the third join message C3 are the same, and the slice identifier included in the first join message C1 and the slice identifier included in the third join message C3 are different. Therefore, the first node determines that the slice attributes carried by the third join message C3 conflict with the slice attributes carried by the first join message C1.

[0121] S604. The first node determines the first network slice based on the slice conflict resolution strategy.

[0122] When the first node determines that the slice attributes carried by the third join message C3 conflict with the slice attributes carried by the first join message C1, the first node determines the first network slice (or selects the first network slice) based on the slice conflict resolution strategy, the slice attributes carried by the first join message C1 (e.g., the first slice identifier), and the slice attributes carried by the third join message C3 (e.g., the second slice identifier). In an embodiment of the present application, the slice conflict resolution strategy includes at least one of a conflict resolution strategy based on a slice identifier and a conflict resolution strategy based on slice bandwidth. The first node adopts at least one of a conflict resolution strategy based on a slice identifier and a conflict resolution strategy based on slice bandwidth to determine the first network slice based on the slice attributes carried by the first join message C1 and the slice attributes carried by the third join message C3. In an optional embodiment, the conflict resolution strategy based on the slice identifier includes: determining a network slice with a smaller slice identifier or determining a network slice with a larger slice identifier. The conflict resolution strategy based on the slice bandwidth includes: determining a network slice with a smaller bandwidth or determining a network slice with a larger bandwidth.

[0123] In one embodiment, the slice conflict resolution strategy includes determining a network slice with a smaller slice identifier, the first slice identifier included in the first join message C1 and the second slice identifier included in the third join message C3 are both represented by numerical values, the first node determines the smaller slice identifier between the first slice identifier and the second slice identifier, and the first node selects the network slice identified by the smaller slice identifier. This embodiment is explained by taking the example that the first slice identifier is the smaller slice identifier between the first slice identifier and the second slice identifier, so the first node determines the first network slice.

[0124] In another embodiment, the slice conflict resolution strategy includes determining a network slice with a larger slice identifier, the first slice identifier included in the first join message C1 and the second slice identifier included in the third join message C3 are both represented by numerical values, the first node determines the larger slice identifier of the first slice identifier and the second slice identifier, and the first node selects the network slice identified by the larger slice identifier. This embodiment is explained by taking the example that the first slice identifier is the larger slice identifier of the first slice identifier and the second slice identifier, so the first node determines the first network slice.

[0125] In another embodiment, the slice conflict resolution strategy includes determining a network slice with a smaller bandwidth, the first node determines the bandwidth of the first network slice identified by the first slice identifier and the bandwidth of the second network slice identified by the second slice identifier, and the first node determines the network slice with a smaller bandwidth in the first network slice and the second network slice. This embodiment is explained by taking the first network slice as the network slice with a smaller bandwidth in the first network slice and the second network slice as an example, so the first node determines the first network slice.

[0126] In another embodiment, the slice conflict resolution strategy includes determining a network slice with a larger bandwidth, the first node determines the bandwidth of the first network slice identified by the first slice identifier and the bandwidth of the second network slice identified by the second slice identifier, and the first node determines the network slice with a larger bandwidth in the first network slice and the second network slice. This embodiment is explained by taking the first network slice as the network slice with a larger bandwidth in the first network slice and the second network slice as an example, so the first node determines the first network slice.

[0127] The slice conflict resolution strategy listed in the embodiment of the present application and the implementation method of the first node determining the network slice based on the slice conflict resolution strategy are only exemplary. In practical applications, the slice conflict resolution strategy may also include other contents, and the first node may also determine the network slice based on other slice conflict resolution strategies. For example, the slice conflict resolution strategy may also include a conflict resolution strategy based on port rate, and the first node may also use the conflict resolution strategy based on port rate to determine the network slice, which is not limited in the embodiment of the present application.

[0128] S605. The first node sends a second join message C2 through the second port, and the second join message C2 includes multicast source group information W and a first slice identifier. The second port is a port corresponding to the first network slice determined based on the first slice identifier.

[0129] The second port in the first node is the port corresponding to the first network slice, the second port is the slice port of the first network slice, and the second port is a logical port. Optionally, after the first node determines the first network slice based on the slice conflict resolution strategy, the first node generates a second join message C2 according to the multicast source group information W and the first slice identifier used to identify the first network slice, the first node determines the second port in the first node corresponding to the first network slice according to the first slice identifier, and the first node sends the second join message C2 through the second port. The second join message C2 includes the multicast source group information W and the first slice identifier. For example, the second join message C2 is a PIM join message. The second join message C2 includes Figure 3 The encoded source address field shown, the added attribute field in the encoded source address field is used to carry the first slice identifier.

[0130] In an optional embodiment, the first node determines the second port corresponding to the first network slice in the first node through RPF routing according to the first slice identifier. In a specific embodiment, the destination address of the second join message C2 is the address of the multicast source or the address of the RP, the first node searches the unicast routing table of the first node according to the destination address of the second join message C2 to determine the egress port of the second join message C2, and the first node determines the second port corresponding to the first network slice in the first node according to the search result and the first slice identifier. In one embodiment, the first node determines that the egress port of the second join message C2 is the second port corresponding to the first network slice by searching the unicast routing table, and the first node sends the second join message C2 through the second port. In another embodiment, the first node determines that the egress port of the second join message C2 is a physical port by searching the unicast routing table, and the physical port includes the second port corresponding to the first network slice (the second port is a logical port in the physical port), the first node determines the second port included in the physical port according to the first slice identifier, and the first node sends the second join message C2 through the second port.

[0131] S606. The first node obtains a forwarding entry V according to the multicast source group information W, the first port, the second port and the third port, wherein the forwarding entry V includes the multicast source group information W, the identifier of the first port, the identifier of the second port and the identifier of the third port.

[0132] The first port and the second port described in S606 are both ports corresponding to the first network slice in the first node, and the third port is a port corresponding to the second network slice in the first node. The identifier of the first port, the identifier of the second port, and the identifier of the third port can all be port numbers. The forwarding table entry V is a multicast forwarding table entry. In the forwarding table entry V, the first port and the third port are both egress ports, and the second port is an ingress port. Therefore, the first port and the third port are both egress ports of the multicast service corresponding to the multicast source group information W in the first node, and the second port is an ingress port of the multicast service corresponding to the multicast source group information W in the first node. In one embodiment, the first node obtains the identifier of the first port, the identifier of the second port, and the identifier of the third port in the first node, and the first node generates the forwarding table entry V according to the multicast source group information W, the identifier of the first port, the identifier of the second port, and the identifier of the third port. In an example, the first port is identified as U-P1, the second port is identified as U-P2, the third port is identified as U-P3, and the forwarding table entry V is shown in Table 5 below.

[0133] Table 5 (Forwarding Table Item V)

[0134]

[0135] After the first node obtains the forwarding table entry V, the first node subsequently forwards the multicast service corresponding to the multicast source group information W to the multicast receiving end according to the forwarding table entry V. For example, the first node receives the multicast message including the multicast source group information W through the second port indicated by the port identifier "U-P2" (the second port is the port corresponding to the first network slice in the first node, that is, the slice port of the first network slice) according to the forwarding table entry V shown in Table 5, and sends the multicast message including the multicast source group information W through the first port indicated by the port identifier "U-P1" (the first port is the port corresponding to the first network slice in the first node, that is, the slice port of the first network slice) and the third port indicated by the port identifier "U-P3" (the third port is the port corresponding to the second network slice in the first node, that is, the slice port of the second network slice).

[0136] According to the technical solution provided by the embodiment of the present application, the first port and the second port in the first node are both ports in the first node corresponding to the first network slice, the third port in the first node is the port in the first node corresponding to the second network slice, and the first node generates a forwarding table entry including multicast source group information, an identifier of the first port, an identifier of the second port, and an identifier of the third port. This allows the first node to forward the multicast service corresponding to the multicast source group information through the network slice according to the forwarding table entry, thereby ensuring the quality requirements of the multicast service, isolating the multicast service from other services, and realizing flexible use of network resources.

[0137] Leaf nodes in a multicast network can use Figure 2 The method described in the embodiment shown in the figure obtains a forwarding table entry for forwarding the multicast service corresponding to the multicast source group information W. The root node in the multicast network can use Figure 4 The method described in the embodiment shown in the figure obtains a forwarding table entry for forwarding the multicast service corresponding to the multicast source group information W. The intermediate node in the multicast network can adopt Figure 5 or Figure 6The method provided by the illustrated embodiment obtains a forwarding table entry for forwarding a multicast service corresponding to the multicast source group information W. These forwarding table entries obtained by the leaf nodes, root nodes, and intermediate nodes in the multicast network are also referred to as the multicast forwarding tree of the multicast service corresponding to the multicast source group information W. These forwarding table entries include information that can reach the multicast receiving end. The leaf nodes, intermediate nodes, and root nodes can all forward the multicast service corresponding to the multicast source group information W from the multicast source to the multicast receiving end according to these forwarding table entries. Therefore, after the leaf nodes, intermediate nodes, and root nodes all obtain these forwarding table entries for forwarding the multicast service corresponding to the multicast source group information W, the multicast receiving end successfully joins the multicast source group identified by the multicast source group information W. The forwarding table entries obtained by the leaf nodes, intermediate nodes, and root nodes all include ports corresponding to the network slices, so these forwarding table entries are all associated with the network slices, and the leaf nodes, intermediate nodes, and root nodes can forward the multicast service through the network slices according to these forwarding table entries.

[0138] To facilitate understanding of the technical solutions of the embodiments of the present application, the technical solutions of the embodiments of the present application are introduced below with two specific examples.

[0139] First example: Please refer to Figure 7 , which shows a schematic diagram of a multicast joining method provided by an embodiment of the present application. Figure 7 As shown, network node 110 is a root node, network nodes 140 to 160 are leaf nodes, and network nodes 120 to 130 are intermediate nodes. Port P13 of network node 110 is connected to multicast source 200, and multicast source 200 accesses multicast network 100 through network node 110. Port P41 of network node 140 is connected to multicast receiving terminal 310, and multicast receiving terminal 310 accesses multicast network 100 through network node 140. Port P51 of network node 150 is connected to multicast receiving terminal 320, and port P52 of network node 150 is connected to multicast receiving terminal 330, and multicast receiving terminals 320 to 330 access multicast network 100 through network node 150. Port P61 of network node 160 is connected to multicast receiving terminal 340, and multicast receiving terminal 340 accesses multicast network 100 through network node 160. Multicast source 200 is used to provide multicast service 1. Network slice 1 and network slice 2 are deployed in multicast network 100. Network slice 1 and network slice 2 are both network slices for multicast service 1. Network slice 1 and network slice 2 are both used to forward multicast service 1. The slice port of network slice 1 is port x.1, and the slice port of network slice 2 is port x.2. In each network node, port x.1 (also slice port x.1) and port x.2 (also slice port x.2) can be different logical ports in the same physical port, or logical ports in different physical ports. Figure 7As shown, the port corresponding to network slice 1 in network node 110 (that is, slice port x.1) includes port P11 and port P12; the port corresponding to network slice 1 in network node 120 (that is, slice port x.1) includes port P21 and port P23, and the port corresponding to network slice 2 in network node 120 (that is, slice port x.2) includes port P22; the port corresponding to network slice 1 in network node 130 (that is, slice port x.1) includes port P31 and port P32; the port corresponding to network slice 1 in network node 140 (that is, slice port x.1) includes port P42; the port corresponding to network slice 2 in network node 150 (that is, slice port x.2) includes port P53; the port corresponding to network slice 1 in network node 160 (that is, slice port x.1) includes port P62. Figure 7 Only some of the slice ports of network nodes 110 to 160 are marked. In the first example, each of network nodes 110 to 160 includes a slice port x.1 corresponding to network slice 1 and a slice port x.2 corresponding to network slice 2. The port in any network node leading to another network node includes a slice port x.1 corresponding to network slice 1 and a slice port x.2 corresponding to network slice 2. For example, Figure 7 Only the slice port x.1 in the network node 120 leading to the network node 110 is shown, and the network node 120 also includes a slice port x.2 leading to the network node 110.

[0140] For example, the slice identifier of network slice 1 is "1", the slice identifier of network slice 2 is "2", the bandwidth of network slice 1 (that is, the bandwidth of port x.1) is 10M, and the bandwidth of network slice 2 (that is, the bandwidth of port x.2) is 20M. The relevant information of network slice 1 and the relevant information of network slice 2 are shown in Table 6 below.

[0141] Table 6

[0142]

[0143]

[0144] For example, the multicast source group information of multicast service 1 is (S1, G1), network node 140 and network node 160 both include a mapping relationship between the multicast source group information (S1, G1) of multicast service 1 and the slice identifier of network slice 1 as "1" (for example, referred to as mapping relationship 1), and network node 150 includes a mapping relationship between the multicast source group information (S1, G1) of multicast service 1 and the slice identifier of network slice 2 as "2" (for example, referred to as mapping relationship 2), mapping relationship 1 is shown in Table 7 below, and mapping relationship 2 is shown in Table 8 below.

[0145] Table 7 (mapping relationship 1)

[0146] Multicast source group information Slice identification (S1,G1) 1

[0147] Table 8 (mapping relationship 2)

[0148] Multicast source group information Slice identification (S1,G1) 2

[0149] The multicast receiving ends 310-340 can request to join the multicast source group corresponding to the multicast service 1 by sending a multicast join message corresponding to the multicast service 1 to the multicast network 100. The multicast join message corresponding to the multicast service 1 includes the multicast source group information (S1, G1) of the multicast service 1. The network nodes 110-160 in the multicast network 100 respectively obtain the forwarding table entries (i.e., the multicast forwarding table entries, the multicast forwarding tree) for forwarding the multicast service 1 according to the ports for sending and receiving the multicast join messages and the multicast source group information (S1, G1) included in the multicast join messages, so as to enable the multicast receiving ends 310-340 to join the multicast source group corresponding to the multicast service 1.

[0150] The following describes a process in which the multicast receiving terminals 310 to 340 join the multicast source group corresponding to the multicast service 1.

[0151] The multicast receiving end 310 sends a multicast join message 310 to the network node 140, and the multicast join message 310 includes the multicast source group information (S1, G1). The network node 140 receives the multicast join message 310 through the port P41. The network node 140 obtains the slice identifier "1" according to the multicast source group information (S1, G1) included in the multicast join message 310 and the above-mentioned mapping relationship 1. The network node 140 generates a multicast join message 140 according to the multicast source group information (S1, G1) and the slice identifier "1", and the multicast join message 140 includes the multicast source group information (S1, G1) and the slice identifier "1". The network node 140 sends the multicast join message 140 through port P42 (the network node 140 checks the unicast routing table according to the destination address of the multicast join message 140 to determine that the egress port of the multicast join message 140 is port P42, so the multicast join message 140 is sent through port P42; or, the network node 140 checks the unicast routing table according to the destination address of the multicast join message 140 to determine that the egress port of the multicast join message 140 is a physical port, and the physical port includes port P42 corresponding to network slice 1. The network node 140 determines the port P42 included in the physical port according to the slice identifier "1", so the network node 140 sends the multicast join message 140 through port P42). The network node 140 generates the multicast forwarding table entries shown in Table 9 below according to the multicast source group information (S1, G1), the port P41 at which the network node 140 receives the multicast join message 310, and the port P42 at which the network node 140 sends the multicast join message 140.

[0152] Table 9

[0153] Multicast source group information Ingress port (IIF) Outgoing Interface (OIF) (S1,G1) P42(x.1) P41

[0154] The multicast receiving end 320 sends a multicast join message 320 to the network node 150, and the multicast receiving end 330 sends a multicast join message 330 to the network node 150. Both the multicast join message 320 and the multicast join message 330 include multicast source group information (S1, G1). The network node 150 receives the multicast join message 320 through the port P51, and the network node 150 obtains the slice identifier "2" according to the multicast source group information (S1, G1) included in the multicast join message 320 and the above-mentioned mapping relationship 2. The network node 150 receives the multicast join message 330 through the port P52, and the network node 150 obtains the slice identifier "2" according to the multicast source group information (S1, G1) included in the multicast join message 330 and the above-mentioned mapping relationship 2. The network node 150 generates a multicast join message 150 according to the multicast source group information (S1, G1) and the slice identifier "2", and the multicast join message 150 includes the multicast source group information (S1, G1) and the slice identifier "2". The network node 150 sends the multicast join message 150 through port P53 (the network node 150 checks the unicast routing table according to the destination address of the multicast join message 150 to determine that the egress port of the multicast join message 150 is port P53, so the multicast join message 150 is sent through port P53; or, the network node 150 checks the unicast routing table according to the destination address of the multicast join message 150 to determine that the egress port of the multicast join message 150 is a physical port, and the physical port includes port P53 corresponding to network slice 2. The network node 150 determines the port P53 included in the physical port according to the slice identifier "2", so the network node 150 sends the multicast join message 150 through port P53). The network node 150 generates the multicast forwarding table entries shown in Table 10 below based on the multicast source group information (S1, G1), the port P51 at which the network node 150 receives the multicast join message 320, the port P52 at which the network node 150 receives the multicast join message 330, and the port P53 at which the network node 150 sends the multicast join message 150.

[0155] Table 10

[0156]

[0157] The multicast receiving end 340 sends a multicast join message 340 to the network node 160, and the multicast join message 340 includes the multicast source group information (S1, G1). The network node 160 receives the multicast join message 340 through the port P61. The network node 160 obtains the slice identifier "1" according to the multicast source group information (S1, G1) included in the multicast join message 340 and the above-mentioned mapping relationship 1. The network node 160 generates a multicast join message 160 according to the multicast source group information (S1, G1) and the slice identifier "1". The multicast join message 160 includes the multicast source group information (S1, G1) and the slice identifier "1". The network node 160 sends the multicast join message 160 through port P62 (the network node 160 checks the unicast routing table according to the destination address of the multicast join message 160 to determine that the egress port of the multicast join message 160 is port P62, so the multicast join message 160 is sent through port P62; or, the network node 160 checks the unicast routing table according to the destination address of the multicast join message 160 to determine that the egress port of the multicast join message 160 is a physical port, and the physical port includes the port P62 corresponding to the network slice 1. The network node 160 determines the port P62 included in the physical port according to the slice identifier "1", so the network node 160 sends the multicast join message 160 through port P62). The network node 160 generates the multicast forwarding table entries shown in Table 11 below according to the multicast source group information (S1, G1), the port P61 at which the network node 160 receives the multicast join message 340, and the port P62 at which the network node 160 sends the multicast join message 160.

[0158] Table 11

[0159] Multicast source group information Ingress port (IIF) Outgoing Interface (OIF) (S1,G1) P62(x.1) P61

[0160] The network node 120 receives the multicast join message 140 through the port P21. The network node 120 receives the multicast join message 150 through the port P22. The network node 120 parses the multicast join message 140 and the multicast join message 150 and finds that the multicast source group information included in the multicast join message 140 is the same as the multicast source group information included in the multicast join message 150, and the slice identifier included in the multicast join message 140 is different from the slice identifier included in the multicast join message 150. The network node 120 determines that the multicast join message 140 and the multicast join message 150 have a slice attribute conflict. The network node 120 determines the network slice 1 based on the slice conflict resolution strategy. The network node 120 generates the multicast join message 120 according to the multicast source group information (S1, G1) and the slice identifier "1" of the network slice 1. The multicast join message 120 includes the multicast source group information (S1, G1) and the slice identifier "1". The network node 120 sends the multicast join message 120 through port P23 (the network node 120 checks the unicast routing table according to the destination address of the multicast join message 120 to determine that the egress port of the multicast join message 120 is port P23, so the multicast join message 120 is sent through port P23; or, the network node 120 checks the unicast routing table according to the destination address of the multicast join message 120 to determine that the egress port of the multicast join message 120 is a physical port, and the physical port includes the port P23 corresponding to the network slice 1. The network node 120 determines the port P23 included in the physical port according to the slice identifier "1", so the network node 120 sends the multicast join message 120 through port P23). The network node 120 generates a multicast forwarding table entry as shown in Table 12 below based on the multicast source group information (S1, G1), the port P21 at which the network node 120 receives the multicast join message 140, the port P22 at which the network node 120 receives the multicast join message 150, and the port P23 at which the network node 120 sends the multicast join message 120.

[0161] Table 12

[0162]

[0163] The network node 130 receives the multicast join message 160 through the port P31. The network node 130 parses the multicast join message 160 and finds that the multicast join message 160 includes the multicast source group information (S1, G1) and the slice identifier "1". The network node 130 generates the multicast join message 130 according to the multicast source group information (S1, G1) and the slice identifier "1". The multicast join message 130 includes the multicast source group information (S1, G1) and the slice identifier "1". The network node 130 sends the multicast join message 130 through port P32 (the network node 130 checks the unicast routing table according to the destination address of the multicast join message 130 to determine that the egress port of the multicast join message 130 is port P32, so the multicast join message 130 is sent through port P32; or, the network node 130 checks the unicast routing table according to the destination address of the multicast join message 130 to determine that the egress port of the multicast join message 130 is a physical port, and the physical port includes port P32 corresponding to network slice 1. The network node 130 determines the port P32 included in the physical port according to the slice identifier "1", so the network node 130 sends the multicast join message 130 through port P32). The network node 130 generates the multicast forwarding table entries shown in Table 13 below according to the multicast source group information (S1, G1), the port P31 at which the network node 130 receives the multicast join message 160, and the port P32 at which the network node 130 sends the multicast join message 130.

[0164] Table 13

[0165] Multicast source group information Ingress port (IIF) Outgoing Interface (OIF) (S1,G1) P32(x.1) P31(x.1)

[0166] The network node 110 receives the multicast join message 120 through the port P11. The network node 110 receives the multicast join message 130 through the port P12. The network node 110 parses the multicast join message 120 and the multicast join message 130 and finds that the multicast source group information included in the multicast join message 120 is the same as the multicast source group information included in the multicast join message 130, and the slice identifier included in the multicast join message 120 is the same as the slice identifier included in the multicast join message 130. The network node 110 determines that there is no slice attribute conflict between the multicast join message 120 and the multicast join message 130. The network node 110 checks the unicast routing table according to the destination address of the multicast join message 120 to determine that the outgoing port is port P13 (it can also check the unicast routing table according to the destination address of the multicast join message 130, and the determined outgoing port is still port P13). The network node 110 generates a multicast forwarding table entry as shown in Table 14 below according to the multicast source group information (S1, G1), the port P11 at which the network node 110 receives the multicast join message 120, and the ports P12 and P13 at which the network node 110 receives the multicast join message 130.

[0167] Table 14

[0168]

[0169] After the above process, network nodes 110~160 establish a multicast forwarding tree corresponding to multicast service 1 from multicast source 220 to multicast receiving ends 310~340 (the multicast forwarding tree is represented in the network node as the above-mentioned multicast forwarding table item), and the multicast forwarding tree is bound to network slice 1 and network slice 2. Subsequently, the multicast stream belonging to multicast service 1 sent from multicast source 220 to multicast receiving ends 310~340 is forwarded along the multicast forwarding tree, which can realize the forwarding of the multicast stream of multicast service 1 through network slice 1 and network slice 2, realize the isolation of multicast service 1 from other services, and ensure the transmission bandwidth of multicast service 1, thereby ensuring the transmission quality of multicast service 1.

[0170] In the first example, the multicast source group information (S1, G1) may be the multicast source group information W in the above embodiment, the multicast service 1 is the multicast service corresponding to the multicast source group information W, the network slice 1 is the first network slice in the above embodiment, and the network slice 2 is the second network slice in the above embodiment. In an optional implementation, the multicast receiving end 310 is the multicast receiving end R in the above embodiment, the network node 140 is the leaf node L in the above embodiment, the multicast join message 310 is the first join message A1 in the above embodiment, and the multicast join message 140 is the second join message A2 in the above embodiment; the network node 120 is the first node in the above embodiment, the multicast join message 140 is the first join message C1 in the above embodiment, the multicast join message 150 is the third join message C3 in the above embodiment, and the multicast join message 120 is the second join message C2 in the above embodiment; or, the network node 110 is the first node in the above embodiment, and the multicast join message 120 is the first join message C1 in the above embodiment. In another optional implementation, the multicast receiving end 320 or the multicast receiving end 330 is the multicast receiving end R in the above embodiment, the network node 150 is the leaf node L in the above embodiment, the multicast join message 320 or the multicast join message 330 is the first join message A1 in the above embodiment, and the multicast join message 150 is the second join message A2 in the above embodiment; the network node 120 is the first node in the above embodiment, the multicast join message 140 is the first join message C1 in the above embodiment, the multicast join message 150 is the third join message C3 in the above embodiment, and the multicast join message 120 is the second join message C2 in the above embodiment; or, the network node 110 is the first node in the above embodiment, and the multicast join message 120 is the first join message C1 in the above embodiment. In another optional implementation, the multicast receiving end 340 is the multicast receiving end R in the above embodiment, the network node 160 is the leaf node L in the above embodiment, the multicast join message 340 is the first join message A1 in the above embodiment, and the multicast join message 160 is the second join message A2 in the above embodiment; the network node 130 is the first node in the above embodiment, the multicast join message 160 is the first join message C1 in the above embodiment, and the multicast join message 130 is the second join message C2 in the above embodiment; or, the network node 110 is the first node in the above embodiment, and the multicast join message 130 is the first join message C1 in the above embodiment. The embodiments of the present application are not limited to this.

[0171] Second example: Please refer to Figure 8 , which shows a schematic diagram of another multicast joining method provided by an embodiment of the present application. Figure 8As shown, network node 110 is a root node, network nodes 140 to 160 are leaf nodes, and network nodes 120 to 130 are intermediate nodes. Port P13 of network node 110 is connected to multicast source 200, and multicast source 200 accesses multicast network 100 through network node 110. Port P41 of network node 140 is connected to multicast receiving terminal 310, and multicast receiving terminal 310 accesses multicast network 100 through network node 140. Port P51 of network node 150 is connected to multicast receiving terminal 320, and port P52 of network node 150 is connected to multicast receiving terminal 330, and multicast receiving terminals 320 to 330 access multicast network 100 through network node 150. Port P61 of network node 160 is connected to multicast receiving terminal 340, and multicast receiving terminal 340 accesses multicast network 100 through network node 160. Multicast source 200 is used to provide multicast service 1 and multicast service 2. Flex-Algo1, Flex-Algo2, network slice 1 and network slice 2 are deployed in multicast network 100. The forwarding plane defined by Flex-Algo1 includes network nodes 110, 120, 130, 140 and 160, and network slice 1 is bound to the forwarding plane based on Flex-Algo1 (the forwarding plane based on Flex-Algo1 is also the forwarding plane defined by Flex-Algo1, and network slice 1 is the network slice deployed in the forwarding plane defined by Flex-Algo1). The forwarding plane defined by Flex-Algo2 includes network nodes 110, 120 and 150, and network slice 2 is bound to the forwarding plane based on Flex-Algo2 (the forwarding plane based on Flex-Algo2 is also the forwarding plane defined by Flex-Algo2, and network slice 2 is the network slice deployed in the forwarding plane defined by Flex-Algo2). Network slice 1 is a network slice for multicast service 1, and network slice 1 is used to forward multicast service 1. Network slice 2 is a network slice for multicast service 2, and is used to forward multicast service 2. The slice port of network slice 1 is port x.1, and the slice port of network slice 2 is port x.2. In each network node, port x.1 (also slice port x.1) and port x.2 (also slice port x.2) are different logical ports in the same physical port or logical ports in different physical ports. Figure 8As shown, the port corresponding to network slice 1 in network node 110 (that is, slice port x.1) includes port P11 and port P12, and the port corresponding to network slice 2 in network node 110 (that is, slice port x.2) includes port P14; the port corresponding to network slice 1 in network node 120 (that is, slice port x.1) includes port P21 and port P23, and the port corresponding to network slice 2 in network node 120 (that is, slice port x.2) includes port P22 and port P24; the port corresponding to network slice 1 in network node 130 (that is, slice port x.1) includes port P31 and port P32; the port corresponding to network slice 1 in network node 140 (that is, slice port x.1) includes port P42; the port corresponding to network slice 2 in network node 150 (that is, slice port x.2) includes port P53; the port corresponding to network slice 1 in network node 160 (that is, slice port x.1) includes port P62.

[0172] For example, the slice identifier of network slice 1 is "1", the slice identifier of network slice 2 is "2", the bandwidth of network slice 1 (that is, the bandwidth of port x.1) is 10M, and the bandwidth of network slice 2 (that is, the bandwidth of port x.2) is 20M. The relevant information of network slice 1 and the relevant information of network slice 2 are shown in Table 15 below.

[0173] Table 15

[0174] Slice port (port) Slice identification bandwidth Flex-Algo x.1 1 10M Flex-Algo1 x.2 2 20M Flex-Algo2

[0175] As shown in Table 15, the slice identifier "1" corresponds to Flex-Algo, indicating that the network slice 1 identified by the slice identifier "1" is a network slice deployed in the forwarding plane defined by Flex-Algo. The slice identifier "2" corresponds to Flex-Algo2, indicating that the network slice 2 identified by the slice identifier "2" is a network slice deployed in the forwarding plane defined by Flex-Algo2.

[0176] For example, the multicast source group information of multicast service 1 is (S1, G1), the multicast source group information of multicast service 2 is (S2, G2), network node 140 and network node 160 include a mapping relationship between the multicast source group information (S1, G1) and the slice identifier "1" (for example, called mapping relationship 3), and network node 150 includes a mapping relationship between the multicast source group information (S2, G2) and the slice identifier "2" (for example, called mapping relationship 4), mapping relationship 3 is shown in Table 16 below, and mapping relationship 4 is shown in Table 17 below.

[0177] Table 16 (mapping relationship 3)

[0178] Multicast source group information Slice identification (S1,G1) 1

[0179] Table 17 (mapping relationship 4)

[0180] Multicast source group information Slice identification (S2,G2) 2

[0181] The multicast receiving ends 310 and 340 can request to join the multicast source group corresponding to the multicast service 1 by sending a multicast join message corresponding to the multicast service 1 to the multicast network 100. The multicast join message corresponding to the multicast service 1 includes the multicast source group information (S1, G1) of the multicast service 1. The network nodes 110, 120, 130, 140 and 160 in the multicast network 100 (network nodes in the forwarding plane defined by Flex-Algo1) respectively obtain the forwarding table entries (i.e., multicast forwarding table entries, multicast forwarding trees) used to forward the multicast service 1 according to the ports for sending and receiving the multicast join messages and the multicast source group information (S1, G1) included in the multicast join messages, thereby enabling the multicast receiving ends 310 and 340 to join the multicast source group corresponding to the multicast service 1. The multicast receiving ends 320 and 330 can request to join the multicast source group corresponding to the multicast service 2 by sending a multicast join message corresponding to the multicast service 2 to the multicast network 100. The multicast join message corresponding to the multicast service 2 includes the multicast source group information (S2, G2) of the multicast service 2. The network nodes 110, 120 and 150 in the multicast network 100 (network nodes in the forwarding plane defined by Flex-Algo2) respectively obtain the forwarding table entries (i.e., multicast forwarding table entries, multicast forwarding trees) used to forward the multicast service 2 according to the ports for sending and receiving the multicast join messages and the multicast source group information (S2, G2) included in the multicast join messages, thereby enabling the multicast receiving ends 320 and 330 to join the multicast source group corresponding to the multicast service 2.

[0182] The following describes a process in which multicast receiving terminals 310 and 340 join the multicast source group corresponding to multicast service 1, and a process in which multicast receiving terminals 320 and 330 join the multicast source group corresponding to multicast service 2.

[0183] The multicast receiving end 310 sends a multicast join message 310 to the network node 140, and the multicast join message 310 includes the multicast source group information (S1, G1). The network node 140 receives the multicast join message 310 through the port P41. The network node 140 obtains the slice identifier "1" according to the multicast source group information (S1, G1) included in the multicast join message 310 and the above-mentioned mapping relationship 3. The network node 140 generates a multicast join message 140 according to the multicast source group information (S1, G1) and the slice identifier "1", and the multicast join message 140 includes the multicast source group information (S1, G1) and the slice identifier "1". The network node 140 sends the multicast join message 140 through port P42 (the network node 140 checks the unicast routing table according to the destination address of the multicast join message 140 to determine that the egress port of the multicast join message 140 is port P42, so the multicast join message 140 is sent through port P42; or, the network node 140 checks the unicast routing table according to the destination address of the multicast join message 140 to determine that the egress port of the multicast join message 140 is a physical port, and the physical port includes port P42 corresponding to network slice 1. The network node 140 determines the port P42 included in the physical port according to the slice identifier "1", so the multicast join message 140 is sent through port P42). The network node 140 generates the multicast forwarding table entries shown in Table 18 below according to the multicast source group information (S1, G1), the port P41 at which the network node 140 receives the multicast join message 310, and the port P42 at which the network node 140 sends the multicast join message 140.

[0184] Table 18

[0185] Multicast source group information Ingress port (IIF) Outgoing Interface (OIF) (S1,G1) P42(x.1) P41

[0186] The multicast receiving end 320 sends a multicast join message 320 to the network node 150, and the multicast receiving end 330 sends a multicast join message 330 to the network node 150. Both the multicast join message 320 and the multicast join message 330 include multicast source group information (S2, G2). The network node 150 receives the multicast join message 320 through the port P51, and the network node 150 obtains the slice identifier "2" according to the multicast source group information (S2, G2) included in the multicast join message 320 and the above-mentioned mapping relationship 4. The network node 150 receives the multicast join message 330 through the port P52, and the network node 150 obtains the slice identifier "2" according to the multicast source group information (S2, G2) included in the multicast join message 330 and the above-mentioned mapping relationship 4. The network node 150 generates a multicast join message 150 according to the multicast source group information (S2, G2) and the slice identifier "2", and the multicast join message 150 includes the multicast source group information (S2, G2) and the slice identifier "2". The network node 150 sends the multicast join message 150 through port P53 (the network node 150 checks the unicast routing table according to the destination address of the multicast join message 150 to determine that the egress port of the multicast join message 150 is port P53, so the multicast join message 150 is sent through port P53; or, the network node 150 checks the unicast routing table according to the destination address of the multicast join message 150 to determine that the egress port of the multicast join message 150 is a physical port, and the physical port includes port P53 corresponding to network slice 2. The network node 150 determines the port P53 included in the physical port according to the slice identifier "2", so the multicast join message 150 is sent through port P53). Network node 150 generates a multicast forwarding table entry as shown in Table 19 below based on the multicast source group information (S2, G2), port P51 at which network node 150 receives multicast join message 320, port P52 at which network node 150 receives multicast join message 330, and port P53 at which network node 150 sends multicast join message 150.

[0187] Table 19

[0188]

[0189] The multicast receiving end 340 sends a multicast join message 340 to the network node 160, and the multicast join message 340 includes the multicast source group information (S1, G1). The network node 160 receives the multicast join message 340 through the port P61. The network node 160 obtains the slice identifier "1" according to the multicast source group information (S1, G1) included in the multicast join message 340 and the above-mentioned mapping relationship 3. The network node 160 generates a multicast join message 160 according to the multicast source group information (S1, G1) and the slice identifier "1". The multicast join message 160 includes the multicast source group information (S1, G1) and the slice identifier "1". The network node 160 sends the multicast join message 160 through port P62 (the network node 160 checks the unicast routing table according to the destination address of the multicast join message 160 to determine that the egress port of the multicast join message 160 is port P62, so the multicast join message 160 is sent through port P62; or, the network node 160 checks the unicast routing table according to the destination address of the multicast join message 160 to determine that the egress port of the multicast join message 160 is a physical port, and the physical port includes port P62 corresponding to network slice 1. The network node 160 determines that the physical port includes port P62 according to the slice identifier "1", so the multicast join message 160 is sent through port P63). The network node 160 generates the multicast forwarding table entries shown in Table 20 below according to the multicast source group information (S1, G1), the port P61 at which the network node 160 receives the multicast join message 340, and the port P62 at which the network node 160 sends the multicast join message 160.

[0190] Table 20

[0191]

[0192]

[0193] The network node 120 receives the multicast join message 140 through the port P21. The network node 120 parses the multicast join message 140 and finds that the multicast join message 140 includes the multicast source group information (S1, G1) and the slice identifier "1". The network node 120 generates a multicast join message 1201 according to the multicast source group information (S1, G1) and the slice identifier "1", and the multicast join message 1201 includes the multicast source group information (S1, G1) and the slice identifier "1". The network node 120 sends a multicast join message 1201 through port P23 (the network node 120 checks the unicast routing table according to the destination address of the multicast join message 1201 to determine that the egress port of the multicast join message 1201 is port P23, so the multicast join message 1201 is sent through port P23; or, the network node 120 checks the unicast routing table according to the destination address of the multicast join message 1201 to determine that the egress port of the multicast join message 1201 is a physical port, and the physical port includes port P23 corresponding to network slice 1. The network node 120 determines that the physical port includes port P23 according to the slice identifier "1", so the multicast join message 1201 is sent through port P23). The network node 120 generates the multicast forwarding table entries shown in Table 21 below according to the multicast source group information (S1, G1), the port P21 at which the network node 120 receives the multicast join message 140, and the port P23 at which the network node 120 sends the multicast join message 1201.

[0194] Table 21

[0195] Multicast source group information Ingress port (IIF) Outgoing Interface (OIF) (S1,G1) P23(x.1) P21(x.1)

[0196] The network node 120 receives the multicast join message 150 through the port P22. The network node 120 parses the multicast join message 150 and finds that the multicast join message 150 includes the multicast source group information (S2, G2) and the slice identifier "2". The network node 120 generates a multicast join message 1202 according to the multicast source group information (S2, G2) and the slice identifier "2", and the multicast join message 1202 includes the multicast source group information (S2, G2) and the slice identifier "2". The network node 120 sends a multicast join message 1202 through port P24 (the network node 120 checks the unicast routing table according to the destination address of the multicast join message 1202 to determine that the egress port of the multicast join message 1202 is port P24, so the multicast join message 1202 is sent through port P24; or, the network node 120 checks the unicast routing table according to the destination address of the multicast join message 1202 to determine that the egress port of the multicast join message 1202 is a physical port, and the physical port includes port P24 corresponding to network slice 2. The network node 120 determines that the physical port includes port P24 according to the slice identifier "2", so the multicast join message 1202 is sent through port P24). The network node 120 generates the multicast forwarding table entries shown in Table 22 below according to the multicast source group information (S2, G2), the port P22 at which the network node 120 receives the multicast join message 150, and the port P24 at which the network node 120 sends the multicast join message 1202.

[0197] Table 22

[0198] Multicast source group information Ingress port (IIF) Outgoing Interface (OIF) (S2,G2) P24(x.2) P22(x.2)

[0199] The network node 130 receives the multicast join message 160 through the port P31. The network node 130 parses the multicast join message 160 and finds that the multicast join message 160 includes the multicast source group information (S1, G1) and the slice identifier "1". The network node 130 generates the multicast join message 130 according to the multicast source group information (S1, G1) and the slice identifier "1", and the multicast join message 130 includes the multicast source group information (S1, G1) and the slice identifier "1". The network node 130 sends the multicast join message 130 through port P32 (the network node 130 checks the unicast routing table according to the destination address of the multicast join message 130 to determine that the egress port of the multicast join message 130 is port P32, so the multicast join message 130 is sent through port P32; or, the network node 130 checks the unicast routing table according to the destination address of the multicast join message 130 to determine that the egress port of the multicast join message 130 is a physical port, and the physical port includes port P32 corresponding to network slice 1. The network node 130 determines the port P32 included in the physical port according to the slice identifier "1", so the multicast join message 130 is sent through port P32). The network node 130 generates the multicast forwarding table entries shown in Table 23 below according to the multicast source group information (S1, G1), the port P31 at which the network node 130 receives the multicast join message 160, and the port P32 at which the network node 130 sends the multicast join message 130.

[0200] Table 23

[0201] Multicast source group information Ingress port (IIF) Outgoing Interface (OIF) (S1,G1) P32(x.1) P31(x.1)

[0202] The network node 110 receives the multicast join message 1201 through the port P11. The network node 110 receives the multicast join message 130 through the port P12. The network node 110 parses the multicast join message 1201 and the multicast join message 130 and finds that the multicast source group information included in the multicast join message 1201 is the same as the multicast source group information included in the multicast join message 130, and the slice identifier included in the multicast join message 1201 is the same as the slice identifier included in the multicast join message 130. The network node 110 determines that there is no slice attribute conflict between the multicast join message 1201 and the multicast join message 130. The network node 110 checks the unicast routing table according to the destination address of the multicast join message 1201 and determines that the outgoing port is port P13 (it can also check the unicast routing table according to the destination address of the multicast join message 130, and the determined outgoing port is still port P13). The network node 110 generates a multicast forwarding table entry as shown in Table 24 below based on the multicast source group information (S1, G1), the port P11 at which the network node 110 receives the multicast join message 1201, and the ports P12 and P13 at which the network node 110 receives the multicast join message 130.

[0203] Table 24

[0204]

[0205] The network node 110 receives the multicast join message 1202 through the port P14. The network node 110 checks the unicast routing table according to the destination address of the multicast join message 1202 to determine that the outgoing port is the port P13. The network node 110 generates the multicast forwarding table entry shown in the following Table 25 according to the multicast source group information (S2, G2) included in the multicast join message 1202, the port P14 and the port P13 at which the network node 110 receives the multicast join message 1202.

[0206] Table 25

[0207] Multicast source group information Ingress port (IIF) Outgoing Interface (OIF) (S2,G2) P13 P14(x.2)

[0208] After the above process, network nodes 110, 120, 130, 140 and 160 establish a multicast forwarding tree 1 corresponding to multicast service 1 from multicast source 220 to multicast receiving ends 310 and 340 (the multicast forwarding tree is represented in the network node as the above-mentioned multicast forwarding table item), and the multicast forwarding tree 1 is bound to network slice 1. Subsequently, the multicast stream belonging to multicast service 1 sent from multicast source 220 to multicast receiving ends 310 and 340 is forwarded along the multicast forwarding tree 1, so that the multicast stream of multicast service 1 can be forwarded through network slice 1. The network nodes 110, 120 and 150 establish a multicast forwarding tree 2 corresponding to the multicast service 2 from the multicast source 220 to the multicast receiving terminals 310 and 340. The multicast forwarding tree 2 is bound to the network slice 2. The multicast streams belonging to the multicast service 2 sent from the multicast source 220 to the multicast receiving terminals 320 and 330 are subsequently forwarded along the multicast forwarding tree 2, so that the multicast streams of the multicast service 2 can be forwarded through the network slice 2. This embodiment can achieve the isolation of the multicast service 1 from the multicast service 2, and ensure the transmission bandwidth and quality of the multicast service 1 and the multicast service 2. In addition, in this embodiment, since the network slice 1 is bound to the forwarding plane based on Flex-Algo1, and the network slice 2 is bound to the forwarding plane based on Flex-Algo2, the multicast stream of the multicast service 1 is forwarded through the forwarding plane based on Flex-Algo1, and the multicast stream of the multicast service 2 is forwarded through the forwarding plane based on Flex-Algo2. This embodiment can achieve different multicast services using different Flex-Algo forwarding planes.

[0209] Optionally, in the second example, the multicast source group information (S1, G1) is the multicast source group information W in the above embodiment, the multicast service 1 is the multicast service corresponding to the multicast source group information W, and the network slice 1 is the first network slice in the above embodiment. In an optional implementation, the multicast receiving end 310 is the multicast receiving end R in the above embodiment, the network node 140 is the leaf node L in the above embodiment, the multicast join message 310 is the first join message A1 in the above embodiment, and the multicast join message 140 is the second join message A2 in the above embodiment; the network node 120 is the first node in the above embodiment, the multicast join message 140 is the first join message C1 in the above embodiment, and the multicast join message 1201 is the second join message C2 in the above embodiment; or, the network node 110 is the first node in the above embodiment, and the multicast join message 1201 is the first join message C1 in the above embodiment. In another optional implementation, the multicast receiving end 340 is the multicast receiving end R in the above embodiment, the network node 160 is the leaf node L in the above embodiment, the multicast join message 340 is the first join message A1 in the above embodiment, and the multicast join message 160 is the second join message A2 in the above embodiment; the network node 130 is the first node in the above embodiment, the multicast join message 160 is the first join message C1 in the above embodiment, and the multicast join message 130 is the second join message C2 in the above embodiment; or, the network node 110 is the first node in the above embodiment, and the multicast join message 130 is the first join message C1 in the above embodiment.

[0210] The above is an introduction to the method embodiment of the present application. The following is an introduction to the device embodiment of the present application. The device of the present application can be used to execute the method of the present application. For details not disclosed in the device embodiment of the present application, please refer to the method embodiment.

[0211] Please refer to Fig. 9 , which shows a schematic diagram of a multicast joining device 900 provided in an embodiment of the present application. The multicast joining device 900 is applied to a leaf node or a first node. For example, the multicast joining device 900 is a leaf node or a functional component in the leaf node, or the multicast joining device 900 is a first node or a functional component in the first node. The multicast joining device 900 can be implemented Figure 2 , Figures 4 to 6 Any of the embodiments shown. Fig. 9 As shown, the multicast joining device 900 includes: a receiving module 910, a processing module 920 and a sending module 930.

[0212] In one embodiment, a multicast joining device 900 is applied to a leaf node; a receiving module 910 is used to receive a first joining message sent by a multicast receiving end, the first joining message including multicast source group information; a processing module 920 is used to obtain a slice identifier according to the multicast source group information and a mapping relationship, the mapping relationship including the multicast source group information and the slice identifier, the slice identifier being used to identify a network slice; a sending module 930 is used to send a second joining message through a first port, the second joining message including the multicast source group information and the slice identifier, the first port being a port corresponding to the network slice determined based on the slice identifier. For the functional implementation of the receiving module 910, please refer to the description in S201 above, and for the functional implementation of the processing module 920, please refer to the description in S202 above. For the functional implementation of the sending module 930, please refer to the description in S203 above.

[0213] In an optional implementation of this embodiment, the processing module 920 is further used to obtain a forwarding table entry according to the multicast source group information, the first port and the second port, the forwarding table entry including the multicast source group information, the identifier of the first port and the identifier of the second port, and the second port is used to receive the first join message. For the functional implementation of the processing module 920, please refer to the relevant description in the above S204.

[0214] In an optional implementation of this embodiment, the second join message includes a join attribute field, which is used to carry a slice identifier.

[0215] In an optional implementation of this embodiment, the network slice is a Flex-Algo-based network slice, and the network slice is bound to the forwarding plane defined by the Flex-Algo.

[0216] In another embodiment, the multicast joining device 900 is applied to the first node; the receiving module 910 is used to receive a first joining message sent by the second node through the first port, the first joining message includes multicast source group information and a first slice identifier, the first slice identifier is used to identify the first network slice, and the first port is the port corresponding to the first network slice; the processing module 920 is used to obtain a forwarding table entry according to the multicast source group information and the first port, the forwarding table entry includes the multicast source group information and the identifier of the first port. For the functional implementation of the receiving module 910, please refer to the relevant description in S401, S501 or S601 above. For the functional implementation of the processing module 920, please refer to the relevant description in S402 above.

[0217] In an optional implementation of this other embodiment, the first node is a root node, and the second node is a leaf node or an intermediate node.

[0218] In an optional implementation of another embodiment, the first node is an intermediate node, the second node is a leaf node or an intermediate node, and the sending module 930 is used to send a second join message through a second port, the second join message includes the multicast source group information and the first slice identifier, and the second port is a port corresponding to the first network slice determined based on the first slice identifier. For the functional implementation of the sending module 930, please refer to the relevant description in S502 or S605 above.

[0219] In an optional implementation of this another embodiment, the processing module 920 is used to obtain a forwarding table entry according to the multicast source group information, the first port and the second port, and the forwarding table entry includes the multicast source group information, the identifier of the first port and the identifier of the second port. For the functional implementation of the processing module 920, please refer to the relevant description in S503 above.

[0220] In an optional implementation of this other embodiment, the receiving module 910 is further used to receive a third join message sent by a third node, the third join message including the multicast source group information and a second slice identifier, the second slice identifier being used to identify a second network slice; the processing module 920 is further used to determine whether the slice attribute carried by the third join message conflicts with the slice attribute carried by the first join message; and determine the first network slice based on a slice conflict resolution strategy. For the functional implementation of the receiving module 910, please refer to the relevant description in S602 above, and for the functional implementation of the processing module 920, please refer to the relevant description in S603 to S604 above.

[0221] In an optional implementation of this other embodiment, the processing module 930 is used to obtain a forwarding table entry according to the multicast source group information, the first port, the second port and the third port, the forwarding table entry including the multicast source group information, the identifier of the first port, the identifier of the second port and the identifier of the third port, the third port is a port corresponding to the second network slice, and the third port is used to receive a third join message. For the functional implementation of the processing module 920, please refer to the relevant description in S606 above.

[0222] Optionally, the slice conflict resolution strategy includes: at least one of a conflict resolution strategy based on slice identifier and a conflict resolution strategy based on slice bandwidth. The conflict resolution strategy based on slice identifier includes: determining a network slice with a smaller slice identifier or determining a network slice with a larger slice identifier; the conflict resolution strategy based on slice bandwidth includes: determining a network slice with a smaller bandwidth or determining a network slice with a larger bandwidth.

[0223] In an optional implementation of this other embodiment, the first join message includes a join attribute field, which is used to carry the first slice identifier. The second join message includes a join attribute field, which is used to carry the first slice identifier. The third join message includes a join attribute field, which is used to carry the second slice identifier.

[0224] In an optional implementation of this other embodiment, the first network slice is a network slice based on the first Flex-Algo, and the first network slice is bound to the forwarding plane defined by the first Flex-Algo. The second network slice is a network slice based on the second Flex-Algo, and the second network slice is bound to the forwarding plane defined by the second Flex-Algo.

[0225] The multicast joining device provided in the embodiment of the present application can also be implemented by an application-specific integrated circuit (ASIC) or a programmable logic device (PLD), and the above PLD can be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL) or any combination thereof. The multicast joining method provided in the above method embodiment can also be implemented by software. When the multicast joining method provided in the above method embodiment is implemented by software, each module in the multicast joining device can also be a software module.

[0226] The embodiment of the present application provides a multicast joining device, which is applied to a network node, the network node is a leaf node or a first node in the above embodiment, and the first node is a root node or an intermediate node. The multicast joining device includes a memory and a processor. The memory is used to store a computer program. The processor is used to execute the computer program stored in the memory so that the multicast joining device performs all or part of the steps of the multicast joining method provided in the above method embodiment.

[0227] As an example, see Fig.10 , which shows a schematic diagram of a multicast joining device 1000 provided in an embodiment of the present application. The multicast joining device 1000 is a network node or a functional component in a network node, and the network node is a leaf node or a first node in the above embodiment. The multicast joining device 1000 can be implemented Figure 2 , Figures 4 to 6 Any of the embodiments shown. Fig.10As shown, the multicast joining device 1000 includes: a main control board 1010, an interface board 1030 and an interface board 1040. In the case of multiple interface boards, a switching network board ( Fig.10 The switching network board is used to complete data exchange between interface boards (interface boards are also called line cards or service boards).

[0228] The main control board 1010 is used to complete functions such as system management, equipment maintenance, and protocol processing. The interface board 1030 and the interface board 1040 are used to provide various service interfaces (for example, POS interface, GE interface, ATM interface, etc.) and realize message forwarding. There are mainly three types of functional units on the main control board 1010: system management control unit, system clock unit, and system maintenance unit. The main control board 1010, the interface board 1030, and the interface board 1040 are connected to the system backplane through the system bus to achieve intercommunication. The interface board 1030 includes one or more processors 1031. The processor 1031 is used to control and manage the interface board 1030 and communicate with the central processor 1012 on the main control board 1010. The memory 1032 on the interface board 1030 is used to store forwarding table items. When the network node is a leaf node, the memory 1032 on the interface board 1030 is also used for the mapping relationship between multicast source group information and slice identifiers. The interface board 1030 includes one or more network interfaces 1033 for receiving and sending messages. The specific implementation process is not repeated here. Fig.10 As shown, the main control board 1010 also includes a memory 1014, and the memory 1014 is used to store system management information, protocols, etc., which is not limited in the embodiment of the present application.

[0229] like Fig.10 As shown, the present embodiment includes multiple interface boards, and a distributed forwarding mechanism is adopted. Under this mechanism, the operation on the interface board 1040 is substantially similar to the operation on the interface board 1030. For example, the interface board 1040 includes one or more network interfaces 1043 for receiving and sending messages, the interface board 1040 includes a memory 1042 for storing forwarding table entries, a mapping relationship between multicast source group information and slice identifiers, and the interface board 1040 includes a processor 1041 for controlling and managing the interface board 1040 and communicating with the central processor 1012 on the main control board 1010. For the sake of brevity, the interface board 1040 will not be described in detail here.

[0230] Fig.10The processor 1031 in the interface board 1030 and / or the processor 1041 in the interface board 1040 may be dedicated hardware or chips, such as a network processor or a dedicated integrated circuit to implement the above functions. This implementation is what is commonly referred to as a forwarding plane using dedicated hardware or chip processing. In another embodiment, the processor 1031 in the interface board 1030 and / or the processor 1041 in the interface board 1040 may also be a general-purpose processor, such as a general-purpose central processing unit (CPU).

[0231] There may be one or more main control boards, and when there are multiple boards, they may include a primary main control board and a backup main control board. There may be one or more interface boards. The stronger the data processing capability of a network node, the more interface boards are provided. In the case of multiple interface boards, the multiple interface boards can communicate with each other through one or more switching network boards, and when there are multiple boards, they can jointly realize load sharing and redundant backup. In a centralized forwarding architecture, a network node may not need a switching network board, and the interface board is responsible for processing the service data of the entire system. In a distributed forwarding architecture, a network node includes multiple interface boards, and data exchange between multiple interface boards can be realized through the switching network board, providing large-capacity data exchange and processing capabilities. Therefore, the data access and processing capabilities of a network node with a distributed architecture are greater than those of a network node with a centralized architecture. Which architecture to adopt depends on the networking deployment scenario, and no limitation is made here.

[0232] In an optional implementation, the memory 1032 and / or the memory 1042 is 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, an optical disc storage (including a compressed optical disc, a laser disc, an optical disc, a digital versatile disc, a Blu-ray disc, etc.), a disk 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 an instruction or data structure and can be accessed by a computer, but is not limited thereto. The memory 1032 can be independent, connected to the processor 1031 through a communication bus, or integrated with the processor 1031. The memory 1042 can be independent, connected to the processor 1041 through a communication bus, or integrated with the processor 1041.

[0233] The memory 1032 is used to store program code (i.e., computer program) and is controlled by the processor 1031 to execute part or all of the steps of the method provided in the above embodiment. The processor 1031 is used to execute the program code stored in the memory 1032. The program code may include one or more software modules. The one or more software modules may be the above Fig. 9 The memory 1042 may also be used to store program codes, and the processor 1041 controls the execution to execute part or all of the steps of the method provided in the above embodiment. Similarly, the memory 1014 may also be used to store program codes, and the central processor 1012 controls the execution to execute part or all of the steps of the method provided in the above embodiment.

[0234] In an optional implementation, the network interfaces 1033 and 1043 use any transceiver-like device for communicating with other devices or networks, such as Ethernet, radio access network (RAN), wireless local area networks (WLAN), etc.

[0235] As another example, see Fig.11 , which shows a schematic diagram of a multicast joining device 1100 provided in an embodiment of the present application. The multicast joining device 1100 is a network node or a functional component in a network node, and the network node is a leaf node or a first node in the above embodiment. The multicast joining device 1000 can be implemented Figure 2 , Figures 4 to 6 Any of the embodiments shown. Fig.11 As shown, the multicast joining device 1100 includes a processor 1102 , a memory 1104 , a communication interface 1106 and a bus 1108 , and the processor 1102 , the memory 1104 and the communication interface 1106 are communicatively connected via the bus 1108 . Fig.11 The connection method between the processor 1102, memory 1104 and communication interface 1106 shown is merely exemplary. During implementation, the processor 1102, memory 1104 and communication interface 1106 may also be connected using a connection method other than bus 1108, and the embodiments of the present application do not limit this.

[0236] The memory 1104 is used to store a computer program 11042, which may include instructions and data. The memory 1104 may be various types of storage media, such as RAM, ROM, non-volatile RAM (NVRAM), programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), flash memory, optical storage, registers, etc.

[0237] Among them, the processor 1102 can be a general-purpose processor or a special-purpose processor. The general-purpose processor is a processor that performs specific steps and / or operations by reading and executing a computer program (e.g., computer program 11042) stored in a memory (e.g., memory 1104). The general-purpose processor may use data stored in the memory (e.g., memory 1104) during the execution of the above steps and / or operations. The stored computer program can be executed to implement the relevant functions of the aforementioned processing module 920, and the general-purpose processor can be a CPU. A special-purpose processor is a processor specially designed to perform specific steps and / or operations, and the special-purpose processor can be a digital signal processor (DSP), ASIC or FPGA, etc. The processor 1102 can also be a combination of multiple processors, such as a multi-core processor. The processor 1102 includes at least one circuit to perform all or part of the steps of the above-mentioned embodiment method.

[0238] The communication interface 1106 may include an input / output (I / O) interface, a physical interface, and a logical interface, etc., which are used to interconnect devices within the multicast joining device 1100, and an interface used to interconnect the multicast joining device 1100 with other devices (e.g., network nodes). The physical interface may be a gigabit Ethernet interface (GE), which may be used to interconnect the multicast joining device 1100 with other devices. The logical interface is an interface within the multicast joining device 1100, which may be used to interconnect devices within the multicast joining device 1100. The communication interface 1106 may be used for the multicast joining device 1100 to communicate with other devices. For example, the communication interface 1106 is used to send and receive messages between the multicast joining device 1100 and other devices. The communication interface 1106 may implement the related functions of the aforementioned receiving module 910 and the sending module 920. The communication interface 1106 may also include a transceiver for sending and receiving messages, and the transceiver may also implement the related functions of the aforementioned receiving module 910 and sending module 920 .

[0239] The bus 1108 may be any type of communication bus for interconnecting the processor 1102 , the memory 1104 , and the communication interface 1106 , such as a system bus.

[0240] The above devices may be arranged on independent chips, or at least partially or completely on the same chip. Whether to arrange each device independently on different chips or to integrate them on one or more chips often depends on the needs of product design. The embodiments of the present application do not limit the specific implementation form of the above devices.

[0241] Fig.11 The multicast joining device 1100 shown is merely exemplary. During implementation, the multicast joining device 1100 may also include other components, which are not listed one by one herein. Fig.11 The multicast joining device 1100 shown joins the multicast receiving end to the multicast source group based on network slicing by executing all or part of the steps of the method provided in the above embodiment.

[0242] The embodiment of the present application provides a multicast joining system, which includes a leaf node and a first node, the first node is a root node or an intermediate node, and at least one of the leaf node and the first node includes: Figures 9 to 11 The multicast join device is shown.

[0243] In an example, a multicast join system such as Figure 1 As shown, the leaf node is any network node among the network nodes 140 - 160 , and the first node is any network node among the network nodes 110 - 130 .

[0244] An embodiment of the present application provides a computer-readable storage medium, which stores a computer program. When the computer program is executed (for example, executed by a leaf node, an intermediate node, a root node, one or more processors, etc.), all or part of the steps of the method provided in the above method embodiment are implemented.

[0245] An embodiment of the present application provides a computer program product, which includes a program or code. When the program or code is executed (for example, executed by a leaf node, an intermediate node, a root node, one or more processors, etc.), it implements all or part of the steps of the method provided in the above method embodiment.

[0246] An embodiment of the present application provides a chip, which includes a programmable logic circuit and / or program instructions. When the chip is running, it is used to implement all or part of the steps of the method provided in the above method embodiment.

[0247] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product, and 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 generated in whole or in part. The computer may be a general-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, a computer, a server or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line) 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, a data center, etc. that contains 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, or a semiconductor medium (e.g., a solid-state hard disk), etc.

[0248] The term "at least one" in this application refers to one or more, and "plurality" refers to two or more. In this application, unless otherwise specified, the symbol " / " generally means or, for example, A / B can mean A or B. The term "and / or" in this application is merely a description of the association relationship of associated objects, indicating that three relationships may exist, 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, for the convenience of clear description, in this application, the words "first", "second", "third" and the like are used to distinguish between identical or similar items with substantially the same functions and effects. Those skilled in the art can understand that the words "first", "second", "third" and the like do not limit the quantity and execution order.

[0249] The different types of embodiments such as the method embodiments and device embodiments provided in the embodiments of the present application can refer to each other, and the embodiments of the present application are not limited thereto. The sequence of operations of the method embodiments provided in the embodiments of the present application can be appropriately adjusted, and the operations can also be increased or decreased in response to the situation. Any technician familiar with the technical field can easily think of the changed methods within the technical scope disclosed in the present application, and they should be included in the protection scope of the present application, so they will not be repeated.

[0250] In the corresponding embodiments provided in the present application, it should be understood that the disclosed devices and the like can be implemented by other configuration methods. For example, the device embodiments described above are only schematic, for example, the division of units is only a logical function division, and there may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, and the indirect coupling or communication connection of devices or units can be electrical or other forms.

[0251] The units described as separate components may or may not be physically separated, and the components described as units may or may not be physical units, and may be located in one place or distributed on multiple network nodes. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0252] The above is only an exemplary embodiment of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application shall be based on the protection scope of the claims.

Claims

1. A multicast joining method, characterized in that: The method comprises: The leaf node receives a first join message sent by the multicast receiving end, where the first join message includes multicast source group information; The leaf node obtains a slice identifier according to the multicast source group information and a mapping relationship, where the mapping relationship includes the multicast source group information and the slice identifier, and the slice identifier is used to identify a network slice; The leaf node sends a second join message through the first port, and the second join message includes the multicast source group information and the slice identifier. The first port is a port corresponding to the network slice determined based on the slice identifier.

2. The method according to claim 1, characterized in that The method also includes: the leaf node obtains a forwarding table entry according to the multicast source group information, the first port and the second port, the forwarding table entry includes the multicast source group information, the identifier of the first port and the identifier of the second port, and the second port is used to receive the first join message.

3. The method according to claim 2, characterized in that The second join message includes a join attribute field, and the join attribute field is used to carry the slice identifier.

4. A multicast joining method, characterized in that: The method comprises: The first node receives a first join message sent by the second node through a first port, where the first join message includes multicast source group information and a first slice identifier, where the first slice identifier is used to identify a first network slice, and the first port is a port corresponding to the first network slice; The first node obtains a forwarding table entry according to the multicast source group information and the first port, where the forwarding table entry includes the multicast source group information and an identifier of the first port.

5. The method according to claim 4, characterized in that The first node is a root node, and the second node is a leaf node or an intermediate node.

6. The method according to claim 4, characterized in that The first node is an intermediate node, the second node is a leaf node or an intermediate node, and the method also includes: the first node sends a second join message through a second port, the second join message includes the multicast source group information and the first slice identifier, and the second port is a port corresponding to the first network slice determined based on the first slice identifier.

7. The method according to claim 6, characterized in that The first node obtains the forwarding table entry according to the multicast source group information and the first port, including: the first node obtains the forwarding table entry according to the multicast source group information, the first port and the second port, and the forwarding table entry includes the multicast source group information, the identifier of the first port and the identifier of the second port.

8. The method according to claim 6, characterized in that The method comprises: The first node receives a third join message sent by a third node, where the third join message includes the multicast source group information and a second slice identifier, where the second slice identifier is used to identify a second network slice; The first node determines that a slice attribute carried by the third join message conflicts with a slice attribute carried by the first join message; The first node determines the first network slice based on a slice conflict resolution strategy.

9. The method according to claim 8, characterized in that The first node obtains the forwarding table entry according to the multicast source group information and the first port, including: the first node obtains the forwarding table entry according to the multicast source group information, the first port, the second port and the third port, the forwarding table entry includes the multicast source group information, the identifier of the first port, the identifier of the second port and the identifier of the third port, the third port is the port corresponding to the second network slice, and the third port is used to receive the third join message.

10. The method according to claim 8 or 9, characterized in that: The slice conflict resolution strategy includes: at least one of a conflict resolution strategy based on slice identification and a conflict resolution strategy based on slice bandwidth.

11. The method according to any one of claims 4 to 10, characterized in that: The first join message includes a join attribute field, and the join attribute field is used to carry the first slice identifier.

12. A multicast joining device, characterized in that: Applied to a leaf node, the device comprises: A receiving module, configured to receive a first join message sent by a multicast receiving terminal, wherein the first join message includes multicast source group information; A processing module, configured to obtain a slice identifier according to the multicast source group information and a mapping relationship, wherein the mapping relationship includes the multicast source group information and the slice identifier, and the slice identifier is used to identify a network slice; A sending module is used to send a second join message through a first port, wherein the second join message includes the multicast source group information and the slice identifier, and the first port is a port corresponding to the network slice determined based on the slice identifier.

13. The device according to claim 12, characterized in that The processing module is also used to obtain a forwarding table entry based on the multicast source group information, the first port and the second port, the forwarding table entry includes the multicast source group information, the identifier of the first port and the identifier of the second port, and the second port is used to receive the first join message.

14. The device according to claim 13, characterized in that The second join message includes a join attribute field, and the join attribute field is used to carry the slice identifier.

15. A multicast joining device, characterized in that: Applied to a first node, the device comprises: A receiving module, configured to receive a first join message sent by a second node through a first port, wherein the first join message includes multicast source group information and a first slice identifier, wherein the first slice identifier is used to identify a first network slice, and the first port is a port corresponding to the first network slice; The processing module is used to obtain a forwarding table entry according to the multicast source group information and the first port, wherein the forwarding table entry includes the multicast source group information and an identifier of the first port.

16. The device according to claim 15, characterized in that The first node is a root node, and the second node is a leaf node or an intermediate node.

17. The device according to claim 15, characterized in that The first node is an intermediate node, the second node is a leaf node or an intermediate node, and the device also includes: a sending module, used to send a second join message through a second port, the second join message includes the multicast source group information and the first slice identifier, and the second port is a port corresponding to the first network slice determined based on the first slice identifier.

18. The device according to claim 17, characterized in that The processing module is used to obtain the forwarding table entry according to the multicast source group information, the first port and the second port, and the forwarding table entry includes the multicast source group information, the identifier of the first port and the identifier of the second port.

19. The device according to claim 17, characterized in that The receiving module is further used to receive a third join message sent by a third node, wherein the third join message includes the multicast source group information and a second slice identifier, where the second slice identifier is used to identify a second network slice; The processing module is further used to determine that the slice attribute carried by the third join message conflicts with the slice attribute carried by the first join message; And, determining the first network slice based on a slice conflict resolution strategy.

20. The device according to claim 19, characterized in that The processing module is used to obtain the forwarding table entry according to the multicast source group information, the first port, the second port and the third port, the forwarding table entry includes the multicast source group information, the identifier of the first port, the identifier of the second port and the identifier of the third port, the third port is the port corresponding to the second network slice, and the third port is used to receive the third join message.

21. The device according to claim 19 or 20, characterized in that The slice conflict resolution strategy includes: at least one of a conflict resolution strategy based on slice identification and a conflict resolution strategy based on slice bandwidth.

22. The device according to any one of claims 15 to 21, characterized in that The first join message includes a join attribute field, and the join attribute field is used to carry the first slice identifier.

Citation Information

Patent Citations

  • Application layer multicast service realizing method, terminal and system thereof

    CN101534205A

  • A method and apparatus for transmitting multicast traffic

    CN109769150A

  • Message processing method and network device

    CN113973082A

  • Method and apparatus for sending multicast packet and method and apparatus for obtaining forwarding entry

    US20230198892A1