CN107276774B - Multicast message transmission method and forwarding equipment - Google Patents

Multicast message transmission method and forwarding equipment Download PDF

Info

Publication number
CN107276774B
CN107276774B CN201610219111.0A CN201610219111A CN107276774B CN 107276774 B CN107276774 B CN 107276774B CN 201610219111 A CN201610219111 A CN 201610219111A CN 107276774 B CN107276774 B CN 107276774B
Authority
CN
China
Prior art keywords
multicast
forwarding device
forwarding
virtual token
multicast group
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.)
Active
Application number
CN201610219111.0A
Other languages
Chinese (zh)
Other versions
CN107276774A (en
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 CN201610219111.0A priority Critical patent/CN107276774B/en
Publication of CN107276774A publication Critical patent/CN107276774A/en
Application granted granted Critical
Publication of CN107276774B publication Critical patent/CN107276774B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • 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
    • H04L12/1881Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with schedule organisation, e.g. priority, sequence management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation

Abstract

The application provides a multicast message transmission method and forwarding equipment. In the method, a first forwarding device sends a multicast packet from a downstream port of the first forwarding device to a second forwarding device, and then sends a virtual token to the second forwarding device, and the multicast packet is forwarded to the second forwarding device along a shortest path, so that the multicast packet from the downstream port of the first forwarding device is already forwarded to the second forwarding device before the virtual token is forwarded to the second forwarding device, and after the second forwarding device receives the virtual token, the time for transmitting the multicast packet from the downstream port to other forwarding devices is inevitably lagged behind the time for the multicast packet sent from the first forwarding device to the second forwarding device to reach the second forwarding device, which is helpful for realizing the global ordering of multicast.

Description

Multicast message transmission method and forwarding equipment
Technical Field
The present application relates to the field of communications technologies, and in particular, to a multicast message transmission method and a forwarding device.
Background
With the development of communication technology, multicast technology is widely used, which is a technology for performing network communication between a single sending end and multiple receiving ends, and realizes point-to-multipoint network connection between the sending end and each receiving end. Global ordering refers to the property that messages sent by a sender are received in the same order at all receivers. As shown in fig. 1, a sender, such as a Client a, sends data b to receivers p, q, and r, and sends data d to receivers p, q, and r. A sender, such as Client b, sends data a to receivers p, q, and r, and sends data c to receivers p, q, and r. If the receiving ends p, q and r receive the same data sequence from the client a and the client b, if the received data sequence is a- > b- > c- > d, the global ordering of the multicast technology is realized.
The global ordering is applied to the multicast technology, so that the distributed system can ensure strong consistency on the functions of data distribution and data replication, and the method has important significance. However, the global ordering of the current multicast technology cannot be effectively guaranteed. How to realize the global ordering of the multicast technology becomes a problem to be solved urgently at present.
Disclosure of Invention
An object of the embodiments of the present application is to provide a multicast packet transmission method and forwarding device, which are helpful for achieving that multicast packets received by multiple devices receiving multicast packets have the same order.
In order to achieve the above purpose, the embodiments of the present application provide the following solutions:
in a first aspect, a multicast message transmission method is provided, including: the first forwarding equipment receives a multicast message from a downstream port; the first forwarding device acquires a virtual token; after the first forwarding device obtains the virtual token, the first forwarding device sends the multicast message through the upstream port along the shortest path; and after the first forwarding equipment sends the multicast message along the shortest path, the first forwarding equipment sends the virtual token.
Wherein the downstream port is a port on the first forwarding device that is capable of communicating with a multicast recipient. The downstream port may be a port that communicates directly with a forwarding device connected to the multicast receiver.
The virtual token is used for indicating the forwarding equipment which receives the virtual token to send the multicast message from the downstream port to the upstream port of the forwarding equipment. The upstream port of the forwarding device receiving the virtual token is a port capable of communicating with an upstream device, the upstream device is the forwarding device receiving the virtual token, and the upstream device is configured to send a multicast packet from the multicast source to the forwarding device receiving the virtual token. Optionally, the virtual token further comprises an identification of a multicast group. The multicast message is a multicast message corresponding to the multicast group.
And the shortest path is the path with the minimum hop count of the multicast message from the first forwarding equipment to the second forwarding equipment.
In the foregoing multicast packet transmission method disclosed in the embodiment of the application, the first forwarding device first sends the multicast packet from the downstream port to the second forwarding device, and then sends the virtual token to the second forwarding device, and the multicast packet is forwarded to the second forwarding device along the shortest path, so that the multicast packet from the downstream port of the first forwarding device is already forwarded to the second forwarding device before the virtual token is forwarded to the second forwarding device, and after the second forwarding device receives the virtual token, the time at which the multicast packet from the downstream port is transmitted to other forwarding devices is inevitably lagged behind the time at which the multicast packet sent from the first forwarding device to the second forwarding device reaches the second forwarding device, which is helpful for realizing global ordering of multicast.
In an optional implementation, the multicast packet transmission method provided in this embodiment of the present application, before the first forwarding device sends the multicast packet through the upstream port, further includes: and the first forwarding equipment adds a priority identifier in the received multicast message from the downstream port. Wherein, the multicast message sent through the upstream port further includes the identifier of the priority. The priority mark is used for indicating that the multicast message to which the mark belongs is processed preferentially.
In the multicast packet transmission method disclosed in the application embodiment, the first forwarding device adds the priority identifier to the multicast packet from the downstream port of the first forwarding device, so that the multicast packet from the downstream port of the first forwarding device is forwarded before the virtual token in the forwarding process, and further, when the virtual token is transmitted from the first forwarding device to the second forwarding device, the multicast packet from the downstream port of the first forwarding device is already transmitted to the second forwarding device.
In an optional implementation, the multicast packet transmission method provided in this embodiment of the present application further includes: and configuring the first forwarding equipment, and establishing a virtual token ring network corresponding to the multicast group to which the first forwarding equipment belongs.
According to the multicast message transmission method disclosed by the application embodiment, the forwarding process of the virtual token is maintained by establishing the virtual token ring network corresponding to the multicast group to which the first forwarding device belongs, and each forwarding device in the virtual token ring network can maintain the virtual token, so that even if a single point of failure occurs in one forwarding device, the virtual token can be maintained by other forwarding devices in the multicast group, and the problem of single point of failure is avoided. In addition, the virtual token does not need to be routed to the central node for processing, the transmission path of the virtual token is short, and the transmission cost is saved. In addition, the maintenance work of the virtual token is not executed on the application of the server any more, but is executed in the virtual token ring network formed by different forwarding devices in the multicast network, and the execution speed is high and the efficiency is high.
In an optional implementation, the multicast packet transmission method provided in this embodiment of the present application further includes: the first forwarding equipment judges whether the first forwarding equipment is a root node in a virtual token ring network corresponding to the multicast group to which the first forwarding equipment belongs; if yes, the first forwarding device obtaining the virtual token comprises: the first forwarding device generating the virtual token; if not, the first forwarding device obtaining the virtual token comprises: and the first forwarding equipment receives the virtual token sent by third forwarding equipment, wherein the third forwarding equipment is a root node in the virtual token ring network, or the third forwarding equipment is forwarding equipment except the root node and the first forwarding equipment in the virtual token ring network.
The root node in this embodiment of the present application denotes a forwarding device serving as a root node, for example, a forwarding device connected to a multicast source.
In an optional implementation, in the multicast packet transmission method provided in this embodiment of the present application, the configuring the first forwarding device, and establishing a virtual token ring network corresponding to a multicast group to which the first forwarding device belongs includes: the first forwarding equipment machine determines the identifier of the multicast group to which the first forwarding equipment machine belongs; the first forwarding equipment acquires the identifier of the multicast group to which the target forwarding equipment belongs; the first forwarding equipment judges whether the identifier of the multicast group to which the target forwarding equipment belongs is the same as the identifier of the multicast group to which the first forwarding equipment belongs; and if the two forwarding devices are the same, the first forwarding device sends a building instruction to the target forwarding device, wherein the building instruction is used for indicating the target forwarding device which belongs to the same multicast group as the first forwarding device to build a virtual token ring network.
Optionally, the establishment instruction may be further configured to instruct a target forwarding device belonging to the same multicast group to maintain the virtual token.
The target forwarding device may be a forwarding device of a multicast group to which the first forwarding device belongs.
In an optional implementation, the configuring the first forwarding device in the multicast packet transmission method provided in this embodiment of the present application, and establishing a virtual token ring network corresponding to a multicast group to which the first forwarding device belongs includes: the first forwarding equipment monitors an internet group management protocol IGMP message; the first forwarding equipment determines the multicast group to which the first forwarding equipment belongs according to the multicast group identifier in the IGMP message; the first forwarding equipment judges whether a member broadcast message sent by a root node in a virtual token ring network corresponding to a multicast group is monitored within preset time or not according to the multicast group to which the first forwarding equipment belongs; if so, sending an adding message to the root node, wherein the adding message is used for requesting the root node to add to the virtual token ring network to which the root node belongs; and if not, sending a building instruction to target forwarding equipment in the multicast to which the target forwarding equipment belongs, wherein the building instruction is used for indicating the target forwarding equipment which belongs to the same multicast group as the first forwarding equipment to build a virtual token ring network.
The IGMP message monitored by the first forwarding device includes an identifier of a multicast group, where the multicast group is a multicast group to which the first forwarding device belongs. The member broadcast message is a broadcast message sent to a member in a multicast group by a root node in a virtual token ring network corresponding to the multicast group to which the first forwarding device belongs.
In an optional implementation, the configuring the first forwarding device in the multicast packet transmission method provided in this embodiment of the present application, and establishing a virtual token ring network corresponding to a multicast group to which the first forwarding device belongs includes: the first forwarding equipment acquires a general attribute multicast registration protocol (GMRP) message; the first forwarding equipment determines a multicast group corresponding to the identifier of the multicast group according to the identifier of the multicast group included in the GMRP message, and adds the multicast group into the multicast group; the first forwarding equipment judges whether a member broadcast message sent by a root node in a virtual token ring network corresponding to the multicast group is monitored within preset time according to the multicast group corresponding to the identifier of the multicast group, wherein the member broadcast message is a broadcast message sent by the root node in the virtual token ring network corresponding to the multicast group to a member in the multicast group; if so, sending an adding message to the root node, wherein the adding message is used for requesting the root node to add to the virtual token ring network to which the root node belongs; and if not, sending a building instruction to forwarding equipment in the multicast, wherein the building instruction is used for indicating target forwarding equipment which belongs to the same multicast group as the first forwarding equipment to build a virtual token ring network.
Wherein, the GMRP message includes an identifier of a multicast group to which the first forwarding device belongs.
In a second aspect, there is provided a first forwarding device comprising:
a receiving unit, configured to receive a multicast packet from a downstream port;
an acquisition unit configured to acquire a virtual token;
a first sending unit, configured to send the multicast packet through the upstream port along a shortest path after obtaining the virtual token
And the second sending unit is used for sending the virtual token to the second forwarding equipment after the multicast message is sent along the shortest path.
In an optional implementation, the first forwarding device provided in this embodiment of the present application further includes: and the adding unit is used for adding a priority mark to the received multicast message from the downstream port.
In an optional implementation, the first forwarding device provided in this embodiment of the present application further includes: and the establishing unit is used for configuring the first forwarding equipment and establishing a virtual token ring network corresponding to the multicast group to which the first forwarding equipment belongs.
In an optional implementation, the first forwarding device provided in this embodiment of the present application further includes: the judging unit is used for judging whether the judging unit is a root node in a virtual token ring network corresponding to the multicast group to which the judging unit belongs; the obtaining unit determines that the obtaining unit is the root node at the judging unit, and generates the virtual token; the obtaining unit determines that the judging unit is not the root node, and receives the virtual token sent by a third forwarding device, where the third forwarding device is a forwarding device in the virtual token ring network as the root node, or the third forwarding device is a forwarding device in the virtual token ring network except the root node and the first forwarding device.
In an optional implementation, in the first forwarding device provided in this embodiment of the present application, the establishing unit is specifically configured to: determining the identifier of the multicast group to which the self belongs; acquiring the identifier of a multicast group to which the target forwarding equipment belongs; judging whether the identifier of the multicast group to which the target forwarding equipment belongs is the same as the identifier of the multicast group to which the target forwarding equipment belongs; and if so, sending a building instruction to the target forwarding equipment, wherein the building instruction is used for indicating the target forwarding equipment which belongs to the same multicast group with the first forwarding equipment to build a virtual token ring network.
In an optional implementation, in the first forwarding device provided in this embodiment of the present application, the establishing unit is specifically configured to: monitoring an internet group management protocol IGMP message; determining a multicast group to which the IGMP message belongs according to the monitored identifier of the multicast group in the IGMP message; judging whether a member broadcast message sent by a root node is monitored within preset time according to a multicast group to which the member broadcast message belongs, wherein the member broadcast message is a broadcast message sent to a member of the multicast group by the root node in a virtual token ring network corresponding to the multicast group to which the first forwarding equipment belongs; if so, sending an adding message to the root node, wherein the adding message is used for requesting the root node to add to the virtual token ring network to which the root node belongs; and if not, sending a building instruction to target forwarding equipment in the multicast to which the first forwarding equipment belongs, wherein the building instruction is used for indicating the target forwarding equipment in the same multicast group as the first forwarding equipment to build a virtual token ring network.
In an optional implementation, in the first forwarding device provided in this embodiment of the present application, the establishing unit is specifically configured to: acquiring a general attribute multicast registration protocol (GMRP) message; determining a multicast group corresponding to the identifier of the multicast group according to the identifier of the multicast group included in the GMRP message, and adding the multicast group into the multicast group; judging whether a member broadcast message sent by a root node in a multicast group is monitored in preset time according to the multicast group corresponding to the identifier of the multicast group, wherein the member broadcast message is a broadcast message sent by the root node in a virtual token ring network corresponding to the multicast group to a member in the target multicast group; if so, sending an adding message to the root node, wherein the adding message is used for requesting the root node to add to the virtual token ring network to which the root node belongs; and if not, sending a building instruction to forwarding equipment in the multicast, wherein the building instruction is used for indicating target forwarding equipment which belongs to the same multicast group as the first forwarding equipment to build a virtual token ring network.
In a third aspect, a first forwarding device is provided, comprising: a processor, a memory and a communication interface; the processor is connected with the memory and the communication interface through a communication bus, and the memory is used for storing programs. The processor reads the program from the memory and performs the following operations:
receiving a multicast message through a downstream port in the communication interface;
acquiring a virtual token, wherein the virtual token is used for indicating the forwarding equipment receiving the virtual token to send a multicast message from a downstream port of the forwarding equipment to an upstream port of the forwarding equipment, and the upstream port is a port which can communicate with upstream equipment in the communication interface;
sending the multicast message through an upstream port in the communication interface along a shortest path;
and after the multicast message is sent along the shortest path, the virtual token is sent to a second forwarding device.
Optionally, the processor may send the virtual token to the second forwarding device through an upstream port in the communication interface.
In some implementation manners, the member broadcast message is sent through a preset first ethernet frame, where the preset first ethernet frame includes a Type field indicating that the first ethernet frame is used for signaling of a virtual ring network, a Multicast address Multicast addr field indicating a Multicast address of the virtual ring network, a Subtype field indicating a message Type included in the first ethernet frame, where the message Type is a member broadcast message, a length L enth field indicating a total length of the member broadcast message, and an Attribute field indicating an Attribute of the member broadcast message.
In some implementation manners, the adding message is sent through a preset second ethernet frame, and the preset second ethernet frame structurally includes a Type field, a Multicast address Multicast addr field, a Subtype field, a length L ength field and an Attribute Attribute field, wherein the Type field indicates that the second ethernet frame is used for signaling of a virtual ring network, the Multicast address Multicast addr field indicates a Multicast address of the virtual ring network, the Subtype field indicates a message Type included in the second ethernet frame, the message Type is the adding message, the length L ength field indicates a total length of the adding message, and the Attribute Attribute field indicates an Attribute of the adding message.
In some implementation manners, the virtual token is sent through a preset third ethernet frame, where the preset third ethernet frame includes a Type field indicating that the second ethernet frame is used for signaling of a virtual ring network, a Multicast address Multicast addr field indicating a Multicast address of the virtual ring network, a Subtype field indicating a packet Type included in the third ethernet frame, where the packet Type is a virtual token, a length L ength field indicating a total length of the virtual token, and an Attribute field indicating an Attribute of the virtual token.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the embodiments will be briefly described below, and it should be apparent that the drawings in the following description are only drawings of some embodiments of the present application.
Fig. 1 is a transmission diagram of a multicast technique disclosed in the prior art;
fig. 2 is a schematic diagram of a topology network architecture for ensuring global ordering of multicast through a TOR switch according to an embodiment of the present invention;
fig. 3 is a schematic diagram of another topology network architecture for guaranteeing global ordering of multicast through a TOR switch according to an embodiment of the present invention;
fig. 4 is a schematic diagram of an ethernet frame structure according to an embodiment of the present invention;
fig. 5 is a schematic flow chart of a multicast message transmission method disclosed in the embodiment of the present invention;
fig. 6 is a schematic structural diagram of a forwarding device disclosed in the embodiment of the present invention;
fig. 7 is a schematic structural diagram of another forwarding device disclosed in the embodiment of the present invention.
Detailed Description
The multicast message transmission method disclosed by the embodiment of the application can be applied to a Top of Rack (TOR) switch, and the TOR switch is arranged between a server and a multicast source. The server may be a server capable of communicating with multicast recipients. The server may also be replaced with a forwarding device capable of communicating with multicast receivers. Of course, the multicast packet transmission method disclosed in the embodiment of the present application may also be applied to a router or other forwarding devices. Next, a multicast packet transmission method disclosed in the embodiment of the present application is described by taking a case of being applied to a TOR switch as an example.
Fig. 2 is a topology network architecture for multicast packet transmission disclosed in the embodiment of the present application. The network architecture belongs to a two-layer topology network architecture. Wherein S in the topology network architecture1And S2Is a core switch. S3、S4And S5Is a TOR switch. C1、C2、N1、N2And N3Are servers that are mounted under the TOR switch in the topology network architecture and belong to the same multicast group. The TOR switch may be configured to forward the multicast packet.
The topology network architecture for guaranteeing global ordering of multicast through TOR switches disclosed in the embodiment of the present application is not limited to the two-layer topology network architecture disclosed in fig. 2, and may also be a topology network architecture with more than three layers including TOR switches, aggregation switches, and core switches, as shown in fig. 3. That is, a topology network architecture with more than three layers may add one or more network layers between the layer where the TOR switches of fig. 2 are located and the layer where the core switches are located, where the one or more network layers include one or more aggregation switches.
In order to solve the technical problem that the global ordering of multicast cannot be guaranteed at present, in the embodiment of the present application, a TOR switch establishes a virtual token ring network in advance for maintaining and forwarding a virtual token. The virtual token is used for triggering the TOR switch to send a multicast message from a downstream port. The first TOR switch sends the multicast packet from the downstream port of the first TOR switch to the second TOR switch, and then sends the virtual token to the second TOR switch, and the multicast packet is forwarded to the second TOR switch along the shortest path, so that the multicast packet from the downstream port of the first TOR switch is already forwarded to the second TOR switch before the virtual token is forwarded to the second TOR switch, and after the second forwarding device receives the virtual token, the time for transmitting the multicast packet from the downstream port to other forwarding devices is necessarily behind the time for the multicast packet sent from the first forwarding device to the second forwarding device to reach the second forwarding device, which is helpful for realizing global ordering of multicast.
In this embodiment of the present application, the process of configuring the first TOR switch and establishing the virtual token ring network corresponding to the multicast group to which the first TOR switch belongs is as follows:
1. the static configuration mode is as follows:
due to each timeTable (Ref. Table)The TOR switch can mount tens of servers, and only a small number of TOR switches need to be configured in a distributed system under the environment of hundreds of servers, so that in the distributed system with a small number of TOR switches, the TOR switches can adopt a static configuration mode to establish a virtual token ring network, and the switches in the virtual token ring network perform token transmission and maintenance. The static configuration mode is executed under the condition that the TOR switch is defaulted as a root node switch in a virtual token ring network corresponding to the multicast group to which the TOR switch belongs, and the specific process is as follows:
the first TOR switch determines the multicast group identification of the first TOR switch;
the first TOR switch acquires a multicast group identifier to which a target switch belongs;
the first TOR switch judges whether the multicast group identification of the target switch is the same as the multicast group identification of the first TOR switch;
if yes, sending a setup instruction to the other TOR switches, wherein the setup instruction is used for indicating a target switch belonging to the same multicast group with the first TOR switch to construct a virtual token ring network;
if not, giving up, and continuously judging whether the multicast group identification of other exchangers is the same as the multicast group identification of the exchanger.
Wherein the target switch may be a forwarding device of a multicast group to which the first TOR switch belongs.
2. Dynamic configuration mode:
specifically, the TOR switch may select a mode of Snooping (Internet group management Protocol, IGMP Snooping) through an Internet group management Protocol or construct a virtual token ring by using a gmrp (garp multicasting Protocol):
wherein, the TOR switch configures the first TOR switch by an IGMP manner, and the process of establishing the virtual token ring network includes:
the first TOR switch monitors an Internet group management protocol IGMP message;
the first TOR switch determines a multicast group to which the first TOR switch belongs according to an identifier of the multicast group included in the IGMP message;
the first TOR switch judges whether a member broadcast message sent by a root node in a virtual token ring network corresponding to a multicast group is monitored within preset time or not according to the multicast group to which the first TOR switch belongs;
if so, the first TOR switch sends an adding message to the root node, and the adding message is used for requesting the root node to add the virtual token ring network;
and if not, the first TOR switch sends a set-up instruction to a target TOR switch in the multicast to which the first TOR switch belongs, wherein the set-up instruction is used for indicating the target TOR switch belonging to the same multicast group as the first TOR switch to construct a virtual token ring network.
The IGMP message monitored by the first TOR switch includes an identifier of a multicast group, where the multicast group is a multicast group to which the first TOR switch belongs. The member broadcast message is a broadcast message sent to a member in the multicast group by a root node in a virtual token ring network corresponding to the multicast group to which the first TOR switch belongs.
The TOR switch configures the first TOR switch in a GMRP mode, and the process of establishing the virtual token ring network comprises the following steps:
the first TOR switch acquires a general attribute multicast registration protocol (GMRP) message;
the first TOR switch determines a multicast group corresponding to the identifier of the multicast group according to the identifier of the multicast group included in the GMRP message, and adds the multicast group into the multicast group;
the first TOR switch judges whether a member broadcast message sent by a root node in a virtual token ring network corresponding to the multicast group is monitored within preset time according to the multicast group corresponding to the identifier of the multicast group;
if so, the first TOR switch sends an adding message to the root node, wherein the adding message is used for requesting the root node to add a virtual token ring network to which the root node belongs;
and if not, the first TOR switch sends a set-up instruction to the TOR switches in the multicast, wherein the set-up instruction is used for indicating a target TOR switch which belongs to the same multicast group as the first TOR switch to construct a virtual token ring network.
Specifically, as shown in fig. 4, in the embodiment of the present application, an Ethernet II Ethernet frame is expanded, and a first Ethernet frame, a second Ethernet frame, and a third Ethernet frame are generated respectively. The first ethernet frame is used to send member broadcast messages, the second ethernet frame is used to send join messages, and the third ethernet frame is used to send virtual tokens.
It should be noted that, with reference to table 1, the expansion of the Ethernet II Ethernet frame in the embodiment of the present invention specifically includes: the Type bit of the Ethernet II Ethernet frame is expanded, wherein the expanded size is 0x88D1, which represents the signaling for the virtual ring network. DMAC denotes the destination MAC address, SMAC denotes the source MAC address, and CRC denotes the cyclic redundancy check.
The Data part comprises the following frame contents that a Multicast address Multicast addr represents a Multicast address of a virtual ring network formed by TOR switches and used for maintaining token transmission, SubType SubType represents different message types in the process of the virtual ring network formed by the TOR switches and used for maintaining token transmission, such as the joining message mentioned above, member broadcast messages, tokens and the like, the length L ength represents the total length of the Data message, different frame contents defined according to the type of SubType SubType can also be included in the Data part, if the SubType SubType represents the token message, a virtual ring network member list formed by the TOR switches and used for maintaining token transmission can include a sequence number, and the like, wherein the attributes listed in an Attribute Attribute field in the table 1 are not necessarily all present in a first Ethernet frame, a second Ethernet frame and a third Ethernet frame, and the determination of the message types respectively carried in the first Ethernet frame, the second Ethernet frame and the third Ethernet frame is required, for example, group members are not required in the joining message.
Figure BDA0000960926570000111
Figure BDA0000960926570000121
TABLE 1
The following specifically describes the frame structures of the first ethernet frame, the second ethernet frame, and the third ethernet frame for sending the member broadcast packet, the join packet, and the virtual token, respectively:
the member broadcast message is sent through a preset first Ethernet frame;
the preset first ethernet frame structure includes:
a Type field, wherein the Type field indicates that the first Ethernet frame is used for signaling of a virtual ring network;
a Multicast address Multicast addr field, wherein the Multicast address Multicastaddr field represents a Multicast address of the virtual ring network;
a Subtype field, wherein the Subtype field represents a message type carried by the first Ethernet frame, and the message type is a member broadcast message;
a length L ength field, wherein the length L ength field represents the total length of the member broadcast message;
an Attribute field, wherein the Attribute field represents an Attribute of the member broadcast message.
The adding message is sent through a preset second Ethernet frame;
the preset second ethernet frame structure includes:
a Type field, wherein the Type field indicates that the second ethernet frame is used for signaling of a virtual ring network;
a Multicast address Multicast addr field, wherein the Multicast address Multicast addr field represents a Multicast address of the virtual ring network;
a Subtype type field, where the Subtype type field indicates a packet type carried by the second ethernet frame, and the packet type is an add packet;
a length L ength field, wherein the length L ength field represents the total length of the join message;
an Attribute field, wherein the Attribute field represents the Attribute of the added message. The virtual token is sent through a preset third Ethernet frame;
the preset third ethernet frame structure includes:
a Type field, wherein the Type field indicates that the second ethernet frame is used for signaling of a virtual ring network;
a Multicast address Multicast addr field, wherein the Multicast address Multicast addr field represents a Multicast address of the virtual ring network;
a Subtype type field, where the Subtype type field indicates a packet type carried by the third ethernet frame, and the packet type is a virtual token;
a length L ength field, the length L ength field representing a total length of the virtual token;
an Attribute Attribute field that represents an Attribute of the virtual token.
After the first TOR switch is configured and the virtual token ring network is established, the TOR switch in the virtual token ring network maintains and forwards the virtual token, so that the global ordering of multicast is ensured.
Referring to fig. 5, a flowchart of a method for multicast packet transmission based on an established virtual token ring network according to an embodiment of the present application is shown, where the method is executed by a TOR switch, and in this embodiment, an example of any one of the TOR switches in fig. 2 is taken as an example to describe the method, where the method includes:
s101: a first TOR switch receives a multicast message from a downstream port;
it should be noted that the multicast packet received by the first TOR switch may be a multicast packet from a downstream port in the first TOR switch, or a multicast packet from an upstream port in the first TOR switch. The downstream port is a port of the first TOR switch, which is capable of communicating with a multicast receiver, the upstream port is a port capable of communicating with an upstream device (such as a core switch or an aggregation switch), the upstream device is the core switch or the aggregation switch that receives the virtual token, and the upstream device is configured to send a multicast packet from the multicast source to the TOR switch that receives the virtual token.
Optionally, after receiving the multicast packet from the upstream port, the first TOR switch determines a downstream port corresponding to the multicast receiver according to the identifier of the multicast group. And the first TOR switch can send the multicast message through the determined downstream port by a multicast receiver needing to receive the multicast message.
As in FIG. 2, for TOR switch S3In particular, the port to which the server is connected is a downstream port, such as server C1The connected port is the downstream port. The ports connected to the core or aggregation switches being upstream ports, e.g. to S1The connected port is an upstream port.
S102: a first TOR switch acquires a virtual token, wherein the virtual token is used for indicating the TOR switch receiving the virtual token to send a multicast message from a downstream port of the TOR switch to the upstream port of the TOR switch;
optionally, the virtual token further includes an identifier of a multicast group, and the multicast packet is a multicast packet corresponding to the multicast group.
Under the condition that the first TOR switch is a root node of a virtual token ring network, the process of acquiring the virtual token by the first TOR switch comprises the following steps:
the first TOR switch generates a virtual token;
under the condition that the first TOR switch is not a root node switch of a virtual token ring network, the process of acquiring the virtual token by the first TOR switch comprises the following steps: the first TOR switch receives the virtual token sent by the third TOR switch, the third TOR switch is the TOR switch which is taken as a root node in the virtual token ring network, or the third TOR switch is the TOR switch except the root node and the first TOR switch in the virtual token ring network.
S103: the first TOR switch judges whether the multicast message comes from a downstream port of the first TOR switch; if yes, executing S104; if not, executing S107;
after receiving the multicast message, the TOR switch first determines a port number of a port from which the received multicast message comes from a pre-stored forwarding table, and then judges whether the port number of the port from which the multicast message comes belongs to a downstream port number or an upstream port number according to information of an upstream port and a downstream port included in the pre-stored forwarding table. Thereby determining whether the multicast packet is from a downstream port or an upstream port of the first TOR switch.
The content carried in the pre-stored forwarding table entry includes: a virtual local area network number or a virtual switch interface name, a multicast group address, a downstream port number, and an upstream port number, which are not limited herein.
S104: adding a priority identifier in the received multicast message from the downstream port by the first TOR switch;
wherein, the multicast message sent through the upstream port further includes the identifier of the priority. The priority mark is used for indicating that the multicast message to which the mark belongs is processed preferentially.
The priority identifier indicates that the forwarding order of the multicast packet from the downstream port is before the forwarding order of the virtual token, and indicates that all switches (including TOR switches, core switches or aggregation switches) have the highest priority for forwarding the multicast packet in a topology network architecture, and any switch preferentially forwards the multicast packet after receiving the multicast packet marked with the priority identifier, and then forwards the virtual token. In the forwarding process, the multicast message from the downstream port of the first TOR switch is forwarded before the virtual token, so as to further ensure that when the virtual token is transmitted from the first TOR switch to the second TOR switch, the multicast message from the downstream port of the first TOR switch is already transmitted to the second TOR switch.
S105: the first TOR switch sends the multicast message through the upstream port along the shortest path;
it should be noted that, because the multicast packet transmission method in the embodiment of the present application is applied to a topology structure, in the structure, information transmission is performed between an upper node and a lower node, and data exchange is not performed between adjacent nodes or nodes on the same layer. Therefore, in this embodiment of the present application, the upper layer switch is configured to forward the multicast packet and the virtual token to a second TOR switch.
The shortest path is a path with the minimum hop count of the multicast message from the first TOR switch to the second TOR switch. Therefore, the multicast process is fast in execution speed, the transmission path of the multicast message is short, and the transmission overhead of the message is saved.
The following describes the derivation process of the threshold setting value in the embodiment of the present application in detail with reference to a specific example:
for example, the TOR exchanges in the virtual token ring network are S1, S2, and S3 … … Sk, respectively, and k is an integer greater than 3. Assuming that the current switch S1 receives the virtual token and the multicast packet from the downstream port received by the switch S1 is not blocked in the network; when the distance from the multicast packet received by the current switch (switch S1) to the most distant TOR switch is dmax, the switch S1 sends the multicast packet to the most distant TOR switch, and the time required for the multicast packet to reach the most distant TOR switch is dmax × T + T' × m. Wherein, T is the time length required by each hop passing from the switch S1 to the middle of the most distant TOR switch for the multicast message; t' is the time duration required for the switch S1 to process or transmit a multicast message, and m indicates that m multicast messages need to be sent before the multicast message currently received by the switch S1.
The time for the virtual token to pass from switch S1 to the next hop TOR switch Si is: d1iT + T'. Mmax. Wherein, Mmax represents the number of multicast messages to be processed in the cache when the TOR switch Si receives the token currently. For the switch Sj, to ensure the ordering, it needs to ensure that the time when the multicast packet from the switch S1 arrives at the switch Sj is earlier than the time when the multicast packet from the switch Si arrives at the switch Sj. Wherein i and j are integers greater than 1 and less than or equal to k, d1iIndicating the number of hops passed between S1 and Si.
The time when the multicast packet from switch S1 arrives at switch Sj can be expressed as:
Ta=d1j*T+T'*m,
wherein d is1jThe number of the passing hops between the S1 and the Sj is shown, and T is the time length required by each passing hop from the switch S1 to the middle of the TOR switch which is farthest away; t' is the time duration required for the switch S1 to process or transmit a multicast message, m indicates that m multicast messages need to be sent before the currently received multicast message on the switch S1;
the time when the multicast packet from the switch Si reaches the switch Sj can be expressed as:
Tb=T1i+Tij=(d1i*T+T'*Mmax)+(dij*T+T'*n)=(d1i+dij)*T+T'*(Mmax+n);
wherein, T1i represents the time when the multicast packet from the switch S1 reaches the switch Si; tij represents the time when the multicast message from the switch Si reaches the switch Sj; d1iRepresents the number of hops passed between S1 and Si; dijRepresenting the hop count passing between Si and Sj; t is the time length required for each hop passing from the switch S1 to the most distant TOR switch; t' is the time duration required for the switch S1 to process or transmit a multicast message, m indicates that m multicast messages need to be sent before the multicast message currently received on the switch Si; mmax represents the number of multicast messages needing to be processed in the cache when the TOR switch Si receives the token currently; n indicates before the switch Si sends the multicast messageThe number of multicast messages to be sent;
then the following is required:
Tb–Ta=(d1i+dij)*T+T'*(Mmax+n)-(d1j*T+T'*m)=(d1i+dij–d1j)*T+T'*(Mmax+n–m)>0;
when the TOR switch receives the token currently, because the number Mmax of the multicast messages needing to be processed in the cache represents the total length of the multicast message queues stored in the cache, m represents the number of the multicast messages before the multicast messages currently received by the switch in the multicast message queues, and because the multicast messages currently received by the switch belong to one multicast message in the multicast message queues, the number of the multicast messages before one multicast message in the multicast message queues is inevitably smaller than the total length Mmax of the multicast message queues, and n is greater than 0, therefore, (Mmax + n-m) is inevitably greater than 0;
then d1i+dij–d1jAnd more than or equal to 0 is a precondition for ensuring the orderliness.
When the topology is two layers, d1i≤2,dij≤2,d1jLess than or equal to 2 is certainly true;
when the topology is three layers, d is more than or equal to 2li≤4,2≤dij≤4,2≤dljLess than or equal to 4, which is certainly true;
therefore, from the formula, only d1i+dij–d1jIf the number of the messages is more than or equal to 0, namely the messages from the first TOR switch to the second TOR switch adopt the minimum hop count, the global ordering of the multicast can be realized. Wherein d isijRepresenting the number of hops passed between Si and Sj, d1jIndicating the number of hops passed between S1 and Sj.
S106: after the first TOR switch sends the multicast message along the shortest path, the first TOR switch sends the virtual token to a second TOR switch;
optionally, the first TOR switch may send the virtual token to the second TOR switch through an upstream port that sends the multicast packet after sending the multicast packet along a shortest path.
S107: and the first TOR switch sends the multicast message to a multicast receiver.
Optionally, the multicast receiver may be a target server, and the target server is a server mounted under the first TOR switch.
When judging that the received multicast message is not from the downstream port, namely from the upstream port, the token acquisition is not executed, and the multicast message from the upstream port is directly forwarded to the corresponding multicast receiver.
The following describes the multicast packet transmission method disclosed in the above embodiment in detail with reference to a specific network architecture, and the specific contents are as follows:
firstly, the method comprises the following steps: taking the two-layer network architecture shown in fig. 2 as an example, the multicast packet transmission method disclosed in the above embodiment of the present invention is explained in detail:
wherein S is1And S2Is a core switch, S3、S4And S5Being TOR switches, C1、C2、N1、N2And N3Are servers within the same multicast group.
At the exchange S3And S5Servers C on which they are mounted during periods when none of the tokens have been obtained1To S3Has sent the multicast message P1,C2To S5Has sent the multicast message P2。P1From S3Downstream port of, P2From S5To the downstream port of (a). S3Buffer P1Temporarily not forwarding P1。S5Buffer P2Temporarily not forwarding P1。S3After obtaining the virtual token, the virtual token includes an identifier of the multicast group, P1And P2Is the message, S, of the multicast group identified by the identifier of the multicast group3Sending P over an upstream port1As shown in FIG. 2, S3To S1And S2Sending P1。S5Can be converted from S by STP (Spanning Tree Protocol) or the like3-S1Or S3-S2One of the two routes is arbitrarily selected to receive P1Suppose S5From S1Receiving P1,S5Receive P1The virtual token is not received because of P1From S5Upstream port of, S5P may be sent through a downstream port1E.g. S5Can forward the table item to C according to the multicast2And N3Sending P1。S3After sending the cached multicast message, for example, sending the cached P1,S3To S in multicast groups or token rings5Sending the virtual token (wherein S3To S in multicast groups or token rings5The process of sending the virtual token is firstly: s3To S' S in a multicast group or token ring3Next hop S of4Sending a virtual token, then S4To the S in the multicast group or token ring4Next hop S of5Sending virtual tokens, optionally S3To S4The route for sending the virtual token may be: s3-S1-S4,S4To S5The route for sending the virtual token may be S4-S2-S5)。S5After receiving the virtual token, sending the cached P through an upstream port2E.g. towards S1And S2Sending P2。S3Received from S1Or S2P of2Due to P2From S3Upstream port of, S3To C1And N1Sending P2. In the embodiment of the present application, let P be assumed2、P1Are generated at similar times (may take P)2、P1Generated at the same time), since the token is maintained by the TOR switch in the embodiments of the present application, at S5Receive P1Then, the token can be received, and the P can be paired again2Forwarding is performed, so that the order of receiving the multicast messages by all the nodes is ensured to be: p1Prior to P2And receiving the multicast message, namely ensuring the global order of the multicast message.
Secondly, the method comprises the following steps: taking the three-layer network architecture shown in fig. 3 as an example, the multicast packet transmission method disclosed in the above embodiment of the present invention is explained in detail:
wherein S is1And S2To a convergence switch, S0Is a core switch, S3、S4And S5Being TOR switches, C1、C2、N1、N2And N3Are servers within the same multicast group.
At the exchange S3And S5Servers C on which they are mounted during periods when none of the tokens have been obtained1To S3Has sent the multicast message P1,C2To S5Has sent the multicast message P2。P1From S3Downstream port of, P2From S5To the downstream port of (a). S3Buffer P1Temporarily not forwarding P1。S5Buffer P2Temporarily not forwarding P1。S3After obtaining the virtual token, the virtual token includes an identifier of the multicast group, P1And P2Is the message, S, of the multicast group identified by the identifier of the multicast group3Sending P over an upstream port1As shown in FIG. 2, S3To S1And S2Sending P1。S5One route can be selected from different routes by STP (Spanning Tree Protocol) and other protocols to receive P1Suppose S5Selecting a slave route S3-S1-S0-S2-S5Receiving P1,S5Receive P1The virtual token is not received because of P1From S5Upstream port of, S5P may be sent through a downstream port1E.g. S5Can forward the table item to C according to the multicast2And N3Sending P1。S3After sending the cached multicast message, for example, sending the cached P1,S3To S in multicast groups or token rings5Sending the virtual token (wherein S3To S in multicast groups or token rings5The process of sending the virtual token is firstly: s3To S' S in a multicast group or token ring3Next hop S of4Sending a virtual token, then S4To the S in the multicast group or token ring4Next hop S of5Sending virtual tokens, optionally S3To S4The route for sending the virtual token may be: s3-S1-S4,S4To S5The route for sending the virtual token may be S4-S2-S5)。S5After receiving the virtual token, sending the cached P through an upstream port2E.g. towards S1And S2Sending P2。S3Received from S1Or S2P of2Due to P2From S3Upstream port of, S3To C1And N1Sending P2. In the embodiment of the present application, let P be assumed2、P1Are generated at similar times (may take P)2、P1Generated at the same time), since the token is maintained by the TOR switch in the embodiments of the present application, at S5Receive P1Then, the token can be received, and the P can be paired again2Forwarding is performed, so that the order of receiving the multicast messages by all the nodes is ensured to be: p1Prior to P2And receiving the multicast message, namely ensuring the global order of the multicast message.
Currently, there are ways to address global ordering, for example: a rollback mode, a centralized serial number distribution mode, or an application layer token maintenance mode. The rollback mode needs to regenerate the multicast request, which has the problems of high cost and low system throughput. The method provided by the embodiment of the application does not need to adopt a rollback mode or regenerate the multicast request, thereby reducing the overhead and improving the system throughput. The centralized serial number distribution mode aggravates the burden of the central node, the whole serial number distribution process cannot be guaranteed after the central node fails, and the problem of single-point failure exists. In the method provided by the embodiment of the present application, the TOR switches in the virtual token ring network perform transfer of the virtual token, and each TOR switch can maintain the virtual token instead of only one TOR switch maintaining the virtual token, which is beneficial to avoiding the problem of single point of failure. In the method for maintaining the token by the application layer, the loop for transmitting the virtual token is relatively long, a large overhead is also generated in the process of transmitting the virtual token, and the multicast message can be sent out only after each server in the same multicast group receives the virtual token transmitted in the multicast group, that is, each server in the same multicast group can only serially forward the multicast message. The embodiment of the application processes the virtual token in the TOR switch, the execution speed is high, the efficiency is high, each server can simultaneously upload the multicast message to the TOR switch, and the TOR switch and the like can forward the multicast message after acquiring the virtual token, so that the capability of the servers for processing data in parallel is improved.
The foregoing mainly introduces the solution provided in the embodiment of the present application from the perspective of the first TOR switch. It is to be understood that, in order to implement the above functions, the first TOR switch includes a hardware structure and/or a software module for performing the respective functions.
Fig. 6 shows a schematic diagram of a possible configuration of the first forwarding device according to the above-described embodiment. The first forwarding device shown in fig. 6 may be the first TOR switch in the method provided in the embodiment of the present application. The first forwarding device shown in fig. 6 may perform the method provided by the corresponding embodiment of fig. 5.
The first forwarding device provided by the embodiment of the application comprises:
a receiving unit 11, configured to receive a multicast packet from a downstream port, where the downstream port is a port that can communicate with a multicast receiver on the first forwarding device;
an obtaining unit 12, configured to obtain a virtual token, where the virtual token is used to instruct a forwarding device that receives the virtual token to send a multicast packet from a downstream port of the forwarding device to an upstream port of the forwarding device, where the upstream port is a port capable of communicating with an upstream device;
a first sending unit 13, configured to send the multicast packet through the upstream port along a shortest path;
a second sending unit 14, configured to send the virtual token to a second forwarding device after sending the multicast packet along the shortest path.
Wherein, the first sending unit 13 sends the multicast packet after the obtaining unit 12 obtains the virtual token. The second sending unit 14 sends the virtual token after the first sending unit 13 sends the multicast packet.
Based on the above first forwarding device embodiment, the present application may further select a suitable unit from the following units to form a new first forwarding device, and a specific forming manner may be determined according to the related description in the method embodiment, which is not described in detail in this embodiment.
Optionally, the method further includes:
and the adding unit is used for adding a priority identifier in the received multicast message from the downstream port.
Optionally, the method further includes:
and the establishing unit is used for configuring the first forwarding equipment and establishing a virtual token ring network corresponding to the multicast group to which the first forwarding equipment belongs.
Optionally, the method further includes:
the judging unit is used for judging whether the self is a root node in the virtual token ring network corresponding to the multicast group to which the self belongs;
the obtaining unit 12 is configured to determine that the determining unit is the root node, and generate the virtual token;
the obtaining unit 12 is configured to receive the virtual token sent by a third forwarding device when the determining unit determines that the third forwarding device is not the root node, where the third forwarding device is a forwarding device in the virtual token ring network as the root node, or the third forwarding device is a forwarding device in the virtual token ring network except the root node and the first forwarding device.
The establishing unit is specifically configured to:
determining the identifier of the multicast group to which the first forwarding device belongs;
acquiring the identifier of a multicast group to which the target forwarding equipment belongs;
judging whether the identifier of the multicast group to which the target forwarding equipment belongs is the same as the identifier of the multicast group to which the first forwarding equipment belongs;
and if the two forwarding devices are the same, sending a building instruction to the target forwarding device, wherein the building instruction is used for indicating the target forwarding device which belongs to the same multicast group with the first forwarding device to build a virtual token ring network.
The establishing unit is specifically configured to:
monitoring an internet group management protocol IGMP message;
determining a multicast group to which the first forwarding device belongs according to an identifier of the multicast group included in the IGMP message;
judging whether a member broadcast message sent by a root node in a virtual token ring network corresponding to the multicast group is monitored within preset time or not according to the multicast group to which the first forwarding equipment belongs;
if so, sending an adding message to the root node, wherein the adding message is used for requesting the root node to add the virtual token ring network;
and if not, sending a building instruction to target forwarding equipment in the multicast to which the target forwarding equipment belongs, wherein the building instruction is used for indicating the target forwarding equipment which belongs to the same multicast group as the first forwarding equipment to build a virtual token ring network.
The establishing unit is specifically configured to:
acquiring a general attribute multicast registration protocol (GMRP) message;
determining a multicast group corresponding to the identifier of the multicast group according to the identifier of the multicast group included in the GMRP message, and adding the multicast group into the multicast group;
judging whether a member broadcast message sent by a root node in a virtual token ring network corresponding to the multicast group is monitored within preset time or not according to the multicast group corresponding to the identifier of the multicast group;
if so, sending an adding message to the root node to request to add to the virtual token ring network to which the root node belongs;
and if not, sending a building instruction to forwarding equipment in the multicast, wherein the building instruction is used for indicating target forwarding equipment which belongs to the same multicast group as the first forwarding equipment to build a virtual token ring network.
As shown in fig. 7, an embodiment of the present application further discloses a forwarding device 20, where the forwarding device 20 includes: a processor 21, a memory 22, a communication interface 23; the processor 21 is connected to a memory 22 and a communication interface 23 via a communication bus 24. The memory 22 is used to store programs. The memory 22 may also be used to store data generated during the execution of the program.
The processor 21 reads the program from the memory 22, and performs the following operations:
receiving a multicast packet through a downstream port in the communication interface 23;
obtaining a virtual token, where the virtual token is used to instruct the forwarding device that receives the virtual token to send a multicast packet from its downstream port to its upstream port, where the upstream port is a port that can communicate with an upstream device in the communication interface 23;
sending the multicast packet through an upstream port in the communication interface 23 along a shortest path;
and after the multicast message is sent along the shortest path, the virtual token is sent to a second forwarding device.
Wherein, the processor 21 may send the multicast packet through an upstream port in the communication interface 23 along a shortest path after obtaining the virtual token.
The forwarding device shown in fig. 7 may adopt the method provided by the embodiment of the present application. The forwarding device shown in fig. 7 may be the same device as the first forwarding device shown in fig. 6.
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.
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.
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 invention may be embodied in the form of a software product, which is stored in a storage medium and includes 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 invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
The above-mentioned embodiments are intended to illustrate the objects, aspects and advantages of the present invention in further detail, and it should be understood that the above-mentioned embodiments are only exemplary embodiments of the present invention, and are not intended to limit the scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.

Claims (12)

1. A method for multicast message transmission, comprising:
the first forwarding equipment establishes a virtual token ring network corresponding to the multicast group to which the first forwarding equipment belongs according to the configuration;
the first forwarding equipment receives a multicast message from a downstream port, wherein the downstream port is a port which can be communicated with a multicast receiver on the first forwarding equipment;
the first forwarding device obtains a virtual token, where the virtual token is used to instruct the forwarding device that receives the virtual token to send a multicast packet from a downstream port of the forwarding device to an upstream port of the forwarding device, and the upstream port is a port that can communicate with a core switch or an aggregation switch on the first forwarding device;
the first forwarding equipment sends the multicast message through the upstream port along the shortest path;
and after the first forwarding device sends the multicast message along a shortest path, the first forwarding device sends the virtual token to a second forwarding device, wherein the shortest path is a path with the minimum hop count of the multicast message from the first forwarding device to the second forwarding device.
2. The method of claim 1, wherein before the first forwarding device sends the multicast packet through the upstream port, the method further comprises:
and the first forwarding equipment adds a priority identifier in the received multicast message from the downstream port.
3. The method of claim 1 or 2, further comprising: the first forwarding equipment judges whether the first forwarding equipment is a root node in a virtual token ring network corresponding to the multicast group to which the first forwarding equipment belongs;
if yes, the first forwarding device obtaining the virtual token comprises: the first forwarding device generating the virtual token;
if not, the first forwarding device obtaining the virtual token comprises:
and the first forwarding device receives the virtual token sent by a third forwarding device, wherein the third forwarding device is a forwarding device serving as a root node in the virtual token ring network, or the third forwarding device is a forwarding device except the root node and the first forwarding device in the virtual token ring network.
4. The method according to claim 1 or 2, wherein the establishing, by the first forwarding device according to the configuration, the virtual token ring network corresponding to the multicast group to which the first forwarding device belongs includes:
the first forwarding equipment determines the identifier of the multicast group to which the first forwarding equipment belongs;
the first forwarding equipment acquires the identifier of the multicast group to which the target forwarding equipment belongs;
the first forwarding device judges whether the identifier of the multicast group to which the target forwarding device belongs is the same as the identifier of the multicast group to which the first forwarding device belongs;
and if the two forwarding devices are the same, the first forwarding device sends a building instruction to the target forwarding device, wherein the building instruction is used for indicating the target forwarding device which belongs to the same multicast group as the first forwarding device to build a virtual token ring network.
5. The method according to claim 1 or 2, wherein the establishing, by the first forwarding device according to the configuration, the virtual token ring network corresponding to the multicast group to which the first forwarding device belongs includes:
the first forwarding equipment monitors an internet group management protocol IGMP message;
the first forwarding device determines a multicast group to which the first forwarding device belongs according to an identifier of the multicast group included in the IGMP message;
the first forwarding equipment judges whether a member broadcast message sent by a root node in a virtual token ring network corresponding to a multicast group is monitored within preset time or not according to the multicast group to which the first forwarding equipment belongs;
if so, the first forwarding equipment sends an adding message to the root node, and the adding message is used for requesting the root node to add the virtual token ring network;
and if not, the first forwarding equipment sends an establishment instruction to target forwarding equipment in the multicast to which the first forwarding equipment belongs, wherein the establishment instruction is used for indicating the target forwarding equipment which belongs to the same multicast group as the first forwarding equipment to establish the virtual token ring network.
6. The method according to claim 1 or 2, wherein the establishing, by the first forwarding device according to the configuration, the virtual token ring network corresponding to the multicast group to which the first forwarding device belongs includes:
the first forwarding equipment acquires a general attribute multicast registration protocol (GMRP) message;
the first forwarding equipment determines a multicast group corresponding to the identifier of the multicast group according to the identifier of the multicast group included in the GMRP message, and adds the multicast group into the multicast group;
the first forwarding equipment judges whether a member broadcast message sent by a root node in a virtual token ring network corresponding to the multicast group is monitored within preset time according to the multicast group corresponding to the identifier of the multicast group;
if so, the first forwarding device sends an adding message to the root node, wherein the adding message is used for requesting the root node to add a virtual token ring network to which the root node belongs;
and if not, the first forwarding equipment sends an establishment instruction to the forwarding equipment in the multicast, wherein the establishment instruction is used for indicating the target forwarding equipment which belongs to the same multicast group as the first forwarding equipment to establish the virtual token ring network.
7. A first forwarding device, comprising:
the establishing unit is used for establishing a virtual token ring network corresponding to a multicast group to which the first forwarding equipment belongs according to configuration;
a receiving unit, configured to receive a multicast packet from a downstream port, where the downstream port is a port that can communicate with a multicast receiver on the first forwarding device;
an obtaining unit, configured to obtain a virtual token, where the virtual token is used to instruct a forwarding device that receives the virtual token to send a multicast packet from a downstream port of the forwarding device to an upstream port of the forwarding device, where the upstream port is a port that is on the first forwarding device and is capable of communicating with a core switch or an aggregation switch;
a first sending unit, configured to send the multicast packet through the upstream port along a shortest path;
and a second sending unit, configured to send the virtual token to a second forwarding device after sending the multicast packet along a shortest path, where the shortest path is a path where the number of hops of the multicast packet from the first forwarding device to the second forwarding device is the minimum.
8. The first forwarding device of claim 7, further comprising:
and the adding unit is used for adding a priority identifier in the received multicast message from the downstream port.
9. The first forwarding device of claim 7 or 8, further comprising:
the judging unit is used for judging whether the self is a root node in the virtual token ring network corresponding to the multicast group to which the self belongs;
the acquiring unit is used for determining that the acquiring unit is the root node at the judging unit and generating the virtual token;
the obtaining unit is configured to receive the virtual token sent by a third forwarding device when the determining unit determines that the third forwarding device is not the root node, where the third forwarding device is a forwarding device in the virtual token ring network serving as the root node, or the third forwarding device is a forwarding device in the virtual token ring network except the root node and the first forwarding device.
10. The first forwarding device of claim 7 or 8, wherein the establishing unit is specifically configured to:
determining the identifier of the multicast group to which the first forwarding device belongs;
acquiring the identifier of a multicast group to which the target forwarding equipment belongs;
judging whether the identifier of the multicast group to which the target forwarding equipment belongs is the same as the identifier of the multicast group to which the first forwarding equipment belongs;
and if the two forwarding devices are the same, sending a building instruction to the target forwarding device, wherein the building instruction is used for indicating the target forwarding device which belongs to the same multicast group with the first forwarding device to build a virtual token ring network.
11. The first forwarding device of claim 7 or 8, wherein the establishing unit is specifically configured to:
monitoring an internet group management protocol IGMP message;
determining a multicast group to which the first forwarding device belongs according to an identifier of the multicast group included in the IGMP message;
judging whether a member broadcast message sent by a root node in a virtual token ring network corresponding to the multicast group is monitored within preset time or not according to the multicast group to which the first forwarding equipment belongs;
if so, sending an adding message to the root node, wherein the adding message is used for requesting the root node to add the virtual token ring network;
and if not, sending a building instruction to target forwarding equipment in the multicast to which the target forwarding equipment belongs, wherein the building instruction is used for indicating the target forwarding equipment which belongs to the same multicast group as the first forwarding equipment to build a virtual token ring network.
12. The first forwarding device of claim 7 or 8, wherein the establishing unit is specifically configured to:
acquiring a general attribute multicast registration protocol (GMRP) message;
determining a multicast group corresponding to the identifier of the multicast group according to the identifier of the multicast group included in the GMRP message, and adding the multicast group into the multicast group;
judging whether a member broadcast message sent by a root node in a virtual token ring network corresponding to the multicast group is monitored within preset time or not according to the multicast group corresponding to the identifier of the multicast group;
if so, sending an adding message to the root node to request to add to the virtual token ring network to which the root node belongs;
and if not, sending a building instruction to forwarding equipment in the multicast, wherein the building instruction is used for indicating target forwarding equipment which belongs to the same multicast group as the first forwarding equipment to build a virtual token ring network.
CN201610219111.0A 2016-04-08 2016-04-08 Multicast message transmission method and forwarding equipment Active CN107276774B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610219111.0A CN107276774B (en) 2016-04-08 2016-04-08 Multicast message transmission method and forwarding equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610219111.0A CN107276774B (en) 2016-04-08 2016-04-08 Multicast message transmission method and forwarding equipment

Publications (2)

Publication Number Publication Date
CN107276774A CN107276774A (en) 2017-10-20
CN107276774B true CN107276774B (en) 2020-07-24

Family

ID=60052058

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610219111.0A Active CN107276774B (en) 2016-04-08 2016-04-08 Multicast message transmission method and forwarding equipment

Country Status (1)

Country Link
CN (1) CN107276774B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109743250B (en) * 2018-12-07 2020-09-04 华为技术有限公司 Transmission method of multicast message, first network equipment and second network equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1894890A (en) * 2003-12-19 2007-01-10 国际商业机器公司 System and method for communicating on a virtual ring in an internet protocol network
CN101005434A (en) * 2007-01-15 2007-07-25 杭州华为三康技术有限公司 Polymerizing method for two layer multicast virtual local area network and its convergent exchanger
CN102647323A (en) * 2012-03-28 2012-08-22 华为技术有限公司 Flow control method and device as well as clustering system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8634430B2 (en) * 2006-11-27 2014-01-21 Fujitsu Limited Multicast transmissions in optical burst transport

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1894890A (en) * 2003-12-19 2007-01-10 国际商业机器公司 System and method for communicating on a virtual ring in an internet protocol network
CN101005434A (en) * 2007-01-15 2007-07-25 杭州华为三康技术有限公司 Polymerizing method for two layer multicast virtual local area network and its convergent exchanger
CN102647323A (en) * 2012-03-28 2012-08-22 华为技术有限公司 Flow control method and device as well as clustering system

Also Published As

Publication number Publication date
CN107276774A (en) 2017-10-20

Similar Documents

Publication Publication Date Title
US7450527B2 (en) Method and apparatus for implementing multiple portals into an Rbridge network
US7580368B2 (en) Packet distribution control method
US8958423B2 (en) Implementing a multicast virtual private network by using multicast resource reservation protocol-traffic engineering
US8599683B2 (en) System and method for changing a delivery path of multicast traffic
US8730979B2 (en) Method and system for increasing forwarding efficiency of virtual private LAN service network
CN102055665B (en) OSPF point-to-multipoint over broadcast or NBMA mode
EP2989755B1 (en) Efficient multicast delivery to dually connected (vpc) hosts in overlay networks
US20080219264A1 (en) Upstream Label Allocation on Ethernets for MP2MP LSPS
US8929249B2 (en) System and method for virtual private local area network service to use the flow aware pseudowire
CN103873373A (en) Multicast data message forwarding method and equipment
WO2017028586A1 (en) Service message multicast method and device
US20140122704A1 (en) Remote port mirroring
WO2022062506A1 (en) Data processing method and apparatus, storage medium, and electronic apparatus
US20140226525A1 (en) Safe Multicast Distribution with Predictable Topology Changes
CN114465946B (en) Method, device and system for acquiring forwarding table item
CN107623630B (en) Bit index explicit copy information transfer method and device
US8971195B2 (en) Querying health of full-meshed forwarding planes
US10225091B2 (en) Method for implementing point-to-multipoint multicast, network node, and system
KR20190062525A (en) Method and software defined networking (SDN) controller for providing multicast service
CN103609063B (en) The method and apparatus that protocol independent multicast last hop router finds
EP2852115B1 (en) Information processing method, apparatus and system in trill networks
CN107276774B (en) Multicast message transmission method and forwarding equipment
WO2012103748A1 (en) Multicast control method, routing device and multicast system
WO2020168982A1 (en) Method for sending and obtaining assert message and network node
ES2797729T3 (en) Method and system to reduce the change in the DR of the PIM protocol

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
GR01 Patent grant
GR01 Patent grant