CN114006780A - Method, equipment and system for forwarding message - Google Patents

Method, equipment and system for forwarding message Download PDF

Info

Publication number
CN114006780A
CN114006780A CN202010939135.XA CN202010939135A CN114006780A CN 114006780 A CN114006780 A CN 114006780A CN 202010939135 A CN202010939135 A CN 202010939135A CN 114006780 A CN114006780 A CN 114006780A
Authority
CN
China
Prior art keywords
multicast
message
packet
network device
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010939135.XA
Other languages
Chinese (zh)
Inventor
谢经荣
段方红
耿雪松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to PCT/CN2021/082060 priority Critical patent/WO2022012073A1/en
Priority to EP21841577.6A priority patent/EP4170972A4/en
Publication of CN114006780A publication Critical patent/CN114006780A/en
Priority to US18/154,399 priority patent/US20230171184A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Abstract

The application provides a method, equipment and a system for forwarding a message, wherein the method comprises the following steps: the method comprises the steps that first network equipment obtains a first message, wherein the first message comprises a multicast message; the first network equipment determines a next hop destination address DA of the multicast message according to a source address SA and a first corresponding relation, wherein the SA is used for identifying a multicast path corresponding to the multicast message, and the first corresponding relation comprises the SA and the next hop DA of the first network equipment on the multicast path; the first network equipment obtains a second message according to the next hop DA, wherein the second message is a unicast message obtained by carrying out IPv6 packaging on the multicast message; and the first network equipment forwards the second message along the multicast path according to the next hop DA. The technical scheme provided by the application can reduce the waste of the address space.

Description

Method, equipment and system for forwarding message
The present application claims priority of chinese patent application entitled "a multicast forwarding method, apparatus and system" filed by chinese patent office on 14/7/2020, application number 202010671831.7, which is incorporated herein by reference in its entirety.
Technical Field
The present application relates to the field of network communications, and in particular, to a method, device, and system for forwarding a packet.
Background
Multicast (multicast) is a data transmission method for transmitting data to a plurality of receivers on a Transmission Control Protocol (TCP)/Internet Protocol (IP) network in an efficient manner at the same time by using one multicast address. The multicast source sends a multicast stream to the multicast group members in the multicast group through the link in the network, and the multicast group members in the multicast group can all receive the multicast stream. The multicast transmission mode realizes point-to-multipoint data connection between a multicast source and multicast group members. Since the multicast stream only needs to be delivered once per network link, and the multicast is replicated only when a branch occurs on the link. Therefore, the multicast transmission mode improves the data transmission efficiency and reduces the possibility of congestion of the backbone network.
The IP multicast technology uses a multicast group address as a destination address of a packet, and establishes a multicast forwarding tree using a Protocol Independent Multicast (PIM) signaling. And the multicast forwarding tree is utilized to logically tree the network plane so as to realize the multicast point-to-multipoint data forwarding. The IP multicast technology for constructing the multicast forwarding tree can realize the high-efficiency data transmission of point to multipoint in the IP network, and can effectively save the network bandwidth and reduce the network load.
In the related technical scheme, each device in the network needs to reserve a plurality of addresses for a plurality of multicast trees, and different addresses are used for distinguishing different multicast trees, so that a large waste of address space exists.
Disclosure of Invention
The application provides a method, equipment and a system for forwarding a message, which can reduce the waste of an address space.
In a first aspect, a method for forwarding a packet is provided, including: a first network device acquires a first message, wherein the first message comprises a multicast message; the first network device determines a next hop destination address DA of the multicast message according to a source address SA and a first corresponding relationship, wherein the SA is used for identifying a multicast path corresponding to the multicast message, and the first corresponding relationship comprises the SA and the next hop DA of the first network device on the multicast path; the first network equipment obtains a second message according to the next hop DA, wherein the second message is a unicast message obtained by carrying out IPv6 packaging on the multicast message; and the first network equipment forwards the second message along the multicast path according to the next hop DA.
In the above technical solution, only the root node (the ingress device) is required to reserve a plurality of corresponding addresses for a plurality of multicast trees, and the other devices are not required to reserve a plurality of corresponding addresses for a plurality of multicast trees, so that when the ingress device is used as the root node to establish a plurality of multicast trees, waste of IPv6 address space can be reduced.
In a possible implementation manner, before the first network device determines the next-hop destination address DA according to the source address SA and the first correspondence, the method further includes: the first network device determines the SA.
In another possible implementation manner, the first network device is an ingress device, the first packet is the multicast packet, and the first network device determines the multicast path corresponding to the multicast packet; and the first network equipment determines the SA according to the multicast path and the corresponding relation between the multicast path and the SA.
In another possible implementation manner, the first network device is an intermediate device or an egress device, the first packet is a unicast packet obtained by IPv6 encapsulating the multicast packet, and the first network device determines whether a DA of the first packet is an address of the first network device; and if the DA of the first message is the IPv6 address of the first network device, the first network device reads the SA of the first message according to the DA of the first message.
In another possible implementation manner, the method further includes: the first network equipment receives configuration information from control equipment, wherein the configuration information comprises the SA and a multicast path corresponding to the multicast message; and the first network equipment establishes the first corresponding relation according to the configuration information.
In another possible implementation manner, the multicast path includes an IPv6 version of internet protocol of a next-hop device of the first network device, and the first network device sends the second packet to the next-hop device according to the IPv6 address of the next-hop device as the next-hop DA.
In another possible implementation manner, the multicast path indicates to decapsulate the packet, and the method further includes: the first network equipment decapsulates the second message to obtain the multicast message; and the first network equipment forwards the multicast message.
In another possible implementation, the SA is an IPv6 address.
In a second aspect, a first network device is provided, which includes:
a receiving module, configured to obtain a first packet, where the first packet includes a multicast packet;
a processing module, configured to determine a next hop destination address DA of the multicast packet according to a source address SA and a first correspondence relationship, where the SA is used to identify a multicast path corresponding to the multicast packet, and the first correspondence relationship includes the SA and the next hop DA of the first network device on the multicast path;
the processing module is further configured to obtain a second packet according to the next hop DA, where the second packet is a unicast packet obtained by IPv6 encapsulating the multicast packet;
and the sending module is used for forwarding the second message along the multicast path according to the next hop DA.
In one possible implementation, the processing module is further configured to: and determining the SA.
In another possible implementation manner, the first network device is an ingress device, the first packet is the multicast packet, and the processing module is further configured to: determining the multicast path corresponding to the multicast message; and determining the SA according to the multicast path and the corresponding relation between the multicast path and the SA.
In another possible implementation manner, the first network device is an intermediate device or an egress device, the first packet is a unicast packet obtained by IPv6 encapsulating the multicast packet, and the processing module is specifically configured to: determining whether the DA of the first message is the IPv6 address of the first network device; and if the DA of the first message is the IPv6 address of the first network device, reading the SA of the first message according to the DA of the first message. .
In another possible implementation manner, the receiving module is further configured to receive configuration information from a control device, where the configuration information includes the SA and a multicast path corresponding to the multicast packet; the processing module is further configured to establish the first corresponding relationship according to the configuration information.
In another possible implementation manner, the multicast path includes an internet protocol version 6 IPv6 address of a next-hop device of the first network device, and the sending module is specifically configured to: and sending the second message to the next-hop device according to the fact that the next-hop DA is the IPv6 address of the next-hop device.
In another possible implementation manner, the multicast path indicates to decapsulate a packet, and the processing module is further configured to decapsulate the second packet to obtain the multicast packet; the sending module is further configured to forward the multicast packet.
In another possible implementation, the SA is an IPv6 address.
The beneficial effects of the second aspect and any one of the possible implementation manners of the second aspect correspond to the beneficial effects of the first aspect and any one of the possible implementation manners of the first aspect, and therefore, the detailed description is omitted here.
In a third aspect, a first network device is provided, where the first network device has a function of implementing the behavior of the first network device in the foregoing method. The functions can be realized based on hardware, and corresponding software can be executed based on hardware. The hardware or software includes one or more modules corresponding to the above-described functions.
In one possible design, the first network device includes a processor and an interface in a structure, and the processor is configured to support the first network device to perform corresponding functions in the above method. The interface is used for supporting the first network equipment to obtain the first message.
The first network device may also include a memory, coupled to the processor, that retains program instructions and data necessary for the first network device.
In another possible design, the first network device includes: a processor, a transmitter, a receiver, a random access memory, a read only memory, and a bus. The processor is coupled to the transmitter, the receiver, the random access memory and the read only memory through the bus respectively. When the first network equipment needs to be operated, the first network equipment is guided to enter a normal operation state by starting a basic input/output system solidified in a read-only memory or a bootloader guiding system in an embedded system. After the first network device enters the normal operation state, the application program and the operating system are executed in the random access memory, so that the processor executes the method of the first aspect or any possible implementation manner of the first aspect.
In a fourth aspect, a first network device is provided, the first network device comprising: the main control board and the interface board, further, can also include the exchange network board. The first network device is configured to perform the first aspect or the method in any possible implementation manner of the first aspect. In particular, the first network device comprises means for performing the method of the first aspect or any possible implementation manner of the first aspect.
In a fifth aspect, a first network device is provided that includes a control module and a first forwarding sub-device. The first forwarding sub-apparatus comprises: the interface board further can also comprise a switching network board. The first forwarding sub-device is configured to execute the function of the interface board in the fourth aspect, and further, may also execute the function of the switching network board in the fourth aspect. The control module comprises a receiver, a processor, a transmitter, a random access memory, a read-only memory and a bus. The processor is coupled to the receiver, the transmitter, the random access memory and the read only memory through the bus respectively. When the control module needs to be operated, the control module is guided to enter a normal operation state by starting a basic input/output system solidified in a read-only memory or a bootloader guiding system in an embedded system. After the control module enters a normal operation state, the application program and the operating system are operated in the random access memory, so that the processor executes the functions of the main control board in the sixth aspect.
It will be appreciated that in actual practice, the first network device may contain any number of interfaces, processors, or memories.
In a sixth aspect, there is provided a computer program product comprising: computer program code for causing a computer to perform the method of the first aspect or any one of the possible implementations of the first aspect, when the computer program code runs on a computer.
In a seventh aspect, a computer-readable medium is provided, which stores program code, which, when run on a computer, causes the computer to perform the above-mentioned first aspect or any one of the possible methods of the first aspect. These computer-readable memories include, but are not limited to, one or more of the following: read-only memory (ROM), Programmable ROM (PROM), Erasable PROM (EPROM), Flash memory, Electrically EPROM (EEPROM), and hard drive (hard drive).
In an eighth aspect, a chip is provided, where the chip includes a processor and a data interface, where the processor reads instructions stored in a memory through the data interface to perform the method of the first aspect or any one of the possible implementation manners of the first aspect. In a specific implementation process, the chip may be implemented in the form of a Central Processing Unit (CPU), a Micro Controller Unit (MCU), a Micro Processing Unit (MPU), a Digital Signal Processor (DSP), a system on chip (SoC), an application-specific integrated circuit (ASIC), a Field Programmable Gate Array (FPGA), or a Programmable Logic Device (PLD).
In a ninth aspect, a system for forwarding a packet is provided, where the system includes the first network device.
Drawings
Fig. 1 is a scene schematic diagram provided in an embodiment of the present application.
Fig. 2 is a schematic flow chart of a method for forwarding a packet according to an embodiment of the present application.
Fig. 3 is a schematic flow chart of another message forwarding method provided in the embodiment of the present application.
Fig. 4 is a schematic structural diagram of a first network device 400 according to an embodiment of the present application.
Fig. 5 is a schematic hardware structure diagram of the first network device 2000 according to an embodiment of the present application.
Fig. 6 is a schematic hardware structure diagram of another first network device 2100 according to an embodiment of the present application.
Detailed Description
The technical solution in the present application will be described below with reference to the accompanying drawings.
This application is intended to present various aspects, embodiments or features around a system comprising a number of devices, components, modules, and the like. It is to be understood and appreciated that the various systems may include additional devices, components, modules, etc. and/or may not include all of the devices, components, modules etc. discussed in connection with the figures. Furthermore, a combination of these schemes may also be used.
In addition, in the embodiments of the present application, words such as "exemplary", "for example", etc. are used to mean serving as examples, illustrations or explanations. Any embodiment or design described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments or designs. Rather, the term using examples is intended to present concepts in a concrete fashion.
In the embodiments of the present application, "corresponding" and "corresponding" may be sometimes used in a mixed manner, and it should be noted that the intended meaning is consistent when the difference is not emphasized.
The network architecture and the service scenario described in the embodiment of the present application are for more clearly illustrating the technical solution of the embodiment of the present application, and do not form a limitation on the technical solution provided in the embodiment of the present application, and it can be known by a person skilled in the art that the technical solution provided in the embodiment of the present application is also applicable to similar technical problems along with the evolution of the network architecture and the appearance of a new service scenario.
Reference throughout this specification to "one embodiment" or "some embodiments," or the like, means that a particular feature, structure, or characteristic described in connection with the embodiment is included in one or more embodiments of the present application. Thus, appearances of the phrases "in one embodiment," "in some embodiments," "in other embodiments," or the like, in various places throughout this specification are not necessarily all referring to the same embodiment, but rather "one or more but not all embodiments" unless specifically stated otherwise. The terms "comprising," "including," "having," and variations thereof mean "including, but not limited to," unless expressly specified otherwise.
In the present application, "at least one" means one or more, "a plurality" means two or more. "and/or" describes the association relationship of the associated objects, meaning that there may be three relationships, e.g., a and/or B, which may mean: including the presence of a alone, a and B together, and B alone, where a, B may be singular or plural. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship. "at least one of the following" or similar expressions refer to any combination of these items, including any combination of the singular or plural items. For example, at least one (one) of a, b, or c, may represent: a, b, c, a-b, a-c, b-c, or a-b-c, wherein a, b, c may be single or multiple.
Multicast (multicast) is a data transmission method for transmitting data to a plurality of receivers on a Transmission Control Protocol (TCP)/Internet Protocol (IP) network in an efficient manner at the same time by using one multicast address. The multicast source sends a multicast stream to the multicast group members in the multicast group through the link in the network, and the multicast group members in the multicast group can all receive the multicast stream. The multicast transmission mode realizes point-to-multipoint data connection between a multicast source and multicast group members. Since the multicast stream only needs to be delivered once per network link, and the multicast is replicated only when a branch occurs on the link. Therefore, the multicast transmission mode improves the data transmission efficiency and reduces the possibility of congestion of the backbone network.
The IP multicast technology uses a multicast group address as a destination address of a packet, and establishes a multicast forwarding tree using a Protocol Independent Multicast (PIM) signaling. And the multicast forwarding tree is utilized to logically tree the network plane so as to realize the multicast point-to-multipoint data forwarding. The IP multicast technology for constructing the multicast forwarding tree can realize the high-efficiency data transmission of point to multipoint in the IP network, and can effectively save the network bandwidth and reduce the network load. Therefore, the method and the device have wide application in real-time data transmission, multimedia conferences, data copying, Internet Protocol Television (IPTV), games, simulation and other aspects.
In a related technical solution, the IP multicast technology is implemented by using an internet protocol version 6 (IPv 6) unicast address as a destination address of a packet. Establishing a point-to-multipoint (P2 MP) forwarding path between an ingress router and a plurality of egress routers, and forwarding the multicast packet along the P2MP forwarding path. As an example, the P2MP forwarding path may be used as a tunnel, the ingress router encapsulates the multicast packet in the tunnel, and the egress router de-encapsulates, restores and sends the multicast packet.
Take the scenario shown in fig. 1 as an example. The segment routing replication (SR-replication) field in fig. 1 may include: r1, R3, R5, R6, R7 and R8. The R1 is an entry (ingress) device of the segment routing replication domain, and is responsible for IPv6 encapsulation of the multicast packet, specifically, an IPv6 header may be encapsulated in an outer layer of the multicast packet, and the IPv6 header may include a Destination Address (DA) field and a Source Address (SA) field. R3 and R5 are intermediate (transit) devices in the segment routing replication domain, and are responsible for forwarding the packet according to a Destination Address (DA) in an IPv6 header encapsulated by an outer layer of the multicast packet. R6, R7, and R8 are exit (egress) devices of the segment routing copy domain, and are responsible for decapsulating the encapsulated multicast packet and forwarding the inner-layer multicast packet.
When it is necessary to establish a plurality of multicast trees (which may also be referred to as P2MP trees) using R1 as a root node, in the above related technical solution, each node (R1, R3, R5, R6, R7, R8) in the segment routing replication domain shown in fig. 1 needs to reserve a plurality of addresses in each IPv6 address space, so as to achieve the purpose of establishing a plurality of multicast trees using R1 as a root node.
The multicast tree indicated by the solid line shown in fig. 1 is taken as an example. The information of the multicast tree identified by the solid line issued by the controller is shown in table 1 below.
Table 1 information of multicast tree identified by solid line
Figure BDA0002673028200000061
Here, the multicast tree indicated by a solid line has a duplicate ID (duplicate ID) of 1. The branch information for a device may be one or more devices downstream of P2MP for the device. It should be understood that if the device is a leaf (leaf) device of P2MP, the packet is usually decapsulated on the device and then forwarded to the inner multicast packet. Thus, such a leaf device may have no downstream devices, and its corresponding branch information may be represented using decapsulation (decapsulation).
The correspondence relationship generated by each device in fig. 1 according to the information of the multicast tree identified by the solid line issued by the controller is shown in table 2 below.
Table 2 correspondence of multicast trees identified by solid lines
Figure BDA0002673028200000062
The Destination Address (DA) R1_1 in the table is determined according to the node identifier (node ID) of R1 and the RepID of 1, and when applied to the IPv6 data plane, R1_1 is an IPv6 address. Other addresses are determined in the same manner as the destination address R1_1, and are not described herein again.
Take the multicast tree indicated by the dotted line shown in fig. 1 as an example. The information of the P2MP tree identified by the dotted line issued by the controller is shown in table 3 below.
Table 3 multicast tree information identified by dotted lines
Figure BDA0002673028200000063
Here, the replication ID (duplicate) 2 is a multicast tree indicated by a dotted line.
The correspondence relationship generated by each device in fig. 1 according to the information of the multicast tree identified by the dotted line issued by the controller is shown in table 4 below.
Table 4 correspondence of multicast tree identified by dotted line
Figure BDA0002673028200000071
Taking R1 as an example, if the destination address in the outer IPv6 header of the obtained message is R1_1, the forwarding plane further searches the forwarding table of DA — R1_1, finds the table entry of P2MP as described above, and knows that the message is to be "copied" to R3_1, so that the forwarding plane changes the destination address of the message to R3_1 again and sends the destination address to R3. The message is then sent to and decapsulated by the leaf nodes along the P2MP tree identified by the solid line.
If the destination address in the outer IPv6 header of the obtained message is R1_2, the forwarding plane further searches the forwarding table of DA — R1_2, and finds the table entry of P2MP as described above, and knows that the message is to be "copied" to R3_2, so that the forwarding plane changes the destination address of the message to R3_2 again and sends the destination address to R3. The message is then sent to and decapsulated by the leaf nodes along the P2MP tree identified by the dashed line.
That is, in the above related technical solution, each device in the network reserves a plurality of addresses for a plurality of multicast trees, and different addresses are used for distinguishing different multicast trees. For example, if 2 multicast trees are established with R1 as the root node, taking R5 as an example, R5 reserves 2 addresses, which are R5_1 and R5_2, respectively, where R5_1 represents the multicast tree identified by the solid line with R1 as the root node, and R5_2 represents the multicast tree identified by the dotted line with R1 as the root node.
If there are 100 devices in the network, 1000 multicast trees are established with R1 as the root node. Under the above related technical solutions, each device needs to reserve 1000 addresses in the respective IPv6 address space, and needs to reserve 100 × 1000 addresses in total, which results in a large waste of address space.
In view of this, the embodiment of the present application provides a method for forwarding a packet, which only needs the root node R1 to reserve a plurality of corresponding addresses for a plurality of multicast trees, and the other devices do not need to reserve a plurality of corresponding addresses for a plurality of multicast trees, so that when a plurality of multicast trees are established with the root node R1, waste of IPv6 address space can be reduced.
A detailed description is given below of a method for forwarding a packet according to an embodiment of the present application, with reference to fig. 2.
Fig. 2 is a schematic flow chart of a method for forwarding a packet according to an embodiment of the present application. As shown in FIG. 2, the method may include steps 210 and 230, and the steps 210 and 230 are described in detail below.
Step 210: the first network equipment acquires a first message, wherein the first message comprises a multicast message.
The first network device may be an ingress device, or may also be an intermediate forwarding device, or may also be an egress device, which is not specifically limited in this application.
Taking the first network device as an ingress device (ingress), the first packet acquired by the first network device may be a multicast packet.
Taking the first network device as an intermediate forwarding device or an egress (egress) device as an example, the first message acquired by the first network device may be an IPv6 message, the IPv6 message is a message obtained by performing IPv6 encapsulation on a multicast message, and the IPv6 message is a unicast message.
Step 220: the first network device determines a Destination Address (DA) of a next hop of the multicast packet according to the Source Address (SA) and the first correspondence.
In this embodiment, the SA may be configured to identify a multicast path corresponding to the multicast packet. That is, different SAs may correspond to different multicast paths, and different multicast paths may be distinguished by different SAs.
It should be understood that the multicast path refers to an entire forwarding path from an ingress node to an egress node of the multicast packet, and the egress node may be one or multiple, which is not specifically limited in this application. By way of example, when there are multiple egress nodes of a multicast packet, the multicast path may also be referred to as a point-to-multipoint path, where a point represents an ingress node of the multicast packet and a multipoint may represent multiple egress nodes of the multicast packet.
Optionally, before step 220, the first network device may also determine the SA. Specific implementation manners are various, and this application is not particularly limited to this, and the following describes possible implementation manners in detail.
In a possible implementation manner, taking the first network device may be an ingress device as an example, after receiving the multicast packet, the first network device may determine a multicast path to which the multicast packet is forwarded according to multicast stream information of the multicast packet, and then determine an SA of the multicast packet according to a correspondence between the multicast path and the SA. The first network device encapsulates the SA in an IPv6 header of the multicast message outer layer to obtain an encapsulated IPv6 message.
In another possible implementation manner, taking the first network device as an intermediate forwarding device or an egress (egress) device as an example, the first network device receives an IPv6 message (first message), where the first message includes an outer IPv6 header and a multicast message, and the outer IPv6 header of the first message includes SA and DA. If the DA of the first packet outer IPv6 header is the address (e.g., IPv6 address) of the first network device, the first network device determines, according to the DA of the first packet outer IPv6 header, that the SA of the first packet outer IPv6 header needs to be read. The first network device may search a first corresponding relationship according to the read SA of the first packet outer IPv6 header and determine a next hop DA of the multicast packet, where the first corresponding relationship includes the SA and the next hop DA of the first network device on the multicast path.
It is to be understood that the next hop DA in the first correspondence is a list of DA's (list) comprising one or more next hop DA's. That is, the first corresponding relationship includes the SA and one or more next hops DA of the first network device on the multicast path.
It should be further understood that, in the embodiment of the present application, the next hop DA of the multicast packet determined according to the SA and the first corresponding relationship is all the next hops DA of the list.
It should be noted that the next hop DA of the multicast packet is an address of a next hop device of the first network device, for example, an IPv6 address of the next hop device. The next hop device is a device supporting multicast message forwarding based on a unicast destination address of the IPv6 message. The next-hop device may be a device directly connected to the first network device, or may be a device indirectly connected to the first network device through another node in the network, which is not specifically limited in this application.
Taking the scenario shown in fig. 1 as an example, R1 is a first network device, R3 is a next hop device of the first network device, and R3 may forward a multicast packet based on a unicast destination address of an IPv6 packet. If there is a device R13 (not shown in fig. 1) between R1 and R3 that does not perform multicast packet forwarding based on the unicast destination address of the IPv6 packet, in a possible case, R13 is a device that does not support multicast forwarding based on the unicast address as described above, and therefore such a device is to be traversed (or skipped) when generating a corresponding forwarding table. In another possible case, R13 is a device that supports multicast forwarding based on a unicast address as described above, but traverses (or is called skips) such a device to improve forwarding performance when generating a corresponding forwarding table, which is not specifically limited in this application. For R13, the next hop DA of the received message is not itself, so the message is transparently transmitted, and the message is forwarded to the next hop device of the first network device according to the next hop DA in the message.
Optionally, before step 220, the first network device may also establish the first corresponding relationship. As an example, the first network device may receive configuration information from the control device, where the configuration information includes the SA and a multicast path corresponding to the multicast packet. And the first network equipment establishes the first corresponding relation according to the configuration information.
It should be noted that the control device may be an independent device, for example, an independent controller, or may be a control function (for example, a control plane of a certain forwarding device) executed by a certain forwarding device that forwards a packet, which is not limited in this application.
The first corresponding relationship may have a variety of forms, and in a possible implementation manner, the first corresponding relationship includes an SA that identifies a multicast path and the multicast path. The multicast path includes a list of next hop devices to which the first network device forwards along the multicast path, where the list includes IP addresses of one or more next hop devices. For example, the multicast path is branch information of the multicast tree, which is used to instruct to copy the packet to one or more next-hop devices in the list. In another possible implementation manner, the first corresponding relationship includes an SA that identifies a multicast path, a list of next-hop devices that the first network device forwards along the multicast path, and indication information, where the indication information is used to indicate that a packet is copied to one or more next-hop devices in the list.
Optionally, in some embodiments, when the first network device is an Egress node, the list does not include an IP address of a next-hop device, and the branch information of the multicast tree or the indication information in the table indicates to decapsulate the packet.
Optionally, in some embodiments, when the first network device is an Egress node and also serves as a Transit node of another node, the branch list includes both an IP address of a next-hop device and indication information indicating decapsulation of the packet.
The next hop DA of the multicast packet determined by the first network device according to the source address SA and the first correspondence may be an IPv6 address of a next hop device that the first network device forwards along the multicast path.
Step 230: and the first network equipment acquires the second message according to the next hop DA.
Taking the first network device as an ingress device (for example), the first message acquired by the first network device is a multicast message, and after the first network device acquires the next hop DA of the multicast message (the address of the next hop device of the first network device) through step 220, the next hop DA may be encapsulated in the IPv6 header on the outer layer of the multicast message, so as to obtain a second message, where the second message is a unicast message obtained by performing IPv6 encapsulation on the multicast message.
Taking the first network device as an intermediate forwarding device or an egress (egress) device as an example, the first message acquired by the first network device is an IPv6 message, where an outer IPv6 header of the first message includes SA and DA. After the first network device obtains the next hop DA of the multicast packet (the address of the next hop device of the first network device) in step 220, the first network device may determine the DA in the received first packet outer IPv6 header as the next hop DA of the multicast packet, so as to obtain the second packet.
For a detailed description about the next hop DA and the address of the next hop device of the first network device, please refer to the description in step 220, which is not described herein again.
Step 240: and the first network equipment forwards the second message along the multicast path according to the next hop DA.
And the first network equipment forwards the second message along the determined multicast path according to the next hop DA. For example, the multicast path includes an IPv6 address of the next-hop device of the first network device, and the first network device sends the second packet to the next-hop device of the first network device according to the IPv6 address of the next-hop device, where the next-hop DA is the next-hop device.
Optionally, if the first network device is an egress (egress) device, the multicast path instructs the first network device to decapsulate the packet. And the first network equipment decapsulates the second message according to the multicast path to obtain the multicast message and forwards the multicast message.
In the technical scheme, a plurality of corresponding IPv6 addresses are reserved for a plurality of multicast trees only by the root node of the multicast tree, and multicast forwarding under the multicast trees can be realized only by configuring one IPv6 address as a destination address by other devices. If there are 100 devices in the network, 1000 multicast trees are to be established by the root node, under the relevant technical scheme, each device needs to reserve 1000 addresses in the respective IPv6 address space, and 100 × 1000 addresses are required to be reserved in total; in the application, the root node is only required to distribute 1000 addresses for 1000 multicast trees, so that the problem of waste of IPv6 address space can be solved.
A specific implementation process of the method for forwarding a packet provided in the embodiment of the present application is described in detail below with reference to fig. 3 by taking the scenario shown in fig. 1 as an example.
It should be understood that the example of fig. 3 is merely to assist those skilled in the art in understanding the embodiments of the present application, and is not intended to limit the embodiments of the application to the specific values or specific scenarios illustrated. It will be apparent to those skilled in the art that various equivalent modifications or variations are possible in light of the example of fig. 3 given below, and such modifications and variations also fall within the scope of the embodiments of the present application.
Fig. 3 is a schematic flow chart of another message forwarding method provided in the embodiment of the present application. As shown in FIG. 3, the method may include steps 310 and 330, and the steps 310 and 330 are described in detail below.
It should be understood that the multicast path described above may also be referred to as a multicast tree, which is illustrated in fig. 3 as an example.
Step 310: each device in the network receives information of the multicast tree.
In the embodiment of the present application, when a plurality of multicast trees with R1 as a root node are established, an address needs to be allocated to each multicast tree on R1.
In a possible implementation manner, taking the multicast tree identified by a solid line with R1 as a root node as shown in fig. 1 as an example, an address R1_1 of R1 needs to be allocated. The address R1_1 is sent to each node under the multicast tree, and the branch information of the multicast tree on each node is sent.
It should be noted that, the distribution and issuing processes may be completed through a controller, or may be completed through a message of a device control plane, which is not specifically limited in this application.
The nodes under the multicast tree identified by the solid line with R1 as the root node may include: r1, R3, R5, R6, R7 and R8. The information of the multicast tree identified by the solid line received by each node is shown in table 5.
Table 5 information of multicast tree identified by solid line
Figure BDA0002673028200000101
Taking R1 as an example, "tree ═ R1_ 1" indicates that the multicast tree is the multicast tree identified by the solid line shown in fig. 1 and the correspondence between the multicast tree and the source address R1_1, and "branch ═ R3" indicates that the downstream device of R1 is R3.
Taking R5 as an example, the multicast tree is the multicast tree identified by the solid line shown in fig. 1, and the downstream devices of R3 are R7 and R8. For R6, the multicast tree is the multicast tree identified by the solid line shown in fig. 1, and "branch ═ Decap" indicates that R6 is a leaf (leaf) device, and it needs to decapsulate the encapsulated multicast packet and forward the multicast packet in the inner layer.
In another possible implementation manner, taking the multicast tree shown in fig. 1 and identified by a dotted line with R1 as a root node as an example, an address R1_2 of R1 needs to be allocated. The address R1_2 is sent to each node under the multicast tree, and the branch information of the multicast tree at each node is sent.
It should be noted that, the distribution and issuing process may be completed by a controller or may be completed by a control plane message, which is not specifically limited in this application.
The nodes under the multicast tree identified by the dotted line with R1 as the root node may include: r1, R3, R5, R6, R7 and R8. The information of the multicast tree indicated by the dotted line received by each node is shown in table 6.
Table 6 multicast tree information identified by dotted lines
Figure BDA0002673028200000111
Taking R1 as an example, "tree ═ R1_ 2" indicates that the multicast tree is the multicast tree indicated by the dotted line shown in fig. 1 and the correspondence between the multicast tree and the source address R1_2, and "branch ═ R3" indicates that the downstream device of R1 is R3.
Taking R5 as an example, the multicast tree is the multicast tree indicated by the dotted line shown in fig. 1, and the downstream device of R3 is R7. For R6, the multicast tree is the multicast tree identified by the dotted line shown in fig. 1, and "branch ═ Decap" indicates that R6 is a leaf (leaf) device, and it needs to decapsulate the encapsulated multicast packet and forward the multicast packet in the inner layer.
Step 320: each device in the network establishes a corresponding relation according to the information of the multicast tree.
Taking the multicast tree identified by the solid line shown in fig. 1 as an example, the correspondence relationship established by each device in the network according to the multicast tree information shown in table 5 is shown in table 7.
Table 7 correspondence of multicast tree identified by solid line
Figure BDA0002673028200000112
It should be understood that each of the devices in the network configures a first address as a destination address of the message, where the first address is used to instruct to search for a source address corresponding to the message according to the destination address of the message. When the destination address of the message received by the equipment is the first address, the equipment searches the source address of the message.
As an example, the first addresses allocated by R1, R3, R5, R6, R7, and R8 are R1_0, R3_0, R5_0, R6_0, R7_0, and R8_0, respectively. When the destination address of the message received on R1 is R1_0, R1 performs a lookup on the source address of the message. When the destination address of the message received on R3 is R3_0, R3 performs a lookup on the source address of the message. And so on.
Taking R1 as an example, since the multicast tree is the multicast tree identified by the solid line shown in fig. 1 and the downstream device of R1 is R3, the source address indicated by "SA — R1_ 1" in the correspondence relationship established by R1 is R1_1, and "branch _ IP — R3_ 0" indicates that the IP address of the downstream device of R1 is the first address R3_0 allocated to R3.
Taking R5 as an example, since the multicast tree is the multicast tree identified by the solid line shown in fig. 1, and the downstream devices of R5 are R7 and R8, the source address indicated by "SA ═ R1_ 1" in the correspondence established by R5 is R1_1, and "branch _ IP ═ R7_0/R8_ 0" indicates that the IP address of the downstream device of R5 is the first address R7_0 assigned to R7 and the first address R8_0 assigned to R8.
Taking the multicast tree indicated by the dotted line shown in fig. 1 as an example, the correspondence relationship established by each device in the network according to the multicast tree information shown in table 6 is shown in table 8.
Table 8 correspondence of multicast tree identified by dotted line
Figure BDA0002673028200000121
Step 330: and each device in the network forwards the IPv6 message based on the established corresponding relation.
In a possible implementation manner, taking the multicast tree identified by the solid line shown in fig. 1 as an example, based on the correspondence shown in table 7, a process of forwarding the IPv6 message by the device in the network is described in detail.
R1 receives a multicast packet of a multicast source group (S1, G1) from an interface belonging to a Virtual Routing Forwarding (VRF) instance VRF 1. The forwarding plane of R1 may import the multicast stream (VRF1, S1, G1) onto the multicast tree identified by the solid line and forward the multicast stream (VRF1, S1, G1) along the multicast tree identified by the solid line.
As an example, R1 may import the multicast flow information (VRF1, S1, G1) onto the multicast tree identified by the solid line according to the following configuration information.
R1:(vrf1,S1,G1,tree=R1_1)
The R1 may also encapsulate the multicast packets of the multicast source group (S1, G1) according to the following correspondence, so that the multicast packets of the multicast source group (S1, G1) may be forwarded along the multicast tree identified by the solid line. Specifically, the R1 encapsulates an outer IPv6 header in the multicast packet, where a source address of the outer IPv6 header is R1_1, and a destination address is a first address R1_0 allocated to R1.
R1:(vrf1,S1,G1,SA=R1_1,DA=R1_0)
And R1 acquires that the destination address of the outer layer IPv6 header of the message is R1_0, and searches the source address SA of the message according to the indication of R1_ 0. R1 determines that the source address SA of the packet is R1_1, and determines that the branch _ IP corresponding to SA — R1_1 is R3_0 according to the correspondence shown in table 7. Therefore, R1 knows that the message is to be "copied" to R3_0, and the forwarding plane of R1 can modify the destination address of the message to R3_0 and send it to the R3 node.
The destination address of the message received by R3 is R3_0, and R3 searches the source address SA of the message according to the indication that the destination address is R3_ 0. R3 determines that the source address SA of the packet is R1_1, and determines that the branch _ IP corresponding to SA — R1_1 is R5_0/R6_0 according to the correspondence shown in table 7. Therefore, the R3 knows that the message is to be "copied" to the R5_0 and the R6_0, and the forwarding plane of the R3 may modify the destination address of the message to be R5_0 and send the message to the R5 node, and modify the destination address of the message to be R6_0 and send the message to the R6 node.
The destination address of the message received by R5 is R5_0, and R5 searches the source address SA of the message according to the indication that the destination address is R5_ 0. R5 determines that the source address SA of the packet is R1_1, and determines that the branch _ IP corresponding to SA — R1_1 is R7_0/R8_0 according to the correspondence shown in table 7. Therefore, the R5 knows that the message is to be "copied" to the R7_0 and the R8_0, and the forwarding plane of the R5 may modify the destination address of the message to be R7_0 and send the message to the R7 node, and modify the destination address of the message to be R8_0 and send the message to the R8 node.
The destination address of the message received by R6 is R6_0, and R6 searches the source address SA of the message according to the indication that the destination address is R6_ 0. R6 determines that the source address SA of the packet is R1_1, and determines that the branch _ IP corresponding to SA R1_1 is Decap according to the correspondence shown in table 7. Therefore, R6 determines itself to be a leaf (leaf) device, and R6 decapsulates the encapsulated multicast packet and forwards the multicast packet in the inner layer.
The destination address of the message received by R7 is R7_0, and R7 searches the source address SA of the message according to the indication that the destination address is R7_ 0. R7 determines that the source address SA of the packet is R1_1, and determines that the branch _ IP corresponding to SA R1_1 is Decap according to the correspondence shown in table 7. Therefore, R7 determines itself to be a leaf (leaf) device, and R7 decapsulates the encapsulated multicast packet and forwards the multicast packet in the inner layer.
The destination address of the message received by R8 is R8_0, and R8 searches the source address SA of the message according to the indication that the destination address is R8_ 0. R8 determines that the source address SA of the packet is R1_1, and determines that the branch _ IP corresponding to SA R1_1 is Decap according to the correspondence shown in table 7. Therefore, R8 determines itself to be a leaf (leaf) device, and R8 decapsulates the encapsulated multicast packet and forwards the multicast packet in the inner layer.
In another possible implementation manner, taking the multicast tree identified by the dotted line shown in fig. 1 as an example, based on the correspondence shown in table 8, a process of forwarding the IPv6 message by the device in the network is described in detail.
R1 receives a multicast packet of a multicast source group (S2, G2) from an interface belonging to a Virtual Routing Forwarding (VRF) instance VRF 2. The forwarding plane of R1 may import the multicast flow information (VRF2, S2, G2) onto the multicast tree identified by the dotted line, and forward the multicast flow information (VRF2, S2, G2) along the multicast tree identified by the dotted line.
As an example, R1 may import the multicast flow information (VRF2, S2, G2) onto the multicast tree identified by the solid line according to the following configuration information.
R1:(vrf2,S2,G2,tree=R1_2)
The R1 may also encapsulate the multicast packets of the multicast source group (S2, G2) according to the following correspondence, so that the multicast packets of the multicast source group (S2, G2) may be forwarded along the multicast tree identified by the dotted line. Specifically, the R1 encapsulates an outer IPv6 header in the multicast packet, where a source address of the outer IPv6 header is R1_2, and a destination address is a first address R1_0 allocated to R1.
R1:(vrf2,S2,G2,SA=R1_2,DA=R1_0)
And R1 acquires that the destination address of the outer layer IPv6 header of the message is R1_0, and searches the source address SA of the message according to the indication of R1_ 0. R1 determines that the source address SA of the packet is R1_2, and determines that the branch _ IP corresponding to SA — R1_2 is R3_0 according to the correspondence shown in table 8. Therefore, R1 knows that the message is to be "copied" to R3_0, and the forwarding plane of R1 can modify the destination address of the message to R3_0 and send it to the R3 node.
The destination address of the message received by R3 is R3_0, and R3 searches the source address SA of the message according to the indication that the destination address is R3_ 0. R3 determines that the source address SA of the packet is R1_2, and determines that the branch _ IP corresponding to SA — R1_2 is R5_0/R6_0 according to the correspondence shown in table 8. Therefore, the R3 knows that the message is to be "copied" to the R5_0 and the R6_0, and the forwarding plane of the R3 may modify the destination address of the message to be R5_0 and send the message to the R5 node, and modify the destination address of the message to be R6_0 and send the message to the R6 node.
The destination address of the message received by R5 is R5_0, and R5 searches the source address SA of the message according to the indication that the destination address is R5_ 0. R5 determines that the source address SA of the packet is R1_2, and determines that the branch _ IP corresponding to SA — R1_2 is R7_0 according to the correspondence shown in table 8. Therefore, R5 knows that the message is to be "copied" to R7_0, and the forwarding plane of R5 can modify the destination address of the message to be R7_0 to send to the R7 node.
The destination address of the message received by R6 is R6_0, and R6 searches the source address SA of the message according to the indication that the destination address is R6_ 0. R6 determines that the source address SA of the packet is R1_2, and determines that the branch _ IP corresponding to SA R1_2 is Decap according to the correspondence shown in table 8. Therefore, R6 determines itself to be a leaf (leaf) device, and R6 decapsulates the encapsulated multicast packet and forwards the multicast packet in the inner layer.
The destination address of the message received by R7 is R7_0, and R7 searches the source address SA of the message according to the indication that the destination address is R7_ 0. R7 determines that the source address SA of the packet is R1_2, and determines that the branch _ IP corresponding to SA R1_2 is Decap according to the correspondence shown in table 8. Therefore, R7 determines itself to be a leaf (leaf) device, and R7 decapsulates the encapsulated multicast packet and forwards the multicast packet in the inner layer.
The method for forwarding a packet according to the embodiment of the present application is described in detail above with reference to fig. 1 to 3, and an embodiment of the apparatus of the present application is described in detail below with reference to fig. 4 to 6. It is to be understood that the description of the method embodiments corresponds to the description of the apparatus embodiments, and therefore reference may be made to the preceding method embodiments for parts not described in detail.
Fig. 4 is a schematic structural diagram of a first network device 400 according to an embodiment of the present application. The first network device 400 shown in fig. 4 may perform the corresponding steps performed by the first network device in the methods of the above embodiments. As shown in fig. 4, the first network device 400 includes: a receiving module 410, a processing module 420, a transmitting module 430,
a receiving module 410, configured to obtain a first packet, where the first packet includes a multicast packet;
a processing module 420, configured to determine a next hop destination address DA of the multicast packet according to a source address SA and a first correspondence relationship, where the SA is used to identify a multicast path corresponding to the multicast packet, and the first correspondence relationship includes an SA and the next hop DA of the first network device on the multicast path;
the processing module 420 is further configured to obtain a second packet according to the next hop DA, where the second packet is a unicast packet obtained by IPv6 encapsulating the multicast packet;
a sending module 430, configured to forward the second packet along the multicast path according to the next hop DA.
Optionally, the processing module 420 is further configured to: and determining the SA.
Optionally, the first network device is an ingress device, the first packet is the multicast packet, and the processing module 420 is specifically configured to: determining the multicast path corresponding to the multicast message; and determining the SA according to the multicast path and the corresponding relation between the multicast path and the SA.
Optionally, the first network device is an intermediate device or an egress device, the first packet is a unicast packet obtained by IPv6 encapsulating the multicast packet, and the processing module 420 is specifically configured to: determining whether the DA of the first message is the IPv6 address of the first network device; and if the DA of the first message is the IPv6 address of the first network device, reading the SA of the first message according to the DA of the first message.
Optionally, the receiving module 410 is further configured to receive configuration information from a control device, where the configuration information includes the SA and a multicast path corresponding to the multicast packet; the processing module 420 is further configured to establish the first corresponding relationship according to the configuration information.
Optionally, the multicast path includes an internet protocol version 6 IPv6 address of a next-hop device of the first network device, and the sending module 430 is specifically configured to: and sending the second message to the next-hop device according to the fact that the next-hop DA is the IPv6 address of the next-hop device.
Optionally, the multicast path indicates to decapsulate the packet, and the processing module is further configured to decapsulate the second packet to obtain the multicast packet; the sending module 430 is further configured to forward the multicast packet.
Optionally, the SA is an IPv6 address.
Fig. 5 is a schematic hardware structure diagram of the first network device 2000 according to an embodiment of the present application. The first network device 2000 shown in fig. 5 may perform the corresponding steps performed by the first network device in the methods of the above embodiments.
As shown in fig. 5, the first network device 2000 includes a processor 2001, a memory 2002, an interface 2003, and a bus 2004. Wherein the interface 2003 may be implemented by wireless or wired means, specifically a network card. The processor 2001, the memory 2002, and the interface 2003 are connected by a bus 2004.
The interface 2003 may specifically include a transmitter and a receiver for the first network device to implement the transceiving described above. For example, the interface 2003 is used to obtain a first message or to send a second message.
The processor 2001 is configured to execute the processing performed by the first network device in the above embodiments. For example, the method is used for determining the next hop DA of the multicast packet according to the source address SA and the first correspondence; obtaining a second message according to the next hop DA; and/or other processes for the techniques described herein. The memory 2002 includes an operating system 20021 and an application 20022 for storing programs, codes, or instructions that when executed by a processor or hardware device may perform the processes of the method embodiments involving the first network device. Alternatively, the memory 2002 may include a read-only memory (ROM) and a Random Access Memory (RAM). Wherein the ROM includes a basic input/output system (BIOS) or an embedded system; the RAM includes an application program and an operating system. When the first network device 2000 needs to be operated, the first network device 2000 is booted to enter a normal operation state by booting through a BIOS that is solidified in a ROM or a bootloader boot system in an embedded system. After the first network device 2000 enters the normal operation state, the application program and the operating system that are run in the RAM are executed, thereby completing the processes related to the first network device 2000 in the method embodiment.
It will be appreciated that fig. 5 shows only a simplified design of the first network device 2000. In practical applications, the first network device may comprise any number of interfaces, processors or memories.
Fig. 6 is a schematic hardware structure diagram of another first network device 2100 according to an embodiment of the present application. The first network device 2100 shown in fig. 6 may perform the corresponding steps performed by the first network device in the methods of the above embodiments.
As illustrated in fig. 6, the first network device 2100 includes: a main control board 2110, an interface board 2130, a switch board 2120 and an interface board 2140. The main control board 2110, the interface boards 2130 and 2140, and the switch board 2120 are connected to the system backplane through the system bus to realize intercommunication. The main control board 2110 is used for completing functions such as system management, device maintenance, and protocol processing. The switch network board 2120 is used to complete data exchange between interface boards (interface boards are also called line cards or service boards). The interface boards 2130 and 2140 are used to provide various service interfaces (e.g., POS interface, GE interface, ATM interface, etc.) and implement forwarding of packets.
The interface board 2130 may include a central processor 2131, a forwarding entry memory 2134, a physical interface card 2133, and a network processor 2132. The central processing unit 2131 is used for controlling and managing the interface board and communicating with the central processing unit on the main control board. The forwarding entry memory 2134 is used to hold entries, e.g., BIFT as described above. Physical interface card 2133 is used to complete the reception and transmission of traffic.
It should be understood that operations on the interface board 2140 in the embodiment of the present application are the same as those of the interface board 2130, and are not described again for brevity.
It should be understood that the first network device 2100 in this embodiment may correspond to the functions and/or various steps of the foregoing method embodiments, and are not described herein again.
In addition, it should be noted that there may be one or more main control boards, and when there are multiple main control boards, the main control board may include an active main control board and a standby main control board. The interface board may have one or more boards, and the more the data processing capability of the first network device is, the more interface boards are provided. There may also be one or more physical interface cards on an interface board. The exchange network board may not have one or more blocks, and when there are more blocks, the load sharing redundancy backup can be realized together. Under the centralized forwarding architecture, the first network device may not need the switching network board, and the interface board undertakes the processing function of the service data of the whole system. Under the distributed forwarding architecture, the first network device may have at least one switching network board, and data exchange between the plurality of interface boards is realized through the switching network board, so as to provide large-capacity data exchange and processing capability. Therefore, the data access and processing capabilities of the first network device of the distributed architecture are greater than those of the centralized architecture. Which architecture is specifically adopted depends on the specific networking deployment scenario, and is not limited herein.
An embodiment of the present application further provides a computer-readable medium, where the computer-readable medium stores program codes, and when the computer program codes run on a computer, the computer is caused to execute the method executed by the first network device. These computer-readable memories include, but are not limited to, one or more of the following: read-only memory (ROM), Programmable ROM (PROM), Erasable PROM (EPROM), Flash memory, Electrically EPROM (EEPROM), and hard drive (hard drive).
An embodiment of the present application further provides a chip system, which is applied to a first network device, and the chip system includes: the chip system comprises at least one processor, at least one memory and an interface circuit, wherein the interface circuit is responsible for information interaction between the chip system and the outside, the at least one memory, the interface circuit and the at least one processor are interconnected through lines, and instructions are stored in the at least one memory; the instructions are executable by the at least one processor to perform the operations of the first network device in the methods of the various aspects described above.
In a specific implementation process, the chip may be implemented in the form of a Central Processing Unit (CPU), a Micro Controller Unit (MCU), a Micro Processing Unit (MPU), a Digital Signal Processor (DSP), a system on chip (SoC), an application-specific integrated circuit (ASIC), a Field Programmable Gate Array (FPGA), or a Programmable Logic Device (PLD).
The present invention also provides a computer program product, which is applied to a first network device, and includes a series of instructions, when executed, to perform the operations of the first network device in the method of the above aspects.
It should be understood that, in the various embodiments of the present application, the sequence numbers of the above-mentioned processes do not mean the execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application or portions thereof that substantially contribute to the prior art may be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a read-only memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (16)

1. A method for forwarding a message, the method comprising:
a first network device acquires a first message, wherein the first message comprises a multicast message;
the first network device determines a next hop destination address DA of the multicast message according to a source address SA and a first corresponding relationship, wherein the SA is used for identifying a multicast path corresponding to the multicast message, and the first corresponding relationship comprises the SA and the next hop DA of the first network device on the multicast path;
the first network equipment obtains a second message according to the next hop DA, wherein the second message is a unicast message obtained by carrying out IPv6 packaging on the multicast message;
and the first network equipment forwards the second message along the multicast path according to the next hop DA.
2. The method of claim 1, wherein the first network device is an ingress device, wherein the first packet is the multicast packet,
the method further comprises the following steps:
the first network equipment determines the multicast path corresponding to the multicast message;
and the first network equipment determines the SA according to the multicast path and the corresponding relation between the multicast path and the SA.
3. The method of claim 1, wherein the first network device is an intermediate device or an egress device, wherein the first packet is a unicast packet after IPv6 encapsulation of the multicast packet,
the method further comprises the following steps:
the first network equipment determines whether the DA of the first message is an IPv6 address of the Internet protocol version 6 of the first network equipment;
and if the DA of the first message is the IPv6 address of the first network device, the first network device reads the SA of the first message according to the DA of the first message.
4. The method according to any one of claims 1 to 3, further comprising:
the first network equipment receives configuration information from control equipment, wherein the configuration information comprises the SA and a multicast path corresponding to the multicast message;
and the first network equipment establishes the first corresponding relation according to the configuration information.
5. The method of claim 4, wherein the multicast path includes an IPv6 address of a next hop device of the first network device,
the first network device forwards the second packet along the multicast path according to the next hop DA, including:
and the first network equipment sends the second message to the next-hop equipment according to the fact that the next-hop DA is the IPv6 address of the next-hop equipment.
6. The method of claim 4, wherein the multicast path indication decapsulates the packet, and wherein the method further comprises:
the first network equipment decapsulates the second message to obtain the multicast message;
and the first network equipment forwards the multicast message.
7. The method according to any one of claims 1 to 6, wherein the SA is an IPv6 address.
8. A first network device, comprising:
a receiving module, configured to obtain a first packet, where the first packet includes a multicast packet;
a processing module, configured to determine a next hop destination address DA of the multicast packet according to a source address SA and a first correspondence relationship, where the SA is used to identify a multicast path corresponding to the multicast packet, and the first correspondence relationship includes the SA and the next hop DA of the first network device on the multicast path;
the processing module is further configured to obtain a second packet according to the next hop DA, where the second packet is a unicast packet obtained by IPv6 encapsulating the multicast packet;
and the sending module is used for forwarding the second message along the multicast path according to the next hop DA.
9. The first network device of claim 8, wherein the first network device is an ingress device, wherein the first packet is the multicast packet,
the processing module is further configured to:
determining the multicast path corresponding to the multicast message;
and determining the SA according to the multicast path and the corresponding relation between the multicast path and the SA.
10. The first network device of claim 8, wherein the first network device is an intermediate device or an egress device, wherein the first packet is a unicast packet obtained by IPv6 encapsulating the multicast packet,
the processing module is further configured to:
determining whether the DA of the first message is the IPv6 address of the first network device;
and if the DA of the first message is the IPv6 address of the first network device, reading the SA of the first message according to the DA of the first message.
11. The first network device of any of claims 8 to 10,
the receiving module is further configured to receive configuration information from a control device, where the configuration information includes the SA and a multicast path corresponding to the multicast packet;
the processing module is further configured to establish the first corresponding relationship according to the configuration information.
12. The first network device of claim 11, wherein the first mapping path includes an internet protocol version 6 IPv6 address of a next-hop device of the first network device, and wherein the sending module is specifically configured to:
and sending the second message to the next-hop device according to the fact that the next-hop DA is the IPv6 address of the next-hop device.
13. The first network device of claim 11, wherein the first path of correspondence indicates to decapsulate a packet,
the processing module is further configured to decapsulate the second packet to obtain the multicast packet;
the sending module is further configured to forward the multicast packet.
14. The first network device of any of claims 8 to 13, wherein the SA is an IPv6 address.
15. A first network device, comprising: a processor and a memory, the memory for storing a program, the processor for calling and running the program from the memory to perform the method of any of claims 1 to 7.
16. A system for message forwarding comprising a first network device according to any of claims 8 to 14.
CN202010939135.XA 2020-07-14 2020-09-09 Method, equipment and system for forwarding message Pending CN114006780A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/CN2021/082060 WO2022012073A1 (en) 2020-07-14 2021-03-22 Message forwarding method, device and system
EP21841577.6A EP4170972A4 (en) 2020-07-14 2021-03-22 Message forwarding method, device and system
US18/154,399 US20230171184A1 (en) 2020-07-14 2023-01-13 Packet Forwarding Method, Device, and System

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010671831 2020-07-14
CN2020106718317 2020-07-14

Publications (1)

Publication Number Publication Date
CN114006780A true CN114006780A (en) 2022-02-01

Family

ID=79920718

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010939135.XA Pending CN114006780A (en) 2020-07-14 2020-09-09 Method, equipment and system for forwarding message

Country Status (1)

Country Link
CN (1) CN114006780A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023160516A1 (en) * 2022-02-24 2023-08-31 华为技术有限公司 Message processing method and related device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023160516A1 (en) * 2022-02-24 2023-08-31 华为技术有限公司 Message processing method and related device

Similar Documents

Publication Publication Date Title
CN110784411B (en) Method, device and system for establishing BIER forwarding table item
TWI821463B (en) Logical router comprising disaggregated network elements
CN113114576B (en) Method, equipment and system for sending message
CN114465920B (en) Method, device and system for determining corresponding relation
KR20230101903A (en) BIER packet forwarding method, device and system
CN108028801B (en) SDN-based ARP implementation method and device
US20220255847A1 (en) Packet Sending Method and First Network Device
US20220272028A1 (en) Packet Forwarding Method, First Network Device, and First Device Group
CN113542111A (en) Message forwarding method and network equipment
US20240022508A1 (en) Bierv6 packet processing method, device, and system
WO2021052381A1 (en) Message sending method and apparatus
CN114006780A (en) Method, equipment and system for forwarding message
CN113765809A (en) BIER multicast traffic statistical method, device and system
US20220337521A1 (en) Packet Sending Method, Device and System
CN113285878B (en) Load sharing method and first network equipment
CN114598644A (en) BIER message forwarding method, equipment and system
KR20230104716A (en) Root advertising method, apparatus, and system
WO2022012073A1 (en) Message forwarding method, device and system
CN114520762A (en) Method for sending BIERv6 message and first network equipment
CN113824608A (en) BIER OAM detection method, equipment and system
CN113541924A (en) Method, device and system for detecting message
US20230336484A1 (en) Load sharing method, root node device, leaf node device, and system
CN114726795A (en) Load sharing method, root node equipment, leaf node equipment and system
CN108881015B (en) Message broadcasting method and device
CN114690680A (en) Data processing method, controller and first network equipment

Legal Events

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