US12143353B2ActiveUtilityA1

Dynamically learning media access control and internet protocol addresses

64
Assignee: JUNIPER NETWORKS INCPriority: Dec 31, 2020Filed: Apr 27, 2023Granted: Nov 12, 2024
Est. expiryDec 31, 2040(~14.5 yrs left)· nominal 20-yr term from priority
H04L 61/103H04L 45/745H04L 2101/622H04L 61/5007H04L 12/4641G06N 20/00H04L 61/5038
64
PatentIndex Score
0
Cited by
25
References
20
Claims

Abstract

Techniques are described for learning an unknown virtual network information, such as an virtual Internet Protocol (IP) address, of a pod in a virtual network. In some examples, a virtual router executing at a computing device may receive an Address Resolution Protocol (ARP) packet from a virtual execution element in the virtual network, the virtual execution element executing at the computing device. The virtual router may determine, based at least in part on the ARP packet, whether virtual network information for the virtual execution element in a virtual network is known to the virtual router. The virtual router may, in response to determining that the virtual network information of the virtual execution element in the virtual network is not known to the virtual router, perform learning of the virtual network information for the virtual execution element.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method comprising:
 receiving, by a virtual router on a computing device in a virtualized computing infrastructure, one of:
 1) an Address Resolution Protocol (ARP) packet from a first virtual execution element in a virtual network, wherein the ARP packet specifies, for the first virtual execution element, a first virtual Internet Protocol (IP) address and a first Medium Access Control (MAC) address, or 
 2) a request to add a route associated with the first virtual IP address and the first MAC address; and 
 
 based on determining (1) that the first virtual IP address matches a second virtual IP address for a second virtual execution element executing at the computing device and (2) that the first MAC address does not match a second MAC address for the second virtual execution element: triggering, by the virtual router, route deletion for one or more routes to the second virtual execution element. 
 
     
     
       2. The method of  claim 1 , further comprising:
 storing, by the computing device, an association of the first virtual IP address for the first virtual execution element and the first MAC address for the first virtual execution element in one or more tables for the virtual network. 
 
     
     
       3. The method of  claim 1 , further comprising:
 sending, by a virtual router agent at the computing device, ARP requests to the first virtual IP address for the first virtual execution element; 
 in response to not receiving ARP replies to a specified number of consecutive ARP requests sent to the first virtual IP address for the first virtual execution element, determining, by the computing device, that the first virtual execution element is unreachable; and 
 in response to determining that the first virtual execution element is unreachable, triggering, by the virtual router, route deletion for one or more routes to the first virtual execution element. 
 
     
     
       4. The method of  claim 1 , further comprising:
 establishing, by a virtual router agent at the computing device, a bidirectional forwarding and detection (BFD) session with the first virtual execution element; and 
 determining, by the computing device and based on the BFD session, that the first virtual execution element is unreachable; and 
 
       in response to determining that the first virtual execution element is unreachable, triggering, by the virtual router, route deletion for one or more routes to the first virtual execution element. 
     
     
       5. The method of  claim 1 , wherein the first virtual execution element comprises a Kubernetes pod executed by a virtual machine. 
     
     
       6. The method of  claim 5 , wherein the Kubernetes pod is configured to generate the ARP packet from the first virtual execution element in the virtual network. 
     
     
       7. The method of  claim 1 , wherein receiving the ARP packet from the first virtual execution element in the virtual network comprises snooping, by the virtual router, the ARP packet. 
     
     
       8. A computing device comprising:
 processing circuitry coupled to a memory device; and 
 a virtual router configured for execution by the processing circuitry to:
 receive one of:
 1) an Address Resolution Protocol (ARP) packet from a first virtual execution element in a virtual network, wherein the ARP packet from the first virtual execution element specifies, for the first virtual execution element, a first virtual Internet Protocol (IP) address and a first Media Access Control (MAC) address, or 
 2) a request to add routes associated with the first IP address and the first MAC address; and 
 
 based on determining (1) that the first virtual IP address matches a second virtual IP address for a second virtual execution element executing at the computing device and (2) that the first MAC address does not match a second MAC address for the second virtual execution element: trigger route deletion for one or more routes to the second virtual execution element. 
 
 
     
     
       9. The computing device of  claim 8 , further comprising a virtual router agent configured for execution by the processing circuitry to:
 store an association of the first virtual IP address for the first virtual execution element and the first MAC address for the first virtual execution element in one or more tables of the virtual network. 
 
     
     
       10. The computing device of  claim 8 , further comprising a virtual router agent configured for execution by the processing circuitry to:
 send ARP requests to the first virtual IP address for the first virtual execution element; 
 in response to not receiving ARP replies to a specified number of consecutive ARP requests sent to the first virtual IP address for the first virtual execution element, determine that the first virtual execution element is unreachable; and 
 in response to determining that the first virtual execution element is unreachable, trigger route deletion for one or more routes to the first virtual execution element. 
 
     
     
       11. The computing device of  claim 8 , further comprising a virtual router agent configured for execution by the processing circuitry to:
 establish a bidirectional forwarding and detection (BFD) session with the first virtual execution element; 
 determine, based on the BFD session, that the first virtual execution element is unreachable; and 
 in response to determining that the first virtual execution element is unreachable, trigger route deletion for one or more routes to the first virtual execution element. 
 
     
     
       12. The computing device of  claim 8 , wherein the first virtual execution element comprises a Kubernetes pod executed by a virtual machine. 
     
     
       13. The computing device of  claim 12 , wherein the Kubernetes pod is configured to generate the ARP packet from the first virtual execution element in the virtual network. 
     
     
       14. The computing device of  claim 8 , wherein to receive the ARP packet from the first virtual execution element in the virtual network, the virtual router is further configured for execution by the processing circuitry to snoop the ARP packet. 
     
     
       15. A non-transitory computer-readable medium comprising instructions for causing processing circuitry of a computing device to:
 receive, by a virtual router executing at the computing device, one of:
 1) an Address Resolution Protocol (ARP) packet from a first virtual execution element in a virtual network, wherein the ARP packet from the first virtual execution element specifies, for the first virtual execution element, a first virtual Internet Protocol (IP) address and a first Media Access Control (MAC) address, or 
 2) a request to add routes associated with the first virtual IP address and the first MAC address; and 
 
 based on determining (1) that the first virtual IP address matches a second virtual IP address for a second virtual execution element executing at the computing device and (2) that the first MAC address does not match a second MAC address for the second virtual execution element: trigger route deletion for one or more routes to the second virtual execution element. 
 
     
     
       16. The non-transitory computer-readable medium of  claim 15 , wherein the instructions further cause the processing circuitry to:
 store an association of the first virtual IP address for the first virtual execution element and the first MAC address for the first virtual execution element in the virtual router. 
 
     
     
       17. The non-transitory computer-readable medium of  claim 15 , wherein the instructions further cause the processing circuitry to:
 send ARP requests to the first virtual IP address for the first virtual execution element; 
 in response to not receiving ARP replies to a specified number of consecutive ARP requests sent to the first virtual IP address for the first virtual execution element, determine that the first virtual execution element is unreachable; and 
 in response to determining that the first virtual execution element is unreachable, trigger route deletion for one or more routes to the first virtual execution element. 
 
     
     
       18. The non-transitory computer-readable medium of  claim 15 , wherein the instructions further cause the processing circuitry to:
 establish a bidirectional forwarding and detection (BFD) session with the first virtual execution element; 
 determine, based on the BFD session, that the first virtual execution element is unreachable; and 
 in response to determining that the first virtual execution element is unreachable, trigger route deletion for one or more routes to the first virtual execution element. 
 
     
     
       19. The non-transitory computer-readable medium of  claim 15 , wherein the first virtual execution element comprises a Kubernetes pod executed by a virtual machine. 
     
     
       20. The non-transitory computer-readable medium of  claim 19 , wherein the Kubernetes pod is configured to generate the ARP packet from the first virtual execution element in the virtual network.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.