IP Library › Granted Patent US 10,666,771
Granted Patent B2
US 10,666,771 · App. 15/180,287 · Granted May 26, 2020

Method and system for allowing the use of domain name based network policies stored in a second device in enforcing network policy at a first device

Inventors: Ho Ming Chan (Hong Kong, HK); Sze Hon Chan (Hong Kong, HK); Alex Wing Hong Chan (Hong Kong, HK); Kit Wai Chau (Hong Kong, HK)
Assignee: PISMO LABS TECHNOLOGY LIMITED
H04L69/03H04L45/20H04L45/74H04L45/742H04L61/1511H04L43/028
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,666,771
App. No.
15/180,287
Granted
May 26, 2020
Kind
B2
Abstract

A method and a system for creating Internet Protocol address based network policies (IPPs) by using domain name based network policies (DNNTPs) is disclosed. The DNNTPs are stored in a second device, and are used for enforcing IPPs at a first device. The first device retrieves one or more DNNTPs from the second device and monitors network traffic for Domain Name System (DNS) look-up reply. When a network device receives a record Domain Name System look-up reply, the network device identifies one or more Internet Protocol addresses of one or more host names specified in the address record Domain Name System look-up reply, then determine whether the one or more host names contain a domain name used in one or more DNNTPs and create one or more IPPs.

Claims (80)

1. A method for creating Internet Protocol address based network policy (IPP) at a network device, comprising the steps of:

a. retrieving one or more domain name-based network policies (DNNTPs) stored at a server; wherein the DNNTPs contain one or more domain names of traffic destination and parameters selected from a group consisting of address of source traffic, protocol and algorithm; wherein the DNNTPs are used by the network device to regulate routing;

b. monitoring network traffic for an address record Domain Name System (DNS) look-up reply corresponding to the one or more domain names of traffic destination;

c. identifying one or more host names and corresponding one or more IP addresses in the address record DNS look-up reply;

d. creating one or more IPPs corresponding to the DNNTPS when any of the one or more host names contain one of the domain names used in the one or more DNNTPs;

e. storing the one or more IPPs; wherein the IPP contains parameters selected from a group consisting of the address of source traffic, one or more IP addresses of traffic destination, protocol, and algorithm;

f. enforcing the one or more IPPs on routing network traffic based on Internet Protocol (IP) address of the network traffic;

g. when more than one IPP is created for a first IP address, enforcing an IPP with higher priority on network traffic with the first IP address; and

h. removing the one or more IPPs from storage after a predetermined period of time;

wherein the predetermined period of time is based on a time to live (TTL) associated with the address record DNS look-up reply;

wherein an IP address, the IP address range, or the Ethernet address is the address of source traffic;

wherein a transmission control protocol or user datagram protocol and port numbers serve as protocols;

wherein a classification of weight balance, least used, lowest latency or priority make up the algorithm; and

wherein the one or more IP address-based network policies change when the domain name of a DNNTP is changed respectively.

2. The method of claim 1 , further comprising:

i. removing the one or more IPP when the TTL of the one or more IPP is about to expire; and

wherein the TTL is based on the address record DNS look-up reply.

3. The method of claim 2 , further comprising:

j. updating the TTL for the removal the IP address according to the network-based policies; and

k. not storing the one or more IPP if it is determined that the one or more IPP identical to an IPP already exists in the storage.

4. The method of claim 1 , further comprising:

i. identifying one or more host names and corresponding one or more IP addresses in the address record DNS look-up reply; and

j. verifying if any of the one or more host names contain one of the domain names used in one or more DNNTPs.

5. The method of claim 1 , wherein a domain name used in a DNNTP contains, one or more wildcards or no wildcards;

wherein the address record DNS look-up reply contains a host name;

wherein the host name must be identical to a domain name specified before one or more corresponding IPPs are created when there is no wildcard; and

wherein the host name satisfies wildcard criteria before one or more corresponding IPPs are created when there are one or more wildcards.

6. The method of claim 1 , further comprising the steps of:

i. forwarding an address record DNS look-up request received; and

j. forwarding the address record DNS look-up reply received.

7. The method of claim 6 , further comprising the steps of:

k. forwarding a non-address record DNS look-up request received; and

l. forwarding a non-address record DNS look-up reply received.

8. The method of claim 7 , further comprising the step of:

m. determining whether the non-address record comprises a domain name used in one or more DNNTPs; and

wherein the non-address record is canonical name record, a mail exchange record, a name server record, a service locator or a text record.

9. The method of claim 8 , further comprising the step of

n. determining whether a domain name used in one or more domain name-based network policies contains one or more host names while creating one or more IP addresses based on network policies.

10. The method of claim 1 wherein the one or more IPPs are stored at a server.

11. A system for creating Internet Protocol address based network policy (IPP) at a network device, comprising:

one or more network interfaces;

one or more processing units;

one or more storage units storing program instructions and one or more domain name-based network policies (DNNTPs), wherein the program instructions are configured to cause, when execute by the one or more processing units, the one or more processing units to perform:

a. retrieving one or more domain name-based network policies (DNNTPs) stored at a server; wherein the DNNTPs contain one or more domain names of traffic destination and parameters selected from a group consisting of address of source traffic, protocol and algorithm; wherein the DNNTPs are used by the network device to regulate routing;

b. monitoring network traffic for an address record Domain Name System (DNS) look-up reply corresponding to the one or more domain names of traffic destination;

c. identifying one or more host names and corresponding one or more IP addresses in the address record DNS look-up reply;

d. creating one or more IPPs corresponding to the DNNTPS when any of the one or more host names contain one of the domain names used in the one or more DNNTPs;

e. storing the one or more IPPs; wherein the IPP contains parameters selected from a group consisting of the address of source traffic, one or more IP addresses of traffic destination, protocol, and algorithm;

f. enforcing the one or more IPPs on routing network traffic based on Internet Protocol (IP) address of the network traffic;

g. when more than one IPP is created for a first IP address, enforcing an IPP with higher priority on network traffic with the first IP address;

h. removing the one or more IPPs from storage after a predetermined period of time; wherein the predetermined period of time is based on a time to live (TTL) associated with the address record DNS look-up reply;

wherein an IP address, the IP address range, or the Ethernet address is the address of source traffic;

wherein a transmission control protocol or user datagram protocol and port numbers serve as protocols;

wherein a classification of weight balance, least used, lowest latency, or priority make up the algorithm; and

wherein the one or more IP address-based network policies change when the domain name of a DNNTP is changed respectively.

12. The system of claim 11 , wherein the program instructions are configured to cause, when executed by the one or more processing units, the one or more processing units to perform:

i. removing the one or more IPP when the TTL of the one or more IPP is about to expire; and

wherein the TTL is based on the address record DNS look-up reply.

13. The system of claim 12 , wherein the program instructions are configured to cause, when executed by the one or more processing units, the one or more processing units to perform:

j. updating the TTL for the removal the IP address according to the network-based policies; and

k. not storing the one or more IPP if it is determined that the one or more IPP identical to an IPP already exists in the one or more storage units.

14. The system of claim 11 , wherein the program instructions are configured to cause, when executed by the one or more processing units, the one or more processing units to perform:

i. identifying one or more host names and corresponding one or more IP addresses in the address record DNS look-up reply; and

j. verifying if any of the one or more host names contain one of the domain names used in one or more DNNTPs.

15. The system of claim 11 , wherein the one or more storage units store domain name used in a DNNTP containing one or more wildcards or no wildcards;

wherein the address record DNS look-up reply contains a host name;

wherein the host name must be identical to a domain name specified before one or more corresponding IPPs are created when there is no wildcard; and

wherein the host name must satisfy wildcard criteria before one or more corresponding IPPs are created when there are one or more wildcards.

16. The system of for claim 11 , wherein the program instructions are configured to cause, when executed by the one or more processing units, the one or more processing units to perform:

i. forwarding an address record DNS look-up request received; and

j. forwarding the address record DNS look-up reply received.

17. The system of claim 11 , wherein the program instructions are configured to cause, when executed by the one or more processing units, the one or more processing units to perform:

i. forwarding a non-address record DNS look-up request received; and

j. forwarding a non-address record DNS look-up reply received.

18. The system of claim 17 , wherein the proram instructions are configured to cause, when executed by the one or more processing units, the one or more processing units to perform:

k. determining whether the non-address record comprises a domain name used in one or more domain name-based network policies; and

wherein the non-address record is a canonical name record, a mail exchange record, a name server record, a service locator, or a text record.

19. The system of claim 11 , wherein the program instructions are configured to cause, when executed by the one or more processing units, the one or more processing units to peform:

i. determining whether a domain name used in one or more DNNTPs contains one or more host names while creating one or more IP addresses based on network policies.

20. The system of claim 11 , wherein the one or more IPPs are stored at a server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2016
From: CHAN, HO MING; CHAN, SZE HON; CHAN, ALEX WING HONG; CHAU, KIT WAI
To: PISMO LABS TECHNOLOGY LIMITED
Reel/Frame 040144/0912 →
Continuity (2)
Continuation 13881726 · Aug 5, 2013
Related Publication 20170359447A1 · Dec 14, 2017