# US 10,454,809 B2 · Automatic network topology detection for merging two isolated networks

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,454,809 B2
- Document ID: US10454809B2
- Status: Granted
- Kind: B2
- Application number: 15/617,521
- Filed: 2017-06-08
- Published: 2018-12-13
- Granted: 2019-10-22
- Earliest claimed: 2017-06-08
- Assignees: VMware, Inc.
- Applicants: Nicira, Inc.
- Inventors: Raja Kommula; Thayumanavan Sridhar; Rajendra Yavatkar
- Web page: https://patentgrep.com/patent/US10454809B2

## CPC

- H04L 45/02: Topology update or discovery
- H04L 41/0853: by actively collecting configuration information or by backing up configuration information
- H04L 41/12: Discovery or management of network topologies
- H04L 43/10: Active monitoring, e.g. heartbeat, ping or trace-route
- H04L 45/48: Routing tree calculation
- H04L 61/103: across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
- H04L 69/18: Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
- H04L 45/24: Multipath
- H04L 49/15: Interconnection of switching modules
- H04L 2101/622: Layer-2 addresses, e.g. medium access control [MAC] addresses
- Y02D 30/00: Reducing energy consumption in communication networks
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

The technology disclosed herein automatically detects network topology for merging two isolated networks. In a particular embodiment, a method is performed in a first network of the two isolated networks and provides sending probe messages to a second network of the two isolated networks. The probe messages formatted for one or more passive protocols in the second network. The method further provides receiving replies to at least a portion of the probe messages from the second network indicating configuration parameters of the passive protocols and receiving neighbor messages from the second network indicating configuration parameters of active protocols in the second network. Additionally, the method provides determining a network topology of the second network using the configuration parameters of the passive protocols and the configuration parameters of the active protocols.

## Claims

### Claim 1

A method of detecting network topology to merge two isolated networks, the method comprising:
in a first network of the two isolated networks:
sending probe messages to a second network of the two isolated networks, wherein the probe messages formatted for one or more passive protocols in the second network;
receiving replies to at least a portion of the probe messages from the second network indicating configuration parameters of the passive protocols;
receiving neighbor messages from the second network indicating configuration parameters of active protocols in the second network; and
determining a network topology of the second network using the configuration parameters of the passive protocols and the configuration parameters of the active protocols, wherein determining the network topology includes determining a number of switches in the second network with uplinks to one or more gateways between the first network and the second network by determining a number of uplinks to the second network that are enabled on the one or more gateways.

### Claim 2 (depends on 1)

The method of claim 1, further comprising: upon determining that the number of switches is one switch, determining whether Bridge Protocol Data Units (BPDUs) and/or Virtual Port-Channel (VPC) control packets are detected on an uplink from the one switch; upon determining that BPDUs and/or VPC control packets are detected, determining that the network topology comprises a single upstream Level 2 (L2) switch; and upon determining that neither BPDUs nor VPC control packets are detected, using an Address Resolution Protocol (ARP) request to determine that the network topology comprises a single upstream Level 3 (L3) switch.

### Claim 3 (depends on 1)

The method of claim 1, further comprising: upon determining that the number of switches is two switches, receiving a response to an Address Resolution Protocol (ARP) request directed to one of the two switches through the other of the two switches, wherein receiving the response indicates that Level 2 (L2) uplinks exist from both of the two switches; if the L2 uplinks are connected to the same switch, determining that the network topology comprises a single L2 upstream switch when the L2 uplinks are connected to the same switch; if the L2 uplinks are not connected to the same switch and Virtual Port-Channel (VPC) control packets are detected on the L2 uplinks, determining that the network topology comprises multiple upstream L2 switches with VPC enabled.

### Claim 4 (depends on 3)

The method of claim 3, further comprising:
if the L2 uplinks are not connected to the same switch and no VPC control packets are detected, transferring a second ARP request directed to the one of the two switches through the other of the two switches;
if no response to the second ARP request is received, determining that the network topology comprises two upstream L2 switches operating with Spanning Tree Protocol (STP);
if a response to the second ARP request is received, determining that the network topology comprises multiple disjoined L2 switches with cross links when the L2 uplinks are connected to multiple switches and determining that the network topology comprises multiple disjoined L2 switches without cross links when the L2 uplinks are not connected to multiple switches.

### Claim 5 (depends on 1)

The method of claim 1, further comprising: upon determining that the number of switches is two switches, receiving no response to an Address Resolution Protocol (ARP) request directed to one of the two switches through the other of the two switches, wherein receiving no response indicates that Level 3 (L3) uplinks exist from both of the two switches; and using Link Layer Discovery Protocol (LLDP) input to determine whether the L3 uplinks are each connected to multiple switches; if the L3 uplinks are each connected to multiple switches, determining that the network topology comprises two L3 switches with Equal Cost Multipath Routing (ECMP) enabled; and if the L3 uplinks are not each connected to multiple switches: determining that the network topology comprises a single L3 switch when the L3 uplinks are connected to the same switch; and determining that the network topology comprises two L3 switches without ECMP enabled when the L3 uplinks are not connected to the same switch.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
configuring the first network for communications with the second network based on the network topology.

### Claim 7 (depends on 1)

The method of claim 1, wherein the probe messages comprise connection requests to one or more peer nodes in the second network.

### Claim 8 (depends on 1)

The method of claim 1, wherein the active protocols include one or more protocols of a protocol set comprising Virtual Router Redundancy Protocol (VRRP), Link Aggregation Control Protocol (LACP), Open Shortest Path First (OSPF), Virtual Port-Channel (VPC), Protocol Independent Multicast (PIM), Link Layer Discovery Protocol (LLDP), Cisco Discovery Protocol (CDP), and Spanning Tree Protocol (STP).

### Claim 9 (depends on 1)

The method of claim 1, wherein the passive protocols include one or more protocols of a protocol set comprising Border Gateway Protocol (BGP) and Internet Control Message Protocol (ICMP).

### Claim 10

A system, in a first network of two isolated networks, for detecting network topology to merge the two isolated networks, the system comprising:
one or more computer readable storage media;
a processing system operatively coupled with the one or more computer readable storage media; and
program instructions stored on the one or more computer readable storage media that, when read and executed by the processing system, direct the processing system to:
send probe messages to a second network of the two isolated networks, wherein the probe messages formatted for one or more passive protocols in the second network;
receive replies to at least a portion of the probe messages from the second network indicating configuration parameters of the passive protocols;
receive neighbor messages from the second network indicating configuration parameters of active protocols in the second network; and
determine a network topology of the second network using the configuration parameters of the passive protocols and the configuration parameters of the active protocols, wherein to determine the network topology, the program instructions direct the processing system to determine a number of switches in the second network with uplinks to one or more gateways between the first network and the second network by determining a number of uplinks to the second network that are enabled on the one or more gateways.

### Claim 11 (depends on 10)

The system of claim 10, wherein the program instructions further direct the processing system to: upon determining that the number of switches is one switch, determine whether Bridge Protocol Data Units (BPDUs) and/or Virtual Port-Channel (VPC) control packets are detected on an uplink from the one switch; upon determining that BPDUs and/or VPC control packets are detected, determine that the network topology comprises a single upstream Level 2 (L2) switch; and upon determining that neither BPDUs nor VPC control packets are detected, use an Address Resolution Protocol (ARP) request to determine that the network topology comprises a single upstream Level 3 (L3) switch.

### Claim 12 (depends on 10)

The system of claim 10, wherein the program instructions further direct the processing system to: upon determining that the number of switches is two switches, receive a response to an Address Resolution Protocol (ARP) request directed to one of the two switches through the other of the two switches, wherein receiving the response indicates that Level 2 (L2) uplinks exist from both of the two switches; if the L2 uplinks are connected to the same switch, determine that the network topology comprises a single L2 upstream switch when the L2 uplinks are connected to the same switch; if the L2 uplinks are not connected to the same switch and Virtual Port-Channel (VPC) control packets are detected on the L2 uplinks, determine that the network topology comprises multiple upstream L2 switches with VPC enabled.

### Claim 13 (depends on 12)

The system of claim 12, wherein the program instructions further direct the processing system to:
if the L2 uplinks are not connected to the same switch and no VPC control packets are detected, transfer a second ARP request directed to the one of the two switches through the other of the two switches;
if no response to the second ARP request is received, determine that the network topology comprises two upstream L2 switches operating with Spanning Tree Protocol (STP);
if a response to the second ARP request is received, determine that the network topology comprises multiple disjoined L2 switches with cross links when the L2 uplinks are connected to multiple switches and determining that the network topology comprises multiple disjoined L2 switches without cross links when the L2 uplinks are not connected to multiple switches.

### Claim 14 (depends on 10)

The system of claim 10, wherein the program instructions further direct the processing system to: upon determining that the number of switches is two switches, receive no response to an Address Resolution Protocol (ARP) request directed to one of the two switches through the other of the two switches, wherein receiving no response indicates that Level 3 (L3) uplinks exist from both of the two switches; and use Link Layer Discovery Protocol (LLDP) input to determine whether the L3 uplinks are each connected to multiple switches; if the L3 uplinks are each connected to multiple switches, determine that the network topology comprises two L3 switches with Equal Cost Multipath Routing (ECMP) enabled; and if the L3 uplinks are not each connected to multiple switches: determine that the network topology comprises a single L3 switch when the L3 uplinks are connected to the same switch; and determine that the network topology comprises two L3 switches without ECMP enabled when the L3 uplinks are not connected to the same switch.

### Claim 15 (depends on 10)

The system of claim 10, wherein the program instructions further direct the processing system to:
configure the first network for communications with the second network based on the network topology.

### Claim 16 (depends on 10)

The system of claim 10, wherein the probe messages comprise connection requests to one or more peer nodes in the second network.

### Claim 17 (depends on 10)

The system of claim 10, wherein the active protocols include one or more protocols of a protocol set comprising Virtual Router Redundancy Protocol (VRRP), Link Aggregation Control Protocol (LACP), Open Shortest Path First (OSPF), Virtual Port-Channel (VPC), Protocol Independent Multicast (PIM), Link Layer Discovery Protocol (LLDP), Cisco Discovery Protocol (CDP), and Spanning Tree Protocol (STP).

### Claim 18 (depends on 10)

The system of claim 10, wherein the passive protocols include one or more protocols of a protocol set comprising Border Gateway Protocol (BGP) and Internet Control Message Protocol (ICMP).
