WO2012068854A1 - 一种mac地址更新方法及装置 - Google Patents

一种mac地址更新方法及装置 Download PDF

Info

Publication number
WO2012068854A1
WO2012068854A1 PCT/CN2011/075002 CN2011075002W WO2012068854A1 WO 2012068854 A1 WO2012068854 A1 WO 2012068854A1 CN 2011075002 W CN2011075002 W CN 2011075002W WO 2012068854 A1 WO2012068854 A1 WO 2012068854A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
entry
multicast
multicast group
version
Prior art date
Application number
PCT/CN2011/075002
Other languages
English (en)
French (fr)
Inventor
李永亮
庞志涛
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2012068854A1 publication Critical patent/WO2012068854A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5069Address allocation for group communication, multicast communication or broadcast communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses

Definitions

  • the present invention relates to the field of communications, and in particular, to a MAC (Media Access Control) address update method and apparatus.
  • Background technique MAC (Media Access Control) address update method and apparatus.
  • IPv4 Internet Protocol version 4
  • IPv6 Internet Protocol version 6
  • IPv4 IPv4
  • IPv6 Internet Protocol version 6
  • IPv4 has become an inevitable trend in network development.
  • the existing IPv4 network has a considerable scale.
  • the network cannot replace IPv6 at one time, but will face a long-term IPv4 and IPv6 coexistence. the process of. At present, only a good integration of IPV4 and IPV6 networks can achieve a smooth transition.
  • the basic principle of multicast technology is to maintain multicast group relationships by using IGMP (Internet Group Management Protocol) or MLD (Multicast Listener Discovery).
  • IGMP Internet Group Management Protocol
  • MLD Multicast Listener Discovery
  • IPv4 or MLD in IPv6
  • the multicast receiver joins or leaves the multicast group for dynamic management and establishes Layer 3 multicast forwarding entries.
  • IGMP Snooping Internet Group Management Protocol Snooping
  • MLD Snooping Multicast Listener Discovery Snooping
  • IGMP or MLD is configured.
  • the IPV4 protocol stack and the IPv6 protocol stack may independently maintain their respective MAC multicast address lists on the dual-layer stack Layer 2 device supporting both IPv4 and IPv6, which not only causes waste of hardware resources, but also software. Implementation also adds complexity and is inconvenient for secure management of MAC addresses. Summary of the invention
  • the main purpose of the present invention is to provide a method for updating a MAC address, which is used to implement unified update and maintenance of a MAC address.
  • Another object of the present invention is to provide a multicast method for multicasting data according to a uniform MAC address.
  • a method for updating a MAC address comprising:
  • the obtained IPv4 version of the multicast group IP address is mapped to the multicast medium access control MAC address.
  • the obtained IPv6 is obtained.
  • the version of the multicast group IP address is mapped to the multicast MAC address.
  • the received packet is a join message, and when the IPv4 version of the multicast group IP address is obtained, the obtained IPv4 version of the multicast group IP address is mapped to the multicast MAC address; when the IPv6 version of the multicast is obtained Before mapping the IP address of the IPv6 version of the multicast group to the multicast MAC address, the following is also included:
  • IPv4 version of the multicast group IP address When the IPv4 version of the multicast group IP address is obtained according to the received packet, it is determined whether the Internet multicast management protocol snoops on IGMP Snooping for the multicast group IP corresponding to the IPv4 version.
  • the first entry of the port of the port that receives the join message is created according to the IP address of the multicast group of the IPv4 version.
  • IPv6 version of the multicast group IP address When the IPv6 version of the multicast group IP address is obtained according to the received packet, it is determined whether there is a second set of entries corresponding to the IPv6 version of the multicast group IP address in the MLD snooping, and when the judgment result is no, A second entry containing the port number of the port that receives the join message is created according to the IPv6 version of the multicast group IP address.
  • the port number included in the first entry is included in the first set of entries.
  • the port number of the port to which the join message is received is the same as the port number of the port to which the join message is received, and the first entry of the port number of the port that receives the join message is created according to the IPv4 version of the multicast group IP address;
  • the judgment when it is determined that there is a second set of entries corresponding to the IPv6 version of the multicast group IP address, determining whether the second entry includes the port number included in the second entry The port number of the port that receives the join message is the same, and the second entry of the port number of the port that receives the join message is created according to the IPv6 version of the multicast group IP address. .
  • the received packet is a join message
  • the step of updating the public MAC address table according to the obtained multicast MAC address includes:
  • the result of the determination is YES, it is determined whether the port number included in the MAC forwarding entry in the multicast MAC forwarding entry set is the same as the port number carried in the first entry or the second entry, and the judgment result is Adding, in the multicast MAC forwarding entry set, the MAC address including the port number carried in the first entry or the second entry according to the multicast MAC address. Send an entry.
  • the received packet is a leaving packet, and when the IPv4 version of the multicast group IP address is obtained, the obtained IPv4 version of the multicast group IP address is mapped to the multicast MAC address; when the IPv6 version of the multicast is obtained Before mapping the IP address of the IPv6 version of the multicast group to the multicast MAC address, the following is also included:
  • the port number is the same as the port number of the port that receives the leaving message. If the result of the determination is sometimes, the port number is deleted in the first entry, and the first entry is deleted; or
  • the received packet is a leaving packet
  • the step of updating the public MAC address table according to the obtained multicast MAC address includes:
  • the port number carried in the first entry or the second entry is the same.
  • the port number is deleted in the MAC forwarding entry, and deleted.
  • a multicast method comprising:
  • the obtained IPv4 version of the multicast group IP address is mapped to the multicast MAC address.
  • the obtained IPv6 version of the multicast group IP address is obtained.
  • the group IP address is mapped to a multicast MAC address.
  • a MAC address updating device comprising:
  • the processing module is configured to obtain an IPv4 version of the multicast group IP address or an IPv6 version of the multicast group IP address according to the received packet;
  • the conversion module is configured to: when obtaining the IPv4 version of the multicast group IP address, the obtained IPv4 version of the multicast group IP address is mapped to the multicast MAC address; when the IPv6 version of the multicast group IP address is obtained, the obtained The IPv6 version of the multicast group IP address is mapped to the multicast MAC address.
  • an execution module configured to update a public MAC address table according to the multicast MAC address.
  • the received packet is a join message
  • the processing module is further configured to:
  • the IGMP is judged.
  • the IP address of the multicast group according to the IPv4 version is created to include the received packet.
  • the IPv6 version of the multicast group IP address is obtained according to the received packet, it is determined whether there is a second set of entries corresponding to the IPv6 version of the multicast group IP address in the MLD snooping. If the result of the determination is no, the second entry containing the port number of the port that receives the join message is created according to the IPv6 version of the multicast group IP address.
  • the processing module is further configured to:
  • the judgment when it is determined that there is a first set of entries corresponding to the IP address of the multicast group of the IPv4 version, it is determined whether the port number included in the first entry is in the first set of entries and The port number of the port that receives the join message is the same, and the first table of the port number of the port that receives the join message is created according to the IP address of the multicast group of the IPv4 version. Item; or,
  • the second entry includes a port number included in the second entry.
  • the port number of the port that receives the join message is the same.
  • the second port number of the port that receives the join message is created according to the IPv6 version of the multicast group IP address. Entry.
  • the execution module is used to:
  • the processing module is further configured to:
  • the port number included in an entry is the same as the port number of the port that receives the leaving message. If the result of the determination is sometimes, the port number is deleted in the first entry, and the first An entry; or,
  • the processing module is further configured to:
  • the executing module is configured to:
  • a multicast device comprising:
  • the processing module is configured to obtain an IPv4 version of the multicast group IP address or an IPv6 version of the multicast group IP address according to the received packet;
  • the conversion module is used to obtain the IPv4 when the IPv4 version of the multicast group IP address is obtained.
  • the version of the multicast group IP address is mapped to the multicast MAC address.
  • the obtained IPv6 version of the multicast group IP address is mapped to the multicast MAC address.
  • an execution module configured to query, in the public MAC address table, a port number corresponding to the multicast MAC address according to the multicast MAC address, and perform data forwarding according to the port number.
  • the embodiment of the present invention obtains the IPv4 version of the multicast group IP address or the IPv6 version of the multicast group IP address according to the received " ⁇ "; when obtaining the IPv4 version of the multicast group IP address, the obtained IPv4 version of the group
  • the multicast group IP address is mapped to the multicast MAC address.
  • the obtained IPv6 version of the multicast group IP address is mapped to the multicast MAC address.
  • the public MAC address is updated according to the obtained multicast MAC address.
  • MAC address table IPv4 and IPv6 use the same public MAC address table to implement unified update and maintenance of MAC addresses, saving memory resources.
  • FIG. 1 is a main structural diagram of a MAC address updating apparatus according to an embodiment of the present invention.
  • FIG. 2 is a detailed structural diagram of a MAC address updating apparatus according to an embodiment of the present invention.
  • 3A is a detailed structural diagram of a processing module in a MAC address update apparatus according to an embodiment of the present invention.
  • FIG. 3B is a detailed structural diagram of an execution module in a MAC address update apparatus according to an embodiment of the present invention.
  • FIG. 4 is a main flowchart of a method for updating a MAC address according to an embodiment of the present invention
  • FIG. 5 is an IGMP obtained when the 4th document received in the embodiment of the present invention is an IPv4 version.
  • FIG. 6 is a detailed flowchart of obtaining a MAC address obtained by adding an authentication message to an IPv6 version according to an embodiment of the present invention
  • FIG. 7 is a detailed flowchart of processing an IGMP Snooping entry when an IPv4 version is received in the embodiment of the present invention.
  • FIG. 8 is a schematic diagram of an MLD when an outgoing message is received in an IPv6 version according to an embodiment of the present invention. Detailed flowchart of the processing of a Snooping entry. detailed description
  • the embodiment of the present invention obtains the IPv4 version of the multicast group IP address or the IPv6 version of the multicast group IP address according to the received " ⁇ "; when obtaining the IPv4 version of the multicast group IP address, the obtained IPv4 version of the group
  • the multicast group IP address is mapped to the multicast MAC address.
  • the obtained IPv6 version of the multicast group IP address is mapped to the multicast MAC address.
  • the public MAC address is updated according to the obtained multicast MAC address.
  • MAC address table IPv4 and IPv6 use the same public MAC address table to implement unified update and maintenance of MAC addresses, saving memory resources.
  • the MAC address update apparatus in the embodiment of the present invention includes a processing module 101, an execution module 102, and a conversion module 103.
  • the processing module 101 is configured to obtain an IPv4 version of the multicast group IP address or an IPv6 version of the multicast group IP address according to the received packet.
  • the multicast group IP address is the multicast group IP address, which refers to the multicast group IP address.
  • the processing module 101 receives the packet, where the packet may be a join message or a leave message, and the message is sent by an IPv4 multicast receiver or an IPv6 multicast receiver.
  • the join message indicates that the IPv4 multicast receiver or the IPv6 multicast receiver requests to join the multicast group.
  • the leave message indicates that the IPv4 multicast receiver or the IPv6 multicast receiver requests to leave the multicast group.
  • the processing module 101 also receives a data packet, which is sent by the IPv4 multicast sender or the IPv6 multicast sender, and is used to send data to the IPv4 multicast receiver or the IPv6 multicast receiver.
  • the processing module 101 parses the packet to obtain the parameter information in the packet, where the parameter information includes at least an IPv4 multicast group IP address or an IPv6 multicast group IP address and a VLAN. (Virtual Local Area Network) ID (identifier), and the port number of the port can be obtained according to the port that receives the join message or the leave message.
  • the VLAN ID is the ID of the VLAN where the port number is located.
  • the Layer 2 device may have multiple VLANs, which can be distinguished by the VLAN ID.
  • the processing module 101 After parsing the packet, the processing module 101 searches for the first set of entries in the IGMP Snooping or the second set of entries in the MLD Snooping according to the IP address of the multicast group that is parsed from the packet.
  • the first set of entries corresponds to IPv4
  • the second set of entries corresponds to IPv6.
  • the first entry may be an IGMP snooping entry
  • the second entry may be an MLD snooping entry.
  • Each IGMP snooping entry includes the IP address of the multicast group, the VLAN ID, and the port number of the port that receives the packet, and the mapping between the three.
  • Each MLD Snooping entry includes The IP address of the multicast group, the VLAN ID, and the port number of the port that receives the packet, and the corresponding relationship between the three.
  • All the first entries corresponding to a multicast group IP address form a first set of entries, or a set of IGMP Snooping entries; all second entries corresponding to a multicast group IP address form a second set of entries Or a collection of MLD Snooping entries.
  • a link relationship may be associated between each IGMP snooping entry in an IGMP snooping entry, or each MLD snooping entry in an MLDSnooping entry.
  • the IGMP snooping entry or the MLDSnooping entry containing the IP address of the multicast group can be queried. Or MLDSnooping entries. If the IGMP snooping entry or the MLD snooping entry is empty, the processing module 101 creates an IGMP snooping entry or an MLD snooping entry according to the multicast group IP address; If the IGMP snooping entry of the IP address of the multicast group does not contain the IGMP snooping entry corresponding to the port number of the port of the packet, the processing module 101 receives the packet according to the IP address of the multicast group.
  • the port number of the port creates an IGMP Snooping entry in the IGMP Snooping entry. If the MLD Snooping entry in the set corresponding to the IP address of the multicast group does not contain the MLD corresponding to the port number of the port that receives the packet.
  • the processing module 101 creates an MLD Snooping entry in the MLD Snooping entry according to the IP address of the multicast group and the port number of the port that receives the packet.
  • the processing module 101 maintains all the IGMP snooping entries in the IGMP snooping and all the MLD snooping entries in the MLD snooping. Collection.
  • the execution module 102 is configured to update the public MAC address table according to the obtained multicast MAC address.
  • the execution module 102 uniformly stores the multicast MAC address obtained by mapping the multicast group address of the multicast group in the IGMP snooping entry and the multicast MAC address mapped by the multicast group IP address in the MLD snooping entry in a public MAC address table. And establish a MAC forwarding entry in the public MAC address table according to each MAC address.
  • Each multicast MAC address can correspond to multiple MAC forwarding entries, and all MAC forwarding entries corresponding to one multicast MAC address can form a set of multicast MAC forwarding entries.
  • Each MAC forwarding entry includes a MAC address and a port number.
  • the port number is the port number of the port that receives the packets sent by the IPv4 multicast receiver or the packets sent by the IPv6 multicast receiver.
  • the port number is added to the MAC forwarding entry according to the VLAN ID and port number in the IGMP Snooping entry or the MLD Snooping entry.
  • the IPv4 multicast receiving can be learned according to the multicast MAC address and port number in the MAC forwarding entry. The exact location of the IPv6 multicast receiver. Thereafter, if the processing module 101 receives the data packet and parses the multicast group IP address included in the data packet, the execution module 102 maps the multicast group IP address to the multicast MAC address, and obtains the MAC according to the mapping.
  • the address queries the corresponding set of multicast MAC forwarding entries in the public MAC address table for data forwarding.
  • the corresponding multicast MAC forwarding entry set means that the MAC address included in the MAC forwarding entry is the same as the MAC address obtained by the mapping.
  • the conversion module 103 is configured to: when obtaining the IPv4 version of the multicast group IP address, the obtained IPv4 version of the multicast group IP address is mapped to the multicast MAC address; when the IPv6 version of the multicast group IP address is obtained, the obtained The IPv6 version of the multicast group IP address is mapped to the multicast MAC address.
  • an IP address is exemplified by a multicast group IP address.
  • the conversion module 103 obtains an IGMP Snooping entry or an MLD Snooping entry in the processing module 101.
  • the IGMP snooping entry or the MLD snooping entry includes the multicast group IP address, VLAN ID, and port number.
  • the conversion module 103 is based on a fixed mapping relationship between the IP address and the MAC address of the IPv4 version or IPv6.
  • the mapping between the IP address and the MAC address of the version is mapped to the multicast MAC address of the multicast group IP address or the multicast group IP address in the MLD Snooping entry.
  • the mapping relationship can be a function that determines a fixed calculation method.
  • the conversion module 103 obtains the multicast MAC address by substituting the IP address of the IPv4 version into the fixed mapping relationship between the IP address and the MAC address of the IPv4 version; or substituting the IP address of the IPv6 version into the IP address and MAC address of the IPv6 version.
  • the multicast MAC address can be obtained.
  • the VLAN ID included in the IGMP snooping entry or the MLD snooping entry can be stored in the execution module 102.
  • the receiving of the IPv4 multicast receiving can be determined according to the VLAN ID and the IGMP snooping entry or the port number included in the MLD snooping entry.
  • the port number of the port sent by the party or the port sent by the IPv6 multicast receiver, so the VLAN ID is not included in the MAC forwarding entry.
  • a MAC forwarding entry is: (0100.5e01.0101, port 1);
  • 0100.5e01.0101 is the MAC address obtained by mapping the multicast group IP address 224.1.1.1. For example, another MAC forwarding entry is: (3333.0000.0001, port 2);
  • IP address mapping corresponding to IPv4 starts with 01005e
  • IP address corresponding to IPv6 is mapped to 3333. Therefore, the IP address corresponding to IPv4 and the IP address corresponding to IPv6 are not mapped. Will be the same, then there will be no conflict when the two are stored in the address table unit 1022.
  • the apparatus further includes a transceiver module 104, which may further include a storage module 105.
  • the transceiver module 104 is configured to receive the packet, and send and receive IGMP snooping entries or MLD snooping entries.
  • the transceiver module 104 is configured to receive a join message or a leave message sent by an IPv4 multicast receiver or an IPv6 multicast receiver. After receiving the packet, the transceiver module 104 determines whether the protocol type of the received packet is an IPv4 protocol or an IPv6 protocol, and then notifies the processing module according to the protocol type.
  • the corresponding unit in 101 for parsing The transceiver module 104 is configured to receive an IGMP snooping entry or an MLD snooping entry.
  • the transceiver module 104 is further configured to query an existing MAC forwarding entry according to the multicast MAC address mapped by the multicast group IP address in the data packet, and find a multicast MAC forwarding entry set corresponding to the multicast MAC address, according to the The port number in the multicast MAC forwarding entry set forwards the data sent by the IPv4 multicast sender to the IPv4 multicast receiver, or forwards the data sent by the IPv6 multicast sender to the IPv6 multicast receiver.
  • the storage module 105 is configured to store a mapping relationship.
  • the storage module 105 is configured to store a fixed mapping relationship between the IP address and the MAC address of the IPv4 version and a fixed mapping relationship between the IP address and the MAC address of the IPv6 version, and the two mapping relationships may be separately stored.
  • the execution module 102 may use the IP address of the IPv4 version stored in the storage module 105 or the fixed mapping relationship between the IP address of the IPv6 version and the MAC address, and the IP address or the MLD Snooping entry in the IGMP snooping entry.
  • the multicast group IP address is mapped to a multicast MAC address.
  • the processing module 101 specifically includes a first parsing unit 1011, a second parsing unit 1012, a first query unit 1013, a second query unit 1014, a first creating unit 1015, and a second creating unit 1016.
  • the first parsing unit 1011, the first query unit 1013, and the first creating unit 1015 are devices corresponding to IPv4, and the second parsing unit 1012, the second query unit 1014, and the second creating unit 1016 are corresponding to IPv6. device.
  • the example of the IPv4 join message in the processing module 101 is an example in which the IPv4 multicast receiver sends the message to join the multicast group 224.1.1.1, and the examples of the IPv6 join message are all in the IPv4 group.
  • the broadcast receiver sends a packet to the multicast group ff4e:: 1 as an example.
  • the first parsing unit 1011 is configured to parse the text sent by the IPv4 multicast receiver. After receiving the packet, the transceiver module 104 determines whether the protocol type of the packet is an IPv4 version or an IPv6 version. When the protocol type is determined to be an IPv4 version, the first parsing unit 1011 is notified to perform parsing. After receiving the packet sent by the IPv4 multicast receiver, the first parsing unit 1011 determines whether the packet is a join message or a leave message, and parses out the parameter information included in the packet. Wherein The parameter information includes at least a multicast group IP address and a VLAN ID, and the port number of the port that receives the text can be obtained when the packet is received.
  • a multicast group IP address can correspond to multiple port numbers, and a VLAN ID can correspond to multiple port numbers.
  • the first parsing unit 1011 determines that the port number of the port that receives the packet is port 1, and the parsed packet parameter information is:
  • the second parsing unit 1012 is configured to parse the text sent by the IPv6 multicast receiver. After receiving the packet, the transceiver module 104 determines whether the protocol type of the packet is an IPv4 version or an IPv6 version. When the protocol type is determined to be an IPv6 version, the second parsing unit 1012 is notified to perform parsing. After receiving the packet sent by the IPv6 multicast receiver, the second parsing unit 1012 determines whether the packet is a join message or a leave message, and parses out the parameter information included in the packet.
  • the parameter information includes at least a multicast group IP address and a port number of a port whose VLAN ID receives the text.
  • a multicast group IP address can correspond to multiple port numbers, and a VLAN ID can correspond to multiple port numbers.
  • the parsing unit 1022 parses the >3 ⁇ 4 text parameter information as:
  • the first query unit 1013 is configured to query IGMP according to the parsed multicast group IP address.
  • the Query Unit 1013 maintains all IGMP Snooping entries, and stores all IGMP Snooping entries for query and call. After the first parsing unit 1011 parses the parameter information included in the packet, the first query unit 1013 is notified to perform the query.
  • the first query unit 1013 queries and determines whether the stored IGMP Snooping entry includes the multicast according to the multicast group IP address included in the packet information parsed by the first parsing unit 1011. If the result of the determination is no, the first creation unit 1015 is configured to create an IGMP Snooping entry according to the multicast group IP address and the port number of the port that receives the join message.
  • the IGMP snooping entry is a set of IGMP snooping entries that correspond to the IP address of the multicast group. If the result is YES, the IGMP Snooping entry is determined.
  • the port number in the entry is the port number of the port that receives the join message.
  • the IGMP snooping entry is directly sent to the execution module 102. If the port number of the IGMP snooping entry in the IGMP snooping entry is not the same as the port number of the port receiving the join message, the first creation unit is notified. An IGMP snooping entry is created in the IGMP snooping entry according to the IP address of the multicast group and the port number of the port that receives the packet.
  • the first query unit 1013 queries and determines whether the stored IGMP Snooping entry includes the multicast according to the multicast group IP address included in the packet information parsed by the first parsing unit 1011. Set the IGMP snooping entry of the IP address. If the judgment result is no, no action is taken. If the result of the determination is yes, it is determined whether the port number of the IGMP Snooping entry in the IGMP Snooping entry is the same as the port number of the port that receives the leaving message. If not, no operation is performed. If yes, delete the port number and delete the IGMP Snooping entry. If the IGMP snooping entry is empty after the IGMP snooping entry is deleted, the IGMP snooping entry is deleted.
  • the second query unit 1014 is configured to query the MLD snooping entry according to the parsed multicast group IP address.
  • the second query unit 1014 maintains all MLD Snooping entries, and stores all MLD Snooping entries for query and call. After the second parsing unit 1012 parses the parameter information included in the message, the second query unit 1014 is notified to perform the query.
  • the second query unit 1014 queries and determines whether the stored MLD Snooping entry includes the multicast according to the multicast group IP address included in the packet information parsed by the second parsing unit 1012. If the MLD snooping entry of the IP address is set to be the same, the second creation unit 1016 is configured to create an MLD Snooping entry according to the multicast group IP address and the port number of the port that receives the port.
  • the MLD Snooping table The item is a set of MLD Snooping entries that correspond to the IP address of the multicast group. If the result is YES, it is determined whether the MLD Snooping entry in the MLD Snooping entry contains the same port number as the port that receives the join message.
  • the MLD is directly The Snooping entry is sent to the execution module 102. If not, the second creation unit 1016 is configured to create an MLD Snooping entry in the MLD Snooping entry according to the multicast group IP address and the port number of the port that receives the join message. Entry.
  • the second query unit 1014 queries and determines whether the stored MLD Snooping entry includes the multicast according to the multicast group IP address included in the packet information parsed by the second parsing unit 1012. If the MLD snooping entry is set to be the IP address of the group, no action is taken. If the result is YES, it is determined whether the MLD Snooping entry in the MLD Snooping entry contains the same port number as the port that receives the outgoing packet. If not, no operation is performed. If yes, delete the port number and delete the MLD Snooping entry. If the MLD snooping entry is empty, the MLD snooping entry is deleted.
  • the first creating unit 1015 is configured to create an IGMP Snooping entry. If the first query unit 1013 determines that the stored IGMP Snooping entry does not contain the IGMP snooping entry set of the multicast group IP address included in the parsed packet, or corresponds to the included in the parsed packet.
  • the first creating unit 1015 is configured according to the multicast group included in the parsed
  • the IP address and the port number of the port that receives the >3 ⁇ 4 text create an IGMP Snooping entry, where the IGMP Snooping entry includes the IP address, VLAN ID, and the received text of the multicast group included in the parsed packet.
  • the port number of the port is sent to the execution module 102 by the IGMP Snooping entry.
  • the created IGMP Snooping entry can be: IGMP Snooping entry: (224.1.1.1, 100, 1).
  • 224.1.1.1 is the multicast group IP address, 100 is the VLAN ID, and 1 is the port number of the port that receives the certificate.
  • a multicast group IP address can correspond to multiple VLAN IDs or multiple port numbers.
  • An IGMP Snooping entry contains only one multicast group IP address, one VLAN ID, and one port number.
  • the second creating unit 1016 is configured to create an MLD Snooping entry. If the second query unit 1014 determines that the stored MLD Snooping entry does not contain the MLD Snooping entry of the multicast group IP address included in the parsed packet, or corresponds to the parsed packet If the MLD snooping entry of the multicast group IP address does not contain the MLD snooping entry of the port number of the port that receives the packet, the second creating unit 1016 is configured according to the multicast group included in the parsed An MLD Snooping entry is created by the IP address and the port number of the port that receives the >3 ⁇ 4 text. The MLD Snooping entry includes the IP address, VLAN ID, and port number of the multicast group included in the parsed packet. The MLD Snooping entry is sent to the execution module 102. For example, the created MLD Snooping entry can be as follows:
  • ff4e::l is the IP address of the multicast group
  • 100 is the VLAN ID
  • 2 is the port number of the port receiving the 4 ⁇ .
  • a multicast group IP address can correspond to multiple VLAN IDs or multiple port numbers.
  • An MLD snooping entry contains only one multicast group IP address, one VLAN ID, and one port number.
  • the execution module 102 specifically includes an operation unit 1021 and an address form element 1022.
  • the execution module 102 can be implemented by a function.
  • the operating unit 1021 is configured to add or delete a MAC forwarding entry.
  • a multicast MAC address may correspond to multiple MAC forwarding entries, and the multiple MAC forwarding entries form a set of multicast MAC forwarding entries corresponding to the multicast MAC address, and one MAC forwarding entry includes a MAC address and a port number. If the packet received by the processing module 101 is a join message, after the conversion module 103 maps the multicast group IP address carried in the packet to the multicast MAC address, the operation unit 1021 in the execution module 102 queries and determines that the packet has been received.
  • the multicast MAC forwarding entry forms a set of multicast MAC forwarding entries corresponding to the multicast MAC address.
  • the port number included in the MAC forwarding entry in the multicast MAC forwarding entry set is the same as the port number carried in the first entry or the second entry (the first entry or The port number carried in the second entry is the port number of the sender of the join message. If yes, no operation is performed; if not, according to the multicast MAC address and the first entry or the second table. The port number carried in the entry adds a MAC forwarding entry to the set of multicast MAC forwarding entries.
  • the operating unit 1021 queries and determines whether the existing MAC forwarding entry has received the multicast MAC address mapped by the multicast group IP address in the joining message.
  • the multicast MAC forwarding entry set corresponding to the address. If the judgment result is no, no action is taken. If the result of the determination is yes, it is determined whether the port number included in the MAC forwarding entry in the multicast MAC forwarding entry set is the same as the port number carried in the first entry or the second entry (the first entry or The port number carried in the second entry is the port number that is added to leave the sender. If not, no operation is performed; if yes, the operation unit 1021 deletes the port number in the multicast MAC forwarding entry. And delete the MAC forwarding entry. If the multicast forwarding entry set is empty after deleting the MAC forwarding entry, the multicast MAC forwarding entry set is deleted.
  • the address table unit 1022 is used to uniformly store the MAC address.
  • the address table unit 1022 includes a public MAC address table in which the MAC address is stored, and the conversion module 103 sets the IP address of the multicast group included in the IGMP Snooping entry or the multicast group IP included in the MLD Snooping entry. After the address is mapped to the multicast MAC address, there is a MAC forwarding entry stored in the public MAC address of the address table unit 1022.
  • the VLAN forwarding entry does not include the VLAN ID of the destination port, that is, the VLAN ID corresponding to the IPv4 multicast receiver or the IPv6 multicast receiver.
  • the VLAN ID can be stored in the address table.
  • Step 401 Obtain an IPv4 version of the multicast group IP address or the IPv6 version of the multicast group IP address according to the received packet.
  • Step 402 When obtaining the IPv4 version of the multicast group IP address, the obtained IPv4 version of the multicast group IP address is mapped to the multicast MAC address.
  • the obtained IPv6 version of the multicast group IP address is obtained, the obtained IPv6 version is obtained.
  • the multicast group IP address is mapped to a multicast MAC address.
  • Step 403 Update the public MAC address table according to the obtained multicast MAC address.
  • an embodiment of the present invention takes an example of receiving a join message.
  • the detailed method of obtaining the IGMP Snooping entry is as follows:
  • Step 501 Receive a join message, and obtain a port number of the port that receives the join message.
  • the join message is sent by the IPv4 multicast receiver.
  • Step 502 Parse the join text to obtain a multicast group IP address and a VLAN ID. Determine the protocol type of the join message to determine whether it is IPv4 or IPv6.
  • Step 503 Determine, according to the multicast group IP address, whether a corresponding IGMP Snooping entry is present. If the determination result is yes, go to step 504; otherwise, go to step 505. If the join message received in the step 501 is sent by the IPv6 multicast receiver, the operation of the step is: determining whether the corresponding MLD Snooping entry exists.
  • Step 504 Determine whether an IGMP Snooping entry in the IGMP Snooping entry is included in the same port number as the port that receives the join message. When the determination result is no, proceed to step 505; otherwise, proceed to step 506.
  • Step 505 Create an IGMP Snooping entry according to the multicast group IP address, VLAN ID, and port number.
  • an IGMP Snooping entry can be: (224.1.1.1, 100, 1). Go to step 507. If the join message received in step 501 is sent by the IPv6 multicast receiver, the step is: Create an MLD snooping entry based on the IP address, VLAN ID, and port number of the multicast group.
  • Step 506 Send the IGMP Snooping entry to the execution module 102.
  • the interface function of the execution module 102 can be called. If the join message received in step 501 is sent by the IPv6 multicast receiver, the step is: Send the MLD Snooping entry to the execution module 102.
  • the detailed method for obtaining the MAC address is as follows:
  • Step 601 Receive an MLD Snooping entry. If the received join message is an IPv4 version, the IGMP snooping entry is received in this step.
  • Step 602 Determine that the IP address version of the MLD Snooping entry is IPv6. If the IGMP snooping entry is received in the step 601, the step is: The IP address version of the IGMP snooping entry is IPv4.
  • Step 603 Map the multicast group IP address included in the MLD Snooping entry to obtain a multicast MAC address.
  • the IPv6 version of the multicast group IP address is 128 bits, and the mapped MAC address is 48 bits.
  • the multicast MAC address obtained by mapping the multicast group IP address of ff4e::l is 3333.0000.0001. If the IP address version of the IGMP snooping entry is determined to be IPv4, the procedure is as follows: The multicast group IP address included in the IGMP snooping entry is mapped to obtain a multicast MAC address.
  • Step 604 Determine whether there is a set of multicast MAC forwarding entries corresponding to the multicast MAC address in the existing MAC forwarding entry.
  • corresponding to the multicast MAC address refers to: In an existing MAC forwarding entry, there is a multicast MAC address that is the same as the multicast MAC address.
  • Step 605 Determine whether the port number included in the MAC forwarding entry in the multicast MAC forwarding entry set is the same as the port number carried in the second entry. If the determination result is no, proceed to step 606; otherwise, continue to step 607. . If the IGMP snooping entry is received in the step 601, the step is: determining whether the port number of the multicast forwarding entry in the MAC forwarding entry set is the same as the port number carried in the first entry.
  • Step 606 Add a MAC forwarding entry according to the multicast MAC address and the port number carried in the second entry.
  • Step 607 Send the MLD Snooping entry to the execution module 102.
  • the detailed method for processing the IGMP Snooping entry is as follows when the outgoing message is the IPv4 version.
  • Step 701 Receive a leaving message, and obtain a port number of a port that receives the leaving message.
  • the leaving message is sent by the IPv4 multicast receiver.
  • Step 702 Determine that the leaving message is an IPv4 version, or the leaving message may also be an IPv6 version.
  • Step 703 Parse the leaving message to obtain a multicast group IP address and a VLAN ID.
  • Step 704 Determine, according to the multicast group IP address, whether a corresponding IGMP Snooping entry is present. If the determination result is yes, go to step 704; otherwise, end the process. If it is determined in step 702 that the leaving message is an IPv6 version, the step is: determining, according to the IP address of the multicast group, whether the corresponding MLD Snooping entry exists.
  • Step 705 Determine whether an IGMP Snooping entry in the IGMP Snooping entry is included in the same port number as the port that receives the Leave message. When the judgment result is YES, step 706 is performed; otherwise, the flow is ended.
  • Step 706 Delete the port number in the IGMP Snooping entry, and delete the IGMP. Snooping entry.
  • Step 707 Determine whether the IGMP Snooping entry is empty. If the judgment result is yes, proceed to step 708; otherwise, the process ends.
  • Step 708 Delete the IGMP Snooping entry.
  • a detailed method for processing an MLD Snooping entry is as follows:
  • Step 801 Obtain the multicast group IP address in the MLD Snooping entry. If the outgoing packet is in the IPv4 version, the procedure is as follows: Obtain the IP address of the multicast group in the IGMP Snooping entry.
  • Step 802 Determine that the IP address version of the MLD Snooping entry is IPv6. If the IP address of the multicast group in the IGMP snooping entry is obtained in step 801, the process is as follows: The IP address version of the IGMP snooping entry is IPv4.
  • Step 803 Map the multicast group IP address included in the MLD Snooping entry to obtain a multicast MAC address.
  • the IPv6 version of the multicast group IP address is 128 bits, and the mapped multicast MAC address is 48 bits.
  • the multicast MAC address obtained by mapping the multicast group IP address of ff4e:: l is 3333.0000.0001. If the IP address version of the IGMP snooping entry is determined to be IPv4, the step is: mapping the multicast group IP address included in the IGMP Snooping entry to obtain a multicast MAC address.
  • Step 804 Determine whether there is a set of multicast MAC forwarding entries corresponding to the IP address of the multicast group in the existing MAC forwarding entry. Corresponding to the multicast group IP address, the MAC address included in the MAC forwarding entry is the same as the multicast MAC address in the existing MAC forwarding entry. When the judgment result is yes, step 805 is performed; otherwise, the flow is ended.
  • Step 805 Determine whether there is a multicast MAC forwarding entry in the set of MAC forwarding entries.
  • the port number included in the multicast forwarding entry is the same as the port number carried in the second entry. If the determination result is yes, go to step 806; otherwise, the process ends.
  • Step 806 Delete the port number in the multicast MAC forwarding entry, and delete the MAC address. Forward the entry.
  • Step 807 Determine whether the multicast MAC forwarding entry set is empty. When the determination result is yes, go to step 808; otherwise, end the process.
  • Step 808 Delete the multicast MAC forwarding entry set.
  • the embodiment of the present invention obtains the IPv4 version of the multicast group IP address or the IPv6 version of the multicast group IP address according to the received " ⁇ "; when obtaining the IPv4 version of the multicast group IP address, the obtained IPv4 version of the group
  • the multicast group IP address is mapped to the multicast MAC address.
  • the obtained IPv6 version of the multicast group IP address is mapped to the multicast MAC address.
  • the public MAC address is updated according to the obtained multicast MAC address.
  • the MAC address table is used to store the IPv4 and IPv6 MAC addresses in a unified manner.
  • the IPv4 and IPv6 protocol stacks do not need to maintain their respective public MAC address tables, which saves memory resources.
  • the IPv4 and IPv6 dual protocol stacks use the same execution module 102. To manage, which reduces the complexity of software implementation; Moreover, when implementing security management for multicast MAC addresses, it can avoid coupling with specific protocol versions, enhance MAC portability, and achieve unified storage and maintenance of MAC addresses.
  • IGMP snooping entry or MLD after IGMP snooping entries or MLD snooping entries are deleted. If the set of the Snooping entries is empty, the IGMP snooping entry or the MLD snooping entry is deleted. If the corresponding MAC forwarding entry is deleted, the MAC forwarding entry is deleted.
  • the memory space makes the information stored in the public MAC address table more reasonable and easy to use.
  • embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware. Moreover, the invention can be embodied in the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) including computer usable program code.
  • the present invention is directed to a method, apparatus (system), and computer program in accordance with an embodiment of the present invention.
  • the flow chart and/or block diagram of the product is described. It will be understood that each flow and/or block of the flowchart illustrations and/or FIG.
  • These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing device to produce a machine for the execution of instructions for execution by a processor of a computer or other programmable data processing device.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.

Landscapes

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

Abstract

本发明公开了一种MAC地址更新方法及装置,均可根据收到的报文获得IPv4版本的组播组IP地址或IPv6版本的组播组IP地址;当获得IPv4版本的组播组IP地址时,将获得的IPv4版本的组播组IP地址映射为组播MAC地址;当获得IPv6版本的组播组IP地址时,将获得的IPv6版本的组播组IP地址映射为组播MAC地址;根据所述组播MAC地址更新公共MAC地址表。本发明方法及装置,均可实现对MAC地址的统一更新及维护。

Description

一种 MAC地址更新方法及装置 技术领域
本发明涉及通信领域, 特别涉及一种 MAC (媒体接入控制)地址更新 方法及装置。 背景技术
由于目前 IPv4 ( Internet Protocol version 4, 网际协议版本 4 ) 网络存在 地址空间不足的问题, 所以以 IPv6 ( Internet Protocol version 6 , 网际协议版 本 6 )为核心的下一代互联网协议已经从研究阶段走向实用。 与 IPv4的 32 位地址长度相比, IPv6的 128位地址长度不仅能够满足全球用户对 IP地址 的需求, 还能够在安全性、 移动性、 服务质量等各方面提供更好的支持, 因此 IPv6取代 IPv4已成为网络发展的必然趋势。但由于目前的互联网还属 于 IPv6发展的初期, 现有的 IPv4网络具备相当的规模, 为了保护现有设备 和投资, 网络不可能一次性更替到 IPv6,而是将面临一个长期的 IPv4、 IPv6 并存的过程。 目前只有做好 IPV4和 IPV6网络的融合, 才能实现平稳过渡。
组播技术的基本原理是利用 IGMP ( Internet Group Management Protocol, 互联网组播管理协议 )或者 MLD ( Multicast Listener Discovery, 组播侦听发现) 维护组播组关系。 IGMP ( IPv4 )或 MLD ( IPv6 中)运行 于三层设备上, 对于组播接收者加入或离开组播组进行动态管理, 并建立 三层组播转发表项。 同时, 二层设备上运行 IGMP Snooping ( Internet Group Management Protocol Snooping , 互联网组播管理协议窥探) 或者 MLD Snooping ( Multicast Listener Discovery Snooping, 组播侦听发现冠探), 分 别配置了 IGMP协议或者 MLD协议的三层设备与组播接收者之间的 IGMP 报文或 MLD报文, 根据配置的所述报文在二层设备上建立和维护 MAC组 播地址表。 这样, 二层设备收到的组播数据报文就根据 MAC组播地址表进 行转发, 实现组播数据 ^^文的二层组播。
现有技术中, 在同时支持 IPv4和 IPv6的双协议栈二层设备上, IPV4 协议栈和 IPv6协议栈可能会分别独立维护各自的 MAC组播地址表, 这样 不仅会造成硬件资源的浪费, 软件实现上也会增加复杂度, 且不便于对 MAC地址进行安全管理。 发明内容
本发明的主要目的在于提供一种 MAC 地址更新方法, 用于实现对 MAC地址的统一更新及维护;
本发明的另一目的在于提供一种组播方法,用于根据统一的 MAC地址 对数据进行组播。
为了达到上述目的, 本发明的技术方案是这样实现的:
一种 MAC地址更新方法, 该方法包括:
根据收到的 ^艮文获得网际协议版本 4 IPv4版本的组播组 IP地址或网际 协议版本 6 IPv6版本的组播组 IP地址;
当获得 IPv4版本的组播组 IP地址时, 将获得的 IPv4版本的组播组 IP 地址映射为组播媒体接入控制 MAC地址; 当获得 IPv6版本的组播组 IP地 址时, 将获得的 IPv6版本的组播组 IP地址映射为组播 MAC地址;
根据所述组播 MAC地址更新公共 MAC地址表。
所述收到的报文为加入报文, 在当获得 IPv4版本的组播组 IP地址时, 将获得的 IPv4版本的组播组 IP地址映射为组播 MAC地址; 当获得 IPv6 版本的组播组 IP地址时, 将获得的 IPv6版本的组播组 IP地址映射为组播 MAC地址之前, 还包括:
当根据收到的报文获得 IPv4版本的组播组 IP地址时,判断互联网组播 管理协议窥探 IGMP Snooping中是否有对应于所述 IPv4版本的组播组 IP 地址的第一表项集合, 当判断结果为否时,根据 IPv4版本的组播组 IP地址 创建包含收到所述加入报文的端口的端口号的第一表项;
当根据收到的报文获得 IPv6 版本的组播组 IP 地址时, 判断 MLD Snooping中是否有对应于所述 IPv6版本的组播组 IP地址的第二表项集合, 当判断结果为否时,根据 IPv6版本的组播组 IP地址创建包含收到所述加入 报文的端口的端口号的第二表项。
根据所述判断,当确定有对应于所述 IPv4版本的组播组 IP地址的第一 表项集合时, 判断所述第一表项集合中是否有第一表项所包含的端口号与 收到所述加入报文的端口的端口号相同, 当判断结果为没有时, 根据所述 IPv4版本的组播组 IP地址创建包含收到所述加入 文的端口的端口号的第 一表项; 或者
根据所述判断,当确定有对应于所述 IPv6版本的组播组 IP地址的第二 表项集合时, 判断所述第二表项集合集合中是否有第二表项所包含的端口 号与收到所述加入报文的端口的端口号相同, 当判断结果为没有时, 根据 所述 IPv6版本的组播组 IP地址创建包含收到所述加入 文的端口的端口号 的第二表项。
所述收到的报文为加入报文, 根据获得的组播 MAC 地址更新公共 MAC地址表的步骤包括:
判断公共 MAC地址表中是否有与所述获得的组播 MAC地址相对应的 组播 MAC转发条目集合, 当判断结果为否时, 根据获得的组播 MAC地址 创建包含所述第一表项或第二表项中携带的端口号的 MAC转发条目;
当判断结果为是时, 判断所述组播 MAC转发条目集合中是否有 MAC 转发条目所包含的端口号与所述第一表项或第二表项中携带的端口号相 同, 当判断结果为没有时, 根据所述组播 MAC地址在所述组播 MAC转发 条目集合中添加包含所述第一表项或第二表项中携带的端口号的 MAC 转 发条目。
所述收到的报文为离开报文, 在当获得 IPv4版本的组播组 IP地址时, 将获得的 IPv4版本的组播组 IP地址映射为组播 MAC地址; 当获得 IPv6 版本的组播组 IP地址时, 将获得的 IPv6版本的组播组 IP地址映射为组播 MAC地址之前, 还包括:
判断 IGMP Snooping中是否有与所述 IPv4版本的组播组 IP地址相对应 的第一表项集合, 当判断结果为是时, 判断所述第一表项集合中是否有第 一表项所包含的端口号与收到所述离开报文的端口的端口号相同, 当判断 结果为有时, 在所述第一表项中删除所述端口号, 并删除所述第一表项; 或者
判断 MLD Snooping中是否有与所述 IPv6版本的组播组 IP地址相对应 的第二表项集合, 当判断结果为是时, 判断所述第二表项集合中是否有第 二表项所包含的端口号与收到所述离开报文的端口的端口号相同, 当判断 结果为有时, 在所述第二表项的中删除所述端口号, 并删除所述第二表项。
还包括:
判断所述第一表项集合是否为空, 当判断结果为是时, 删除所述第一 表项集合; 或者
判断所述第二表项集合是否为空, 当判断结果为是时, 删除所述第二 表项集合。
所述收到的报文为离开报文, 根据获得的组播 MAC 地址更新公共 MAC地址表的步骤包括:
判断是否有与所述获得的组播 MAC地址相对应的组播 MAC转发条目 集合,当判断结果为是时,判断所述组播 MAC转发条目集合中是否有 MAC 转发条目所包含的端口号与所述第一表项或第二表项中携带的端口号相 同, 当判断结果为有时, 在所述 MAC转发条目中删除所述端口号, 并删除 所述 MAC转发条目;
继续判断所述组播 MAC转发条目集合是否为空, 当所述组播 MAC转 发条目集合为空时, 删除所述组播 MAC转发条目集合。
一种组播方法, 该方法包括:
根据收到的^艮文获得 IPv4版本的组播组 IP地址或 IPv6版本的组播组
IP地址;
当获得 IPv4版本的组播组 IP地址时, 将获得的 IPv4版本的组播组 IP 地址映射为组播 MAC地址; 当获得 IPv6版本的组播组 IP地址时, 将获得 的 IPv6版本的组播组 IP地址映射为组播 MAC地址;
根据所述组播 MAC地址在公共 MAC地址表中查询与所述组播 MAC 地址对应的端口号, 根据所述端口号进行数据转发。
一种 MAC地址更新装置, 该装置包括:
处理模块,用于根据收到的报文获得 IPv4版本的组播组 IP地址或 IPv6 版本的组播组 IP地址;
转换模块, 用于当获得 IPv4版本的组播组 IP地址时, 将获得的 IPv4 版本的组播组 IP地址映射为组播 MAC地址; 当获得 IPv6版本的组播组 IP 地址时, 将获得的 IPv6版本的组播组 IP地址映射为组播 MAC地址;
执行模块, 用于根据所述组播 MAC地址更新公共 MAC地址表。
所述收到的报文为加入报文, 所述处理模块还用于:
当根据收到的报文获得 IPv4 版本的组播组 IP 地址时, 判断 IGMP
Snooping中是否有与所述 IPv4版本的组播组 IP地址相对应的第一表项集 合, 当判断结果为否时,根据 IPv4版本的组播组 IP地址创建包含收到所述 加入报文的端口的端口号的第一表项;
当根据收到的报文获得 IPv6 版本的组播组 IP 地址时, 判断 MLD Snooping中是否有与所述 IPv6版本的组播组 IP地址相对应的第二表项集 合, 当判断结果为否时,根据 IPv6版本的组播组 IP地址创建包含收到所述 加入报文的端口的端口号的第二表项。
所述处理模块还用于:
根据所述判断,当确定有与所述 IPv4版本的组播组 IP地址相对应的第 一表项集合时, 判断所述第一表项集合中是否有第一表项所包含的端口号 与收到所述加入报文的端口的端口号相同, 当判断结果为没有时, 根据所 述 IPv4版本的组播组 IP地址创建包含收到所述加入报文的端口的端口号的 第一表项; 或者,
根据所述判断,当确定有与所述 IPv6版本的组播组 IP地址相对应的第 二表项集合时, 判断所述第二表项集合中是否有第二表项所包含的端口号 与收到所述加入报文的端口的端口号相同, 当所述判断结果为没有时, 根 据所述 IPv6版本的组播组 IP地址创建包含收到所述加入 文的端口的端口 号的第二表项。
所述收到的报文为加入报文时, 所述执行模块用于:
判断公共 MAC地址表中是否有与所述获得的组播 MAC地址相对应的 组播 MAC转发条目集合, 当判断结果为否时, 根据获得的组播 MAC地址 创建包含所述第一表项或第二表项中携带的端口号的 MAC转发条目; 当判断结果为是时, 判断所述组播 MAC转发条目集合中是否有 MAC 转发条目所包含的端口号与所述第一表项或第二表项中携带的端口号相 同, 当所述判断结果为没有时, 根据所述组播 MAC地址在所述组播 MAC 转发条目集合中添加包含所述第一表项或第二表项中携带的端口号的 MAC转发条目。
所述收到的报文为离开报文时, 所述处理模块还用于:
判断 IGMP Snooping中是否有与所述 IPv4版本的组播组 IP地址相对应 的第一表项集合, 当判断结果为是时, 判断所述第一表项集合中是否有第 一表项所包含的端口号与收到所述离开报文的端口的端口号相同, 当所述 判断结果为有时, 在所述第一表项中删除所述端口号, 并删除所述第一表 项; 或者,
判断 MLD Snooping中是否有与所述 IPv6版本的组播组 IP地址相对应 的第二表项集合, 当判断结果为是时, 判断所述第二表项集合中是否有第 二表项所包含的端口号与收到所述离开报文的端口的端口号相同, 当所述 判断结果为有时, 在所述第二表项中删除所述端口号, 并删除所述第二表 项。
所述处理模块还用于:
判断所述第一表项集合是否为空, 当判断结果为是时, 删除所述第一 表项集合; 或者,
判断所述第二表项集合是否为空, 当判断结果为是时, 删除所述第二 表项集合。
所述收到的报文为离开报文时, 所述执行模块用于:
判断是否有与所述获得的组播 MAC地址相对应的组播 MAC转发条目 集合,当判断结果为是时,判断所述组播 MAC转发条目集合中是否有 MAC 转发条目所包含的端口号与所述第一表项或第二表项中携带的端口号相 同,当所述判断结果为有时,在所述组播 MAC转发条目中删除所述端口号, 并删除所述 MAC转发条目;
继续判断所述组播 MAC转发条目集合是否为空, 当所述组播 MAC转 发条目集合为空时, 删除所述组播 MAC转发条目集合。
一种组播装置, 该装置包括:
处理模块,用于根据收到的报文获得 IPv4版本的组播组 IP地址或 IPv6 版本的组播组 IP地址;
转换模块, 用于当获得 IPv4版本的组播组 IP地址时, 将获得的 IPv4 版本的组播组 IP地址映射为组播 MAC地址; 当获得 IPv6版本的组播组 IP 地址时, 将获得的 IPv6版本的组播组 IP地址映射为组播 MAC地址;
执行模块, 用于根据所述组播 MAC地址在公共 MAC地址表中查询与 所述组播 MAC地址对应的端口号, 根据所述端口号进行数据转发。
本发明实施例根据收到的" ^艮文获得 IPv4版本的组播组 IP地址或 IPv6 版本的组播组 IP地址;当获得 IPv4版本的组播组 IP地址时,将获得的 IPv4 版本的组播组 IP地址映射为组播 MAC地址; 当获得 IPv6版本的组播组 IP 地址时, 将获得的 IPv6版本的组播组 IP地址映射为组播 MAC地址; 根据 获得的组播 MAC地址更新公共 MAC地址表。 IPv4及 IPv6使用同一公共 MAC地址表, 实现了对 MAC地址的统一更新及维护 , 节省了内存资源。 附图说明
图 1为本发明实施例中 MAC地址更新装置的主要结构图;
图 2为本发明实施例中 MAC地址更新装置的详细结构图;
图 3A为本发明实施例中 MAC地址更新装置中处理模块的详细结构 图;
图 3B 为本发明实施例中 MAC地址更新装置中执行模块的详细结构 图;
图 4为本发明实施例中 MAC地址更新方法的主要流程图;
图 5 本发明实施例中收到的加入 4艮文为 IPv4 版本时, 获得 IGMP
Snooping表项的详细流程图;
图 6为本发明实施例中收到的加入 ^艮文为 IPv6版本, 获得 MAC地址 的详细流程图;
图 7 为本发明实施例中收到的离开 4艮文为 IPv4 版本时, 对 IGMP Snooping表项的处理的详细流程图;
图 8 为本发明实施例中当收到的离开 4艮文为 IPv6 版本时, 对 MLD Snooping表项的处理的详细流程图。 具体实施方式
本发明实施例根据收到的" ^艮文获得 IPv4版本的组播组 IP地址或 IPv6 版本的组播组 IP地址;当获得 IPv4版本的组播组 IP地址时,将获得的 IPv4 版本的组播组 IP地址映射为组播 MAC地址; 当获得 IPv6版本的组播组 IP 地址时, 将获得的 IPv6版本的组播组 IP地址映射为组播 MAC地址; 根据 获得的组播 MAC地址更新公共 MAC地址表。 IPv4及 IPv6使用同一公共 MAC地址表, 实现了对 MAC地址的统一更新及维护 , 节省了内存资源。
参见图 1 , 本发明实施例中 MAC地址更新装置包括处理模块 101、 执 行模块 102及转换模块 103。
处理模块 101用于根据收到的报文获得 IPv4版本的组播组 IP地址或 IPv6版本的组播组 IP地址。 组播组 IP地址即组播组 IP地址, 指的是组播 的组 IP地址。 处理模块 101接收报文, 其中, 报文可以是加入报文或离开 报文, 所述报文是由 IPv4组播接收方或 IPv6组播接收方所发送的。加入报 文表明 IPv4组播接收方或 IPv6组播接收方请求加入组播组,离开报文表明 IPv4组播接收方或 IPv6组播接收方请求离开组播组。 处理模块 101还会接 收数据报文, 该报文由 IPv4组播发送方或 IPv6组播发送方所发送, 用于向 IPv4组播接收方或 IPv6组播接收方发送数据。 接收到加入艮文或离开 4艮文 后, 处理模块 101 对报文进行解析, 获得报文中的参数信息, 其中, 参数 信息至少包括 IPv4组播组 IP地址或 IPv6组播组 IP地址和 VLAN ( Virtual Local Area Network, 虚拟局域网) ID (标识符), 并且可以根据接收所述加 入报文或离开报文的端口获得该端口的端口号。 VLAN ID是端口号所在的 VLAN的 ID, 二层设备上可能有多个 VLAN, 可以通过 VLAN ID来进行 区分。 解析报文后, 处理模块 101根据从报文中解析出的组播组 IP地址在 IGMP Snooping中查找第一表项集合或在 MLD Snooping中查找第二表项集 合; 所述第一表项集合对应于 IPv4, 所述第二表项集合对应于 IPv6。
较佳的, 本发明实施例中第一表项可以是 IGMP Snooping表项, 第二 表项可以是 MLD Snooping表项。每条 IGMP Snooping表项包括从报文中解 析出的组播组 IP地址、 VLAN ID及收到所述 ^艮文的端口的端口号, 以及三 者的对应关系; 每条 MLD Snooping表项包括从报文中解析出的组播组 IP 地址、 VLAN ID及接收所述报文的端口的端口号, 以及三者的对应关系。 对应于一个组播组 IP地址的所有第一表项组成第一表项集合,或称为 IGMP Snooping表项集合; 对应于一个组播组 IP地址的所有第二表项组成第二表 项集合,或称为 MLD Snooping表项集合。一个 IGMP Snooping表项集合中 的各 IGMP Snooping表项, 或者一个 MLDSnooping表项集合中的各 MLD Snooping表项之间可以对应有链接关系。
当根据一个组播组 IP地址进行查询时,可以查询到包含该组播组 IP地 址的 IGMP Snooping表项集合或 MLDSnooping表项集合, 其中包含了所有 包含该组播组 IP地址的 IGMP Snooping表项或 MLDSnooping表项。 如果 对应于该组播组 IP地址的 IGMP Snooping表项集合或 MLD Snooping表项 集合为空, 则处理模块 101根据该组播组 IP地址创建一条 IGMP Snooping 表项或 MLD Snooping表项;如果对应于该组播组 IP地址的 IGMP Snooping 表项集合中没有接收所述报文的端口的端口号所对应的 IGMP Snooping表 项, 则处理模块 101根据该组播组 IP地址及接收所述报文的端口的端口号 在该 IGMP Snooping表项集合中创建一条 IGMP Snooping表项; 如果对应 于该组播组 IP地址的 MLD Snooping表项集合中没有接收所述报文的端口 的端口号所对应的 MLD Snooping表项, 则处理模块 101根据该组播组 IP 地址及接收所述报文的端口的端口号在该 MLD Snooping表项集合中创建 一条 MLD Snooping表项。其中,处理模块 101维护 IGMP Snooping中的所 有 IGMP Snooping表项集合和 MLD Snooping中的所有 MLD Snooping表项 集合。
执行模块 102用于根据获得的组播 MAC地址更新公共 MAC地址表。 执行模块 102将 IGMP Snooping表项中的组播组 IP地址映射得到的组播 MAC地址及 MLD Snooping表项中的组播组 IP地址映射得到的组播 MAC 地址统一存储在一个公共 MAC地址表中, 且根据每个 MAC地址在公共 MAC地址表中建立 MAC转发条目。每个组播 MAC地址可以对应多个 MAC 转发条目, 对应于一个组播 MAC地址的所有 MAC转发条目可以组成一个 组播 MAC转发条目集合。每个 MAC转发条目中包括 MAC地址及端口号。 端口号是接收 IPv4组播接收方发送的报文或 IPv6组播接收方发送的报文的 端口的端口号。 所述端口号是根据 IGMP Snooping表项或 MLD Snooping 表项中的 VLAN ID及端口号添加到 MAC转发条目中的, 根据 MAC转发 条目中的组播 MAC地址及端口号即可获知 IPv4组播接收者或 IPv6组播接 收者的准确位置。 此后, 如果处理模块 101 收到数据报文, 解析出数据报 文中所包含的组播组 IP地址,执行模块 102将该组播组 IP地址映射为组播 MAC地址, 并根据映射得到的 MAC地址查询公共 MAC地址表中相应的 组播 MAC转发条目集合, 以进行数据转发。 所述相应的组播 MAC转发条 目集合是指该 MAC 转发条目中所包含的 MAC 地址与所述映射得到的 MAC地址相同。
转换模块 103用于当获得 IPv4版本的组播组 IP地址时,将获得的 IPv4 版本的组播组 IP地址映射为组播 MAC地址; 当获得 IPv6版本的组播组 IP 地址时, 将获得的 IPv6版本的组播组 IP地址映射为组播 MAC地址。 本发 明实施例中 IP地址以组播组 IP地址为例。 转换模块 103获得处理模块 101 中的 IGMP Snooping表项或 MLD Snooping表项, 该 IGMP Snooping表项 或 MLD Snooping表项中包括了组播组 IP地址、 VLAN ID及端口号。 转换 模块 103根据 IPv4版本的 IP地址与 MAC地址之间的固定映射关系或 IPv6 版本的 IP地址与 MAC地址之间的固定映射关系 , 将 IGMP Snooping表项 中的组播组 IP地址或 MLD Snooping表项中的组播组 IP地址映射为组播 MAC地址。其中, 映射关系可以是一个函数,确定了一种固定的计算方式。
转换模块 103将 IPv4版本的 IP地址代入 IPv4版本的 IP地址与 MAC 地址之间的固定映射关系中, 即可获得组播 MAC地址; 或将 IPv6版本的 IP地址代入 IPv6版本的 IP地址与 MAC地址之间的固定映射关系中,即可 获得组播 MAC地址。 IGMP Snooping表项或 MLD Snooping表项中包括的 VLAN ID可以存储在执行模块 102中,根据该 VLAN ID及 IGMP Snooping 表项或 MLD Snooping表项中包括的端口号, 已经可以确定接收 IPv4组播 接收方发送的 文或 IPv6组播接收方发送的 文的端口的端口号, 因此在 MAC 转发条目中不包括 VLAN ID。 例如, 一条 MAC 转发条目为: ( 0100.5e01.0101 , 端口 1 );
其中, 0100.5e01.0101为将组播组 IP地址 224.1.1.1映射后得到的 MAC 地址。 例如, 另一条 MAC转发条目为: (3333.0000.0001 , 端口 2 );
其中, 3333.0000.0001 为将组播组 IP地址 ff4e::l 映射后得到的组播
MAC地址。 因为 IPv4所对应的 IP地址映射后均是以 01005e开头, IPv6 所对应的 IP地址映射后均是以 3333开头,因此 IPv4所对应的 IP地址及 IPv6 所对应的 IP地址映射后得到的 MAC地址不会相同, 则二者在地址表单元 1022中存储时不会发生冲突。
参见图 2, 所述装置还包括收发模块 104, 所述装置还可以包括存储模 块 105。
收发模块 104 用于接收报文, 及收发 IGMP Snooping表项或 MLD Snooping表项。收发模块 104用于接收 IPv4组播接收方或 IPv6组播接收方 发送的加入报文或离开报文。 收发模块 104收到报文后, 判断收到的报文 的协议类型是 IPv4协议还是 IPv6协议,再根据所述协议类型通知处理模块 101 中的相应单元, 以进行解析。 收发模块 104用于接收 IGMP Snooping 表项或 MLD Snooping表项。收发模块 104还用于根据数据报文中的组播组 IP地址映射出的组播 MAC地址查询已有的 MAC转发条目,查找到与该组 播 MAC地址对应的组播 MAC转发条目集合, 根据该组播 MAC转发条目 集合中的端口号将 IPv4组播发送方发送的数据转发到 IPv4组播接收方,或 将 IPv6组播发送方发送的数据转发到 IPv6组播接收方。
存储模块 105用于存储映射关系。 存储模块 105用于存储 IPv4版本的 IP地址与 MAC地址之间的固定映射关系及 IPv6版本的 IP地址与 MAC地 址之间的固定映射关系, 可以将这两种映射关系分别存储。 执行模块 102 可以根据存储模块 105中存储的 IPv4版本的 IP地址或 IPv6版本的 IP地址 与 MAC地址之间的固定映射关系, 将 IGMP Snooping表项中的组播组 IP 地址或 MLD Snooping表项中的组播组 IP地址映射为组播 MAC地址。
参见图 3A, 所述处理模块 101具体包括第一解析单元 1011、 第二解析 单元 1012、 第一查询单元 1013、 第二查询单元 1014、 第一创建单元 1015 及第二创建单元 1016。 其中, 第一解析单元 1011、 第一查询单元 1013、 及 第一创建单元 1015为对应于 IPv4的设备, 而第二解析单元 1012、 第二查 询单元 1014及第二创建单元 1016为对应于 IPv6的设备。 在本发明实施例 中,处理模块 101中对 IPv4加入报文的举例均以 IPv4组播接收方发出加入 组播组 224.1.1.1的报文为例, 对 IPv6加入报文的举例均以 IPv4组播接收 方发出加入组播组 ff4e:: 1的报文为例。
第一解析单元 1011用于对 IPv4组播接收方发送的 文进行解析。收发 模块 104在收到报文后,判断该报文的协议类型是 IPv4版本还是 IPv6版本, 当确定该 的协议类型为 IPv4版本时,通知第一解析单元 1011进行解析。 第一解析单元 1011在收到 IPv4组播接收方发送的报文后,判断该报文是加 入报文还是离开报文, 并解析出该报文中所包含的参数信息。 其中, 所述 参数信息至少包括组播组 IP地址及 VLAN ID,在接收所述报文时可以获得 接收该 文的端口的端口号。 一个组播组 IP地址可以对应多个端口号, 一 个 VLAN ID可以对应多个端口号。 例如, 第一解析单元 1011收到报文后 , 确定接收该报文的端口的端口号为端口 1 , 解析出的报文参数信息为:
IPv4组播组 IP地址: 224.1.1.1 , VLAN ID: 100。
第二解析单元 1012用于对 IPv6组播接收方发送的 文进行解析。收发 模块 104在收到报文后,判断该报文的协议类型是 IPv4版本还是 IPv6版本, 当确定该 的协议类型为 IPv6版本时,通知第二解析单元 1012进行解析。 第二解析单元 1012在收到 IPv6组播接收方发送的报文后,判断该报文是加 入报文还是离开报文, 并解析出该报文中所包含的参数信息。 其中, 所述 参数信息至少包括组播组 IP地址及 VLAN ID接收该 文的端口的端口号。 一个组播组 IP地址可以对应多个端口号, 一个 VLAN ID可以对应多个端 口号。 例如, 解析单元 1022解析出的 >¾文参数信息为:
IPv6组播组 IP地址: ff4e::l , VLAN ID: 100, 端口: 端口 2。
第一查询单元 1013 用于根据解析出的组播组 IP 地址查询 IGMP
Snooping表项。 查询单元 1013维护所有的 IGMP Snooping表项, 可以将所 有的 IGMP Snooping表项存储起来以供查询及调用。 当第一解析单元 1011 解析出报文中所包含的参数信息后, 通知第一查询单元 1013进行查询。
如果是加入报文, 第一查询单元 1013根据第一解析单元 1011解析出 的报文信息中所包含的组播组 IP地址, 查询及判断存储的 IGMP Snooping 表项中是否有包含了该组播组 IP地址的 IGMP Snooping表项集合, 如果判 断结果为否,则通知第一创建单元 1015根据该组播组 IP地址及接收所述加 入报文的端口的端口号创建一条 IGMP Snooping表项, 该 IGMP Snooping 表项即组成对应于该组播组 IP地址的 IGMP Snooping表项集合; 如果判断 结果为是, 则判断该 IGMP Snooping表项集合中是否有 IGMP Snooping表 项中的端口号为接收所述加入报文的端口的端口号,如果该 IGMP Snooping 表项集合中某个 IGMP Snooping表项中的端口号与接收所述加入报文的端 口的端口号相同, 则直接将该 IGMP Snooping表项发送给执行模块 102 ,如 果该 IGMP Snooping表项集合中的 IGMP Snooping表项中没有端口号与接 收所述加入 文的端口的端口号相同, 则通知第一创建单元 101 根据该组 播组 IP地址及接收所述加入报文的端口的端口号在该 IGMP Snooping表项 集合中创建一条 IGMP Snooping表项。
如果是离开报文, 第一查询单元 1013根据第一解析单元 1011解析出 的报文信息中所包含的组播组 IP地址, 查询及判断存储的 IGMP Snooping 表项中是否有包含了该组播组 IP地址的 IGMP Snooping表项集合, 如果判 断结果为否, 则不进行任何操作。 如果判断结果为是, 则判断该 IGMP Snooping表项集合中是否有某个 IGMP Snooping表项中的端口号与接收所 述离开报文的端口的端口号相同, 如果没有, 则不进行任何操作; 如果有, 则删除该端口号, 并删除该 IGMP Snooping 表项。 如果删除该 IGMP Snooping表项后该 IGMP Snooping表项集合为空,则删除该 IGMP Snooping 表项集合。
第二查询单元 1014 用于根据解析出的组播组 IP 地址查询 MLD Snooping表项。 第二查询单元 1014维护所有的 MLD Snooping表项, 可以 将所有的 MLD Snooping表项存储起来以供查询及调用。 当第二解析单元 1012解析出报文中所包含的参数信息后,通知第二查询单元 1014进行查询。
如果是加入报文, 第二查询单元 1014根据第二解析单元 1012解析出 的报文信息中所包含的组播组 IP地址, 查询及判断存储的 MLD Snooping 表项中是否有包含了该组播组 IP地址的 MLD Snooping表项集合, 如果判 断结果为否,则通知第二创建单元 1016根据该组播组 IP地址及接收所述加 入才艮文的端口的端口号创建一条 MLD Snooping表项,该 MLD Snooping表 项即组成对应于该组播组 IP地址的 MLD Snooping表项集合。 如果判断结 果为是,则判断该 MLD Snooping表项集合中是否有某个 MLD Snooping表 项所包含的端口号与接收所述加入报文的端口的端口号相同, 如果有, 则 直接将该 MLD Snooping表项发送给执行模块 102; 如果没有, 则通知第二 创建单元 1016根据该组播组 IP地址及接收所述加入 文的端口的端口号, 在该 MLD Snooping表项集合中创建一条 MLD Snooping表项。
如果是离开报文, 第二查询单元 1014根据第二解析单元 1012解析出 的报文信息中所包含的组播组 IP地址, 查询及判断存储的 MLD Snooping 表项中是否有包含了该组播组 IP地址的 MLD Snooping表项集合, 如果判 断结果为否, 则不进行任何操作。 如果判断结果为是, 则判断该 MLD Snooping表项集合中是否有某个 MLD Snooping表项所包含的端口号与接 收所述离开报文的端口的端口号相同, 如果没有, 则不进行任何操作; 如 果有, 则删除该端口号, 并删除该 MLD Snooping表项。 如果删除该 MLD Snooping表项后,该 MLD Snooping表项集合为空,则删除该 MLD Snooping 表项集合。
第一创建单元 1015用于创建 IGMP Snooping表项。 如果第一查询单元 1013判断出存储的 IGMP Snooping表项中没有包含解析出的报文中所包含 的组播组 IP地址的 IGMP Snooping表项集合, 或者对应于解析出的报文中 所包含的组播组 IP地址的 IGMP Snooping表项集合中没有包含接收所述报 文的端口的端口号的 IGMP Snooping表项, 则第一创建单元 1015根据该解 析出的 4艮文中所包含的组播组 IP地址及接收所述>¾文的端口的端口号创建 一条 IGMP Snooping表项, 该 IGMP Snooping表项中包括解析出的报文中 所包含的组播组 IP地址、 VLAN ID及接收所述 文的端口的端口号, 再将 该 IGMP Snooping表项发送给执行模块 102。例如,该创建的 IGMP Snooping 表项可以 ¾口下: IGMP Snooping表项: (224.1.1.1 , 100, 1 )。
其中, 224.1.1.1为组播组 IP地址, 100为 VLAN ID, 1为接收所述才艮 文的端口的端口号。 一个组播组 IP地址可以对应多个 VLAN ID, 也可以对 应多个端口号, 但一条 IGMP Snooping表项中只包含一个组播组 IP地址、 一个 VLAN ID及一个端口号。
第二创建单元 1016用于创建 MLD Snooping表项。 如果第二查询单元 1014判断出存储的 MLD Snooping表项中没有包含解析出的报文中所包含 的组播组 IP地址的 MLD Snooping表项集合, 或者对应于解析出的报文中 所包含的组播组 IP地址的 MLD Snooping表项集合中没有包含接收所述报 文的端口的端口号的 MLD Snooping表项, 则第二创建单元 1016根据该解 析出的 4艮文中所包含的组播组 IP地址及接收所述>¾文的端口的端口号创建 一条 MLD Snooping表项,该 MLD Snooping表项中包括解析出的报文中所 包含的组播组 IP地址、 VLAN ID及端口号, 再将该 MLD Snooping表项发 送给执行模块 102。 例如, 该创建的 MLD Snooping表项可以如下:
MLD Snooping表项: (ff4e:: l , 100, 2 )。
其中, ff4e::l为组播组 IP地址, 100为 VLAN ID, 2为接收所述 4艮文 的端口的端口号。 一个组播组 IP地址可以对应多个 VLAN ID , 也可以对应 多个端口号, 但一条 MLD Snooping表项中只包含一个组播组 IP地址、 一 个 VLAN ID及一个端口号。
参见图 3B , 所述执行模块 102中具体包括操作单元 1021及地址表单 元 1022。 其中, 执行模块 102可以通过函数来实现。
操作单元 1021用于添加或删除 MAC转发条目。 一个组播 MAC地址 可以对应多条 MAC转发条目, 该多条 MAC转发条目组成一个对应于该组 播 MAC地址的组播 MAC转发条目集合, 一条 MAC转发条目中包含一个 MAC地址及一个端口号。 如果处理模块 101收到的报文为加入报文, 在转换模块 103将报文中 携带的组播组 IP地址映射为组播 MAC地址后, 执行模块 102中的操作单 元 1021查询并判断已有的 MAC转发条目中是否有收到的所述加入报文中 的组播组 IP地址映射后的组播 MAC地址所对应的组播 MAC转发条目集 合,如果判断结果为否, 则根据该组播 MAC地址及第一表项或第二表项中 携带的端口号创建一条组播 MAC转发条目, 该组播 MAC转发条目组成一 个对应于该组播 MAC地址的组播 MAC转发条目集合。如果判断结果为是, 则判断该组播 MAC转发条目集合中是否有某个 MAC转发条目所包含的端 口号与第一表项或第二表项中携带的端口号相同 (第一表项或第二表项中 携带的端口号即所述加入报文发送方的端口号), 如果有, 则不进行任何操 作; 如果没有, 则根据该组播 MAC地址及第一表项或第二表项中携带的端 口号在该组播 MAC转发条目集合中添加一条 MAC转发条目。
如果处理模块 101收到的报文为离开报文, 操作单元 1021查询并判断 已有的 MAC转发条目中是否有收到的所述加入报文中的组播组 IP地址映 射后的组播 MAC地址所对应的组播 MAC转发条目集合, 如果判断结果为 否, 则不做任何操作。 如果判断结果为是, 则判断该组播 MAC转发条目集 合中是否有某个 MAC 转发条目所包含的端口号与第一表项或第二表项中 携带的端口号相同 (第一表项或第二表项中携带的端口号即所述加入离开 发送方的端口号), 如果没有, 则不做任何操作; 如果有, 则操作单元 1021 删除该组播 MAC转发条目中的该端口号, 并删除该 MAC转发条目。 如果 删除该 MAC转发条目后该组播 MAC转发条目集合为空, 则删除该组播 MAC转发条目集合。
地址表单元 1022用于统一存储 MAC地址。地址表单元 1022包含一个 公共 MAC地址表,其中存储了 MAC地址,转换模块 103将 IGMP Snooping 表项中所包括的组播组 IP地址或 MLD Snooping表项中所包括的组播组 IP 地址映射为组播 MAC地址后, 均存储在地址表单元 1022的公共 MAC地 有 MAC转发条目。 该 MAC转发条目中不包括目的端口的 VLAN ID, 即 IPv4组播接收方或 IPv6组播接收方所对应的 VLAN ID, 该 VLAN ID可以 存储在地址表中。
下面通过流程来介绍组播方法。
参见图 4 , MAC地址更新的主要方法流程如下:
步骤 401 : 根据收到的报文获得 IPv4版本的组播组 IP地址或 IPv6版 本的组播组 IP地址。
步骤 402: 当获得 IPv4版本的组播组 IP地址时, 将获得的 IPv4版本 的组播组 IP地址映射为组播 MAC地址; 当获得 IPv6版本的组播组 IP地 址时, 将获得的 IPv6版本的组播组 IP地址映射为组播 MAC地址。
步骤 403: 根据获得的组播 MAC地址更新公共 MAC地址表。
参见图 5 , 本发明实施例以收到加入报文为例。 当加入报文为 IPv4版 本时, 获得 IGMP Snooping表项的详细方法流程如下:
步骤 501 : 接收加入报文, 获得接收所述加入报文的端口的端口号。 其 中, 该加入 ^艮文是 IPv4组播接收方所发送的。
步骤 502: 解析所述加入 文, 获得组播组 IP地址、 VLAN ID。 判断 该加入报文的协议类型, 以确定是 IPv4还是 IPv6。
步骤 503 : 根据所述组播组 IP 地址, 判断是否已存在对应的 IGMP Snooping表项集合, 当判断结果为是时,执行步骤 504; 否则执行步骤 505。 如果步骤 501中接收到的加入报文是 IPv6组播接收方所发送的, 则本步骤 的判断操作为: 判断是否已存在对应的 MLD Snooping表项。
步骤 504: 判断所述 IGMP Snooping表项集合中是否有某个 IGMP Snooping表项所包含的端口号与接收所述加入报文的端口的端口号相同。 当判断结果为否时, 继续步骤 505; 否则继续步骤 506。
步骤 505: 根据所述组播组 IP地址、 VLAN ID及端口号创建 IGMP Snooping表项。 例如, 一条 IGMP Snooping表项可以为: (224.1.1.1 , 100, 1 )。 执行步骤 507。 如果步骤 501中接收到的加入报文是 IPv6组播接收方 所发送的, 则本步骤为: 根据该组播组 IP地址、 VLAN ID及端口号创建 MLD Snooping表项。
步骤 506: 将所述 IGMP Snooping表项发送给执行模块 102。 在具体实 现时可以是调用执行模块 102的接口函数。 如果步骤 501 中接收到的加入 报文是 IPv6组播接收方所发送的, 则本步骤为: 将该 MLD Snooping表项 发送给执行模块 102。
参见图 6, 本发明实施例以收到加入报文为例, 当收到的加入报文为 IPv6版本时 , 获得 MAC地址的详细方法流程如下:
步骤 601 : 接收 MLD Snooping表项。 如果收到的加入报文为 IPv4版 本, 则本步骤中接收的是 IGMP Snooping表项。
步骤 602: 确定所述 MLD Snooping表项的 IP地址版本为 IPv6。 如果 步骤 601 中接收的是 IGMP Snooping表项, 则本步骤为: 确定该 IGMP Snooping表项的 IP地址版本为 IPv4。
步骤 603: 将 MLD Snooping表项中包括的组播组 IP地址映射, 得到 组播 MAC地址。 其中, IPv6版本的组播组 IP地址为 128位, 映射得到的 MAC地址为 48位。 例如, 将 ff4e::l 的组播组 IP地址映射后得到的组播 MAC地址为 3333.0000.0001。 如果步骤 602中确定 IGMP Snooping表项的 IP地址版本为 IPv4, 则本步骤为: 将 IGMP Snooping表项中包括的组播组 IP地址映射, 得到组播 MAC地址。
步骤 604: 判断在已存在的 MAC转发条目中是否有与该组播 MAC地 址相应的组播 MAC转发条目集合。 其中, 与所述组播 MAC地址相应指: 在已有的 MAC转发条目中,有组播 MAC地址与所述组播 MAC地址相同。 当判断结果为是时, 执行步骤 605; 否则执行步骤 606。
步骤 605: 判断所述组播 MAC转发条目集合中是否有 MAC转发条目 所包含的端口号与第二表项中携带的端口号相同, 当判断结果为否时, 继 续步骤 606; 否则继续步骤 607。 如果步骤 601中接收的是 IGMP Snooping 表项, 则本步骤为: 判断该 MAC转发条目集合中是否有组播 MAC转发条 目所包含的端口号与第一表项中携带的端口号相同。
步骤 606: 根据所述组播 MAC地址及所述第二表项中携带的端口号添 加一条 MAC转发条目。
步骤 607: 将 MLD Snooping表项发送给执行模块 102。
参见图 7 , 本发明实施例中以收到离开 "^文为例, 当离开 文为 IPv4 版本时, 对 IGMP Snooping表项的处理的详细方法流程如下:
步骤 701 : 接收离开报文, 获得接收所述离开报文的端口的端口号。 其 中, 该离开报文是 IPv4组播接收方所发送的。
步骤 702: 确定所述离开 ^艮文为 IPv4版本, 或者所述离开 "^文也可以 为 IPv6版本。
步骤 703: 解析所述离开 4艮文, 获得组播组 IP地址及 VLAN ID。
步骤 704: 根据所述组播组 IP 地址, 判断是否已存在对应的 IGMP Snooping表项集合, 当判断结果为是时, 执行步骤 704; 否则结束流程。 如 果步骤 702中确定该离开报文为 IPv6版本, 则本步骤为: 根据该组播组 IP 地址, 判断是否已存在对应的 MLD Snooping表项。
步骤 705 : 判断所述 IGMP Snooping表项集合中是否有某个 IGMP Snooping表项所包含的端口号与接收所述离开报文的端口的端口号相同。 当判断结果为是时, 执行步骤 706; 否则结束流程。
步骤 706: 删除 IGMP Snooping表项中的所述端口号, 并删除该 IGMP Snooping表项。
步骤 707: 判断所述 IGMP Snooping表项集合是否为空, 当判断结果为 是时, 继续步骤 708; 否则结束流程。
步骤 708: 删除所述 IGMP Snooping表项集合。
参见图 8 , 本发明实施例中以收到离开 "^文为例, 当离开 文为 IPv6 版本时, 对 MLD Snooping表项的处理的详细方法流程如下:
步骤 801: 获得 MLD Snooping表项中的组播组 IP地址。 如果离开报 文为 IPv4版本,则本步骤为:获得 IGMP Snooping表项中的组播组 IP地址。
步骤 802: 确定所述 MLD Snooping表项的 IP地址版本为 IPv6。 如果 步骤 801为获得 IGMP Snooping表项中的组播组 IP地址, 则本步骤为: 确 定该 IGMP Snooping表项的 IP地址版本为 IPv4。
步骤 803: 将 MLD Snooping表项中包括的组播组 IP地址映射, 得到 组播 MAC地址。 其中, IPv6版本的组播组 IP地址为 128位, 映射得到的 组播 MAC地址为 48位。例如,将 ff4e:: l的组播组 IP地址映射后得到的组 播 MAC地址为 3333.0000.0001。如果步骤 602中确定 IGMP Snooping表项 的 IP地址版本为 IPv4, 则本步骤为: 将 IGMP Snooping表项中包括的组播 组 IP地址映射, 得到组播 MAC地址。
步骤 804: 判断在已存在的 MAC转发条目中是否有与该组播组 IP地 址相应的组播 MAC转发条目集合。 其中, 与所述组播组 IP地址相应指: 在已有的 MAC转发条目中, 有 MAC转发条目中所包括的 MAC地址与该 组播 MAC地址相同。 当判断结果为是时, 执行步骤 805; 否则结束流程。
步骤 805: 判断所述 MAC转发条目集合中是否有组播 MAC转发条目 所包含的端口号与第二表项中携带的端口号相同, 当判断结果为是时, 执 行步骤 806; 否则结束流程。
步骤 806: 删除组播 MAC转发条目中的所述端口号, 并删除该 MAC 转发条目。
步骤 807: 判断所述组播 MAC转发条目集合是否为空, 当判断结果为 是时, 执行步骤 808; 否则结束流程。
步骤 808: 删除组播 MAC转发条目集合。
本发明实施例根据收到的" ^艮文获得 IPv4版本的组播组 IP地址或 IPv6 版本的组播组 IP地址;当获得 IPv4版本的组播组 IP地址时,将获得的 IPv4 版本的组播组 IP地址映射为组播 MAC地址; 当获得 IPv6版本的组播组 IP 地址时, 将获得的 IPv6版本的组播组 IP地址映射为组播 MAC地址; 根据 获得的组播 MAC地址更新公共 MAC地址表。 将 IPv4和 IPv6的 MAC地 址进行统一存储, IPv4和 IPv6协议栈不再需要分别维护各自的公共 MAC 地址表, 节省了内存资源。 且 IPv4和 IPv6双协议栈使用同一个执行模块 102来进行管理, 降低了软件实现的复杂度; 而且, 在针对组播 MAC地址 实施安全管理时, 可以避免与具体协议版本耦合, 增强了 MAC移植性, 也 实现了对 MAC地址的统一存储及维护。在处理离开报文时,如果删除对应 IGMP Snooping表项或 MLD Snooping表项后 IGMP Snooping表项集合或 MLD Snooping表项集合为空, 则删除该 IGMP Snooping表项集合或 MLD Snooping表项集合,如果删除对应 MAC转发条目后组播 MAC转发条目集 合为空, 则删除该 MAC转发条目集合; 从而有效节省了内存空间, 使公共 MAC地址表中存储的信息更加合理, 便于利用。
本领域内的技术人员应明白, 本发明的实施例可提供为方法、 系统、 或计算机程序产品。 因此, 本发明可釆用完全硬件实施例、 完全软件实施 例、 或结合软件和硬件方面的实施例的形式。 而且, 本发明可釆用在一个 或多个其中包含有计算机可用程序代码的计算机可用存储介质 (包括但不 限于磁盘存储器和光学存储器等 )上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、 设备(系统)、 和计算机程序 产品的流程图和 /或方框图来描述的。 应理解可由计算机程序指令实现流 程图和 /或方框图中的每一流程和 /或方框、 以及流程图和 /或方框图中 的流程和 /或方框的结合。 可提供这些计算机程序指令到通用计算机、 专 用计算机、 嵌入式处理机或其他可编程数据处理设备的处理器以产生一个 机器, 使得通过计算机或其他可编程数据处理设备的处理器执行的指令产 生用于实现在流程图一个流程或多个流程和 /或方框图一个方框或多个方 框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理 设备以特定方式工作的计算机可读存储器中, 使得存储在该计算机可读存 储器中的指令产生包括指令装置的制造品, 该指令装置实现在流程图一个 流程或多个流程和 /或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备 上, 使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机 实现的处理, 从而在计算机或其他可编程设备上执行的指令提供用于实现 在流程图一个流程或多个流程和 /或方框图一个方框或多个方框中指定的 功能的步骤。 本发明的精神和范围。 这样, 倘若本发明的这些修改和变型属于本发明权 利要求及其等同技术的范围之内, 则本发明也意图包含这些改动和变型在 内。

Claims

权利要求书
1、 一种 MAC地址更新方法, 其特征在于, 该方法包括:
根据收到的 ^艮文获得网际协议版本 4 IPv4版本的组播组 IP地址或网际 协议版本 6 IPv6版本的组播组 IP地址;
当获得 IPv4版本的组播组 IP地址时, 将获得的 IPv4版本的组播组 IP 地址映射为组播媒体接入控制 MAC地址; 当获得 IPv6版本的组播组 IP地 址时, 将获得的 IPv6版本的组播组 IP地址映射为组播 MAC地址;
根据所述组播 MAC地址更新公共 MAC地址表。
2、 如权利要求 1所述的方法, 其特征在于, 所述收到的报文为加入报 文, 在当获得 IPv4版本的组播组 IP地址时, 将获得的 IPv4版本的组播组 IP地址映射为组播 MAC地址; 当获得 IPv6版本的组播组 IP地址时, 将获 得的 IPv6版本的组播组 IP地址映射为组播 MAC地址之前, 还包括:
当根据收到的报文获得 IPv4版本的组播组 IP地址时,判断互联网组播 管理协议窥探 IGMP Snooping中是否有对应于所述 IPv4版本的组播组 IP 地址的第一表项集合, 当判断结果为否时,根据 IPv4版本的组播组 IP地址 创建包含收到所述加入报文的端口的端口号的第一表项;
当根据收到的报文获得 IPv6 版本的组播组 IP 地址时, 判断 MLD Snooping中是否有对应于所述 IPv6版本的组播组 IP地址的第二表项集合, 当判断结果为否时,根据 IPv6版本的组播组 IP地址创建包含收到所述加入 报文的端口的端口号的第二表项。
3、 如权利要求 2所述的方法, 其特征在于,
根据所述判断,当确定有对应于所述 IPv4版本的组播组 IP地址的第一 表项集合时, 判断所述第一表项集合中是否有第一表项所包含的端口号与 收到所述加入报文的端口的端口号相同, 当判断结果为没有时, 根据所述 IPv4版本的组播组 IP地址创建包含收到所述加入 文的端口的端口号的第 一表项; 或者
根据所述判断,当确定有对应于所述 IPv6版本的组播组 IP地址的第二 表项集合时, 判断所述第二表项集合集合中是否有第二表项所包含的端口 号与收到所述加入报文的端口的端口号相同, 当判断结果为没有时, 根据 所述 IPv6版本的组播组 IP地址创建包含收到所述加入 文的端口的端口号 的第二表项。
4、 如权利要求 2或 3所述的方法, 其特征在于, 所述收到的报文为加 入报文, 根据获得的组播 MAC地址更新公共 MAC地址表的步骤包括: 判断公共 MAC地址表中是否有与所述获得的组播 MAC地址相对应的 组播 MAC转发条目集合, 当判断结果为否时, 根据获得的组播 MAC地址 创建包含所述第一表项或第二表项中携带的端口号的 MAC转发条目; 当判断结果为是时, 判断所述组播 MAC转发条目集合中是否有 MAC 转发条目所包含的端口号与所述第一表项或第二表项中携带的端口号相 同, 当判断结果为没有时, 根据所述组播 MAC地址在所述组播 MAC转发 条目集合中添加包含所述第一表项或第二表项中携带的端口号的 MAC 转 发条目。
5、 如权利要求 1所述的方法, 其特征在于, 所述收到的报文为离开报 文, 在当获得 IPv4版本的组播组 IP地址时, 将获得的 IPv4版本的组播组 IP地址映射为组播 MAC地址; 当获得 IPv6版本的组播组 IP地址时, 将获 得的 IPv6版本的组播组 IP地址映射为组播 MAC地址之前, 还包括:
判断 IGMP Snooping中是否有与所述 IPv4版本的组播组 IP地址相对应 的第一表项集合, 当判断结果为是时, 判断所述第一表项集合中是否有第 一表项所包含的端口号与收到所述离开报文的端口的端口号相同, 当判断 结果为有时, 在所述第一表项中删除所述端口号, 并删除所述第一表项; 或者 判断 MLD Snooping中是否有与所述 IPv6版本的组播组 IP地址相对应 的第二表项集合, 当判断结果为是时, 判断所述第二表项集合中是否有第 二表项所包含的端口号与收到所述离开报文的端口的端口号相同, 当判断 结果为有时, 在所述第二表项的中删除所述端口号, 并删除所述第二表项。
6、 如权利要求 5所述的方法, 其特征在于, 还包括:
判断所述第一表项集合是否为空, 当判断结果为是时, 删除所述第一 表项集合; 或者
判断所述第二表项集合是否为空, 当判断结果为是时, 删除所述第二 表项集合。
7、 如权利要求 5或 6所述的方法, 其特征在于, 所述收到的报文为离 开报文, 根据获得的组播 MAC地址更新公共 MAC地址表的步骤包括: 判断是否有与所述获得的组播 MAC地址相对应的组播 MAC转发条目 集合,当判断结果为是时,判断所述组播 MAC转发条目集合中是否有 MAC 转发条目所包含的端口号与所述第一表项或第二表项中携带的端口号相 同, 当判断结果为有时, 在所述 MAC转发条目中删除所述端口号, 并删除 所述 MAC转发条目;
继续判断所述组播 MAC转发条目集合是否为空, 当所述组播 MAC转 发条目集合为空时, 删除所述组播 MAC转发条目集合。
8、 一种组播方法, 其特征在于, 该方法包括:
根据收到的 文获得 IPv4版本的组播组 IP地址或 IPv6版本的组播组 IP地址;
当获得 IPv4版本的组播组 IP地址时, 将获得的 IPv4版本的组播组 IP 地址映射为组播 MAC地址; 当获得 IPv6版本的组播组 IP地址时, 将获得 的 IPv6版本的组播组 IP地址映射为组播 MAC地址;
根据所述组播 MAC地址在公共 MAC地址表中查询与所述组播 MAC 地址对应的端口号, 根据所述端口号进行数据转发。
9、 一种 MAC地址更新装置, 其特征在于, 该装置包括:
处理模块,用于根据收到的报文获得 IPv4版本的组播组 IP地址或 IPv6 版本的组播组 IP地址;
转换模块, 用于当获得 IPv4版本的组播组 IP地址时, 将获得的 IPv4 版本的组播组 IP地址映射为组播 MAC地址; 当获得 IPv6版本的组播组 IP 地址时, 将获得的 IPv6版本的组播组 IP地址映射为组播 MAC地址;
执行模块, 用于根据所述组播 MAC地址更新公共 MAC地址表。
10、 如权利要求 9所述的装置, 其特征在于, 所述收到的报文为加入 报文, 所述处理模块还用于:
当根据收到的报文获得 IPv4 版本的组播组 IP 地址时, 判断 IGMP Snooping中是否有与所述 IPv4版本的组播组 IP地址相对应的第一表项集 合, 当判断结果为否时,根据 IPv4版本的组播组 IP地址创建包含收到所述 加入报文的端口的端口号的第一表项;
当根据收到的报文获得 IPv6 版本的组播组 IP 地址时, 判断 MLD Snooping中是否有与所述 IPv6版本的组播组 IP地址相对应的第二表项集 合, 当判断结果为否时,根据 IPv6版本的组播组 IP地址创建包含收到所述 加入报文的端口的端口号的第二表项。
11、 如权利要求 10所述的装置, 其特征在于, 所述处理模块还用于: 根据所述判断,当确定有与所述 IPv4版本的组播组 IP地址相对应的第 一表项集合时, 判断所述第一表项集合中是否有第一表项所包含的端口号 与收到所述加入报文的端口的端口号相同, 当判断结果为没有时, 根据所 述 IPv4版本的组播组 IP地址创建包含收到所述加入报文的端口的端口号的 第一表项; 或者,
根据所述判断,当确定有与所述 IPv6版本的组播组 IP地址相对应的第 二表项集合时, 判断所述第二表项集合中是否有第二表项所包含的端口号 与收到所述加入报文的端口的端口号相同, 当所述判断结果为没有时, 根 据所述 IPv6版本的组播组 IP地址创建包含收到所述加入 文的端口的端口 号的第二表项。
12、 如权利要求 10或 11所述的装置, 其特征在于, 所述收到的报文 为加入报文时, 所述执行模块用于:
判断公共 MAC地址表中是否有与所述获得的组播 MAC地址相对应的 组播 MAC转发条目集合, 当判断结果为否时, 根据获得的组播 MAC地址 创建包含所述第一表项或第二表项中携带的端口号的 MAC转发条目; 当判断结果为是时, 判断所述组播 MAC转发条目集合中是否有 MAC 转发条目所包含的端口号与所述第一表项或第二表项中携带的端口号相 同, 当所述判断结果为没有时, 根据所述组播 MAC地址在所述组播 MAC 转发条目集合中添加包含所述第一表项或第二表项中携带的端口号的 MAC转发条目。
13、 如权利要求 9所述的装置, 其特征在于, 所述收到的报文为离开 报文时, 所述处理模块还用于:
判断 IGMP Snooping中是否有与所述 IPv4版本的组播组 IP地址相对应 的第一表项集合, 当判断结果为是时, 判断所述第一表项集合中是否有第 一表项所包含的端口号与收到所述离开报文的端口的端口号相同, 当所述 判断结果为有时, 在所述第一表项中删除所述端口号, 并删除所述第一表 项; 或者,
判断 MLD Snooping中是否有与所述 IPv6版本的组播组 IP地址相对应 的第二表项集合, 当判断结果为是时, 判断所述第二表项集合中是否有第 二表项所包含的端口号与收到所述离开报文的端口的端口号相同, 当所述 判断结果为有时, 在所述第二表项中删除所述端口号, 并删除所述第二表 项。
14、 如权利要求 13所述的装置, 其特征在于, 所述处理模块还用于: 判断所述第一表项集合是否为空, 当判断结果为是时, 删除所述第一 表项集合; 或者,
判断所述第二表项集合是否为空, 当判断结果为是时, 删除所述第二 表项集合。
15、 如权利要求 13或 14所述的装置, 其特征在于, 所述收到的报文 为离开报文时, 所述执行模块用于:
判断是否有与所述获得的组播 MAC地址相对应的组播 MAC转发条目 集合,当判断结果为是时,判断所述组播 MAC转发条目集合中是否有 MAC 转发条目所包含的端口号与所述第一表项或第二表项中携带的端口号相 同,当所述判断结果为有时,在所述组播 MAC转发条目中删除所述端口号, 并删除所述 MAC转发条目;
继续判断所述组播 MAC转发条目集合是否为空, 当所述组播 MAC转 发条目集合为空时, 删除所述组播 MAC转发条目集合。
16、 一种组播装置, 其特征在于, 该装置包括:
处理模块,用于根据收到的报文获得 IPv4版本的组播组 IP地址或 IPv6 版本的组播组 IP地址;
转换模块, 用于当获得 IPv4版本的组播组 IP地址时, 将获得的 IPv4 版本的组播组 IP地址映射为组播 MAC地址; 当获得 IPv6版本的组播组 IP 地址时, 将获得的 IPv6版本的组播组 IP地址映射为组播 MAC地址;
执行模块, 用于根据所述组播 MAC地址在公共 MAC地址表中查询与 所述组播 MAC地址对应的端口号, 根据所述端口号进行数据转发。
PCT/CN2011/075002 2010-11-23 2011-05-31 一种mac地址更新方法及装置 WO2012068854A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201010557252.6A CN102025796B (zh) 2010-11-23 2010-11-23 一种mac地址更新方法及装置、组播方法及装置
CN201010557252.6 2010-11-23

Publications (1)

Publication Number Publication Date
WO2012068854A1 true WO2012068854A1 (zh) 2012-05-31

Family

ID=43866638

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/075002 WO2012068854A1 (zh) 2010-11-23 2011-05-31 一种mac地址更新方法及装置

Country Status (2)

Country Link
CN (1) CN102025796B (zh)
WO (1) WO2012068854A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114979090A (zh) * 2022-05-27 2022-08-30 深圳市领创星通科技有限公司 IPv6数据包处理方法、装置、计算机设备和存储介质
US11991144B2 (en) 2022-04-28 2024-05-21 Cisco Technology, Inc. Seamless MAC address rotation in multi-link device using multiple IP stacks

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025796B (zh) * 2010-11-23 2014-06-11 中兴通讯股份有限公司 一种mac地址更新方法及装置、组播方法及装置
CN103227757B (zh) 2012-08-31 2016-12-28 杭州华三通信技术有限公司 一种报文转发方法及设备
WO2014089746A1 (zh) * 2012-12-10 2014-06-19 华为技术有限公司 报文转发方法及装置
CN107888713B (zh) * 2016-09-30 2021-10-01 中兴通讯股份有限公司 一种动态分配mac地址的方法、装置以及接入设备
CN110830378B (zh) * 2018-08-07 2022-05-17 迈普通信技术股份有限公司 一种地址表项更新方法及交换设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070097971A1 (en) * 2005-11-03 2007-05-03 Samsung Electronics Co., Ltd. Method of generating and managing connection identifiers for supporting multicast for each group in IPv6-based wireless network and network interface using the method
CN1980246A (zh) * 2006-12-07 2007-06-13 杭州华为三康技术有限公司 二层组播流转发方法和二层组播设备
CN102025796A (zh) * 2010-11-23 2011-04-20 中兴通讯股份有限公司 一种mac地址更新方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1968273B (zh) * 2006-10-26 2010-08-18 杭州华三通信技术有限公司 一种支持IPv6业务的方法及其应用的交换设备
CN101291240B (zh) * 2008-06-19 2010-08-25 杭州华三通信技术有限公司 一种组播流传输方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070097971A1 (en) * 2005-11-03 2007-05-03 Samsung Electronics Co., Ltd. Method of generating and managing connection identifiers for supporting multicast for each group in IPv6-based wireless network and network interface using the method
CN1980246A (zh) * 2006-12-07 2007-06-13 杭州华为三康技术有限公司 二层组播流转发方法和二层组播设备
CN102025796A (zh) * 2010-11-23 2011-04-20 中兴通讯股份有限公司 一种mac地址更新方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
T. MELSEN ET AL.: "RFC 4562; MAC-Forced Forwarding: A Method for Subscriber Separation on an Ethernet Access Network", IETF, June 2006 (2006-06-01) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11991144B2 (en) 2022-04-28 2024-05-21 Cisco Technology, Inc. Seamless MAC address rotation in multi-link device using multiple IP stacks
CN114979090A (zh) * 2022-05-27 2022-08-30 深圳市领创星通科技有限公司 IPv6数据包处理方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN102025796A (zh) 2011-04-20
CN102025796B (zh) 2014-06-11

Similar Documents

Publication Publication Date Title
WO2012068854A1 (zh) 一种mac地址更新方法及装置
WO2009033428A1 (fr) Procédé, système et dispositif pour retirer une adresse de commande d'accès au support
WO2011120459A2 (zh) 报文转发方法、装置及网络设备
WO2007019785A1 (fr) Systeme de commutation reseau local virtuel a multidiffusion et procede associe
JP2008079175A (ja) フレーム転送システム
WO2007045146A1 (fr) Procede et dispositif de pontage de transfert
WO2010139115A1 (zh) 多个汇聚节点共同处理移动组播源组播业务的方法及装置
WO2005112350A1 (fr) Procede de gestion de chemin dans un reseau prive virtuel utilisant le protocole ipv6
WO2011113393A2 (zh) 一种实现虚拟局域网标识转换的方法及装置
WO2010017720A1 (zh) 实现组播负载分担的方法及装置
WO2012119390A1 (zh) 虚拟机迁移通知方法和系统
WO2015109478A1 (zh) 实现arp的方法、交换设备及控制设备
WO2012149839A1 (zh) 发送因特网协议分组的方法及装置
WO2014190690A1 (zh) 信息为中心网络icn中转发报文的方法、装置及系统
WO2013071866A1 (zh) 一种传递主机名的方法和装置
WO2009026852A1 (fr) Procédé, système et dispositif de commutation d'un message multidiffusion
WO2013139270A1 (zh) 实现三层虚拟专用网络的方法、设备及系统
WO2009033388A1 (fr) Procédé d'utilisation d'un système de sécurité étendue, système et appareil de sécurité étendue
WO2014067486A1 (zh) 一种报文转发的方法及相应设备
WO2012109864A1 (zh) 报文转发方法和装置
WO2013082947A1 (zh) 跨越IPv4网络转发IPv6组播报文的方法和边缘设备
US20190199633A1 (en) Method and apparatus for forwarding in information centric networking
WO2007054006A1 (fr) Station de base de système d’accès sans fil large bande et système pour réaliser un service de diffusion de groupe
CN102045250A (zh) Vpls中组播报文的转发方法和服务提供商边缘设备
US20110246674A1 (en) Information communication system, first information processing device, method for processing information, and computer readable storage medium

Legal Events

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

Ref document number: 11843339

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11843339

Country of ref document: EP

Kind code of ref document: A1