Multicast joining method and apparatus
By obtaining slice identifiers from leaf nodes in the multicast network and forwarding multicast services, and by generating forwarding table entries from intermediate and root nodes to resolve slice conflicts, multicast receivers can efficiently join multicast source groups in the multicast network, ensuring the quality of multicast services and achieving service isolation and resource utilization.
Patent Information
- Application Number
- CN202311077465.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-24
- Publication Date
- 2026-01-09
- Estimated Expiration
- 2043-08-24
AI Technical Summary
After deploying network slices in a multicast network, how can the multicast receiver join the multicast source group corresponding to the multicast service based on the network slices to ensure the quality requirements of the multicast service and achieve service isolation and flexible utilization of network resources?
Leaf nodes in a multicast network obtain slice identifiers through mapping relationships and send join messages through the ports corresponding to the network slices. Intermediate nodes and root nodes add multicast receivers to the multicast source group based on multicast source group information and slice identifiers, generate forwarding table entries to realize the forwarding of multicast services, and resolve slice conflicts by selecting appropriate network slices through slice conflict resolution strategies.
It ensures the quality requirements of multicast services, isolates multicast services from other services, and enables flexible utilization and efficient forwarding of network resources.
Smart Images

Figure CN119520183B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the communication technical field, and in particular to a multicast joining method and device. BACKGROUND
[0002] A network slice is a logical network deployed in a physical network, and resources of different network slices deployed in the same physical network are isolated from each other. Different network slices can be deployed in the physical network according to different differentiated requirements of services, industries or users, and the corresponding services are forwarded through these network slices to meet the differentiated requirements of the 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 a multicast network. For example, network slices are deployed in a multicast network according to quality requirements of multicast services. After the network slices are deployed in the multicast network, network nodes in the multicast network forward the multicast services to multicast receivers through the network slices, thereby guaranteeing the quality requirements of the multicast services and achieving isolation of the multicast services from other services. However, after the network slices are deployed in the multicast network, how to join multicast source groups corresponding to the multicast services by the multicast receivers based on the network slices is a problem to be solved. SUMMARY
[0003] The present application provides a multicast joining method and device, which can join multicast receivers into multicast source groups based on network slices, guarantee quality requirements of multicast services, achieve isolation of the multicast services from other services, and achieve flexible use of network resources. The technical solution of the present application is as follows.
[0004] In a first aspect, a multicast joining method is provided, which includes: a leaf node receiving a first joining message sent by a multicast receiver, the first joining message including multicast source group information; the leaf node obtaining 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; and the leaf node sending 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 (that is, the first port is a slice port of the network slice). The first port in the leaf node is connected with a root node or 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 in this application allows leaf nodes in a multicast network to obtain a slice identifier for identifying a network slice based on a mapping relationship and the multicast source group information included in the join message sent by the multicast receiver. Leaf nodes then send a join message containing the multicast source group information and the slice identifier through the port corresponding to the network slice. This enables intermediate nodes and / or root nodes in the multicast network to join the multicast receiver to the multicast source group identified by the multicast source group information based on the network slice and the join message containing the multicast source group information and the slice identifier. Consequently, network nodes (including root nodes, intermediate nodes, and leaf nodes) in the multicast network forward multicast services from the multicast source group to the multicast receiver through the network slice. This helps ensure the quality requirements of the multicast service, isolates the multicast service from other services, and enables flexible utilization of network resources.
[0006] Optionally, the method further includes: the leaf node obtaining a forwarding table entry based on the multicast source group information, a first port, and a second port. The forwarding table entry includes the multicast source group information, an identifier of the first port, and an identifier of the second port, where the second port is used to receive the first join message. Here, the identifiers of the first port and 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 in this application involves a leaf node generating a forwarding table entry that includes multicast source group information, an identifier of a first port, and an identifier of a second port. This facilitates the leaf node's forwarding of multicast services corresponding to the multicast source group information (i.e., forwarding multicast packets of the multicast service; 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) based on the forwarding table entry. Specifically, the leaf node receives the multicast packets of the multicast service through the first port according to the forwarding table entry and forwards the multicast packets of the multicast service through the second port. Since the first port is the port in the leaf node corresponding to the network slice, the leaf node forwarding the multicast service corresponding to the multicast source group information according to the forwarding table entry is equivalent to the leaf node forwarding the multicast service through the network slice according to the forwarding table entry. Therefore, this application can realize the forwarding of multicast services through network slices, 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 a 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, which includes: a first node receiving, through a first port, a first joining packet sent by a second node, the first joining packet including multicast source group information and a first slice identifier, the first slice identifier being used to identify a first network slice, and the first port being a port corresponding to the first network slice; and the first node obtaining a forwarding table entry according to the multicast source group information and the first port, the forwarding table entry including 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 out port of multicast service corresponding to the multicast source group information in the first node.
[0011] The technical solution provided in the present application can be used to generate, by the first node, a forwarding table entry including multicast source group information and an identifier of a first port, so as to facilitate the first node to forward multicast service corresponding to the multicast source group information according to the forwarding table entry. Specifically, the first node can forward a multicast packet of the multicast service through the first port according to the forwarding table entry. Since the first port is a port corresponding to the first network slice in the first node, the first node can forward the multicast service corresponding to the multicast source group information according to the forwarding table entry, that is, the first node can forward the multicast service corresponding to the multicast source group information through the first network slice according to the forwarding table entry, which helps to guarantee the quality requirement 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. The method further includes: the first node sending, through a second port, a second joining packet, the second joining packet including the multicast source group information and the first slice identifier, and the second port being 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 a root node or an intermediate node between the root node and the first node, and the first node sends the second joining packet through the second port, that is, the first node sends the second joining packet to the root node or the intermediate node through the second port.
[0014] The technical scheme provided in the application, the first node sends a second join message through a second port, so that the root node or an intermediate node between the root node and the first node can obtain a forwarding table item for forwarding multicast service corresponding to the multicast source group information and associated with the first network slice according to the multicast source group information and the first slice identifier included in the second join message, 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 item, which helps to guarantee the quality requirement of the multicast service.
[0015] Optionally, the first node obtains the forwarding table item according to the multicast source group information and the first port includes that the first node obtains the forwarding table item according to the multicast source group information, the first port and the second port, and the forwarding table item 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 an out port of the multicast service corresponding to the multicast source group information in the first node, and the second port is an in port of the multicast service corresponding to the multicast source group information in the first node.
[0016] The technical scheme provided in the application, the first node generates a forwarding table item including multicast source group information, the identifier of the first port and the identifier of the second port, so that the first node can forward multicast service corresponding to the multicast source group information according to the forwarding table item. Specifically, the first node receives multicast packets of the multicast service through the second port according to the forwarding table item, and forwards the multicast packets 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 item, that is, the first node forwards the multicast service through the first network slice according to the forwarding table item, so that the application can realize forwarding multicast service through network slices, which helps to guarantee the quality requirement of the multicast service.
[0017] Optionally, the method comprises: the first node receiving a third join message sent by a third node, the third join message comprising the multicast source group information and a second slice identifier, the second slice identifier being used to identify a second network slice; the first node determining 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 determining the first network slice based on a slice conflict resolution policy. 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 scheme provided in the application can solve the slice conflict problem by determining, by the first node, the case where the slice attributes carried by different join messages for joining the same multicast source group conflict, and selecting, by the first node based on a slice conflict resolution policy, a slice attribute from among the slice attributes carried by the different join messages. In the application, the first node selects the slice attribute carried by the first join message based on the slice conflict resolution policy, and thus determines the first network slice. 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 the forwarding table entry according to the multicast source group information and the first port includes: 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 identification of the first port, the identification of the second port and the identification 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 the third join message. In combination with the foregoing description, the first node receives the first join message including the multicast source group information and the first slice identifier through the first port corresponding to the first network slice in the first node, the first node receives the third join message including the multicast source group information and the second slice identifier through the third port corresponding to the second network slice in the first node, 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 policy, so the first node sends the second join message including the multicast source group information and the first slice identifier through the second port corresponding to the first network slice in the first node, and the first node generates the 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 the egress ports 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.
[0020] The technical scheme provided in the application, the first node generates the forwarding table entry including the multicast source group information, the identification of the first port, the identification of the second port and the identification 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 the 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 application can realize forwarding the multicast service through the network slice, which helps to guarantee the quality requirement of the multicast service.
[0021] Optionally, the slice conflict resolution policy includes at least one of a slice identifier-based conflict resolution policy and a slice bandwidth-based conflict resolution policy.
[0022] Optionally, the slice identifier-based conflict resolution policy includes determining the network slice with a smaller slice identifier or determining the network slice with a larger slice identifier, and the slice bandwidth-based conflict resolution policy includes determining the network slice with a smaller bandwidth or determining the network slice with a larger bandwidth.
[0023] Optionally, the first join message comprises a join attribute field, and the join attribute field is used to carry the first slice identifier.
[0024] The second join message comprises a join attribute field, and the join attribute field is used to carry the first slice identifier.
[0025] The third join message comprises a join attribute field, and the join attribute field 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 a 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 a 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 apparatus is provided, which comprises various modules for performing the method provided in the first aspect or any optional manner of the first aspect.
[0029] In a fourth aspect, a multicast joining apparatus is provided, which comprises various modules for performing 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 can be implemented based on software, hardware or a combination of software and hardware, and the modules can be combined or divided based on specific implementation.
[0031] In a fifth aspect, a multicast joining apparatus is provided, which comprises a memory and a processor.
[0032] The memory is used to store a computer program, and the processor is used to execute the computer program stored in the memory to enable the multicast joining apparatus to perform the method provided in the first aspect or any optional manner of the first aspect.
[0033] In a sixth aspect, a multicast joining apparatus is provided, which comprises a memory and a processor.
[0034] The memory is used to store a computer program, and the processor is used to execute the computer program stored in the memory to enable the multicast joining apparatus to perform the method provided in the second aspect or any optional manner of the second aspect.
[0035] In a seventh aspect, a multicast joining apparatus is provided, which comprises a master board and an interface board, and the master board and the interface board are configured to implement the method provided in the first aspect or any possible implementation of the first aspect.
[0036] In an eighth aspect, a multicast joining apparatus is provided, which comprises a master board and an interface board, and the master board and the interface board are configured to implement the method provided in the second aspect or any possible implementation of the second aspect.
[0037] In a ninth aspect, a multicast joining system is provided, which comprises a leaf node and a first node, and the first node is a root node or an intermediate node.
[0038] The leaf node comprises the multicast joining apparatus provided in the third aspect, the fifth aspect or the seventh aspect.
[0039] The first node comprises the multicast joining apparatus provided in the fourth aspect, the sixth aspect or the eighth aspect.
[0040] In a tenth aspect, a computer readable storage medium is provided, which stores a computer program, and the computer program is configured to implement the method provided in the first aspect or any possible implementation of the first aspect, or the method provided in the second aspect or any possible implementation of the second aspect.
[0041] In an eleventh aspect, a computer program product is provided, which comprises a program or code, and the program or code is configured to implement the method provided in the first aspect or any possible implementation of the first aspect, or the method provided in the second aspect or any possible implementation of the second aspect.
[0042] In a twelfth aspect, a chip is provided, which comprises a programmable logic circuit and / or program instructions, and the chip is configured to implement the method provided in the first aspect or any possible implementation of the first aspect, or the method provided in the second aspect or any possible implementation of the second aspect.
[0043] The technical effects of the third aspect to the twelfth aspect can refer to the technical effects of the first aspect to the second aspect, which will not be repeated here. BRIEF DESCRIPTION OF DRAWINGS
[0044] Figure 1 is a schematic diagram of an application scenario provided by an embodiment of the present application;
[0045] Figure 2 is a flowchart of a multicast joining method provided by an embodiment of the present application;
[0046] Figure 3 is a schematic diagram of an encoded-source Address field provided by an embodiment of the present application;
[0047] Figure 4 is a flowchart of another multicast joining method provided by an embodiment of the present application;
[0048] Figure 5 is a flowchart of still another multicast joining method provided by an embodiment of the present application;
[0049] Figure 6 is a flowchart of yet another multicast joining method provided by an embodiment of the present application;
[0050] Figure 7 is a schematic diagram of a multicast joining method provided by an embodiment of the present application;
[0051] Figure 8 is a schematic diagram of another multicast joining method provided by an embodiment of the present application;
[0052] Figure 9 is a schematic diagram of a multicast joining apparatus provided by an embodiment of the present application;
[0053] Figure 10 is a schematic diagram of another multicast joining apparatus provided by an embodiment of the present application;
[0054] Figure 11 is a schematic diagram of still another multicast joining apparatus provided by an embodiment of the present application. DETAILED DESCRIPTION
[0055] The embodiments of the present application will be described in further detail below with reference to the drawings.
[0056] With the emergence of the 5th-generation mobile communication technology (5G) and diversified new services in the cloud era, different industries, services, users, etc. put forward various service requirements for the network. For example, mobile communication, smart home, environmental monitoring, smart agriculture, smart meter reading, etc. require the network to support massive device connection and frequent small message transmission; network live broadcast, video backhaul, mobile medical treatment, etc. put forward higher requirements for the transmission rate of the network; vehicle networking, smart grid, industrial control, etc. require the transmission delay of the network to be millisecond level and the network to have nearly 100% reliability. Therefore, the network should have the capabilities of massive access, deterministic delay, high reliability, etc., and a flexible and dynamic network needs to be built to meet the needs of diversified services of users and vertical industries. In the face of these requirements, slicing technology emerges as the times require. Slicing technology meets the differentiated needs of different services by establishing dedicated, virtualized and isolated logical networks on the physical network, and 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 guarantee the quality requirements of multicast services. For example, network slices are deployed in a protocol independent multicast (PIM) network to guarantee the quality requirements of multicast services that need to be forwarded by the PIM network. The PIM network supports the protocol independent multicast-sparse mode (PIM-SM) protocol, and the PIM network supporting 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 a large network with a relatively dispersed user distribution, enabling users to receive data on demand and achieving efficient point-to-multipoint data transmission, which can effectively save network bandwidth and reduce network load. The PIM-SM network is widely used in scenarios such as Internet Protocol Television (IPTV) and securities trading. Deploying network slices in the PIM-SM network can guarantee 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 the embodiments of the present application provides a communication system, which includes a multicast network and a multicast source and a multicast receiver accessing the multicast network. The multicast source is configured to provide a multicast service, the multicast receiver can subscribe to the multicast service from the multicast source, and the multicast network is configured to forward the multicast service (i.e., multicast packets of the multicast service) provided by the multicast source to the multicast receiver.
[0058] The multicast network can be a PIM network, for example, the multicast network is a PIM-SM network. Also, the multicast network can 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 can be switches, routers, virtual switches created in physical devices, virtual routers created in physical devices, etc. The plurality of network nodes are of the same type or different types, for example, the plurality of network nodes are all switches or routers, or a part of the plurality of network nodes are routers and another part of the plurality of network nodes are switches.
[0059] The plurality of network nodes include root nodes and leaf nodes, and can also include intermediate nodes connected between the root nodes and the leaf nodes. The leaf nodes can also be referred to as egress nodes of the multicast network, and the root nodes can be referred to as ingress nodes of the multicast network. The root nodes can be rendezvous points (RPs). The network nodes are also referred to as network devices, the root nodes are also referred to as root devices, and the leaf nodes are also referred to as leaf devices. The root nodes can also be referred to as head nodes or head devices, and the leaf nodes can also be referred to as tail nodes or tail devices. The embodiments of the present application do not limit this. In the embodiments of the present application, the root nodes are connected with multicast sources and are used to introduce multicast streams from the multicast sources into the multicast network; the leaf nodes are connected with multicast receiving ends and are used to introduce the multicast streams from the multicast network to the multicast receiving ends; and the intermediate nodes are used for multicast forwarding between the root nodes and the leaf nodes. The multicast sources can be multicast servers, virtual machines (VMs) created in the multicast servers, or containers created in the multicast servers. The multicast receiving ends can be host computers, user terminals, home gateways (such as optical modems), television sets, and other user devices, including but not limited to mobile phones, tablet computers, notebook computers, desktop computers, smart screens, etc.
[0060] Please refer to Figure 1Fig. 1 shows a schematic diagram of an application scenario provided by the embodiment of the present application, which provides a communication system including a multicast network 100, a multicast source 200 and a plurality of multicast receivers 310-340 accessing the multicast network 100. The multicast network 100 includes a plurality of network nodes 110-160. The network node 110 is a root node, the network nodes 140-160 are leaf nodes, and the network nodes 120-130 are intermediate nodes, which are connected between the network node 110 and the network nodes 140-160. The multicast source 200 is connected with the network node 110. The multicast receivers 310-340 are connected with the network nodes 140-160, wherein the multicast receiver 310 is connected with the network node 140, the multicast receivers 320-330 are connected with the network node 150, and the multicast receiver 340 is connected with the network node 160. The multicast source 200 is configured to provide a multicast service. The multicast receivers 310-340 can subscribe to the multicast service from the multicast source 200. The multicast network 100 is configured to forward a multicast packet of the multicast service from the multicast source 200 to the multicast receivers 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 packet from the multicast source 200 to the multicast receivers 320-330 through the network slice, thereby realizing 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. The Flex-Algo can define a forwarding plane in the multicast network 100, and the network slice can be deployed in the forwarding plane (e.g., Flex-Algo plane) defined by the Flex-Algo. The network nodes in the Flex-Algo plane forward the multicast packet from the multicast source 200 to the multicast receivers 320-330 through the network slice. The embodiment of the present application introduces an implementation process of the multicast receivers 310-340 joining a multicast source group corresponding to the multicast service provided by the multicast source 200 based on the network slice deployed in the multicast network 100. Figure 1 The application scenario shown is only for example and is not used to limit the technical solutions of the embodiments of the present application. In the implementation process, the application scenario of the embodiments of the present application can include more or fewer elements than those of the application scenario shown. Figure 1More or less network nodes, multicast receivers, etc. shown in the application scenario can also include other devices, for example, also including a controller to control the network nodes, multicast sources, multicast receivers, etc. The controller can be integrated in the network node, multicast source or multicast receiver, or be a control device independent of the network node, multicast source, multicast receiver or a third-party network element. 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 network management, service control and network analysis functions, 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, which is any leaf node in a multicast network. For example Figure 1 As shown, the leaf node L is any of the network nodes 140-160. Please refer to Figure 2 The multicast joining method includes the following steps S201-S203.
[0062] S201. The leaf node L receives a first joining message A1 sent by a multicast receiver R, and the first joining message A1 includes multicast source group information W.
[0063] The leaf node L is any leaf node in a multicast network, and the multicast receiver R is any multicast receiver accessing 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 receiver R is the multicast receiver 310; in another example, the leaf node L is the network node 150, and the multicast receiver R is the multicast receiver 320 or the multicast receiver 330; in another example, the leaf node L is the network node 160, and the multicast receiver R is the multicast receiver 340.
[0064] When the multicast receiver R joins the multicast group identified by the multicast source group information W, the multicast receiver R generates a first joining message A1 including the multicast source group information W, and sends the first joining message A1 to the leaf node L. The leaf node L receives the first joining message A1 sent by the multicast receiver R through a second port. The second port is a port of the leaf node L used for communication with the multicast receiver R. The second port can be a physical port or a logical port. In the embodiment of the present application, the multicast source group information W is (S, G) or (*, G), S is information of a multicast source, G is information of a multicast group, and * represents a non-specific multicast source, i.e. RP as a root node.
[0065] S202. The leaf node L obtains the slice identifier 1 according to the multicast source group information W and a mapping relationship, the mapping relationship including the multicast source group information W and the slice identifier 1, and the slice identifier 1 being used to identify the network slice 1.
[0066] The leaf node L includes the mapping relationship of 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, and the leaf node L looks up the mapping relationship according to the multicast source group information W to obtain the slice identifier 1. The mapping relationship can be statically configured in the leaf node L or announced by the multicast source to the leaf node L. For example, the controller or the human being configures the mapping relationship in the multicast source, and the multicast source announces the mapping relationship to the leaf node L, which is not limited by the embodiments of the present application. The slice identifier 1 is used to identify the network slice 1. The network slice 1 is a network slice deployed in the multicast network according to the quality requirement of the multicast service corresponding to the multicast source group information W. Optionally, the network slice 1 is a network slice based on Flex-Algo, the network slice 1 is bound to the forwarding plane defined by Flex-Algo, in other words, the 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, the 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 the second join message A2 through the first port, the second join message A2 including the multicast source group information W and the slice identifier 1, and the first port being a port corresponding to the network slice 1 determined based on the slice identifier 1.
[0068] The first port in the leaf node L is a port corresponding to the network slice 1, or referred to as a 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 in the leaf node L corresponding to the network slice 1 according to the slice identifier 1, and sends the second join message A2 through the first port. The leaf node L determines the first port in the leaf node L corresponding to the network slice 1 through reverse path forwarding (RPF) routing according to the slice identifier 1. The destination address of the second join message A2 is an address of the multicast source or an address of the RP. The leaf node L determines the out port of the second join message A2 according to a unicast routing table of the leaf node L according to the destination address of the second join message A2. The leaf node L determines the first port in the leaf node L corresponding to the network slice 1 according to the lookup result and the slice identifier 1. In one embodiment, the leaf node L determines that the out port of the second join message A2 is the first port corresponding to the network slice 1 through looking up the unicast routing table, and sends the second join message A2 through the first port. In another embodiment, the leaf node L determines that the out port of the second join message A2 is a physical port through looking up the unicast routing table, the physical port includes the first port corresponding to the network slice 1 (the first port is a logical port in the physical port), the leaf node L determines the first port included in the physical port according to the slice identifier 1, and 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 the 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 field, and the encoded-source address field includes the join attribute field.
[0070] As an example, refer to Figure 3This diagram illustrates an encoded source address field provided in an embodiment of this application. The encoded source address field includes: an address family (Addr family) field, an encoding type field, a reserved (Rsrvd) field, a sparse (S) field, a wildcard (W) field, a rendezvous point tree (R) field, a mask length (mask len) field, a source address (SA) field, and an append attribute field. The append attribute field is used to carry append attributes (e.g., a slice identifier in an embodiment of this application). Figure 3 As shown, the added attribute field is a type length value (TLV) field, which 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 (e.g., 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 (e.g., 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 join attribute carried by the join attribute field is an end attribute. If the E bit is set (e.g., the value of the E bit is 1), the E bit is used to indicate that the join attribute carried by the join attribute field is an end attribute (that is, the last join attribute carried by the encoding source address field). If the E bit is not set (e.g., the value of the E bit is 0), the E bit is used to indicate that the join attribute carried by the join attribute field is not an end attribute. The attribute type subfield is used to indicate the type of the join attribute carried by the join attribute field. The length subfield is used to indicate the length of the value subfield. The value subfield is used to carry the join attribute (e.g., the slice identifier in the embodiments of this application). For the meaning of other fields in the encoding source address field, please refer to the request for comments (RFC) 5384, and for the format of the PIM join message, please refer to RFC 4601. They will not be elaborated here.
[0071] The technical scheme provided by the embodiments of the present application is that a leaf node in a multicast network obtains a slice identifier used for identifying a network slice according to a mapping relationship and 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 an intermediate node and / or a root node in the multicast network can add the multicast receiving end to a 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 multicast service of the multicast source group to the multicast receiving end through the network slice, which helps to guarantee the quality requirement of the multicast service, realizes isolation of the multicast service from other services, and realizes flexible use of network resources.
[0072] In 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 item X according to the multicast source group information W, the first port and the second port, the forwarding table item X including the multicast source group information W, an identifier of the first port and an identifier of the second port, the second port being used for receiving the first join message A1.
[0074] The first port and the second port in S204 are both ports in the leaf node L, and the first port is a 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 item X is a multicast forwarding table item. In the forwarding table item X, the first port is an ingress port and the second port is an egress port, so the first port is an ingress port of multicast service corresponding to the multicast source group information W in the leaf node L, and the second port is an egress port of 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 item X according to the multicast source group information W, the identifier of the first port and the identifier of the second port.
[0075] In one example, the identifier of the first port is L-P1 and the identifier of the second port is L-P2, and the forwarding table item X is shown in Table 1 below.
[0076] Table 1 (forwarding table item X)
[0077] Multicast Source Group Information Ingress Port (IIF) Egress Port (OIF) W1 L-P1 L-P2
[0078] After leaf node L obtains forwarding table entry X, subsequent leaf nodes L forward the multicast service corresponding to the multicast source group information W to the multicast receiver according to forwarding table entry X. For example, leaf node L receives the multicast message including the multicast source group information W through the first port indicated by port identifier "L-P1" (this first port is the port in leaf node L corresponding to network slice 1, that is, the slice port of network slice 1) according to forwarding table entry X shown in Table 1, and sends the multicast message through the second port indicated by port identifier "L-P2".
[0079] The technical solution provided in this application embodiment is that the first port in the leaf node is the port in the leaf node corresponding to the network slice. The leaf node generates a forwarding table entry including multicast source group information, the identifier of the first port, and the identifier of the second port. This allows 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] This application also provides a multicast joining method executed by a first node in a multicast network. The first node is either the root node or an intermediate node in the multicast network. The following three embodiments, taking the first node as either the root node or an intermediate node, illustrate the method provided by this application.
[0081] First embodiment: Please refer to Figure 4 This document illustrates a flowchart of another multicast joining method provided in an embodiment of this application. This multicast joining method is executed by a first node; this embodiment uses the first node as the root node as an example. Figure 1 As shown, the first node (i.e., the root node) can be network node 110. See also... 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 a first join message B1 sent by the second node through a first port in the first node, the first port being a port in the first node used for communication with the second node, the first port being a port corresponding to the first network slice, the first port being a slice port of the first network slice, and the first port being 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 the multicast network according to a quality requirement of multicast service corresponding to the group information W. Optionally, the first network slice is a network slice based on the first Flex-Algo, the first network slice is bound to a 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 the Flex-Algo can realize flexible use of network resources, the first network slice deployed in the forwarding plane of the Flex-Algo can realize flexible use of network resources.
[0084] In an embodiment of the present application, the first join message B1 includes the group information W and the 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 used to carry the first slice identifier. In one embodiment, the first join message B1 includes an encoded source address field as shown in FIG. 3, and the encoded source address field includes the join attribute field. Figure 3
[0085] In an embodiment of the present application, the first node is a root node, the second node is a leaf node or an intermediate node between the first node and the leaf node. In one embodiment, the second node is a leaf node L as shown in FIG. 1, the first join message B1 is a second join message A2 as shown in FIG. 2, the first slice identifier is a slice identifier 1 as shown in FIG. 3, and the first network slice is a network slice 1 as shown in FIG. 4. Figure 2 Figure 2 Figure 2 Figure 2 In another embodiment, the second node is an intermediate node connected between the first node and a leaf node L as shown in FIG. 1, the first join message B1 is sent by the second node to the first node based on a second join message A2 as shown in FIG. 2, the first slice identifier can be a slice identifier 1 as shown in FIG. 3, or can not be the slice identifier 1, and the first network slice can be a network slice 1 as shown in FIG. 4, or can not be the network slice 1. The embodiments of the present application do not limit this. Figure 2 Figure 2 Figure 2 Figure 2
[0086] S402. The first node obtains a forwarding entry Y according to the multicast source group information W and the first port, the forwarding entry Y comprising the multicast source group information W and an identifier of the first port.
[0087] The first port in S402 is a 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 entry Y is a multicast forwarding entry. In the forwarding entry Y, the first port is an out port, and thus the first port is an out 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 entry Y according to the multicast source group information W and the identifier of the first port. In one example, the identifier of the first port is U-P1, and the forwarding entry Y is shown in Table 2 below.
[0088] Table 2 (forwarding entry Y)
[0089] Multicast Source Group Information Egress Port (OIF) W1 U-P1
[0090] In an optional embodiment, after receiving the first join message B1, the first node further determines, according to a destination address of the first join message B1, an out port of the first join message B1 as a second port in the first node by searching a unicast routing table of the first node, the first node obtains an identifier of the second port, and the first node generates the forwarding entry Y according to the multicast source group information W, the identifier of the first port, and the identifier of the second port, the forwarding entry Y comprising the multicast source group information W, the identifier of the first port, and the identifier of the second port. The destination address of the first join message B1 is an address of the multicast source or an address of the RP, the second port in the first node is a physical port in the first node or a logical port in the first node, and the second port is used for communication between the first node and the multicast source or the RP.
[0091] In one example, the identifier of the first port is U-P1, the identifier of the second port is U-P2, and the forwarding entry Y is shown in Table 3 below.
[0092] Table 3 (forwarding entry Y)
[0093] Multicast Source Group Information Ingress Port (IIF) Egress Port (OIF) W1 U-P2 U-P1
[0094] After the first node obtains the forwarding entry Y, the subsequent first node forwards the multicast service corresponding to the multicast source group information W to the multicast receiving end according to the forwarding entry Y. In one example, the first node sends the multicast packet 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 entry Y shown in Table 2. In another example, the first node receives the multicast packet including the multicast source group information W through the second port indicated by the port identifier "U-P2" and sends the multicast packet including the multicast source group information W through the first port indicated by the port identifier "U-P1" according to the forwarding entry Y shown in Table 3.
[0095] The technical scheme provided by the embodiments of the present application is that the first port in the first node is the port corresponding to the first network slice in the first node, the first node generates the forwarding entry including the multicast source group information and the 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 entry, and help to guarantee the quality requirement of the multicast service.
[0096] The second embodiment: please refer to Figure 5 which shows a flowchart of still another multicast joining method provided by the embodiments of the present application. The multicast joining method is executed by a first node, and the present embodiment takes the first node as an intermediate node as an example, for example Figure 1 , the first node (i.e. the intermediate node) is the network node 120 or 130. Referring to Figure 5 , the multicast joining method includes the following steps S501 to S503.
[0097] S501. The first node receives the first joining packet C1 sent by the second node through the first port, the first joining packet C1 includes the multicast source group information W and the 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.
[0098] The first node receives a first join message C1 sent by the second node through a first port in the first node, the first port being a port in the first node used for communication with the second node, the first port being a port corresponding to the first network slice, the first port being a slice port of the first network slice, and the first port being 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 the multicast network according to a quality requirement of multicast service corresponding to the group information W. Optionally, the first network slice is a network slice based on the first Flex-Algo, the first network slice is bound to a 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 the Flex-Algo can realize flexible use of network resources, the first network slice deployed in the forwarding plane of the Flex-Algo can realize flexible use of network resources.
[0099] In an embodiment of the present application, the first join message C1 includes the group information W and the 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 used to carry the first slice identifier. In an embodiment, the first join message C1 includes an encoded source address field as shown in FIG. 8, and the encoded source address field includes the join attribute field. Figure 3
[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. In an embodiment, the second node is a leaf node L as shown in FIG. 9, the first join message C1 is a second join message A2 as shown in FIG. 10, the first slice identifier is a slice identifier 1 as shown in FIG. 11, and the first network slice is a network slice 1 as shown in FIG. 12. Figure 2 Figure 2 Figure 2 Figure 2 Figure 2 Figure 2 Figure 2 Figure 2
[0101] S502. The first node sends a second join message C2 through a second port, the second join message C2 comprising the multicast source group information W and the first slice identifier, the second port being a port corresponding to the first network slice determined based on the first slice identifier.
[0102] The second port in the first node is a port corresponding to the first network slice, the second port being a slice port of the first network slice, the second port being 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, generates the second join message C2 according to the multicast source group information W and the first slice identifier, determines the second port in the first node corresponding to the first network slice according to the first slice identifier, and sends the second join message C2 through the second port. The second join message C2 comprises 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 comprises an encoded source address field as shown in Figure 3 The join 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 in the first node corresponding to the first network slice 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 determines the out port of the second join message C2 according to the unicast routing table of the first node according to the destination address of the second join message C2, and determines the second port in the first node corresponding to the first network slice according to the lookup result and the first slice identifier. In one embodiment, the first node determines that the out port of the second join message C2 is the second port corresponding to the first network slice by looking up the unicast routing table, and sends the second join message C2 through the second port. In another embodiment, the first node determines that the out port of the second join message C2 is a physical port by looking up the unicast routing table, the physical port comprising the second port corresponding to the first network slice (the second port being 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 sends the second join message C2 through the second port.
[0104] S503. The first node obtains a forwarding table item Z according to the multicast source group information W, the first port and the second port, the forwarding table item Z comprising 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 in S503 are 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 be port numbers. The forwarding table entry Z is a multicast forwarding table entry. In the forwarding table entry Z, the first port is an out port, and the second port is an in port. Therefore, the first port is an out port of the multicast service corresponding to the multicast source group information W in the first node, and the second port is an in port of the multicast service corresponding to the multicast source group information W in the first node. In an 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 identifier of the first port is U-P1, the identifier of the second port is U-P2, and the forwarding table entry Z is shown in Table 4.
[0107] Table 4 (forwarding table entry Z)
[0108] Multicast Source Group Information Ingress Port (IIF) Egress Port (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 a multicast receiving end according to the forwarding table entry Z. For example, the first node receives a multicast packet including the multicast source group information W through the second port indicated by the port identifier "U-P2" (the second port is a port corresponding to the first network slice in the first node, that is, a slice port of the first network slice) according to the forwarding table entry Z shown in Table 4, and sends the multicast packet including the multicast source group information W through the first port indicated by the port identifier "U-P1" (the first port is a port corresponding to the first network slice in the first node, that is, a slice port of the first network slice).
[0110] The technical scheme provided by the embodiments of the present application is that the first port and the second port in the first node are ports corresponding to the first network slice in the first node, 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 through the port corresponding to the first network slice according to the forwarding table entry, help to guarantee the quality requirement of the multicast service, realize isolation of the multicast service and other services, and achieve flexible use of network resources.
[0111] A third embodiment: please refer to Figure 6 which shows a flowchart of another multicast joining method provided by the embodiments of the present application. The multicast joining method is performed by a first node, and the present embodiment takes the first node as an intermediate node as an example, for example Figure 1 As shown in FIG. 12, the first node (that is, the intermediate node) is a network node 120 or 130. Please refer toFigure 6 The multicast joining method comprises the following steps S601-S606.
[0112] S601. The first node receives a first join message C1 sent by the second node through a first port, the first join message C1 comprising multicast source group information W and a first slice identifier, the first slice identifier being used for identifying a first network slice, and the first port being a port corresponding to the first network slice.
[0113] The implementation process of S601 can refer to the implementation process of S501, which is not described here in detail.
[0114] S602. The first node receives a third join message C3 sent by the third node through a third port, the third join message C3 comprising the multicast source group information W and a second slice identifier, the second slice identifier being used for identifying a second network slice, and the third port being a port corresponding to the second network slice.
[0115] The first node receives the third join message C3 sent by the third node through a third port in the first node, the third port being a port used for communication with the third node in the first node, the third port being a port corresponding to the second network slice, the third port being a slice port of the second network slice, and the third port being a logical port. The second network slice is a network slice deployed in a multicast network. For example, the second network slice is a network slice deployed in the multicast network according to quality requirements of multicast service corresponding to the multicast source group information W. Optionally, the second network slice is a network slice based on a second Flex-Algo, and the second network slice is bound to a 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 the Flex-Algo can realize flexible utilization of network resources, the second network slice deployed in the forwarding plane of the Flex-Algo can realize flexible utilization of network resources.
[0116] In the embodiment of the present application, the third join message C3 comprises 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 comprises a join attribute field used for carrying the second slice identifier. In one embodiment, the third join message C3 comprises an encoded source address field as shown in Figure 3 The encoded source address field comprises the join attribute field.
[0117] In the 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. In one embodiment, the third node is a leaf node L in the embodiment shown in Figure 2 The third join message C3 isFigure 2 The second join message A2 in the illustrated embodiment, the second slice identifier is Figure 2 The slice identifier 1 in the illustrated embodiment, the second network slice is Figure 2 The network slice 1 in the illustrated embodiment. In another embodiment, the third node is an intermediate node connected between the first node and Figure 2 The leaf node L in the illustrated embodiment, the third join message C3 is sent by the third node to the first node based on Figure 2 The second join message A2 in the illustrated embodiment, the second slice identifier can be Figure 2 The slice identifier 1 in the illustrated embodiment, the second network slice can be Figure 2 The network slice 1 in the illustrated embodiment, the second network slice can be
[0118] In the embodiments 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. For example Figure 1 As shown, the first node is the network node 120, the second node is the network node 140, and the third node is the network node 150; the first join message C1 is sent by the network node 140 to the network node 120, and the first join message C1 is used for the multicast receiver 310 to access the multicast source group identified by the multicast source group information W; the third join message C3 is sent by the network node 150 to the network node 120, and the third join message C3 is used for the multicast receiver 320 or the multicast receiver 330 to access the multicast source group identified by the multicast source group information W.
[0119] S603. The first node determines that the slice attribute carried by the third join message C3 conflicts with the slice attribute 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 the multicast source group information W and the first slice identifier, parses the third join message C3 to determine that the third join message C3 includes the multicast source group information W and the second slice identifier, determines that the multicast source group information included by the first join message C1 and the multicast source group information included by the third join message C3 are the same, and the slice identifier included by the first join message C1 and the slice identifier included by the third join message C3 are different, and thus the first node determines that the slice attribute carried by the third join message C3 conflicts with the slice attribute carried by the first join message C1.
[0121] S604. The first node determines the first network slice based on the slice conflict resolution policy.
[0122] In a case where the first node determines that the slice attribute carried by the third join message C3 conflicts with the slice attribute carried by the first join message C1, the first node determines (or selects) the first network slice based on a slice conflict resolution policy, the slice attribute (e.g., the first slice identifier) carried by the first join message C1, and the slice attribute (e.g., the second slice identifier) carried by the third join message C3. In an embodiment of the present application, the slice conflict resolution policy includes at least one of a slice identifier-based conflict resolution policy and a slice bandwidth-based conflict resolution policy. The first node determines the first network slice based on the first join message C1 and the third join message C3 by using at least one of the slice identifier-based conflict resolution policy and the slice bandwidth-based conflict resolution policy. In an optional embodiment, the slice identifier-based conflict resolution policy includes determining a network slice with a smaller slice identifier or determining a network slice with a larger slice identifier. The slice bandwidth-based conflict resolution policy 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 policy 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 in numerical form. The first node determines the smaller slice identifier from the first slice identifier and the second slice identifier. The first node selects the network slice identified by the smaller slice identifier. This embodiment is described by taking an example in which the first slice identifier is the smaller slice identifier from the first slice identifier and the second slice identifier. Therefore, the first node determines the first network slice.
[0124] In another embodiment, the slice conflict resolution policy 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 in numerical form. The first node determines the larger slice identifier from the first slice identifier and the second slice identifier. The first node selects the network slice identified by the larger slice identifier. This embodiment is described by taking an example in which the first slice identifier is the larger slice identifier from the first slice identifier and the second slice identifier. Therefore, the first node determines the first network slice.
[0125] In still another embodiment, the slice conflict resolution policy 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. The first node determines the network slice with the smaller bandwidth from the first network slice and the second network slice. This embodiment is described by taking an example in which the first network slice is the network slice with the smaller bandwidth from the first network slice and the second network slice. Therefore, the first node determines the first network slice.
[0126] In yet another embodiment, the slice conflict resolution policy comprises determining a network slice with a larger bandwidth, the first node determines a bandwidth of the first network slice identified by the first slice identifier and a bandwidth of the second network slice identified by the second slice identifier, and the first node determines the network slice with the larger bandwidth from the first network slice and the second network slice. This embodiment takes the first network slice as an example, which is the network slice with the larger bandwidth from the first network slice and the second network slice. Therefore, the first node determines the first network slice.
[0127] The slice conflict resolution policy and the implementation of the first node determining the network slice based on the slice conflict resolution policy are only exemplary. In actual applications, the slice conflict resolution policy can further comprise other contents, and the first node can further determine the network slice based on other slice conflict resolution policies. For example, the slice conflict resolution policy can further comprise a port rate-based conflict resolution policy, and the first node can further determine the network slice based on the port rate-based conflict resolution policy. The embodiments of the present application do not limit this.
[0128] S605. The first node sends a second join message C2 through a second port, the second join message C2 comprising the multicast source group information W and the first slice identifier, and the second port being a port corresponding to the first network slice determined based on the first slice identifier.
[0129] The second port in the first node is a port corresponding to the first network slice, the second port is a 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 policy, the first node generates the 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 comprises 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 comprises an encoded source address field as shown in Figure 3 The join 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 according to the first slice identifier through RPF routing. 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 determines the out port of the second join message C2 according to the unicast routing table of the first node according to the destination address 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 first slice identifier and the lookup result. In one embodiment, the first node determines that the out port of the second join message C2 is the second port corresponding to the first network slice by looking up 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 out port of the second join message C2 is a physical port by looking up the unicast routing table, 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, the forwarding entry V including 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 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 entry V is a multicast forwarding entry. In the forwarding entry V, the first port and the third port are both out ports, and the second port is an in port, so the first port and the third port are both out ports of the multicast service corresponding to the multicast source group information W in the first node, and the second port is an in 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 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 one example, the identifier of the first port is U-P1, the identifier of the second port is U-P2, and the identifier of the third port is U-P3, and the forwarding entry V is shown in Table 5 below.
[0133] Table 5 (forwarding entry V)
[0134]
[0135] After the first node obtains the forwarding entry V, the subsequent first node forwards the multicast service corresponding to the multicast source group information W to the multicast receiving end according to the forwarding entry V. For example, the first node receives the multicast packet 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 entry V shown in Table 5, and sends the multicast packet 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] The technical scheme provided by the embodiments of the present application is that the first port and the second port in the first node are both the ports corresponding to the first network slice in the first node, the third port in the first node is the port corresponding to the second network slice in the first node, the first node generates the forwarding 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, which can facilitate the first node to forward the multicast service corresponding to the multicast source group information through the network slice according to the forwarding entry, guarantee the quality requirement of the multicast service, realize the isolation of the multicast service and other services, and realize the flexible use of network resources.
[0137] The leaf node in the multicast network can use the method introduced in the embodiment shown in Figure 2 The root node in the multicast network can use the method introduced in the embodiment shown in Figure 4 The intermediate node in the multicast network can use the method introduced in the embodiment shown in Figure 5 or Figure 6The method provided by the embodiment obtains the forwarding table item for forwarding the multicast service corresponding to the multicast source group information W. The forwarding table items obtained by the leaf node, the intermediate node and the root node in the multicast network are also called the multicast forwarding tree of the multicast service corresponding to the multicast source group information W. The forwarding table items include information of reachable multicast receivers. The leaf node, the intermediate node and the root node can forward the multicast service from the multicast source corresponding to the multicast source group information W to the multicast receivers according to the forwarding table items. Therefore, after the leaf node, the intermediate node and the root node obtain the forwarding table items for forwarding the multicast service corresponding to the multicast source group information W, the multicast receivers successfully join the multicast source group identified by the multicast source group information W. The forwarding table items obtained by the leaf node, the intermediate node and the root node all include the port corresponding to the network slice, and the forwarding table items are all associated with the network slice. The leaf node, the intermediate node and the root node can forward the multicast service through the network slice according to the forwarding table items.
[0138] In order 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. As shown in Figure 7 , the network node 110 is a root node, the network nodes 140-160 are leaf nodes, and the network nodes 120-130 are intermediate nodes. The port P13 of the network node 110 is connected with the multicast source 200, and the multicast source 200 accesses the multicast network 100 through the network node 110. The port P41 of the network node 140 is connected with the multicast receiver 310, and the multicast receiver 310 accesses the multicast network 100 through the network node 140. The port P51 of the network node 150 is connected with the multicast receiver 320, and the port P52 of the network node 150 is connected with the multicast receiver 330. The multicast receivers 320-330 access the multicast network 100 through the network node 150. The port P61 of the network node 160 is connected with the multicast receiver 340, and the multicast receiver 340 accesses the multicast network 100 through the network node 160. The multicast source 200 is used to provide a multicast service 1. The multicast network 100 is deployed with a network slice 1 and a network slice 2, both of which are network slices for the multicast service 1. The network slice 1 and the network slice 2 are both used to forward the multicast service 1. The slice port of the network slice 1 is the port x.1, and the slice port of the network slice 2 is the port x.2. In each network node, the port x.1 (i.e., the slice port x.1) and the port x.2 (i.e., the slice port x.2) can be different logical ports in the same physical port, or can be logical ports in different physical ports. Figure 7As shown, the ports corresponding to network slice 1 in network node 110 (i.e. slice port x.1) include port P11 and port P12; the ports corresponding to network slice 1 in network node 120 (i.e. slice port x.1) include port P21 and port P23, the ports corresponding to network slice 2 in network node 120 (i.e. slice port x.2) include port P22; the ports corresponding to network slice 1 in network node 130 (i.e. slice port x.1) include port P31 and port P32; the ports corresponding to network slice 1 in network node 140 (i.e. slice port x.1) include port P42; the ports corresponding to network slice 2 in network node 150 (i.e. slice port x.2) include port P53; the ports corresponding to network slice 1 in network node 160 (i.e. slice port x.1) include port P62. Figure 7 In the first example, each of network nodes 110-160 includes slice port x.1 corresponding to network slice 1 and slice port x.2 corresponding to network slice 2, and the ports in any network node leading to another network node include slice port x.1 corresponding to network slice 1 and slice port x.2 corresponding to network slice 2, for example Figure 7 In the first example, each of network nodes 110-160 includes slice port x.1 corresponding to network slice 1 and slice port x.2 corresponding to network slice 2, and the ports in any network node leading to another network node include slice port x.1 corresponding to network slice 1 and slice port x.2 corresponding to network slice 2, for example
[0140] In the 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 (i.e. the bandwidth of port x.1) is 10M, and the bandwidth of network slice 2 (i.e. 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.
[0141] Table 6
[0142]
[0143]
[0144] In the example, the multicast source group information of multicast service 1 is (S1, G1), network node 140 and network node 160 each include a mapping relationship (e.g. referred to as mapping relationship 1) between the multicast source group information (S1, G1) of multicast service 1 and the slice identifier "1" of network slice 1, and network node 150 includes a mapping relationship (e.g. referred to as mapping relationship 2) between the multicast source group information (S1, G1) of multicast service 1 and the slice identifier "2" of network slice 2. The mapping relationship 1 is shown in Table 7, and the mapping relationship 2 is shown in Table 8.
[0145] Table 7 (mapping relationship 1)
[0146] Multicast Source Group Information Slice Identifier (S1, G1) 1
[0147] Table 8 (Mapping Relationship 2)
[0148] Multicast Source Group Information Slice Identifier (S1, G1) 2
[0149] The multicast receiving end 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, and the network nodes 110~160 in the multicast network 100 respectively obtain the forwarding table item (that is, the multicast forwarding table item, the multicast forwarding tree) for forwarding the multicast service 1 according to the port receiving the multicast join message and the multicast source group information (S1, G1) included in the multicast join message, so as to realize that the multicast receiving end 310~340 joins the multicast source group corresponding to the multicast service 1.
[0150] The process that the multicast receiving end 310~340 joins the multicast source group corresponding to the multicast service 1 is introduced as follows.
[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 the port P42 (the network node 140 determines that the out port of the multicast join message 140 is the port P42 according to the destination address of the multicast join message 140, so the multicast join message 140 is sent through the port P42; or, the network node 140 determines that the out port of the multicast join message 140 is a physical port according to the destination address of the multicast join message 140, the physical port includes the port P42 corresponding to the network slice 1, and the network node 140 determines that 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 the port P42). The network node 140 generates the multicast forwarding table item shown in Table 9 according to the multicast source group information (S1, G1), the port P41 receiving the multicast join message 310 by the network node 140, and the port P42 sending the multicast join message 140 by the network node 140.
[0152] Table 9
[0153] Multicast Source Group Information Ingress Port (IIF) Egress Port (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. The multicast join message 320 and the multicast join message 330 both include the multicast source group information (S1, G1). The network node 150 receives the multicast join message 320 through the port P51. 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 mapping relationship 2. The network node 150 receives the multicast join message 330 through the port P52. 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 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”. 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 the port P53 (the network node 150 determines that the out port of the multicast join message 150 is the port P53 according to the destination address of the multicast join message 150, so the network node 150 sends the multicast join message 150 through the port P53; or the network node 150 determines that the out port of the multicast join message 150 is a physical port according to the destination address of the multicast join message 150. The physical port includes the port P53 corresponding to the network slice 2. The network node 150 determines that 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 the port P53). The network node 150 generates a multicast forwarding table item shown in Table 10 according to 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 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 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”, and 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 the port P62 (the network node 160 determines that the out port of the multicast join message 160 is the port P62 according to the destination address of the multicast join message 160, so the network node 160 sends the multicast join message 160 through the port P62; or the network node 160 determines that the out port of the multicast join message 160 is a physical port according to the destination address of the multicast join message 160, the physical port includes the port P62 corresponding to the network slice 1, and the network node 160 determines that 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 the port P62). The network node 160 generates a multicast forwarding table item shown in Table 11 according to the multicast source group information (S1, G1), the port P61 through which the network node 160 receives the multicast join message 340, and the port P62 through which the network node 160 sends the multicast join message 160.
[0158] Table 11
[0159] Multicast Source Group Information Ingress Port (IIF) Egress Port (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 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 the slice attribute conflict. The network node 120 determines the network slice 1 based on the slice conflict resolution policy. 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 the port P23 (the network node 120 determines that the out port of the multicast join message 120 is the port P23 according to the destination address of the multicast join message 120, so the network node 120 sends the multicast join message 120 through the port P23; or, the network node 120 determines that the out port of the multicast join message 120 is a physical port according to the destination address of the multicast join message 120. The physical port includes the port P23 corresponding to the network slice 1. The network node 120 determines that 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 the port P23). The network node 120 generates the multicast forwarding table entry shown in Table 12 according to 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 comprises 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 comprises the multicast source group information (S1, G1) and the slice identifier “1”. The network node 130 sends the multicast join message 130 through the port P32 (the network node 130 determines the out port of the multicast join message 130 is the port P32 according to the destination address of the multicast join message 130, so the multicast join message 130 is sent through the port P32; or, the network node 130 determines the out port of the multicast join message 130 is a physical port according to the destination address of the multicast join message 130, the physical port comprises the port P32 corresponding to the network slice 1, and the network node 130 determines that the port P32 comprised by the physical port according to the slice identifier “1”, so the network node 130 sends the multicast join message 130 through the port P32). The network node 130 generates the multicast forwarding table entry shown in Table 13 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) Egress Port (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 comprised by the multicast join message 120 is same as the multicast source group information comprised by the multicast join message 130, and the slice identifier comprised by the multicast join message 120 is same as the slice identifier comprised by the multicast join message 130, and the network node 110 determines that the multicast join message 120 and the multicast join message 130 do not have slice attribute conflict. The network node 110 determines the out port is the port P13 according to the destination address of the multicast join message 120 (the out port determined according to the destination address of the multicast join message 130 is still the port P13). The network node 110 generates the multicast forwarding table entry shown in Table 14 according to the multicast source group information (S1, G1), the port P11 at which the network node 110 receives the multicast join message 120, the port P12 at which the network node 110 receives the multicast join message 130, and the port P13.
[0167] Table 14
[0168]
[0169] Through the above process, the network nodes 110-160 establish a multicast forwarding tree corresponding to the multicast service 1 from the multicast source 220 to the multicast receiving ends 310-340 (the multicast forwarding tree is embodied in the multicast forwarding table entry in the network node), which is bound with the network slice 1 and the network slice 2, and subsequent multicast streams belonging to the multicast service 1 from the multicast source 220 to the multicast receiving ends 310-340 are forwarded along the multicast forwarding tree, which can realize forwarding of the multicast stream of the multicast service 1 through the network slice 1 and the network slice 2, realize isolation of the multicast service 1 from other services, guarantee the transmission bandwidth of the multicast service 1, and thus guarantee the transmission quality of the multicast service 1.
[0170] In this first example, the multicast source group information (S1, G1) can be the multicast source group information W in the above embodiments, multicast service 1 is the multicast service corresponding to the multicast source group information W, network slice 1 is the first network slice in the above embodiments, and network slice 2 is the second network slice in the above embodiments. In an optional implementation, the multicast receiver 310 is the multicast receiver R in the above embodiments, the network node 140 is the leaf node L in the above embodiments, the multicast join message 310 is the first join message A1 in the above embodiments, and the multicast join message 140 is the second join message A2 in the above embodiments; the network node 120 is the first node in the above embodiments, the multicast join message 140 is the first join message C1 in the above embodiments, the multicast join message 150 is the third join message C3 in the above embodiments, and the multicast join message 120 is the second join message C2 in the above embodiments; or, the network node 110 is the first node in the above embodiments, and the multicast join message 120 is the first join message C1 in the above embodiments. In another optional implementation, multicast receiver 320 or multicast receiver 330 is the multicast receiver R in the above embodiment, network node 150 is the leaf node L in the above embodiment, multicast join message 320 or multicast join message 330 is the first join message A1 in the above embodiment, and multicast join message 150 is the second join message A2 in the above embodiment; network node 120 is the first node in the above embodiment, multicast join message 140 is the first join message C1 in the above embodiment, multicast join message 150 is the third join message C3 in the above embodiment, and multicast join message 120 is the second join message C2 in the above embodiment; or, network node 110 is the first node in the above embodiment, and multicast join message 120 is the first join message C1 in the above embodiment. In another optional implementation, multicast receiver 340 is multicast receiver R in the above embodiment, network node 160 is leaf node L in the above embodiment, multicast join message 340 is first join message A1 in the above embodiment, and multicast join message 160 is second join message A2 in the above embodiment; network node 130 is first node in the above embodiment, multicast join message 160 is first join message C1 in the above embodiment, and multicast join message 130 is second join message C2 in the above embodiment; or, network node 110 is first node in the above embodiment, and multicast join message 130 is first join message C1 in the above embodiment. This application does not limit this implementation.
[0171] Second example: Please refer to Figure 8 This illustration shows a schematic diagram of another multicast joining method provided in an embodiment of this application. For example... Figure 8As shown, the network node 110 is a root node, the network nodes 140-160 are leaf nodes, and the network nodes 120-130 are intermediate nodes. The port P13 of the network node 110 is connected with the multicast source 200, and the multicast source 200 accesses the multicast network 100 through the network node 110. The port P41 of the network node 140 is connected with the multicast receiver 310, and the multicast receiver 310 accesses the multicast network 100 through the network node 140. The port P51 of the network node 150 is connected with the multicast receiver 320, and the port P52 of the network node 150 is connected with the multicast receiver 330, and the multicast receivers 320-330 access the multicast network 100 through the network node 150. The port P61 of the network node 160 is connected with the multicast receiver 340, and the multicast receiver 340 accesses the multicast network 100 through the network node 160. The multicast source 200 is configured to provide a multicast service 1 and a multicast service 2. The multicast network 100 is deployed with a Flex-Algo1, a Flex-Algo2, a network slice 1, and a network slice 2. The Flex-Algo1 defines a forwarding plane including the network nodes 110, 120, 130, 140, and 160, and the network slice 1 is bound with the forwarding plane based on the Flex-Algo1 (the forwarding plane based on the Flex-Algo1 is also referred to as the forwarding plane defined by the Flex-Algo1, and the network slice 1 is a network slice deployed in the forwarding plane defined by the Flex-Algo1). The Flex-Algo2 defines a forwarding plane including the network nodes 110, 120, and 150, and the network slice 2 is bound with the forwarding plane based on the Flex-Algo2 (the forwarding plane based on the Flex-Algo2 is also referred to as the forwarding plane defined by the Flex-Algo2, and the network slice 2 is a network slice deployed in the forwarding plane defined by the Flex-Algo2). The network slice 1 is a network slice for the multicast service 1, and the network slice 1 is configured to forward the multicast service 1. The network slice 2 is a network slice for the multicast service 2, and the network slice 2 is configured to forward the multicast service 2. The slice port of the network slice 1 is port x.1, and the slice port of the network slice 2 is port x.2. In each network node, the port x.1 (also referred to as the slice port x.1) and the port x.2 (also referred to as the slice port x.2) are different logical ports in a same physical port or are logical ports in different physical ports. Figure 8As shown, the ports corresponding to network slice 1 in network node 110 (i.e., slice port x.1) include port P11 and port P12, the ports corresponding to network slice 2 in network node 110 (i.e., slice port x.2) include port P14; the ports corresponding to network slice 1 in network node 120 (i.e., slice port x.1) include port P21 and port P23, the ports corresponding to network slice 2 in network node 120 (i.e., slice port x.2) include port P22 and port P24; the ports corresponding to network slice 1 in network node 130 (i.e., slice port x.1) include port P31 and port P32; the ports corresponding to network slice 1 in network node 140 (i.e., slice port x.1) include port P42; the ports corresponding to network slice 2 in network node 150 (i.e., slice port x.2) include port P53; the ports corresponding to network slice 1 in network node 160 (i.e., slice port x.1) include 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 (i.e., the bandwidth of port x.1) is 10M, the bandwidth of network slice 2 (i.e., the bandwidth of port x.2) is 20M, and the related information of network slice 1 and the related information of network slice 2 are shown in Table 15.
[0173] Table 15
[0174] Slice Port (Port) Slice Identifier 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 (for example, referred to as mapping relationship 3) between the multicast source group information (S1, G1) and the slice identifier "1", network node 150 includes a mapping relationship (for example, referred to as mapping relationship 4) between the multicast source group information (S2, G2) and the slice identifier "2", the mapping relationship 3 is shown in Table 16, and the mapping relationship 4 is shown in Table 17.
[0177] Table 16 (mapping relationship 3)
[0178] Multicast Source Group Information Slice Identifier (S1, G1) 1
[0179] Table 17 (Mapping Relationship 4)
[0180] Multicast Source Group Information Slice Identifier (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 including the multicast source group information (S1, G1) of the multicast service 1, and the network nodes 110, 120, 130, 140 and 160 (network nodes in the forwarding plane defined by Flex-Algo1) in the multicast network 100 respectively obtaining the forwarding table entry (i.e., multicast forwarding table entry, multicast forwarding tree) for forwarding the multicast service 1 according to the port receiving or sending the multicast join message and the multicast source group information (S1, G1) included in the multicast join message, so as to realize the joining of the multicast receiving ends 310 and 340 to 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 including the multicast source group information (S2, G2) of the multicast service 2, and the network nodes 110, 120 and 150 (network nodes in the forwarding plane defined by Flex-Algo2) in the multicast network 100 respectively obtaining the forwarding table entry (i.e., multicast forwarding table entry, multicast forwarding tree) for forwarding the multicast service 2 according to the port receiving or sending the multicast join message and the multicast source group information (S2, G2) included in the multicast join message, so as to realize the joining of the multicast receiving ends 320 and 330 to the multicast source group corresponding to the multicast service 2.
[0182] The process of the multicast receiving ends 310 and 340 joining the multicast source group corresponding to the multicast service 1, and the process of the multicast receiving ends 320 and 330 joining the multicast source group corresponding to the multicast service 2 will be introduced below.
[0183] The multicast receiving end 310 sends a multicast join message 310 to the network node 140, and the multicast join message 310 includes 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 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 the port P42 (the network node 140 determines that the out port of the multicast join message 140 is the port P42 according to the destination address of the multicast join message 140, so the multicast join message 140 is sent through the port P42; or the network node 140 determines that the out port of the multicast join message 140 is a physical port according to the destination address of the multicast join message 140, the physical port includes the port P42 corresponding to the network slice 1, and the network node 140 determines that the port P42 is included in the physical port according to the slice identifier “1”, so the multicast join message 140 is sent through the port P42). The network node 140 generates a multicast forwarding table item shown in Table 18 according to the multicast source group information (S1, G1), the port P41 through which the network node 140 receives the multicast join message 310, and the port P42 through which the network node 140 sends the multicast join message 140.
[0184] Table 18
[0185] Multicast Source Group Information Ingress Port (IIF) Egress Port (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. The multicast join message 320 and the multicast join message 330 both include the multicast source group information (S2, G2). The network node 150 receives the multicast join message 320 through the port P51. 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 mapping relationship 4. The network node 150 receives the multicast join message 330 through the port P52. 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 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”. 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 the port P53 (the network node 150 determines that the out port of the multicast join message 150 is the port P53 according to the destination address of the multicast join message 150, so the multicast join message 150 is sent through the port P53; or the network node 150 determines that the out port of the multicast join message 150 is a physical port according to the destination address of the multicast join message 150, the physical port includes the port P53 corresponding to the network slice 2, and the network node 150 determines that the port P53 included in the physical port according to the slice identifier “2”, so the multicast join message 150 is sent through the port P53). The network node 150 generates a multicast forwarding table item shown in Table 19 according to the multicast source group information (S2, G2), 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.
[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 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 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”, and 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 the port P62 (the network node 160 determines that the out port of the multicast join message 160 is the port P62 according to the destination address of the multicast join message 160, so the multicast join message 160 is sent through the port P62; or the network node 160 determines that the out port of the multicast join message 160 is a physical port according to the destination address of the multicast join message 160, the physical port includes the port P62 corresponding to the network slice 1, and the network node 160 determines that the port P62 included in the physical port according to the slice identifier “1”, so the multicast join message 160 is sent through the port P63). The network node 160 generates a multicast forwarding table item shown in Table 20 according to the multicast source group information (S1, G1), the port P61 through which the network node 160 receives the multicast join message 340, and the port P62 through 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 comprises 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”, the multicast join message 1201 comprises the multicast source group information (S1, G1) and the slice identifier “1”. The network node 120 sends the multicast join message 1201 through the port P23 (the network node 120 determines the out port of the multicast join message 1201 is the port P23 according to the destination address of the multicast join message 1201, so the multicast join message 1201 is sent through the port P23; or, the network node 120 determines the out port of the multicast join message 1201 is a physical port according to the destination address of the multicast join message 1201, the physical port comprises the port P23 corresponding to the network slice 1, the network node 120 determines the port P23 comprised by the physical port according to the slice identifier “1”, so the multicast join message 1201 is sent through the port P23). The network node 120 generates the multicast forwarding table item shown in the following table 21 according to the multicast source group information (S1, G1), the port P21 through which the network node 120 receives the multicast join message 140 and the port P23 through which the network node 120 sends the multicast join message 1201.
[0194] Table 21
[0195] Multicast Source Group Information Ingress Port (IIF) Egress Port (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 comprises 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”, the multicast join message 1202 comprises the multicast source group information (S2, G2) and the slice identifier “2”. The network node 120 sends the multicast join message 1202 through the port P24 (the network node 120 determines the out port of the multicast join message 1202 is the port P24 according to the destination address of the multicast join message 1202, so the multicast join message 1202 is sent through the port P24; or, the network node 120 determines the out port of the multicast join message 1202 is a physical port according to the destination address of the multicast join message 1202, the physical port comprises the port P24 corresponding to the network slice 2, the network node 120 determines the port P24 comprised by the physical port according to the slice identifier “2”, so the multicast join message 1202 is sent through the port P24). The network node 120 generates the multicast forwarding table item shown in the following table 22 according to the multicast source group information (S2, G2), the port P22 through which the network node 120 receives the multicast join message 150 and the port P24 through which the network node 120 sends the multicast join message 1202.
[0197] Table 22
[0198] Multicast Source Group Information Ingress Port (IIF) Egress Port (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 comprises 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 comprises the multicast source group information (S1, G1) and the slice identifier “1”. The network node 130 sends the multicast join message 130 through the port P32 (the network node 130 determines the out port of the multicast join message 130 is the port P32 according to the destination address of the multicast join message 130 in the unicast routing table, so the multicast join message 130 is sent through the port P32; or, the network node 130 determines the out port of the multicast join message 130 is a physical port according to the destination address of the multicast join message 130 in the unicast routing table, the physical port comprises the port P32 corresponding to the network slice 1, the network node 130 determines the port P32 comprised by the physical port according to the slice identifier “1”, so the multicast join message 130 is sent through the port P32). The network node 130 generates the multicast forwarding table entry shown in the following table 23 according to the multicast source group information (S1, G1), the port P31 through which the network node 130 receives the multicast join message 160, and the port P32 through which the network node 130 sends the multicast join message 130.
[0200] Table 23
[0201] Multicast Source Group Information Ingress Port (IIF) Egress Port (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 comprised by the multicast join message 1201 is same as the multicast source group information comprised by the multicast join message 130, and the slice identifier comprised by the multicast join message 1201 is same as the slice identifier comprised by the multicast join message 130, the network node 110 determines that the multicast join message 1201 and the multicast join message 130 do not have slice attribute conflict. The network node 110 determines the out port is the port P13 according to the destination address of the multicast join message 1201 in the unicast routing table (the out port determined according to the destination address of the multicast join message 130 in the unicast routing table is still the port P13). The network node 110 generates the multicast forwarding table entry shown in the following table 24 according to the multicast source group information (S1, G1), the port P11 through which the network node 110 receives the multicast join message 1201, the port P12 through which the network node 110 receives the multicast join message 130, and the port P13.
[0203] Table 24
[0204]
[0205] The network node 110 receives the multicast join message 1202 through the port P14. The network node 110 determines that the port is the port P13 according to the destination address of the multicast join message 1202 in the unicast routing table. The network node 110 generates the multicast forwarding table item shown in Table 25 according to the multicast source group information (S2, G2) included in the multicast join message 1202, the port P14 through which the network node 110 receives the multicast join message 1202, and the port P13.
[0206] Table 25
[0207] Multicast Source Group Information Ingress Port (IIF) Egress Port (OIF) (S2, G2) P13 P14(x.2)
[0208] Through the above process, the network nodes 110, 120, 130, 140, and 160 establish the multicast forwarding tree 1 corresponding to the multicast service 1 from the multicast source 220 to the multicast receiving end 310 and 340 (the multicast forwarding tree is the multicast forwarding table item in the network node), the multicast forwarding tree 1 is bound with the network slice 1, and the subsequent multicast flow belonging to the multicast service 1 from the multicast source 220 to the multicast receiving end 310 and 340 is forwarded along the multicast forwarding tree 1, which can realize forwarding the multicast flow of the multicast service 1 through the network slice 1. The network nodes 110, 120, and 150 establish the multicast forwarding tree 2 corresponding to the multicast service 2 from the multicast source 220 to the multicast receiving end 310 and 340, the multicast forwarding tree 2 is bound with the network slice 2, and the subsequent multicast flow belonging to the multicast service 2 from the multicast source 220 to the multicast receiving end 320 and 330 is forwarded along the multicast forwarding tree 2, which can realize forwarding the multicast flow of the multicast service 2 through the network slice 2. The embodiment can realize isolation of the multicast service 1 and the multicast service 2, and guarantee the transmission bandwidth and quality of the multicast service 1 and the multicast service 2 respectively. In the embodiment, since the network slice 1 is bound with the forwarding plane based on Flex-Algo1, and the network slice 2 is bound with the forwarding plane based on Flex-Algo2, the multicast flow of the multicast service 1 is forwarded through the forwarding plane based on Flex-Algo1, and the multicast flow of the multicast service 2 is forwarded through the forwarding plane based on Flex-Algo2, which can realize different multicast services through different Flex-Algo forwarding planes.
[0209] Optionally, in this second example, the multicast source group information (S1, G1) is the multicast source group information W in the above embodiment, multicast service 1 is the multicast service corresponding to the multicast source group information W, and network slice 1 is the first network slice in the above embodiment. In an optional implementation, the multicast receiver 310 is the multicast receiver 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, multicast receiver 340 is multicast receiver R in the above embodiment, network node 160 is leaf node L in the above embodiment, multicast join message 340 is first join message A1 in the above embodiment, and multicast join message 160 is second join message A2 in the above embodiment; network node 130 is first node in the above embodiment, multicast join message 160 is first join message C1 in the above embodiment, and multicast join message 130 is second join message C2 in the above embodiment; or, network node 110 is first node in the above embodiment, and multicast join message 130 is first join message C1 in the above embodiment.
[0210] The above describes the method embodiments of this application. The apparatus embodiments of this application are described below. The apparatus of this application can be used to execute the method of this application. For details not disclosed in the apparatus embodiments of this application, please refer to the method embodiments.
[0211] Please refer to Figure 9 This illustration shows a schematic diagram of a multicast joining device 900 provided in an embodiment of this 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 within that leaf node, or the multicast joining device 900 is a first node or a functional component within that first node. The multicast joining device 900 can implement... Figure 2 , Figure 4 to Figure 6 Any of the illustrated embodiments. For example... Figure 9 As shown, the multicast joining device 900 includes: a receiving module 910, a processing module 920, and a sending module 930.
[0212] In an embodiment, the multicast joining apparatus 900 is applied to a leaf node; the receiving module 910 is configured to receive a first joining packet sent by a multicast receiving end, the first joining packet comprising multicast source group information; the processing module 920 is configured to obtain a slice identifier according to the multicast source group information and a mapping relationship, the mapping relationship comprising the multicast source group information and the slice identifier, the slice identifier being used to identify a network slice; and the sending module 930 is configured to send a second joining packet through a first port, the second joining packet comprising the multicast source group information and the slice identifier, the first port being a port corresponding to the network slice and determined based on the slice identifier. The function of the receiving module 910 is described in S201 above, and the function of the processing module 920 is described in S202 above. The function of the sending module 930 is described in S203 above.
[0213] In an optional implementation of the embodiment, the processing module 920 is further configured to obtain a forwarding table item according to the multicast source group information, the first port and a second port, the forwarding table item comprising the multicast source group information, an identifier of the first port and an identifier of the second port, the second port being used to receive the first joining packet. The function of the processing module 920 is described in S204 above.
[0214] In an optional implementation of the embodiment, the second joining packet comprises a joining attribute field, the joining attribute field being used to carry the slice identifier.
[0215] In an optional implementation of the embodiment, the network slice is a Flex-Algo-based network slice, and the network slice is bound to a forwarding plane defined by the Flex-Algo.
[0216] In another embodiment, the multicast joining apparatus 900 is applied to a first node; the receiving module 910 is configured to receive a first joining packet sent by a second node through a first port, the first joining packet comprising multicast source group information and a first slice identifier, the first slice identifier being used to identify a first network slice, and the first port being a port corresponding to the first network slice; and the processing module 920 is configured to obtain a forwarding table item according to the multicast source group information and the first port, the forwarding table item comprising the multicast source group information and an identifier of the first port. The function of the receiving module 910 is described in S401, S501 or S601 above. The function of the processing module 920 is described in S402 above.
[0217] In an optional implementation of the 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 the other embodiment, the first node is an intermediate node, and the second node is a leaf node or an intermediate node. The sending module 930 is configured to send a second join message including the multicast source group information and the first slice identifier via a second port determined based on the first slice identifier and corresponding to the first network slice. The function of the sending module 930 can be implemented in the manner as described above with reference to S502 or S605.
[0219] In an optional implementation of the other embodiment, the processing module 920 is configured to obtain a forwarding table entry including the multicast source group information, an identifier of the first port, and an identifier of the second port, according to the multicast source group information, the first port, and the second port. The function of the processing module 920 can be implemented in the manner as described above with reference to S503.
[0220] In an optional implementation of the other embodiment, the receiving module 910 is further configured 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 used to identify a second network slice. The processing module 920 is further configured to determine that a slice attribute carried by the third join message conflicts with a slice attribute carried by the first join message, and determine the first network slice based on a slice conflict resolution policy. The function of the receiving module 910 can be implemented in the manner as described above with reference to S602, and the function of the processing module 920 can be implemented in the manner as described above with reference to S603 to S604.
[0221] In an optional implementation of the other embodiment, the processing module 930 is configured to obtain a forwarding table entry including the multicast source group information, an identifier of the first port, an identifier of the second port, and an identifier of a third port, according to the multicast source group information, the first port, the second port, and the third port. The third port is a port corresponding to the second network slice and used to receive the third join message. The function of the processing module 920 can be implemented in the manner as described above with reference to S606.
[0222] Optionally, the slice conflict resolution policy includes at least one of a slice identifier-based conflict resolution policy and a slice bandwidth-based conflict resolution policy. The slice identifier-based conflict resolution policy includes determining a network slice with a smaller slice identifier or determining a network slice with a larger slice identifier. The slice bandwidth-based conflict resolution policy includes determining a network slice with a smaller bandwidth or determining a network slice with a larger bandwidth.
[0223] In an optional implementation of the other embodiment, the first join message includes a join attribute field used to carry the first slice identifier. The second join message includes a join attribute field used to carry the first slice identifier. The third join message includes a join attribute field used to carry the second slice identifier.
[0224] In an optional implementation of the other embodiment, the first network slice is a network slice based on a first Flex-Algo, and the first network slice is bound to a forwarding plane defined by the first Flex-Algo. The second network slice is a network slice based on a second Flex-Algo, and the second network slice is bound to a forwarding plane defined by the second Flex-Algo.
[0225] The multicast joining apparatus provided by the embodiments of the present application can also be implemented by an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The 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 by the method embodiments can also be implemented by software. When the multicast joining method provided by the method embodiments is implemented by software, each module in the multicast joining apparatus can also be a software module.
[0226] The embodiments of the present application provide a multicast joining apparatus. The multicast joining apparatus is applied to a network node. The network node is a leaf node or a first node in the above-described embodiments. The first node is a root node or an intermediate node. The multicast joining apparatus 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 apparatus performs all or part of the steps of the multicast joining method provided by the method embodiments.
[0227] As an example, refer to Figure 10 which shows a schematic diagram of a multicast joining apparatus 1000 provided by an embodiment of the present application. The multicast joining apparatus 1000 is a network node or a functional component in a network node. The network node is a leaf node or a first node in the above-described embodiments. The multicast joining apparatus 1000 can implement Figure 2 、 Figure 4 to Figure 6 any of the embodiments shown. As Figure 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, it also includes a switching network board (…). Figure 10 (Not shown in the image), the switching network board is used to complete the data exchange between interface boards (interface boards are also called line cards or service boards).
[0228] The main control board 1010 is used to perform functions such as system management, equipment maintenance, and protocol processing. Interface boards 1030 and 1040 provide various service interfaces (e.g., POS interface, GE interface, ATM interface, etc.) and implement message forwarding. The main control board 1010 mainly has three types of functional units: a system management control unit, a system clock unit, and a system maintenance unit. The main control board 1010, interface boards 1030, and interface boards 1040 communicate with each other via a system bus connected to the system backplane. Interface board 1030 includes one or more processors 1031. Processors 1031 control and manage interface boards 1030 and communicate with the central processing unit 1012 on the main control board 1010. The memory 1032 on interface board 1030 stores forwarding table entries. When the network node is a leaf node, the memory 1032 on interface board 1030 also maps 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 will not be detailed here. Figure 10 As shown, the main control board 1010 also includes a memory 1014, which is used to store system management information, protocols, etc. This application embodiment does not limit this.
[0229] like Figure 10 As shown, this embodiment includes multiple interface boards and employs a distributed forwarding mechanism. Under this mechanism, the operation on interface board 1040 is basically similar to that on interface board 1030. For example, interface board 1040 includes one or more network interfaces 1043 for receiving and sending packets, interface board 1040 includes a memory 1042 for storing forwarding table entries, multicast source group information, and the mapping relationship of slice identifiers, and interface board 1040 includes a processor 1041 for controlling and managing interface board 1040 and communicating with the central processing unit 1012 on the main control board 1010. For simplicity, interface board 1040 will not be described in detail here.
[0230] Figure 10The processor 1031 in the interface board 1030 and / or the processor 1041 in the interface board 1040 can be a special-purpose hardware or chip, such as a network processor or an application-specific integrated circuit, to implement the above functions, which is a commonly known as a special-purpose hardware or chip processing mode for a forwarding plane. In another embodiment, the processor 1031 in the interface board 1030 and / or the processor 1041 in the interface board 1040 can also be a general-purpose processor, such as a general-purpose central processing unit (CPU).
[0231] The master board can have one or more, and when there are multiple master boards, the master boards can include a primary master board and a backup master board. The interface board can have one or more, and the more powerful the data processing capability of the network node is, the more interface boards are provided. In the case of multiple interface boards, the multiple interface boards can communicate through one or more switching network boards, and when there are multiple interface boards, they can jointly implement load sharing and redundancy. In the centralized forwarding architecture, the network node can not need a switching network board, and the interface board can undertake the processing function of the entire system for service data. In the distributed forwarding architecture, the network node includes multiple interface boards, and the multiple interface boards can exchange data through the switching network board to provide large-capacity data exchange and processing capability. Therefore, the data access and processing capability of the network node in the distributed architecture is greater than that of the network node in the centralized architecture. The specific architecture to be adopted depends on the networking deployment scenario, and no limitation is made herein.
[0232] In an optional embodiment, the memory 1032 and / or the memory 1042 is a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type of dynamic storage device that can store information and instructions, an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disk storage, a magnetic disk or other magnetic storage device, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited thereto. The memory 1032 can exist independently and be connected to the processor 1031 through a communication bus, or can be integrated with the processor 1031. The memory 1042 can exist independently and be connected to the processor 1041 through a communication bus, or can be integrated with the processor 1041.
[0233] The memory 1032 stores program code (i.e., a computer program) and is executed under the control of the processor 1031 to perform some or all of the steps of the method provided in the above embodiments. The processor 1031 executes the program code stored in the memory 1032. The program code may include one or more software modules. These one or more software modules can be the methods described above. Figure 9 The functional modules provided in the illustrated embodiments. The memory 1042 can also be used to store program code, and its execution is controlled by the processor 1041 to perform some or all of the steps of the method provided in the above embodiments. Similarly, the memory 1014 can also be used to store program code, and its execution is controlled by the central processing unit 1012 to perform some or all of the steps of the method provided in the above embodiments.
[0234] In optional implementations, network interfaces 1033 and 1043 can be any transceiver-like device used to communicate with other devices or networks, such as Ethernet, radio access network (RAN), wireless local area networks (WLAN), etc.
[0235] As another example, please refer to Figure 11 This illustration shows a schematic diagram of a multicast joining device 1100 provided in an embodiment of this application. The multicast joining device 1100 is a network node or a functional component within a network node, which is a leaf node or a first node in the above embodiments. The multicast joining device 1100 can implement... Figure 2 , Figure 4 to Figure 6 Any of the illustrated embodiments. For example... Figure 11 As shown, the multicast joining device 1100 includes a processor 1102, a memory 1104, a communication interface 1106, and a bus 1108. The processor 1102, memory 1104, and communication interface 1106 are communicatively connected through the bus 1108. Figure 11 The connection method between the processor 1102, memory 1104 and communication interface 1106 shown is merely exemplary. In the implementation process, the processor 1102, memory 1104 and communication interface 1106 may also be connected in a way other than bus 1108. This application embodiment does not limit this.
[0236] The memory 1104 is configured to store a computer program 11042, which can include instructions and data. The memory 1104 can 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, and registers, etc.
[0237] The processor 1102 can be a general-purpose processor or a dedicated processor. The general-purpose processor is a processor that performs specific steps and / or operations by reading and executing a computer program (such as the computer program 11042) stored in a memory (such as the memory 1104), and can use data stored in the memory (such as the memory 1104) in the process of executing the above steps and / or operations. The stored computer program can be executed to implement the related functions of the foregoing processing module 920, and the general-purpose processor can be a CPU. The dedicated processor is a processor specially designed to perform specific steps and / or operations, and can be a digital signal processor (DSP), an ASIC, or an 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 embodiment methods.
[0238] The communication interface 1106 can include an input / output (I / O) interface, a physical interface, and a logical interface, etc. for realizing the interconnection of devices inside the multicast joining apparatus 1100, and for realizing the interconnection of the multicast joining apparatus 1100 and other devices (such as network nodes). The physical interface can be a gigabit Ethernet (GE) interface, which can be used to realize the interconnection of the multicast joining apparatus 1100 and other devices, and the logical interface is an interface inside the multicast joining apparatus 1100, which can be used to realize the interconnection of devices inside the multicast joining apparatus 1100. The communication interface 1106 can be used for communication between the multicast joining apparatus 1100 and other devices, for example, the communication interface 1106 is used for sending and receiving messages between the multicast joining apparatus 1100 and other devices, and the communication interface 1106 can realize the related functions of the foregoing receiving module 910 and sending module 920. The communication interface 1106 can also include a transceiver to transmit and receive messages, which can also realize the related functions of the foregoing receiving module 910 and sending module 920.
[0239] The bus 1108 can be any type of, for example, system bus, for interconnecting the processor 1102, the memory 1104, and the communication interface 1106.
[0240] The above devices can be respectively arranged on independent chips, or at least partially or entirely arranged on the same chip. Whether to arrange the devices 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 forms of the above devices.
[0241] Figure 11 The multicast joining apparatus 1100 shown is merely exemplary. In implementation, the multicast joining apparatus 1100 can further include other components, which are not listed herein. Figure 11 The multicast joining apparatus 1100 shown is merely exemplary. In implementation, the multicast joining apparatus 1100 can further include other components, which are not listed herein.
[0242] The embodiments of the present application provide a multicast joining system, which includes a leaf node and a first node, the first node being a root node or an intermediate node, at least one of the leaf node and the first node including a multicast joining apparatus as described above. Figure 9 to Figure 11 The multicast joining apparatus shown is merely exemplary. In implementation, the multicast joining apparatus can further include other components, which are not listed herein.
[0243] In one example, the multicast joining system is as shown in the figure, the leaf node is any one of the network nodes 140-160, and the first node is any one of the network nodes 110-130. Figure 1 In one example, the multicast joining system is as shown in the figure, the leaf node is any one of the network nodes 140-160, and the first node is any one of the network nodes 110-130.
[0244] The embodiments of the present application provide 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 by the above method embodiments are implemented.
[0245] The embodiments of the present application provide 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.), all or part of the steps of the method provided by the above method embodiments are implemented.
[0246] The embodiments of the present application provide 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 by the above method embodiments.
[0247] In the above embodiments, all or part can be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part can be implemented in the form of a computer program product including one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present application are generated. The computer can be a general-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer readable storage medium of the computer, or transferred from one computer readable storage medium to another, for example, the computer instructions can be transferred from one website, computer, server or data center to another website, computer, server or data center through wired (such as coaxial cable, optical fiber, digital subscriber line) or wireless (such as infrared, wireless, microwave, etc.) mode. The computer readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. integrated with one or more available media. The available media can be magnetic media (such as floppy disk, hard disk, magnetic tape), optical media, or semiconductor media (such as solid state disk) and the like.
[0248] The term "at least one" in the present application refers to one or more, and the term "multiple" refers to two or more. In the present application, unless otherwise specified, the symbol " / " generally represents the meaning of or, for example, A / B can represent A or B. The term "and / or" in the present application only describes the association relationship of the associated objects, which means that there can be three relationships, for example, A and / or B can represent the three cases of A alone, A and B together, and B alone. In addition, in order to facilitate clear description, the same items or similar items with basically the same functions and effects are distinguished by using "first", "second", "third" and the like in the present application. Those skilled in the art can understand that "first", "second", "third" and the like do not limit the quantity and execution order.
[0249] The different types of embodiments such as method embodiments and device embodiments provided by the embodiments of the present application can be mutually referred to, which are not limited by the embodiments of the present application. The order of operation of the method embodiments provided by the embodiments of the present application can be adjusted appropriately, and the operation can also be increased or decreased in response to the situation. Any person skilled in the art can easily think of changes within the technical scope disclosed by the present application, which should be covered within the protection scope of the present application, therefore, it is not repeated here.
[0250] In the corresponding embodiments provided by the present application, it should be understood that the disclosed apparatuses, etc. can be implemented in other ways. For example, the division of the units is merely a logical function division, and there can be another division manner in actual implementation. For example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections can be indirect couplings or communication connections through some interfaces, devices or units, and can be electrical or other forms.
[0251] The units described as separated components can or can not be physically separated, and the components described as units can or can not be physical units, and can be located in one place or distributed on a plurality of network nodes. Some or all of the units can be selected according to actual needs to achieve the purpose of the embodiments.
[0252] The above describes only exemplary embodiments of the present application, but the protection scope of the present application is not limited thereto, and any person skilled in the art can easily think of various equivalent modifications or replacements within the technical scope disclosed by the present application, which should be covered by the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
Claims
1. A multicast joining method, characterized in that, The method includes: The leaf node receives the first join message sent by the multicast receiver, and the first join message includes multicast source group information; The leaf node obtains the slice identifier based on the multicast source group information and the mapping relationship. The mapping relationship includes the multicast source group information and the slice identifier. The slice identifier is used to identify network slices. The leaf node sends a second join message through a first port. The second join message includes the multicast source group information and the slice identifier. The first port is the port corresponding to the network slice determined based on the slice identifier.
2. The method according to claim 1, characterized in that, The method further includes: the leaf node obtaining a forwarding table entry based on the multicast source group information, the first port, and the second port, wherein 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, which is used to carry the slice identifier.
4. A multicast joining method, characterized in that, The method includes: The first node receives a first join message sent by the second node through a first port. The first join message includes multicast source group information and a first slice identifier. The first slice identifier is used to identify a first network slice. The first port is the port corresponding to the first network slice. The first node obtains a forwarding table entry based on 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.
5. The method according to claim 4, characterized in that, The first node is the root node, and the second node is either a leaf node or an intermediate node.
6. The method according to claim 4, characterized in that, The first node is an intermediate node, and the second node is a leaf node or an intermediate node. The method further includes: the first node sending a second join message through a second port, the second join message including the multicast source group information and the first slice identifier, and the second port being 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 a forwarding table entry based on the multicast source group information and the first port, including: the first node obtains the forwarding table entry based on the multicast source group information, the first port, and the second port, wherein 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 includes: The first node receives a third join message sent by the third node. The third join message includes the multicast source group information and the second slice identifier, which 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.
9. The method according to claim 8, characterized in that, The first node obtains a forwarding table entry based on the multicast source group information and the first port, including: the first node obtains the 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, 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 slice identifier-based conflict resolution strategy and a slice bandwidth-based conflict resolution strategy.
11. The method according to any one of claims 4 to 9, characterized in that, The first join message includes a join attribute field, which is used to carry the first slice identifier.
12. A multicast joining device, characterized in that, Applied to leaf nodes, the device includes: The receiving module is used to receive a first join message sent by the multicast receiver, wherein the first join message includes multicast source group information; The processing module is configured to obtain a slice identifier based on the multicast source group information and the 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; The sending module is used to send a second join message through a first port. 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.
13. The apparatus according to claim 12, characterized in that, The processing module is further configured to obtain forwarding table entries based on the multicast source group information, the first port, and the second port. The forwarding table entries include the multicast source group information, the identifier of the first port, and the identifier of the second port. The second port is used to receive the first join message.
14. The apparatus according to claim 13, characterized in that, The second join message includes a join attribute field, which is used to carry the slice identifier.
15. A multicast joining device, characterized in that, Applied to the first node, the device includes: The receiving module is used to receive a first join message sent by the second node through a first port. The first join message includes multicast source group information and a first slice identifier. The first slice identifier is used to identify a first network slice. The first port is the port corresponding to the first network slice. The processing module is configured to obtain a forwarding table entry based on the multicast source group information and the first port, wherein the forwarding table entry includes the multicast source group information and the identifier of the first port.
16. The apparatus according to claim 15, characterized in that, The first node is the root node, and the second node is either a leaf node or an intermediate node.
17. The apparatus according to claim 15, characterized in that, The first node is an intermediate node, and the second node is a leaf node or an intermediate node. The device further includes a sending module, which 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. The second port is a port corresponding to the first network slice determined based on the first slice identifier.
18. The apparatus according to claim 17, characterized in that, The processing module is configured to obtain the 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.
19. The apparatus according to claim 17, characterized in that, The receiving module is further configured to receive a third join message sent by a third node, the third join message including the multicast source group information and the second slice identifier, the second slice identifier being used to identify the second network slice; The processing module is further configured to determine that the slice attribute carried by the third join message conflicts with the slice attribute carried by the first join message; Furthermore, the first network slice is determined based on the slice conflict resolution strategy.
20. The apparatus according to claim 19, characterized in that, The processing module is configured to obtain the 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, and the third port is used to receive the third join message.
21. The apparatus according to claim 19 or 20, characterized in that, The slice conflict resolution strategy includes at least one of a slice identifier-based conflict resolution strategy and a slice bandwidth-based conflict resolution strategy.
22. The apparatus according to any one of claims 15 to 20, characterized in that, The first join message includes a join attribute field, which 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