WO2014032609A1 - Mac address learning - Google Patents

Mac address learning Download PDF

Info

Publication number
WO2014032609A1
WO2014032609A1 PCT/CN2013/082638 CN2013082638W WO2014032609A1 WO 2014032609 A1 WO2014032609 A1 WO 2014032609A1 CN 2013082638 W CN2013082638 W CN 2013082638W WO 2014032609 A1 WO2014032609 A1 WO 2014032609A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
server
client
mac address
unicast packet
Prior art date
Application number
PCT/CN2013/082638
Other languages
French (fr)
Inventor
Xiaoheng Song
Guoliang Zheng
Original Assignee
Hangzhou H3C Technologies Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co., Ltd. filed Critical Hangzhou H3C Technologies Co., Ltd.
Publication of WO2014032609A1 publication Critical patent/WO2014032609A1/en

Links

Classifications

    • 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/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • 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/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • 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]

Definitions

  • Ethernet Virtual Interconnection EVI
  • multiple network sites deployed in different places may be connected to each other, and the EVI network can implement layer 2 interconnection among the network sites based on virtual links.
  • the EVI network implementslnternet protocol (IP) core network based Layer 2 Virtual Private Network (L2VPN) technology.
  • IP Internet Protocol
  • L2VPN Layer 2 Virtual Private Network
  • the EVI network generally includes a core network, an overlapping network, and multiple network sites.
  • the core network is borne by IP routing devices and provides interconnection among the network sites.
  • the core network is a public network and is used for forwarding packets via an IP tunnel.
  • the overlapping network is a virtual network established among Edge Devices (EDs) of different sites.
  • the overlapping network is used for realizingthe extension of Virtual Local Area Network (VLAN) among different sites and provides layer 2 interconnection among the network sites.
  • VLAN Virtual Local Area Network
  • a networksite is a layer 2 network that is connected to the core network by EDs and has independent service functions.
  • the EDs may provide a layer 2 switching function among sites.
  • Figure 1 is a schematic diagram illustrating a structure of an EVI network according to an example of the present disclosure.
  • Figure 2 is a schematic diagram illustrating the internal structure of a server ED according toan example of the present disclosure.
  • Figure 3 is a schematic diagram illustrating the internal structure of a client ED according to an example of the present disclosure.
  • Figure 4 is a schematic diagram illustrating a structure of an EVI network according to an example of the present disclosure.
  • Figure 5 is a schematic diagram illustrating a format of a packet containingan ED identifier according an example of the present disclosure.
  • Figure 6 is a flowchart illustrating a procedure fora host connected to afirst client edge (CE)to sendan Ethernet packet to a hostconnected to a secondCE in an example of the present disclosure.
  • CE first client edge
  • Figure 7 is a flowchart illustrating a procedure for the host connected to the second CEto returnan Ethernet packet to the host connected to the first CEin an exampleof the present disclosure.
  • a bi-directionaltunnel is established between every two EDs.
  • AMedia Access Control (MAC) address is advertised among sites via an Intermediate System-Intermediate System (IS-IS) protocol packet.
  • IS-IS Intermediate System-Intermediate System
  • the ED may flood IS-IS protocol packet withthe MAC address through tunnelsinterconnecting other EDs.
  • the number of MAC addresses to be advertised by an ED is very large, some IS-IS protocol packets may be lost so that a peer ED is unable to learn MAC addresses contained in the lost IS-IS protocol packets.
  • the packet is an unknown unicast packet.
  • the ED may process the unknown unicast packet through an EVI Flooding mode or an EVI No Flooding mode. If the EVI Flooding mode is adopted, the ED floods the unknown unicast packet to other EDs, which results in problems such as packet loss or resource occupancy. If the EVI No Flooding mode is adopted, the ED directly discards the unknown unicast packet, which results in visit failure.
  • an example of the present disclosure provides a solution, which includes that, when an ED forwards a packet in an EVI network, if the ED receives an unknown unicast packet from a remote site, the ED learns a MAC address contained in the packet and then forwards the packet.
  • an EVI network may include not only an Ethernet Virtual Interconnection network, but also other appropriate types of network for connecting geographically disperse data centers.
  • the EDI may flood the unknown unicast packet to other EDs in the EVI network.
  • a primary tunnel is established between each two EDsand a standby tunnel is also established between a server ED and each client ED to bear the unknown unicast packet.
  • the primary tunnel and the standby tunnel are both EVI tunnels.
  • the EVI tunnels are IP Generic Routing Encapsulation (GRE) tunnels and are used for bearing EVI links.
  • GRE IP Generic Routing Encapsulation
  • One EVI tunnel may bear multiple EVI links.
  • the EVI tunnel is a point-to-multipoint automatic tunnel.
  • a local site may be connected to multiple adjacent sites through one EVI tunnel, and each connection corresponds to one EVI link.
  • an ED identifier of a source client ED is added into the unknown unicast packet so that an ED receiving the unknown unicast packet may correctly learn the MAC address of the unknown unicast packet. Accordingly, in an example, when the source client ED intends to flood the unknown unicast packet, the source client ED may flood the unknown unicast packet to the server ED through the standby tunnel, and then the server ED forwards the unknown unicast packet to a destination client ED. In the procedure of forwarding the unknown unicast packet, the server ED and the client ED both learn the MAC address.
  • FIG. 1 is a schematic diagram illustrating a structure of an EVI network according to an example of the present disclosure.
  • the EVI network includes a server ED and multiple client EDs.
  • a siteof each ED includes multiple client edges (CEs), and each CE is connected to multiple hosts.
  • a primary tunnel is established between each two EDs, and a standby tunnel is established between the server ED and each client ED to bear an unknown unicast packet.
  • each ED and CEs connected to the ED constitute a network site, and a public network through which EDs interact with each other is a core network.
  • a public network through which EDs interact with each other is a core network.
  • An ED identifier of the source client ED may be added into the unknown unicast packet to indicate a source of the unknown unicast packet, and the format of the unknown unicast packet containing the ED identifier of the source client is shown in Figure 5 in an example of the present disclosure.
  • FIG. 2 is a schematic diagram illustrating the internal structure of a server ED 1010 according to an example of the present disclosure.
  • the server ED lOlOin includes a primary unit 1011, a forwarding unit 1012 and an interface unit 1013.
  • the primary unit 1011 is realized by hardware such as CPU;
  • the forwarding unit 1012 saves a MAC table and enquires an address when a packet is forwarded;
  • the interface unit 1013 is an external interface of the server ED1010, which includes a physical port or a logic interface.
  • the forwarding unit 1012 is tolearn a source MAC address of thereceived unicast packet when the interface unit 1013 receives a unicast packet containing an ED identifier of a source client ED from the source client ED through astandby tunnel between the server ED lOlOand the source client ED.
  • the forward unit 1012 is to then savethe learned source MAC address of thereceivedunicast packet and an outbound interface corresponding to a primary tunnel between the server ED lOlOand the source client ED in the MAC table.
  • the forwarding unit 1012 may thensearch the MAC table according to a destination MAC address of the unknown unicast packet; if a local sitetable entry matchesthe destination MAC address of thereceived unicast packet, the forwarding unit 1012 is then toforward the received unicast packet locally through the interface unit 1013.1f a remote sitetable entrymatchesthe destination MAC address of thereceived unicast packet, the forwarding unit 1012 may forward the receivedunicast packet through the interface unit 1013 and a standby tunnel between the server ED lOlOand a destination client ED of a remote site. If no table entry matches the destination MAC address of thereceived unicast packet, the forwarding unit 1012 may broadcast the received unicast packet in an EVI instance through the interface unit 1013.
  • the server ED lOlO may learn the source MAC address of a unicast packet received through the standby tunnel, and forward the received unicast packet after searching the MAC table. It should be noted thateven though the server ED lOlOreceives the unicast packet through the standby tunnel, the server ED saves the source MAC address of the unicast packet and the outbound interface corresponding to the primary tunnel between the server ED lOlOand the source client ED in the MAC table, and the reasons are illustrated as follows. After the server ED learns the source MAC address of the unicast packet, anypacket destined fora devicecorresponding to the learnedsource MAC address of the unicast packet is a known unicast packet.
  • the packet does not need to be sent through the standby tunnel but is sent through the primary tunnel.That is, the packet is sent through the outbound interface corresponding to the primary tunnel in the MAC table. It should also be noted that, when the server ED forwards a unicast packet received via a standby tunnel to a remote site, the server ED lOlOstill forwards the receivedunicast packet through a standby tunnel interconnecting the remote site.
  • FIG. 3 is a schematic diagram illustrating the internal structure of a client ED 1020 according to an example of the present disclosure.
  • the client ED 1020 includes a primary unit 1021, a forwarding unit 1022, and an interface unit 1023.
  • the primary unit 1021 is realized by hardware such as CPU;
  • the forwarding unit 1022 saves a MAC table and enquires an address when a packet is forwarded;
  • the interface unit 1023 is an external interface of the client ED 1020, which includes a physical port or a logic interface.
  • the primary unit 1021 is to add an ED identifier of the client ED 1020into the unknown unicast packet.
  • the forwarding unit 1022 is to send the unknown unicast packet to the server ED through the interface unit 1023 and a standby tunnel between the client ED 1020and the server ED.
  • the forwarding unit 1022 is to receive a unicast packetdelivered via the standby tunnel and sentfrom the server ED through the interface unit 1023, and obtain a source client ED according to an ED identifier contained in the receivedunicast packet.
  • the forwarding unit 1022 is also to learn a source MAC address of the unknown unicast packet, and savethe learned source MAC address and an outbound interface corresponding to a primary tunnel between the client ED and the source client ED in the MAC table.
  • the forwarding unit 1022 is to search the MAC table according to a destination MAC address of the received unicast packet. If one matchingtable entry forthe destination MAC address is found, the forwarding unit 1022 is to forward the received unicast packet locally through the interface unit 1023. If no matching table entry for the destination MAC address is found, the forwarding unit 1022 is to broadcast the received unicast packet in a local VLAN through the interface unit 1023.
  • the destination client ED may learn the source MAC address of the unicast packet received through the standby tunnel, and forward the unicast packet after searching the MAC table. It should be noted that, though the destination client ED receives the unicast packet through the standby tunnel, the destination client ED saves the source MAC address and the outbound interface corresponding to the primary tunnel between the destination client ED and the source client ED in the MAC table, and the reasons are illustrated as follows.
  • the destination client ED learns is a MAC address of a host connected to the source client ED and the unicast packet is received from the standby tunnel between the destination client ED and the server ED, if the destination client ED returns a response packet through the standby tunnel, the response packet is unable to reach the source client ED. Accordingly, the outbound interface corresponding to the primary tunnel between the destination client ED and the source client ED is to be saved when the destination client ED learns the MAC address.
  • a site includes server ED211, CE221 and Host231 connected to CE221
  • a site includes client ED212, CE222 and Host232 connected to CE222
  • a site includesclient ED213 CE223 and Host233 connected to CE223
  • a site includesclient ED214 CE224 and Host234 connected to CE224.
  • a primary tunnel is established between each two of ED211 to ED214
  • a standby tunnel is established between server ED211 and each of ED212 to ED214.
  • the primary tunnel and the standby tunnel are both EVI tunnels.
  • Each EVI tunnel bears at least one EVI link.
  • Links between ED211 and ED212 are LINK1 and LINK1-2, links between ED211and ED213 are LINK2 and LINK2-2, and links between ED211and ED214 are LINK3 and LINK3-2.
  • the primary tunnel and the standby tunnel both may be established with a conventional method, for example, an IP GRE tunnel is established.
  • the ED identifier of the source client ED needs to be added into the unknown unicast packet, and the format of the unknown unicast packet containing the ED identifier of the source client is shown in Figure 5 in an example of the present disclosure.
  • the EVI-ED Identifier field indicatesthe ED identifier.
  • each ED may be assigned an ED identifier in advance.
  • an ED identifier of ED211 is idl, which corresponds to an address 1.1.1.1; an ED identifier of ED212 is id2, which corresponds to an address 2.2.2.2; an ED identifier of ED213 is id3, which corresponds to an address 3.3.3.3; and an ED identifier of ED214 is id4, which corresponds to an address 4.4.4.4.
  • the address may uniquely identify a device connected tothe EVI tunnel.
  • the source client ED may be determined according to the address corresponding to the ED identifiercontained in the unknown unicast packet.
  • the first phase describes a procedure fora first host such as Host232 connected to a first CE such as CE222 to sendan Ethernet packet to a second host such as Host233 connected to a second CE such as CE223, as shown in Figure 6 in an example of the present disclosure.
  • the CE (CE222) sends the Ethernet packet received from the first host (Host232) to an edge device such as ED212, where the Ethernet packet contains a source MAC address and a destination MAC address.
  • the source MAC address is a MAC address of the first host(Host232)
  • the destination MAC address is a MAC address of the second host(Host233).
  • the ED(ED212) learns the MAC address, and saves the source MAC address of the Ethernet packet.
  • the ED may also savea VLAN to which the Ethernet packet belongs, and a port receiving the Ethernet packet in a MAC table of an EVI instance.
  • the ED may determine the EVI instance according to the EVI instance bundled with the VLAN to which the Ethernet packet belongs.
  • the ED(ED212) encapsulates the Ethernet packet into an IP tunnel packet such as an Ethernet over IP GRE tunnel packet based ona standby tunnel between ED212 and server ED211. It may also add the ED identifier of the ED(ED212)into the Ethernet over IP GRE tunnel packet.
  • FIG. 5 shows a format of the Ethernet over IP GRE tunnel packet containing the ED identifier that is sent by ED212.
  • an IP GRE tunnel header contains an IP packet header and a GRE packet header.
  • the IP packet header contained in the IP GRE tunnel header may be taken as an outer IP packet header of the Ethernet over IP GRE tunnel packet.
  • a source IP address of the IP packet header contained in the IP GRE tunnel header is an IP address of ED212
  • a destination IP address of the IP packet header contained in the IP GRE tunnel header is an IP address of ED211.
  • the GRE packet header indicates that the borne protocol packet is the Ethernet packet.
  • a public layer 2 packet header shown in Figure 5 may be taken as an outer Ethernet header of the Ethernet over IP GRE tunnel packet.
  • a destination MAC address of the public layer 2 packet header is a MAC address of a next hop device of ED212, for example, device P2 shown in Figure 4. If the next hop device is ED211, the destination MAC address of the public layer 2 packet header is the MAC address of ED211.
  • a source MAC address of the public layer 2 packet header is a virtual interface MAC address of ED212, and a VLAN ID of the public layer 2 packet header is a public VLAN number.
  • Blocks SI to S3 describes a procedure forHost232 to sendthe Ethernet packet to ED212 and ED212, for example, determines that the Ethernet packet is an unknown unicast packet.
  • the ED sends the IP tunnel packet such as Ethernet over IP GRE tunnel packet to server ED211 through the standby tunnel LINK 1-2, where the ED identifier of the source client ED (called source ED identifier for short) contained in the Ethernet over IP GRE tunnel packet is the ED identifier of ED212.
  • server ED receives the Ethernet over IP GRE tunnel packet containing the source ED identifier from the standby tunnel LINK1-2.
  • server ED(ED211) savesthe source MAC address of innerEthernet packet of the IP tunnel packet such as theEthernet over IP GRE tunnel packet, the VLAN to which the inner Ethernet packet belongs, and a tunnel interface of a primary tunnel between the server ED(ED211) and the source client ED in the MAC table of EVI instance.
  • the server ED(ED211) After the server ED(ED211) receives the Ethernet over IP GRE tunnel packet, the server ED(ED211) removes the public layer 2 packet header and IP GRE tunnel header, and determines the EVI instance according to the VLAN to which the Ethernet packet belongs.
  • the server ED(ED211) determines, according to the source ED identifier, that the Ethernet over IP GRE tunnel packet is from ED212, the server ED (ED211) records the tunnel interface of the primary tunnel between server ED211 and ED212 in atable entry corresponding to the source MAC address of the innerEthernet packet.
  • the tunnel interface is an outbound interface corresponding to theprimary tunnel between ED211 and ED212.
  • the server ED(ED211) may also learn the MAC address of a packet received from a local CE or received through a primary tunnel. For the packet received from the local site, the server ED211 learns source MAC address and VLAN ID of the packet and a port at which the packet is received.
  • the primary unit 1011 of the server ED shown in Figure 2 is further to, when the interface unit 1013 receives a unicast packet fromthe source client ED through the primary tunnel between the server ED and the source client ED, learn a source MAC address of the unicast packetdelivered by the primary tunnel, and save the learned source MAC address and an outbound interface corresponding to the primary tunnel between the server ED and the source client ED in the MAC table.
  • the forwarding unit 1012 is further to search the MAC table based on a destination MAC address of the unicast packetdelivered by the primary tunnel.
  • Alocal site table entry (that is, a MAC address of host in the local site) matches the destination MAC address, the forwarding unit 1012 it to forward the packet locally. If no table entry matches the destination MAC address, the forwarding unit 1012 is to broadcast the packet in the local VLAN.
  • the server ED(ED211) determines, based on the tunnel interface, that the destination client ED is ED213, encapsulates the Ethernet packet into an Ethernet over IP GRE tunnel packet based ona standby tunnel between server ED211 and ED213, adds a source ED identifierinto the Ethernet over IP GRE tunnel packet, which is the ED identifier of ED212, and sends the Ethernet over IP GRE tunnel packet containing the source ED identifier to ED213 through the standby tunnel LINK2-2.
  • server ED211 forwards the Ethernet packet locally.
  • server ED211 broadcasts the Ethernet packet in the EVI instance.
  • the method of broadcasting the Ethernet packet includes the forwarding unit 1012 of server ED211 broadcastingthe Ethernet packet in the local VLAN of the EVI instance through the interface unit 1013, encapsulatingthe Ethernet packet into the Ethernet over IP GRE tunnel packet based on the standby tunnels between server ED211 and other client EDs except the source client ED, addingthe source ED identifierinto the Ethernet over IP GRE tunnel packet, and sendingthe Ethernet over IP GRE tunnel packet to client ED213 and client ED214.
  • the ED(ED213) receives the IP tunnel packet such as the Ethernet over IP GRE tunnel packet containing the source ED identifier from the standby tunnel LINK2-2.
  • the ED (ED213)obtains, based onthe source ED identifier contained in the Ethernet over IP GRE tunnel packet, that the source client ED is ED212, and learns the source MAC address ofthe innerEthernet packet, the VLAN to which the inner Ethernet packet belongs, and the tunnel interface of the primary tunnel between ED 213 and the source client ED in the MAC table of the EVI instance.
  • blocks S8 and S9 describe how client ED213 learns the MAC address of the packet received from the standby tunnel.
  • client ED213 may learn the MAC address of a packet received from a local site or received through the primary tunnel.
  • the forwarding unit 1022 shown in Figure 3 is further to, when the client ED receives a unicast packet from the local site, learn a source MAC address of theunicast packet and save the learned source MAC address and a port receiving the unicast packet in the MAC table.
  • the forwarding unit 1022 is further to search the MAC table based ona destination MAC address of the unicast packet. If a local sitetable entry associated with a host in the local site matches the destination MAC address,the forwarding unit 1022 is to forward the unicast packet locally through the interface unit 1023.
  • the forwarding unit 1022 is to forward the unicast packet through the interface unit 1023 and the primary tunnel between the client ED and the server ED or the destination client ED. If no table entry matches the destination MAC address, the forwarding unit 1022 is to process the unicast packet by taking the unicast packet as an unknown unicast packet.
  • the forwarding unit 1022 shown in Figure 3 is further to receive aunicast packet from the source client ED through the primary tunnel when the client ED is the destinationclient ED, learn a source MAC address of the unicast packet received via the primary tunnel, and save the learned source MAC address and an outbound interface corresponding to the primary tunnel betweenthe destination client ED and the source client ED in the MAC table.
  • the forwarding unit 1022 is further to search the MAC table based on a destination MAC address of the unicast packet received via the primary tunnel. If a local sitetable entry associated with a host in the local site matches the destination MAC address, the forwarding unit 1022 is to forward the unicast packet received via the primary tunnel deliver locally. If no table entry matchesthe destination MAC address, the forwarding unit 1022 is to broadcast the unicast packetreceived via the primary tunnelin the local VLAN.
  • ED213 finds a port corresponding to the destination MAC address of the Ethernet packet in the MAC table of the EVI instance, ED213 forwards the Ethernet packet to CE223 through the port and then CE223 forwards the Ethernet packet to Host233.
  • a second phase describes a procedurefor Host233 to returnan Ethernet packet to Host232 as shown in Figure 7 in an example of the present disclosure.
  • a second CE sends an Ethernet packet returned by a second host (Host233) to a second ED(ED213), where a source MAC address of the Ethernet packet is a MAC address of the second host (Host233), and a destination MAC address is a MAC address of a first host (Host232).
  • the second ED(ED213) finds a table entry with the destination MAC address of the Ethernet packet in the MAC table of the EVI instance, and the table entrycontains a tunnel interface, which isthe tunnel interface of the primary tunnel between the second ED(ED213) andafirst ED(ED212).
  • the second ED encapsulates the Ethernet packet into an IP tunnel packet such as an Ethernet over IP GRE tunnel packet, and sends the Ethernet over IP GRE tunnel packet to the first ED (ED212) through the primary tunnel between the second ED (ED213) and the first ED(ED212).
  • an IP tunnel packet such as an Ethernet over IP GRE tunnel packet
  • the second ED(ED213) searches the MAC table for a table entry based on the tunnel interface, obtains the source IP address and destination IP address of IP GRE tunnel header, and a public VLAN, destination MAC address, and an outbound port of public layer 2 packet header, encapsulates the Ethernet packet into the Ethernet over IP GRE tunnel packet, and forwards the Ethernet over IP GRE tunnel packet.
  • the first ED receives the Ethernet over IP GRE tunnel packet, decapsulates the Ethernet over IP GRE tunnel packet into the Ethernet packet, searches the MAC table of the EVI instance for the table entry of the destination MAC address of the Ethernet packet, where an outbound interface in the table entry is a port, and forwards the Ethernet packet to the first CE (CE222) through the port.
  • the first CE (CE222) forwards the Ethernet packet to the first host(Host232)based on the destination MAC address of the Ethernet packet.
  • ED212 may find the matching table entry with the destination MAC address, obtaina corresponding port, and forward the Ethernet packet to CE222 through the port, and then CE222 forwards the Ethernet packet to Host232.
  • Host232 has successfully accessed Host233.
  • server ED211, client ED212, and client ED213 have directly learned the MAC address of the packet.
  • CE221 forwards the Ethernet unicast packet to ED211, and ED211 records the source MAC address, VLAN information, and port information of the Ethernet unicast packet in the MAC table of the EVI instance.
  • ED211 broadcasts the Ethernet packet in the local VLAN of the EVI instance, encapsulates the Ethernet packet into an Ethernet over IP GRE tunnel packetbased on primary tunnels between ED211 and each client ED, and sends the Ethernet over IP GREtunnel packet to each client ED through the primary tunnels between ED211 and the client EDs.
  • ED211 broadcasts the Ethernet packet in the local VLAN of the EVI instance, encapsulates the Ethernet packet into an Ethernet over IP GRE tunnel packetbased on standby tunnelsbetween ED211 and each client ED, adds the ED identifier of server ED as the source ED identifierinto the Ethernet over IP GRE tunnel packet, and sends the Ethernet over IP GRE tunnel packet containing the source ED identifier to each client ED through the standby tunnels between ED211 and the client EDs.
  • CE221 forwards the Ethernet packet to ED211, ED211 records the source MAC address, VLAN information, and port information of the Ethernet packet in the MAC table of the EVI instance, broadcasts the Ethernet packet in the local VLAN of the EVI instance,encapsulates the Ethernet packet into an Ethernet over IP GRE tunnel packet based on the primary tunnelsbetween ED211 and each client ED, and sends the Ethernet over IP GRE tunnel packet to each client ED through the primary tunnels between ED211 and the client EDs.
  • ED211 broadcasts the Ethernet packet in the local VLAN of the EVI instance, encapsulates the Ethernet packet into an Ethernet over IP GRE tunnel packet based on the standby tunnelsbetween ED211 and each client ED, adds the ED identifier of the server ED as the source ED identifier into the Ethernet over IP GRE tunnel packet, and sends the Ethernet over IP GRE tunnel packet containing the source EDidentifier to each client
  • the server ED and the client ED may learn the MAC address without advertising the MAC address by flooding the IS-IS protocol packets. Moreover, in the example, the flooding of the unknown unicast packet can be controUedeffectively and the loss of the unknown unicast packet and resourceoccupation may also be avoided, so as to guarantee the reliable transmission of the unknown unicast packet.

Abstract

A method is provided for a server Edge Device (ED) or a client ED in an Ethernet Virtual Interconnect (EVI) network to learn a Media Access Control (MAC) address.Astandby tunnel is established between the server ED and the client ED. The server ED or the client ED receives a unicast packet through the standby tunnel, learns a MAC address of the unicast packet, and forwards the unicast packet.

Description

MAC ADDRESS LEARNING
Background
[0001] Through an Ethernet Virtual Interconnection (EVI) network, multiple network sites deployed in different places may be connected to each other, and the EVI network can implement layer 2 interconnection among the network sites based on virtual links. The EVI network implementslnternet protocol (IP) core network based Layer 2 Virtual Private Network (L2VPN) technology.
[0002] The EVI network generally includes a core network, an overlapping network, and multiple network sites.
[0003] The core network is borne by IP routing devices and provides interconnection among the network sites. The core network is a public network and is used for forwarding packets via an IP tunnel.
[0004] The overlapping network is a virtual network established among Edge Devices (EDs) of different sites. The overlapping network is used for realizingthe extension of Virtual Local Area Network (VLAN) among different sites and provides layer 2 interconnection among the network sites.
[0005] A networksite is a layer 2 network that is connected to the core network by EDs and has independent service functions. The EDs may provide a layer 2 switching function among sites.
Brief Description of the Drawings
[0006] Figure 1 is a schematic diagram illustrating a structure of an EVI network according to an example of the present disclosure.
[0007] Figure 2 is a schematic diagram illustrating the internal structure of a server ED according toan example of the present disclosure.
[0008] Figure 3 is a schematic diagram illustrating the internal structure of a client ED according to an example of the present disclosure.
[0009] Figure 4 is a schematic diagram illustrating a structure of an EVI network according to an example of the present disclosure.
[0010] Figure 5 is a schematic diagram illustrating a format of a packet containingan ED identifier according an example of the present disclosure.
[0011] Figure 6 isa flowchart illustrating a procedure fora host connected to afirst client edge (CE)to sendan Ethernet packet to a hostconnected to a secondCE in an example of the present disclosure.
[0012] Figure 7 is a flowchart illustrating a procedure for the host connected to the second CEto returnan Ethernet packet to the host connected to the first CEin an exampleof the present disclosure.
Detailed Description
[0013] For simplicity and illustrative purposes, the present disclosure is described by referring mainly to examples. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be readily apparent however, that the present disclosure may be practiced without limitation to these specific details. In other instances, some methods and structures have not been described in detail so as not to unnecessarily obscure the present disclosure. Throughout the present disclosure, the terms "a" and "an" are intended to denote at least one of a particular element. As used herein, the term "includes" means includes but not limited to, the term "including" means including but not limited to. The term "based on" means based at least in part on.
[0014] In a conventional EVI network, a bi-directionaltunnel is established between every two EDs.AMedia Access Control (MAC) address is advertised among sites via an Intermediate System-Intermediate System (IS-IS) protocol packet. For example, if a certain ED newly learns a MAC address from a local site, the ED may flood IS-IS protocol packet withthe MAC address through tunnelsinterconnecting other EDs. However, if the number of MAC addresses to be advertised by an ED is very large, some IS-IS protocol packets may be lost so that a peer ED is unable to learn MAC addresses contained in the lost IS-IS protocol packets. In addition, when users of different sites visit with each other, if a certain ED cannot find a destination MAC address of anEthernet packet in a MAC table of the ED, the packet is an unknown unicast packet. The ED may process the unknown unicast packet through an EVI Flooding mode or an EVI No Flooding mode. If the EVI Flooding mode is adopted, the ED floods the unknown unicast packet to other EDs, which results in problems such as packet loss or resource occupancy. If the EVI No Flooding mode is adopted, the ED directly discards the unknown unicast packet, which results in visit failure.
[0015] An example of the present disclosureprovides a solution, which includes that, when an ED forwards a packet in an EVI network, if the ED receives an unknown unicast packet from a remote site, the ED learns a MAC address contained in the packet and then forwards the packet.As used herein, an EVI network may include not only an Ethernet Virtual Interconnection network, but also other appropriate types of network for connecting geographically disperse data centers.
[0016] However, in MAC address learning, especially in an early stage, because each ED has not learned MAC addresses of hosts connected to remote sites, most to-be-forwarded packets are unknown unicast packets, which may result in the flooding of large numbers of unknown unicast packets. For example, hostl connected to Customer Edge 1 (CE1) in a site of EDI intends to send a packet to host2 connected to CE2 in a site of ED2, but EDI hasnot learneda MAC address of host2 in advance and thus cannot find a destination MAC address of the received unicastpacket in a MAC table of EDI, so the packet is an unknown unicast packet. In order to send the unknown unicast packet to its destination, the EDI may flood the unknown unicast packet to other EDs in the EVI network. In order to control such flooding, in an example, a primary tunnel is established between each two EDsand a standby tunnel is also established between a server ED and each client ED to bear the unknown unicast packet. Herein, the primary tunnel and the standby tunnel are both EVI tunnels. The EVI tunnels are IP Generic Routing Encapsulation (GRE) tunnels and are used for bearing EVI links. One EVI tunnel may bear multiple EVI links. The EVI tunnel is a point-to-multipoint automatic tunnel. A local site may be connected to multiple adjacent sites through one EVI tunnel, and each connection corresponds to one EVI link.
[0017] In order to indicate a source of the unicast packet, an ED identifier of a source client ED is added into the unknown unicast packet so that an ED receiving the unknown unicast packet may correctly learn the MAC address of the unknown unicast packet. Accordingly, in an example, when the source client ED intends to flood the unknown unicast packet, the source client ED may flood the unknown unicast packet to the server ED through the standby tunnel, and then the server ED forwards the unknown unicast packet to a destination client ED. In the procedure of forwarding the unknown unicast packet, the server ED and the client ED both learn the MAC address. [0018] Figure 1 is a schematic diagram illustrating a structure of an EVI network according to an example of the present disclosure. As shown in Figure 1, the EVI network includes a server ED and multiple client EDs.A siteof each ED includes multiple client edges (CEs), and each CE is connected to multiple hosts. A primary tunnel is established between each two EDs, and a standby tunnel is established between the server ED and each client ED to bear an unknown unicast packet. Herein, each ED and CEs connected to the ED constitute a network site, and a public network through which EDs interact with each other is a core network.An ED identifier of the source client ED may be added into the unknown unicast packet to indicate a source of the unknown unicast packet, and the format of the unknown unicast packet containing the ED identifier of the source client is shown in Figure 5 in an example of the present disclosure.
[0019] In order to illustrate the solution of this example, the server ED and the client ED are describe in detail hereinafter.
[0020] Figure 2 is a schematic diagram illustrating the internal structure of a server ED 1010 according to an example of the present disclosure. As shown in Figure 2, the server ED lOlOincludes a primary unit 1011, a forwarding unit 1012 and an interface unit 1013. In practical applications, the primary unit 1011 is realized by hardware such as CPU; the forwarding unit 1012 saves a MAC table and enquires an address when a packet is forwarded; and the interface unit 1013 is an external interface of the server ED1010, which includes a physical port or a logic interface.
[0021] The forwarding unit 1012 is tolearn a source MAC address of thereceived unicast packet when the interface unit 1013 receives a unicast packet containing an ED identifier of a source client ED from the source client ED through astandby tunnel between the server ED lOlOand the source client ED. The forward unit 1012 is to then savethe learned source MAC address of thereceivedunicast packet and an outbound interface corresponding to a primary tunnel between the server ED lOlOand the source client ED in the MAC table. The forwarding unit 1012 may thensearch the MAC table according to a destination MAC address of the unknown unicast packet; if a local sitetable entry matchesthe destination MAC address of thereceived unicast packet, the forwarding unit 1012 is then toforward the received unicast packet locally through the interface unit 1013.1f a remote sitetable entrymatchesthe destination MAC address of thereceived unicast packet, the forwarding unit 1012 may forward the receivedunicast packet through the interface unit 1013 and a standby tunnel between the server ED lOlOand a destination client ED of a remote site.If no table entry matches the destination MAC address of thereceived unicast packet, the forwarding unit 1012 may broadcast the received unicast packet in an EVI instance through the interface unit 1013.
[0022] That is, the server ED lOlOmay learn the source MAC address of a unicast packet received through the standby tunnel, and forward the received unicast packet after searching the MAC table. It should be noted thateven though the server ED lOlOreceives the unicast packet through the standby tunnel, the server ED saves the source MAC address of the unicast packet and the outbound interface corresponding to the primary tunnel between the server ED lOlOand the source client ED in the MAC table, and the reasons are illustrated as follows. After the server ED learns the source MAC address of the unicast packet, anypacket destined fora devicecorresponding to the learnedsource MAC address of the unicast packet is a known unicast packet. Thusthe packet does not need to be sent through the standby tunnel but is sent through the primary tunnel.That is, the packet is sent through the outbound interface corresponding to the primary tunnel in the MAC table. It should also be noted that, when the server ED forwards a unicast packet received via a standby tunnel to a remote site, the server ED lOlOstill forwards the receivedunicast packet through a standby tunnel interconnecting the remote site.
[0023] Figure 3 is a schematic diagram illustrating the internal structure of a client ED 1020 according to an example of the present disclosure. As shown in Figure 3, the client ED 1020includes a primary unit 1021, a forwarding unit 1022, and an interface unit 1023. In practical applications, the primary unit 1021 is realized by hardware such as CPU; the forwarding unit 1022 saves a MAC table and enquires an address when a packet is forwarded; and the interface unit 1023 is an external interface of the client ED 1020, which includes a physical port or a logic interface.
[0024] When the client ED 1020isa source client ED that sends an unknown unicast packet, the primary unit 1021 is to add an ED identifier of the client ED 1020into the unknown unicast packet.
[0025] When the client ED 1020is the source client ED, the forwarding unit 1022 is to send the unknown unicast packet to the server ED through the interface unit 1023 and a standby tunnel between the client ED 1020and the server ED. When the client ED 1020is a destination client ED, the forwarding unit 1022 is to receive a unicast packetdelivered via the standby tunnel and sentfrom the server ED through the interface unit 1023, and obtain a source client ED according to an ED identifier contained in the receivedunicast packet. The forwarding unit 1022 is also to learn a source MAC address of the unknown unicast packet, and savethe learned source MAC address and an outbound interface corresponding to a primary tunnel between the client ED and the source client ED in the MAC table. Whenthe client ED is a destination client ED, the forwarding unit 1022 is to search the MAC table according to a destination MAC address of the received unicast packet. If one matchingtable entry forthe destination MAC address is found, the forwarding unit 1022 is to forward the received unicast packet locally through the interface unit 1023. If no matching table entry for the destination MAC address is found, the forwarding unit 1022 is to broadcast the received unicast packet in a local VLAN through the interface unit 1023.
[0026] That is, the destination client ED may learn the source MAC address of the unicast packet received through the standby tunnel, and forward the unicast packet after searching the MAC table. It should be noted that, though the destination client ED receives the unicast packet through the standby tunnel, the destination client ED saves the source MAC address and the outbound interface corresponding to the primary tunnel between the destination client ED and the source client ED in the MAC table, and the reasons are illustrated as follows. Because what the destination client ED learns is a MAC address of a host connected to the source client ED and the unicast packet is received from the standby tunnel between the destination client ED and the server ED, if the destination client ED returns a response packet through the standby tunnel, the response packet is unable to reach the source client ED. Accordingly, the outbound interface corresponding to the primary tunnel between the destination client ED and the source client ED is to be saved when the destination client ED learns the MAC address.
[0027] Hereinafter,the solution is described referring to another example of the present disclosure.
[0028] Taking Figure 4 as an example, suppose a site includes server ED211, CE221 and Host231 connected to CE221, a site includes client ED212, CE222 and Host232 connected to CE222, a site includesclient ED213 CE223 and Host233 connected to CE223, and a site includesclient ED214 CE224 and Host234 connected to CE224. A primary tunnel is established between each two of ED211 to ED214, and a standby tunnel is established between server ED211 and each of ED212 to ED214. The primary tunnel and the standby tunnel are both EVI tunnels. Each EVI tunnel bears at least one EVI link. Links between ED211 and ED212 are LINK1 and LINK1-2, links between ED211and ED213 are LINK2 and LINK2-2, and links between ED211and ED214 are LINK3 and LINK3-2. The primary tunnel and the standby tunnel both may be established with a conventional method, for example, an IP GRE tunnel is established.
[0029] In this example, suppose Host232 intends to access Host233, but client ED212 hasnot learned MAC addresses of Host232 and Host233 in advance, and client ED213 hasnot learneda MAC address of Host232 in advance.
[0030] In this example, the ED identifier of the source client ED needs to be added into the unknown unicast packet, and the format of the unknown unicast packet containing the ED identifier of the source client is shown in Figure 5 in an example of the present disclosure. The EVI-ED Identifier field indicatesthe ED identifier. In practical applications, each ED may be assigned an ED identifier in advance. For example, an ED identifier of ED211 is idl, which corresponds to an address 1.1.1.1; an ED identifier of ED212 is id2, which corresponds to an address 2.2.2.2; an ED identifier of ED213 is id3, which corresponds to an address 3.3.3.3; and an ED identifier of ED214 is id4, which corresponds to an address 4.4.4.4. Herein, the address may uniquely identify a device connected tothe EVI tunnel. And thus, the source client ED may be determined according to the address corresponding to the ED identifiercontained in the unknown unicast packet.
[0031] The solution that a client ED accesses another client ED is illustrated through two phases in an example of the present disclosure.
[0032] The first phase describes a procedure fora first host such as Host232 connected to a first CE such as CE222 to sendan Ethernet packet to a second host such as Host233 connected to a second CE such as CE223, as shown in Figure 6 in an example of the present disclosure.
[0033] In one example, in block SI, the CE (CE222) sends the Ethernet packet received from the first host (Host232) to an edge device such as ED212, where the Ethernet packet contains a source MAC address and a destination MAC address. The source MAC address is a MAC address of the first host(Host232), and the destination MAC address is a MAC address of the second host(Host233).
[0034] In block S2, the ED(ED212) learns the MAC address, and saves the source MAC address of the Ethernet packet. The ED may also savea VLAN to which the Ethernet packet belongs, and a port receiving the Ethernet packet in a MAC table of an EVI instance.
[0035] Herein, the ED (ED212) may determine the EVI instance according to the EVI instance bundled with the VLAN to which the Ethernet packet belongs.
[0036] In block S3, if the ED (ED212) does not find a table entry matching with the destination MAC address of the Ethernet packet in the MAC table, the ED(ED212) encapsulates the Ethernet packet into an IP tunnel packet such as an Ethernet over IP GRE tunnel packet based ona standby tunnel between ED212 and server ED211. It may also add the ED identifier of the ED(ED212)into the Ethernet over IP GRE tunnel packet.
[0037] Figure 5 shows a format of the Ethernet over IP GRE tunnel packet containing the ED identifier that is sent by ED212. In Figure 5, an IP GRE tunnel header contains an IP packet header and a GRE packet header. Compared with an IP packet header of an IP packet borne by the Ethernet packet shown in Figure 5, the IP packet header contained in the IP GRE tunnel header may be taken as an outer IP packet header of the Ethernet over IP GRE tunnel packet. A source IP address of the IP packet header contained in the IP GRE tunnel header is an IP address of ED212, and a destination IP address of the IP packet header contained in the IP GRE tunnel header is an IP address of ED211. The GRE packet header indicates that the borne protocol packet is the Ethernet packet.
[0038] A public layer 2 packet header shown in Figure 5 may be taken as an outer Ethernet header of the Ethernet over IP GRE tunnel packet. A destination MAC address of the public layer 2 packet header is a MAC address of a next hop device of ED212, for example, device P2 shown in Figure 4. If the next hop device is ED211, the destination MAC address of the public layer 2 packet header is the MAC address of ED211. A source MAC address of the public layer 2 packet header is a virtual interface MAC address of ED212, and a VLAN ID of the public layer 2 packet header is a public VLAN number.
[0039] Blocks SI to S3 describes a procedure forHost232 to sendthe Ethernet packet to ED212 and ED212, for example, determines that the Ethernet packet is an unknown unicast packet.
[0040] In block S4, the ED (ED212) sends the IP tunnel packet such as Ethernet over IP GRE tunnel packet to server ED211 through the standby tunnel LINK 1-2, where the ED identifier of the source client ED (called source ED identifier for short) contained in the Ethernet over IP GRE tunnel packet is the ED identifier of ED212.
[0041] In block S5, server ED (ED211) receives the Ethernet over IP GRE tunnel packet containing the source ED identifier from the standby tunnel LINK1-2.
[0042] In block S6, server ED(ED211)savesthe source MAC address of innerEthernet packet of the IP tunnel packet such as theEthernet over IP GRE tunnel packet, the VLAN to which the inner Ethernet packet belongs, and a tunnel interface of a primary tunnel between the server ED(ED211) and the source client ED in the MAC table of EVI instance.
[0043] After the server ED(ED211) receives the Ethernet over IP GRE tunnel packet, the server ED(ED211) removes the public layer 2 packet header and IP GRE tunnel header, and determines the EVI instance according to the VLAN to which the Ethernet packet belongs.
[0044] In this example, the server ED(ED211) determines, according to the source ED identifier, that the Ethernet over IP GRE tunnel packet is from ED212, the server ED (ED211) records the tunnel interface of the primary tunnel between server ED211 and ED212 in atable entry corresponding to the source MAC address of the innerEthernet packet. The tunnel interface is an outbound interface corresponding to theprimary tunnel between ED211 and ED212.
[0045] In practical applications, the server ED(ED211) may also learn the MAC address of a packet received from a local CE or received through a primary tunnel. For the packet received from the local site, the server ED211 learns source MAC address and VLAN ID of the packet and a port at which the packet is received. For the packet received through the primary tunnel, the primary unit 1011 of the server ED shown in Figure 2 is further to, when the interface unit 1013 receives a unicast packet fromthe source client ED through the primary tunnel between the server ED and the source client ED, learn a source MAC address of the unicast packetdelivered by the primary tunnel, and save the learned source MAC address and an outbound interface corresponding to the primary tunnel between the server ED and the source client ED in the MAC table. Correspondingly, the forwarding unit 1012 is further to search the MAC table based on a destination MAC address of the unicast packetdelivered by the primary tunnel. Alocal site table entry (that is, a MAC address of host in the local site) matches the destination MAC address, the forwarding unit 1012 it to forward the packet locally. If no table entry matches the destination MAC address, the forwarding unit 1012 is to broadcast the packet in the local VLAN.
[0046] In block S7, if the server ED(ED211)finds a table entry of the destination MAC address in the MAC table of the EVI instance based on the destination MAC address of the Ethernet packet and thetable entry contains a tunnel interface, the server ED(ED211) determines, based on the tunnel interface, that the destination client ED is ED213, encapsulates the Ethernet packet into an Ethernet over IP GRE tunnel packet based ona standby tunnel between server ED211 and ED213, adds a source ED identifierinto the Ethernet over IP GRE tunnel packet, which is the ED identifier of ED212, and sends the Ethernet over IP GRE tunnel packet containing the source ED identifier to ED213 through the standby tunnel LINK2-2.
[0047] In this example, if the table entryfound by server ED211 contains a port, server ED211 forwards the Ethernet packet locally.
[0048] In this example, if server ED211 does not find a table entry with the destination MAC address of the Ethernet packet in the MAC table of the EVI instance, server ED211 broadcasts the Ethernet packet in the EVI instance. The method of broadcasting the Ethernet packet includes the forwarding unit 1012 of server ED211 broadcastingthe Ethernet packet in the local VLAN of the EVI instance through the interface unit 1013, encapsulatingthe Ethernet packet into the Ethernet over IP GRE tunnel packet based on the standby tunnels between server ED211 and other client EDs except the source client ED, addingthe source ED identifierinto the Ethernet over IP GRE tunnel packet, and sendingthe Ethernet over IP GRE tunnel packet to client ED213 and client ED214.
[0049] In block S8, the ED(ED213) receives the IP tunnel packet such as the Ethernet over IP GRE tunnel packet containing the source ED identifier from the standby tunnel LINK2-2.
[0050] In block S9, the ED (ED213)obtains, based onthe source ED identifier contained in the Ethernet over IP GRE tunnel packet, that the source client ED is ED212, and learns the source MAC address ofthe innerEthernet packet, the VLAN to which the inner Ethernet packet belongs, and the tunnel interface of the primary tunnel between ED 213 and the source client ED in the MAC table of the EVI instance.
[0051] Herein, blocks S8 and S9 describe how client ED213 learns the MAC address of the packet received from the standby tunnel. In practical applications, client ED213 may learn the MAC address of a packet received from a local site or received through the primary tunnel.
[0052] If the client ED learns the MAC address of the packet received from the local site, the forwarding unit 1022 shown in Figure 3 is further to, when the client ED receives a unicast packet from the local site, learn a source MAC address of theunicast packet and save the learned source MAC address and a port receiving the unicast packet in the MAC table. The forwarding unit 1022 is further to search the MAC table based ona destination MAC address of the unicast packet.If a local sitetable entry associated with a host in the local site matches the destination MAC address,the forwarding unit 1022 is to forward the unicast packet locally through the interface unit 1023. If a remote site table entry associated with a host connected to the server ED or the destination client ED matches the destination MAC address, the forwarding unit 1022 is to forward the unicast packet through the interface unit 1023 and the primary tunnel between the client ED and the server ED or the destination client ED. If no table entry matches the destination MAC address, the forwarding unit 1022 is to process the unicast packet by taking the unicast packet as an unknown unicast packet.
[0053] If the client ED learns the MAC address of the packet received through the primary tunnel, the forwarding unit 1022 shown in Figure 3 is further to receive aunicast packet from the source client ED through the primary tunnel when the client ED is the destinationclient ED, learn a source MAC address of the unicast packet received via the primary tunnel, and save the learned source MAC address and an outbound interface corresponding to the primary tunnel betweenthe destination client ED and the source client ED in the MAC table. The forwarding unit 1022 is further to search the MAC table based on a destination MAC address of the unicast packet received via the primary tunnel.If a local sitetable entry associated with a host in the local site matches the destination MAC address, the forwarding unit 1022 is to forward the unicast packet received via the primary tunnel deliver locally.If no table entry matchesthe destination MAC address, the forwarding unit 1022 is to broadcast the unicast packetreceived via the primary tunnelin the local VLAN.
[0054] In block S10, if the ED (ED213) finds a port corresponding to the destination MAC address of the Ethernet packet in the MAC table of the EVI instance, ED213 forwards the Ethernet packet to CE223 through the port and then CE223 forwards the Ethernet packet to Host233.
[0055] In this example, suppose ED213 has already learned the MAC address of Host233, then in this block Host233 connected to ED213inevitably matches thedestination MAC address. In practical applications, if no host matches the destination MAC address, ED213broadcasts the Ethernet packet in the local VLAN of the EVI instance. In this way, after CE223 receives the Ethernet packet, CE223 forwards the Ethernet packet to Host233.
[0056] A second phase describes a procedurefor Host233 to returnan Ethernet packet to Host232 as shown in Figure 7 in an example of the present disclosure.
[0057] In block HI, a second CE (CE223) sends an Ethernet packet returned by a second host (Host233) to a second ED(ED213), where a source MAC address of the Ethernet packet is a MAC address of the second host (Host233), and a destination MAC address is a MAC address of a first host (Host232).
[0058] In block H2, the second ED(ED213) finds a table entry with the destination MAC address of the Ethernet packet in the MAC table of the EVI instance, and the table entrycontains a tunnel interface, which isthe tunnel interface of the primary tunnel between the second ED(ED213) andafirst ED(ED212).
[0059] In block H3, the second ED (ED213) encapsulates the Ethernet packet into an IP tunnel packet such as an Ethernet over IP GRE tunnel packet, and sends the Ethernet over IP GRE tunnel packet to the first ED (ED212) through the primary tunnel between the second ED (ED213) and the first ED(ED212).
[0060] Herein, the second ED(ED213) searches the MAC table for a table entry based on the tunnel interface, obtains the source IP address and destination IP address of IP GRE tunnel header, and a public VLAN, destination MAC address, and an outbound port of public layer 2 packet header, encapsulates the Ethernet packet into the Ethernet over IP GRE tunnel packet, and forwards the Ethernet over IP GRE tunnel packet.
[0061] In block H4, the first ED (ED212) receives the Ethernet over IP GRE tunnel packet, decapsulates the Ethernet over IP GRE tunnel packet into the Ethernet packet, searches the MAC table of the EVI instance for the table entry of the destination MAC address of the Ethernet packet, where an outbound interface in the table entry is a port, and forwards the Ethernet packet to the first CE (CE222) through the port.
[0062] The first CE (CE222) forwards the Ethernet packet to the first host(Host232)based on the destination MAC address of the Ethernet packet.
[0063] If ED212 has learned the MAC address of CE222, such as through block S2 in Figure 6 for example, in this block, the ED212 may find the matching table entry with the destination MAC address, obtaina corresponding port, and forward the Ethernet packet to CE222 through the port, and then CE222 forwards the Ethernet packet to Host232. Thus Host232 has successfully accessed Host233. In the packet forwarding procedure, server ED211, client ED212, and client ED213 have directly learned the MAC address of the packet.
[0064] In the example, if Host231 is to send an Ethernet unicast packet to Host232, CE221 forwards the Ethernet unicast packet to ED211, and ED211 records the source MAC address, VLAN information, and port information of the Ethernet unicast packet in the MAC table of the EVI instance. If ED211does not find a table entry with the destination MAC address of the Ethernet packet in the MAC table of the EVI instance, ED211 broadcasts the Ethernet packet in the local VLAN of the EVI instance, encapsulates the Ethernet packet into an Ethernet over IP GRE tunnel packetbased on primary tunnels between ED211 and each client ED, and sends the Ethernet over IP GREtunnel packet to each client ED through the primary tunnels between ED211 and the client EDs.In another example, ED211 broadcasts the Ethernet packet in the local VLAN of the EVI instance, encapsulates the Ethernet packet into an Ethernet over IP GRE tunnel packetbased on standby tunnelsbetween ED211 and each client ED, adds the ED identifier of server ED as the source ED identifierinto the Ethernet over IP GRE tunnel packet, and sends the Ethernet over IP GRE tunnel packet containing the source ED identifier to each client ED through the standby tunnels between ED211 and the client EDs.
[0065] If Host231 is to send anEthernet broadcast packet, CE221 forwards the Ethernet packet to ED211, ED211 records the source MAC address, VLAN information, and port information of the Ethernet packet in the MAC table of the EVI instance, broadcasts the Ethernet packet in the local VLAN of the EVI instance,encapsulates the Ethernet packet into an Ethernet over IP GRE tunnel packet based on the primary tunnelsbetween ED211 and each client ED, and sends the Ethernet over IP GRE tunnel packet to each client ED through the primary tunnels between ED211 and the client EDs.In another example ED211 broadcasts the Ethernet packet in the local VLAN of the EVI instance, encapsulates the Ethernet packet into an Ethernet over IP GRE tunnel packet based on the standby tunnelsbetween ED211 and each client ED, adds the ED identifier of the server ED as the source ED identifier into the Ethernet over IP GRE tunnel packet, and sends the Ethernet over IP GRE tunnel packet containing the source EDidentifier to each client ED through the standby tunnels between ED211 and the client EDs.
[0066] In the above examples, the server ED and the client ED may learn the MAC address without advertising the MAC address by flooding the IS-IS protocol packets. Moreover, in the example, the flooding of the unknown unicast packet can be controUedeffectively and the loss of the unknown unicast packet and resourceoccupation may also be avoided, so as to guarantee the reliable transmission of the unknown unicast packet.
[0067] Although described specifically throughout the entirety of the instant disclosure, representative examples of the present disclosure have utility over a wide range of applications, and the above discussion is not intended and should not be construed to be limiting, but is offered as an illustrative discussion of aspects of the disclosure.
[0068] What has been described and illustrated herein is an example along with some of its variations. The terms, descriptions and figures used herein are set forth by way of illustration only and are not meant as limitations. Many variations are possible within the spirit and scope of the subject matter, which is intended to be defined by the following claims— and their equivalents— in which theterms are meant in their broadest reasonable sense unless otherwise indicated.

Claims

What is claimed is:
1. A method for a server Edge Device (ED) in a Ethernet Virtual Interconnect (EVI) network to learnMediaAccessControl (MAC) addresses, wherein primary tunnelsare established between the server ED and client EDs in the EVI network, standby tunnels are established between theserver ED and the client EDs in the EVI network, and the method comprises:
the server ED receiving a first unicast packet from a first source client ED through astandby tunnel between the server ED and the first source client ED, the first unicast packet containing an ED identifier of the first source client ED;
the server ED learning a source MAC address of thefirst unicast packet;
the server ED saving the source MAC address of the first unicast packetand an outbound interface corresponding to a primary tunnel between the server ED and the first source client ED in a MAC table of the server ED;
the server ED searching the MAC table based on a destination MAC address of thefirst unicast packet;
when a local site table entry matches the destination MAC address of thefirst unicast packet,the server ED forwarding the first unicast packetlocally;
when a remote site table entry matches the destination MAC address of thefirst unicast packet, the server ED forwarding the first unicast packet through a standby tunnel between the server ED and a destinationclient ED; and
when no table entrymatches the destination MAC address of thefirst unicast packet,the server ED broadcasting the unicast packet in an EVI instance.
2. The method of claim 1, wherein the broadcasting the unicast packet in the EVI instance comprises:
the server ED broadcasting thefirst unicast packetin a local Virtual Local Area Network (VLAN); and
the server ED forwarding the unicast packet through thestandby tunnels between the server ED and theclient EDs except the first source client ED.
3. The method of claim 1, further comprising:
the server ED receiving a second unicast packet from a second source client ED through aprimary tunnel between the server ED and the second source client ED; the server ED learning a source MAC address of the second unicast packet;
the server ED savingthe source MAC address and anoutbound interface corresponding to a primary tunnel between the server ED and the second source client ED in the MAC table of the server ED;
the server ED searching the MAC table based on a destination MAC address of thesecond unicast packet;
when a local site table entrymatches the destination MAC address of the second unicast packet, forwarding the second unicast packet locally;and
when notable entry matches the destination MAC address of thesecond unicast packet, broadcasting the second unicast packet in a local VLAN.
4. The method of claim 1, further comprising:
the server ED receiving a local site unicast packet from a host ina local site;
the server ED learning a source MAC address of thelocal site unicast packet;
the server ED saving the source MAC address of the local site unicast packet and a port in the MAC table;
the server ED searching the MAC table based on a destination MAC address of thelocal site unicast packet;
when no table entry matches with the destination MAC address of the local site unicast packet:
the server ED broadcasting the local site unicast packet in the local VLAN and forwarding the local site unicast packet through theprimary tunnels between the server ED and the client EDs; or
the server ED adding an ED identifier of the server ED into the local host unicast packet and forwarding the local host unicast packet through thestandby tunnels between the server ED and the client EDs.
5. The method of claim 1, further comprising:
the server ED receiving a broadcast packet from a host ina local site;
the server ED learning a source MAC address of the broadcast packet;
the server ED saving the source MAC address of the broadcast packet and a port in the MAC table; and
the server ED broadcasting the broadcast packet in a local VLAN and forwarding the broadcast packet through theprimary tunnels or the standby tunnels between the server ED and the client EDs.
6. A serverEdge Device (ED)in an Ethernet Virtual Interconnection (EVI) network,the server ED comprising a primary unit, a forwarding unit, and an interface unit, wherein:
primary tunnels are established between the server ED and client EDs in the EVI network, and standby tunnels are established between the server ED and the client EDs in the EVI network;
the forwarding unit is to, when the interface unit receives a first unicast packet from a first source client ED through a standby tunnel between the server ED and the first source client ED, the first unicast packet carrying an ED identifier of the first source client ED:
learna source MAC address of the first unicast packet;
savethe source MAC address of thefirst unicast packet and an outbound interface corresponding to a primary tunnel between the server ED and the first source client ED in a MAC table of the server ED;
search the MAC table based on a destination MAC address of the second unicast packet;
when a local sitetable entry matches the destination MAC address of the first unicast packet, forward the first unicast packet locally through the interface unit; when a remote site table entry matches the destination MAC address of the first unicast packet, forward the first unicast packet through the interface unit and a standby tunnel between the server ED and a destination client ED; and
when no table entry matches the destination MAC address of the first unicast packet, broadcast the first unicast packet in an EVI instance through the interface unit.
7. The ED of claim 6, wherein the forwarding unit broadcasts thefirst unicast packet in alocal VLAN through the interface unit, and forwards the first unicast packet through the interface unit and the standby tunnels between the server ED and the client EDs except thefirst source client ED.
8. The server ED of claim 6, wherein the forwarding unit is further to, when the interface unit receives a second unicast packet from a second source client ED through a primary tunnel between the server ED and the second source client ED:
learn a source MAC address of the second unicast packet;
save the source MAC address of thesecond unicast packetand an outbound interface corresponding to the primary tunnel between the server ED and the second source client ED in the MAC table;
search the MAC table based on a destination MAC address of the second unicast packet;
when a local sitetable entry matches the destination MAC address of thesecond unicast packet, forward the second unicast packetlocally; and
when no table entry matches the destination MAC address of the second unicast packet, broadcast the second unicast packetin a local VLAN.
9. The server ED of claim 6, wherein the forwarding unit is further to, when the interface unit receives a local site unicast packet from a host ina local site:
learn a source MAC address of thelocal site unicast packet;
save the source MAC address of thelocal siteunicast packet and a port in the MAC table;
search the MAC table based on a destination MAC address of the local siteunicast packet;
when no table entry matches the destination MAC address of the local siteunicast packet:
broadcast the local siteunicast packet in the local VLAN and forward the local siteunicast packetthrough the primary tunnels between the server ED and the client EDs; or
add an ED identifier of the server ED into the local siteunicast packet and forward the local siteunicast packet through the standby tunnels between the server ED and the client EDs.
10. The server ED of claim 6, wherein the forwarding unit is further to, when the interface unit receives a broadcast packet from a host ina local site:
learn a source MAC address of the broadcast packet; save the source MAC address of the broadcast packet and a port in the MAC table; broadcast the broadcast packet in a local VLAN; and
forward the broadcast packet through the standby tunnels or the primary tunnels between the server ED and the clientEDs.
11. A client Edge Device (ED) in an Ethernet Virtual Interconnection (EVI) network,the client ED comprising a primary unit, a forwarding unit and an interface unit, wherein
a primary tunnel is established between the client ED and a server ED in the EVI network, and a standby tunnel is established between the clientED and the server ED in the EVI network;
the primary unit is to, when the client ED is a first source client EDthat sends an unknown unicast packet, add an ED identifier of the client ED into the unknown unicast packet; and
the forwarding unit is to:
when the client ED is the first source client ED, send the unknownunicast packet to the server ED through the interface unit and the standby tunnel;
when the client ED is a first destination client ED:
receive a first unicast packetfrom the server ED sent via the standby tunnel through the interface unit;
obtain a source client ED based on an ED identifiercarried in the first unicast packet;
learn a source MAC address of thefirst unicast packet;
save thesource MAC address of the first unicast packetand an outbound interface corresponding to the primary tunnel in the MAC table;
search the MAC table based on a destination MAC address of the first unicast packet;
when a local site table entry matchesthe destination MAC address of the first unicast packet, forward the first unicast packetlocally through the interface unit;and
when no table entry matches the destination MAC address of the second unicast packet, broadcast the first unicast packetto a local VLAN through the interface unit.
12. The client ED of claim 11, wherein the forwarding unit is further to, when the interface unit receives a second unicast packet sent from a host in a local site:
learn a source MAC address of the second unicast packet;
save the source MAC address of the second unicast packet and a port receiving the second unicast packet in the MAC table.
13. The client ED of claim 11, wherein the forwarding unit is further to, when the interface unit receives a local siteunicast packet froma host in the local site:
search the MAC table based ona destination MAC address of the local siteunicast packet;
when a local sitetable entry matches with the destination MAC address of thelocal siteunicast packet, forward the local siteunicast packet locally through the interface unit; when a remote table entry associated withthe server ED or a second destination client ED matches the destination MAC address of thelocal siteunicast packet, forward the local siteunicast packet through the interface unit and the primary tunnel between the client ED and the server ED or a primary tunnel between the client ED and thesecond destination client ED; and
when no table entry matches the destination MAC address of thelocal siteunicast packet, process the unicast packet as an unknown unicast packet.
14. The client ED of claim 11, wherein the forwarding unit is further to, when the client ED is the first destination client EDand receives a second unicast packet from a second source client ED through a primary tunnel between the client ED and the second source client ED;
learn a source MAC address of the second unicast packet
save the learned source MAC address of the second unicast packetand an outbound interface corresponding to the primary tunnel between the client ED and thesecond source client ED in the MAC table;
search the MAC table based on a destination MAC address of the second unicast packet;
when a local site table entry matches with the destination MAC address of the second unicast packet, forward the second unicast packetlocally; and when no table entry matches with the destination MAC address of the second unicast packet, broadcast the second unicast packetin a localVLAN.
PCT/CN2013/082638 2012-08-31 2013-08-30 Mac address learning WO2014032609A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201210316996.8A CN103685007B (en) 2012-08-31 2012-08-31 A kind of mac learning method when edge device message forwards and edge device
CN201210316996.8 2012-08-31

Publications (1)

Publication Number Publication Date
WO2014032609A1 true WO2014032609A1 (en) 2014-03-06

Family

ID=50182534

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/082638 WO2014032609A1 (en) 2012-08-31 2013-08-30 Mac address learning

Country Status (2)

Country Link
CN (1) CN103685007B (en)
WO (1) WO2014032609A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618210A (en) * 2014-12-25 2015-05-13 杭州华三通信技术有限公司 Status notification method and device
US20150131661A1 (en) * 2013-11-08 2015-05-14 Verizon Patent And Licensing Inc. Virtual network device in a cloud computing environment
US10313153B2 (en) 2017-02-27 2019-06-04 Cisco Technology, Inc. Adaptive MAC grouping and timeout in EVPN environments using machine learning

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104836744B (en) * 2015-05-29 2018-06-12 新华三技术有限公司 A kind of message processing method and device
US20230011715A1 (en) * 2020-08-28 2023-01-12 Pismo Labs Technology Limited Methods and systems for transmitting session-based packets
CN112804158B (en) * 2021-03-31 2021-09-21 四川新网银行股份有限公司 Unknown unicast forwarding and control method for switch

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101001196A (en) * 2007-01-25 2007-07-18 华为技术有限公司 Method and device for setting pseudo-line tunnel and transmitting message using it
US20080080509A1 (en) * 2006-09-29 2008-04-03 Nortel Networks Limited Method and apparatus for learning endpoint addresses of IPSec VPN tunnels
US20120063451A1 (en) * 2010-09-10 2012-03-15 Avaya Inc. Shared virtual tunnels supporting mac learning in communication networks
CN102594711A (en) * 2012-03-28 2012-07-18 杭州华三通信技术有限公司 Message forwarding method and edge device therefor

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040202199A1 (en) * 2003-04-11 2004-10-14 Alcatel Address resolution in IP interworking layer 2 point-to-point connections
ATE472216T1 (en) * 2008-03-31 2010-07-15 Alcatel Lucent IMPROVED MAC ADDRESS LEARNING
CN102098202B (en) * 2009-12-11 2013-08-07 华为技术有限公司 Virtual private topology control method, device and system
CN101980496A (en) * 2010-10-13 2011-02-23 华为数字技术有限公司 Message processing method and system, exchange board and access server equipment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080080509A1 (en) * 2006-09-29 2008-04-03 Nortel Networks Limited Method and apparatus for learning endpoint addresses of IPSec VPN tunnels
CN101001196A (en) * 2007-01-25 2007-07-18 华为技术有限公司 Method and device for setting pseudo-line tunnel and transmitting message using it
US20120063451A1 (en) * 2010-09-10 2012-03-15 Avaya Inc. Shared virtual tunnels supporting mac learning in communication networks
CN102594711A (en) * 2012-03-28 2012-07-18 杭州华三通信技术有限公司 Message forwarding method and edge device therefor

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150131661A1 (en) * 2013-11-08 2015-05-14 Verizon Patent And Licensing Inc. Virtual network device in a cloud computing environment
US9559865B2 (en) * 2013-11-08 2017-01-31 Verizon Patent And Licensing Inc. Virtual network device in a cloud computing environment
CN104618210A (en) * 2014-12-25 2015-05-13 杭州华三通信技术有限公司 Status notification method and device
CN104618210B (en) * 2014-12-25 2018-07-31 新华三技术有限公司 A kind of state notice method and equipment
US10313153B2 (en) 2017-02-27 2019-06-04 Cisco Technology, Inc. Adaptive MAC grouping and timeout in EVPN environments using machine learning

Also Published As

Publication number Publication date
CN103685007A (en) 2014-03-26
CN103685007B (en) 2016-11-16

Similar Documents

Publication Publication Date Title
EP3065342B1 (en) Update of mac routes in evpn single-active topology
CN107666397B (en) Method for transmitting multicast group leaving request between PE routers and PE router
US9197721B2 (en) Learning a MAC address
CN103546374B (en) A kind of method and apparatus E-Packeted in edge double layer network
EP3065358B1 (en) Method and device for message forwarding
RU2551814C2 (en) Asymmetric network address encapsulation
JP5579853B2 (en) Method and system for realizing virtual private network
WO2016101646A1 (en) Access method and apparatus for ethernet virtual network
US9860169B1 (en) Neighbor resolution for remote EVPN hosts in IPV6 EVPN environment
CN102932254B (en) Message forwarding method and device
WO2014032609A1 (en) Mac address learning
US20070140251A1 (en) Method for implementing a virtual private network
CN108199963B (en) Message forwarding method and device
EP3188422B1 (en) Traffic black holing avoidance and fast convergence for active-active pbb-evpn redundancy
WO2014032598A1 (en) Forward packet with edge device
CN104168184A (en) Message forwarding method and device
JP2013504959A (en) Method and system for realizing virtual private network
CN104869042A (en) Message forwarding method and message forwarding device
WO2014036938A1 (en) Packet forwarding
WO2014067316A1 (en) Message forwarding between geographically dispersed network sites
US6982984B1 (en) Method and apparatus for virtual private networks
WO2013029440A1 (en) Method and apparatus for implementing layer-2 interconnection of data centers
CN101800691A (en) Method, equipment and system for establishing data forwarding paths in ethernets
CN104009919A (en) Message forwarding method and device
CN102724126A (en) Method, device and equipment for forwarding Ethernet tree (E-tree) service message

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: 13832609

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: 13832609

Country of ref document: EP

Kind code of ref document: A1