IP Library › Granted Patent US 12,407,719
Granted Patent B2
US 12,407,719 · App. 17/694,498 · Granted Sep 2, 2025

Infrastructure distributed denial of service protection

Inventors: Dvir Shapira (Sunnyvale, CA); Ehud Cohen (Kfar Saba, IL); Tomer Bronshtein (Ashdod, IL); Eyal Leshem (Jerusalem, IL); Alon Ludmer (Kfar Saba, IL)
Assignee: Imperva, Inc.
H04L63/1458H04L63/0236H04L63/029H04L63/10H04L63/1408H04L45/12H04L63/1441
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 12,407,719
App. No.
17/694,498
Granted
Sep 2, 2025
Kind
B2
Abstract

A method of providing infrastructure protection for a server of a network organization, the method including announcing, as an internet protocol (IP) address associated with a server of a plurality of servers, a first anycast IP address, the first anycast IP address being one of a plurality of anycast IP addresses that each serve as an anycast address for a scrubbing center network. Each of the plurality of anycast IP addresses is allocated to a respective server of the plurality of servers by the scrubbing center network. The scrubbing center network may receive an incoming network packet intended for the server, the incoming network packet identified using the first anycast IP address. The scrubbing center network may determine whether the incoming network packet is legitimate and if so, the incoming network packet may be routed to the server using a generic routing encapsulation (GRE) tunnel.

Claims (46)

1. A method comprising:

announcing, as an internet protocol (IP) address associated with a server of a plurality of servers, a first anycast IP address to represent the server, the first anycast IP address being one of a plurality of anycast IP addresses, the first anycast IP address as an anycast address for a plurality of scrubbing centers for a scrubbing center network, the first anycast IP address allocated specifically to the server, wherein each of the plurality of anycast IP addresses is allocated to a respective server of the plurality of servers by the scrubbing center network, and wherein an actual IP address of the server is maintained confidential between the scrubbing center network and the server;

receiving, at the scrubbing center network, an incoming network packet intended for the server, the incoming network packet identified using the first anycast IP address;

determining, by the scrubbing center network, whether the incoming network packet is legitimate;

in response to determining that the incoming network packet is legitimate, routing, by a processor, the incoming network packet to the server at the actual IP address of the server using a generic routing encapsulation (GRE) tunnel;

anycasting a second anycast IP address towards the server from each scrubbing center of the scrubbing center network simultaneously;

receiving, at a scrubbing center of the plurality of scrubbing centers, an encapsulated outgoing network packet from the server, wherein the encapsulated outgoing network packet is an outgoing network packet which has been encapsulated by the server with a header information comprising the second anycast IP address as a destination address;

decapsulating the outgoing network packet to generate a decapsulated outgoing network packet by removing the encapsulation added by the server that includes the header information, wherein the decapsulating is performed by a scrubbing center of the scrubbing center network that is nearest to the server; and

transmitting the decapsulated outgoing network packet to an end user,

wherein the decapsulating is performed by a scrubbing center of the plurality of scrubbing centers that is nearest to the server.

2. The method of claim 1 , wherein the GRE tunnel is defined by the first anycast IP address, the actual IP address of the server, and the second anycast IP address associated with the incoming network packet by the scrubbing center network.

3. The method of claim 2 , wherein routing the incoming network packet to the server comprises:

modifying a header of the incoming network packet to indicate the second anycast IP address as a source IP address of the incoming network packet, the second anycast IP address being one of a second plurality of anycast IP addresses that each serve as an anycast address for the scrubbing center network.

4. The method of claim 1 , wherein a mapping of the first anycast IP address to the actual IP address is maintained between the scrubbing center network and the server.

5. The method of claim 1 , wherein the first anycast IP address is announced by the scrubbing center of the plurality of scrubbing centers nearest to an end user.

6. A system comprising

a memory; and

a processor operatively coupled to the memory, the processor to:

announce, as an internet protocol (IP) address associated with a server of a plurality of servers, a first anycast IP address to represent the server, the first anycast IP address being one of a plurality of anycast IP addresses, the first anycast address serves as an anycast address for a plurality of scrubbing centers for a scrubbing center network, the first anycast IP address allocated specifically to the server, wherein each of the plurality of anycast IP addresses is allocated to a respective server of the plurality of servers by the scrubbing center network, and wherein an actual IP address of the server is maintained confidential between the scrubbing center network and the server;

receive, at the scrubbing center network, an incoming network packet intended for the server, the incoming network packet identified using the first anycast IP address;

determine, by the scrubbing center network, whether the incoming network packet is legitimate;

in response to determining that the incoming network packet is legitimate, route the incoming network packet to the server at the actual IP address of the server using a generic routing encapsulation (GRE) tunnel;

anycast a second anycast IP address towards the server from each scrubbing center of the scrubbing center network simultaneously;

receive, at a scrubbing center of the plurality of scrubbing centers, an encapsulated outgoing network packet from the server, wherein the encapsulated outgoing network packet is an outgoing network packet which has been encapsulated by the server with header information comprising the second anycast IP address as a destination address;

decapsulate the outgoing network packet to generate a decapsulated outgoing network packet by removing the encapsulation added by the server that includes the header information, wherein the decapsulating is performed by a scrubbing center of the scrubbing center network that is nearest to the server; and

transmit the decapsulated outgoing network packet to an end user,

wherein the decapsulating is performed by a scrubbing center of the plurality of scrubbing centers that is nearest to the server.

7. The system of claim 6 , wherein the GRE tunnel is defined by the first anycast IP address, the actual IP address of the server, and the second anycast IP address associated with the incoming network packet by the scrubbing center network.

8. The system of claim 7 , wherein to route the incoming network packet to the server, the processor is to:

modify a header of the incoming network packet to indicate the second anycast IP address as a source IP address of the incoming network packet, the second anycast IP address being one of a second plurality of anycast IP addresses that each serve as an anycast address for the scrubbing center network.

9. The system of claim 6 , wherein a mapping of the first anycast IP address to the actual IP address is maintained between the scrubbing center network and the server.

10. The system of claim 6 , wherein the first anycast IP address is announced by a scrubbing center of the plurality of scrubbing centers nearest to an end user.

11. A non-transitory computer-readable medium having instructions stored thereon which, when executed by a processor, cause the processor to:

announce, as an internet protocol (IP) address associated with a server of a plurality of servers, a first anycast IP address to represent the server, the first anycast IP address being one of a plurality of anycast IP addresses, the first anycast address serves as an anycast address for a plurality of scrubbing centers for a scrubbing center network, the first anycast IP address allocated specifically to the server, wherein each of the plurality of anycast IP addresses is allocated to a respective server of the plurality of servers by the scrubbing center network, and wherein an actual IP address of the server is maintained confidential between the scrubbing center network and the server;

receive, at the scrubbing center network, an incoming network packet intended for the server, the incoming network packet identified using the first anycast IP address;

determine, by the scrubbing center network, whether the incoming network packet is legitimate;

in response to determining that the incoming network packet is legitimate, route the incoming network packet to the server at the actual IP address of the server using a generic routing encapsulation (GRE) tunnel;

anycast a second anycast IP address towards the server from each scrubbing center of the scrubbing center network simultaneously;

receive, at a scrubbing center of the plurality of scrubbing centers, an encapsulated outgoing network packet from the server, wherein the encapsulated outgoing network packet is an outgoing network packet which has been encapsulated by the server with header information comprising the second anycast IP address as a destination address;

decapsulate the outgoing network packet to generate a decapsulated outgoing network packet by removing the encapsulation added by the server that includes the header information, wherein the decapsulating is performed by a scrubbing center of the scrubbing center network that is nearest to the server; and

transmit the decapsulated outgoing network packet to an end user,

wherein the decapsulating is performed by a scrubbing center of the plurality of scrubbing centers that is nearest to the server.

12. The non-transitory computer-readable medium of claim 11 , wherein the GRE tunnel is defined by the first anycast IP address, the actual IP address of the server, and the second anycast IP address associated with the incoming network packet by the scrubbing center network.

13. The non-transitory computer-readable medium of claim 12 , wherein to route the incoming network packet to the server, the processor is to:

modify a header of the incoming network packet to indicate the second anycast IP address as a source IP address of the incoming network packet, the second anycast IP address being one of a second plurality of anycast IP addresses that each serve as an anycast address for the scrubbing center network.

14. The non-transitory computer-readable medium of claim 11 , wherein a mapping of the first anycast IP address to the actual IP address is maintained between the scrubbing center network and the server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2022
From: SHAPIRA, DVIR; COHEN, EHUD; BRONSHTEIN, TOMER; LESHEM, EYAL; LUDMER, ALON
To: IMPERVA, INC.
Reel/Frame 059260/0937 →
Continuity (5)
Continuation 16839666 · Apr 3, 2020
Continuation 16749883 · Jan 22, 2020
Continuation 15628620 · Jun 20, 2017
Provisional Application 62353021 · Jun 21, 2016
Related Publication 20220201033A1 · Jun 23, 2022
References Cited (5)
US 9363102B1 · Brandwine · 2016 [cited by examiner]
US 9407539B1 · Dickinson · 2016 [cited by examiner]
US 20150156035A1 · Foo · 2015 [cited by examiner]
US 20150222528A1 · Lotfi · 2015 [cited by examiner]
US 20160241590A1 · Smith · 2016 [cited by examiner]