# US 10,313,241 B2 · Systems and methods for routing internet packets between enterprise network sites

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

- Number: US 10,313,241 B2
- Document ID: US10313241B2
- Status: Granted
- Kind: B2
- Application number: 15/083,003
- Filed: 2016-03-28
- Published: 2017-09-28
- Granted: 2019-06-04
- Earliest claimed: 2016-03-28
- Assignees: Cox Communications, Inc.
- Applicants: Cox Communications, Inc.
- Inventors: Joel Bethers; Michael Eggert
- Web page: https://patentgrep.com/patent/US10313241B2

## CPC

- H04L 45/748: using longest matching prefix
- H04L 45/026: {Details of "hello" or keep-alive messages}
- H04L 45/04: {Interdomain routing, e.g. hierarchical routing}
- H04L 63/0272: {Virtual private networks}
- H04L 63/0245: {Filtering by information in the payload}
- H04L 63/0254: {Stateful filtering}
- H04L 63/0263: {Rule management}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

This disclosure describes methods, devices, and systems related to routing packets over enterprise network sites. A method may be disclosed for routing packets between hosts at a first site and hosts at a second site in a network using a firewall. The method may comprise receiving a request, in a first packet, from a first router to send one or more packets to two or more hosts at the second site. The method may comprise receiving a first sub-network prefix, in a route advertisement, corresponding to two or more hosts at the first site from the first router, and receiving a first community value, in a first advertisement, associated with the first sub-network prefix. The method may comprise generating a first local preference value based at least in part on the first community value. And the method may comprise sending the request, first sub-network prefix, and first local preference value to a second router, in a second advertisement.

## Claims

### Claim 1

A firewall comprising:
at least one memory for storing computer-executable instructions; and
at least one processor configured to access the at least one memory, wherein the at least one processor is configured to execute the computer-executable instructions to:
receive a request, in a first packet, from a first router to send at least one packet to two or more hosts at a second site,
receive, from the first router, a first sub-network prefix, in a route advertisement, corresponding to the two or more hosts at a first site, and
receive a first community value, in a first advertisement, associated with the first sub-network prefix;
determine a first local preference value based at least in part on the first community value;
send the request, first sub-network prefix, and first local preference value to a second router, in a second advertisement;
receive a second community value from the second router, in a third advertisement, associated with a second sub-network prefix;
generate a second local preference value based at least in part on the second community value and the first local preference value; and
send the second local preference value to the first router in a fourth advertisement.

### Claim 2 (depends on 1)

The firewall of claim 1, wherein the at least one processor is further configured to execute the computer-executable instructions to determine a route to the two or more hosts at the first site using the first sub-network prefix.

### Claim 3 (depends on 1)

The firewall of claim 1, wherein the request from the first router is a request received from the two or more hosts, on a first network, connected to the first router.

### Claim 4 (depends on 1)

The firewall of claim 1, wherein the request received from the first router comprises a second request received by the first router from the two or more hosts at a third site assigned to the first network requesting a route to the two or more hosts at the second site.

### Claim 5 (depends on 1)

The firewall of claim 1, wherein the at least one processor is further configured to execute the computer-executable instructions to:
receive a second sub-network prefix, in a second route advertisement, from the second router, wherein the second router is associated with the two or more hosts at the second site, and
wherein the second sub-network prefix provides a route to the two or more hosts at the second site.

### Claim 6 (depends on 5)

The firewall of claim 5, wherein the at least one processor is further configured to execute the computer-executable instructions to:
send the second sub-network prefix to the first router, in a third route advertisement, in response to the request from the first router, wherein the second sub-network prefix provides a route to the hosts at the second site from the first router.

### Claim 7

A non-transitory computer-readable medium storing computer-executable instructions stored therein, which when executed by at least one processor of a firewall, cause the at least one processor to perform the operation of:
receiving a request, in a first packet, from a first router to send one or more packets to two or more hosts at the second site,
receiving a first sub-network prefix, in a route advertisement, corresponding to two or more hosts at the first site from the first router, and
receiving a first community value, in a first advertisement, associated with the first sub-network prefix;
generating a first local preference value based at least in part on the first community value;
sending the request, first sub-network prefix, and first local preference value to a second router, in a second advertisement;
receiving a second community value from the second router associated with the second sub-network prefix in a third advertisement;
generating a second local preference value based at least in part on the second community value and the first local preference value; and
sending the second local preference value to the first router in a fourth advertisement.

### Claim 8 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein the computer-executable instructions further cause the at least one processor to perform the operations of:
receiving a second sub-network prefix, in a second route advertisement, from the second router, wherein the second router is associated with the two or more hosts at the second site, and
wherein the second sub-network prefix provides a route to the two or more hosts at the second site; and
sending the second sub-network prefix to the first router.

### Claim 9 (depends on 8)

The non-transitory computer-readable medium of claim 8, wherein the computer-executable instructions further cause the at least one processor to perform the operations of:
sending the second sub-network prefix to the first router, in a fifth route advertisement, wherein the second sub-network prefix provides a route to the two or more hosts at the second site from the first router.

### Claim 10 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein the first sub-network prefix provides a route to the two or more hosts at the first site.

### Claim 11 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein the first and second local preference values are numerical values.

### Claim 12 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein the request from the first router is a request received from two or more hosts, on the first network, connected to the first router.

### Claim 13 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein the request received from the first router comprises a second request received by the first router from hosts at a third site assigned to the first network requesting a route to the two or more hosts at the second site.

### Claim 14

A method of routing packets between hosts at a first site and hosts at a second site in a network using a firewall, the method comprising:
receiving a request, in a first packet, from a first router to send one or more packets to two or more hosts at the second site,
receiving a first sub-network prefix, in a route advertisement, corresponding to two or more hosts at the first site from the first router, and
receiving a first community value, in a first advertisement, associated with the first sub-network prefix;
generating a first local preference value based at least in part on the first community value;
sending the request, first sub-network prefix, and first local preference value to a second router, in a second advertisement;
receiving a second community value from the second router associated with the second sub-network prefix in a third advertisement;
generating a second local preference value based at least in part on the second community value and the first local preference value; and
sending the second local preference value to the first router in a fourth advertisement.

### Claim 15 (depends on 14)

The method of claim 14, further comprising:
receiving a second sub-network prefix, in a second route advertisement, from the second router, wherein the second router is associated with the two or more hosts at the second site, and
wherein the second sub-network prefix provides a route to the two or more hosts at the second site; and
sending the second sub-network prefix to the first router.

### Claim 16 (depends on 14)

The method of claim 14, further comprising:
sending the second sub-network prefix to the first router, in a fifth route advertisement, wherein the second sub-network prefix provides a route to the two or more hosts at the second site from the first router.

### Claim 17 (depends on 14)

The method of claim 14, wherein the request from the first router is a request received from two or more hosts, on the first network, connected to the first router.

### Claim 18 (depends on 14)

The method of claim 14, the request received from the first router comprises a second request received by the first router from two or more hosts at a third site assigned to the first network requesting a route to the two or more hosts at the second site.
