Address discovery system

An address discovery system includes supplier switch devices that are each coupled to host device(s), and a distributor switch device that is coupled to each of the supplier switch devices via a network. The distributor switch device receives, via the network from each of the supplier switch devices, host address information for each host device that is coupled to that supplier switch device, and stores that host address information in a database. Subsequently, when a supplier switch device transmits a first address discovery request to the distributor switch device for second host address information for a second host device coupled to a second supplier switch device, the distributor switch device determines that the second host address information is included in the host address information stored in the database, retrieves the second host address information, and transmits the second host address information via the network to the first supplier switch device.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to Indian Provisional Application No. 202111023988, filed May 29, 2021, the disclosure of which is incorporated herein by reference in its entirety.

BACKGROUND

Information handling systems such as, for example, switch devices and/or other networking devices known in the art, may be utilized to connect server devices, desktop computing devices, laptop/notebook computing devices, tablet computing devices, mobile phones, and/or other host devices known in the art, and often perform address discovery operations in order to allow those different host devices to communicate with each other. For example, switch devices may be provided in a Virtual extensible Local Area Networks (VxLAN) in one or more datacenters, and may operate as VxLAN Tunnel EndPoint (VTEP) devices that connect host devices to each other. In some situations, VTEP devices may utilize the Address Resolution Protocol (ARP) to discover Media Access Control (MAC) addresses of host devices in the network (e.g., using Internet Protocol addresses of those host devices) in order to allow their connected host devices to communicate with those host devices that are connected to other VTEP devices. However, the conventional use of ARP raises some issues.

For example, one conventional ARP technique involves the VTEP devices in a network flooding VxLAN packets across multi-cast groups in the network to retrieve ARP information from VTEP device(s) in the network in order to learn the MAC address(es) of the host device(s) connected to those VTEP device(s). However, such “flood and learn” techniques greatly increase the amount of data traffic in the network, and can utilize substantial amounts of network bandwidth that can disrupt data traffic in some situations. Furthermore, such solutions require the enablement of multi-cast transport in the Layer 3 (L3) backbone of the network (which may not be an option for some networks), while the relatively high amounts of IP multi-cast data traffic (e.g., between datacenters) produced by such solutions may present configuration and maintenance challenges with regard to operation, performance, and scalability. One solution to such issues includes utilizing Head End Replication (HER) techniques, but such techniques require static or Ethernet Virtual Private Network (EVPN) configurations, and such configurations further require use of the Border Gateway Protocol (BGP) as an overlay protocol, which adds complexity to networks (particular for networks that do not require the BGP for any other networking functionality).

Accordingly, it would be desirable to provide an address discovery system that addresses the issues discussed above.

SUMMARY

According to one embodiment, an Information Handling System (IHS) includes a processing system; and a memory system that is coupled to the processing system and that includes instructions that, when executed by the processing system, cause the processing system to provide an address discovery engine that is configured to: receive, via a network from each of a plurality of switch devices, host address information for each host device that is coupled to that switch device; store the host address information in a database; receive, subsequent to storing the host address information in the database and via the network from a first switch device that is included in the plurality of switch devices, a first address discovery request for second host address information for a second host device that is coupled to a second switch device; determine that the second host address information is included in the host address information stored in the database; retrieve the second host address information from the database; and transmit, via the network to the first switch device, the second host address information.

DETAILED DESCRIPTION

Referring now toFIG. 2, an embodiment of a networked system200is illustrated that may utilize the address discovery system of the present disclosure. In the illustrated embodiment, the networked system200includes a datacenter202having a plurality of Virtual extensible Local Area Network (VxLAN) Tunnel EndPoints (VTEP) devices204a,204b, and up to204c. In an embodiment, any or all of the VTEP devices204a-204cmay be provided by the IHS100discussed above with reference toFIG. 1, and/or may include some or all of the components of the IHS100, and in specific examples may be provided by switch devices and/or other networking devices known in the art. However, while illustrated and discussed as being provided by switch devices or other networking devices, one of skill in the art in possession of the present disclosure will recognize that the VTEP devices204a-204cprovided in the networked system200may include any devices that may be configured to operate similarly as the VTEP devices204a-204cdiscussed below.

Each of the VTEP devices204a-204cmay be coupled to one or more host devices, with illustrated embodiment including the VTEP device204acoupled to host device(s)206a, the VTEP device204bcoupled to host device(s)206b, and the VTEP device204ccoupled to host device(s)206c. In an embodiment, any or all of the host devices206a-206cmay be provided by the IHS100discussed above with reference toFIG. 1, and/or may include some or all of the components of the IHS100, and in specific examples may be provided by server devices, desktop computing devices, laptop/notebook computing devices, tablet computing devices, mobile phones, and/or any other host devices that would be apparent to one of skill in the art in possession of the present disclosure. However, while illustrated and discussed as being provided by particular computing devices, one of skill in the art in possession of the present disclosure will recognize that the host devices206a-206cprovided in the networked system200may include any devices that may be configured to operate similarly as the host devices206a-206cdiscussed below.

In the illustrated embodiment, each of the VTEP devices204a-204care coupled to a network208that may be provided by a Local Area Network (LAN), the Internet, combinations thereof, and/or any other network(s) that would be apparent to one of skill in the art in possession of the present disclosure. One of skill in the art in possession of the present disclosure will recognize that the network208is discussed below as being provided by an Internet Protocol (IP) network that includes a Virtual extensible Local Area Network (VxLAN), although other networks may benefit from the teachings of the present disclosure while remaining within its scope as well.

In the illustrated embodiment, the networked system200also includes a datacenter210having a plurality of VTEP devices212a,212b, and up to212c, each of which are coupled to the network208as well. In an embodiment, any or all of the VTEP devices212a-212cmay be provided by the IHS100discussed above with reference toFIG. 1, and/or may include some or all of the components of the IHS100, and in specific examples may be provided by switch devices and/or other networking devices known in the art. However, while illustrated and discussed as being provided by switch devices or other networking devices, one of skill in the art in possession of the present disclosure will recognize that the VTEP devices212a-212cprovided in the networked system200may include any devices that may be configured to operate similarly as the VTEP devices212a-212cdiscussed below.

Each of the VTEP devices212a-212cmay be coupled to one or more host devices, with illustrated embodiment including the VTEP device212acoupled to host device(s)214a, the VTEP device212bcoupled to host device(s)214b, and the VTEP device212ccoupled to host device(s)214c. In an embodiment, any or all of the host devices214a-214cmay be provided by the IHS100discussed above with reference toFIG. 1, and/or may include some or all of the components of the IHS100, and in specific examples may be provided by server devices, desktop computing devices, laptop/notebook computing devices, tablet computing devices, mobile phones, and/or any other host devices that would be apparent to one of skill in the art in possession of the present disclosure. However, while illustrated and discussed as being provided by particular computing devices, one of skill in the art in possession of the present disclosure will recognize that the host devices214a-214cprovided in the networked system200may include any devices that may be configured to operate similarly as the host devices214a-214cdiscussed below.

However, while a specific networked system200has been illustrated and described, one of skill in the art in possession of the present disclosure will recognize that the address discovery system of the present disclosure may include a variety of components and component configurations while remaining within the scope of the present disclosure as well. For example, while illustrated and described below as a two-datacenter system utilizing a VxLAN with VTEP devices, one of skill in the art in possession of the present disclosure will recognize that the networked system200may include be provided by a single datacenter, more than two datacenters, or may be provided in non-datacenter scenarios, and may utilize networking techniques and/or technologies other than VxLAN while remaining within the scope of the present disclosure as well.

Referring now toFIG. 3, an embodiment of a VTEP device300is illustrated that may provide any or all of the VTEP devices204a-204cand/or214a-214cdiscussed above with reference toFIG. 2. As such, the VTEP device300may be provided by the IHS100discussed above with reference toFIG. 1and/or may include some or all of the components of the IHS100, and in specific examples may be provided by a switch device or other networking devices known in the art. Furthermore, while illustrated and discussed as being provided by switch devices or other networking devices known in the art, one of skill in the art in possession of the present disclosure will recognize that the functionality of the VTEP device300discussed below may be provided by other devices that are configured to operate similarly as the VTEP device300discussed below. In the illustrated embodiment, the VTEP device300includes a chassis302that houses the components of the VTEP device300, only some of which are illustrated below. For example, the chassis302may house a processing system (not illustrated, but which may include the processor102discussed above with reference toFIG. 1) and a memory system (not illustrated, but which may include the memory114discussed above with reference toFIG. 1) that is coupled to the processing system and that includes instructions that, when executed by the processing system, cause the processing system to provide an address discovery engine304that is configured to perform the functionality of the address discovery engines and/or VTEP devices discussed below.

The chassis302may also house a storage system (not illustrated, but which may include the storage108discussed above with reference toFIG. 1) that is coupled to the address discovery engine304(e.g., via a coupling between the storage system and the processing system) and that includes an address discovery database306that is configured to store any of the information utilized by the address discovery engine304discussed below. The chassis302may also house a communication system308that is coupled to the address discovery engine304(e.g., via a coupling between the communication system308and the processing system) and that may be provided by a Network Interface Controller (NIC), wireless communication systems (e.g., BLUETOOTH®, Near Field Communication (NFC) components, WiFi components, cellular components, etc.), and/or any other communication components that would be apparent to one of skill in the art in possession of the present disclosure. While a specific VTEP device300has been illustrated, one of skill in the art in possession of the present disclosure will recognize that VTEP devices (or other devices operating according to the teachings of the present disclosure in a manner similar to that described below for the VTEP device300) may include a variety of components and/or component configurations for providing conventional VTEP device functionality, as well as the functionality discussed below, while remaining within the scope of the present disclosure as well.

Referring now toFIG. 4, an embodiment of a method400for discovering addresses is illustrated. As discussed below, the systems and methods of the present disclosure provide a distributor switch device in a network that collects address discovery information from supplier switch devices for their connected host devices and stores it in a database, and when a first switch device in the network is connected to a first host device that wants to communicate with a second host device in the network, the distributor switch device finds the address discovery information for that second host device in its network, and provides it to the first switch device to enable that communication. For example, the address discovery system of the present disclosure may include supplier switch devices that are each coupled to host device(s), and a distributor switch device that is coupled to each of the supplier switch devices via a network. The distributor switch device receives, via the network from each of the supplier switch devices, host address information for each host device that is coupled to that supplier switch device, and stores that host address information in a database. Subsequently, when a supplier switch device transmits a first address discovery request to the distributor switch device for second host address information for a second host device coupled to a second supplier switch device, the distributor switch device determines that the second host address information is included in the host address information stored in the database, retrieves the second host address information, and transmits the second host address information via the network to the first supplier switch device. As such, address discovery is enabled in the network without the bandwidth and configuration issues associated with multi-cast address discovery techniques, or the configuration issues associated with EVPN/BGP techniques.

In the embodiment of the method400discussed below, the networked system200includes switch devices that are configured as VTEP devices204a-204cand212a-212cand included in a VxLAN, with those VTEP devices204a-204cand212a-212ctransmitting VxLAN data packets are part of the method400. With reference toFIG. 5, an embodiment of a VxLAN data packet500is illustrated that includes an 8-byte VxLAN header having an 8-bit “flags” section, a 24-bit “reserved” section, a 24-bit “Virtual Network Interface (VNI)” section, and an 8-bit “reserved” section, along with an ethernet frame. As will be appreciated by one of skill in the art in possession of the present disclosure, the 8-bit “flags” section of conventional VxLAN data packets currently use only bit 3 as an “I” flag that indicates whether a corresponding VNI in the VxLAN data packet is valid. However, in the examples of the communications during the method400below, the 8-bit “flags” section in the VxLAN data packet500utilizes bit 2 to identify whether the address discovery system of the present disclosure is being utilized via the VxLAN data packet500(e.g., if bit 2 is set to “1” the address discovery system of the present disclosure is being utilized, otherwise conventional address discovery techniques should be used), bit 5 to indicate the VxLAN data packet500is being used to provide address discovery information, bit 7 to indicate the VxLAN data packet500is being used to request address discovery, and bit 6 to indicate the VxLAN data packet500is being used to reply to a request for address discovery. However, one of skill in the art in possession of the present disclosure will appreciate how the different bits in the 8-bit “flags” section in the VxLAN data packet500may be utilized to provide the functionality below while remaining within the scope of the present disclosure as well.

Furthermore, one of skill in the art in possession of the present disclosure will recognize how 8 bits in the 24-bit “reserved” section of the VxLAN data packet500may include encrypted code, the 24-bit “VNI” section of the VxLAN data packet500may include a VNI identifier number (which allows approximately 16 million possible different VNI identifier numbers), and the 8-bit “reserved” section of the VxLAN data packet500may be set to zero by VTEP devices that transmit the VxLAN data packet500, and ignored by VTEP devices that receive the VxLAN data packet500. However, while a specific VxLAN data packet500has been illustrated and described, one of skill in the art in possession of the present disclosure will appreciate how other data packets may be utilized in the address discovery system of the present disclosure while remaining within it scope as well.

The method400begins at block402where a distributor switch device receives host address information for one or more host devices coupled to supplier switch devices via network, and stores the host address information in a database. In an embodiment, during or prior to the method400, at least one of the VTEP devices204a-204cand212a-212cmay be configured to operate as a distributor VTEP device, with the remaining VTEP devices configured to operate as supplier VTEP devices. In the specific examples provided below, the VTEP device204bis configured to operate as the distributor VTEP device204b, while the VTEP devices204a,204c, and212a-212care configured to operate as the supplier VTEP devices204a,204c, and212a-212c. However, one of skill in the art in possession of the present disclosure will appreciate how any of the VTEP devices204a-204cand212a-212cmay be configured to operate as a distributor VTEP device while remaining within the scope of the present disclosure as well. Furthermore, while only a single VTEP device is described in the examples below, one of skill in the art in possession of the present disclosure will appreciate how one or more secondary/backup distributor VTEP devices may be provided with a primary distributor VTEP device, with those secondary/backup distributor VTEP devices operating as supplier VTEP devices until the primary distributor VTEP device is unavailable (at which time a secondary/backup distributor VTEP device may take over distributor VTEP device operations when it is the only secondary/backup distributor VTEP device, or based on its priority over any other secondary/backup distributor VTEP devices).

In some embodiments, the designation of the VTEP devices as distributor and supplier VTEP devices may be a manual process in which a network administrator configures those VTEP device (e.g., via a Command Line Interface (CLI), via a Graphical User Interface (GUI), etc.). In such embodiments, the VTEP devices may operate to auto-discover the distributor VTEP device (with the distributor VTEP auto-discovering itself when it receives back its own MAC address as part of that auto-discovery process). However, in other embodiments, the designation of the VTEP devices as distributor and supplier VTEP devices may be an automated process in which those VTEP devices operate to elect the distributor VTEP device(s), with VTEP devices not elected as a distributor VTEP device then configured as supplier VTEP devices. However, while several different options have been described for providing the distributor VTEP device and supplier VTEP devices in the networked system200, one of skill in the art in possession of the present disclosure will appreciate how distributor VTEP device(s) and supplier VTEP devices that perform the functionality described below may be provided in a variety of manners that will fall within the scope of the present disclosure as well.

In an embodiment, at block402, each of the supplier VTEP devices204a,204c, and212a-212cmay generate host address information for its connected host device(s). For example, with reference back toFIG. 5, at block402the address discovery engine304in each of the supplier VTEP devices204a/300,204c/300, and212a-212c/300may generate the VxLAN data packet500and set the bit 2 of the 8-bit “flags” section in the VxLAN data packet500to identify that the address discovery system of the present disclosure is being utilized (e.g., by setting bit 2 to “1” as discussed above), while setting bit 5 of the 8-bit “flags” section in the VxLAN data packet500to indicate the VxLAN data packet500is being used to provide host address information. Furthermore, with reference toFIG. 6A, a specific example of a User Datagram Protocol (UDP) datagram600is illustrated that may be encapsulated in the VxLAN data packet500generated by the supplier VTEP device204a, and one of skill in the art in possession of the present disclosure will appreciate how similar UDP datagrams may be encapsulated in the VxLAN data packets generated by the supplier VTEP devices204cand212a-212cthat are providing host address information (but with different information in that UDP datagram) while remaining within the scope of the present disclosure as well.

In the specific example illustrated inFIG. 6A, the UDP datagram600encapsulated in the VxLAN data packet500generated by the supplier VTEP device204aincludes an identifier for a source port600aof the supplier VTEP device204a, and one of skill in the art in possession of the present disclosure will appreciate how each of the other supplier VTEP devices204band212a-212cwill provide an identifier for their respective source port in the UDP datagram600when providing address information. The UDP datagram600encapsulated in the VxLAN data packet500generated by the supplier VTEP device204aalso includes an identifier for a destination port600bof the distributor VTEP device204b, and that destination port600bmay have been reserved for the distributor VTEP device204band retrieved by the supplier VTEP device204a(as well as by any of the other supplier VTEP devices204band212a-212c) via overlay protocols and/or conventional routing mechanisms that would be apparent to one of skill in the art in possession of the present disclosure.

The UDP datagram600encapsulated in the VxLAN data packet500generated by the supplier VTEP device204aalso includes identifiers for an IP address600cand a MAC address600dof the supplier VTEP device204a, as well as an identifier for a VNI600eutilized by the supplier VTEP device204a(which may begin with a zero that is followed by the 24-bit VNI identifier). As discussed above, while each of the VTEP devices204a-204cand212a-212cwill have different IP addresses and MAC addresses, those VTEP devices may utilize a common VNI, and thus the identifier for the VNI600emay be the same in the UDP datagram provided by each of the supplier VTEP devices204a,204cand212a-212cwhen providing host address information. In the illustrated example, the UDP datagram600encapsulated in the VxLAN data packet500generated by the supplier VTEP device204aalso includes identifiers for an IP address600fand a MAC address600gof the host device206athat is coupled to the supplier VTEP device204a, as well as an identifier for a VNI600eutilized by the host device206a(which may begin with a zero that is followed by the 24-bit VNI identifier). In the illustrated example, the UDP datagram600also includes a message end indicator (e.g., “FFFFFFFF”) that indicates that the host address information being provided in the UDP datagram600has ended.

As will be appreciated by one of skill in the art in possession of the present disclosure, while only a single host device206acoupled to the supplier VTEP device204ahas its host address information (e.g., its IP address, MAC address, and VNI) identified in the UDP datagram600, host address information (e.g., respective sets of an IP address, MAC address, and VNI) for any other host devices coupled to the supplier VTEP device204amay be included in the UDP datagram600while remaining within the scope of the present disclosure as well. Furthermore, one of skill in the art in possession of the present disclosure will appreciate how UDP datagrams transmitted by the supplier VTEP devices204band212a-212cmay include corresponding IP address, MAC address, and VNI identifiers for their respective connected host device(s) as well.

As such, with reference toFIG. 6B, the address discovery engine304in each of the supplier VTEP devices204a,204c, and212a-212cmay perform address information transmission operations602that include generating the VxLAN data packet encapsulating the UDP datagram as described above, and transmitting that VxLAN data packet via its communication system308to the VTEP device204b(e.g., via an underlay network in the networked system200). As illustrated inFIG. 6Cand as part of the address information transmission operations602, the address discovery engine304in the distributor VTEP device204b/300may then receive the host address information transmitted by each of the supplier VTEP devices204a,204c, and212a-212cvia its communication system308. Furthermore, the address discovery engine304in the distributor VTEP device204b/300may then perform address information storage operations604that include storing the host address information received from each of the supplier VTEP devices204a,204c, and212a-212cin its address discovery database306. As such, in a specific example in which the ARP is utilized and following block402, the distributor VTEP device204bmay store the ARP information of each host device and supplier VTEP device in the networked system200.

The method400then proceeds to block404where the distributor switch device receives an address discovery request from a first supplier switch device for second host address information for a second host device. In the examples below, the supplier VTEP device204cgenerates and transmits the address discovery request to the distributor VTEP device204bat block404, but one of skill in the art in possession of the present disclosure will appreciate that any supplier VTEP device connected to a host device that wishes to communicate with another host device in the networked system200may transmit the address discovery request to a designated distributor VTEP device at block404while remaining within the scope of the present disclosure as well.

With reference toFIG. 7A, in an embodiment of block404, the host device206cmay perform host device communication operations700that include generating a host device communication that is directed to the host device214ain the examples below (e.g., by identifying an IP address for the host device214a), and transmitting that host device communication to the supplier VTEP device204c. In response to receiving the host device communication, the address discovery engine304in the supplier VTEP device204c/300may determine that address discovery operations are required to transmit the host device communication due to, for example, the IP address of the host device214athat is identified in the host device communication not being associated with a MAC address of the host device214ain the address discovery database306in the supplier VTEP device204c.

In response to determining that the address discovery operations are required to transmit the host device communication, the supplier VTEP device204cmay generate an address discovery request for the host device214a. For example, with reference back toFIG. 5, at block402the address discovery engine304in the supplier VTEP device204c/300may generate the VxLAN data packet500and set the bit 2 of the 8-bit “flags” section in the VxLAN data packet500to identify that the address discovery system of the present disclosure is being utilized (e.g., by setting bit 2 to “1” as discussed above), while setting bit 7 of the 8-bit “flags” section in the VxLAN data packet500to indicate the VxLAN data packet500is being used to provide an address discovery request. Furthermore, with reference toFIG. 7B, a specific example of a User Datagram Protocol (UDP) datagram702is illustrated that may be encapsulated in the VxLAN data packet500generated by the supplier VTEP device204c, and one of skill in the art in possession of the present disclosure will appreciate how similar UDP datagrams may be encapsulated in VxLAN data packets generated by other supplier VTEP devices making address discovery requests (but with different information in that UDP datagram) while remaining within the scope of the present disclosure as well.

In the specific example illustrated inFIG. 7B, the UDP datagram702encapsulated in the VxLAN data packet500generated by the supplier VTEP device204cincludes an identifier for a source port702aof the supplier VTEP device204c, and one of skill in the art in possession of the present disclosure will appreciate how other supplier VTEP devices will provide an identifier for their source port in similar UDP datagrams utilized in address discovery requests. The UDP datagram702encapsulated in the VxLAN data packet500generated by the supplier VTEP device204calso includes the identifier for the destination port600bof the distributor VTEP device204bwhich, as discussed above, may have been retrieved by the supplier VTEP device204cvia overlay protocols and/or conventional routing mechanisms that would be apparent to one of skill in the art in possession of the present disclosure.

The UDP datagram702encapsulated in the VxLAN data packet500generated by the supplier VTEP device204calso includes identifiers for an IP address702band a MAC address702cof the supplier VTEP device204c, as well as the identifier for the VNI600eutilized by the supplier VTEP device204c(which may begin with a zero that is followed by the 24-bit VNI identifier). As discussed above, while each of the VTEP devices204a-204cand212a-212cwill have different IP addresses and MAC addresses, those VTEP devices may utilize a common VNI, and thus the identifier for the VNI600emay be the same in UDP datagrams provided by any of the supplier VTEP devices as part of address discovery requests. In the illustrated example, the UDP datagram702encapsulated in the VxLAN data packet500generated by the supplier VTEP device204calso includes an identifier for an IP address702dof the host device214a, with the MAC address section set to zero (e.g., the “00:00:00:00:00:00” MAC address), and with the common VNI identifier (i.e., VNI600e) shared by the VTEP devices included in the VNI section provided adjacent the MAC address section that is set to zero. In the illustrated example, the UDP datagram702also includes a message end indicator (e.g., “FFFFFFFF”) that indicates that the address discovery request being provided in the UDP datagram702has ended.

As such, with reference back toFIG. 7A, the address discovery engine304in the supplier VTEP device204a/300may perform address discovery request transmission operations704that include generating the VxLAN data packet encapsulating the UDP datagram as described above, and transmitting that VxLAN data packet via its communication system308to the VTEP device204b(e.g., via an underlay network in the networked system200). As will be appreciated by one of skill in the art in possession of the present disclosure, the VxLAN data packet transmitted as part of the address discovery request transmission operations704is a unicast data communication transmission, as opposed to conventional multi-cast data communication transmission utilized to discover addresses in the conventional address discovery systems discussed above. As illustrated inFIG. 7Cand as part of the address discovery request transmission operations704, the address discovery engine304in the distributor VTEP device204b/300may then receive the address discovery request transmitted by the supplier VTEP device204c/300via its communication system308.

The method400then proceeds to decision block406where it is determined whether the second host address information is stored in the database. With reference toFIG. 8A, in an embodiment of decision block406and in response to receiving the address discovery request from the supplier VTEP device204cat block404, the address discovery engine304in the distributor VTEP device204b/300may perform address discovery database search operations306that may include determining whether the IP address identified in the address discovery communication for the host device214ais included in its address discovery database306and associated with a MAC address for the host device214a. While the example above describes the address discovery information (e.g., the IP address, MAC address, and VNI) for the host device214aand supplier VTEP device212ahaving been provided to the distributor VTEP device204b/300and stored in its address discovery database306at block402, the discussion below also describes an alternate embodiment in which the address discovery information for the host device214awas not provided to the distributor VTEP device204b/300and stored in it address discovery database306at block402in order to describe how the address discovery system deals with such as situation.

If, at decision block406, it is determined that the second host address information is stored in the database, the method400proceeds to block408where the distributor switch devices retrieves second host address information from the database and transmits the second host address information via the network to the first supplier switch device. With reference toFIG. 8B, in an embodiment of block408and in response to determining that the IP address identified in the address discovery communication for the host device214ais included in its address discovery database306and associated with a MAC address for the host device214a, the address discovery engine304in the distributor VTEP device204b/300may generate an address discovery reply communication.

For example, with reference back toFIG. 5, at block402the address discovery engine304in the distributor VTEP device204b/300may generate the VxLAN data packet500and set the bit 2 of the 8-bit “flags” section in the VxLAN data packet500to identify that the address discovery system of the present disclosure is being utilized (e.g., by setting bit 2 to “1” as discussed above), while setting bit 6 to indicate the VxLAN data packet500is being used to provide an address discovery reply. Furthermore, with reference toFIG. 8B, a specific example of a User Datagram Protocol (UDP) datagram802is illustrated that may be encapsulated in the VxLAN data packet500generated by the distributor VTEP device204b, and one of skill in the art in possession of the present disclosure will appreciate how similar UDP datagrams may be encapsulated in VxLAN data packets generated by the distributor VTEP device204bto other supplier VTEP devices that have provided address discovery requests (but with different information in that UDP datagram) while remaining within the scope of the present disclosure as well.

In the specific example illustrated inFIG. 8B, the UDP datagram802encapsulated in the VxLAN data packet500generated by the distributor VTEP device204bincludes an identifier for a source port802aof the distributor VTEP device204b. The UDP datagram802encapsulated in the VxLAN data packet500generated by the distributor VTEP device204balso includes the identifier for the destination port802bof the supplier VTEP device204c, and one of skill in the art in possession of the present disclosure will appreciate how identifiers for destination ports of other supplier VTEP devices may be provided in similar UDP datagrams utilized to reply to address discovery requests.

The UDP datagram802encapsulated in the VxLAN data packet500generated by the distributor VTEP device204balso includes identifiers for an IP address802cand a MAC address802dof the supplier VTEP device212a, as well as the identifier for the VNI600eutilized by the supplier VTEP device212a(which may begin with a zero that is followed by the 24-bit VNI identifier). As discussed above, while each of the VTEP devices204a-204cand212a-212cwill have different IP addresses and MAC addresses, those VTEP devices may utilize a common VNI, and thus the identifier for the VNI600emay be the same in UDP datagrams provided for any other supplier VTEP devices as part of address discovery replies. In the illustrated example, the UDP datagram802encapsulated in the VxLAN data packet500generated by the distributor VTEP device204balso includes the identifier for the IP address702dand a MAC address802eof the host device214a, as well as the identifier for a VNI802futilized by the host device214a(which may begin with a zero that is followed by the 24-bit VNI identifier). In the illustrated example, the UDP datagram802also includes a message end indicator (e.g., “FFFFFFFF”) that indicates that the address request reply being provided in the UDP datagram802has ended.

With reference toFIG. 9, the address discovery engine304in the distributor VTEP device204b/300may then perform address discovery reply operations900that include transmitting the address discovery reply communication discussed above via its communication system308to the supplier VTEP device204csuch that the address discovery engine304in the supplier VTEP device204c/300receives that address discovery reply communication via its communication system308. As will be appreciated by one of skill in the art in possession of the present disclosure, the VxLAN data packet transmitted as part of the address discovery reply operations704is a unicast data communication transmission. With reference toFIG. 10, the address discovery engine304in the supplier VTEP device204c/300may then utilize the address information for the host device214aand the supplier VTEP device212ato perform host device communication operations1000that include transmitting the host device communication received from its connected host device206cthrough its communication system308and via the network208and the supplier VTEP device212ato the host device214a. In some embodiments, the address discovery engine304in the supplier VTEP device204c/300may also store THE address information for the supplier VTEP device212aand host device214in its address discovery database308for future use in transmitting host device communications to the host device214a. As such, continuing with the specific example discussed above, the address discovery engine304in the supplier VTEP device204c/300may utilize the IP address, MAC address, and VNI received for the supplier VTEP device212a, along with the IP address, MAC address, and VNI received for the host device214a, to transmit the host device communication received from its connected host device206cvia the network208to the host device214a(e.g., via its supplier VTEP device212a).

If, at decision block406, it is determined that the second host address information is not stored in the database, the method400proceeds to block410where the distributor switch device floods an address discovery request to the network. As discussed above, in this alternate embodiment it is assumed that the host address information for the host device214awas not transmitted to the distributor VTEP device204bat block402and, at decision block406the address discovery engine304in the distributor VTEP device204b/300will determine that the IP address identified in the address discovery communication for the host device214ais not included in its address discovery database306and associated with a MAC address for the host device214a. In response, the address discovery engine304in the distributor VTEP device204b/300may perform address discovery flooding operations1100that includes broadcasting an address discovery request communication to each of the VTEP devices204a,212a,212b, and212c. As will be appreciated by one of skill in the art in possession of the present disclosure, the address discovery request communication broadcast to each of the VTEP devices204a,212a,212b, and212cmay identify the IP address of the host device214a, with the VTEP device204a,212a,212b, and212cconfigured to respond with its own address information and the MAC address and VNI of the host device214aif it is known to that VTEP device (i.e., if the host device214ais connected to that VTEP device), and ignore the address discovery request communication if the MAC address and VNI of the host device214ais not known to that VTEP device (i.e., if the host device214ais not connected to that VTEP device).

The method400then proceeds to block412where the distributor switch devices receives the second host address information via the network from a switch device that is coupled to the second host device. As illustrated inFIG. 11B, in an embodiment of block412and in response to receiving the address discovery request communication broadcast by the distributor VTEP device204bat block410, the address discovery engine304in the VTEP device212amay perform address discovery reply operations1102that may include generating an address discovery reply communication that identifies its address information and the MAC address and VNI for the host device214a, and transmitting the address discovery reply communication through its communication system308and via the network208to the distributor VTEP device204b. For example, the address discovery reply communication transmitted by the supplier VTEP device212aat block412may include information similar to that described above with reference toFIG. 6A. As such, the address discovery engine304in the distributor VTEP device204bmay receive that address discovery reply communication via its communication system308.

In the method400then proceeds to block414where the distributor switch device transmits the second host address information via the network to the first supplier switch device. With reference toFIG. 11C, the address discovery engine304in the distributor VTEP device204b/300may then perform address discovery reply operations1104that include transmitting an address discovery reply communication (e.g., that is substantially similar to the address discovery reply communication discussed above that includes the UDP datagram802) via its communication system308to the supplier VTEP device204csuch that the address discovery engine304in the supplier VTEP device204c/300receives that address discovery reply communication via its communication system308. With reference toFIG. 11D, the address discovery engine304in the supplier VTEP device204c/300may then utilize the address information for the host device214aand the supplier VTEP device212ato perform host device communication operations1000that include transmitting the host device communication received from its connected host device206cthrough its communication system308and via the network208and the supplier VTEP device212ato the host device214a. In some embodiments, the address discovery engine304in the supplier VTEP device204c/300may also store address information for the supplier VTEP device212aand host device214in its address discovery database308for future use in transmitting host device communications to the host device214a. As such, continuing with the specific example discussed above, the address discovery engine304in the supplier VTEP device204c/300may utilize the IP address, MAC address, and VNI received for the supplier VTEP device212a, along with the IP address, MAC address, and VNI received for the host device214a, to transmit the host device communication received from its connected host device206cvia the network208to the host device214a(e.g., via its supplier VTEP device212a).

While not described in detail above, the address discovery system of the present disclosure may also be compatible with conventional address discovery systems. For example, in the event the networked system200includes a VTEP device that is not configured to perform the address discovery functionality of the present disclosure, that VTEP device may still perform conventional address discovery operations that flood/broadcast an address discovery request (e.g., an ARP request) through the network to the VTEP devices204a-204cand212a-212cwhen its connected host device wishes to communicate with another host device in the networked system200. However, that address discovery request will not identify that the address discovery system of the present disclosure is being utilized via bit 2 of the VxLAN data packet (e.g., bit 2 will not be set to “1”, which will indicate to the VTEP devices204a-204cand212a-212cto use conventional address discovery techniques). In response to receiving such address discovery requests, the VTEP devices204a-204cand212a-212cwill respond using conventional address discovery techniques, thus allowing conventional VTEP devices to be added to the networked system200without experiencing issues.

Thus, systems and methods have been described that provide a distributor VTEP device in a network that collects address discovery information from supplier VTEP devices for their connected host devices and stores it in a database, and when a first VTEP device in the network is connected to a first host device that wants to communicate with a second host device in the network, the distributor VTEP device finds the address discovery information for that second host device in its network, and provides it to the first VTEP device to enable that communication. For example, the address discovery system of the present disclosure may include supplier VTEP devices that are each coupled to host device(s), and a distributor VTEP device that is coupled to each of the supplier VTEP devices via a network. The distributor VTEP device receives, via the network from each of the supplier VTEP devices, host address information for each host device that is coupled to that supplier VTEP device, and stores that host address information in a database. Subsequently, when a first supplier VTEP device transmits a first address discovery request to the distributor VTEP device for second host address information for a second host device coupled to a second supplier VTEP device, the distributor VTEP device determines that the second host address information is included in the host address information stored in the database, retrieves the second host address information, and transmits the second host address information via the network to the first supplier VTEP device. As such, address discovery is enabled in the network without the bandwidth and configuration issues associated with multi-cast address discovery techniques, or the configuration issues associated with EVPN/BGP techniques