WO2022267500A1 - 用于处理组播报文的方法及装置 - Google Patents

用于处理组播报文的方法及装置 Download PDF

Info

Publication number
WO2022267500A1
WO2022267500A1 PCT/CN2022/077501 CN2022077501W WO2022267500A1 WO 2022267500 A1 WO2022267500 A1 WO 2022267500A1 CN 2022077501 W CN2022077501 W CN 2022077501W WO 2022267500 A1 WO2022267500 A1 WO 2022267500A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
multicast
segment
identifier
message
Prior art date
Application number
PCT/CN2022/077501
Other languages
English (en)
French (fr)
Inventor
王贵
董甲甲
沙李
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2022267500A1 publication Critical patent/WO2022267500A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]

Definitions

  • the present application relates to the field of communication technologies, and in particular to a method and device for processing multicast packets.
  • a communication system usually includes a plurality of nodes, communication connections are established between these nodes, and these nodes can transmit messages based on these communication connections.
  • the head node When one of these nodes (also known as the head node) sends a multicast message to multiple nodes (also called the tail node), the head node will encapsulate a segment identity list (segment identity list, SID list) in the message, The segment identifier list is used to instruct to send multicast packets to the plurality of tail nodes. Afterwards, the head node can send the multicast message to multiple tail nodes according to the segment identification list.
  • segment identities segment identities, SIDs
  • the first group broadcast message The text may not include the identification list in the first paragraph.
  • the second node may obtain the first segment identification list based on the multicast binding segment identification of the second node, and then send the first multicast packet to the third node based on the first segment identification list. It can be seen that the nodes encapsulated in the first multicast packet have fewer SIDs, which avoids the limitation of the SID length in the application scenario of the first multicast packet.
  • the first multicast message may not include the segment identifier list, the data volume of the first multicast message is reduced, and the transmission efficiency of the first multicast message is improved.
  • the first multicast packet sent by the first node to the second node includes the multicast binding of the second node.
  • the second node can obtain the first segment identification list based on the multicast binding segment identification, and forward the first multicast message to the third node based on the first segment identification list. It can be seen that when the multicast message is forwarded between the second node and the third node, the first identification list can indicate the node through which the first multicast message needs to pass, thereby realizing path planning in the BIER scenario.
  • the first multicast packet needs to include the multicast binding segment identifier of the second node.
  • the first multicast message includes a DA field, and the (Destination Address, DA) field includes the multicast binding segment identification of the second node; or, the first multicast message includes a segment routing header (segment routing header , SRH), where the SRH includes the multicast binding segment identifier of the second node.
  • SRH Segment routing header
  • the first multicast packet may or may not include the SRH.
  • the first node to obtain the first multicast packet, and the following will take the manner in which the first node obtains the first multicast packet in the following five possible scenarios as examples to explain.
  • the first node is the head node.
  • the way the first node obtains the first multicast packet is similar to that in possible scenario 1, but the first group
  • the broadcast message further includes: a multicast segment identifier of a node used to forward the first multicast message between the first node and the second node.
  • the first node is an intermediate node between the head node and the tail node, and the first multicast message is an SR message.
  • the first node may first receive the second multicast packet sent by the head node (or other nodes between the head node and the first node).
  • the second multicast message includes the multicast binding segment identifier of the first node; after that, the first node can obtain a second segment identification list based on the multicast binding segment identification of the first node, and the second segment identification list includes the second The multicast binding segment identification of the node; finally, the first node can obtain the first multicast message based on the second multicast message and the second segment identification list, and the first multicast message is the second multicast message
  • the included multicast message is obtained after replacing the multicast binding segment identifier of the first node with the multicast binding segment identifier of the second node.
  • the first multicast message may be an SR message or a BIER message.
  • the first multicast message is a multicast message obtained based on the BIER message.
  • the first node may first obtain a BIER message, where the BIER message includes a bit string. Afterwards, the first node can obtain the multicast binding segment identifier of the second node, and the second node is the next hop supporting BIER of the bit forwarding exit router (Bit forwarding exit router, BFER) corresponding to the bit string. Finally, the first node can obtain the first multicast message based on the BIER message and the multicast binding segment identifier of the second node, and the DA field included in the first multicast message is used to carry the multicast message of the second node. Binding segment ID.
  • the second node may acquire the first segment identifier list according to the identifier of the first segment identifier list. For example, before the second node obtains the first identification list, it may receive the second correspondence sent by the controller, where the second correspondence includes the identification of the first identification list and the first identification list.
  • the second node obtains the first segment identification list based on the multicast binding segment identification of the second node, based on the multicast binding segment identification of the second node, using the identification of the first segment identification list and the second corresponding relationship, Get the list of identifiers for the first segment.
  • a method for processing a multicast packet comprising: after the second node receives the first multicast packet sent by the first node, based on the first multicast packet Obtain a first segment identification list based on the multicast binding segment identification of the second node, and forward the first multicast packet to the third node based on the first segment identification list.
  • the first segment identification list is used to instruct to send the first multicast message to the third node communicating with the second node.
  • the first multicast packet not only includes the multicast binding segment identifier of the second node, but also includes the identifier of the first segment identifier list.
  • the second node may obtain the first-segment identification list according to the identification of the first-segment identification list. For example, before the second node obtains the first identification list, it may receive the second correspondence sent by the controller, where the second correspondence includes the identification of the first identification list and the first identification list.
  • the second node obtains the first segment identification list based on the multicast binding segment identification of the second node, based on the multicast binding segment identification of the second node, using the identification of the first segment identification list and the second corresponding relationship, Get the list of identifiers for the first segment.
  • the second node when the second node forwards the first multicast packet to the third node based on the first segment identification list, it may first The identification list obtains a third multicast message including the multicast segment identification of the third node, and then forwards the third multicast message to the third node based on the multicast segment identification of the third node.
  • the second node when it obtains the third multicast packet according to the first multicast packet and the first segment identifier list, it may first obtain the third multicast packet based on the first segment identifier list.
  • a third segment identification list of the multicast segment identification of the node and then, according to the first multicast message and the third segment identification list, obtain the third multicast message, and the third group broadcast
  • the text includes the list of identifiers in the third paragraph.
  • the controller may also determine the number of nodes that the multicast message sent by the first node to the third node needs to pass through The controller may determine the first node and the second node when the number is greater than a number threshold. The controller may determine the first node and the second node when the number is less than or equal to a number threshold. In this way, the load on the controller can be reduced.
  • a device for processing multicast packets is provided, the device is set at a first node, and the device includes: an acquiring module and a sending module.
  • the obtaining module is used to obtain a first multicast packet, the first multicast packet includes a multicast binding segment identifier of a second node, and the multicast binding segment identifier of the second node is used to indicate obtaining the first A segment identifier list, the first segment identifier list is used to indicate to send the first multicast message to a third node communicating with the second node; a sending module, configured to send the second node to the second node The first multicast packet.
  • the first multicast packet includes a DA field, and the DA field includes a multicast binding segment identifier of the second node; or the first multicast packet includes an SRH, and the SRH includes The identifier of the multicast binding segment of the second node.
  • the first multicast packet may or may not include the SRH.
  • the first multicast message is a BIER message
  • the DA field of the BIER message includes the multicast binding segment identifier of the second node.
  • the BIER message includes an SRH
  • the SRH includes the multicast binding segment identifier of the second node.
  • the acquiring module to acquire the first multicast message
  • five ways of acquiring the first multicast message will be explained below as examples.
  • the obtaining module is configured to: obtain the multicast binding segment identifier of the second node; generate the first multicast message according to the multicast binding segment identifier of the second node .
  • the obtaining module is configured to: receive a second multicast packet, the second multicast packet includes the multicast segment identifier of the first node and the multicast segment identifier of the second node Bind segment identifier; obtain the first multicast packet based on the second multicast packet, where the first multicast packet is the group of the first node included in the second multicast packet The multicast packet obtained after the broadcast segment identifier is popped.
  • the obtaining module is configured to receive the multicast binding segment identifier of the second node sent by the controller.
  • the multicast binding segment identification of the second node when the multicast binding segment identification of the second node is sent by the controller, the multicast binding segment identification of the second node may be included in the policy sent by the controller to the first node;
  • the second node may flood its multicast binding segment identifier (assigned to the second node by the controller) in the whole network, so that each node receives the first The identifier of the multicast binding segment of the two nodes.
  • the first multicast packet further includes an identifier of the first segment of the identifier list.
  • the first multicast packet includes an IPv6 packet header, and the IPv6 packet header includes the identification of the first segment identification list; or the first multicast packet includes a hop-by-hop option header, and the The hop-by-hop options header includes the identifier of the first segment of the identifier list.
  • the device further includes: a second receiving module (not shown in FIG. 7 ).
  • the second receiving module may be configured to receive the first correspondence sent by the controller, where the first correspondence includes the multicast binding segment identification of the second node and the first segment identification list.
  • the obtaining module is configured to obtain the first segment identification list according to the multicast binding segment identification of the second node and the first corresponding relationship.
  • the first multicast message further includes the identifier of the first segment identifier list
  • the device further includes: a third receiving module (not shown in FIG. 7 ).
  • the third receiving module is configured to receive the second corresponding relationship sent by the controller, the second corresponding relationship includes the identifier of the first segment identification list and the first segment identification list;
  • the obtaining module 702 is configured to based on the The multicast binding segment identifier of the second node is used, and the first segment identifier list is obtained by using the identifier of the first segment identifier list and the second corresponding relationship.
  • the forwarding module is configured to obtain a third multicast message according to the first multicast message and the first identification list, and the third multicast message includes the third node's a multicast segment identifier; forwarding the third multicast packet to the third node based on the multicast segment identifier of the third node.
  • the third multicast packet includes an SRH, and the SRH includes the multicast segment identifier of the third node.
  • the forwarding module may be configured to: obtain a third segment identification list based on the first segment identification list, the third segment identification list includes the multicast segment identification of the third node; according to the first A multicast message and the third segment of the identification list, the third multicast message is obtained, and the third multicast message includes the third segment of the identification list.
  • a device for processing multicast packets includes: a first determining module, a first sending module and a second sending module.
  • the first determination module is used to determine the first node and the second node, and the second node communicates with the first node and the third node.
  • the first sending module is configured to send the first correspondence or the second correspondence to the second node, the first correspondence includes the multicast binding segment identifier and the first segment identifier list of the second node, the The second corresponding relationship includes the identifier of the first segment identifier list and the first segment identifier list; the second sending module is configured to send the multicast binding segment identifier of the second node to the first node.
  • the controller further includes: a second determining module, configured to determine the number of nodes that the multicast message sent from the first node to the third node needs to pass through.
  • the first determining module may determine the first node and the second node when the number is greater than a number threshold.
  • a communication device in an eighth aspect, includes: a processor and a memory, and a program is stored in the memory; the processor is used to call the program stored in the memory, so that the communication device Execute the method for processing multicast packets described in any design in the second aspect.
  • a communication system including: a first node, a second node, and a third node, where both the first node and the third node communicate with the second node;
  • the first node includes the device for processing multicast packets described in any design in the fourth aspect
  • the second node includes the device for processing multicast packets described in any design in the fifth aspect device
  • the first node is the communication device described in any design of the seventh aspect
  • the second node is the communication device described in any design of the eighth aspect.
  • the communication system further includes a controller, and the first node includes the device for processing multicast packets described in any design in the sixth aspect, or the first node is any of the devices in the ninth aspect.
  • a design of the communication device is any of the communication device.
  • a computer storage medium is provided, and a computer program is stored in the computer storage medium;
  • the computer executes the method for processing multicast packets described in any design of the first aspect; or, when the computer program runs on the computer, the computer executes the second The method for processing multicast packets described in any design in the aspect; or, when the computer program is run on a computer, the computer executes the method for processing multicast packets described in any design in the third aspect Methods.
  • a computer program product containing instructions is provided, and when the computer program product is run on the communication device, the communication device executes the method for processing multicast packets as described in any design of the first aspect ; or, when the computer program product runs on the communication device, the communication device executes the method for processing multicast packets as described in any design of the second aspect; or, when the computer program product runs on the communication device , so that the communication device executes the method for processing multicast packets according to any design of the third aspect.
  • FIG. 1 is a schematic structural diagram of a communication system provided by an embodiment of the present application.
  • FIG. 2 is a schematic structural diagram of a communication device provided in an embodiment of the present application.
  • FIG. 3 is a flowchart of a method for processing multicast packets provided by an embodiment of the present application
  • FIG. 4 is a flowchart of a second node forwarding a multicast message to a third node according to an embodiment of the present application
  • FIG. 5 is a schematic structural diagram of another communication system provided by an embodiment of the present application.
  • FIG. 6 is a block diagram of an apparatus for processing multicast packets provided in an embodiment of the present application.
  • FIG. 7 is a block diagram of another device for processing multicast packets provided by the embodiment of the present application.
  • FIG. 8 is a block diagram of another apparatus for processing multicast packets provided by an embodiment of the present application.
  • a node may be called a forwarding node, and the node has a function of forwarding packets, and the node may be a device with a forwarding function such as a router or a gateway.
  • a node is a communication device, and the communication device may include: a processor; the processor is used to be coupled with the memory, and after reading the instructions in the memory, execute the method performed by the communication device as described in the embodiment of the present application according to the instructions.
  • the memory coupled to the processor may be independent of the processor or the communication device, or within the processor or the network device.
  • the storage can be a physically independent unit, or it can be a storage space on a cloud server or a network hard disk.
  • SRv6 Segment Routing Version 6
  • SRv6 technology is a protocol designed based on the concept of source routing to forward IPv6 packets on the network.
  • the segment identification list is used to indicate to send the multicast message to the plurality of tail nodes. Afterwards, the head node can send the multicast message to multiple tail nodes based on the segment identification list. Moreover, the segment identification list includes the multicast segment identification (multicast segment identity, multicast SID) of the node through which the multicast message needs to pass, and the multicast message needs to pass through the segment identification list during the process of sending the multicast message from the head node to a plurality of tail nodes.
  • the node indicated by the multicast segment identifier in the network realizes path planning from the head node to multiple tail nodes.
  • the segment identification list is encoded according to the level of a Point To Multipoint (P2MP) tree.
  • P2MP Point To Multipoint
  • the segment identifier list used to indicate that the multicast message is sent to nodes L1, L2, L3 and L4 can be regarded as a P2MP tree rooted at node P1, and node P1 is at the first layer of the P2MP tree.
  • Child nodes P2 and P3 of node P1 are in the second layer of P2MP, and so on.
  • the order of the nodes in the segment identification list is arranged according to the hierarchy of the nodes in the P2MP tree.
  • the multicast packet may include a segment identifier list
  • the segment identifier list may include: the multicast segment identifier of node P1, the node The multicast segment identifier of P2, the multicast segment identifier of node P3, the multicast segment identifier of node L1, the multicast segment identifier of node L2, the multicast segment identifier of node P4, the multicast segment identifier of node L3, and the multicast segment identifier of node L4 Multicast segment ID.
  • the multicast segment identifier of each node in the segment identifier list may include: a locator (locator), a function (function) and parameters (arguments).
  • locator can be expressed as B:N, where B is the identifier of the subnet where the node is located, N is the segment identifier of the node in the subnet, and B:N can uniquely indicate a node.
  • function is used to instruct the node indicated by the locator to perform corresponding operations.
  • function includes: number of branches (N-Branches) and number of segment identifiers (N-SIDs), wherein, N-Branches is used to indicate the number of branches of the node indicated by the locator in the P2MP tree; N-SIDs is used to indicate: The number of nodes under the node indicated by the locator in the P2MP tree. arguments are used to indicate information such as streams or services related to the packet.
  • node R sends multicast packets to nodes L1, L2, L3 and L4
  • the root node of the P2MP tree is node P1
  • the leaf nodes are nodes L1, L2, L3 and L4.
  • the list of segment identifiers in the multicast message sent by node R to nodes L1, L2, L3 and L4 may be shown in Table 1.
  • node P1 has two branches, namely node P2 and node P3, and there are seven nodes under node P1 (nodes P2, P3, P4, L1, L2, L3 and L4).
  • the node P2 has two branches, which are respectively the node L1 and the node L2, and there are two nodes under the node P2 (respectively, the nodes L1 and L2).
  • Node P3 has 1 branch, which is node P4, and there are 3 nodes under node P3 (nodes P4, L3 and L4 respectively).
  • the node P4 has two branches, which are nodes L3 and L4 respectively, and there are two nodes under the node P4 (nodes L3 and L4 respectively).
  • the nodes L1, L2, L3, and L4 have no branches, and there are no other nodes under the nodes L1, L2, L3, and L4.
  • node P1 can first resolve the N-Branches and N-SIDs in the multicast segment identifier of node P1, and then, node P1 can determine the branches of node P1 according to the N-Branches to be nodes P2 and P3 respectively, and from the Extracting the multicast segment identification of node P2 in the segment identification list is the segment identification list (as shown in table 2) of the first segment identification, and the multicast segment identification of node P3 is the segment identification list of the first segment identification (such as shown in Table 3).
  • node P1 can replace the segment identification list in the multicast message with the segment identification list shown in Table 2 and Table 3 respectively, obtain the multicast message for sending to nodes P2 and P3, and use the obtained multicast message
  • the text is sent to nodes P2 and P3 respectively.
  • the operation of node P2 and node P3 after receiving the multicast message can refer to the operation of node P1 after receiving the multicast message, and so on, until the multicast message is sent to nodes L1, L2, L3 and L4.
  • N-Branches N-SIDs arguments The locator of node P2 2 2 arguments The locator of node L1 0 0 arguments The locator of node L2 0 0 arguments
  • N-Branches N-SIDs arguments The locator of node P3 1 3 arguments The locator of node P4 2 2 arguments The locator of node L3 0 0 arguments The locator of node L4 0 0 arguments
  • the SIDs of all nodes that will subsequently process the message are encapsulated in the multicast message, so that the application scenarios of the multicast message are limited by the length of the SID.
  • the head node sends a multicast message to multiple tail nodes, if there are many nodes on the path from the head node to the multiple tail nodes, the segment identification list encapsulated in the message is relatively long. At this time, the data volume of the forwarded message is relatively large, thereby affecting the efficiency of message forwarding.
  • the length of the segment identifier list is still relatively long because the number of multicast segment identifiers included in the segment identifier list is large. Moreover, if the segment identifier list supported by the device contains at most 10 multicast segment identifiers, the application scenarios of the multicast message are still relatively limited.
  • the current node can also send multicast packets based on the BIER technology.
  • the head node When the head node sends a multicast message to multiple tail nodes based on the BIER technology, the head node will encapsulate a bit string (bitstring) in the multicast message. Afterwards, head node just can determine the next hop that supports BIER that arrives at the BFER corresponding to the bit string according to this bit string, and the DA field of this multicast message is set as the bit index of this next hop and shows the copied node identification ( End.Bier), and send the multicast packet to the next hop. After receiving the multicast message, the next hop finds that the DA field of the multicast message includes its own End.Bier.
  • the embodiment of the present application provides a method for processing multicast packets.
  • the multicast packets in this method may not include a segment identifier list, therefore, the data volume of the multicast packets is reduced, and the multicast packet is improved. Packet transmission efficiency.
  • path planning can be implemented through this method.
  • FIG. 3 is a flow chart of a method for processing multicast packets provided in an embodiment of the present application. As shown in FIG. 3, the method may include:
  • the first node may be the head node, or an intermediate node between the head node and the multiple tail nodes. Both the first node and the third node communicate with a second node, which may be an intermediate node between the first node and the third node.
  • the third node may be a tail node, or the third node may be an intermediate node between the second node and the tail node.
  • the first multicast packet needs to include the multicast binding segment identifier of the second node.
  • the first multicast packet includes a DA field, and the DA field includes a multicast binding segment identifier of the second node; or, the first multicast packet includes an SRH, and the SRH includes a multicast binding segment identifier of the second node. Segment ID.
  • the first multicast packet may or may not include the SRH.
  • the first multicast message is an SR message
  • the DA field of the SR message includes the multicast binding section identifier of the second node. At this time, the SR message may or may not include the SRH.
  • the first multicast packet is generated by node R, and the first multicast packet includes the multicast binding segment identifier of node P1.
  • the multicast binding segment identifier of the node P1 is used to indicate that the acquired first segment identifier list may be as shown in Table 1 above. It can be seen that the first multicast message does not need to include the segment identification list shown in Table 1, but only needs to include the multicast binding segment identification of node P1, so the data volume of the first multicast message is less .
  • the first node may send the first multicast message to the second node according to the multicast binding segment identifier of the second node in the first multicast message.
  • the second node acquires a first segment identification list based on the multicast binding segment identification of the second node.
  • the scenario shown in FIG. 1 may further include a controller, and the controller is connected to each node in communication.
  • the controller Before the second node obtains the first segment identification list based on the multicast binding segment identification of the second node, it may receive the first correspondence sent by the controller, and the first correspondence includes the multicast binding segment identification of the second node and The first segment identification list; the second node may obtain the first segment identification list in S103 according to the multicast binding segment identification of the second node and the first corresponding relationship.
  • the first correspondence is sent by the controller to the second node as an example.
  • the first correspondence may not be sent by the controller to the second node.
  • the first correspondence is statically configured on the second node Above, this embodiment of the present application does not limit it.
  • the first multicast packet not only includes the multicast binding segment identifier of the second node, but also includes the identifier of the first segment identifier list (which may be called the multicast tree identifier (Tree -ID)).
  • the second node may acquire the first segment identification list based on the identification of the first segment identification list based on the multicast binding segment identification of the second node. For example, before the second node obtains the first identification list, it may receive the second correspondence sent by the controller, where the second correspondence includes the identification of the first identification list and the first identification list.
  • S104 may include:
  • the second node obtains a third multicast message according to the first multicast message and the first segment identifier list, where the third multicast message includes the multicast segment identifier of the third node.
  • the third multicast message includes an SRH
  • the SRH includes a multicast segment identifier of the third node.
  • the second node may first obtain a third segment identification list based on the first segment identification list, and the third segment identification list includes the multicast segment identification of the third node. Afterwards, the second node obtains a third multicast message according to the first multicast message and the third identification list, and the third multicast message includes the third identification list. For example, when the SRH in the first multicast packet includes the multicast binding segment identifier of the second node, the second node may replace the multicast binding segment identifier of the second node in the SRH of the first multicast packet with The third segment of the identification list is used to obtain the third multicast message.
  • the second node may set the SRH of the first multicast packet to include the third segment identifier list, and set the DA The multicast binding segment identifier of the second node in the field is replaced with the first segment identifier in the third segment identifier list to obtain the third multicast message. If the first multicast packet does not include the SRH, then the second node may add the SRH to the first multicast packet.
  • the first segment identification list is shown in Table 1, and the node P1 can obtain two segment identification lists as shown in Table 2 and Table 3 based on the first segment identification list. Afterwards, the node P1 can obtain two third multicast messages respectively including the segment identification lists shown in Table 2 and Table 3 based on the multicast binding segment identification of the node P1 in the first multicast message.
  • the second node forwards the third multicast packet to the third node based on the multicast segment identifier of the third node.
  • the second node After the second node obtains the third multicast message, it can forward the third multicast message to the third node based on the third segment identification list (including the multicast segment identification of the third node) in the third multicast message .
  • the first multicast packet includes the multicast binding of the second node segment ID.
  • the second node After the second node receives the first multicast message, it will obtain the first segment identification list based on the multicast binding segment identification of the second node, and then forward it to the third node based on the first segment identification list The first multicast packet.
  • the first node obtains the first multicast message in the above S101.
  • the following will take the way that the first node obtains the first multicast message in the following five possible scenarios as an example to explain .
  • the first node is the head node (for example, the first node is node R in Figure 1), when obtaining the first multicast message, the first node can first obtain the multicast binding of the second node segment identifier, and then generate the first multicast packet according to the multicast binding segment identifier of the second node.
  • the second node is the next hop of the first node, and the SID-related information included in the first multicast packet obtained by the first node only includes the multicast binding segment of the second node logo.
  • node R in FIG. 1 is the first node
  • node P1 in FIG. 1 is the second node.
  • the first multicast packet further includes the multicast binding segment identifier of node P1.
  • the first node is the head node.
  • the broadcast message further includes: a multicast segment identifier of a node used to forward the first multicast message between the first node and the second node.
  • the second node is not the next hop of the first node.
  • the first multicast packet needs to include the The multicast segment identifier of the intermediate node of the text.
  • the first node may transmit the first multicast packet to the second node through the intermediate node. During the process of forwarding the first multicast packet, the intermediate node may pop up its own multicast segment identifier.
  • the first node is an intermediate node between the head node and the tail node.
  • the first node can first receive the head node (or the first node between the head node and the first node) other nodes) to send the second multicast message.
  • the second multicast packet includes a multicast segment identifier of the first node and a multicast binding segment identifier of the second node.
  • the first node may obtain the first multicast packet based on the second multicast packet.
  • the first multicast message is a multicast message obtained after the multicast segment identifier of the first node included in the second multicast message is popped.
  • the first node may pop out the multicast segment identifier of the first node in the second multicast message to obtain the first multicast message.
  • the head node can refer to the method of generating the first multicast packet in possible implementation scenario 2, and generate a message including the multicast segment identifier of the first node and the multicast binding segment identifier of the second node
  • the second multicast packet is then sent to the first node, so that the first node obtains the first multicast packet based on the second multicast packet.
  • node P1 in FIG. 1 is a first node
  • nodes P2 and P3 are both second nodes.
  • the head node R will send a second multicast packet to the node P1, where the second multicast packet includes the multicast segment identifier of the node P1 and the multicast binding segment identifiers of the nodes P2 and P3.
  • Node P1 pops out the multicast segment identifier of node P1 in the second multicast message, and obtains the first multicast message to be sent to nodes P2 and P3 respectively according to the remaining segment identifiers.
  • the first multicast packet for sending to node P2 includes the multicast binding section identifier of node P2
  • the first multicast packet for sending to node P3 includes the multicast binding section identifier of node P3.
  • the first node is an intermediate node between the head node and the tail node, and the first multicast message is an SR message.
  • the first node may first receive the second multicast packet sent by the head node (or other nodes between the head node and the first node).
  • the second multicast message includes the multicast binding segment identifier of the first node; after that, the first node can obtain a second segment identification list based on the multicast binding segment identification of the first node, and the second segment identification list includes the second The multicast binding segment identifier of the node; finally, the first node can obtain the first multicast message based on the second multicast message and the second segment identification list.
  • the node P1 will obtain the second segment identification list including the multicast binding segment identifications of the nodes P2 and P3 according to the multicast binding segment identification. Afterwards, node P1 will replace the multicast binding segment identifier of node P1 in the second multicast message with the multicast binding segment identifiers of nodes P2 and P3 respectively, and obtain two first Multicast packets.
  • the first multicast packet for sending to node P2 includes the multicast binding section identifier of node P2
  • the first multicast packet for sending to node P3 includes the multicast binding section identifier of node P3.
  • the first multicast packet may be an SR packet or a BIER packet.
  • the first multicast message is a multicast message obtained based on the BIER message.
  • the first node may first obtain a BIER message, where the BIER message includes a bit string. For example, when the first node is a head node, the first node generates the BIER message; when the first node is an intermediate node, the first node can receive the head node (or other nodes between the head node and the first node) The sent BIER message. Afterwards, the first node may obtain the multicast binding segment identifier of the second node, and the second node is the next hop supporting BIER to reach the BFER corresponding to the bit string.
  • the first node can determine the next hop (that is, the second node) supporting BIER that reaches the BFER corresponding to the bit string, and then obtain the multicast binding of the second node. Segment ID. Finally, the first node can obtain the first multicast message based on the BIER message and the multicast binding segment identifier of the second node, and the DA field included in the first multicast message is used to carry the multicast message of the second node. Binding segment ID. For example, the first node may write the multicast binding segment identifier of the second node into the DA field in the BIER message, so as to obtain the first multicast message.
  • the first multicast packet sent by the first node to the second node includes the multicast binding segment identifier of the second node, and the second node can be based on The multicast binding segment identifier obtains the first segment identifier list, and forwards the first multicast message to the third node based on the first segment identifier list. It can be seen that when the multicast message is forwarded between the second node and the third node, the first identification list can indicate the node through which the first multicast message needs to pass, thereby realizing path planning in the BIER scenario.
  • the multicast binding segment identification of the second node when the multicast binding segment identification of the second node is sent to the first node by the controller, the multicast binding segment identification of the second node may be included in the policy (policy) sent by the controller to the first node;
  • policy policy
  • the second node may flood its multicast binding segment identifier (assigned to the second node by the controller) in the entire network , so that each node receives the multicast binding segment identifier of the second node.
  • the method for processing the multicast packet provided by the embodiment of the present application is described by taking the first node transmitting the first multicast packet to the third node through the second node as an example.
  • the first node, the second node, and the third node may be referred to as a group of nodes, and the length of the multicast message from the first node to the second node in the group of nodes is compressed.
  • the first group of nodes includes: node R, node P1, nodes L1, L2, L3 and L4, wherein node R is the first node, node P1 is the second node, and nodes L1, L2, L3 and L4 are all third nodes .
  • the second group of nodes includes: node P1, node P2, nodes L1 and L2, wherein node P1 is a first node, node P2 is a second node, and nodes L1 and L2 are both third nodes.
  • the third group of nodes includes: node P1, node P3, nodes L3 and L4, wherein node P1 is a first node, node P3 is a second node, and nodes L3 and L4 are both third nodes.
  • the multicast message sent by the node R to the node P1 is an SR message, and the multicast message includes the multicast binding segment identifier of the node P1 and does not include a segment identifier list.
  • node P1 After receiving the multicast message sent by node R, node P1 will obtain the segment identification list according to the multicast binding segment identification of node P1.
  • the segment identification list includes the multicast segment identification of node P1 and the multicast segment identification of node P2.
  • the node P1 will replace the multicast binding segment identifier of the node P1 in the multicast message with the multicast binding segment identifier of the node P2 in the segment identifier list to obtain a multicast message sent to the node P2, and The multicast binding segment identification of node P3 in the segment identification list is replaced to obtain the multicast message for sending to node P3. Finally, the node P1 sends the multicast packet destined for the node P2 to the node P2, and sends the multicast packet destined for the node P3 to the node P3.
  • the node P2 after receiving the multicast packet sent by the node P1, the node P2 will obtain the segment identification list shown in the above Table 2 according to the multicast binding segment identification of the node P2. Afterwards, the node P2 can obtain two segment identification lists based on the segment identification list, and the two segment identification lists respectively include the multicast segment identifications of the nodes L1 and L2. Finally, the node P2 can set the SRH including the segment identifier list of the multicast segment identifier of the node L1 in the multicast message, obtain the multicast message for sending to the node L1, and send the multicast message to the node L1.
  • the node P2 can also set the SRH including the segment identification list of the multicast segment identification of the node L2 in the multicast message, obtain the multicast message for sending to the node L2, and send the multicast message to the node L2.
  • the node P3 will obtain the segment identification list shown in the above Table 3 according to the multicast binding segment identification of the node P3.
  • the node P3 can obtain another segment identification list based on the segment identification list, and the segment identification list includes the multicast segment identifications of the nodes P4, L3 and L4.
  • the node P3 sets the SRH of the segment identification list including the multicast segment identification of the nodes P4, L3 and L4 in the multicast message, obtains the multicast message for sending to the node P4, and sends the multicast message to the node P4 message.
  • node P4 receives the multicast message sent by node P3, it will obtain two segment identification lists based on the segment identification list in the multicast message. These two segment identification lists include the multicast segment identifications of nodes L3 and L4 respectively.
  • node P4 can replace the segment identification list in the multicast message with the segment identification list including the multicast segment identification of node L3, obtain the multicast message for sending to node L3, and send the multicast message to node L3 message.
  • the node P4 can also replace the segment identifier list in the multicast message with a segment identifier list including the multicast segment identifier of the node L4 to obtain a multicast message for sending to the node L4; the node P4 can also send the node L4 the Multicast packets.
  • node A needs to send a multicast message to nodes O, P and Q, and the multicast message is a BIER message.
  • the multicast message is a BIER message.
  • node C has a multicast binding segment identifier
  • the group of nodes includes: node B, node C, node O, node P, and node Q, wherein node B is the first node, node C is the second node, and nodes O, P, and Q are all third nodes. The following will explain the process of this group of nodes transmitting multicast packets.
  • Node A will generate a BIER message, the BIER message includes a bit string, and the next hop supporting BIER to reach the BFER corresponding to the bit string is node B, and the DA field in the BIER message includes Node B's End.Bier.
  • Node A can send the BIER message to node B.
  • Node B may determine that the next hop supporting BIER to reach the BFER corresponding to the bit string is Node C, and determine that Node C has a multicast binding segment identifier.
  • node B can change the End.Bier of node B in the DA field of the BIER message to the multicast binding segment identifier of node C, obtain the multicast message for sending to node C, and set the group The broadcast message is sent to node C.
  • node C finds that the multicast packet includes the multicast binding segment identifier of node C, so node C can obtain the segment segment as shown in Table 4 based on the multicast binding segment identifier. list of identities.
  • N-Branches N-SIDs arguments The locator of node E 2 4 arguments locator of node I 1 1 arguments The locator of node J 1 1 arguments The locator of node O 0 0 arguments The locator of node P 0 0 arguments
  • node E After node E receives the multicast message sent by node C, it will obtain two segment identification lists as shown in Table 7 and Table 8 based on the segment identification list in Table 5 in the multicast message. Finally, node E can replace the segment identification list in the multicast message with the segment identification list shown in Table 7, obtain the multicast message for sending to node I, and send the multicast message to node I. Node E can also replace the segment identification list in the multicast message with the segment identification list shown in Table 8, obtain the multicast message for sending to node J, and send the multicast message to node J.
  • N-Branches N-SIDs arguments The locator of node J 1 1 arguments The locator of node P 0 0 arguments
  • node I After node I receives the multicast message sent by node E, it will pop up the multicast segment identifier of node I in the segment identifier list shown in Table 7 in the multicast message, and obtain the multicast message sent to node O. and send the multicast message to node O.
  • node J After node J receives the multicast message sent by node E, it will pop up the multicast segment identifier of node J in the table 8 segment identifier list in the multicast message, and obtain the multicast message for sending to node P, and Send the multicast packet to node P.
  • node F After node F receives the multicast message sent by node C, it will pop up the multicast segment identifier of node F in the table 6 segment identifier list in the multicast message, and obtain the multicast message for sending to node K, and Send the multicast packet to node K.
  • node K After node K receives the multicast packet sent by node F, it will pop up the multicast segment identifier of node K in the multicast packet, obtain the multicast packet for sending to node Q, and send the multicast packet sent to node Q.
  • node B is used as the first node
  • node C is used as the second node as an example.
  • node A may also be the first node
  • node C may be the second node.
  • the BIER message sent by node A to node B may include the multicast binding segment identifier of node C, for example, the BIER message includes SRH, and the SRH includes the multicast binding segment identifier of node C.
  • the node C has a multicast binding segment identifier in the scenario shown in FIG. 5 , and a group of nodes exists in the scenario as an example.
  • other nodes in this scenario may also have a multicast binding segment identifier, and there may also be multiple groups of nodes in this scenario, which is not limited in this embodiment of the present application.
  • the communication system may also include a controller (not shown in the drawings), the controller is used to specify the nodes through which the multicast message from the head node to multiple tail nodes needs to pass, so as to plan the head node Paths to multiple tail nodes.
  • the controller can also determine the first node and the second node between the head node and the multiple tail nodes (that is, the node whose length of the message transmitted between needs to be compressed), and send the group of the second node to the first node Broadcast the binding segment identifier, and send the first correspondence or the second correspondence to the second node.
  • the multicast binding segment identifier of the second node may be included in the strategy and sent to the first node, and the first correspondence or the second correspondence may also be included in the strategy and sent to the second node.
  • the controller may determine the above-mentioned first node and second node when the number of nodes that the multicast message needs to pass through from the specified head node to multiple tail nodes is greater than the number threshold, so as to use the method provided by the embodiment of the present application for the first node and the second node.
  • the length of the message between a node and a second node is compressed.
  • the controller does not need to determine the first node and the second node when the number of nodes through which the multicast message from the specified head node to multiple tail nodes needs to pass is less than or equal to the number threshold. In this way, the load on the controller can be reduced.
  • each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module.
  • the above integrated modules may be implemented in the form of hardware.
  • FIG. 6 is a block diagram of an apparatus for processing multicast packets provided by an embodiment of the present application.
  • the apparatus may be set at the first node in the foregoing embodiments.
  • the device for processing multicast packets includes: an acquiring module 601 and a sending module 602 .
  • the acquiring module 601 is configured to acquire a first multicast packet, the first multicast packet includes a multicast binding segment identifier of a second node, and the multicast binding segment identifier of the second node is used to indicate acquisition of the second node A section of identification list, the first section of identification list is used to instruct to send the first multicast packet to the third node communicating with the second node.
  • the sending module 602 is configured to send the first multicast packet to the second node.
  • the first multicast packet includes a DA field, and the DA field includes a multicast binding segment identifier of the second node; or the first multicast packet includes an SRH, and the SRH includes The identifier of the multicast binding segment of the second node.
  • the first multicast packet may or may not include the SRH.
  • the first multicast message is an SR message, and the DA field of the SR message includes the multicast binding section identifier of the second node. At this time, the SR message may or may not include the SRH.
  • the SRH of the SR message includes the identifier of the multicast binding segment of the second node.
  • the first multicast message is a BIER message
  • the DA field of the BIER message includes the multicast binding segment identifier of the second node.
  • the BIER message includes an SRH
  • the SRH includes the multicast binding segment identifier of the second node.
  • the acquiring module 601 acquires the first multicast message, and five ways of acquiring the first multicast message will be explained below as examples.
  • the obtaining module is configured to: obtain the multicast binding segment identifier of the second node; generate the first multicast message according to the multicast binding segment identifier of the second node .
  • the acquiring module is configured to: acquire the multicast binding segment identifier of the second node; generate the first multicast message according to the multicast binding segment identifier of the second node .
  • the first multicast packet further includes: a multicast segment identifier of a node between the first node and the second node for forwarding the first multicast packet.
  • the obtaining module is configured to: receive a second multicast packet, the second multicast packet includes the multicast binding segment identifier of the first node;
  • the multicast binding segment identifier obtains a second segment identification list, and the second segment identification list includes the multicast binding segment identification of the second node; based on the second multicast message and the second segment An identification list, to obtain the first multicast packet, where the first multicast packet is replaced by the second multicast binding segment identifier of the first node included in the second multicast packet
  • the multicast packet obtained after the node's multicast binding segment identifier.
  • the obtaining module is configured to receive the multicast binding segment identifier of the second node sent by the controller.
  • the first node needs to obtain the multicast binding segment identifier of the second node in some possible implementation scenarios, and then obtain the first multicast packet according to the multicast binding segment identifier of the second node.
  • the multicast binding segment identifier of the second node may be sent to the first node by the controller or the second node, or may be statically configured on the first node, which is not limited in this embodiment of the present application.
  • the first multicast packet further includes an identifier of the first segment of the identifier list.
  • the first multicast packet includes an IPv6 packet header, and the IPv6 packet header includes the identification of the first segment identification list; or the first multicast packet includes a hop-by-hop option header, and the The hop-by-hop options header includes the identifier of the first segment of the identifier list.
  • Fig. 7 is a block diagram of another device for processing multicast packets provided by the embodiment of the present application, for example, the device may be set in the second node in the foregoing embodiments.
  • the device for processing multicast packets includes: a first receiving module 701 , an acquiring module 702 and a forwarding module 703 .
  • the first receiving module 701 is configured to receive a first multicast packet sent by a first node, where the first multicast packet includes a multicast binding segment identifier of the second node.
  • the first receiving module 701 For operations performed by the first receiving module 701, reference may be made to content related to the second node in S102 above.
  • the device for processing multicast packets further includes: a second receiving module (not shown in FIG. 7 ).
  • the second receiving module may be configured to receive the first correspondence sent by the controller, where the first correspondence includes the multicast binding segment identification of the second node and the first segment identification list.
  • the obtaining module 702 is configured to obtain the first segment identification list according to the multicast binding segment identification of the second node and the first corresponding relationship.
  • the first multicast message also includes the first section of the identification list
  • the device for processing the multicast message also includes: a third receiving module (not shown in FIG. 7 ).
  • the third receiving module is configured to receive the second corresponding relationship sent by the controller, the second corresponding relationship includes the identifier of the first segment identification list and the first segment identification list;
  • the obtaining module 702 is configured to based on the The multicast binding segment identifier of the second node is used, and the first segment identifier list is obtained by using the identifier of the first segment identifier list and the second corresponding relationship.
  • the forwarding module 703 is configured to obtain a third multicast message according to the first multicast message and the first segment identification list, and the third multicast message includes the third node forwarding the third multicast packet to the third node based on the multicast segment identifier of the third node.
  • the third multicast packet includes an SRH, and the SRH includes the multicast segment identifier of the third node.
  • Fig. 8 is a block diagram of another device for processing multicast packets provided by the embodiment of the present application, for example, the device may be set in the controller in the foregoing embodiments.
  • the device for processing multicast packets includes: a first determining module 801 , a first sending module 802 and a second sending module 803 .
  • the first determining module 801 is configured to determine the first node and the second node, and the second node communicates with the first node and the third node.
  • the first sending module 802 is configured to send the first correspondence or the second correspondence to the second node, the first correspondence includes the multicast binding segment identifier and the first segment identifier list of the second node, The second corresponding relationship includes the identifier of the first segment identifier list and the first segment identifier list; the second sending module 803 is configured to send the multicast binding segment identifier of the second node to the first node.
  • the controller further includes: a second determination module (not shown in FIG. 8 ), the second determination module is configured to determine the number of nodes that the multicast message sent from the first node to the third node needs to pass through.
  • the first determining module 801 may determine the first node and the second node when the number is greater than a number threshold.
  • the device provided in the present application for processing multicast packets provided in the controller, the first node or the second node may include a processing module, a storage module and a communication module.
  • the processing module may be used to control and manage actions of the device, for example, may be used to support the device to execute the actions performed by the controller, the first node or the second node in S101 to S104 above.
  • the storage module can be used to support the device to execute stored program codes and data, etc.
  • the communication module can be used for communication between the device and other equipment.
  • the processing module may be a processor or a controller. It can implement or execute the various illustrative logical blocks, modules and circuits described in connection with the present disclosure.
  • the processor can also be a combination of computing functions, such as a combination of one or more microprocessors, a combination of digital signal processing (digital signal processing, DSP) and a microprocessor, and the like.
  • the storage module may be a memory.
  • the communication module can be a device that interacts with other devices, such as a radio frequency circuit, a Bluetooth chip, or a Wi-Fi chip.
  • the processing module is a processor
  • the storage module is a memory
  • the communication module is a communication interface
  • the device for processing multicast messages involved in this embodiment can be a communication device with the structure shown in Figure 2 equipment.
  • the above-mentioned various modules included in the device for processing multicast packets may be computer programs stored in a memory, and invoked by a processor to implement corresponding execution functions of each module.
  • An embodiment of the present application also provides a communication system, where the communication system includes a first node, a second node, and a third node. Both the first node and the third node are in communication with the second node.
  • the first node is used to perform the operations performed by the first node in any of the methods for processing multicast packets provided in the embodiments of the present application
  • the second node is used to perform any of the methods provided in the embodiments of the present application for Operations performed by the second node in the method for processing multicast packets.
  • the first node and the second node are two kinds of communication devices provided in this embodiment of the present application.
  • the first node includes any device provided in the embodiment of the present application for processing multicast packets (as shown in FIG. 6 );
  • the second node includes the device of the present application Any one of the devices provided in the embodiments for processing multicast packets arranged on the second node (the device shown in FIG. 7 ).
  • the communication system further includes a controller, and the controller is configured to perform operations performed by the controller in any one of the methods for processing multicast packets provided in the embodiments of the present application.
  • the controller is a communication device provided in the embodiment of the present application, or, the controller includes any device provided in the embodiment of the present application for processing multicast packets provided in the controller (as shown in FIG. 8 device shown).
  • An embodiment of the present application provides a computer storage medium, and a computer program is stored in the storage medium; when the computer program is run on a computer, the computer executes any one of the methods provided in the embodiment of the present application for processing group broadcast A method performed by the first node or the second node in the method herein.
  • the embodiment of the present application also provides a computer program product containing instructions.
  • the computer program product runs on the communication device, the communication device executes any one of the methods for processing multicast packets provided in the embodiment of the present application. A method performed by the first node or the second node.
  • all or part of them may be implemented by software, hardware, firmware or any combination thereof.
  • software it may be implemented in whole or in part in the form of a computer program product comprising one or more computer instructions.
  • the computer program instructions When the computer program instructions are loaded and executed on the computer, the processes or functions according to the embodiments of the present application will be generated in whole or in part.
  • the computer may be a general purpose computer, a computer network, or other programmable devices.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website, computer, server or data
  • the center transmits to another website site, computer, server or data center through wired (such as coaxial cable, optical fiber, digital subscriber line) or wireless (such as infrared, wireless, microwave, etc.).
  • the computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a server or a data center integrated with one or more available media.
  • the available medium may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium, or a semiconductor medium (for example, a solid-state hard disk).
  • the disclosed systems and devices may be implemented in other configurations.
  • the device embodiments described above are only illustrative.
  • the division of modules is only a logical function division. In actual implementation, there may be other division methods.
  • multiple modules can be combined or integrated into another A system, or some feature, can be ignored, or not implemented.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or modules may be in electrical or other forms.

Landscapes

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

Abstract

一种用于处理组播报文的方法及装置。所述方法包括:第一节点在获取第一组播报文后,向第二节点发送第一组播报文。其中,第一组播报文包括第二节点的组播绑定段标识,第二节点的组播绑定段标识用于指示获取第一段标识列表,第一段标识列表用于指示向与第二节点通信的第三节点发送第一组播报文。

Description

用于处理组播报文的方法及装置
本申请要求于2021年06月23日提交的申请号为202110699462.7、发明名称为“用于处理组播报文的方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,特别涉及一种用于处理组播报文的方法及装置。
背景技术
通信系统通常包括多个节点,这些节点之间建立有通信连接,这些节点可以基于这些通信连接传输报文。当这些节点中的一个节点(也称头节点)向多个节点(也称尾节点)发送组播报文时,头节点会在报文中封装段标识列表(segment identity list,SID list),该段标识列表用于指示向该多个尾节点发送组播报文。之后,头节点便可以根据该段标识列表向多个尾节点发送该组播报文。目前,组播报文中会封装后续处理该报文的所有节点的段标识(segment identity,SID),使得应用场景受到SID长度的限制。
发明内容
本申请提供了一种用于处理组播报文的方法及装置,可以解决组播报文的应用场景受到SID长度的限制的问题,所述技术方案如下:
第一方面,提供了一种用于处理组播报文的方法,所述方法包括:第一节点在获取第一组播报文后,向第二节点发送所述第一组播报文。其中,所述第一组播报文包括第二节点的组播绑定段标识,第二节点的组播绑定段标识用于指示获取第一段标识列表,所述第一段标识列表用于指示向与所述第二节点通信的第三节点发送所述第一组播报文。
由于该第一组播报文包括了第二节点的组播绑定段标识,且第二节点的组播绑定段标识用于指示获取第一段标识列表,因此,该第一组播报文可以不包括第一段标识列表。第二节点可以基于该第二节点的组播绑定段标识获取第一段标识列表,进而基于第一段标识列表向第三节点发送第一组播报文。可见,第一组播报文封装的节点的SID较少,避免了第一组播报文的应用场景受到SID长度的限制。并且,由于第一组播报文可以不包括段标识列表,因此,减小了第一组播报文的数据量,提升了第一组播报文的传输效率。
另外,在第一组播报文是比特索引显式复制(Bit Index Explicit Replication,BIER)报文时,第一节点发给第二节点的第一组播报文包括第二节点的组播绑定段标识,第二节点可以基于该组播绑定段标识获取第一段标识列表,并基于第一段标识列表向第三节点转发第一组播报文。可见,组播报文在第二节点和第三节点之间转发时,第一段标识列表能够指示第一组播报文需要经过的节点,从而在BIER场景中实现了路径规划。
第一组播报文需要包括第二节点的组播绑定段标识。可选地,第一组播报文包括DA字段,该(Destination Address,DA)字段包括第二节点的组播绑定段标识;或者,第一组播报文包括段路由头(segment routing header,SRH),该SRH包括第二节点的组播绑定段标识。 当并不是SRH包括第二节点的组播绑定段标识时,第一组播报文可以包括SRH也可以不包括SRH。
比如,第一组播报文为分段路由(segment routing,SR)报文,该SR报文的DA字段包括第二节点的组播绑定段标识,此时,该SR报文可以包括SRH也可以不包括SRH。或者,该SR报文的SRH包括第二节点的组播绑定段标识。
又比如,第一组播报文为BIER报文,该BIER报文的DA字段包括第二节点的组播绑定段标识。或者,该BIER报文包括SRH,且该SRH包括第二节点的组播绑定段标识。
进一步地,第一节点获取第一组播报文的方式多种多样,以下将以第一节点在以下五种可能实现的场景下获取第一组播报文的方式为例进行讲解。
可能实现的场景1:第一节点是头节点(如第一节点是图1中的节点R),在获取第一组播报文时,第一节点可以先获取第二节点的组播绑定段标识,然后根据第二节点的组播绑定段标识生成该第一组播报文。
可能实现的场景2:第一节点是头节点,在获取第一组播报文时,第一节点获取第一组播报文的方式与可能实现的场景1中的方式相似,但第一组播报文进一步还包括:第一节点和第二节点之间用于转发第一组播报文的节点的组播段标识。
可能实现的场景3:第一节点是头节点和尾节点之间的中间节点,在获取第一组播报文时,第一节点可以先接收头节点(或者头节点和第一节点之间的其他节点)发送的第二组播报文。该第二组播报文包括第一节点的组播段标识和第二节点的组播绑定段标识。之后,第一节点可以基于第二组播报文获得第一组播报文。第一组播报文为第二组播报文包括的第一节点的组播段标识被弹出后所获得的组播报文。换句话说,第一节点可以将第二组播报文中第一节点的组播段标识弹出,得到第一组播报文。
可能实现的场景4:第一节点是头节点和尾节点之间的中间节点,第一组播报文是SR报文。在获取第一组播报文时,第一节点可以先接收头节点(或者头节点和第一节点之间的其他节点)发送的第二组播报文。第二组播报文包括第一节点的组播绑定段标识;之后,第一节点可以基于第一节点的组播绑定段标识获取第二段标识列表,第二段标识列表包括第二节点的组播绑定段标识;最后,第一节点可以基于第二组播报文和第二段标识列表,获得第一组播报文,第一组播报文为第二组播报文包括的第一节点的组播绑定段标识替换为第二节点的组播绑定段标识后所获得的组播报文。
上述可能实现的场景1、2、3和4中,第一组播报文均可以是SR报文或BIER报文。
可能实现的场景5:第一组播报文是基于BIER报文得到的组播报文。在获取第一组播报文时,第一节点可以首先获取一个BIER报文,该BIER报文包括比特串。之后,第一节点可以获取第二节点的组播绑定段标识,第二节点是到达比特串对应的位转发出口路由器(Bit forwarding exit router,BFER)的支持BIER的下一跳。最后,第一节点可以基于该BIER报文和第二节点的组播绑定段标识,获取第一组播报文,第一组播报文包括的DA字段用于携带第二节点的组播绑定段标识。
上述可能实现的场景1、2和5中,第一节点可以接收控制器发送的所述第二节点的组播绑定段标识,以获取到该第二节点的组播绑定段标识。
可选地,所述第一组播报文还包括第一段标识列表的标识。比如,所述第一组播报文包括互联网协议第6版(Internet Protocol version 6,IPv6)报文头,所述IPv6报文头包括所述 第一段标识列表的标识;或者所述第一组播报文包括逐跳选项头,所述逐跳选项头包括所述第一段标识列表的标识。
在所述第一组播报文还包括第一段标识列表的标识时,第二节点可以根据该第一段标识列表的标识获取该第一段标识列表。示例地,第二节点在获取第一段标识列表之前,可以接收控制器发送的第二对应关系,第二对应关系包括第一段标识列表的标识和第一段标识列表。第二节点在基于第二节点的组播绑定段标识获取第一段标识列表时,可以基于第二节点的组播绑定段标识,利用第一段标识列表的标识和第二对应关系,获取第一段标识列表。
第二方面,提供了一种用于处理组播报文的方法,所述方法包括:第二节点在接收到第一节点发送的第一组播报文后,基于所述第一组播报文中的第二节点的组播绑定段标识获取第一段标识列表,以及基于所述第一段标识列表向所述第三节点转发所述第一组播报文。其中,所述第一段标识列表用于指示向与所述第二节点通信的第三节点发送所述第一组播报文。
第二节点获取第一段标识列表的方式多种多样,以下将以其中的两种方式为例进行讲解。
(1)在第一种方式中,第二节点在基于第二节点的组播绑定段标识获取第一段标识列表之前,可以接收控制器发送的第一对应关系,第一对应关系包括第二节点的组播绑定段标识和第一段标识列表;第二节点可以根据第二节点的组播绑定段标识以及该第一对应关系,获取第一段标识列表。
(2)在第二种方式中,该第一组播报文不仅包括第二节点的组播绑定段标识,还可以包括第一段标识列表的标识。此时,第二节点在获取第一段标识列表时,可以根据该第一段标识列表的标识获取该第一段标识列表。示例地,第二节点在获取第一段标识列表之前,可以接收控制器发送的第二对应关系,第二对应关系包括第一段标识列表的标识和第一段标识列表。第二节点在基于第二节点的组播绑定段标识获取第一段标识列表时,可以基于第二节点的组播绑定段标识,利用第一段标识列表的标识和第二对应关系,获取第一段标识列表。
可选地,第二节点在基于所述第一段标识列表向所述第三节点转发所述第一组播报文时,可以首先根据所述第一组播报文和所述第一段标识列表获得包括第三节点的组播段标识的第三组播报文,之后再基于第三节点的组播段标识向所述第三节点转发所述第三组播报文。
可选地,所述第三组播报文包括SRH,所述SRH包括所述第三节点的组播段标识。
可选地,第二节点在根据所述第一组播报文和所述第一段标识列表获得第三组播报文时,可以首先基于所述第一段标识列表获得包括所述第三节点的组播段标识的第三段标识列表,之后,根据所述第一组播报文和所述第三段标识列表,获得所述第三组播报文,所述第三组播报文包括所述第三段标识列表。
第三方面,提供了一种用于处理组播报文的方法,所述方法包括:控制器在确定所述第一节点和第二节点后,向所述第二节点发送第一对应关系或第二对应关系,以及向所述第一节点发送所述第二节点的组播绑定段标识。其中,所述第二节点与所述第一节点和所述第三节点通信;所述第一对应关系包括所述第二节点的组播绑定段标识与第一段标识列表,所述第二对应关系包括所述第一段标识列表的标识与第一段标识列表。其中,第二节点的组播绑定段标识可以包含在策略中下发给第一节点,第一对应关系或第二对应关系也可以包含在策略中下发给第二节点。
可选地,在所述确定所述第一节点到第三节点的路径上的第二节点之前,控制器还可以确定第一节点发往第三节点的组播报文需要经过的节点的数量;控制器可以在所述数量大于 数量阈值时,确定所述第一节点和所述第二节点。控制器可以在所述数量小于或等于数量阈值时,不确定所述第一节点和所述第二节点。这样一来,可以降低控制器的负载。
第四方面,提供了一种用于处理组播报文的装置,所述装置设于第一节点,所述装置包括:获取模块和发送模块。获取模块用于获取第一组播报文,所述第一组播报文包括第二节点的组播绑定段标识,所述第二节点的组播绑定段标识用于指示获取第一段标识列表,所述第一段标识列表用于指示向与所述第二节点通信的第三节点发送所述第一组播报文;发送模块,用于向所述第二节点发送所述第一组播报文。
可选地,所述第一组播报文包括DA字段,所述DA字段包括所述第二节点的组播绑定段标识;或者所述第一组播报文包括SRH,所述SRH包括所述第二节点的组播绑定段标识。
当并不是SRH包括第二节点的组播绑定段标识时,第一组播报文可以包括SRH也可以不包括SRH。
比如,第一组播报文为SR报文,该SR报文的DA字段包括第二节点的组播绑定段标识,此时,该SR报文可以包括SRH也可以不包括SRH。或者,该SR报文的SRH包括第二节点的组播绑定段标识。
又比如,第一组播报文为BIER报文,该BIER报文的DA字段包括第二节点的组播绑定段标识。或者,该BIER报文包括SRH,且该SRH包括第二节点的组播绑定段标识。
进一步地,获取模块获取第一组播报文的方式多种多样,以下将以其中五种获取第一组播报文的方式为例进行讲解。
在第一种方式中,所述获取模块用于:获取所述第二节点的组播绑定段标识;根据所述第二节点的组播绑定段标识生成所述第一组播报文。
在第二种方式中,所述获取模块用于:获取所述第二节点的组播绑定段标识;根据所述第二节点的组播绑定段标识生成所述第一组播报文。所述第一组播报文还包括:所述第一节点和所述第二节点之间用于转发所述第一组播报文的节点的组播段标识。
在第三种方式中,所述获取模块用于:接收第二组播报文,所述第二组播报文包括所述第一节点的组播段标识和所述第二节点的组播绑定段标识;基于所述第二组播报文获得所述第一组播报文,所述第一组播报文为所述第二组播报文包括的所述第一节点的组播段标识被弹出后所获得的组播报文。
在第四种方式中,所述获取模块用于:接收第二组播报文,所述第二组播报文包括所述第一节点的组播绑定段标识;基于所述第一节点的组播绑定段标识获取第二段标识列表,所述第二段标识列表包括所述第二节点的组播绑定段标识;基于所述第二组播报文和所述第二段标识列表,获得所述第一组播报文,所述第一组播报文为所述第二组播报文包括的所述第一节点的组播绑定段标识替换为所述第二节点的组播绑定段标识后所获得的组播报文。
在第五种方式中,所述第一组播报文为BIER报文,所述获取模块用于:获取BIER报文,所述BIER报文包括比特串;获取所述第二节点的组播绑定段标识,所述第二节点是到达所述比特串对应的BFER的支持BIER的下一跳;基于所述BIER报文和所述第二节点的组播绑定段标识,获取所述第一组播报文,所述第一组播报文包括的DA字段用于携带所述第二节点的组播绑定段标识。
可选地,在上述第一种方式、第二种方式和第五种方式中,所述获取模块用于接收控制器发送的所述第二节点的组播绑定段标识。
本申请中,第一节点在一些可能实现的场景下需要获取第二节点的组播绑定段标识,进而根据第二节点的组播绑定段标识获取第一组播报文。该第二节点的组播绑定段标识可以是控制器或第二节点发送给第一节点的,也可以是静态配置在第一节点上的,本申请对此不作限定。其中,当第二节点的组播绑定段标识是控制器发送的时,第二节点的组播绑定段标识可以包括在控制器发送给第一节点的策略中;当第二节点的组播绑定段标识是第二节点发送的时,第二节点可以会将其组播绑定段标识(由控制器分配给第二节点)在全网泛洪,以使每个节点接收到第二节点的组播绑定段标识。
可选地,所述第一组播报文还包括第一段标识列表的标识。比如,所述第一组播报文包括IPv6报文头,所述IPv6报文头包括所述第一段标识列表的标识;或者所述第一组播报文包括逐跳选项头,所述逐跳选项头包括所述第一段标识列表的标识。
第五方面,提供了一种用于处理组播报文的装置,所述装置设于第二节点,所述装置包括:第一接收模块、获取模块和转发模块。其中,第一接收模块用于接收第一节点发送的第一组播报文,所述第一组播报文包括所述第二节点的组播绑定段标识;获取模块用于基于所述第二节点的组播绑定段标识获取第一段标识列表,所述第一段标识列表用于指示向与所述第二节点通信的第三节点发送所述第一组播报文;转发模块用于基于所述第一段标识列表向所述第三节点转发所述第一组播报文。
获取模块获取第一段标识列表的方式多种多样,以下将以其中的两种方式为例进行讲解。
在一种方式中,所述装置还包括:第二接收模块(图7中未示出)。第二接收模块可以用于接收控制器发送的第一对应关系,所述第一对应关系包括所述第二节点的组播绑定段标识和所述第一段标识列表。所述获取模块用于根据所述第二节点的组播绑定段标识以及所述第一对应关系,获取所述第一段标识列表。
在另一种方式中,所述第一组播报文还包括第一段标识列表的标识,所述装置还包括:第三接收模块(图7中未示出)。第三接收模块用于接收控制器发送的第二对应关系,所述第二对应关系包括所述第一段标识列表的标识和所述第一段标识列表;所述获取模块702用于基于所述第二节点的组播绑定段标识,利用所述第一段标识列表的标识和所述第二对应关系,获取所述第一段标识列表。
可选地,所述转发模块用于根据所述第一组播报文和所述第一段标识列表获得第三组播报文,所述第三组播报文包括所述第三节点的组播段标识;基于所述第三节点的组播段标识向所述第三节点转发所述第三组播报文。示例地,所述第三组播报文包括SRH,所述SRH包括所述第三节点的组播段标识。
进一步地,所述转发模块可以用于:基于所述第一段标识列表获得第三段标识列表,所述第三段标识列表包括所述第三节点的组播段标识;根据所述第一组播报文和所述第三段标识列表,获得所述第三组播报文,所述第三组播报文包括所述第三段标识列表。
第六方面,提供了一种用于处理组播报文的装置,该装置设于控制器。所述装置包括:第一确定模块、第一发送模块和第二发送模块。第一确定模块用于确定所述第一节点和第二节点,所述第二节点与所述第一节点和所述第三节点通信。第一发送模块用于向所述第二节点发送第一对应关系或第二对应关系,所述第一对应关系包括所述第二节点的组播绑定段标识与第一段标识列表,所述第二对应关系包括所述第一段标识列表的标识与第一段标识列表;第二发送模块用于向所述第一节点发送所述第二节点的组播绑定段标识。
可选地,控制器还包括:第二确定模块,第二确定模块用于确定第一节点发往第三节点的组播报文需要经过的节点的数量。第一确定模块可以在所述数量大于数量阈值时,确定所述第一节点和所述第二节点。
第七方面,提供了一种通信设备,所述通信设备包括:处理器和存储器,所述存储器中存储有程序;所述处理器用于调用所述存储器中存储的程序,以使得所述通信设备执行第一方面中任一设计所述的用于处理组播报文的方法。
第八方面,提供了一种通信设备,所述通信设备包括:处理器和存储器,所述存储器中存储有程序;所述处理器用于调用所述存储器中存储的程序,以使得所述通信设备执行第二方面中任一设计所述的用于处理组播报文的方法。
第九方面,提供了一种通信设备,所述通信设备包括:处理器和存储器,所述存储器中存储有程序;所述处理器用于调用所述存储器中存储的程序,以使得所述通信设备执行第三方面中任一设计所述的用于处理组播报文的方法。
第十方面,提供了一种通信系统,包括:第一节点、第二节点和第三节点,所述第一节点和所述第三节点均与所述第二节点通信;
所述第一节点包括第四方面中任一设计所述的用于处理组播报文的装置,所述第二节点包括第五方面中任一设计所述的用于处理组播报文的装置;
或者,所述第一节点为第七方面中任一设计所述的通信设备,所述第二节点为第八方面中任一设计所述的通信设备。
可选地,该通信系统还包括控制器,所述第一节点包括第六方面中任一设计所述的用于处理组播报文的装置,或者所述第一节点为第九方面中任一设计所述的通信设备。
第十一方面,提供了一种计算机存储介质,所述计算机存储介质内存储有计算机程序;
所述计算机程序在计算机上运行时,使得计算机执行第一方面中任一设计所述的用于处理组播报文的方法;或者,所述计算机程序在计算机上运行时,使得计算机执行第二方面中任一设计所述的用于处理组播报文的方法;或者,所述计算机程序在计算机上运行时,使得计算机执行第三方面中任一设计所述的用于处理组播报文的方法。
第十二方面,提供了一种包含指令的计算机程序产品,当计算机程序产品在通信设备上运行时,使得通信设备执行如第一方面任一设计所述的用于处理组播报文的方法;或者,当计算机程序产品在通信设备上运行时,使得通信设备执行如第二方面任一设计所述的用于处理组播报文的方法;或者,当计算机程序产品在通信设备上运行时,使得通信设备执行如第三方面任一设计所述的用于处理组播报文的方法。
第二方面至第十二方面中任一种设计方式所带来的技术效果可参见第一方面中相应设计方式所带来的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种通信系统的结构示意图;
图2为本申请实施例提供的一种通信设备的结构示意图;
图3为本申请实施例提供的一种用于处理组播报文的方法的流程图;
图4为本申请实施例提供的一种第二节点向第三节点转发组播报文的流程图;
图5为本申请实施例提供的另一种通信系统的结构示意图;
图6为本申请实施例提供的一种用于处理组播报文的装置的框图;
图7为本申请实施例提供的另一种用于处理组播报文的装置的框图;
图8为本申请实施例提供的另一种用于处理组播报文的装置的框图。
具体实施方式
为使本申请的原理和技术方案更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1为本申请实施例提供的一种通信系统的结构示意图,如图1所示,该通信系统包括:多个节点(如图1中的节点R、P1、P2、P3、P4、L1、L2、L3和L4)。图1中以通信系统包括9个节点为例,通信系统中节点的个数也可以是其他个数,如100、1000等。
节点可以称为转发节点,节点具有转发报文的功能,节点可以是路由器或网关等具有转发功能的设备。节点是一种通信设备,通信设备可以包括:处理器;处理器用于与存储器耦合,并读取存储器中的指令之后,根据指令执行如本申请实施例描述的由通信设备执行的方法。在该通信设备中,处理器的个数可以为多个,与处理器耦合的存储器可以独立于处理器之外或独立于通信设备之外,也可以在处理器或网络设备之内。存储器可以是物理上独立的单元,也可以是云服务器上的存储空间或网络硬盘等。可选地,存储器可以为一个或多个。当存储器的个数为多个时,可以位于相同的或不同的位置,并且可以独立或配合使用。示例性地,当存储器位于通信设备内部时,请参考图2,图2为本申请实施例提供的一种通信设备的结构示意图。该通信设备200包括:处理器202和存储器201,其中,存储器201用于存储程序,处理器202用于调用存储器201中存储的程序,以使得该通信设备执行相应的方法或功能。可选地,如图2所示,该通信设备200还可以包括至少一个通信接口203和至少一个通信总线204。存储器201、处理器202以及通信接口203通过通信总线204通信连接。其中,通信接口203用于在处理器202的控制下与其他设备通信,处理器202可以通过通信总线204调用存储器201中存储的程序。
通信系统的节点之间建立有通信连接,这些节点可以基于节点之间建立的通信连接传输报文。当这些节点中的一个节点(也称头节点)向多个节点(也称尾节点)发送报文时,该报文称为组播报文。目前,节点可以基于分段路由版本6(Segment Routing Version 6,SRv6)技术传输组播报文。SRv6技术是基于源路由理念而设计的在网络上转发IPv6报文的一种协议,头节点在基于SRv6技术向多个尾节点发送组播报文时,头节点会在组播报文中封装段标识列表。该段标识列表用于指示向该多个尾节点发送该组播报文。之后,头节点便可以基于该段标识列表向多个尾节点发送该组播报文。并且,段标识列表包括组播报文需要经过的节点的组播段标识(multicast segment identity,multicast SID),组播报文在从头节点发送至多个尾节点的过程中,需要经过该段标识列表中组播段标识所指示的节点,从而实现了从头节点到多个尾节点的路径规划。
示例地,在组播场景中,段标识列表按照点到多点(Point To Multipoint,P2MP)树的层级来编码。以图1为例,用于指示向节点L1、L2、L3和L4发送该组播报文的段标识列表可以看成以节点P1为根的P2MP树,节点P1在P2MP树的第一层,节点P1的子节点P2和P3在P2MP的第二层,以此类推。段标识列表中的节点的顺序按照节点在P2MP树中的层级排布。比如,当节点R需要向节点L1、L2、L3和L4发送组播报文时,该组播报文可以包含段 标识列表,且该段标识列表可以包括:节点P1的组播段标识,节点P2的组播段标识,节点P3的组播段标识,节点L1的组播段标识,节点L2的组播段标识,节点P4的组播段标识,节点L3的组播段标识以及节点L4的组播段标识。
进一步地,段标识列表中每个节点的组播段标识可以包括:定位器(locator)、函数(function)和参数(arguments)。locator又可以表示为B:N,B为节点所在的子网的标识,N为节点在该子网中的段标识,B:N能够唯一指示一个节点。function用于指示locator所指示的节点进行相应的操作。例如,function包括:分支数(N-Branches)和段标识数(N-SIDs),其中,N-Branches用于指示locator所指示的节点在P2MP树中的分支数量;N-SIDs用于指示:在P2MP树中locator所指示的节点下节点的数量。arguments用于指示一些与报文相关的流或服务等信息。示例地,在图1的场景中,节点R向节点L1、L2、L3和L4发送的组播报文,P2MP树的根节点为节点P1,叶子节点为节点L1、L2、L3和L4。节点R向节点L1、L2、L3和L4发送的组播报文中的段标识列表可以如表1所示。
根据表1可以看出:节点P1有2个分支,分别为节点P2和节点P3,且节点P1下有7个节点(分别为节点P2、P3、P4、L1、L2、L3和L4)。节点P2有2个分支,分别为节点L1和节点L2,且节点P2下有2个节点(分别为节点L1和L2)。节点P3有1个分支,为节点P4,且节点P3下有3个节点(分别为节点P4、L3和L4)。节点P4有2个分支,分别为节点L3和L4,且节点P4下有2个节点(分别为节点L3和L4)。节点L1、L2、L3和L4均没有分支,且节点L1、L2、L3和L4下均没有其他节点。
表1
locator N-Branches N-SIDs arguments
节点P1的locator 2 7 arguments
节点P2的locator 2 2 arguments
节点P3的locator 1 3 arguments
节点L1的locator 0 0 arguments
节点L2的locator 0 0 arguments
节点P4的locator 2 2 arguments
节点L3的locator 0 0 arguments
节点L4的locator 0 0 arguments
头节点会将包括段标识列表的组播报文向每个尾节点发送,当该组播报文传输至段标识列表中第一个组播段标识所指示的节点时,该节点需要对该段标识列表进行更新,并向尾节点发送更新段标识列表后的组播报文。示例地,请继续参考图1,当节点R在将包括表1所示的段标识列表的组播报文发送至节点P1时,由于节点P1是该段标识列表中第一个段标识是节点P1的组播段标识,所以,节点P1需要对该段标识列表进行更新。比如,节点P1可以首先解析出节点P1的组播段标识中的N-Branches和N-SIDs,之后,节点P1可以根据该N-Branches确定节点P1的分支分别为节点P2和P3,并从该段标识列表中提取节点P2的组播段标识为第一个段标识的段标识列表(如表2所示),以及节点P3的组播段标识为第一个段标识的段标识列表(如表3所示)。最后,节点P1可以将组播报文中的段标识列表分别替换为表2和表3所示的段标识列表,得到用于发往节点P2和P3的组播报文,并将得到的组 播报文分别发往节点P2和P3。节点P2和节点P3在接收到组播报文后的操作可以参考节点P1在接收到组播报文后的操作,以此类推,直至组播报文发送至节点L1、L2、L3和L4。
表2
locator N-Branches N-SIDs arguments
节点P2的locator 2 2 arguments
节点L1的locator 0 0 arguments
节点L2的locator 0 0 arguments
表3
locator N-Branches N-SIDs arguments
节点P3的locator 1 3 arguments
节点P4的locator 2 2 arguments
节点L3的locator 0 0 arguments
节点L4的locator 0 0 arguments
目前,组播报文中会封装后续处理该报文的所有节点的SID,使得组播报文的应用场景受到SID长度的限制。并且,在头节点向多个尾节点发送组播报文时,如果头节点到多个尾节点的路径上的节点较多,那么封装到报文中的段标识列表较长。此时,被转发的报文的数据量较大,从而影响报文转发的效率。即便是对段标识列表中的组播段标识的长度进行压缩,但是由于段标识列表所包含的组播段标识数量较多,因此,段标识列表的长度依然较长。并且,如果设备支持的段标识列表最多包含10个组播段标识的话,那么组播报文的应用场景仍然较为有限。
另外,目前节点还可以基于BIER技术发送组播报文。头节点在基于BIER技术向多个尾节点发送组播报文时,头节点会在组播报文中封装比特串(bitstring)。之后,头节点便可以根据该比特串确定到达比特串对应的BFER的支持BIER的下一跳,并将该组播报文的DA字段设置为该下一跳的位索引显示复制的节点标识(End.Bier),以及将该组播报文发送至该下一跳。该下一跳在接收到该组播报文后,发现该组播报文的DA字段包括自己的End.Bier,此时,该下一跳可以参考头节点更新DA字段以及发送该组播报文。如此往复,直至该组播报文发送至多个尾节点。但是,节点在基于BIER技术发送组播报文的场景下,无法指定组播报文需要经过的节点,所以,无法实现头节点到多个尾节点的路径规划。
本申请实施例提供了一种用于处理组播报文的方法,该方法中的组播报文可以不包括段标识列表,因此,减小了组播报文的数据量,提升了组播报文的传输效率。另外,节点在基于BIER技术发送组播报文的场景下,通过该方法能够实现路径规划。
示例地,图3为本申请实施例提供的一种用于处理组播报文的方法的流程图,如图3所示,该方法可以包括:
S101、第一节点获取第一组播报文,第一组播报文包括第二节点的组播绑定段标识。
在头节点向多个尾节点发送组播报文的场景下,第一节点可以是头节点,也可以是头节点和多个尾节点之间的中间节点。第一节点和第三节点均与第二节点通信,第二节点可以是第一节点和第三节点之间的中间节点。第三节点可以是尾节点,或者第三节点是第二节点和 尾节点之间的中间节点。
第一组播报文需要包括第二节点的组播绑定段标识。可选地,第一组播报文包括DA字段,该DA字段包括第二节点的组播绑定段标识;或者,第一组播报文包括SRH,该SRH包括第二节点的组播绑定段标识。当并不是SRH包括第二节点的组播绑定段标识时,第一组播报文可以包括SRH也可以不包括SRH。比如,第一组播报文为SR报文,该SR报文的DA字段包括第二节点的组播绑定段标识,此时,该SR报文可以包括SRH也可以不包括SRH。或者,该SR报文的SRH包括第二节点的组播绑定段标识。又比如,第一组播报文为BIER报文,该BIER报文的DA字段包括第二节点的组播绑定段标识。或者,该BIER报文包括SRH,且该SRH包括第二节点的组播绑定段标识。第二节点的组播段标识用于指示获取第一段标识列表。第一段标识列表能够用于指示向(一个或多个)第三节点发送第一组播报文。示例地,以图1所示的场景为例,假设节点R是第一节点,节点P1是第二节点,节点L1、L2、L3和L4均是第三节点。那么,该第一组播报文是节点R生成的,且该第一组播报文包括节点P1的组播绑定段标识。节点P1的组播绑定段标识用于指示获取的第一段标识列表可以如上述表1所示。可以看出,第一组播报文无需包括表1所示的段标识列表,而是仅需包括节点P1的组播绑定段标识即可,所以第一组播报文的数据量较少。
S102、第一节点向第二节点发送第一组播报文。
第一节点在得到第一组播报文后,可以根据第一组播报文中第二节点的组播绑定段标识,向第二节点发送第一组播报文。
S103、第二节点基于第二节点的组播绑定段标识获取第一段标识列表。
第二节点在接收到第一组播报文后,若检测到该第一组播报文中包括第二节点的组播绑定段标识,则第二节点可以基于该组播绑定段标识获取第一段标识列表。第二节点获取第一段标识列表的方式多种多样,以下将以其中的两种方式为例进行讲解。
(1)在第一种方式中,图1所示的场景中还可以包括控制器,控制器与每个节点通信连接。第二节点在基于第二节点的组播绑定段标识获取第一段标识列表之前,可以接收控制器发送的第一对应关系,第一对应关系包括第二节点的组播绑定段标识和第一段标识列表;第二节点在S103中可以根据第二节点的组播绑定段标识以及该第一对应关系,获取第一段标识列表。本申请实施例中以第一对应关系由控制器发送给第二节点为例,该第一对应关系也可以不由控制器发送给第二节点,比如,该第一对应关系静态配置在第二节点上,本申请实施例对此不作限定。
(2)在第二种方式中,该第一组播报文不仅包括第二节点的组播绑定段标识,还可以包括第一段标识列表的标识(可以称为组播树标识(Tree-ID))。此时,第二节点在获取第一段标识列表时,可以基于第二节点的组播绑定段标识,根据该第一段标识列表的标识获取该第一段标识列表。示例地,第二节点在获取第一段标识列表之前,可以接收控制器发送的第二对应关系,第二对应关系包括第一段标识列表的标识和第一段标识列表。第二节点在基于第二节点的组播绑定段标识获取第一段标识列表时,可以基于第二节点的组播绑定段标识,利用第一段标识列表的标识和第二对应关系,获取第一段标识列表。本申请实施例中以第二对应关系由控制器发送给第二节点为例,该第二对应关系也可以不由控制器发送给第二节点,比如,该第二对应关系静态配置在第二节点上,本申请实施例对此不作限定。
第一段标识列表的标识可以携带在第一组播报文中的任一部分,比如,第一组播报文包 括IPv6报文头,该IPv6报文头(如IPv6报文头中的流标签(flowlabel)字段)包括第一段标识列表的标识;又比如,第一组播报文包括逐跳选项头(hop-by-hop options header,HBH header),逐跳选项头包括第一段标识列表的标识。
S104、第二节点基于第一段标识列表向第三节点转发第一组播报文。
第二节点在获取到第一段标识列表之后,可以基于该第一段标识列表向第三节点转发第一组播报文。示例地,如图4所示,S104可以包括:
S1041、第二节点根据第一组播报文和第一段标识列表获得第三组播报文,第三组播报文包括第三节点的组播段标识。
可选地,第三组播报文包括SRH,SRH包括第三节点的组播段标识。第二节点可以首先基于第一段标识列表获得第三段标识列表,第三段标识列表包括第三节点的组播段标识。之后,第二节点根据第一组播报文和第三段标识列表,获得第三组播报文,第三组播报文包括该第三段标识列表。比如,当第一组播报文中的SRH包括第二节点的组播绑定段标识时,第二节点可以将第一组播报文的SRH中的第二节点的组播绑定段标识替换为第三段标识列表,得到第三组播报文。又比如,当第一组播报文中的DA字段包括第二节点的组播绑定段标识时,第二节点可以将第一组播报文的SRH设置为包括第三段标识列表,并将DA字段中第二节点的组播绑定段标识替换为第三段标识列表中的第一个段标识,得到第三组播报文。如果第一组播报文不包括SRH,那么第二节点可以在第一组播报文中增加SRH。
仍然以S101中的例子为例,第一段标识列表如表1所示,节点P1基于第一段标识列表能够获得如表2和表3所示的两个段标识列表。之后,节点P1可以基于第一组播报文中节点P1的组播绑定段标识,得到分别包括表2和表3所示的段标识列表的两个第三组播报文。
S1042、第二节点基于第三节点的组播段标识向第三节点转发第三组播报文。
第二节点在得到第三组播报文后,便可以基于该第三组播报文中的第三段标识列表(包括第三节点的组播段标识)向第三节点转发第三组播报文。
仍然以S1041中的例子为例,节点P1可以基于表2所示的第三段标识列表,向节点L1和L2发送包括表2所示的第三段标识列表的第三组播报文,以及基于表3所示的第三段标识列表,向节点P3发送包括表3所示的第三段标识列表的第三组播报文。节点P3在接收到该第三组播报文后,可以基于表3所示的第三段标识列表,得到分别包括节点L3和L4的组播段标识的两个段标识列表,进而将第三组播报文中的第三段标识列表分别替换为这两个段标识列表,得到两个组播报文,并向节点L3和L4分别发送这两个组播报文。
通过上述S1041和S1042,便能够实现第二节点基于第一段标识列表将第一组播报文转发至第三节点。
根据本申请实施例提供的用于处理组播报文的方法可知,第一节点在向第三节点发送第一组播报文时,第一组播报文包括第二节点的组播绑定段标识。第二节点在接收到该第一组播报文后,会基于其中的第二节点的组播绑定段标识获取第一段标识列表,之后再基于该第一段标识列表向第三节点转发第一组播报文。由于该第一组播报文包括了第二节点的组播绑定段标识,且第二节点的组播绑定段标识用于指示获取第一段标识列表,因此,第一节点向第二节点发送的第一组播报文可以无需包括第一段标识列表。这样一来,第一组播报文封装的节点的SID较少,避免了第一组播报文的应用场景受到SID长度的限制。并且,第一组播报文的数据量较少,保证了第一组播报文的传输效率较高。
进一步地,上述S101中第一节点获取第一组播报文的方式多种多样,以下将以第一节点在以下五种可能实现的场景下获取第一组播报文的方式为例进行讲解。
可能实现的场景1:第一节点是头节点(如第一节点是图1中的节点R),在获取第一组播报文时,第一节点可以先获取第二节点的组播绑定段标识,然后根据第二节点的组播绑定段标识生成该第一组播报文。在可能实现的场景1中,第二节点是第一节点的下一跳,第一节点获取的第一组播报文所包括的与SID相关的信息仅包括第二节点的组播绑定段标识。比如,图1中的节点R是第一节点,图1中的节点P1是第二节点,此时,第一组播报文还包括节点P1的组播绑定段标识。
可能实现的场景2:第一节点是头节点,在获取第一组播报文时,第一节点获取第一组播报文的方式与可能实现的场景1中的方式相似,但第一组播报文进一步还包括:第一节点和第二节点之间用于转发第一组播报文的节点的组播段标识。在可能实现的场景2中,第二节点并不是第一节点的下一跳,此时,该第一组播报文需要包括第一节点和第二节点之间用于转发第一组播报文的中间节点的组播段标识。第一节点可以通过该中间节点将该第一组播报文传输至第二节点。中间节点在转发该第一组播报文的过程中,可以将自己的组播段标识弹出。比如,图1中的节点R是第一节点,图1中的节点P2和节点P3均是第二节点,此时,第一组播报文还包括节点P1的组播段标识。又比如,图1中的节点R是第一节点,图1中的节点P2是第二节点,此时,第一组播报文还包括节点P1的组播段标识,以及节点P3、P4、L3和L4的组播段标识。
可能实现的场景3:第一节点是头节点和尾节点之间的中间节点,在获取第一组播报文时,第一节点可以先接收头节点(或者头节点和第一节点之间的其他节点)发送的第二组播报文。该第二组播报文包括第一节点的组播段标识和第二节点的组播绑定段标识。之后,第一节点可以基于第二组播报文获得第一组播报文。第一组播报文为第二组播报文包括的第一节点的组播段标识被弹出后所获得的组播报文。换句话说,第一节点可以将第二组播报文中第一节点的组播段标识弹出,得到第一组播报文。在可能实现的场景3中,头节点可以参考可能实现的场景2中生成第一组播报文的方式,生成包括第一节点的组播段标识和第二节点的组播绑定段标识的第二组播报文,之后,再将该第二组播报文发送至第一节点,以便于第一节点基于该第二组播报文得到第一组播报文。比如,图1中的节点P1是第一节点,节点P2和P3均是第二节点。头节点R会向节点P1发送第二组播报文,该第二组播报文包括节点P1的组播段标识,以及节点P2和节点P3的组播绑定段标识。节点P1会将该第二组播报文中节点P1的组播段标识弹出,并根据剩余的段标识得到分别用于发往节点P2和P3的第一组播报文。其中,用于发往节点P2的第一组播报文包括节点P2的组播绑定段标识,用于发往节点P3的第一组播报文包括节点P3的组播绑定段标识。
可能实现的场景4:第一节点是头节点和尾节点之间的中间节点,第一组播报文是SR报文。在获取第一组播报文时,第一节点可以先接收头节点(或者头节点和第一节点之间的其他节点)发送的第二组播报文。第二组播报文包括第一节点的组播绑定段标识;之后,第一节点可以基于第一节点的组播绑定段标识获取第二段标识列表,第二段标识列表包括第二节点的组播绑定段标识;最后,第一节点可以基于第二组播报文和第二段标识列表,获得第一组播报文。其中,第一组播报文为第二组播报文包括的第一节点的组播绑定段标识替换为第二节点的组播绑定段标识后所获得的组播报文。在可能实现的场景4中,头节点参考可能实 现的场景1中生成第一组播报文的方式生成包括第一节点的组播绑定段标识的第二组播报文,之后,再将该第二组播报文发送至第一节点。第一节点可以参考上述S103中基于第一节点的组播绑定段标识获取第二段标识列表(包括第二节点的组播绑定段标识),之后,再将第二组播报文中第一节点的组播绑定段标识替换为第二节点的组播绑定段标识得到第一组播报文。比如,图1中的节点P1是第一节点,节点P2和P3均是第二节点。头节点R会向节点P1发送第二组播报文,该第二组播报文包括节点P1的组播绑定段标识。节点P1会根据该组播绑定段标识,获取包括节点P2和P3的组播绑定段标识的第二段标识列表。之后,节点P1会将第二组播报文中节点P1的组播绑定段标识分别替换为节点P2和P3的组播绑定段标识,得到分别用于发往节点P2和P3的两个第一组播报文。其中,用于发往节点P2的第一组播报文包括节点P2的组播绑定段标识,用于发往节点P3的第一组播报文包括节点P3的组播绑定段标识。
上述可能实现的场景1、2、3和4中,第一组播报文可以是SR报文或BIER报文。
可能实现的场景5:第一组播报文是基于BIER报文得到的组播报文。在获取第一组播报文时,第一节点可以首先获取一个BIER报文,该BIER报文包括比特串。示例地,第一节点是头节点时,第一节点生成该BIER报文;第一节点是中间节点时,第一节点可以通过接收头节点(或者头节点和第一节点之间的其他节点)发送的BIER报文。之后,第一节点可以获取第二节点的组播绑定段标识,第二节点是到达比特串对应的BFER的支持BIER的下一跳。示例地,第一节点可以根据BIER报文中的比特串,确定到达比特串对应的BFER的支持BIER的下一跳(也即第二节点),之后,再获取该第二节点的组播绑定段标识。最后,第一节点可以基于该BIER报文和第二节点的组播绑定段标识,获取第一组播报文,第一组播报文包括的DA字段用于携带第二节点的组播绑定段标识。示例地,第一节点可以将第二节点的组播绑定段标识写入BIER报文中的DA字段,从而得到第一组播报文。
根据以上内容可知,在第一组播报文是BIER报文时,第一节点发给第二节点的第一组播报文包括第二节点的组播绑定段标识,第二节点可以基于该组播绑定段标识获取第一段标识列表,并基于第一段标识列表向第三节点转发第一组播报文。可见,组播报文在第二节点和第三节点之间转发时,第一段标识列表能够指示第一组播报文需要经过的节点,从而在BIER场景中实现了路径规划。
本申请实施例中,第一节点在一些可能实现的场景下需要获取第二节点的组播绑定段标识,进而根据第二节点的组播绑定段标识获取第一组播报文。该第二节点的组播绑定段标识可以由控制器或第二节点发送给第一节点,也可以静态配置在第一节点上,本申请实施例对此不作限定。其中,当第二节点的组播绑定段标识由控制器发送给第一节点时,第二节点的组播绑定段标识可以包括在控制器发送给第一节点的策略(policy)中;当第二节点的组播绑定段标识由第二节点发送给第一节点时,第二节点可以会将其组播绑定段标识(由控制器分配给第二节点)在全网泛洪,以使每个节点接收到第二节点的组播绑定段标识。
以上实施例中以第一节点通过第二节点向第三节点传输第一组播报文为例,对本申请实施例提供的用于处理组播报文的方法进行了说明。这里的第一节点、第二节点和第三节点可以称为一组节点,这组节点中第一节点到第二节点的组播报文的长度进行了压缩。
当头节点通过多个中间节点向尾节点传输组播报文时,头节点到尾节点的路径上可以存在至少一组节点,每组节点至少包括第一节点、第二节点和第三节点。并且,在该路径上存 在多组节点时,该多组节点可以存在交叉,比如,一组节点中的第二节点是另一组节点中的第一节点,又比如,两组节点的第三节点可以相同。
(1)以图1所示的场景为例,假设节点R到节点P1之间传输的组播报文的长度进行了压缩,节点P1到节点P2之间传输的组播报文的长度进行了压缩,以及节点P1到节点P3之间传输的组播报文的长度进行了压缩,那么图1所示的场景中共存在三组节点。
第一组节点包括:节点R、节点P1、节点L1、L2、L3和L4,其中,节点R为第一节点,节点P1为第二节点,节点L1、L2、L3和L4均为第三节点。第二组节点包括:节点P1、节点P2、节点L1和L2,其中,节点P1为第一节点,节点P2为第二节点,节点L1和L2均为第三节点。第三组节点包括:节点P1、节点P3、节点L3和L4,其中,节点P1为第一节点,节点P3为第二节点,节点L3和L4均为第三节点。以下将对这三组节点传输组播报文的过程进行讲解。
节点R发送给节点P1的组播报文为SR报文,该组播报文包括节点P1的组播绑定段标识,且不包括段标识列表。节点P1在接收到节点R发出的组播报文后,会根据节点P1的组播绑定段标识,获取段标识列表,该段标识列表包括节点P1的组播段标识、节点P2的组播绑定段标识以及节点P3的组播绑定段标识。并且,节点P1会将该组播报文中节点P1的组播绑定段标识,替换为该段标识列表中节点P2的组播绑定段标识得到用于发往节点P2的组播报文,以及替换为该段标识列表中节点P3的组播绑定段标识得到用于发往节点P3的组播报文。最后,节点P1会将用于发往节点P2的组播报文发往节点P2,以及将用于发往节点P3的组播报文发往节点P3。一方面,节点P2在接收到节点P1发出的组播报文后,会根据节点P2的组播绑定段标识,获取如上述表2所示的段标识列表。之后,节点P2可以基于该段标识列表得到两个段标识列表,这两个段标识列表分别包括节点L1和L2的组播段标识。最后,节点P2可以在该组播报文中设置包括节点L1的组播段标识的段标识列表的SRH,得到用于发往节点L1的组播报文,并向节点L1发送该组播报文。节点P2还可以在该组播报文中设置包括节点L2的组播段标识的段标识列表的SRH,得到用于发往节点L2的组播报文,并向节点L2发送该组播报文。另一方面,节点P3在接收到节点P1发出的组播报文后,会根据节点P3的组播绑定段标识,获取如上述表3所示的段标识列表。之后,节点P3可以基于该段标识列表得到另一段标识列表,该段标识列表包括节点P4、L3和L4的组播段标识。最后,节点P3在该组播报文中设置包括节点P4、L3和L4的组播段标识的段标识列表的SRH,得到用于发往节点P4的组播报文,并向节点P4发送该组播报文。节点P4在接收到节点P3发出的组播报文后,会基于该组播报文中段标识列表,得到两个段标识列表,这两个段标识列表分别包括节点L3和L4的组播段标识。最后,节点P4可以将该组播报文中的段标识列表替换为包括节点L3的组播段标识的段标识列表,得到用于发往节点L3的组播报文,并向节点L3发送该组播报文。节点P4还可以将该组播报文中的段标识列表替换为包括节点L4的组播段标识的段标识列表,得到用于发往节点L4的组播报文;节点P4还可以向节点L4发送该组播报文。
(2)以图5所示的场景为例,假设节点A需要向节点O、P和Q发送组播报文,且该组播报文是BIER报文。如果节点C具有组播绑定段标识,那么图5所示的场景中共存在一组节点。这组节点包括:节点B、节点C、节点O、节点P和节点Q,其中,节点B为第一节点,节点C为第二节点,节点O、P和Q均为第三节点。以下将对这组节点传输组播报文 的过程进行讲解。
节点A会生成BIER报文,该BIER报文包括比特串,到达该比特串对应的BFER的支持BIER的下一跳为节点B,该BIER报文中的DA字段包括节点B的End.Bier。节点A可以将该BIER报文发往节点B。节点B在接收到该BIER报文后,可以确定到达该比特串对应的BFER的支持BIER的下一跳为节点C,并且,确定该节点C具有组播绑定段标识。此时,节点B可以将该BIER报文的DA字段中节点B的End.Bier改为节点C的组播绑定段标识,得到用于发往节点C的组播报文,并将该组播报文发往节点C。节点C在接收到该组播报文后,发现该组播报文包括节点C的组播绑定段标识,所以,节点C可以基于该组播绑定段标识获取如表4所示的段标识列表。之后,节点C可以基于该段标识列表得到如表5和表6所示的两个段标识列表,并将该组播报文中节点C的组播绑定段标识替换为表5所示的段标识列表得到用于发往节点E的组播报文,以及将节点C的组播绑定段标识替换为表6所示的段标识列表得到用于发往节点F的组播报文。
表4
locator N-Branches N-SIDs arguments
节点C的locator 2 8 arguments
节点E的locator 2 4 arguments
节点F的locator 1 2 arguments
节点I的locator 1 1 arguments
节点J的locator 1 1 arguments
节点K的locator 1 1 arguments
节点O的locator 0 0 arguments
节点P的locator 0 0 arguments
节点Q的locator 0 0 arguments
表5
locator N-Branches N-SIDs arguments
节点E的locator 2 4 arguments
节点I的locator 1 1 arguments
节点J的locator 1 1 arguments
节点O的locator 0 0 arguments
节点P的locator 0 0 arguments
表6
locator N-Branches N-SIDs arguments
节点F的locator 1 2 arguments
节点K的locator 1 1 arguments
节点Q的locator 0 0 arguments
节点E在接收到节点C发出的组播报文后,会基于该组播报文中如表5段标识列表,得到如表7和表8所示的两个段标识列表。最后,节点E可以将该组播报文中的段标识列表替换为表7所示的段标识列表,得到用于发往节点I的组播报文,并向节点I发送该组播报文。节点E还可以将该组播报文中的段标识列表替换为表8所示的段标识列表,得到用于发往节点J的组播报文,并向节点J发送该组播报文。
表7
locator N-Branches N-SIDs arguments
节点I的locator 1 1 arguments
节点O的locator 0 0 arguments
表8
locator N-Branches N-SIDs arguments
节点J的locator 1 1 arguments
节点P的locator 0 0 arguments
节点I在接收到节点E发出的组播报文后,会将该组播报文中表7所示的段标识列表中节点I的组播段标识弹出,得到用于发往节点O的组播报文,并将该组播报文发送至节点O。节点J在接收到节点E发出的组播报文后,会将该组播报文中表8段标识列表中节点J的组播段标识弹出,得到用于发往节点P的组播报文,并将该组播报文发送至节点P。节点F在接收到节点C发出的组播报文后,会将该组播报文中表6段标识列表中节点F的组播段标识弹出,得到用于发往节点K的组播报文,并将该组播报文发送至节点K。节点K在接收到节点F发出的组播报文后,会将该组播报文中节点K的组播段标识弹出,得到用于发往节点Q的组播报文,并将该组播报文发送至节点Q。
本申请实施例中以节点B为第一节点,节点C为第二节点为例。可选地,也可以是节点A为第一节点,节点C为第二节点。此时,节点A发送给节点B的BIER报文可以包括节点C的组播绑定段标识,比如,该BIER报文包括SRH,且该SRH包括节点C的组播绑定段标识。节点B在接收到该组播报文后,无需将该BIER报文的DA字段中节点B的End.Bier改为节点C的组播绑定段标识,而是可以将该BIER报文的DA字段中节点B的End.Bier改为节点C的End.Bier后,将该组播报文发送给节点C。
以上示例中以图5所示的场景中节点C具有组播绑定段标识,且该场景中共存在一组节点为例。可选地,该场景中的其他节点也可以具有组播绑定段标识,该场景中也可以存在多组节点,本申请实施例对此不作限定。
进一步地,本申请实施例提供的通信系统还可以包括控制器(附图中未示出),控制器用于指定头节点到多个尾节点的组播报文需要经过的节点,以规划头节点到多个尾节点的路径。控制器还可以确定头节点到多个尾节点之间的第一节点和第二节点(也即之间传输的报文的长度需要压缩的节点),以及向第一节点发送第二节点的组播绑定段标识,向第二节点发送上述第一对应关系或第二对应关系。其中,第二节点的组播绑定段标识可以包含在策略中下发 给第一节点,第一对应关系或第二对应关系也可以包含在策略中下发给第二节点。
控制器可以在其指定头节点到多个尾节点的组播报文需要经过的节点的数量大于数量阈值时,确定上述第一节点和第二节点,以采用本申请实施例提供的方法对第一节点和第二节点之间的报文的长度进行压缩。控制器在其指定头节点到多个尾节点的组播报文需要经过的节点的数量小于或等于数量阈值时,可以无需确定第一节点和第二节点。这样一来,能够降低控制器的负载。
示例地,控制器可以基于其指定头节点到多个尾节点的组播报文需要经过的节点,生成包括这些节点的组播段标识的段标识列表。控制器可以在该段标识列表的长度大于长度阈值时,确定控制器指定头节点到多个尾节点的组播报文需要经过的节点的数量大于数量阈值。
上文中结合图1至图5,详细描述了本申请所提供的用于处理组播报文的方法,可以理解的是,用于处理组播报文的装置为了实现上述各方法所描述的功能,其需包含执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各方法的执行过程,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方式来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本实施例可以根据上述方法实施例对相应的设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块可以采用硬件的形式实现。
当采用功能模块划分方式时,下面将结合图6、图7和图8描述本申请所提供的用于处理组播报文的装置。
图6为本申请实施例提供的一种用于处理组播报文的装置的框图,该装置例如可以设于前述各实施例中的第一节点。如图6所示,所述用于处理组播报文的装置包括:获取模块601和发送模块602。获取模块601用于获取第一组播报文,所述第一组播报文包括第二节点的组播绑定段标识,所述第二节点的组播绑定段标识用于指示获取第一段标识列表,所述第一段标识列表用于指示向与所述第二节点通信的第三节点发送所述第一组播报文。获取模块601用于执行的操作可以参考上述S101中与第一节点相关的内容。发送模块602用于向所述第二节点发送所述第一组播报文。发送模块602用于执行的操作可以参考上述S102中与第一节点相关的内容。
可选地,所述第一组播报文包括DA字段,所述DA字段包括所述第二节点的组播绑定段标识;或者所述第一组播报文包括SRH,所述SRH包括所述第二节点的组播绑定段标识。当并不是SRH包括第二节点的组播绑定段标识时,第一组播报文可以包括SRH也可以不包括SRH。比如,第一组播报文为SR报文,该SR报文的DA字段包括第二节点的组播绑定段标识,此时,该SR报文可以包括SRH也可以不包括SRH。或者,该SR报文的SRH包括第二节点的组播绑定段标识。又比如,第一组播报文为BIER报文,该BIER报文的DA字段包括第二节点的组播绑定段标识。或者,该BIER报文包括SRH,且该SRH包括第二节点的组播绑定段标识。
进一步地,获取模块601获取第一组播报文的方式多种多样,以下将以其中五种获取第一组播报文的方式为例进行讲解。在第一种方式中,所述获取模块用于:获取所述第二节点 的组播绑定段标识;根据所述第二节点的组播绑定段标识生成所述第一组播报文。在第二种方式中,所述获取模块用于:获取所述第二节点的组播绑定段标识;根据所述第二节点的组播绑定段标识生成所述第一组播报文。所述第一组播报文还包括:所述第一节点和所述第二节点之间用于转发所述第一组播报文的节点的组播段标识。在第三种方式中,所述获取模块用于:接收第二组播报文,所述第二组播报文包括所述第一节点的组播段标识和所述第二节点的组播绑定段标识;基于所述第二组播报文获得所述第一组播报文,所述第一组播报文为所述第二组播报文包括的所述第一节点的组播段标识被弹出后所获得的组播报文。在第四种方式中,所述获取模块用于:接收第二组播报文,所述第二组播报文包括所述第一节点的组播绑定段标识;基于所述第一节点的组播绑定段标识获取第二段标识列表,所述第二段标识列表包括所述第二节点的组播绑定段标识;基于所述第二组播报文和所述第二段标识列表,获得所述第一组播报文,所述第一组播报文为所述第二组播报文包括的所述第一节点的组播绑定段标识替换为所述第二节点的组播绑定段标识后所获得的组播报文。在第五种方式中,所述第一组播报文为BIER报文,所述获取模块用于:获取BIER报文,所述BIER报文包括比特串;获取所述第二节点的组播绑定段标识,所述第二节点是到达所述比特串对应的BFER的支持BIER的下一跳;基于所述BIER报文和所述第二节点的组播绑定段标识,获取所述第一组播报文,所述第一组播报文包括的DA字段用于携带所述第二节点的组播绑定段标识。
可选地,在上述第一种方式、第二种方式和第五种方式中,所述获取模块用于接收控制器发送的所述第二节点的组播绑定段标识。
本申请实施例中,第一节点在一些可能实现的场景下需要获取第二节点的组播绑定段标识,进而根据第二节点的组播绑定段标识获取第一组播报文。该第二节点的组播绑定段标识可以是控制器或第二节点发送给第一节点的,也可以是静态配置在第一节点上的,本申请实施例对此不作限定。其中,当第二节点的组播绑定段标识是控制器发送的时,第二节点的组播绑定段标识可以包括在控制器发送给第一节点的策略中;当第二节点的组播绑定段标识是第二节点发送的时,第二节点可以会将其组播绑定段标识(由控制器分配给第二节点)在全网泛洪,以使每个节点接收到第二节点的组播绑定段标识。
可选地,所述第一组播报文还包括第一段标识列表的标识。比如,所述第一组播报文包括IPv6报文头,所述IPv6报文头包括所述第一段标识列表的标识;或者所述第一组播报文包括逐跳选项头,所述逐跳选项头包括所述第一段标识列表的标识。
图7为本申请实施例提供的另一种用于处理组播报文的装置的框图,该装置例如可以设于前述各实施例中的第二节点。如图7所示,所述用于处理组播报文的装置包括:第一接收模块701、获取模块702和转发模块703。第一接收模块701用于接收第一节点发送的第一组播报文,所述第一组播报文包括所述第二节点的组播绑定段标识。第一接收模块701用于执行的操作可以参考上述S102中与第二节点相关的内容。获取模块702用于基于所述第二节点的组播绑定段标识获取第一段标识列表,所述第一段标识列表用于指示向与所述第二节点通信的第三节点发送所述第一组播报文;获取模块702用于执行的操作可以参考上述S103中与第二节点相关的内容。转发模块703用于基于所述第一段标识列表向所述第三节点转发所述第一组播报文。转发模块703用于执行的操作可以参考上述S104中与第二节点相关的内容。获取模块702获取第一段标识列表的方式多种多样,以下将以其中的两种方式为例进行讲解。
在一种方式中,所述用于处理组播报文的装置还包括:第二接收模块(图7中未示出)。 第二接收模块可以用于接收控制器发送的第一对应关系,所述第一对应关系包括所述第二节点的组播绑定段标识和所述第一段标识列表。所述获取模块702用于根据所述第二节点的组播绑定段标识以及所述第一对应关系,获取所述第一段标识列表。
在另一种方式中,所述第一组播报文还包括第一段标识列表的标识,所述用于处理组播报文的装置还包括:第三接收模块(图7中未示出)。第三接收模块用于接收控制器发送的第二对应关系,所述第二对应关系包括所述第一段标识列表的标识和所述第一段标识列表;所述获取模块702用于基于所述第二节点的组播绑定段标识,利用所述第一段标识列表的标识和所述第二对应关系,获取所述第一段标识列表。
可选地,所述转发模块703用于根据所述第一组播报文和所述第一段标识列表获得第三组播报文,所述第三组播报文包括所述第三节点的组播段标识;基于所述第三节点的组播段标识向所述第三节点转发所述第三组播报文。示例地,所述第三组播报文包括SRH,所述SRH包括所述第三节点的组播段标识。
进一步地,所述转发模块703可以用于:基于所述第一段标识列表获得第三段标识列表,所述第三段标识列表包括所述第三节点的组播段标识;根据所述第一组播报文和所述第三段标识列表,获得所述第三组播报文,所述第三组播报文包括所述第三段标识列表。
图8为本申请实施例提供的另一种用于处理组播报文的装置的框图,该装置例如可以设于前述各实施例中的控制器。如图8所示,所述用于处理组播报文的装置包括:第一确定模块801、第一发送模块802和第二发送模块803。第一确定模块801用于确定所述第一节点和第二节点,所述第二节点与所述第一节点和所述第三节点通信。第一发送模块802用于向所述第二节点发送第一对应关系或第二对应关系,所述第一对应关系包括所述第二节点的组播绑定段标识与第一段标识列表,所述第二对应关系包括所述第一段标识列表的标识与第一段标识列表;第二发送模块803用于向所述第一节点发送所述第二节点的组播绑定段标识。
可选地,控制器还包括:第二确定模块(图8中未示出),第二确定模块用于确定第一节点发往第三节点的组播报文需要经过的节点的数量。第一确定模块801可以在所述数量大于数量阈值时,确定所述第一节点和所述第二节点。
在采用集成的单元时,本申请所提供的设于控制器、第一节点或第二节点的用于处理组播报文的装置可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对该装置的动作进行控制管理,例如,可以用于支持该装置执行上述S101至S104中由控制器、第一节点或第二节点执行的动作。存储模块可以用于支持该装置执行存储程序代码和数据等。通信模块,可以用于该装置与其他设备的通信。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块可以为射频电路、蓝牙芯片、Wi-Fi芯片等与其他设备交互的设备。
在一个实施例中,当处理模块为处理器,存储模块为存储器,通信模块为通信接口时,本实施例所涉及的用于处理组播报文的装置可以为具有图2所示结构的通信设备。在一种实现方式中,本用于处理组播报文的装置中包括的上述各个模块等可以为存储器中存储的计算机程序,并由处理器调用以实现各个模块相应的执行功能。
本申请实施例还提供了一种通信系统,该通信系统包括第一节点、第二节点和第三节点。所述第一节点和所述第三节点均与所述第二节点通信。第一节点用于执行本申请实施例提供的任一种用于处理组播报文的方法中由第一节点执行的操作,第二节点用于执行本申请实施例提供的任一种用于处理组播报文的方法中由第二节点执行的操作。
所述第一节点和所述第二节点为本申请实施例提供的两种通信设备。或者,所述第一节点包括本申请实施例提供的任一种设置于第一节点的用于处理组播报文的装置(如图6所示的装置);所述第二节点包括本申请实施例提供的任一种设置于第二节点的用于处理组播报文的装置(如图7所示的装置)。
可选地,该通信系统还包括控制器,控制器用于执行本申请实施例提供的任一种用于处理组播报文的方法中由控制器执行的操作。该控制器为本申请实施例提供的一种通信设备,或者,该控制器包括本申请实施例提供的任一种设置于控制器中的用于处理组播报文的装置(如图8所示的装置)。
本申请实施例提供了一种计算机存储介质,所述存储介质内存储有计算机程序;所述计算机程序在计算机上运行时,使得计算机执行本申请实施例提供的任一种用于处理组播报文的方法中由第一节点或第二节点执行的方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当计算机程序产品在通信设备上运行时,使得通信设备执行本申请实施例提供的任一种用于处理组播报文的方法中由第一节点或第二节点执行的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机的可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者包含一个或多个可用介质集成的服务器、数据中心等数据存储装置。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质,或者半导体介质(例如固态硬盘)等。
在本申请中,术语“第一”和“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“至少一个”指一个或多个,“多个”指两个或两个以上,除非另有明确的限定。术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例提供的方法实施例和设备实施例等不同类型的实施例均可以相互参考,本申请实施例对此不做限定。本申请实施例提供的方法实施例操作的先后顺序能够进行适当调整,操作也能够根据情况进行相应增减,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
在本申请提供的相应实施例中,应该理解到,所揭露的系统和设备等可以通过其它的构成方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,模块的划分,仅仅为 一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元描述的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个设备上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述,仅为本申请的可选实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (32)

  1. 一种用于处理组播报文的方法,其特征在于,所述方法由第一节点执行,所述方法包括:
    获取第一组播报文,所述第一组播报文包括第二节点的组播绑定段标识,所述第二节点的组播绑定段标识用于指示获取第一段标识列表,所述第一段标识列表用于指示向与所述第二节点通信的第三节点发送所述第一组播报文;
    向所述第二节点发送所述第一组播报文。
  2. 根据权利要求1所述的方法,其特征在于,所述第一组播报文包括目的地址DA字段,所述DA字段包括所述第二节点的组播绑定段标识;
    或者所述第一组播报文包括段路由头SRH,所述SRH包括所述第二节点的组播绑定段标识。
  3. 根据权利要求1或2所述的方法,其特征在于,所述获取第一组播报文包括:
    获取所述第二节点的组播绑定段标识;
    根据所述第二节点的组播绑定段标识生成所述第一组播报文。
  4. 根据权利要求3所述的方法,其特征在于,所述第一组播报文还包括:所述第一节点和所述第二节点之间用于转发所述第一组播报文的节点的组播段标识。
  5. 根据权利要求1或2所述的方法,其特征在于,所述获取第一组播报文包括:
    接收第二组播报文,所述第二组播报文包括所述第一节点的组播段标识和所述第二节点的组播绑定段标识;
    基于所述第二组播报文获得所述第一组播报文,所述第一组播报文为所述第二组播报文包括的所述第一节点的组播段标识被弹出后所获得的组播报文。
  6. 根据权利要求1或2所述的方法,其特征在于,所述获取第一组播报文包括:
    接收第二组播报文,所述第二组播报文包括所述第一节点的组播绑定段标识;
    基于所述第一节点的组播绑定段标识获取第二段标识列表,所述第二段标识列表包括所述第二节点的组播绑定段标识;
    基于所述第二组播报文和所述第二段标识列表,获得所述第一组播报文,所述第一组播报文为所述第二组播报文包括的所述第一节点的组播绑定段标识替换为所述第二节点的组播绑定段标识后所获得的组播报文。
  7. 根据权利要求1所述的方法,其特征在于,所述第一组播报文为比特索引显式复制BIER报文,所述获取第一组播报文包括:
    获取BIER报文,所述BIER报文包括比特串;
    获取所述第二节点的组播绑定段标识,所述第二节点是到达所述比特串对应的位转发出口路由器BFER的支持BIER的下一跳;
    基于所述BIER报文和所述第二节点的组播绑定段标识,获取所述第一组播报文,所述第一组播报文包括的DA字段用于携带所述第二节点的组播绑定段标识。
  8. 根据权利要求3、4或7所述的方法,其特征在于,获取所述第二节点的组播绑定段标识,包括:
    接收控制器发送的所述第二节点的组播绑定段标识。
  9. 根据权利要求1至8任一所述的方法,其特征在于,所述第一组播报文还包括第一段标识列表的标识。
  10. 根据权利要求9所述的方法,其特征在于,所述第一组播报文包括因特网协议第6版IPv6报文头,所述IPv6报文头包括所述第一段标识列表的标识;
    或者所述第一组播报文包括逐跳选项头,所述逐跳选项头包括所述第一段标识列表的标识。
  11. 一种用于处理组播报文的方法,其特征在于,所述方法由第二节点执行,所述方法包括:
    接收第一节点发送的第一组播报文,所述第一组播报文包括所述第二节点的组播绑定段标识;
    基于所述第二节点的组播绑定段标识获取第一段标识列表,所述第一段标识列表用于指示向与所述第二节点通信的第三节点发送所述第一组播报文;
    基于所述第一段标识列表向所述第三节点转发所述第一组播报文。
  12. 根据权利要求11所述的方法,其特征在于,在基于所述第二节点的组播绑定段标识获取第一段标识列表之前,所述方法还包括:接收控制器发送的第一对应关系,所述第一对应关系包括所述第二节点的组播绑定段标识和所述第一段标识列表;
    所述基于所述第二节点的组播绑定段标识获取第一段标识列表包括:根据所述第二节点的组播绑定段标识以及所述第一对应关系,获取所述第一段标识列表。
  13. 根据权利要求11所述的方法,其特征在于,所述第一组播报文还包括第一段标识列表的标识,在基于所述第二节点的组播绑定段标识获取第一段标识列表之前,所述方法还包括:接收控制器发送的第二对应关系,所述第二对应关系包括所述第一段标识列表的标识和所述第一段标识列表;
    所述基于所述第二节点的组播绑定段标识获取第一段标识列表包括:基于所述第二节点的组播绑定段标识,利用所述第一段标识列表的标识和所述第二对应关系,获取所述第一段标识列表。
  14. 根据权利要求11至13任一所述的方法,其特征在于,所述基于所述第一段标识列表向所述第三节点转发所述第一组播报文包括:
    根据所述第一组播报文和所述第一段标识列表获得第三组播报文,所述第三组播报文包括所述第三节点的组播段标识;
    基于所述第三节点的组播段标识向所述第三节点转发所述第三组播报文。
  15. 根据权利要求14所述的方法,其特征在于,所述第三组播报文包括段路由头SRH,所述SRH包括所述第三节点的组播段标识。
  16. 根据权利要求14或15所述的方法,其特征在于,所述根据所述第一组播报文和所述第一段标识列表获得第三组播报文包括:
    基于所述第一段标识列表获得第三段标识列表,所述第三段标识列表包括所述第三节点的组播段标识;
    根据所述第一组播报文和所述第三段标识列表,获得所述第三组播报文,所述第三组播报文包括所述第三段标识列表。
  17. 一种用于处理组播报文的装置,其特征在于,所述装置设置于第一节点,所述装置包 括:
    获取模块,用于获取第一组播报文,所述第一组播报文包括第二节点的组播绑定段标识,所述第二节点的组播绑定段标识用于指示获取第一段标识列表,所述第一段标识列表用于指示向与所述第二节点通信的第三节点发送所述第一组播报文;
    发送模块,用于向所述第二节点发送所述第一组播报文。
  18. 根据权利要求17所述的装置,其特征在于,所述第一组播报文包括目的地址DA字段,所述DA字段包括所述第二节点的组播绑定段标识;
    或者所述第一组播报文包括段路由头SRH,所述SRH包括所述第二节点的组播绑定段标识。
  19. 根据权利要求17或18所述的装置,其特征在于,所述获取模块用于:
    获取所述第二节点的组播绑定段标识;
    根据所述第二节点的组播绑定段标识生成所述第一组播报文。
  20. 根据权利要求19所述的装置,其特征在于,所述第一组播报文还包括:所述第一节点和所述第二节点之间用于转发所述第一组播报文的节点的组播段标识。
  21. 根据权利要求17或18所述的装置,其特征在于,所述获取模块用于:
    接收第二组播报文,所述第二组播报文包括所述第一节点的组播段标识和所述第二节点的组播绑定段标识;
    基于所述第二组播报文获得所述第一组播报文,所述第一组播报文为所述第二组播报文包括的所述第一节点的组播段标识被弹出后所获得的组播报文。
  22. 根据权利要求17或18所述的装置,其特征在于,所述获取模块用于:
    接收第二组播报文,所述第二组播报文包括所述第一节点的组播绑定段标识;
    基于所述第一节点的组播绑定段标识获取第二段标识列表,所述第二段标识列表包括所述第二节点的组播绑定段标识;
    基于所述第二组播报文和所述第二段标识列表,获得所述第一组播报文,所述第一组播报文为所述第二组播报文包括的所述第一节点的组播绑定段标识替换为所述第二节点的组播绑定段标识后所获得的组播报文。
  23. 根据权利要求17所述的装置,其特征在于,所述第一组播报文为比特索引显式复制BIER报文,所述获取模块用于:
    获取BIER报文,所述BIER报文包括比特串;
    获取所述第二节点的组播绑定段标识,所述第二节点是到达所述比特串对应的位转发出口路由器BFER的支持BIER的下一跳;
    基于所述BIER报文和所述第二节点的组播绑定段标识,获取所述第一组播报文,所述第一组播报文包括的DA字段用于携带所述第二节点的组播绑定段标识。
  24. 根据权利要求20、21或23所述的装置,其特征在于,所述获取模块用于接收控制器发送的所述第二节点的组播绑定段标识。
  25. 根据权利要求17至24任一所述的装置,其特征在于,所述第一组播报文还包括第一段标识列表的标识。
  26. 根据权利要求25所述的装置,其特征在于,所述第一组播报文包括第6版因特网协议IPv6报文头,所述IPv6报文头包括所述第一段标识列表的标识;
    或者所述第一组播报文包括逐跳选项头,所述逐跳选项头包括所述第一段标识列表的标识。
  27. 一种用于处理组播报文的装置,其特征在于,所述装置设于第二节点,所述装置包括:
    第一接收模块,用于接收第一节点发送的第一组播报文,所述第一组播报文包括所述第二节点的组播绑定段标识;
    获取模块,用于基于所述第二节点的组播绑定段标识获取第一段标识列表,所述第一段标识列表用于指示向与所述第二节点通信的第三节点发送所述第一组播报文;
    转发模块,用于基于所述第一段标识列表向所述第三节点转发所述第一组播报文。
  28. 根据权利要求27所述的装置,其特征在于,所述装置还包括:
    第二接收模块,用于接收控制器发送的第一对应关系,所述第一对应关系包括所述第二节点的组播绑定段标识和所述第一段标识列表;
    所述获取模块用于根据所述第二节点的组播绑定段标识以及所述第一对应关系,获取所述第一段标识列表。
  29. 根据权利要求27所述的装置,其特征在于,所述第一组播报文还包括第一段标识列表的标识,所述装置还包括:
    第三接收模块,用于接收控制器发送的第二对应关系,所述第二对应关系包括所述第一段标识列表的标识和所述第一段标识列表;
    所述获取模块用于基于所述第二节点的组播绑定段标识,利用所述第一段标识列表的标识和所述第二对应关系,获取所述第一段标识列表。
  30. 根据权利要求27至29任一所述的装置,其特征在于,所述转发模块用于:
    根据所述第一组播报文和所述第一段标识列表获得第三组播报文,所述第三组播报文包括所述第三节点的组播段标识;
    基于所述第三节点的组播段标识向所述第三节点转发所述第三组播报文。
  31. 根据权利要求30所述的装置,其特征在于,所述第三组播报文包括段路由头SRH,所述SRH包括所述第三节点的组播段标识。
  32. 根据权利要求30或31所述的装置,其特征在于,所述转发模块用于:
    基于所述第一段标识列表获得第三段标识列表,所述第三段标识列表包括所述第三节点的组播段标识;
    根据所述第一组播报文和所述第三段标识列表,获得所述第三组播报文,所述第三组播报文包括所述第三段标识列表。
PCT/CN2022/077501 2021-06-23 2022-02-23 用于处理组播报文的方法及装置 WO2022267500A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110699462.7A CN115589381A (zh) 2021-06-23 2021-06-23 用于处理组播报文的方法及装置
CN202110699462.7 2021-06-23

Publications (1)

Publication Number Publication Date
WO2022267500A1 true WO2022267500A1 (zh) 2022-12-29

Family

ID=84545050

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/077501 WO2022267500A1 (zh) 2021-06-23 2022-02-23 用于处理组播报文的方法及装置

Country Status (2)

Country Link
CN (1) CN115589381A (zh)
WO (1) WO2022267500A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050083936A1 (en) * 2000-04-25 2005-04-21 Cisco Technology, Inc., A California Corporation Apparatus and method for scalable and dynamic traffic engineering in a data communication network
CN105900380A (zh) * 2014-01-20 2016-08-24 华为技术有限公司 基于协同网络控制器的多域源路由转发
WO2021000848A1 (zh) * 2019-07-01 2021-01-07 华为技术有限公司 一种报文转发方法、报文处理方法及装置
CN112714034A (zh) * 2019-10-26 2021-04-27 华为技术有限公司 组播报文的处理方法和设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050083936A1 (en) * 2000-04-25 2005-04-21 Cisco Technology, Inc., A California Corporation Apparatus and method for scalable and dynamic traffic engineering in a data communication network
CN105900380A (zh) * 2014-01-20 2016-08-24 华为技术有限公司 基于协同网络控制器的多域源路由转发
WO2021000848A1 (zh) * 2019-07-01 2021-01-07 华为技术有限公司 一种报文转发方法、报文处理方法及装置
CN112714034A (zh) * 2019-10-26 2021-04-27 华为技术有限公司 组播报文的处理方法和设备

Also Published As

Publication number Publication date
CN115589381A (zh) 2023-01-10

Similar Documents

Publication Publication Date Title
US10122614B2 (en) Failure protection for traffic-engineered bit indexed explicit replication
JP2021530912A (ja) ネットワークスライス制御方法及び装置、コンピュータ読み取り可能な記憶媒体
CN1822570B (zh) 在基于以太网的网络中进行的伪线路对等体地址的自动发现方法
WO2018205982A1 (zh) 软件定义网络中广播、组播实现方法、装置及存储介质
CN108964940B (zh) 消息发送方法及装置、存储介质
US20080101363A1 (en) Method, system and apparatus for supporting ssm forwarding in ethernet
US9548917B2 (en) Efficient multicast delivery to dually connected (VPC) hosts in overlay networks
CN110661712B (zh) 在网络域上支持多播
US9008118B2 (en) Multicast data delivery over mixed multicast and non-multicast networks
WO2018068588A1 (zh) 提供组播业务的方法和软件定义网络控制器
CN102571375B (zh) 组播转发方法、装置及网络设备
CN108632678A (zh) 一种数据传输方法、装置及系统
WO2020098597A1 (zh) 一种组播的方法及路由设备
WO2022117018A1 (zh) 报文传输的方法和装置
US20080186967A1 (en) Method for supporting source-specific multicast forwarding over ethernet and device thereof
WO2022134674A1 (zh) 报文传输的方法、装置、设备、存储介质及系统
CN101009669B (zh) 一种传输组播消息的方法和系统以及路由设备
WO2024001701A1 (zh) 数据处理方法、装置及系统
WO2022267500A1 (zh) 用于处理组播报文的方法及装置
WO2023029627A1 (zh) 报文转发方法、装置、设备及存储介质
CN102857352B (zh) 基于叠加网的组播、广播方法及系统
WO2022007749A1 (zh) 一种数据传输方法和装置
CN116094987A (zh) 转发路径的确定方法及装置
CN114079583A (zh) 发送组播报文的方法、获取转发表项的方法及装置
CN115118544B (zh) 通信方法及设备、通信系统

Legal Events

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

Ref document number: 22827009

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22827009

Country of ref document: EP

Kind code of ref document: A1