CN114448740B - Multicast method, device, medium, product and equipment - Google Patents

Multicast method, device, medium, product and equipment Download PDF

Info

Publication number
CN114448740B
CN114448740B CN202210040733.2A CN202210040733A CN114448740B CN 114448740 B CN114448740 B CN 114448740B CN 202210040733 A CN202210040733 A CN 202210040733A CN 114448740 B CN114448740 B CN 114448740B
Authority
CN
China
Prior art keywords
multicast
area network
local area
virtual local
multicast information
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
CN202210040733.2A
Other languages
Chinese (zh)
Other versions
CN114448740A (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.)
Nsfocus Technologies Inc
Nsfocus Technologies Group Co Ltd
Original Assignee
Nsfocus Technologies Inc
Nsfocus Technologies Group 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 Nsfocus Technologies Inc, Nsfocus Technologies Group Co Ltd filed Critical Nsfocus Technologies Inc
Priority to CN202210040733.2A priority Critical patent/CN114448740B/en
Publication of CN114448740A publication Critical patent/CN114448740A/en
Application granted granted Critical
Publication of CN114448740B publication Critical patent/CN114448740B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1886Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]

Abstract

The present disclosure relates to a multicast method, apparatus, medium, product and device. The access control list is pre-configured, and whether the destination IP address of the received message hits the IP address corresponding to the appointed VLAN is determined according to the access control list. If an IP address corresponding to a designated VLAN is hit, corresponding multicast information table link information is determined according to the access control list, and the corresponding multicast information table is queried according to the link information to obtain multicast information. Based on the obtained multicast information, the message is multicast to the hit VLAN. The method has the advantages that the host table, the outgoing interface index table, the outgoing interface table, the port mask table, the MTU table and the route MAC table are sequentially queried in a nested table lookup mode, the access control list and the multicast information table are queried only through configuration of the access control list, the number of tables needing to be queried is reduced, and message multicast to a hit VLAN can be rapidly realized.

Description

Multicast method, device, medium, product and equipment
Technical Field
The present disclosure relates to the field of data communications technologies, and in particular, to a multicast method, apparatus, medium, product, and device.
Background
This section is intended to provide a background or context to the embodiments of the disclosure recited in the claims. The description herein is not admitted to be prior art by inclusion in this section.
Multicast technology is understood to mean that in an Internet Protocol (IP) network, when the source host needs to send the same data to multiple target hosts, the source host may send only one piece of data, and the destination address of the data may be the address of a multicast group formed by multiple target hosts. Thus, all members belonging to the multicast group can receive a copy of the data sent by the source host.
A multicast group may be a Virtual Local Area Network (VLAN), and currently, multicasting may be implemented through a switch chip using a device using the switch chip. In the multicast process for VLAN, it is necessary to implement nested lookup of multiple tables through a switch chip. The multicast procedure for VLAN can be understood to include two cases: one can be understood as a process of multicasting from one VLAN to another VLAN and another can be understood as a process of multicasting from one non-VLAN to one VLAN.
A multicast schematic for a VLAN may be as shown in fig. 1. In fig. 1, it is assumed that the upstream router R1 multicasts a packet received from the Server1 to VLAN4 in the switch S1 (the packet flow multicast to VLAN4 in fig. 1 is indicated by a solid line). Further, S1 may copy a packet multicast to VLAN4, and continue multicasting the copied packet to VLAN2 (the packet flow multicast to VLAN2 in fig. 1 is indicated by a single-dot chain line) and VLAN3 (the packet flow multicast to VLAN2 in fig. 1 is indicated by a two-dot chain line), so that the upstream router R1 does not need to occupy multicast resources for VLAN2 and VLAN3, respectively, and thus both VLAN2 and VLAN3 may obtain the packet through multicast from VLAN4 to VLAN2 and VLAN 3.
The process of multicasting from a non-VLAN to a VLAN can be understood as the process of multicasting from a non-VLAN to a VLAN, taking the process of multicasting a message to a VLAN4 through a XX9301 chip as an example, and the nested table look-up process can be shown in figure 2. The XX9301 chip needs to first query the host table, and continuously query the outgoing interface index table 4 according to the link of the outgoing interface index table 4 corresponding to the VLAN4 given by the host table.
And continuously inquiring the output interface table 4 according to the corresponding output interface table 4 link given by the output interface index table 4.
The MTU table 4 and the routing physical address (MAC) table 4 are continuously queried according to the links of the corresponding Maximum Transmission Unit (MTU) table 4 and the routing MAC table 4 given by the outgoing interface table 4.
And according to the link of the corresponding port mask table 4 given by the interface index table 4, continuously inquiring the port mask table 4.
And finally multicasting the message to VLAN4 according to the information obtained by inquiring MTU table 4, route MAC table 4 and port mask table 4.
Similarly, in the process of multicasting from one VLAN to another VLAN, i.e. in the process of multicasting across VLANs, taking the continuous multicasting of the copied message to VLAN2 through the XX9301 chip as an example, the nested table look-up process can be as shown in fig. 3. The XX9301 chip needs to first query the host table, and continuously query the outgoing interface index table 4 according to the link of the outgoing interface index table 4 corresponding to the VLAN4 given by the host table.
The outbound interface index table 2 needs to be continuously queried according to the link of the outbound interface index table 2 corresponding to the VLAN2 given by the outbound interface index table 4.
And continuously inquiring the output interface table 2 according to the corresponding link of the output interface table 2 given by the output interface index table 2.
The MTU table 2 and the routing physical address (MAC) table 2 are continuously queried according to the links of the corresponding Maximum Transmission Unit (MTU) table 2 and the routing MAC table 2 given by the outgoing interface table 2.
And according to the links of the corresponding port mask table 2 given by the output interface index table 2, continuously inquiring the port mask table 2.
And finally multicasting the message to VLAN2 according to the information obtained by inquiring MTU table 2, route MAC table 2 and port mask table 2.
However, the multicast of the message aiming at the VLAN is realized by nested and inquired of a plurality of tables, so that the multicast realization speed aiming at the VLAN is slower, and particularly, the multicast realization speed is seriously influenced under the condition of larger data traffic. And the message multicast aiming at the VLAN is realized by nested and inquired a plurality of tables, more record table items and chip resources are occupied, and the performance requirement on equipment is higher. In addition, the number of egress interface tables supported by the switch chip is limited, which affects the number of VLANs that can be multicast.
Disclosure of Invention
The embodiment of the disclosure provides a multicast method, a device, a medium, a product and equipment, which are used for solving the problem of slower multicast implementation speed aiming at VLAN.
In a first aspect, the present disclosure provides a multicast method, the method comprising:
determining whether a destination internet protocol address of a received message hits an internet protocol address corresponding to a designated virtual local area network according to a pre-configured access control list;
if the destination internet protocol address of the received message is determined to hit an internet protocol address corresponding to a designated virtual local area network, determining multicast information table link information corresponding to the hit virtual local area network according to the access control list; inquiring a corresponding multicast information table according to the determined multicast information table link information;
and multicasting the received message to the hit virtual local area network according to the multicast information inquired from the multicast information table.
Optionally, the method further comprises:
determining whether the configuration information corresponding to the hit virtual local area network comprises a target virtual local area network identifier according to the access control list;
if yes, copying a received message according to the preset corresponding action of the access control list as copy multicast and aiming at each destination virtual local area network identifier.
Optionally, the method further comprises:
determining multicast information table linking information corresponding to the destination virtual local area network identifiers according to the access control list aiming at each destination virtual local area network identifier included in the configuration information; inquiring a corresponding multicast information table according to the determined multicast information table link information;
and multicasting the copied message to a target virtual local area network according to the multicast information queried from the multicast information table.
Optionally, multicasting the copied message to the destination virtual local area network according to the multicast information queried from the multicast information table, including:
determining whether the head Ethernet information of the copied message carries a virtual local area network tag;
if the message is determined to be carried, updating the virtual local area network label carried in the header Ethernet information of the message into a virtual local area network label corresponding to the target virtual local area network label, and multicasting the message to the target virtual local area network according to the multicast information inquired from the multicast information table.
Optionally, multicasting the copied message to the destination virtual local area network according to the multicast information queried from the multicast information table, and further including:
if the message is not carried, adding the virtual local area network label corresponding to the target virtual local area network identification into the head Ethernet information of the message, and multicasting the message to the target virtual local area network according to the multicast information inquired from the multicast information table.
Optionally, determining whether the destination ip address of the received packet hits in an ip address corresponding to the specified virtual local area network includes:
determining whether a destination internet protocol address of the received message hits an internet protocol address corresponding to the designated virtual local area network; the method comprises the steps of,
determining whether a source internet protocol address of the received message hits a set internet protocol address;
if it is determined that the destination ip address of the received packet hits an ip address corresponding to a specified virtual local area network, determining, according to the access control list, multicast information table link information corresponding to the hit virtual local area network, including:
if the destination internet protocol address of the received message is determined to hit an internet protocol address corresponding to a designated virtual local area network, and the source internet protocol address of the received message is determined to hit a set internet protocol address, determining multicast information table link information corresponding to the hit virtual local area network according to the access control list.
In a second aspect, the present disclosure also provides a multicast apparatus, the apparatus including:
the hit judging module is used for determining whether the destination internet protocol address of the received message hits the internet protocol address corresponding to the appointed virtual local area network according to the pre-configured access control list;
The table look-up module is used for determining multicast information table linking information corresponding to the hit virtual local area network according to the access control list if the destination internet protocol address of the received message is determined to hit the internet protocol address corresponding to the specified virtual local area network; inquiring a corresponding multicast information table according to the determined multicast information table link information;
and the multicast module is used for multicasting the received message to the hit virtual local area network according to the multicast information inquired from the multicast information table.
Optionally, the apparatus further includes:
the configuration information determining module is used for determining whether the configuration information corresponding to the hit virtual local area network comprises a target virtual local area network identifier according to the access control list;
and the copying module is used for copying a received message according to each destination virtual local area network identifier by taking the corresponding action pre-configured by the access control list as copying multicast if the message is determined to be included.
Optionally, the table look-up module is further configured to determine, for each destination virtual local area network identifier included in the configuration information, multicast information table linking information corresponding to the destination virtual local area network identifier according to the access control list; inquiring a corresponding multicast information table according to the determined multicast information table link information;
The multicast module is further configured to multicast the copied message to the destination virtual local area network according to the multicast information queried from the multicast information table.
Optionally, the multicast module multicasts the copied message to the destination virtual local area network according to the multicast information queried from the multicast information table, including: determining whether the head Ethernet information of the copied message carries a virtual local area network tag; if the message is determined to be carried, updating the virtual local area network label carried in the header Ethernet information of the message into a virtual local area network label corresponding to the target virtual local area network label, and multicasting the message to the target virtual local area network according to the multicast information inquired from the multicast information table.
Optionally, the multicast module multicasts the copied message to the destination virtual local area network according to the multicast information queried from the multicast information table, and further includes: if the message is not carried, adding the virtual local area network label corresponding to the target virtual local area network identification into the head Ethernet information of the message, and multicasting the message to the target virtual local area network according to the multicast information inquired from the multicast information table.
Optionally, the hit determination module is specifically configured to determine whether a destination ip address of the received packet hits an ip address corresponding to the specified virtual local area network; determining whether the source internet protocol address of the received message hits the set internet protocol address;
The table look-up module determines multicast information table link information corresponding to the hit virtual local area network according to the access control list if the destination internet protocol address of the received message is determined to hit the internet protocol address corresponding to the specified virtual local area network, including: if the destination internet protocol address of the received message is determined to hit an internet protocol address corresponding to a designated virtual local area network, and the source internet protocol address of the received message is determined to hit a set internet protocol address, determining multicast information table link information corresponding to the hit virtual local area network according to the access control list.
In a third aspect, the present disclosure also provides a computer program product comprising an executable program to be executed by a processor to implement a method as described above.
In a fourth aspect, the present disclosure also provides a non-volatile computer storage medium storing an executable program that is executed by a processor to implement the method as described above.
In a fifth aspect, the present disclosure further provides a multicast device, including a processor, a communication interface, a memory, and a communication bus, where the processor, the communication interface, and the memory complete communication with each other through the communication bus;
The memory is used for storing a computer program;
the processor, when executing the program stored on the memory, implements the method steps described above.
According to the scheme provided by the embodiment of the disclosure, the access control list can be preconfigured, and whether the destination IP address of the received message hits the IP address corresponding to the appointed VLAN can be determined according to the access control list. If an IP address corresponding to a designated VLAN is hit, corresponding multicast information table link information can be determined according to the access control list, and the corresponding multicast information table is queried according to the link information to obtain multicast information. So that the message can be multicast to the hitting VLAN based on the obtained multicast information. Thus, the host table, the outgoing interface index table, the outgoing interface table, the port mask table, the MTU table and the route MAC table are not required to be sequentially queried in a nested table look-up mode like the prior art, and only the access control list and the multicast information table are required to be queried through configuration of the access control list, so that the number of tables required to be queried is reduced, and message multicast to a hit VLAN can be rapidly realized.
Additional features and advantages of the disclosure will be set forth in the description which follows, and in part will be apparent from the description, or may be learned by practice of the disclosure. The objectives and other advantages of the disclosure will be realized and attained by the structure particularly pointed out in the written description and claims thereof as well as the appended drawings.
Drawings
In order to more clearly illustrate the embodiments of the present disclosure or the technical solutions in the prior art, the drawings that are required in the embodiments or the description of the prior art will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present disclosure, and other drawings may be obtained according to these drawings without inventive effort to a person of ordinary skill in the art.
Fig. 1 is a schematic multicast diagram for VLAN provided in the background art;
FIG. 2 is a schematic diagram of a nested look-up table process provided in the background;
FIG. 3 is a schematic diagram of a nested look-up table process provided in the background;
fig. 4 is a flow chart of a multicast method according to an embodiment of the present disclosure;
fig. 5 is a schematic diagram of a multicast network topology provided in an embodiment of the present disclosure;
fig. 6 is a schematic diagram of a multicast flow provided in an embodiment of the present disclosure;
fig. 7 is a schematic structural diagram of a multicast device according to an embodiment of the present disclosure;
fig. 8 is a schematic structural diagram of a multicast device according to an embodiment of the present disclosure.
Detailed Description
For the purpose of promoting an understanding of the principles and advantages of the disclosure, reference will now be made in detail to the drawings, in which it is apparent that the embodiments described are only some, but not all embodiments of the disclosure. Based on the embodiments in this disclosure, all other embodiments that a person of ordinary skill in the art would obtain without making any inventive effort are within the scope of protection of this disclosure.
It should be noted that, as used herein, reference to "a plurality of" or "a plurality of" means two or more. "and/or", describes an association relationship of an association object, and indicates that there may be three relationships, for example, a and/or B, and may indicate: a exists alone, A and B exist together, and B exists alone. The character "/" generally indicates that the context-dependent object is an "or" relationship.
The terms first, second and the like in the description and in the claims and in the above-described figures are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments of the disclosure described herein may be capable of operation in sequences other than those illustrated or described herein.
Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
The technical scheme of the application obtains, stores, uses, processes and the like the data, which all meet the relevant regulations of national laws and regulations.
In order to simplify the complex nested table look-up process and accelerate the realization speed of multicast, the embodiment of the disclosure provides a brand new multicast realization scheme based on an Access Control List (ACL), and realizes the rapid message multicast aiming at VLAN by configuring and setting the access control list.
Based on the above technical concept, the embodiments of the present disclosure provide a multicast method, where the flow of steps of the method may be as shown in fig. 4, including:
step 401, determining whether the destination IP address of the received message hits the IP address corresponding to the specified VLAN according to the pre-configured ACL.
It will be understood that in this embodiment, an ACL is configured in advance, and an IP address corresponding to at least one specified VLAN is configured in the ACL.
In this step, the destination IP address of the received packet may be compared with the IP address corresponding to the configured VLAN to determine whether the destination IP address of the received packet is an IP address corresponding to the configured one VLAN. If it is determined that the destination IP address of the received packet hits in an IP address corresponding to a specified VLAN, step 402 may be continued, otherwise, the process may be ended, and the packet is considered not to need to be multicast to the VLAN.
In one possible implementation, the step may include: determining whether a destination IP address of the received message hits an IP address corresponding to a designated VLAN; and determining whether the source IP address of the received message hits the set IP address.
That is, in this embodiment, the received message may be multicast to the VLAN, and the source of the received message may be limited by further using the set IP address, and only the message from the set IP address may be multicast.
At this time, when it is determined that the destination IP address of the received packet hits an IP address corresponding to a specified VLAN, and the source IP address of the received packet hits a set IP address, step 402 may be continuously executed, or else, the present procedure may be ended.
Step 402, determining multicast information table link information corresponding to the hit VLAN according to the ACL.
In this embodiment, it can be understood that a multicast information table is also configured in advance for each specified VLAN, for recording multicast information required for multicasting to the VLAN. Multicast information required for multicasting to a VLAN may be understood to include, but is not limited to, information obtained by querying the MTU table, the routing MAC table, and the port mask table when multicasting to a VLAN at present. In the ACL, corresponding multicast information table link information is also configured in advance.
If it is determined that the destination IP address of the received packet hits an IP address corresponding to a specified VLAN, in this step, the multicast information table link information corresponding to the hitting VLAN may be determined continuously according to the ACL.
Step 403, according to the determined multicast information table link information, inquiring the corresponding multicast information table.
In this step, the corresponding multicast information table may be further queried according to the link information given by the ACL.
Step 404, multicasting the received message to the hit VLAN according to the multicast information queried from the multicast information table.
After the multicast information is queried, in this step, the received message can be multicast to the VLAN hit by the destination IP of the message according to the queried multicast information, thereby realizing the multicast to the VLAN.
Further, in this embodiment, a corresponding destination VLAN may be configured for a specific VLAN in the ACL, that is, at least one VLAN in which a specific VLAN may perform packet multicast is configured, so that multicast from one VLAN to another VLAN may be further implemented based on the ACL.
At this time, after step 401, if it is determined that the destination IP address of the received packet hits an IP address corresponding to a specified VLAN, it may also be determined whether the configuration information corresponding to the hit VLAN includes the destination VLAN identifier according to the ACL.
If the determination includes, then step 501 may be performed:
step 501, copying a received message according to the corresponding action preconfigured by the ACL as a copy multicast, and aiming at each destination VLAN identifier.
It may be understood that, in this embodiment, in the ACL, for a specified VLAN, the corresponding destination VLAN identifier is configured, and meanwhile, the configuration information corresponding to the searched VLAN may be configured to include the destination VLAN identifier, and the corresponding action is replication multicast.
Thus, when the configuration information corresponding to the hit VLAN includes the destination VLAN identifier, the message can be copied according to the pre-configured corresponding action, so that the copied message can be multicast to each destination VLAN.
At this time, after step 501, for each destination VLAN identifier included in the configuration information corresponding to the hit VLAN, the following steps may be further performed:
step 502, determining multicast information table link information corresponding to the destination VLAN identifier according to the ACL.
That is, in the present embodiment, it can be understood that a multicast information table for recording multicast information required for multicasting to each destination VLAN is also configured in advance. In the ACL, corresponding multicast information table link information is also configured in advance.
In this step, for a destination VLAN, corresponding multicast information table link information may be determined according to the ACL.
Step 503, according to the determined multicast information table linking information, inquiring the corresponding multicast information table.
Further, in this step, the corresponding multicast information table may be queried according to the determined multicast information table link information.
Step 504, multicast the copied message to the destination VLAN according to the multicast information queried from the multicast information table.
After the multicast information is queried, in the step, the copied message can be multicast to the destination VLAN according to the queried multicast information, thereby realizing the multicast to the destination VLAN.
It should be noted that, in one possible implementation manner, according to the multicast information queried from the multicast information table, in the process of multicasting the copied message to the destination VLAN, it may further be determined whether the header ethernet information of the copied message carries a VLAN TAG (TAG). If the message is carried, the VLAN tag carried in the header Ethernet information of the message can be updated to the VLAN tag corresponding to the destination VLAN identifier (namely the destination VLAN), so that the message can be ensured to be correctly multicast to the destination VLAN.
If it is determined that the header ethernet information of the copied message does not carry the VLAN tag, in a possible implementation manner, the VLAN tag corresponding to the destination VLAN identifier may be added to the header ethernet information of the copied message, so as to ensure that the message can be correctly multicast to the destination VLAN.
Of course, step 501 is not limited to being performed before step 502, and may be performed before step 504, and step 501 is performed before step 502 in fig. 2 as an example.
In addition, in the process of multicasting the message to the VLAN with the IP address consistent with the destination IP address of the message, the VLAN tag may be added to the header ethernet information of the message or the existing VLAN tag may be updated, which is not repeated in this embodiment.
As shown in fig. 5, the multicast network topology diagram provided in the embodiment of the present disclosure may assume that a personal computer (PC 1, corresponding to an IP address of 1.1.1.1) sends a message with a destination IP address of 224.0.0.1 to a forwarding device (Z1, which may be, but is not limited to, a router or a switch, etc.), where the destination IP address is the same as the IP address of a specified VLAN (denoted as VLAN 10) configured in an ACL. The forwarding device may search the multicast information table 1 based on the multicast information table link information corresponding to VLAN10 configured by the ACL, and multicast the received message to VLAN10 (assuming that the personal computer PC2 is included) according to the searched multicast information.
In the process of multicasting the received message to the VLAN10, the forwarding device can analyze the received message, judge whether the VLAN tag is carried in the header Ethernet information, and if the VLAN tag corresponding to the VLAN10 is not carried, add the VLAN tag into the header Ethernet information of the received message and multicast the VLAN tag to the VLAN10. Of course, if it is determined that the header ethernet information already carries the VLAN tag, the VLAN tag existing in the header ethernet information may be updated with the VLAN tag corresponding to VLAN10, and multicast to VLAN10.
If the ACL is configured with a corresponding destination VLAN id for VLAN10, VLAN20 (including PC 3), VLAN30 (including PC 4) and VLAN40 (including PC 5) are configured in the configuration information.
In one possible implementation manner, the forwarding device may copy the received packet, parse the copied packet, determine whether the header ethernet information carries a VLAN tag, if it is determined that the header ethernet information does not carry the VLAN tag, copy the copied packet again for a destination VLAN identifier, for example, VLAN20, add the VLAN tag corresponding to VLAN20 to the header ethernet information of the copied packet again, search the multicast information table 2 according to the multicast information table link information corresponding to VLAN20 configured in the ACL, and multicast the packet added with the VLAN tag to VLAN20 according to the queried multicast information.
Further, the forwarding device may copy the copied message again for another VLAN identifier, for example, VLAN30, add the VLAN tag corresponding to VLAN30 to the header ethernet information of the message copied again, search the multicast information table 3 according to the multicast information table link information corresponding to VLAN30 configured in the ACL, and multicast the message added with the VLAN tag to VLAN30 according to the searched multicast information.
Similarly, the forwarding device may continue to copy the copied message again for another VLAN identifier, for example, VLAN40, add the VLAN tag corresponding to VLAN40 to the header ethernet information of the copied message again, search the multicast information table 4 according to the multicast information table link information corresponding to VLAN40 configured in the ACL, and multicast the message added with the VLAN tag to VLAN40 according to the searched multicast information.
Therefore, the multicast information table linking information corresponding to each destination VLAN can be determined in sequence, the corresponding multicast information is determined by searching the multicast information table, and the message copied for each destination VLAN identifier is multicast to each destination VLAN.
Of course, if it is determined that the ethernet information of the header of the copied message carries the VLAN tag, the VLAN tag corresponding to the destination VLAN identifier may be used to replace the original VLAN tag, and multicast the message.
On the basis of fig. 5, a multicast flow diagram provided by an embodiment of the present disclosure may be as shown in fig. 6. The packet (may be referred to as a multicast packet) sent by the PC1 to R1 may include header ethernet information (may be referred to as an ethernet header), header IP information (may be referred to as an IP header, assuming that the destination IP address included in the IP header is 224.0.0.1 and the source IP address is 1.1.1.1), and internet multicast protocol related information (may be referred to as igmp related information).
Because the destination IP address of the multicast packet is the IP address of VLAN10, the multicast packet needs to be multicast to VLAN10.
It is assumed that an IP address of a specific VLAN is configured in the ACL as an IP address of VLAN10 (which may be denoted as destination IP 224.0.0.1), and that the source IP address of the multicast message is not limited in the ACL, and is configured as an arbitrary IP address (which may be denoted as any). Meanwhile, destination VLANs corresponding to VLAN10 are also configured in the ACL as VLAN20, VLAN30 and VLAN40 (which can be noted as destination VLAN identifiers 20, 30 and 40 being configured in the ACL). The ACL is also configured with a corresponding action for the destination VLAN as a copy multicast (which may be referred to as action: copy to destination VLAN). Corresponding multicast information table link information is also given in the ACL for VLAN10, VLAN20, VLAN30 and VLAN40, respectively, not shown in fig. 6.
At this time, a multicast message may be copied and forwarded to VLAN10, so as to implement multicast of the message to VLAN10. That is, the received packet may be multicast to VLAN10 based on the multicast information table link information corresponding to VLAN10 configured by the ACL, by searching the corresponding multicast information table (assumed to be multicast information table 1), and based on the searched multicast information. The VLAN identifier corresponding to VLAN10 may be inserted into the ethernet header or replace the original VLAN identifier of the ethernet header, so as to multicast the packet to VLAN10.
In addition, multicast information table linking information corresponding to VLAN20, VLAN30, and VLAN40 may be determined, and corresponding multicast information tables (assumed to be multicast information tables 2, 3, and 4, respectively) may be queried based on the determined multicast information table linking information.
Further, a message can be copied for each destination VLAN, and the corresponding VLAN identifier is inserted into the ethernet header or replaces the original VLAN identifier of the ethernet header. And multicast the message to each destination VLAN.
According to the embodiment of the disclosure, through the method for forwarding the ACL table entry, the matched action is slightly modified by utilizing the original matching mechanism of the ACL, and a section of VLAN identification judgment and logic for copying and forwarding to a target VLAN are added. The data replication of the cross VLAN is not required to be completed by adopting three layers of interfaces, more table item resources and interface resources are not occupied, the multicasting aiming at the VLAN can be realized by only occupying a small amount of ACL resources, the resource expense can be saved, the multicasting speed is accelerated, the consumption of equipment resources is reduced, and the equipment performance is improved. Meanwhile, according to the scheme disclosed by the invention, the VLAN is multicast, the number of the outbound interface tables is not limited, and the number of the multicast VLANs is smaller due to the limitation of interface resources.
In addition, layer-by-layer nesting of forwarding table entries is not needed, and forwarding rate is not lowered due to excessive table look-up actions. Even if the video and audio are in a high-flow demand scene with high integrity requirement, the consumption of a Central Processing Unit (CPU) is not increased, so that the forwarding quality is reduced. The table lookup consumption of the message in the equipment is reduced fundamentally from forwarding, and the forwarding rate and quality are improved by using the mature ACL technology.
In addition, in the process of cross-VLAN multicast, a multicast source (source host for sending a multicast message) and a multicast group member (hosts in each destination VLAN) can be managed and controlled, so that the hosts in different VLANs can quickly receive the same data.
Corresponding to the provided method, the following apparatus is further provided.
An embodiment of the present disclosure provides a multicast device, where the structure of the device may be as shown in fig. 7, including:
the hit judging module 11 is configured to determine, according to a preconfigured access control list, whether a destination ip address of a received packet hits an ip address corresponding to a specified virtual local area network;
the table lookup module 12 is configured to determine, if it is determined that the destination ip address of the received packet hits an ip address corresponding to a specified virtual local area network, multicast information table linking information corresponding to the hit virtual local area network according to the access control list; inquiring a corresponding multicast information table according to the determined multicast information table link information;
The multicast module 13 is configured to multicast the received message to the hit virtual lan according to the multicast information queried from the multicast information table.
Optionally, the apparatus further includes:
the configuration information determining module 14 is configured to determine, according to the access control list, whether the configuration information corresponding to the hit virtual local area network includes the destination virtual local area network identifier;
the replication module 15 is configured to replicate a received packet for each destination vlan id according to the corresponding action preconfigured in the access control list as replication multicast if the determination is included.
Optionally, the table lookup module 12 is further configured to determine, for each destination vlan identifier included in the configuration information, multicast information table link information corresponding to the destination vlan identifier according to the access control list; inquiring a corresponding multicast information table according to the determined multicast information table link information;
the multicast module 13 is further configured to multicast the copied message to the destination virtual lan according to the multicast information queried from the multicast information table.
Optionally, the multicast module 13 multicasts the copied message to the destination virtual lan according to the multicast information queried from the multicast information table, including: determining whether the head Ethernet information of the copied message carries a virtual local area network tag; if the message is determined to be carried, updating the virtual local area network label carried in the header Ethernet information of the message into a virtual local area network label corresponding to the target virtual local area network label, and multicasting the message to the target virtual local area network according to the multicast information inquired from the multicast information table.
Optionally, the multicast module 13 multicasts the copied message to the destination virtual lan according to the multicast information queried from the multicast information table, and further includes: if the message is not carried, adding the virtual local area network label corresponding to the target virtual local area network identification into the head Ethernet information of the message, and multicasting the message to the target virtual local area network according to the multicast information inquired from the multicast information table.
Optionally, the hit determination module 11 is specifically configured to determine whether the destination ip address of the received packet hits an ip address corresponding to the specified virtual local area network; determining whether the source internet protocol address of the received message hits the set internet protocol address;
if the table lookup module 12 determines that the destination ip address of the received packet hits an ip address corresponding to a specified virtual local area network, determining, according to the access control list, multicast information table linking information corresponding to the hit virtual local area network, including: if the destination internet protocol address of the received message is determined to hit an internet protocol address corresponding to a designated virtual local area network, and the source internet protocol address of the received message is determined to hit a set internet protocol address, determining multicast information table link information corresponding to the hit virtual local area network according to the access control list.
The functions of each functional unit of each device provided by the embodiments of the present disclosure may be implemented by the steps of each method corresponding to the foregoing, so that possible working processes and beneficial effects of each functional unit in each device provided by the embodiments of the present disclosure are not repeated herein.
Based on the same inventive concept, the disclosed embodiments provide the following devices and mediums.
The embodiment of the disclosure provides a multicast device, which may be configured as shown in fig. 8, and includes a processor 21, a communication interface 22, a memory 23 and a communication bus 24, where the processor 21, the communication interface 22, and the memory 23 complete communication with each other through the communication bus 24;
the memory 23 is used for storing a computer program;
the processor 21 is configured to implement the steps described in the above method embodiments of the present disclosure when executing the program stored in the memory.
Alternatively, the processor 21 may comprise a Central Processing Unit (CPU), an application specific integrated circuit (ASIC, application Specific Integrated Circuit), one or more integrated circuits for controlling program execution, a hardware circuit developed using a field programmable gate array (FPGA, field Programmable Gate Array), and a baseband processor.
Alternatively, the processor 21 may comprise at least one processing core.
Alternatively, the Memory 23 may include a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), and a disk Memory. The memory 23 is used for storing data required by the operation of the at least one processor 21. The number of memories 23 may be one or more.
The embodiments of the present disclosure also provide a non-volatile computer storage medium storing an executable program, which when executed by a processor, implements the method provided by the above-described method embodiments of the present disclosure.
In a possible implementation, a computer storage medium may include: a universal serial bus flash disk (USB, universal Serial Bus Flash Drive), a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk or an optical disk, or the like, which can store program codes.
The disclosed embodiments also provide a computer program product comprising an executable program that is executed by a processor to implement the methods provided by the method embodiments of the disclosure.
In the disclosed embodiments, it should be understood that the disclosed apparatus and methods may be implemented in other ways. For example, the above-described embodiments of the apparatus are merely illustrative, e.g., the division of the units or units is merely a logical functional division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be through some interface, indirect coupling or communication connection of devices or units, electrical or otherwise.
The functional units in the embodiments of the present disclosure may be integrated into one processing unit, or the units may be separate physical modules.
The integrated units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable storage medium. Based on such understanding, all or part of the technical solution of the embodiments of the present disclosure may be embodied in the form of a software product stored in a storage medium, including several instructions for causing a computer device, which may be, for example, a personal computer, a server, or a network device, or a processor (processor), to perform all or part of the steps of the method described in the embodiments of the present disclosure. And the aforementioned storage medium includes: universal serial bus flash disk (Universal Serial Bus Flash Drive), removable hard disk, ROM, RAM, magnetic or optical disk, or other various media capable of storing program code.
It will be apparent to those skilled in the art that embodiments of the present disclosure may be provided as a method, system, or computer program product. Accordingly, the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present disclosure may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
The present disclosure is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the disclosure. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While the preferred embodiments of the present disclosure have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. It is therefore intended that the following claims be interpreted as including the preferred embodiments and all such alterations and modifications as fall within the scope of the disclosure.
It will be apparent to those skilled in the art that various modifications and variations can be made to the present disclosure without departing from the spirit or scope of the disclosure. Thus, the present disclosure is intended to include such modifications and alterations insofar as they come within the scope of the appended claims or the equivalents thereof.

Claims (9)

1. A method of multicasting, the method comprising:
determining whether a destination internet protocol address of a received message hits an internet protocol address corresponding to a designated virtual local area network according to a pre-configured access control list;
if the destination internet protocol address of the received message is determined to hit an internet protocol address corresponding to a designated virtual local area network, determining multicast information table link information corresponding to the hit virtual local area network according to the access control list; inquiring a corresponding multicast information table according to the determined multicast information table link information; wherein the multicast information table is preconfigured and comprises information obtained from a maximum transmission unit table, a route physical address table and a port mask table;
and multicasting the received message to the hit virtual local area network according to the multicast information inquired from the multicast information table.
2. The method of claim 1, wherein the method further comprises:
determining whether the configuration information corresponding to the hit virtual local area network comprises a target virtual local area network identifier according to the access control list;
if yes, copying a received message according to the preset corresponding action of the access control list as copy multicast and aiming at each destination virtual local area network identifier.
3. The method of claim 2, wherein the method further comprises:
determining multicast information table linking information corresponding to the destination virtual local area network identifiers according to the access control list aiming at each destination virtual local area network identifier included in the configuration information; inquiring a corresponding multicast information table according to the determined multicast information table link information;
and multicasting the copied message to a target virtual local area network according to the multicast information queried from the multicast information table.
4. The method of claim 3, wherein multicasting the copied message to the destination virtual local area network based on the multicast information queried from the multicast information table, comprising:
determining whether the head Ethernet information of the copied message carries a virtual local area network tag;
If the message is determined to be carried, updating the virtual local area network label carried in the header Ethernet information of the message into a virtual local area network label corresponding to the target virtual local area network label, and multicasting the message to the target virtual local area network according to the multicast information inquired from the multicast information table.
5. The method of claim 4, wherein multicasting the copied message to the destination virtual local area network according to the multicast information queried from the multicast information table, further comprising:
if the message is not carried, adding the virtual local area network label corresponding to the target virtual local area network identification into the head Ethernet information of the message, and multicasting the message to the target virtual local area network according to the multicast information inquired from the multicast information table.
6. The method according to any one of claims 1 to 5, wherein determining whether the destination ip address of the received message hits in an ip address corresponding to the specified virtual local area network comprises:
determining whether a destination internet protocol address of the received message hits an internet protocol address corresponding to the designated virtual local area network; the method comprises the steps of,
determining whether a source internet protocol address of the received message hits a set internet protocol address;
If it is determined that the destination ip address of the received packet hits an ip address corresponding to a specified virtual local area network, determining, according to the access control list, multicast information table link information corresponding to the hit virtual local area network, including:
if the destination internet protocol address of the received message is determined to hit an internet protocol address corresponding to a designated virtual local area network, and the source internet protocol address of the received message is determined to hit a set internet protocol address, determining multicast information table link information corresponding to the hit virtual local area network according to the access control list.
7. A multicast apparatus, the apparatus comprising:
the hit judging module is used for determining whether the destination internet protocol address of the received message hits the internet protocol address corresponding to the appointed virtual local area network according to the pre-configured access control list;
the table look-up module is used for determining multicast information table linking information corresponding to the hit virtual local area network according to the access control list if the destination internet protocol address of the received message is determined to hit the internet protocol address corresponding to the specified virtual local area network; inquiring a corresponding multicast information table according to the determined multicast information table link information; wherein the multicast information table is preconfigured and comprises information obtained from a maximum transmission unit table, a route physical address table and a port mask table;
And the multicast module is used for multicasting the received message to the hit virtual local area network according to the multicast information inquired from the multicast information table.
8. A non-transitory computer storage medium storing an executable program that is executed by a processor to implement the method of any one of claims 1-6.
9. A multicast device, wherein the device comprises a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface, the memory complete communication with each other through the communication bus;
the memory is used for storing a computer program;
the processor is configured to implement the method steps of any one of claims 1 to 6 when executing the program stored on the memory.
CN202210040733.2A 2022-01-14 2022-01-14 Multicast method, device, medium, product and equipment Active CN114448740B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210040733.2A CN114448740B (en) 2022-01-14 2022-01-14 Multicast method, device, medium, product and equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210040733.2A CN114448740B (en) 2022-01-14 2022-01-14 Multicast method, device, medium, product and equipment

Publications (2)

Publication Number Publication Date
CN114448740A CN114448740A (en) 2022-05-06
CN114448740B true CN114448740B (en) 2023-11-07

Family

ID=81367283

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210040733.2A Active CN114448740B (en) 2022-01-14 2022-01-14 Multicast method, device, medium, product and equipment

Country Status (1)

Country Link
CN (1) CN114448740B (en)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1767495A (en) * 2004-10-28 2006-05-03 华为技术有限公司 Method for assuring two-layer Ethernet exchanger data safety in city area transmission equipment
CN101047583A (en) * 2006-03-31 2007-10-03 株式会社日立制作所 Passive optical network system and correlation method for support virtual local network service
CN101771901A (en) * 2008-12-31 2010-07-07 华为技术有限公司 Method of multicast permission control in passive optical network, system and multi-dwelling unit
US7933268B1 (en) * 2006-03-14 2011-04-26 Marvell Israel (M.I.S.L.) Ltd. IP multicast forwarding in MAC bridges
CN102215172A (en) * 2011-06-21 2011-10-12 中兴通讯股份有限公司 Method and system for realizing across virtual private local area network multicast
CN102457386A (en) * 2010-10-25 2012-05-16 杭州华三通信技术有限公司 Multicast message transmission method in bidirectional PIM (Personal Information Management) of communication equipment and communication equipment
CN104539545A (en) * 2014-12-31 2015-04-22 杭州华三通信技术有限公司 Multicast message forwarding method and device of TRILL network
WO2016086721A1 (en) * 2014-12-03 2016-06-09 中兴通讯股份有限公司 Method, device and system for transmitting multicast data in trill network
WO2017206787A1 (en) * 2016-06-02 2017-12-07 中兴通讯股份有限公司 Message forwarding control method for communication network device, and communication network device
CN107528781A (en) * 2016-06-22 2017-12-29 中兴通讯股份有限公司 Retransmission method and device, the router of multicast message
CN107948064A (en) * 2017-11-09 2018-04-20 浙江宇视科技有限公司 A kind of cross-domain method of multicasting and device based on SDN
CN112866114A (en) * 2020-12-31 2021-05-28 锐捷网络股份有限公司 Multicast message processing method and device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266120B2 (en) * 2002-11-18 2007-09-04 Fortinet, Inc. System and method for hardware accelerated packet multicast in a virtual routing system
CN1980178A (en) * 2005-12-03 2007-06-13 鸿富锦精密工业(深圳)有限公司 Network apparatus and method for retransmitting multi-casting package
JP2009094832A (en) * 2007-10-10 2009-04-30 Nec Access Technica Ltd Multicast data distribution apparatus, distribution method therefor, and distribution control program thereof

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1767495A (en) * 2004-10-28 2006-05-03 华为技术有限公司 Method for assuring two-layer Ethernet exchanger data safety in city area transmission equipment
US7933268B1 (en) * 2006-03-14 2011-04-26 Marvell Israel (M.I.S.L.) Ltd. IP multicast forwarding in MAC bridges
CN101047583A (en) * 2006-03-31 2007-10-03 株式会社日立制作所 Passive optical network system and correlation method for support virtual local network service
CN101771901A (en) * 2008-12-31 2010-07-07 华为技术有限公司 Method of multicast permission control in passive optical network, system and multi-dwelling unit
CN102457386A (en) * 2010-10-25 2012-05-16 杭州华三通信技术有限公司 Multicast message transmission method in bidirectional PIM (Personal Information Management) of communication equipment and communication equipment
CN102215172A (en) * 2011-06-21 2011-10-12 中兴通讯股份有限公司 Method and system for realizing across virtual private local area network multicast
WO2016086721A1 (en) * 2014-12-03 2016-06-09 中兴通讯股份有限公司 Method, device and system for transmitting multicast data in trill network
CN104539545A (en) * 2014-12-31 2015-04-22 杭州华三通信技术有限公司 Multicast message forwarding method and device of TRILL network
WO2017206787A1 (en) * 2016-06-02 2017-12-07 中兴通讯股份有限公司 Message forwarding control method for communication network device, and communication network device
CN107528781A (en) * 2016-06-22 2017-12-29 中兴通讯股份有限公司 Retransmission method and device, the router of multicast message
CN107948064A (en) * 2017-11-09 2018-04-20 浙江宇视科技有限公司 A kind of cross-domain method of multicasting and device based on SDN
CN112866114A (en) * 2020-12-31 2021-05-28 锐捷网络股份有限公司 Multicast message processing method and device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于VLAN的组播方案在EPON***中的设计与实现;朱敏;邹君妮;林如俭;;上海大学学报(自然科学版)(第03期);全文 *
基于组播访问管理协议的安全组播访问控制方案设计;郭明;姚远;颜峻;于磊;;信息工程大学学报(第01期);全文 *

Also Published As

Publication number Publication date
CN114448740A (en) 2022-05-06

Similar Documents

Publication Publication Date Title
US10985942B2 (en) Multicast traffic steering using tree identity in bit indexed explicit replication (BIER)
US10778464B2 (en) NSH encapsulation for traffic steering establishing a tunnel between virtual extensible local area network (VxLAN) tunnel end points (VTEPS) using a NSH encapsulation header comprising a VxLAN header whose VNI field has been replaced by an NSH shim
US10547538B2 (en) Packet forwarding method and apparatus
CN108880968B (en) Method and device for realizing broadcast and multicast in software defined network and storage medium
US20190116220A1 (en) Neighbor Discovery for IPV6 Switching Systems
EP2544409B1 (en) Generic monitoring packet handling mechanism for OpenFlow 1.1
US9584568B2 (en) Signal processing apparatus and signal processing method thereof for implementing a broadcast or a multicast communication
US7933268B1 (en) IP multicast forwarding in MAC bridges
CN107395532B (en) Multi-tenant virtual network isolation method based on SDN
CN105706391A (en) Multicast increasing through index localization
US10397116B1 (en) Access control based on range-matching
EP3432527B1 (en) Information processing method and device, and computer storage medium
CN108028801B (en) SDN-based ARP implementation method and device
CN106031104A (en) Data packet forwarding method, apparatus and device
WO2023103461A1 (en) Cross-board message multicast replication and forwarding method and system based on clos architecture
CN106209689A (en) From the multicast data packet forwarding method and apparatus of VXLAN to VLAN
US10880109B2 (en) Forwarding multicast data packet
US20190215264A1 (en) Automatic alignment of roles of routers in networks
CN112995036A (en) Network traffic scheduling method and device
CN114221781A (en) Flow filtering method and system, electronic device and storage medium
CN114448740B (en) Multicast method, device, medium, product and equipment
CN108183851B (en) Message forwarding method and forwarding equipment
CN110661710B (en) Message transmission method and device of virtualization system
CN112787938A (en) Routing table item configuration method and device
CN109067673B (en) Method and system for learning MAC address in stacking system

Legal Events

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