[go: up one dir, main page]

CN119520183A - Multicast joining method and device - Google Patents

Multicast joining method and device Download PDF

Info

Publication number
CN119520183A
CN119520183A CN202311077465.2A CN202311077465A CN119520183A CN 119520183 A CN119520183 A CN 119520183A CN 202311077465 A CN202311077465 A CN 202311077465A CN 119520183 A CN119520183 A CN 119520183A
Authority
CN
China
Prior art keywords
port
multicast
node
slice
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311077465.2A
Other languages
Chinese (zh)
Inventor
王继刚
段方红
谢经荣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202311077465.2A priority Critical patent/CN119520183A/en
Publication of CN119520183A publication Critical patent/CN119520183A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast

Landscapes

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

Abstract

The embodiment of the application provides a multicast joining method and device, belonging to the technical field of communication. The method comprises the steps that a network slice is deployed in a multicast network, a leaf node in the multicast network obtains a slice identifier for identifying the network slice according to a mapping relation and multicast source group information included in a joining message sent by a multicast receiving end, and a joining message comprising the multicast source group information and the slice identifier is sent through a port corresponding to the network slice, so that an intermediate node and/or a root node in the multicast network joins the multicast receiving end into a multicast source group identified by the multicast source group information according to the joining message comprising the multicast source group information and the slice identifier based on the network slice. The network node in the multicast network can forward the multicast service of the multicast source group to the multicast receiving end through the network slice, thereby guaranteeing the quality requirement of the multicast service and realizing service isolation and flexible utilization of network resources.

Description

Multicast joining method and device
Technical Field
The present application relates to the field of communications technologies, and in particular, to a method and an apparatus for joining multicast.
Background
A network slice (slice) is a logical network deployed in a physical network, with the resources of different network slices deployed in the same physical network being isolated from each other. Different network slices deployed in the physical network according to the differentiated requirements of different services, industries or users can forward corresponding services through the network slices so as to meet the differentiated requirements of the services, industries or users and realize service isolation and flexible utilization of network resources. With the development of multicast services, network slices may be deployed in a multicast network. Illustratively, network slices are deployed in a multicast network according to the quality requirements of the multicast traffic. After the network slice is deployed in the multicast network, the network node in the multicast network forwards the multicast service to the multicast receiving end through the network slice, thereby guaranteeing the quality requirement of the multicast service and realizing the isolation of the multicast service from other services. However, after the network slice is deployed in the multicast network, how the multicast receiving end joins the multicast source group corresponding to the multicast service based on the network slice is a problem to be solved.
Disclosure of Invention
The application provides a multicast joining method and a device, which can join a multicast receiving end into a multicast source group based on network slicing, ensure the quality requirement of multicast service, realize the isolation of the multicast service from other services and realize the flexible utilization of network resources. The technical scheme of the application is as follows.
In a first aspect, a multicast joining method is provided, the method includes that a leaf node receives a first joining message sent by a multicast receiving end, the first joining message includes multicast source group information, the leaf node obtains a slice identifier according to the multicast source group information and a mapping relation, the mapping relation includes the multicast source group information and the slice identifier, the slice identifier is used for identifying a network slice, the leaf node sends a second joining message through a first port, the second joining message includes the multicast source group information and the slice identifier, and the first port is a port corresponding to the network slice determined based on the slice identifier (namely, the first port is a slice port of the network slice). The first port in the leaf node is connected with the root node or connected with 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.
According to the technical scheme provided by the application, the leaf node in the multicast network obtains the slice identifier for identifying the network slice according to the mapping relation and the multicast source group information included in the joining message sent by the multicast receiving end, and sends the joining message comprising the multicast source group information and the slice identifier through the port corresponding to the network slice, so that the intermediate node and/or the root node in the multicast network can join the multicast receiving end into the multicast source group identified by the multicast source group information based on the network slice according to the joining message comprising the multicast source group information and the slice identifier, and further the network node (comprising the root node, the intermediate node and the leaf node) in the multicast network forwards the multicast service of the multicast source group to the multicast receiving end through the network slice, thereby being beneficial to guaranteeing the quality requirement of the multicast service, realizing the isolation of the multicast service from other services and realizing the flexible utilization of network resources.
Optionally, the method further includes that the leaf node obtains a forwarding table item according to the multicast source group information, the first port and the second port, wherein the forwarding table item includes the multicast source group information, an identifier of the first port and an identifier of the second port, and the second port is used for receiving the first joining message. The identifier of the first port and the identifier of the second port may be port numbers, where the first port is an ingress port of the multicast service corresponding to the multicast source group information in the leaf node, and the second port is an egress port of the multicast service corresponding to the multicast source group information in the leaf node.
According to the technical scheme provided by the application, the leaf node generates the forwarding table item comprising the multicast source group information, the identification of the first port and the identification of the second port, so that the leaf node can forward the multicast service corresponding to the multicast source group information (namely, the multicast message of the multicast service is forwarded, and the multicast service corresponding to the multicast source group information is also called the multicast service of the multicast source group identified by the multicast source group information) according to the forwarding table item. Specifically, the leaf node receives the multicast message of the multicast service through the first port according to the forwarding table entry, and forwards the multicast message of the multicast service through the second port. Because the first port is the port corresponding to the network slice in the leaf node, the leaf node forwards the multicast service corresponding to the multicast source group information according to the forwarding table entry, namely, the leaf node forwards the multicast service through the network slice according to the forwarding table entry, so that the application can realize the forwarding of the multicast service through the network slice and is beneficial to guaranteeing the quality requirement of the multicast service.
Optionally, the second join message includes a join attribute (join attribute) field, where the join attribute field is used to carry a slice identifier.
Optionally, the network slice is a flexible algorithm (flexible algorithm, flex-Algo) based network slice that binds to the Flex-Algo defined forwarding plane. In other words, the network slice is a network slice deployed in the forwarding plane of the Flex-Algo.
The first node receives a first joining message sent by a second node through a first port, wherein the first joining message comprises multicast source group information and a first slice identifier, the first slice identifier is used for identifying a first network slice, the first port is a port corresponding to the first network slice, and the first node obtains a forwarding table item according to the multicast source group information and the first port, and the forwarding table item comprises the multicast source group information and the identifier of the first port. The identifier of the first port is a port number, and the first port is an output port of the multicast service corresponding to the multicast source group information in the first node.
According to the technical scheme provided by the application, the first node generates the forwarding table item comprising the multicast source group information and the identifier of the first port, so that the first node can conveniently forward the multicast service corresponding to the multicast source group information according to the forwarding table item. Specifically, the first node forwards the multicast message of the multicast service through the first port according to the forwarding table entry. Because the first port is a port corresponding to the first network slice in the first node, the first node forwards the multicast service corresponding to the multicast source group information according to the forwarding table entry, that is, the first node forwards the multicast service corresponding to the multicast source group information according to the forwarding table entry through the first network slice, which is beneficial to guaranteeing the quality requirement of the multicast service.
Optionally, the first node is a root node, and the second node is a leaf node or an intermediate node.
Optionally, the first node is an intermediate node, the second node is a leaf node or an intermediate node, and the method further includes that the first node sends a second join message through a second port, where the second join message includes the multicast source group information and the first slice identifier, and the second port is a port corresponding to the first network slice determined based on the first slice identifier (i.e., the second port is a slice port of the first network slice). The second port in the first node is connected with the root node or with an intermediate node between the root node and the first node, and the first node sends the second joining message through the second port, that is, the first node sends the second joining message to the root node or the intermediate node through the second port.
According to the technical scheme provided by the application, the first node sends the second joining message through the second port, so that the root node or the intermediate node between the root node and the first node can conveniently obtain the forwarding table item which is used for forwarding the multicast service corresponding to the multicast source group information and is associated with the first network slice according to the multicast source group information and the first slice identifier, and 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, thereby being beneficial to guaranteeing the quality requirement of the multicast service.
Optionally, the first node obtaining the forwarding table according to the multicast source group information and the first port includes the first node obtaining the forwarding table according to the multicast source group information, the first port and the second port, where the forwarding table includes the multicast source group information, the identifier of the first port and the identifier of the second port. The identification of the first port and the identification of the second port are both port numbers, the first port is an output port of the multicast service corresponding to the multicast source group information in the first node, and the second port is an input port of the multicast service corresponding to the multicast source group information in the first node.
According to the technical scheme provided by the application, the first node generates the forwarding table item comprising the multicast source group information, the identification of the first port and the identification of the second port, so that the first node can conveniently forward the multicast service corresponding to the multicast source group information according to the forwarding table item. 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. Because the first port and the second port are ports corresponding to the first network slice in the first node, the first node forwards the multicast service according to the forwarding table entry, that is, the first node forwards the multicast service through the first network slice according to the forwarding table entry, so that the application can realize the forwarding of the multicast service through the network slice, and is beneficial to guaranteeing the quality requirement of the multicast service.
Optionally, the method includes the steps that a first node receives a third joining message sent by a third node, the third joining message comprises multicast source group information and a second slice identifier, the second slice identifier is used for identifying a second network slice, the first node determines that slice attributes carried by the third joining message conflict with slice attributes carried by the first joining message, and the first node determines the first network slice based on a slice conflict resolution strategy. The third node is a leaf node or an intermediate node. And the slice attribute carried by the third adding message collides with the slice attribute carried by the first adding message, namely the slice identifier carried by the third adding message collides with the slice identifier carried by the first adding message. The multicast source group information carried by the third addition message is the same as the multicast source group information carried by the first addition message, and the slice identifier carried by the third addition message is different from the slice identifier carried by the first addition message, so that the slice attribute carried by the third addition message conflicts with the slice attribute carried by the first addition message.
According to the technical scheme provided by the application, under the condition that the first node determines that slice attributes carried by different joining messages for joining the same multicast source group conflict, the first node selects the slice attributes from the slice attributes carried by the different joining messages based on the slice conflict resolution strategy, so that the slice conflict problem can be solved. In the application, the first node selects the slice attribute carried by the first joining message based on the slice conflict resolution strategy, so that the first node determines the first network slice, and the first node sends the second joining message through the second port corresponding to the first network slice in the first node.
Optionally, the first node obtaining a forwarding table item according to the multicast source group information and the first port includes that the first node obtains a forwarding table item according to the multicast source group information, the first port, the second port and the third port, where the forwarding table item includes the multicast source group information, an identifier of the first port, an identifier of the second port and an identifier of the third port, the third port is a port corresponding to the second network slice (i.e., the third port is a slice port of the second network slice), and the third port is used for receiving the third join message. In combination with the foregoing description, by way of example, the first node receives, through a first port in the first node corresponding to the first network slice, a first join message including the multicast source group information and the first slice identifier, the first node receives, through a third port in the first node corresponding to the second network slice, a third join message including the multicast source group information and the second slice identifier, the first node determines that a slice attribute carried by the third join message conflicts with a slice attribute carried by the first join message, and the first node determines the first network slice based on a slice conflict resolution policy, so that the first node sends, through a second port in the first node corresponding to the first network slice, a second join message including the multicast source group information and the first slice identifier, and the first node generates a forwarding table according to the multicast source group information, the first port, the second port, and the third port. The first port and the third port are both output ports of the multicast service corresponding to the multicast source group information in the first node, and the second port is an input port of the multicast service corresponding to the multicast source group information in the first node.
According to the technical scheme provided by the application, the first node generates the forwarding table item comprising the multicast source group information, the identification of the first port, the identification of the second port and the identification of the third port, so that the first node can conveniently forward the multicast service corresponding to the multicast source group information according to the forwarding table item. 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. Because the first port, the second port and the third port are all ports corresponding to the network slice in the first node, the first node forwards the multicast service according to the forwarding table entry, that is, the first node forwards the multicast service through the network slice according to the forwarding table entry, so that the application can realize forwarding of the multicast service through the network slice and is beneficial to guaranteeing the quality requirement of the multicast service.
Optionally, the slice conflict resolution policy includes at least one of a slice identification based conflict resolution policy and a slice bandwidth based conflict resolution policy.
Optionally, the slice-identification-based conflict resolution policy includes determining a network slice with a smaller slice identification or determining a network slice with a larger slice identification, and 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.
Optionally, the first join message includes a join attribute field, where the join attribute field is configured to carry a first slice identifier.
The second join message includes a join attribute field for carrying the first slice identifier.
The third join message includes a join attribute field for carrying a second slice identifier.
Optionally, the first network slice is a first Flex-Algo based network slice, 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.
Optionally, the second network slice is a second Flex-Algo based network slice, 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.
In a third aspect, there is provided a multicast join device comprising respective modules for performing the method as provided in the first aspect or any of the alternatives of the first aspect.
In a fourth aspect, there is provided a multicast join device comprising means for performing the method as provided in the second aspect or any of the alternatives of the second aspect described above.
The modules in the third or fourth aspect may be implemented based on software, hardware, or a combination of software and hardware, and the modules may be arbitrarily combined or divided based on specific implementations.
In a fifth aspect, a multicast join device is provided, comprising a memory and a processor;
The memory being for storing a computer program, and the processor being for executing the computer program stored in the memory to cause the multicast-joining device to perform the method as provided in the first aspect or any of the alternatives of the first aspect.
In a sixth aspect, a multicast join device is provided, including a memory and a processor;
The memory being for storing a computer program and the processor being for executing the computer program stored in the memory to cause the multicast-joining device to perform the method as provided in the second aspect or any of the alternatives of the second aspect described above.
In a seventh aspect, there is provided a multicast join device comprising a main control board and an interface board for implementing the method as provided in the first aspect or any of the alternatives of the first aspect.
In an eighth aspect, there is provided a multicast join device comprising a main control board and an interface board for implementing the method as provided in the second aspect or any of the alternatives of the second aspect.
In a ninth aspect, a multicast joining system is provided, including a leaf node and a first node, the first node being a root node or an intermediate node;
the leaf node comprises the multicast joining device as provided in the third, fifth or seventh aspect above;
The first node comprises a multicast joining device as provided in the fourth, sixth or eighth aspect above.
In a tenth aspect, there is provided a computer readable storage medium having stored therein a computer program which, when executed, implements a method as provided in the above-described first aspect or any of the alternatives of the first aspect, or implements a method as provided in the above-described second aspect or any of the alternatives of the second aspect.
In an eleventh aspect, there is provided a computer program product comprising a program or code which when executed implements a method as provided in any of the above first aspect or the first alternative aspect or implements a method as provided in any of the above second aspect or the second alternative aspect.
In a twelfth aspect, there is provided a chip comprising programmable logic circuitry and/or program instructions, the chip being operative to implement the method as provided in any one of the above-described first aspects or the alternative of the first aspect, or to implement the method as provided in any one of the above-described second aspects or the alternative of the second aspect.
The technical effects of the third aspect to the twelfth aspect may refer to the technical effects of the first aspect to the second aspect, and are not described herein.
Drawings
Fig. 1 is a schematic diagram of an application scenario provided in an embodiment of the present application;
fig. 2 is a flowchart of a multicast joining method according to an embodiment of the present application;
FIG. 3 is a schematic diagram of an encoded source Address field according to an embodiment of the present application;
fig. 4 is a flowchart of another multicast joining method according to an embodiment of the present application;
Fig. 5 is a flowchart of yet another multicast joining method according to an embodiment of the present application;
Fig. 6 is a flowchart of yet another multicast joining method according to an embodiment of the present application;
fig. 7 is a schematic diagram of a multicast joining method according to an embodiment of the present application;
Fig. 8 is a schematic diagram of another multicast joining method according to an embodiment of the present application;
fig. 9 is a schematic diagram of a multicast joining device according to an embodiment of the present application;
fig. 10 is a schematic diagram of another multicast joining device according to an embodiment of the present application;
Fig. 11 is a schematic diagram of yet another multicast joining device according to an embodiment of the present application.
Detailed Description
Embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
With the advent of fifth generation mobile communication technologies (5 th-generation mobile communication technology, 5G) and cloud era diversification of new services, various service demands are made on networks by different industries, services, users and the like. For example, the services such as mobile communication, smart home, environmental monitoring, smart agriculture, smart meter reading and the like require a network to support mass equipment connection and small report Wen Pin transmission, the services such as network live broadcast, video backhaul, mobile medical treatment and the like provide higher requirements on the transmission rate of the network, and the services such as vehicle networking, smart grid, industrial control and the like require that the transmission delay of the network be in millisecond level and the network has reliability close to 100%. Therefore, the network should have the capabilities of mass access, deterministic latency, higher reliability, etc., and needs to be constructed flexibly and dynamically to meet the needs of diversified services of users and vertical industries. In light of these needs, slicing techniques have been developed. Slicing techniques meet the differentiated requirements of different services by building dedicated, virtualized, mutually isolated logical networks on top of the physical network, which is the network slice. With the development of multicast technology, network slices can be deployed in a multicast network to ensure the quality requirements of multicast services. For example, network slices are deployed in a protocol independent multicast (protocol independent multicast, PIM) network to guarantee the quality requirements of multicast traffic that needs to be forwarded by the PIM network. The PIM network supports protocol independent multicast-sparse mode (PIM-SM) protocol, the PIM network supporting the PIM-SM protocol is also called PIM-SM network, the PIM-SM network can effectively solve the problem of point-to-multipoint data transmission in a scene that a large-scale network and users are distributed and distributed relatively, so that the users can receive data as required, high-efficiency data transmission from point to multipoint is realized, network bandwidth can be effectively saved, network load is reduced, and the PIM-SM network is widely applied to scenes such as network protocol televisions (internet protocol television, IPTV) and securities trading. The deployment of network slices in a PIM-SM network can guarantee the quality requirements of IPTV traffic, securities trading traffic, etc., that need to be forwarded by the PIM-SM network.
The application scenario of the embodiment of the application provides a communication system, which comprises a multicast network, a multicast source and a multicast receiving end, wherein the multicast source is connected to the multicast network, the multicast source is used for providing multicast service, the multicast receiving end can subscribe the multicast service to the multicast source, and the multicast network is used for forwarding the multicast service provided by the multicast source (namely forwarding a multicast message of the multicast service) to the multicast receiving end.
Wherein the multicast network may be a PIM network, for example the multicast network is a PIM-SM network. And, the multicast network may be an internet protocol (internet protocol, IP) network, for example, the multicast network is a local IP (active IP) network. The multicast network comprises a plurality of network nodes, the plurality of network nodes being communicatively connected. The network node may be a switch, a router, a virtual switch created in a physical device, a virtual router created in a physical device, etc. The plurality of network nodes may be of the same or different type, e.g., the plurality of network nodes are all switches or routers, or some of the plurality of network nodes are routers and some of the plurality of network nodes are switches.
Wherein the plurality of network nodes comprises a root node and a leaf node, and possibly an intermediate node connected between the root node and the leaf node. The leaf nodes may also be referred to as egress (egress) nodes of the multicast network, and the root node may be referred to as ingress (ingress) nodes of the multicast network. The root node may be a rendezvous point (rendezvous point, RP). The above-mentioned network nodes are also referred to as network devices, root nodes are also referred to as root devices, and leaf nodes are also referred to as leaf devices. The root node may also be referred to as a head node or head device, and the leaf nodes may also be referred to as tail nodes or tail devices. The embodiment of the present application is not limited thereto. In the embodiment of the application, the root node is connected with a multicast source and used for leading the multicast stream from the multicast source into a multicast network, the leaf node is connected with a multicast receiving end and used for leading the multicast stream out of the multicast network to the multicast receiving end, and the intermediate node is used for carrying out multicast forwarding between the root node and the leaf node. The multicast source may be a multicast server, a Virtual Machine (VM) created in the multicast server, or a container (containers) created in the multicast server. The multicast receiving end may be a host (host), a user terminal, a home gateway (e.g., a modem), a television, etc., and the user terminal includes, but is not limited to, a mobile phone, a tablet computer, a notebook computer, a desktop computer, a smart screen, etc.
Referring to fig. 1, a schematic diagram of an application scenario provided by an embodiment of the present application is shown, where a communication system provided by the application scenario includes a multicast network 100, a multicast source 200 accessing the multicast network 100, and a plurality of multicast receiving ends 310 to 340. The multicast network 100 includes a plurality of network nodes 110-160, the network node 110 being a root node, the network nodes 140-160 being leaf nodes, the network nodes 120-130 being intermediate nodes, the network nodes 120-130 being connected between the network node 110 and the network nodes 140-160. Multicast source 200 is connected to network node 110. Multicast receiving ends 310-340 and network nodes 140-160, wherein multicast receiving end 310 is connected with network node 140, multicast receiving ends 320-330 are connected with network node 150, and multicast receiving end 340 is connected with network node 160. The multicast source 200 is used to provide multicast services. Multicast receivers 310-340 may subscribe to the multicast service with 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 receiving ends 310 to 340. In the embodiment of the present application, a network slice is deployed in the multicast network 100, and the network nodes 110 to 160 may forward the multicast packet from the multicast source 200 to the multicast receiving ends 320 to 330 through the network slice, thereby implementing quality assurance of the multicast service by the multicast network 100. Optionally, at least one flexible algorithm (flexible algorithm, flex-Algo) is deployed in the multicast network 100, where the Flex-Algo may define a forwarding plane in the multicast network 100, and a network slice may be deployed in a forwarding plane defined by the Flex-Algo (e.g., referred to as the Flex-Algo plane), where a network node in the Flex-Algo plane forwards a multicast packet from the multicast source 200 to the multicast receivers 320-330 through the network slice. The embodiment of the present application introduces a process for implementing a multicast source group corresponding to a multicast service provided by a multicast source 200 based on a network slice joining by a multicast receiving end 310 to 340 in the case of deploying the network slice in a multicast network 100. The application scenario shown in fig. 1 is only used for example, and is not used for limiting the technical solution of the embodiment of the present application. In the implementation process, the application scenario of the embodiment of the present application may include more or fewer network nodes, multicast receiving ends, and the like than those shown in fig. 1, where the application scenario may further include other devices, for example, a controller to control the network nodes, the multicast sources, the multicast receiving ends, and the like. The controller may be integrated in a network node, a multicast source or a multicast receiving end, or may be a control device or a third party network element independent of the network node, the multicast source, the multicast receiving end. The controller may be a functional module deployed in a server, or a server cluster formed by a plurality of servers, or a cloud computing service center, or other devices or modules with network control functions. The controller merges network management, traffic control, and network analysis functions, for example, the controller is a network control engine (network control engine, NCE).
Referring to fig. 2, a flowchart of a multicast joining method according to an embodiment of the present application is shown. The multicast joining method is performed by a leaf node L, which is any one of the leaf nodes in the multicast network. For example, as shown in FIG. 1, leaf node L is any one of network nodes 140-160. Referring to fig. 2, the multicast joining method includes the following steps S201 to S203.
S201, a leaf node L receives a first joining message A1 sent by a multicast receiving end R, wherein the first joining message A1 comprises multicast source group information W.
The leaf node L is any leaf node in the multicast network, and the multicast receiving end R is any multicast receiving end accessed to the multicast network through the leaf node L. For example, as shown in fig. 1, in one example, the leaf node L is the network node 140, the multicast receiving end R is the multicast receiving end 310, in another example, the leaf node L is the network node 150, the multicast receiving end R is the multicast receiving end 320 or the multicast receiving end 330, and in yet another example, the leaf node L is the network node 160, and the multicast receiving end R is the multicast receiving end 340.
When the multicast receiving end R joins the multicast group identified by the multicast source group information W, the multicast receiving end R generates a first joining message A1 comprising the multicast source group information W and sends the first joining message A1 to the leaf node L. The leaf node L receives a first joining message A1 sent by the multicast receiving end R through a second port. The second port is a port in the leaf node L for communication with the multicast receiving end R. The second port may 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 (x, G), S is information of a multicast source, G is information of a multicast group, and x represents an unspecified multicast source, that is, RP, as a root node.
S202, the leaf node L obtains a slice identifier 1 according to multicast source group information W and a mapping relation, wherein the mapping relation comprises the multicast source group information W and the slice identifier 1, and the slice identifier 1 is used for identifying the network slice 1.
The leaf node L comprises a mapping relation between the multicast source group information W and the slice identifier 1, acquires the multicast source group information W from the first joining message A1, and searches the mapping relation according to the multicast source group information W to acquire the slice identifier 1. The mapping relationship may be configured statically in the leaf node L, or may be advertised by the multicast source to the leaf node L. For example, the controller or the operator configures the mapping relationship in the multicast source, and the multicast source notifies the leaf node L of the mapping relationship, which is not limited by the embodiment of the present application. Slice identity 1 is used to identify 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. Alternatively, network slice 1 is a Flex-Algo based network slice, network slice 1 being bound to a Flex-Algo defined forwarding plane, in other words network slice 1 is a network slice deployed in a Flex-Algo forwarding plane. Because 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.
S203, the leaf node L sends a second joining message A2 through a first port, wherein the second joining message A2 comprises multicast source group information W and a slice identifier 1, and the first port is a port which is determined based on the slice identifier 1 and corresponds to the network slice 1.
This first port in the leaf node L is the port corresponding to the network slice 1, or the slice port called network slice 1. The first port is a logical port. Optionally, the leaf node L generates a second joining message A2 according to the multicast source group information W included in the first joining message A1 and the slice identifier 1 obtained in S202. The leaf node L determines the first port corresponding to the network slice 1 in the leaf node L according to the slice identifier 1, and the leaf node L sends a second joining 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 by Reverse Path Find (RPF) routing according to the slice identity 1. The destination address of the second joining message A2 is the address of the multicast source or the address of the RP. And the leaf node L searches a unicast routing table of the leaf node L according to the destination address of the second joining message A2 to determine an outlet port of the second joining message A2. The first port corresponding to the network slice 1 in the leaf node L is determined by the leaf node L according to the search result and the slice identifier 1. In one embodiment, the leaf node L determines, by looking up the unicast routing table, that the output port of the second join message A2 is the first port corresponding to the network slice 1, and sends the second join message A2 through the first port. In another embodiment, the leaf node L determines that the output port of the second join message A2 is a physical port by looking up the unicast routing table, where 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 the leaf node L sends the second join message A2 through the first port.
In an alternative embodiment, the second join message A2 includes a join attribute field, which 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 (encoded-source dddress) field that includes the join attribute field.
As an example, please refer to fig. 3, which illustrates a schematic diagram of an encoded source address field according to an embodiment of the present application. The encoded source address field includes an address family (ADDRESS FAMILY, ADDR FAMILY) field, an encoding type field, a reserved (Rsrvd) field, a loose (S) field, a wild card (W) field, a rendezvous point tree (rendezvous point tree, R) field, a mask length (MASK LENGTH, mask len) field, a Source Address (SA) field, and an add attribute field. The join attribute field is used to carry a join attribute (e.g., slice identifier in embodiments of the present application). As shown in fig. 3, the join attribute field is a Type Length Value (TLV) field including 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 for indicating whether the added attribute carried by the added attribute field is a transfer attribute (TRANSITIVE ATTRIBUTE), if the F bit is set (for example, the value of the F bit is 1), the F bit is used for indicating that the added attribute carried by the added attribute field is a transfer attribute, and if the F bit is not set (for example, the value of the F bit is 0), the F bit is used for indicating that the added attribute carried by the added attribute field is a non-transfer attribute. The E bit is used for indicating whether the added attribute carried by the added attribute field is an end attribute (end of attribute), if the E bit is set (e.g. the E bit has a value of 1), the E bit is used for indicating that the added attribute carried by the added attribute field is an end attribute (i.e. the last added attribute carried by the encoded source address field), and if the E bit is not set (e.g. the E bit has a value of 0), the E bit is used for indicating that the added attribute carried by the added attribute field is not an end attribute. The attribute type subfield is used to indicate the type of 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 a join attribute (e.g., slice identifier in an embodiment of the application). The meaning of other fields in the encoded source address field is referred to as request for comments (request for comments, RFC) 5384, and the format of the pim join message is referred to as RFC4601, which are not described in detail herein.
According to the technical scheme provided by the embodiment of the application, the leaf node in the multicast network obtains the slice identifier for identifying the network slice according to the mapping relation and the multicast source group information included in the joining message sent by the multicast receiving end, and sends the joining message comprising the multicast source group information and the slice identifier through the port corresponding to the network slice, so that the intermediate node and/or the root node in the multicast network can join the multicast receiving end into the multicast source group identified by the multicast source group information based on the network slice according to the joining message comprising the multicast source group information and the slice identifier, and further the network node in the multicast network can forward the multicast service of the multicast source group to the multicast receiving end through the network slice, thereby being beneficial to guaranteeing the quality requirement of the multicast service, realizing the isolation of the multicast service from other services and realizing the flexible utilization of network resources.
In an alternative embodiment, please continue with fig. 2, after S203, the multicast joining method further includes the following step S204.
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, wherein the forwarding table item X comprises the multicast source group information W, the identification of the first port and the identification of the second port, and the second port is used for receiving a first joining message A1.
The first port and the second port described 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 identification of the first port and the identification of the second port may both be port numbers. The forwarding table entry X is a multicast forwarding table entry. In the forwarding table entry X, the first port is an ingress port, and the second port is an egress port, so that the first port is an ingress port of the multicast service corresponding to the multicast source group information W in the leaf node L, and the second port is an egress port of the multicast service corresponding to the multicast source group information W in the leaf node L. In one embodiment, the leaf node L obtains the identifier of the first port and the identifier of the second port, and generates the forwarding table entry X according to the multicast source group information W, the identifier of the first port, and the identifier of the second port.
In one example, the first port is identified as L-P1, the second port is identified as L-P2, and forwarding table entry X is shown in Table 1 below.
Table 1 (Forwarding entry X)
Multicast source group information Inlet port (IIF) Outlet (OIF)
W1 L-P1 L-P2
After the leaf node L obtains the forwarding table item X, the subsequent leaf node L forwards multicast service corresponding to the multicast source group information W to the multicast receiving end according to the forwarding table item X. For example, according to forwarding table entry X shown in table 1, leaf node L receives a multicast packet including multicast source group information W through a first port indicated by port identifier "L-P1" (the first port is a port corresponding to network slice 1 in leaf node L, that is, a slice port of network slice 1), and sends the multicast packet through a second port indicated by port identifier "L-P2".
According to the technical scheme provided by the embodiment of the application, the first port in the leaf node is the port corresponding to the network slice in the leaf node, and the leaf node generates the forwarding table item comprising the multicast source group information, the identification of the first port and the identification of the second port, so that the leaf node can forward multicast service corresponding to the multicast source group information through the first port corresponding to the network slice according to the forwarding table item.
The embodiment of the application also provides a multicast joining method executed by a first node in the multicast network, wherein the first node is a root node or an intermediate node in the multicast network, and the method provided by the embodiment of the application is introduced by taking the first node as the root node or the intermediate node as an example in the following three embodiments.
First embodiment referring to fig. 4, a flowchart of another multicast joining method according to an embodiment of the present application is shown. The multicast joining method is performed by the first node, and this embodiment is described by taking the first node as a root node, for example, as shown in fig. 1, the first node (i.e., the root node) may be the network node 110. Referring to fig. 4, the multicast joining method includes the following steps S401 to S402.
S401, a first node receives a first joining message B1 sent by a second node through a first port, wherein the first joining message B1 comprises multicast source group information W and a first slice identifier, the first slice identifier is used for identifying a first network slice, and the first port is a port corresponding to the first network slice.
The first node receives a first joining message B1 sent by the second node through a first port in the first node, wherein the first port is a port in the first node for communicating with the second node, the first port is a port corresponding to a first network slice, the first port is a slice port of the first network slice, and the first port is a logic port. The first network slice is one network slice deployed in a multicast network. For example, the first network slice is one 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 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 a forwarding plane of the first Flex-Algo, and since the Flex-Algo can implement flexible utilization of network resources, the first network slice deployed in the forwarding plane of the Flex-Algo can implement flexible utilization of network resources.
In the embodiment of the present application, the first joining message B1 includes multicast source group information W and a first slice identifier. For example, the first join message B1 is a PIM join message, where the first join message B1 includes a join attribute field, and the join attribute field is used to carry a first slice identifier. In one embodiment, the first join message B1 includes a coded source address field as shown in fig. 3, which includes the join attribute field.
In the embodiment of the application, the first node is a root node, and the second node is a leaf node or an intermediate node between the first node and the leaf node. In one embodiment, the second node is the leaf node L in the embodiment shown in fig. 2, the first join message B1 is the second join message A2 in the embodiment shown in fig. 2, the first slice identifier is the slice identifier 1 in the embodiment shown in fig. 2, and the first network slice is the network slice 1 in the embodiment shown in fig. 2. In another embodiment, the second node is an intermediate node connected between the first node and the leaf node L in the embodiment shown in fig. 2, and the first join message B1 is sent by the second node to the first node based on the second join message A2 in the embodiment shown in fig. 2, where the first slice identifier may be the slice identifier 1 or not the slice identifier 1 in the embodiment shown in fig. 2, and the first network slice may be the network slice 1 or not the network slice 1 in the embodiment shown in fig. 2, which is not limited by the embodiment of the present application.
S402, the first node obtains a forwarding table item Y according to the multicast source group information W and the first port, wherein the forwarding table item Y comprises the multicast source group information W and the identification of the first port.
The first port described in S402 is a port corresponding to a first network slice in the first node, and the identifier of the first port may be a port number. The forwarding table entry Y is a multicast forwarding table entry. In the forwarding table item Y, the first port is an egress port, so that the first port is an egress port of the multicast service corresponding to the multicast source group information W in the first node. In one embodiment, a first node obtains multicast source group information W from a first joining message B1, the first node obtains an identifier of the first port, and the first node generates a forwarding table item Y according to the multicast source group information W and the identifier of the first port. In one example, the first port is identified as U-P1 and forwarding entry Y is shown in Table 2 below.
Table 2 (Forwarding entry Y)
Multicast source group information Outlet (OIF)
W1 U-P1
In an alternative embodiment, after the first node receives the first joining message B1, the first node further searches a unicast routing table of the first node according to the destination address of the first joining message B1 to determine that the output port of the first joining message B1 is a second port in the first node, the first node obtains the identifier of the second port, and the first node generates a forwarding table item Y according to the multicast source group information W, the identifier of the first port and the identifier of the second port, where the forwarding table item Y includes the multicast source group information W, the identifier of the first port and the identifier of the second port. The destination address of the first joining message B1 is the address of the multicast source or the address of the RP, and the second port in the first node is a physical port in the first node, or may be a logical port in the first node, where the second port is used for the first node to communicate with the multicast source or the RP.
In one example, the first port is identified as U-P1, the second port is identified as U-P2, and forwarding table Y is shown in Table 3 below.
Table 3 (Forwarding entry Y)
Multicast source group information Inlet port (IIF) Outlet (OIF)
W1 U-P2 U-P1
After the first node obtains the forwarding table item Y, the subsequent first node forwards multicast service corresponding to the multicast source group information W to the multicast receiving end according to the forwarding table item Y. In one example, the first node sends a multicast message including multicast source group information W through a first port indicated by a port identifier "U-P1" (the first port is a port corresponding to a first network slice in the first node) according to a forwarding table entry Y shown in table 2. In another example, according to forwarding table Y shown in table 3, the first node receives a multicast message including multicast source group information W through the second port indicated by the port identifier "U-P2", and sends the multicast message including multicast source group information W through the first port indicated by the port identifier "U-P1".
According to the technical scheme provided by the embodiment of the application, the first port in the first node is the port corresponding to the first network slice in the first node, and the first node generates the forwarding table item comprising the multicast source group information and the identifier of the first port, so that 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 item, and the quality requirement of the multicast service can be guaranteed.
In a second embodiment, please refer to fig. 5, which is a flowchart illustrating another multicast joining method according to an embodiment of the present application. The multicast joining method is performed by the first node, and this embodiment is described by taking the first node as an intermediate node, for example, as shown in fig. 1, the first node (i.e., the intermediate node) is the network node 120 or 130. Referring to fig. 5, the multicast joining method includes the following steps S501 to S503.
S501, a first node receives a first joining message C1 sent by a second node through a first port, wherein the first joining message C1 comprises multicast source group information W and a first slice identifier, the first slice identifier is used for identifying a first network slice, and the first port is a port corresponding to the first network slice.
The first node receives a first joining message C1 sent by the second node through a first port in the first node, wherein the first port is a port in the first node for communicating with the second node, the first port is a port corresponding to a first network slice, the first port is a slice port of the first network slice, and the first port is a logic port. The first network slice is one network slice deployed in a multicast network. For example, the first network slice is one 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 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 a forwarding plane of the first Flex-Algo, and since the Flex-Algo can implement flexible utilization of network resources, the first network slice deployed in the forwarding plane of the Flex-Algo can implement flexible utilization of network resources.
In the embodiment of the present application, the first joining message C1 includes multicast source group information W and a first slice identifier. For example, the first join message C1 is a PIM join message, where the first join message C1 includes a join attribute field, and the join attribute field is used to carry a first slice identifier. In one embodiment, the first join message C1 includes a coded source address field as shown in fig. 3, which includes the join attribute field.
In the embodiment of the 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 one embodiment, the second node is the leaf node L in the embodiment shown in fig. 2, the first join message C1 is the second join message A2 in the embodiment shown in fig. 2, the first slice identifier is the slice identifier 1 in the embodiment shown in fig. 2, and the first network slice is the network slice 1 in the embodiment shown in fig. 2. In another embodiment, the second node is an intermediate node connected between the first node and the leaf node L in the embodiment shown in fig. 2, and the first join message C1 is sent by the second node to the first node based on the second join message A2 in the embodiment shown in fig. 2, where the first slice identifier may be the slice identifier 1 or not the slice identifier 1 in the embodiment shown in fig. 2, and the first network slice may be the network slice 1 or not the network slice 1 in the embodiment shown in fig. 2, which is not limited by the embodiment of the present application.
S502, the first node sends a second joining message C2 through a second port, wherein the second joining message C2 comprises multicast source group information W and a first slice identifier, and the second port is a port which is determined based on the first slice identifier and corresponds to the first network slice.
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, the first node obtains multicast source group information W and a first slice identifier from the first joining message C1, the first node generates a second joining message C2 according to the multicast source group information W and the first slice identifier, the first node determines the second port corresponding to the first network slice in the first node according to the first slice identifier, and the first node sends the second joining message C2 through the second port. The second join message C2 includes multicast source group information W and the first slice identifier, for example, the second join message C2 is a PIM join message, and the second join message C2 includes a coded source address field as shown in fig. 3, where a join attribute field in the coded source address field is used to carry the first slice identifier.
In an alternative embodiment, the first node determines the second port in the first node corresponding to the first network slice through RPF routing based on the first slice identifier. In a specific embodiment, the destination address of the second joining message C2 is the address of the multicast source or the address of the RP, the first node searches the unicast routing table of the first node according to the destination address of the second joining message C2 to determine the egress port of the second joining message C2, and the first node determines the second port corresponding to the first network slice in the first node according to the search result and the first slice identifier. In one embodiment, the first node determines that the output port of the second joining 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 joining message C2 through the second port. In another embodiment, the first node determines that the output port of the second joining message C2 is a physical port by looking up the unicast routing table, where 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, according to the first slice identifier, the second port included in the physical port, and the first node sends the second joining message C2 through the second port.
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, wherein the forwarding table item Z comprises the multicast source group information W, the identification of the first port and the identification of the second port.
The first port and the second port described in S503 are both ports in the first node corresponding to the first network slice, and the identifier of the first port and the identifier of the second port may 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 output port, and the second port is an input port, so that the first port is an output port of the multicast service corresponding to the multicast source group information W in the first node, and the second port is an input port of the multicast service corresponding to the multicast source group information W in the first node. In one embodiment, a first node obtains an identifier of the first port and an identifier of the second port in the first node, and the first node generates a forwarding table item Z according to multicast source group information W, the identifier of the first port, and the identifier of the second port.
In one example, the first port is identified as U-P1, the second port is identified as U-P2, and forwarding table entry Z is shown in Table 4 below.
Table 4 (Forwarding entry Z)
Multicast source group information Inlet port (IIF) Outlet (OIF)
W1 U-P2 U-P1
After the first node obtains the forwarding table item Z, the subsequent first node forwards multicast service corresponding to the multicast source group information W to the multicast receiving end according to the forwarding table item Z. For example, according to forwarding table entry Z shown in table 4, the first node receives a multicast packet including multicast source group information W through a second port indicated by a port identifier "U-P2" (the second port is a port corresponding to a first network slice in the first node, that is, a slice port of the first network slice), and sends the multicast packet including multicast source group information W through a first port indicated by a 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).
According to the technical scheme provided by the embodiment of the application, 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 the forwarding table item comprising the multicast source group information, the identification of the first port and the identification of the second port, so that the first node can conveniently 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 item, the quality requirement of the multicast service is guaranteed, the isolation between the multicast service and other services is realized, and the flexible utilization of network resources is realized.
Fig. 6 is a flowchart illustrating another multicast joining method according to an embodiment of the present application. The multicast joining method is performed by the first node, and this embodiment is described by taking the first node as an intermediate node, for example, as shown in fig. 1, the first node (i.e., the intermediate node) is the network node 120 or 130. Referring to fig. 6, the multicast joining method includes the following steps S601 to S606.
S601, a first node receives a first joining message C1 sent by a second node through a first port, wherein the first joining message C1 comprises multicast source group information W and a first slice identifier, the first slice identifier is used for identifying a first network slice, and the first port is a port corresponding to the first network slice.
The implementation process of S601 may refer to the implementation process of S501, which is not described herein.
S602, the first node receives a third joining message C3 sent by a third node through a third port, wherein the third joining message C3 comprises multicast source group information W and a second slice identifier, the second slice identifier is used for identifying a second network slice, and the third port is a port corresponding to the second network slice.
The first node receives a third joining message C3 sent by a third node through a third port in the first node, where the third port is a port in the first node for communication with the third node, the third port is a port corresponding to the second network slice, the third port is a slice port of the second network slice, and the third port is a logical port. The second network slice is one deployed in the multicast network. For example, the second network slice is one 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 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, and since the Flex-Algo can implement flexible utilization of network resources, the second network slice deployed in the forwarding plane of the Flex-Algo can implement flexible utilization of network resources.
In the embodiment of the present application, the third joining message C3 includes multicast source group information W and a second slice identifier. For example, the third join message C3 is a PIM join message, and the third join message C3 includes a join attribute field for carrying the second slice identifier. In one embodiment, the third join message C3 includes a coded source address field as shown in fig. 3, which includes the join attribute field.
In the embodiment of the 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 the leaf node L in the embodiment shown in fig. 2, the third join message C3 is the second join message A2 in the embodiment shown in fig. 2, the second slice identifier is the slice identifier 1 in the embodiment shown in fig. 2, and the second network slice is the network slice 1 in the embodiment shown in fig. 2. In another embodiment, the third node is an intermediate node connected between the first node and the leaf node L in the embodiment shown in fig. 2, and the third join message C3 is sent by the third node to the first node based on the second join message A2 in the embodiment shown in fig. 2, where the second slice identifier may be the slice identifier 1 or not the slice identifier 1 in the embodiment shown in fig. 2, and the second network slice may be the network slice 1 or not the network slice 1 in the embodiment shown in fig. 2, which is not limited by the embodiment of the present application.
In the embodiment of the 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, as shown in fig. 1, the first node is the network node 120, the second node is the network node 140, the third node is the network node 150, the first joining message C1 is sent by the network node 140 to the network node 120, the first joining message C1 is used for accessing the multicast source group identified by the multicast source group information W by the multicast receiving end 310, the third joining message C3 is sent by the network node 150 to the network node 120, and the third joining message C3 is used for accessing the multicast source group identified by the multicast source group information W by the multicast receiving end 320 or the multicast receiving end 330.
S603, the first node determines that slice attributes carried by the third adding message C3 conflict with slice attributes carried by the first adding message C1.
The first node analyzes the first joining message C1 to determine that the first joining message C1 comprises multicast source group information W and a first slice identifier, the first node analyzes the third joining message C3 to determine that the third joining message C3 comprises multicast source group information W and a second slice identifier, the first node determines that the multicast source group information included in the first joining message C1 is the same as the multicast source group information included in the third joining message C3, and the slice identifier included in the first joining message C1 is different from the slice identifier included in the third joining message C3, so that the first node determines that the slice attribute carried by the third joining message C3 conflicts with the slice attribute carried by the first joining message C1.
S604, the first node determines a first network slice based on a slice conflict resolution policy.
In the case that 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 the first network slice (or refers to selecting the first network slice) based on the slice conflict resolution policy, the slice attribute carried by the first join message C1 (e.g., the first slice identifier), and the slice attribute carried by the third join message C3 (e.g., the second slice identifier). In the embodiment of the application, the slice conflict resolution strategy comprises at least one of a conflict resolution strategy based on slice identification and a conflict resolution strategy based on slice bandwidth, and the first node adopts at least one of the conflict resolution strategy based on slice identification and the conflict resolution strategy based on slice bandwidth to determine the first network slice based on slice attributes carried by the first joining message C1 and slice attributes carried by the third joining message C3. In alternative embodiments, the slice-identity-based conflict resolution strategy includes determining a network slice with a smaller slice identity or determining a network slice with a larger slice identity. The slice bandwidth based conflict resolution strategy includes determining a network slice with a smaller bandwidth or determining a network slice with a larger bandwidth.
In one embodiment, the slice conflict resolution policy includes determining a network slice with a smaller slice identifier, where a first slice identifier included in the first join message C1 and a second slice identifier included in the third join message C3 are both represented by numerical values, and the first node determines the smaller slice identifier of the first slice identifier and the second slice identifier, and the first node selects the network slice identified by the smaller slice identifier. This embodiment is illustrated with the first slice identifier being the smaller of the first slice identifier and the second slice identifier, so the first node determines the first network slice.
In another embodiment, the slice conflict resolution policy includes determining a network slice with a larger slice identifier, where the first slice identifier included in the first join message C1 and the second slice identifier included in the third join message C3 are both represented by numerical values, and the first node determines the larger slice identifier of the first slice identifier and the second slice identifier, and the first node selects the network slice identified by the larger slice identifier. This embodiment is illustrated by way of example in which the first slice identifier is the larger of the first slice identifier and the second slice identifier, and thus the first node determines the first network slice.
In yet another embodiment, the slice conflict resolution policy includes determining a network slice having a smaller bandwidth, the first node determining a bandwidth of the first network slice identified by the first slice identification and a bandwidth of the second network slice identified by the second slice identification, the first node determining a network slice having a smaller bandwidth of the first network slice and the second network slice. This embodiment is illustrated by way of example in which the first network slice is the smaller bandwidth network slice of the first and second network slices, and thus the first node determines the first network slice.
In yet another embodiment, the slice conflict resolution policy includes determining a network slice with a greater bandwidth, the first node determining a bandwidth of the first network slice identified by the first slice identification and a bandwidth of the second network slice identified by the second slice identification, the first node determining a network slice with a greater bandwidth of the first network slice and the second network slice. This embodiment is illustrated by way of example in which the first network slice is the larger bandwidth network slice of the first and second network slices, and thus the first node determines the first network slice.
The implementation manners of slice conflict resolution policies and determining network slices by the first node based on the slice conflict resolution policies, which are listed in the embodiments of the present application, are merely exemplary, and in practical applications, the slice conflict resolution policies may also include other contents, and the first node may also determine network slices based on other slice conflict resolution policies. For example, the slice conflict resolution policy may further include a port rate based conflict resolution policy, and the first node may further determine a network slice using the port rate based conflict resolution policy, which is not limited by the embodiment of the present application.
S605, the first node sends a second joining message C2 through a second port, wherein the second joining message C2 comprises multicast source group information W and a first slice identifier, and the second port is a port corresponding to the first network slice and determined based on the first slice identifier.
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 a second joining message C2 according to the multicast source group information W and a first slice identifier for identifying the first network slice, the first node determines the second port corresponding to the first network slice in the first node according to the first slice identifier, and the first node sends the second joining message C2 through the second port. The second join message C2 includes multicast source group information W and the first slice identifier, for example, the second join message C2 is a PIM join message, and the second join message C2 includes a coded source address field as shown in fig. 3, where a join attribute field in the coded source address field is used to carry the first slice identifier.
In an alternative embodiment, the first node determines the second port in the first node corresponding to the first network slice through RPF routing based on the first slice identifier. In a specific embodiment, the destination address of the second joining message C2 is the address of the multicast source or the address of the RP, the first node searches the unicast routing table of the first node according to the destination address of the second joining message C2 to determine the egress port of the second joining message C2, and the first node determines the second port corresponding to the first network slice in the first node according to the search result and the first slice identifier. In one embodiment, the first node determines that the output port of the second joining 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 joining message C2 through the second port. In another embodiment, the first node determines that the output port of the second joining message C2 is a physical port by looking up the unicast routing table, where 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, according to the first slice identifier, the second port included in the physical port, and the first node sends the second joining message C2 through the second port.
S606, the first node obtains a forwarding table item V according to the multicast source group information W, the first port, the second port and the third port, wherein the forwarding table item V comprises the multicast source group information W, the identification of the first port, the identification of the second port and the identification of the third port.
The first port and the second port described in S606 are both ports in the first node corresponding to the first network slice, and the third port is a port in the first node corresponding to the second network slice. The identification of the first port, the identification of the second port, and the identification of the third port may all be port numbers. The forwarding table entry V is a multicast forwarding table entry. In the forwarding table V, the first port and the third port are both output ports, and the second port is an input port, so that the first port and the third port are both output ports of the multicast service corresponding to the multicast source group information W in the first node, and the second port is an input port of the multicast service corresponding to the multicast source group information W in the first node. In one embodiment, a first node obtains an identifier of the first port, an identifier of the second port, and an identifier of the third port in the first node, and the first node generates a forwarding table item 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 first port is identified as U-P1, the second port is identified as U-P2, the third port is identified as U-P3, and forwarding table V is shown in Table 5 below.
Table 5 (Forwarding entry V)
After the first node obtains the forwarding table item V, the subsequent first node forwards multicast service corresponding to the multicast source group information W to the multicast receiving end according to the forwarding table item V. For example, according to forwarding table V shown in table 5, 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 a port corresponding to the first network slice in the first node, that is, a slice port of the first network slice), 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) and the third port indicated by the port identifier "U-P3" (the third port is a port corresponding to the second network slice in the first node, that is, a slice port of the second network slice).
According to the technical scheme provided by the embodiment of the application, the first port and the second port in the first node are ports corresponding to the first network slice in the first node, the third port in the first node is a port corresponding to the second network slice in the first node, the first node generates the forwarding table item comprising multicast source group information, the identification of the first port, the identification of the second port and the identification of the third port, and the first node can conveniently forward multicast service corresponding to the multicast source group information through the network slice according to the forwarding table item, so that the quality requirement of the multicast service is ensured, the isolation between the multicast service and other services is realized, and the flexible utilization of network resources is realized.
The leaf node in the multicast network may obtain a forwarding table entry for forwarding the multicast service corresponding to the multicast source group information W by using the method described in the embodiment shown in fig. 2, the root node in the multicast network may obtain a forwarding table entry for forwarding the multicast service corresponding to the multicast source group information W by using the method described in the embodiment shown in fig. 4, and the intermediate node in the multicast network may obtain a forwarding table entry for forwarding the multicast service corresponding to the multicast source group information W by using the method provided in the embodiment shown in fig. 5 or fig. 6. These forwarding entries obtained by the leaf node, the root node, and the intermediate node in the multicast network are also referred to as multicast forwarding tree of the multicast service corresponding to the multicast source group information W. The forwarding table items comprise information of a reachable multicast receiving end, and the leaf node, the intermediate node and the root node can forward multicast service corresponding to the multicast source group information W from the multicast source to the multicast receiving end according to the forwarding table items, so that 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 receiving end successfully joins 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 comprise ports corresponding to the network slice, so that the forwarding table items are associated with the network slice, and the leaf node, the intermediate node and the root node can forward multicast service through the network slice according to the forwarding table items.
In order to facilitate understanding of the technical solution of the embodiments of the present application, the technical solution of the embodiments of the present application is described below by using two specific examples.
Fig. 7 is a schematic diagram illustrating a multicast joining method according to an embodiment of the present application. As shown in fig. 7, network node 110 is a root node, network nodes 140-160 are leaf nodes, and network nodes 120-130 are intermediate nodes. Port P13 of network node 110 is connected to multicast source 200, and multicast source 200 accesses multicast network 100 through network node 110. The port P41 of the network node 140 is connected to the multicast receiving end 310, and the multicast receiving end 310 accesses the multicast network 100 through the network node 140. The port P51 of the network node 150 is connected to the multicast receiving end 320, the port P52 of the network node 150 is connected to the multicast receiving end 330, and the multicast receiving ends 320 to 330 access the multicast network 100 through the network node 150. The port P61 of the network node 160 is connected to the multicast receiving end 340, and the multicast receiving end 340 accesses the multicast network 100 through the network node 160. The multicast source 200 is configured to provide the multicast service 1, where the multicast network 100 is configured with the network slice 1 and the network slice 2, where the network slice 1 and the network slice 2 are network slices for the multicast service 1, the network slice 1 and the network slice 2 are both configured to forward the multicast service 1, a slice port of the network slice 1 is a port x.1, a slice port of the network slice 2 is a port x.2, and 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) may be different logical ports in the same physical port or may be logical ports in different physical ports. As shown in fig. 7, the ports corresponding to network slice 1 (i.e., slice port x.1) in network node 110 include port P11 and port P12, the ports corresponding to network slice 1 (i.e., slice port x.1) in network node 120 include port P21 and port P23, the ports corresponding to network slice 2 (i.e., slice port x.2) in network node 120 include port P22, the ports corresponding to network slice 1 (i.e., slice port x.1) in network node 130 include port P31 and port P32, the ports corresponding to network slice 1 (i.e., slice port x.1) in network node 140 include port P42, the ports corresponding to network slice 2 (i.e., slice port x.2) in network node 150 include port P53, and the ports corresponding to network slice 1 (i.e., slice port x.1) in network node 160 include port P62. In fig. 7, only a portion of the ports of network nodes 110-160 are labeled, in this first example, each of network nodes 110-160 includes a port x.1 corresponding to network slice 1 and a port x.2 corresponding to network slice 2, the port of any one network node to another network node includes a port x.1 corresponding to network slice 1 and a port x.2 corresponding to network slice 2, for example, only port x.1 of network node 120 to network node 110 is shown in fig. 7, and network node 120 also includes a port x.2 to network node 110.
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 relevant information of network slice 1 and the relevant information of network slice 2 are shown in table 6 below.
TABLE 6
For example, the multicast source group information of the multicast service 1 is (S1, G1), the network node 140 and the network node 160 each include a mapping relationship (e.g., referred to as a mapping relationship 1) of the multicast source group information of the multicast service 1 (S1, G1) and the slice identifier of the network slice 1 as "1", the network node 150 includes a mapping relationship (e.g., referred to as a mapping relationship 2) of the multicast source group information of the multicast service 1 (S1, G1) and the slice identifier of the network slice 2 as "2", the mapping relationship 1 is shown in the following table 7, and the mapping relationship 2 is shown in the following table 8.
Table 7 (mapping relation 1)
Multicast source group information Slice identification
(S1,G1) 1
Table 8 (mapping relation 2)
Multicast source group information Slice identification
(S1,G1) 2
The multicast receiving ends 310 to 340 may request to join the multicast source group corresponding to the multicast service 1 by sending a multicast joining message corresponding to the multicast service 1 to the multicast network 100, where the multicast joining message corresponding to the multicast service 1 includes multicast source group information (S1, G1) of the multicast service 1, and the network nodes 110 to 160 in the multicast network 100 acquire forwarding table entries (i.e., multicast forwarding table entries, multicast forwarding tree) for forwarding the multicast service 1 according to ports for receiving and sending the multicast joining message and the multicast source group information (S1, G1) included in the multicast joining message, respectively, so as to implement that the multicast receiving ends 310 to 340 join the multicast source group corresponding to the multicast service 1.
The following describes the procedure of adding the multicast receiving ends 310 to 340 to the multicast source group corresponding to the multicast service 1.
The multicast receiving end 310 sends a multicast join message 310 to the network node 140, where the multicast join message 310 includes multicast source group information (S1, G1). Network node 140 receives multicast join message 310 through 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 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 output 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 output 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 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 a multicast forwarding table item as shown in table 9 below according to the multicast source group information (S1, G1), the port P41 where the network node 140 receives the multicast join message 310, and the port P42 where the network node 140 sends the multicast join message 140.
TABLE 9
Multicast source group information Inlet port (IIF) Outlet (OIF)
(S1,G1) P42(x.1) P41
Multicast receiving end 320 sends multicast joining message 320 to network node 150, multicast receiving end 330 sends multicast joining message 330 to network node 150, multicast joining message 320 and multicast joining message 330 each include multicast source group information (S1, G1). Network node 150 receives multicast join message 320 through port P51, and network node 150 obtains slice identifier "2" according to multicast source group information (S1, G1) included in multicast join message 320 and mapping relation 2 described above. Network node 150 receives multicast join message 330 through port P52, and network node 150 obtains slice identifier "2" according to multicast source group information (S1, G1) included in multicast join message 330 and mapping relation 2 described above. The network node 150 generates a multicast join message 150 according to the multicast source group information (S1, G1) and the slice identifier "2", and the multicast join message 150 includes the multicast source group information (S1, G1) and the slice identifier "2". The network node 150 sends the multicast join message 150 through the port P53 (the network node 150 determines that the output 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 output 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 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 entry as shown in table 10 below 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.
Table 10
The multicast receiving end 340 sends a multicast join message 340 to the network node 160, where the multicast join message 340 includes multicast source group information (S1, G1). Network node 160 receives multicast join message 340 via 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 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 output 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 output 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 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 as shown in table 11 below according to the multicast source group information (S1, G1), the port P61 of the network node 160 receiving the multicast join message 340, and the port P62 of the network node 160 transmitting the multicast join message 160.
TABLE 11
Multicast source group information Inlet port (IIF) Outlet (OIF)
(S1,G1) P62(x.1) P61
Network node 120 receives multicast join message 140 through port P21. Network node 120 receives multicast join message 150 through port P22. The network node 120 parses the multicast join message 140 and the multicast join message 150 to find that the multicast source group information included in the multicast join message 140 is the same as the multicast source group information included in the multicast join message 150, and the slice identifier included in the multicast join message 140 is different from the slice identifier included in the multicast join message 150, and the network node 120 determines that the slice attribute conflict occurs between the multicast join message 140 and the multicast join message 150. Network node 120 determines network slice 1 based on the slice conflict resolution policy. The network node 120 generates a multicast join message 120 according to the multicast source group information (S1, G1) and the slice identifier "1" of the network slice 1, and 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 output port of the multicast join message 120 is the port P23 according to the destination address of the multicast join message 120, so the multicast join message 120 is sent through the port P23, or the network node 120 determines that the output 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, and the network node 120 determines the port P23 included in the physical port according to the slice identifier "1", so the network node 120 sends the multicast join message 120 through the port P23). The network node 120 generates a multicast forwarding table entry as shown in table 12 below according to the multicast source group information (S1, G1), the port P21 at which the network node 120 receives the multicast join message 140, 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.
Table 12
Network node 130 receives multicast join message 160 through port P31. The network node 130 parses the multicast join message 160 to find that the multicast join message 160 includes multicast source group information (S1, G1) and a slice identifier "1", and the network node 130 generates the multicast join message 130 according to the multicast source group information (S1, G1) and the slice identifier "1", where the multicast join message 130 includes the multicast source group information (S1, G1) and the slice identifier "1". The network node 130 sends the multicast join message 130 through the port P32 (the network node 130 determines that the output 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 that the output 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 includes the port P32 corresponding to the network slice 1, and the network node 130 determines the port P32 included in the physical port according to the slice identifier "1", so the network node 130 sends the multicast join message 130 through the port P32). The network node 130 generates a multicast forwarding table entry as shown in table 13 below according to the multicast source group information (S1, G1), the port P31 at which the network node 130 receives the multicast join message 160, and the port P32 at which the network node 130 sends the multicast join message 130.
TABLE 13
Multicast source group information Inlet port (IIF) Outlet (OIF)
(S1,G1) P32(x.1) P31(x.1)
Network node 110 receives multicast join message 120 through port P11. Network node 110 receives multicast join message 130 through port P12. The network node 110 parses the multicast join message 120 and the multicast join message 130 to find that the multicast source group information included in the multicast join message 120 is the same as the multicast source group information included in the multicast join message 130, and the slice identifier included in the multicast join message 120 is the same as the slice identifier included in the multicast join message 130, and the network node 110 determines that the slice attribute conflict does not occur in the multicast join message 120 and the multicast join message 130. The network node 110 determines that the port is the port P13 according to the destination address check unicast routing table of the multicast join message 120 (or may check unicast routing table according to the destination address of the multicast join message 130, and the determined egress port is still the port P13). The network node 110 generates a multicast forwarding table entry as shown in the following 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.
TABLE 14
Through the above process, the network nodes 110 to 160 establish the multicast forwarding tree corresponding to the multicast service 1 from the multicast source 220 to the multicast receiving end 310 to 340 (the multicast forwarding tree is shown in the network nodes as the multicast forwarding table item), the multicast forwarding tree is bound with the network slice 1 and the network slice 2, and the multicast stream belonging to the multicast service 1 which is subsequently sent from the multicast source 220 to the multicast receiving end 310 to 340 is forwarded along the multicast forwarding tree, so that the multicast stream of the multicast service 1 can be forwarded through the network slice 1 and the network slice 2, the isolation of the multicast service 1 from other services can be realized, the transmission bandwidth of the multicast service 1 can be ensured, and the transmission quality of the multicast service 1 can be ensured.
In this first example, the multicast source group information (S1, G1) may be the multicast source group information W in the above embodiment, the multicast service 1 is the multicast service corresponding to the multicast source group information W, the network slice 1 is the first network slice in the above embodiment, and the network slice 2 is the second network slice in the above embodiment. In an alternative implementation manner, the multicast receiving end 310 is the multicast receiving end R in the foregoing embodiment, the network node 140 is the leaf node L in the foregoing embodiment, the multicast join message 310 is the first join message A1 in the foregoing embodiment, the multicast join message 140 is the second join message A2 in the foregoing embodiment, the network node 120 is the first node in the foregoing embodiment, the multicast join message 140 is the first join message C1 in the foregoing embodiment, the multicast join message 150 is the third join message C3 in the foregoing embodiment, the multicast join message 120 is the second join message C2 in the foregoing embodiment, or the network node 110 is the first node in the foregoing embodiment, and the multicast join message 120 is the first join message C1 in the foregoing embodiment. In another alternative implementation manner, the multicast receiving end 320 or the multicast receiving end 330 is the multicast receiving end R in the foregoing embodiment, the network node 150 is the leaf node L in the foregoing embodiment, the multicast join message 320 or the multicast join message 330 is the first join message A1 in the foregoing embodiment, the multicast join message 150 is the second join message A2 in the foregoing embodiment, the network node 120 is the first node in the foregoing embodiment, the multicast join message 140 is the first join message C1 in the foregoing embodiment, the multicast join message 150 is the third join message C3 in the foregoing embodiment, the multicast join message 120 is the second join message C2 in the foregoing embodiment, or the network node 110 is the first node in the foregoing embodiment, and the multicast join message 120 is the first join message C1 in the foregoing embodiment. In yet another alternative implementation, the multicast receiving end 340 is the multicast receiving end R in the above embodiment, the network node 160 is the leaf node L in the above embodiment, the multicast join message 340 is the first join message A1 in the above embodiment, the multicast join message 160 is the second join message A2 in the above embodiment, the network node 130 is the first node in the above embodiment, the multicast join message 160 is the first join message C1 in the above embodiment, the multicast join message 130 is the second join message C2 in the above embodiment, or the network node 110 is the first node in the above embodiment, and the multicast join message 130 is the first join message C1 in the above embodiment. The embodiment of the present application is not limited thereto.
Fig. 8 is a schematic diagram illustrating another multicast joining method according to an embodiment of the present application. As shown in fig. 8, network node 110 is a root node, network nodes 140-160 are leaf nodes, and network nodes 120-130 are intermediate nodes. Port P13 of network node 110 is connected to multicast source 200, and multicast source 200 accesses multicast network 100 through network node 110. The port P41 of the network node 140 is connected to the multicast receiving end 310, and the multicast receiving end 310 accesses the multicast network 100 through the network node 140. The port P51 of the network node 150 is connected to the multicast receiving end 320, the port P52 of the network node 150 is connected to the multicast receiving end 330, and the multicast receiving ends 320 to 330 access the multicast network 100 through the network node 150. The port P61 of the network node 160 is connected to the multicast receiving end 340, and the multicast receiving end 340 accesses the multicast network 100 through the network node 160. Multicast source 200 is used to provide multicast service 1 and multicast service 2. The multicast network 100 is deployed with Flex-Algo1, flex-Algo2, network slice 1, and network slice 2. The forwarding plane defined by Flex-Algo1 includes network nodes 110, 120, 130, 140, and 160, and network slice 1 is bound to the forwarding plane based on Flex-Algo1 (the forwarding plane based on Flex-Algo1 is also referred to as the forwarding plane defined by Flex-Algo1, and network slice 1 is a network slice deployed in the forwarding plane defined by Flex-Algo 1). The forwarding plane defined by Flex-Algo2 includes network nodes 110, 120, and 150, and network slice 2 is bound to the forwarding plane based on Flex-Algo2 (the forwarding plane based on Flex-Algo2 is the forwarding plane defined by Flex-Algo2, and network slice 2 is a network slice deployed in the forwarding plane defined by Flex-Algo 2). The network slice 1 is a network slice for the multicast service 1, and the network slice 1 is used for forwarding the multicast service 1. The network slice 2 is a network slice for multicast traffic 2, and the network slice 2 is used for forwarding multicast traffic 2. The port x.1 is the port slice port of the network slice 1, the port x.2 is the port slice port of the network slice 2, and in each network node, the port x.1 (i.e., the port slice x.1) and the port x.2 (i.e., the port slice x.2) are different logical ports in the same physical port or are logical ports in different physical ports. As shown in fig. 8, the ports corresponding to network slice 1 (i.e., slice port x.1) in network node 110 include port P11 and port P12, the ports corresponding to network slice 2 (i.e., slice port x.2) in network node 110 include port P14, the ports corresponding to network slice 1 (i.e., slice port x.1) in network node 120 include port P21 and port P23, the ports corresponding to network slice 2 (i.e., slice port x.2) in network node 120 include port P22 and port P24, the ports corresponding to network slice 1 (i.e., slice port x.1) in network node 130 include port P31 and port P32, the ports corresponding to network slice 1 (i.e., slice port x.1) in network node 140 include port P42, the ports corresponding to network slice 2 (i.e., slice port x.2) in network node 150 include port P53, and the ports corresponding to network slice 1 (i.e., slice port x.1) in network node 160 include port P62.
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 relevant information of network slice 1 and the relevant information of network slice 2 are shown in table 15 below.
TABLE 15
Slicing port (Port) Slice identification Bandwidth of a communication device Flex-Algo
x.1 1 10M Flex-Algo1
x.2 2 20M Flex-Algo2
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-Algo 2.
For example, the multicast source group information of the multicast service 1 is (S1, G1), the multicast source group information of the multicast service 2 is (S2, G2), the network node 140 and the network node 160 include a mapping relationship (e.g., referred to as a mapping relationship 3) of the multicast source group information (S1, G1) and the slice identifier "1", the network node 150 includes a mapping relationship (e.g., referred to as a mapping relationship 4) of the multicast source group information (S2, G2) and the slice identifier "2", the mapping relationship 3 is shown in the following table 16, and the mapping relationship 4 is shown in the following table 17.
Table 16 (mapping relation 3)
Multicast source group information Slice identification
(S1,G1) 1
Table 17 (mapping relation 4)
Multicast source group information Slice identification
(S2,G2) 2
The multicast receiving ends 310 and 340 may request to join the multicast source group corresponding to the multicast service 1 by sending a multicast join message corresponding to the multicast service 1to the multicast network 100, where the multicast join message corresponding to the multicast service 1 includes multicast source group information (S1, G1) of the multicast service 1, and network nodes 110, 120, 130, 140 and 160 (network nodes in a forwarding plane defined by Flex-Algo 1) in the multicast network 100 obtain forwarding entries (i.e., multicast forwarding entries, multicast forwarding trees) for forwarding the multicast service 1 according to ports for transceiving the multicast join message and the multicast source group information (S1, G1) included in the multicast join message, respectively, to implement that the multicast receiving ends 310 and 340 join the multicast source group corresponding to the multicast service 1. The multicast receiving ends 320 and 330 may 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, where the multicast join message corresponding to the multicast service 2 includes multicast source group information (S2, G2) of the multicast service 2, and the network nodes 110, 120 and 150 (network nodes in a forwarding plane defined by Flex-Algo 2) in the multicast network 100 obtain forwarding entries (i.e., multicast forwarding entries, multicast forwarding trees) for forwarding the multicast service 2 according to ports for receiving the multicast join message and the multicast source group information (S2, G2) included in the multicast join message, respectively, to implement that the multicast receiving ends 320 and 330 join the multicast source group corresponding to the multicast service 2.
The following describes the procedure of joining the multicast source group corresponding to the multicast service 1 by the multicast receiving ends 310 and 340, and the procedure of joining the multicast source group corresponding to the multicast service 2 by the multicast receiving ends 320 and 330.
The multicast receiving end 310 sends a multicast join message 310 to the network node 140, where the multicast join message 310 includes multicast source group information (S1, G1). Network node 140 receives multicast join message 310 through 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 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 output 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 output 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 the port P42 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 entry as shown in table 18 below according to the multicast source group information (S1, G1), the port P41 at which the network node 140 receives the multicast join message 310, and the port P42 at which the network node 140 sends the multicast join message 140.
TABLE 18
Multicast source group information Inlet port (IIF) Outlet (OIF)
(S1,G1) P42(x.1) P41
Multicast receiving end 320 sends multicast join message 320 to network node 150, multicast receiving end 330 sends multicast join message 330 to network node 150, multicast join message 320 and multicast join message 330 each include multicast source group information (S2, G2). Network node 150 receives multicast join message 320 via port P51, and network node 150 obtains slice identifier "2" according to multicast source group information (S2, G2) included in multicast join message 320 and mapping relation 4 described above. Network node 150 receives multicast join message 330 via port P52, and network node 150 obtains slice identifier "2" according to multicast source group information (S2, G2) included in multicast join message 330 and mapping relation 4 described above. The network node 150 generates a multicast join message 150 according to the multicast source group information (S2, G2) and the slice identifier "2", and the multicast join message 150 includes the multicast source group information (S2, G2) and the slice identifier "2". Network node 150 sends multicast join message 150 through port P53 (network node 150 determines that the output port of multicast join message 150 is port P53 according to the destination address of multicast join message 150, so multicast join message 150 is sent through port P53, or network node 150 determines that the output port of multicast join message 150 is a physical port according to the destination address of multicast join message 150, the physical port includes port P53 corresponding to network slice 2, and network node 150 determines that the physical port includes port P53 according to slice identifier "2", so multicast join message 150 is sent through port P53). The network node 150 generates a multicast forwarding table entry as shown in table 19 below 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.
TABLE 19
The multicast receiving end 340 sends a multicast join message 340 to the network node 160, where the multicast join message 340 includes multicast source group information (S1, G1). Network node 160 receives multicast join message 340 via 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 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 output 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 output 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 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 entry as shown in table 20 below according to the multicast source group information (S1, G1), the port P61 at which the network node 160 receives the multicast join message 340, and the port P62 at which the network node 160 sends the multicast join message 160.
Table 20
Network node 120 receives multicast join message 140 through port P21. Network node 120 parses multicast join message 140 to find that multicast join message 140 includes multicast source group information (S1, G1) and slice identification "1". The network node 120 generates a multicast join message 1201 according to the multicast source group information (S1, G1) and the slice identifier "1", and the multicast join message 1201 includes the multicast source group information (S1, G1) and the slice identifier "1". The network node 120 sends the multicast join message 1201 through the port P23 (the network node 120 checks the unicast routing table according to the destination address of the multicast join message 1201 to determine that the output port of the multicast join message 1201 is the port P23, so that the multicast join message 1201 is sent through the port P23, or the network node 120 checks the unicast routing table according to the destination address of the multicast join message 1201 to determine that the output port of the multicast join message 1201 is a physical port, where the physical port includes the port P23 corresponding to the network slice 1, and the network node 120 determines the port P23 included in the physical port according to the slice identifier "1", so that the multicast join message 1201 is sent through the port P23). The network node 120 generates a multicast forwarding table item as shown in the following table 21 according to the multicast source group information (S1, G1), the port P21 at which the network node 120 receives the multicast join message 140, and the port P23 at which the network node 120 sends the multicast join message 1201.
Table 21
Multicast source group information Inlet port (IIF) Outlet (OIF)
(S1,G1) P23(x.1) P21(x.1)
Network node 120 receives multicast join message 150 through port P22. Network node 120 parses multicast join message 150 to find that multicast join message 150 includes multicast source group information (S2, G2) and 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 including 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 that the output port of the multicast join message 1202 is the port P24 according to the destination address of the multicast join message 1202, so that the multicast join message 1202 is sent through the port P24, or the network node 120 determines that the output 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 includes the port P24 corresponding to the network slice 2, and the network node 120 determines the port P24 included in the physical port according to the slice identifier "2", so that the multicast join message 1202 is sent through the port P24). The network node 120 generates a multicast forwarding table entry as shown in the following table 22 according to the multicast source group information (S2, G2), the port P22 at which the network node 120 receives the multicast join message 150, and the port P24 at which the network node 120 sends the multicast join message 1202.
Table 22
Multicast source group information Inlet port (IIF) Outlet (OIF)
(S2,G2) P24(x.2) P22(x.2)
Network node 130 receives multicast join message 160 through port P31. The network node 130 parses the multicast join message 160 to find that the multicast join message 160 includes multicast source group information (S1, G1) and a slice identifier "1". The network node 130 generates a multicast join message 130 according to the multicast source group information (S1, G1) and the slice identifier "1", and the multicast join message 130 includes the multicast source group information (S1, G1) and the slice identifier "1". The network node 130 sends the multicast join message 130 through the port P32 (the network node 130 determines that the output port of the multicast join message 130 is the port P32 according to the destination address of the multicast join message 130, so that the multicast join message 130 is sent through the port P32, or the network node 130 determines that the output 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 includes the port P32 corresponding to the network slice 1, and the network node 130 determines the port P32 included in the physical port according to the slice identifier "1", so that the multicast join message 130 is sent through the port P32). The network node 130 generates a multicast forwarding table item as shown in table 23 below according to the multicast source group information (S1, G1), the port P31 at which the network node 130 receives the multicast join message 160, and the port P32 at which the network node 130 sends the multicast join message 130.
Table 23
Multicast source group information Inlet port (IIF) Outlet (OIF)
(S1,G1) P32(x.1) P31(x.1)
Network node 110 receives multicast join message 1201 through port P11. Network node 110 receives multicast join message 130 through port P12. The network node 110 analyzes the multicast addition message 1201 and the multicast addition message 130 to find that the multicast source group information included in the multicast addition message 1201 is the same as the multicast source group information included in the multicast addition message 130, and the slice identifier included in the multicast addition message 1201 is the same as the slice identifier included in the multicast addition message 130, and the network node 110 determines that the multicast addition message 1201 and the multicast addition message 130 do not have slice attribute conflict. The network node 110 determines that the port is the port P13 according to the unicast routing table checked by the destination address of the multicast join message 1201 (or may check the unicast routing table according to the destination address of the multicast join message 130, and the determined egress port is still the port P13). The network node 110 generates a multicast forwarding table entry as shown in the following table 24 according to the multicast source group information (S1, G1), the port P11 at which the network node 110 receives the multicast join message 1201, the port P12 at which the network node 110 receives the multicast join message 130, and the port P13.
Table 24
Network node 110 receives multicast join message 1202 via port P14. The network node 110 checks the unicast routing table according to the destination address of the multicast join message 1202 to determine that the port is port P13. The network node 110 generates a multicast forwarding table entry as shown in table 25 below according to multicast source group information (S2, G2) included in the multicast join message 1202, and the port P14 and the port P13 of the network node 110 that receive the multicast join message 1202.
Table 25
Multicast source group information Inlet port (IIF) Outlet (OIF)
(S2,G2) P13 P14(x.2)
Through the above procedure, 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 receivers 310 and 340 (the multicast forwarding tree is represented in the network nodes as the multicast forwarding table item described above), the multicast forwarding tree 1 is bound to the network slice 1, and the multicast stream belonging to the multicast service 1, which is subsequently transmitted from the multicast source 220 to the multicast receivers 310 and 340, is forwarded along the multicast forwarding tree 1, so that the multicast stream forwarding of the multicast service 1 through the network slice 1 can be implemented. Network nodes 110, 120 and 150 establish multicast forwarding tree 2 corresponding to multicast traffic 2 from multicast source 220 to multicast receivers 310 and 340, the multicast forwarding tree 2 being bound to network slice 2 along which multicast streams belonging to multicast traffic 2 subsequently sent from multicast source 220 to multicast receivers 320 and 330 are forwarded, enabling forwarding of multicast streams of multicast traffic 2 through network slice 2. The embodiment can realize the isolation of the multicast service 1 and the multicast service 2, and ensure the respective transmission bandwidths and the quality of the multicast service 1 and the multicast service 2. In this embodiment, since the network slice 1 is bound to the forwarding plane based on the Flex-Algo1, and the network slice 2 is bound to the forwarding plane based on the Flex-Algo2, the multicast stream of the multicast service 1 is forwarded through the forwarding plane based on the Flex-Algo1, and the multicast stream of the multicast service 2 is forwarded through the forwarding plane based on the Flex-Algo2, which can implement that different multicast services travel through different forwarding planes based on the Flex-Algo.
Optionally, in this second example, the multicast source group information (S1, G1) is multicast source group information W in the above embodiment, the multicast service 1 is a multicast service corresponding to the multicast source group information W, and the network slice 1 is the first network slice in the above embodiment. In an alternative implementation manner, the multicast receiving end 310 is the multicast receiving end R in the above embodiment, the network node 140 is the leaf node L in the above embodiment, the multicast join message 310 is the first join message A1 in the above embodiment, the multicast join message 140 is the second join message A2 in the above embodiment, the network node 120 is the first node in the above embodiment, the multicast join message 140 is the first join message C1 in the above embodiment, the multicast join message 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 alternative implementation, the multicast receiving end 340 is the multicast receiving end R in the above embodiment, the network node 160 is the leaf node L in the above embodiment, the multicast join message 340 is the first join message A1 in the above embodiment, the multicast join message 160 is the second join message A2 in the above embodiment, the network node 130 is the first node in the above embodiment, the multicast join message 160 is the first join message C1 in the above embodiment, the multicast join message 130 is the second join message C2 in the above embodiment, or the network node 110 is the first node in the above embodiment, and the multicast join message 130 is the first join message C1 in the above embodiment.
The foregoing is an introduction to the method embodiments of the present application and the following description of the apparatus embodiments of the present application. The apparatus of the present application may be used to perform the method of the present application. For details not disclosed in the device embodiments of the present application, please refer to the method embodiments.
Fig. 9 is a schematic diagram of a multicast joining device 900 according to an embodiment of the present application. The multicast join device 900 is applied to a leaf node or a first node. For example, the multicast join device 900 is a leaf node or a functional component in the leaf node, or the multicast join device 900 is a first node or a functional component in a first node. Multicast join device 900 may implement any of the embodiments shown in fig. 2, 4-6. As shown in fig. 9, the multicast joining apparatus 900 includes a receiving module 910, a processing module 920, and a transmitting module 930.
In one embodiment, the multicast joining device 900 is applied to a leaf node, a receiving module 910 configured to receive a first joining message sent by a multicast receiving end, where the first joining message includes multicast source group information, a processing module 920 configured to obtain a slice identifier according to the multicast source group information and a mapping relationship, where the mapping relationship includes the multicast source group information and the slice identifier, and the slice identifier is used to identify a network slice, and a sending module 930 configured to send a second joining message through a first port, where the second joining message includes the multicast source group information and the slice identifier, and the first port is a port corresponding to the network slice determined based on the slice identifier. The function implementation of the receiving module 910 refers to the description in S201, and the function implementation of the processing module 920 refers to the description in S202. The function implementation of the transmitting module 930 is described in S203 above.
In an optional implementation manner of this embodiment, the processing module 920 is further configured to obtain a forwarding table according to the multicast source group information, the first port, and the second port, where the forwarding table includes the multicast source group information, an identifier of the first port, and an identifier of the second port, and the second port is configured to receive the first join packet. The function implementation of the processing module 920 refers to the description related to S204 above.
In an alternative implementation of this one embodiment, the second join message includes a join attribute field for carrying the slice identity.
In an alternative implementation of this one embodiment, the network slice is a Flex-Algo based network slice that is bound to the forwarding plane defined by the Flex-Algo.
In another embodiment, the multicast joining device 900 is applied to a first node, a receiving module 910 configured to receive a first joining packet sent by a second node through a first port, where the first joining packet 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 a port corresponding to the first network slice, and a processing module 920 configured to obtain a forwarding table according to the multicast source group information and the first port, where the forwarding table includes the multicast source group information and the identifier of the first port. The function implementation of the receiving module 910 refers to the related description in S401, S501 or S601. The function implementation of the processing module 920 refers to the description related to S402.
In an alternative implementation of this further embodiment, the first node is a root node and the second node is a leaf node or an intermediate node.
In an alternative implementation manner of this another embodiment, the first node is an intermediate node, the second node is a leaf node or an intermediate node, and the sending module 930 is configured to send a second join packet through a second port, where the second join packet includes the multicast source group information and the first slice identifier, and the second port is a port corresponding to the first network slice determined based on the first slice identifier. The function implementation of the transmitting module 930 refers to the description related to S502 or S605.
In an alternative implementation manner of this another embodiment, the processing module 920 is configured to obtain a forwarding table according to the multicast source group information, the first port, and the second port, where the forwarding table includes the multicast source group information, an identifier of the first port, and an identifier of the second port. The function implementation of the processing module 920 is described with reference to the above description in S503.
In an alternative implementation manner of this another embodiment, the receiving module 910 is further configured to receive a third join packet sent by a third node, where the third join packet includes the multicast source group information and a second slice identifier, where the second slice identifier is used to identify a second network slice, the processing module 920 is further configured to determine that a slice attribute carried by the third join packet conflicts with a slice attribute carried by the first join packet, and determine the first network slice based on a slice conflict resolution policy. The function implementation of the receiving module 910 refers to the related description in S602, and the function implementation of the processing module 920 refers to the related description in S603 to S604.
In an alternative implementation manner of this other embodiment, the processing module 930 is configured to obtain a forwarding table entry according to the multicast source group information, the first port, the second port, and a third port, where the forwarding table entry includes the multicast source group information, an identifier of the first port, an identifier of the second port, and an identifier of the third port, and the third port is a port corresponding to the second network slice, and the third port is used to receive the third join packet. The function implementation of the processing module 920 refers to the description related to S606.
Optionally, the slice conflict resolution policy includes at least one of a slice identification based conflict resolution policy and a slice bandwidth based conflict resolution policy. The collision resolution strategy based on the slice identification comprises the steps of determining the network slice with smaller slice identification or determining the network slice with larger slice identification, and the collision resolution strategy based on the slice bandwidth comprises the step of determining the network slice with smaller bandwidth or determining the network slice with larger bandwidth.
In an alternative implementation of this further embodiment, the first join message includes a join attribute field for carrying the first slice identity. The second join message includes a join attribute field for carrying the first slice identifier. The third join message includes a join attribute field for carrying a second slice identifier.
In an alternative implementation of this further embodiment, the first network slice is a first Flex-Algo based network slice, the first network slice being bound to a forwarding plane defined by the first Flex-Algo. The second network slice is a second Flex-Algo based network slice, the second network slice being bound to a forwarding plane defined by the second Flex-Algo.
The multicast join device provided by the embodiment of the present application may also be implemented as an application-specific integrated circuit (ASIC) or a programmable logic device (programmable logic device, PLD), which may be a complex program logic device (complex programmable logical device, CPLD), field-programmable gate array (FPGA) GATE ARRAY, general-purpose array logic (GENERIC ARRAY logic, GAL), or any combination thereof. The multicast joining method provided by the method embodiment can also be implemented by software, and when the multicast joining method provided by the method embodiment is implemented by software, each module in the multicast joining device can also be a software module.
The embodiment of the application provides a multicast joining device, which is applied to a network node, wherein the network node is a leaf node or a first node in the embodiment, and the first node is a root node or an intermediate node. The multicast join device includes a memory and a processor. The memory is used for storing a computer program. The processor is configured to execute the computer program stored in the memory to cause the multicast join device to perform all or part of the steps of the multicast join method as provided in the method embodiments described above.
As an example, please refer to fig. 10, which illustrates a schematic diagram of a multicast joining device 1000 according to an embodiment of the present application. The multicast joining device 1000 is a network node or a functional component in a network node, which is a leaf node or a first node in the above-described embodiments. Multicast join device 1000 may implement any of the embodiments shown in fig. 2, 4-6. As shown in fig. 10, the multicast joining apparatus 1000 includes a main control board 1010, an interface board 1030, and an interface board 1040. The plurality of interface boards also comprises, in the case of a plurality of interface boards, a switching network board (not shown in fig. 10) for completing the data exchange between the interface boards (interface boards are also called line cards or service boards).
The main control board 1010 is used for performing functions such as system management, equipment maintenance, and protocol processing. Interface board 1030 and interface board 1040 are used to provide various service interfaces (e.g., POS interface, GE interface, ATM interface, etc.) and to implement message forwarding. The main control board 1010 mainly has 3 kinds of functional units, namely a system management control unit, a system clock unit and a system maintenance unit. The main control board 1010, the interface board 1030 and the interface board 1040 are connected with the system backboard through a system bus to realize intercommunication. Interface board 1030 includes one or more processors 1031 thereon. Processor 1031 is used to control and manage interface board 1030 and communicate with central processor 1012 on main control board 1010. Memory 1032 on interface board 1030 is used to store forwarding entries, and in the case where the network node is a leaf node, memory 1032 on interface board 1030 is also used to map multicast source group information and slice identifications. Interface board 1030 includes one or more network interfaces 1033 for receiving and transmitting messages. The specific implementation process is not described here in detail. As shown in fig. 10, the main control board 1010 further includes a memory 1014, where the memory 1014 is used to store system management information, protocols, and the like, which is not limited by the embodiment of the present application.
As shown in fig. 10, this embodiment includes multiple interface boards, and uses a distributed forwarding mechanism, where operations on interface board 1040 are substantially similar to those of interface board 1030. For example, interface board 1040 includes one or more network interfaces 1043 for receiving and transmitting messages, interface board 1040 includes a memory 1042 for storing forwarding entries, mappings of multicast source group information and slice identifications, and interface board 1040 includes a processor 1041 for controlling and managing interface board 1040 and communicating with central processor 1012 on master control board 1010. For brevity, the interface board 1040 will not be described in detail herein.
Processor 1031 in interface board 1030 and/or processor 1041 in interface board 1040 in fig. 10 may be dedicated hardware or chips, such as a network processor or an application-specific integrated circuit, for performing the functions described herein in a manner known as "forwarding plane" that employs dedicated hardware or chip processing. In other embodiments, processor 1031 in interface board 1030 and/or processor 1041 in interface board 1040 may also employ a general-purpose processor, such as a general-purpose central processing unit (central processing unit, CPU).
The main control board may have one or more pieces, and the main control board and the standby main control board may be included when the main control board has more pieces. The interface boards may have one or more blocks, the more data processing capabilities the network nodes are, the more interface boards are provided. Under the condition of a plurality of interface boards, the interface boards can communicate through one or a plurality of exchange network boards, and load sharing redundancy backup can be realized jointly when a plurality of interface boards exist. Under the centralized forwarding architecture, the network node may not need to exchange network boards, and the interface board bears the processing function of the service data of the whole system. Under the distributed forwarding architecture, the network node comprises a plurality of interface boards, and data exchange among the plurality of interface boards can be realized through the exchange network board, so that high-capacity data exchange and processing capacity are provided. Therefore, the data access and processing power of the network nodes of the distributed architecture is greater than that of the network nodes of the centralized architecture. Which architecture is specifically adopted depends on the networking deployment scenario, and no limitation is made here.
In alternative embodiments, memory 1032 and/or 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 (random access memory, RAM) or other type of dynamic storage device that can store information and instructions, and may also be an electrically erasable programmable read-only memory (ELECTRICALLY ERASABLE PROGRAMMABLE READ-only memory, EEPROM), a compact disc (compact disc read-only memory, CD-ROM) or other optical disc storage, optical disc storage (including compact discs, laser discs, optical discs, digital versatile discs, blu-ray discs, etc.), magnetic or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, without limitation. The memory 1032 may be provided separately and coupled to the processor 1031 via a communication bus or may be integrated with the processor 1031. The memory 1042 may be provided separately, coupled to the processor 1041 via a communication bus, or may be integrated with the processor 1041.
The memory 1032 is used for storing program codes (i.e., computer programs) and is controlled to be executed by the processor 1031 to perform part or all of the steps of the method provided by the above-described embodiments. The processor 1031 is used to execute program code stored in the memory 1032. One or more software modules may be included in the program code. The one or more software modules may be the functional modules provided in the embodiment shown in fig. 9 described above. Memory 1042 may also be used for storing program code and it may be controlled by processor 1041 to perform some or all of the steps of the methods provided by the embodiments described above. Similarly, memory 1014 may also be used for storing program code and for controlling execution by central processor 1012 to perform some or all of the steps of the methods provided by the embodiments described above.
In alternative embodiments, the network interfaces 1033, 1043 are devices that use any transceiver or the like for communicating with other devices or networks, such as ethernet, radio access network (radio access network, RAN), wireless local area network (wireless local area networks, WLAN), etc.
As another example, please refer to fig. 11, which illustrates a schematic diagram of a multicast joining device 1100 according to an embodiment of the present application. The multicast joining device 1100 is a network node or a functional component in a network node, which is a leaf node or a first node in the above-described embodiment. Multicast join device 1000 may implement any of the embodiments shown in fig. 2, 4-6. As shown in fig. 11, the multicast join device 1100 includes a processor 1102, a memory 1104, a communication interface 1106, and a bus 1108, the processor 1102, the memory 1104, and the communication interface 1106 being communicatively coupled via the bus 1108. The connections between the processor 1102, the memory 1104, and the communication interface 1106 shown in fig. 11 are merely exemplary, and in the implementation, the processor 1102, the memory 1104, and the communication interface 1106 may be connected by other than the bus 1108, which is not limited by the embodiment of the present application.
The memory 1104 is used for storing a computer program 11042, and the computer program 11042 may include instructions and data. The memory 1104 may be various types of storage media such as RAM, ROM, nonvolatile RAM (NVRAM), programmable ROM (PROM), erasable PROM (erasable PROM, EPROM), electrically erasable PROM (ELECTRICALLY ERASABLE PROM, EEPROM), flash memory, optical memory, registers, and the like.
The processor 1102 may be a general-purpose processor or a special-purpose processor. A general-purpose processor is a processor that performs certain steps and/or operations by reading and executing a computer program (e.g., computer program 11042) stored in a memory (e.g., memory 1104), and may use data stored in the memory (e.g., memory 1104) in performing the steps and/or operations. The stored computer program may be executed to implement the functions associated with the processing module 920 described above, and the general purpose processor may be a CPU. The special purpose processor is a specially designed processor for performing the specific steps and/or operations, and may be a digital signal processor (DIGITAL SIGNAL processor, DSP), ASIC, FPGA, or the like. The processor 1102 may also be a combination of 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 methods of the embodiments described above.
Among other things, communication interface 1106 may include input/output (I/O) interfaces, physical interfaces, logical interfaces, and the like for implementing device interconnections within multicast join apparatus 1100, as well as interfaces for implementing multicast join apparatus 1100 to other devices (e.g., network nodes). The physical interface may be a gigabit ethernet interface (gigabit Ethernet, GE) that may be used to implement the multicast join device 1100 to interconnect with other equipment, and the logical interface is an interface internal to the multicast join device 1100 that may be used to implement the device interconnect internal to the multicast join device 1100. The communication interface 1106 may be used for the multicast joining apparatus 1100 to communicate with 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 may implement the functions related to the receiving module 910 and the sending module 920 described above. The communication interface 1106 may also include a transceiver for receiving and transmitting messages, which may also perform the functions associated with the receiving module 910 and the transmitting module 920 described above.
Where bus 1108 may be any type of communication bus, such as a system bus, that interconnects processor 1102, memory 1104, and communication interface 1106.
The above devices may be provided on separate chips, or may be provided at least partially or entirely on the same chip. Whether the individual devices are independently disposed on different chips or integrally disposed on one or more chips is often dependent on the needs of the product design. The embodiment of the application does not limit the specific implementation form of the device.
The multicast join device 1100 shown in fig. 11 is merely exemplary, and in implementation, the multicast join device 1100 may include other components, which are not listed here. The multicast joining device 1100 shown in fig. 11 joins a multicast receiving end to a multicast source group based on a network slice by performing all or part of the steps of the method provided by the above-described embodiments.
The embodiment of the application provides a multicast joining system, which comprises a leaf node and a first node, wherein the first node is a root node or an intermediate node, and at least one of the leaf node and the first node comprises a multicast joining device as shown in fig. 9 to 11.
In one example, as shown in fig. 1, 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.
Embodiments of the present application provide a computer readable storage medium having stored therein a computer program which, when executed (e.g., by a leaf node, an intermediate node, a root node, one or more processors, etc.), performs all or part of the steps of a method as provided by the method embodiments described above.
Embodiments of the present application provide a computer program product comprising a program or code which, when executed (e.g. by a leaf node, an intermediate node, a root node, one or more processors, etc.), performs all or part of the steps of a method as provided by the method embodiments described above.
Embodiments of the present application provide a chip comprising programmable logic circuits and/or program instructions, which when executed is adapted to carry out all or part of the steps of the method as provided by the method embodiments described above.
In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, may be embodied in whole or in part in the form of a computer program product comprising one or more computer instructions. When loaded and executed on a computer, produces a flow or function in accordance with embodiments of the present application, in whole or in part. The computer may be a general purpose computer, a network of computers, or other programmable devices. The computer instructions may be stored in or transmitted from one computer readable storage medium to another, for example, by wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means from one website, computer, server, or data center. The computer readable storage medium may be any available medium that can be accessed by a computer or a data storage device including one or more servers, data centers, etc. that can be integrated with the available medium. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium, or a semiconductor medium (e.g., solid state disk), etc.
The term "at least one" in the present application means one or more, and "a plurality" means two or more. In the present application, the symbol "/" generally means or unless otherwise indicated, for example, a/B may represent a or B. The term "and/or" in the present application is merely an association relation describing the association object, and means that three kinds of relations may exist, for example, a and/or B, and that three kinds of cases, i.e., a alone, a and B together, and B alone, exist. In addition, for the purpose of clarity of description, the words "first," "second," "third," and the like are used herein to distinguish between identical or similar items that have substantially the same function and effect. Those skilled in the art will appreciate that the words "first," "second," "third," etc. do not limit the number and order of execution.
Different types of embodiments, such as a method embodiment and a device embodiment, provided by the embodiment of the present application may be referred to each other, and the embodiment of the present application is not limited to this. The sequence of the operations of the method embodiment provided by the embodiment of the application can be properly adjusted, the operations can also be increased or decreased according to the situation, and any method which is easily conceivable to be changed by a person skilled in the art within the technical scope of the disclosure of the application is covered in the protection scope of the application, so that the description is omitted.
In the corresponding embodiments provided in the present application, it should be understood that the disclosed apparatus and the like may be implemented by other structural means. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of elements is merely a logical functional division, and there may be additional divisions of actual implementation, e.g., multiple elements or components may be combined or integrated into another system, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, or may be in electrical or other forms.
The elements illustrated as separate elements may or may not be physically separate, and elements described as elements may or may not be physical elements, may be located in one place, or may be distributed over a plurality of network nodes. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
While the application has been described with reference to exemplary embodiments, it will be understood by those skilled in the art that various changes and substitutions of equivalents may be made without departing from the spirit and scope of the application. Therefore, the protection scope of the application is subject to the protection scope of the claims.

Claims (22)

1. A method of multicast joining, the method comprising:
the method comprises the steps that a leaf node receives a first joining message sent by a multicast receiving end, wherein the first joining message comprises multicast source group information;
The leaf node obtains a slice identifier according to the multicast source group information and a mapping relation, wherein the mapping relation comprises the multicast source group information and the slice identifier, and the slice identifier is used for identifying a network slice;
The leaf node sends a second joining message through a first port, wherein the second joining message comprises the multicast source group information and the slice identifier, and the first port is a port corresponding to the network slice determined based on the slice identifier.
2. The method of claim 1, further comprising the leaf node obtaining a forwarding table according to the multicast source group information, the first port, and a second port, the forwarding table including the multicast source group information, an identification of the first port, and an identification of the second port, the second port being configured to receive the first join message.
3. The method of claim 2, wherein the second join message includes a join attribute field for carrying the slice identity.
4. A method of multicast joining, the method comprising:
A first node receives a first joining message sent by a second node through a first port, wherein the first joining message comprises multicast source group information and a first slice identifier, the first slice identifier is used for identifying a first network slice, and the first port is a port corresponding to the first network slice;
And the first node obtains a forwarding table item according to the multicast source group information and the first port, wherein the forwarding table item comprises the multicast source group information and the identification of the first port.
5. The method of claim 4, wherein the first node is a root node and the second node is a leaf node or an intermediate node.
6. The method of claim 4, wherein the first node is an intermediate node and the second node is a leaf node or an intermediate node, and wherein the method further comprises the first node sending a second join message via a second port, the second join message including the multicast source group information and the first slice identifier, the second port being a port corresponding to the first network slice determined based on the first slice identifier.
7. The method of claim 6, wherein the first node obtaining a forwarding table from the multicast source group information and the first port comprises the first node obtaining the forwarding table from the multicast source group information, the first port, and the second port, the forwarding table comprising the multicast source group information, an identification of the first port, and an identification of the second port.
8. The method according to claim 6, characterized in that the method comprises:
The first node receives a third joining message sent by a third node, wherein the third joining message comprises the multicast source group information and a second slice identifier, and the second slice identifier is used for identifying a second network slice;
The first node determines that the slice attribute carried by the third added message conflicts with the slice attribute carried by the first added message;
The first node determines the first network slice based on a slice conflict resolution policy.
9. The method of claim 8, wherein the first node obtaining a forwarding table according to the multicast source group information and the first port includes the first node obtaining the forwarding table according to the multicast source group information, the first port, the second port, and a third port, the forwarding table including the multicast source group information, an identification of the first port, an identification of the second port, and an identification of the third port, the third port being a port corresponding to the second network slice, and the third port being configured to receive the third join message.
10. The method of claim 8 or 9, wherein the slice conflict resolution policy comprises at least one of a slice identification based conflict resolution policy and a slice bandwidth based conflict resolution policy.
11. The method according to any of claims 4 to 10, wherein the first join message comprises a join attribute field for carrying the first slice identity.
12. A multicast join device for use with a leaf node, the device comprising:
The receiving module is used for receiving a first joining message sent by the multicast receiving end, wherein the first joining message comprises multicast source group information;
the processing module is used for obtaining a slice identifier according to the multicast source group information and a mapping relation, wherein the mapping relation comprises the multicast source group information and the slice identifier, and the slice identifier is used for identifying a network slice;
And the sending module is used for sending a second joining message through a first port, the second joining message comprises the multicast source group information and the slice identifier, and the first port is a port which is determined based on the slice identifier and corresponds to the network slice.
13. The apparatus of claim 12, wherein the processing module is further configured to obtain a forwarding table according to the multicast source group information, the first port, and the second port, the forwarding table including the multicast source group information, an identification of the first port, and an identification of the second port, the second port being configured to receive the first join message.
14. The apparatus of claim 13, wherein the second join message comprises a join attribute field for carrying the slice identity.
15. A multicast joining apparatus for use with a first node, the apparatus comprising:
The receiving module is used for receiving a first joining message sent by a second node through a first port, wherein the first joining message comprises multicast source group information and a first slice identifier, the first slice identifier is used for identifying a first network slice, and the first port is a port corresponding to the first network slice;
and the processing module is used for obtaining a forwarding table item according to the multicast source group information and the first port, wherein the forwarding table item comprises the multicast source group information and the identification of the first port.
16. The apparatus of claim 15, wherein the first node is a root node and the second node is a leaf node or an intermediate node.
17. The apparatus of claim 15, wherein the first node is an intermediate node and the second node is a leaf node or an intermediate node, and wherein the apparatus further comprises a transmitting module configured to transmit a second join message through a second port, the second join message including the multicast source group information and the first slice identifier, the second port being a port corresponding to the first network slice determined based on the first slice identifier.
18. The apparatus of claim 17, wherein 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 including the multicast source group information, an identification of the first port, and an identification of the second port.
19. The apparatus of claim 17, wherein the device comprises a plurality of sensors,
The receiving module is further configured to receive a third join message sent by a third node, where the third join message includes the multicast source group information and a second slice identifier, and the second slice identifier is used to identify a second network slice;
The processing module 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.
20. The apparatus of claim 19, wherein the processing module is configured to obtain the forwarding table according to the multicast source group information, the first port, the second port, and a third port, where the forwarding table includes the multicast source group information, an identification of the first port, an identification of the second port, and an identification of the third port, and the third port is a port corresponding to the second network slice, and the third port is configured to receive the third join message.
21. The apparatus of claim 19 or 20, wherein the slice conflict resolution policy comprises at least one of a slice identification based conflict resolution policy and a slice bandwidth based conflict resolution policy.
22. The apparatus according to any one of claims 15 to 21, wherein the first join message includes a join attribute field, the join attribute field being configured to carry the first slice identifier.
CN202311077465.2A 2023-08-24 2023-08-24 Multicast joining method and device Pending CN119520183A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311077465.2A CN119520183A (en) 2023-08-24 2023-08-24 Multicast joining method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311077465.2A CN119520183A (en) 2023-08-24 2023-08-24 Multicast joining method and device

Publications (1)

Publication Number Publication Date
CN119520183A true CN119520183A (en) 2025-02-25

Family

ID=94656291

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311077465.2A Pending CN119520183A (en) 2023-08-24 2023-08-24 Multicast joining method and device

Country Status (1)

Country Link
CN (1) CN119520183A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101534205A (en) * 2008-03-11 2009-09-16 中国网通集团宽带业务应用国家工程实验室有限公司 Application layer multicast service realizing method, terminal and system thereof
CN109769150A (en) * 2017-11-09 2019-05-17 华为技术有限公司 A kind of method and apparatus of transport multicast business
CN113973082A (en) * 2020-07-06 2022-01-25 华为技术有限公司 Message processing method and network equipment
US20230198892A1 (en) * 2020-08-13 2023-06-22 Huawei Technologies Co., Ltd. Method and apparatus for sending multicast packet and method and apparatus for obtaining forwarding entry

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101534205A (en) * 2008-03-11 2009-09-16 中国网通集团宽带业务应用国家工程实验室有限公司 Application layer multicast service realizing method, terminal and system thereof
CN109769150A (en) * 2017-11-09 2019-05-17 华为技术有限公司 A kind of method and apparatus of transport multicast business
CN113973082A (en) * 2020-07-06 2022-01-25 华为技术有限公司 Message processing method and network equipment
US20230198892A1 (en) * 2020-08-13 2023-06-22 Huawei Technologies Co., Ltd. Method and apparatus for sending multicast packet and method and apparatus for obtaining forwarding entry

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
丁宇;张宏进;: "基于网络切片的vOLT接入网设计", 网络新媒体技术, no. 01, 15 January 2020 (2020-01-15) *

Similar Documents

Publication Publication Date Title
US9059943B2 (en) Method of routing multicast traffic
US9083645B2 (en) Systems and methods providing reverse path forwarding compliance for a multihoming virtual routing bridge
US8489754B2 (en) Full mesh optimization for spanning tree protocol
CN108768866B (en) Cross-card forwarding method and device for multicast message, network equipment and readable storage medium
CN114760165B (en) Message transmission method, device and system
CN113472646B (en) Data transmission method, node, network manager and system
CN111800326A (en) Message transmission method and device, processing node and storage medium
CN104869081B (en) MESSAGE EXCHANGE processing method, business board and internet exchange system
JP5612468B2 (en) Method and apparatus for communication of diagnostic data in a real-time communication network
US8923291B2 (en) Communication apparatus and communication method
CN103858394A (en) Load reduction system, and load reduction method
US10742545B2 (en) Multicasting system
WO2018068588A1 (en) Method and software-defined networking (sdn) controller for providing multicast service
CN116094987B (en) Method and device for determining forwarding path
CN119396767A (en) Data transmission method, device, electronic device and storage medium of network on chip
CN114640615B (en) A route advertisement method, route generation method and device
CN115242699A (en) Message transmission method, slice generation method, device and system
CN115174139B (en) Node isolation method, switching equipment and Ethernet storage system
CN116132364A (en) Message transmission method, device and system
CN117255046A (en) A communication method and related equipment
CN119520183A (en) Multicast joining method and device
CN116938666B (en) A data processing method and related equipment
CN118101670A (en) Message mirroring method, device and system
CN116828024A (en) Identification methods, devices, systems and storage media for business connections
CN117097633A (en) Message transmission method, transmission control method, device and system

Legal Events

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