IP Library › Granted Patent US 10,171,559
Granted Patent B2
US 10,171,559 · App. 14/549,915 · Granted Jan 1, 2019

VxLAN security implemented using VxLAN membership information at VTEPs

Inventors: Feng Cai (Shanghai, CN); Yuxiang Chen (Shanghai, CN); Danmu Wu (Shanghai, CN); Zhiyong Fang (Shanghai, CN)
Assignee: Cisco Technology, Inc.
H04L67/10H04L12/4633
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,171,559
App. No.
14/549,915
Granted
Jan 1, 2019
Kind
B2
Abstract

A network device stores a Virtual Extensible Local Area Network (VxLAN) Tunnel Endpoint (VTEP) membership information that associates VxLANs each with a corresponding set of VTEPs authorized to originate VxLAN packets on that VxLAN. The network device receives from a communication network a VxLAN packet that identifies a VxLAN and an originating VTEP. The VTEP compares the originating VTEP to the set of VTEPs associated with the VxLAN in the VTEP membership information that matches the identified VxLAN. If the comparison indicates that the originating VTEP is not included in the set of VTEPs authorized to originate VxLAN packets, the VTEP discards the received VxLAN packet. Otherwise the VTEP further processes the VxLAN packet.

Claims (51)

1. A method comprising:

at a network device configured as a Virtual Extensible Local Area Network (VxLAN) Tunnel Endpoint (VTEP):

storing VTEP membership information that associates VxLANs each with a corresponding set of VTEPs authorized to originate VxLAN packets on that VxLAN, the VTEP membership information including a VxLAN identifier (VNI) of each VxLAN and an Internet Protocol (IP) address representing a respective source IP address of each VTEP in the corresponding set of VTEPs corresponding to that VNI and that are authorized to originate VxLAN packets;

receiving from a communication network a VxLAN packet that includes an original Ethernet frame encapsulated in a VxLAN encapsulation, the VxLAN encapsulation including a VNI that identifies a VxLAN associated with the VxLAN packet, an outer User Datagram Protocol (UDP) header, an outer IP header including a source IP address of an originating VTEP and a destination IP address, and an optional outer IEEE 802.1Q field;

comparing the source IP address of the originating VTEP to the IP addresses of the set of VTEPs associated with the VNI of the VxLAN in the VTEP membership information that matches the VNI of the VxLAN identified by the VxLAN encapsulation of the received VxLAN packet;

if the comparing indicates that the source IP address of the originating VTEP is not included in the IP addresses of the set of VTEPs authorized to originate VxLAN packets, discarding the received VxLAN packet and blocking flooding of network frames to local endpoint systems on a local area network connected to the VTEP, wherein the discarding results in discarding the VxLAN packet when the VxLAN packet is a malicious VxLAN packet in which the IP source address and the VNI do not match the IP addresses and the corresponding VNIs of the membership information, respectively; and

if the comparing indicates that the source IP address of the originating VTEP is included in the IP addresses of the set of VTEPs authorized to originate VxLAN packets, decapsulating the VxLAN packet to recover the original Ethernet frame, and forwarding the recovered original Ethernet frame to a destination Media Access Control (MAC) address specified therein.

2. The method of claim 1 , further comprising, at the VTEP, creating the VTEP membership information, the creating including:

accessing VNIs for VxLANs configured on the VTEP;

discovering, over the communication network, other VTEPs authorized to operate on each of the accessed VNIs; and

creating the VTEPs membership information based on the other VTEPs discovered for each of the accessed VNIs.

3. The method of claim 2 , wherein the discovering includes, at the VTEP:

sending multicast messages each to a corresponding one of multiple VNI multicast groups configured on the VTEP, each multicast message including an IP address of the VTEP; and

responsive to the sent multicast messages, receiving response messages from the other VTEPs authorized to operate on the VNIs included in the multicast messages.

4. The method of claim 2 , wherein the discovering includes, at the VTEP: using Border Gateway Protocol (BGP) auto discovery to discover the other VTEPs.

5. The method of claim 2 , wherein the discovering includes, at the VTEP: using Map Server (MS)/Map Resolver (MR) techniques to discover the other VTEPs.

6. The method of claim 1 , wherein the storing includes storing the membership information in a table, a list, or a tree structure.

7. An apparatus comprising:

network ports to send/receive data packets to/from a communication network; and

a processor coupled to the network ports, and configured to:

store Virtual Extensible Local Area Network (VxLAN) Tunnel Endpoint (VTEP) membership information that associates VxLANs each with a corresponding set of VTEPs authorized to originate VxLAN packets on that VxLAN, the VTEP membership information including a VxLAN identifier (VNI) of each VxLAN and an Internet Protocol (IP) address representing a respective source IP address of each VTEP in the corresponding set of VTEPs corresponding to that VNI and that are authorized to originate VxLAN packets;

receive from a communication network a VxLAN packet that includes an original Ethernet frame encapsulated in a VxLAN encapsulation, the VxLAN encapsulation including a VNI that identifies a VxLAN associated with the VxLAN packet, an outer User Datagram Protocol (UDP) header, an outer IP header including a source IP address of an originating VTEP and a destination IP address, and an optional outer IEEE 802.1Q field;

compare the source IP address of the originating VTEP to the IP addresses of the set of VTEPs associated with the VNI of the VxLAN in the VTEP membership information that matches the VNI of the VxLAN identified by the VxLAN encapsulation of the received VxLAN packet;

if the compare indicates that the source IP address of the originating VTEP is not included in the IP addresses of the set of VTEPs authorized to originate VxLAN packets, discard the received VxLAN packet and block flooding of network frames to local endpoint systems on a local area network connected to the VTEP, wherein the discard results in discarding the VxLAN packet when the VxLAN packet is a malicious VxLAN packet in which the IP source address and the VNI do not match the IP addresses and the corresponding VNIs of the membership information, respectively; and

if the compare indicates that the source IP address of the originating VTEP is included in the IP addresses of the set of VTEPs authorized to originate VxLAN packets, decapsulate the VxLAN packet to recover the original Ethernet frame, and forward the recovered original Ethernet frame to a destination Media Access Control (MAC) address specified therein.

8. The apparatus of claim 7 , wherein the processor further creates the VTEP membership information by:

accessing VNIs for VxLANs configured on the VTEP;

discovering, over the communication network, other VTEPs authorized to operate on each of the accessed VNIs; and

creating the VTEPs membership information based on the other VTEPs discovered for each of the accessed VNIs.

9. The apparatus of claim 8 , wherein the processor is configured to discover by, at the VTEP:

sending multicast messages each to a corresponding one of multiple VNI multicast groups configured on the VTEP, each multicast message including an IP address of the VTEP; and

responsive to the sent multicast messages, receiving response messages from the other VTEPs authorized to operate on the VNIs included in the multicast messages.

10. The apparatus of claim 8 , wherein the processor is configured to discover by, at the VTEP: using Border Gateway Protocol (BGP) auto discovery to discover the other VTEPs.

11. The apparatus of claim 8 , wherein the processor is configured to discover by, at the VTEP: using Map Server (MS)/Map Resolver (MR) techniques to discover the other VTEPs.

12. The apparatus of claim 7 , wherein the processor is configured to store by storing the membership information in a table, a list, or a tree structure.

13. A non-transitory computer readable storage media encoded with instructions that, when executed by a processor of a network device configured as a Virtual Extensible Local Area Network (VxLAN) Tunnel Endpoint (VTEP), cause the processor to:

store VxLAN VTEP membership information that associates VxLANs each with a corresponding set of VTEPs authorized to originate VxLAN packets on that VxLAN, the VTEP membership information including a VxLAN identifier (VNI) of each VxLAN and an Internet Protocol (IP) address representing a respective source IP address of each VTEP in the corresponding set of VTEPs corresponding to that VNI and that are authorized to originate VxLAN packets;

receive from a communication network a VxLAN packet that includes an original Ethernet frame encapsulated in a VxLAN encapsulation, the VxLAN encapsulation including a VNI that identifies a VxLAN associated with the VxLAN packet, an outer User Datagram Protocol (UDP) header, an outer IP header including a source IP address of an originating VTEP and a destination IP address, and an optional outer IEEE 802.1Q field;

compare the source IP address of the originating VTEP to the IP addresses of the set of VTEPs associated with the VNI of the VxLAN in the VTEP membership information that matches the VNI of the VxLAN identified by the VxLAN encapsulation of the received VxLAN packet;

if the compare indicates that the source IP address of the originating VTEP is not included in the IP addresses of the set of VTEPs authorized to originate VxLAN packets, discard the received VxLAN packet and block flooding of network frames to local endpoint systems on a local area network connected to the VTEP, wherein the discard results in discarding the VxLAN packet when the VxLAN packet is a malicious VxLAN packet in which the IP source address and the VNI do not match the IP addresses and the corresponding VNIs of the membership information, respectively; and

if the compare indicates that the source IP address of the originating VTEP is included in the IP addresses of the set of VTEPs authorized to originate VxLAN packets, decapsulate the VxLAN packet to recover the original Ethernet frame, and forward the recovered original Ethernet frame to a destination Media Access Control (MAC) address specified therein.

14. The non-transitory computer readable storage media of claim 13 , further comprising instructions to cause the processor to create the VTEP membership information by:

accessing VNIs for VxLANs configured on the VTEP;

discovering, over the communication network, other VTEPs authorized to operate on each of the accessed VNIs; and

creating the VTEPs membership information based on the other VTEPs discovered for each of the accessed VNIs.

15. The non-transitory computer readable storage media of claim 14 , wherein the instructions to cause the processor to perform the discovering include instructions to cause the processor to perform, at the VTEP:

sending multicast messages each to a corresponding one of multiple VNI multicast groups configured on the VTEP, each multicast message including an IP address of the VTEP; and

responsive to the sent multicast messages, receiving response messages from the other VTEPs authorized to operate on the VNIs included in the multicast messages.

16. The non-transitory computer readable storage media of claim 14 , wherein the instructions to cause the processor to perform the discovering include instructions to cause the processor to perform, at the VTEP: using Border Gateway Protocol (BGP) auto discovery to discover the other VTEPs.

17. The non-transitory computer readable storage media of claim 14 , wherein the instructions to cause the processor to perform the discovering include instructions to cause the processor to perform, at the VTEP: using Map Server (MS)/Map Resolver (MR) techniques to discover the other VTEPs.

18. The non-transitory computer readable storage media of claim 13 , wherein the instructions to cause the processor to store include instructions to cause the processor to store the membership information in a table, a list, or a tree structure.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2014
From: CAI, FENG; CHEN, YUXIANG; WU, DANMU; FANG, ZHIYONG
To: CISCO TECHNOLOGY, INC.
Reel/Frame 034229/0964 →
Continuity (1)
Related Publication 20160149808A1 · May 26, 2016