Aggregating data sessions between autonomous systems
First Claim
1. A method comprising:
- receiving, by an autonomous system boundary router (ASBR) of a first autonomous system (AS) communicatively coupled to a second AS via a Transmission Control Protocol (TCP) gateway connection, a plurality of TCP data segments from a plurality of TCP connections coupling network devices of the first AS and network devices of the second AS;
adding, by the ASBR, a connection identifier to each of the plurality of TCP data segments, wherein the connection identifier is associated with connection flow information of at least one of the plurality of TCP connections;
appending, by the ASBR, the plurality of TCP data segments and their connection identifiers to form an appended TCP data segment, wherein appending the plurality of TCP data segments comprises;
adding, by the ASBR, TCP gateway connection sequence numbers to each of the plurality of TCP data segments, andmaintaining, by the ASBR and based on the TCP gateway connection sequence numbers, a sequence number list of TCP data segments to be acknowledged; and
transmitting, by the ASBR and via the TCP gateway connection, the appended TCP data segment to another ASBR of the second AS.
1 Assignment
0 Petitions
Accused Products
Abstract
The techniques include communicating a plurality of TCP data segments from different TCP connections as a single TCP data segment via a TCP gateway connection. For example, network host devices of autonomous systems may ordinarily transfer TCP data segments across dedicated TCP connections. An Autonomous System Boundary Router (ASBR) on one end of the TCP gateway connection may intercept TCP data segments from different TCP connections and may append the TCP data segments as a single appended TCP data segment and communicated via the TCP gateway connection. An ASBR on the other end of the TCP gateway connection may separate TCP data segments from the appended TCP data segment and determine, based on connection flow information, the TCP connections associated with each of the separated TCP data segments. The ASBR may then forward the separated TCP data segments to their original destinations.
29 Citations
22 Claims
-
1. A method comprising:
-
receiving, by an autonomous system boundary router (ASBR) of a first autonomous system (AS) communicatively coupled to a second AS via a Transmission Control Protocol (TCP) gateway connection, a plurality of TCP data segments from a plurality of TCP connections coupling network devices of the first AS and network devices of the second AS; adding, by the ASBR, a connection identifier to each of the plurality of TCP data segments, wherein the connection identifier is associated with connection flow information of at least one of the plurality of TCP connections; appending, by the ASBR, the plurality of TCP data segments and their connection identifiers to form an appended TCP data segment, wherein appending the plurality of TCP data segments comprises; adding, by the ASBR, TCP gateway connection sequence numbers to each of the plurality of TCP data segments, and maintaining, by the ASBR and based on the TCP gateway connection sequence numbers, a sequence number list of TCP data segments to be acknowledged; and transmitting, by the ASBR and via the TCP gateway connection, the appended TCP data segment to another ASBR of the second AS. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method comprising:
-
receiving, by an autonomous system border router (ASBR) and via a Transmission Control Protocol (TCP) gateway connection, an appended TCP data segment, wherein the appended TCP data segment comprises a plurality of TCP data segments from a plurality of TCP connections coupling network devices of a first autonomous system (AS) and network devices of a second AS, wherein the appended TCP data segment includes TCP gateway connection sequence numbers to each of the plurality of TCP data segments for which to be acknowledged; determining, by the ASBR, a connection identifier of each of the plurality of TCP data segments, wherein the connection identifier is associated with connection flow information of at least one of the plurality of TCP connections; separating, by the ASBR and based on the connection flow information, the appended TCP data segment into separate TCP data segments; adding, by the ASBR and based on the connection flow information, a respective TCP header to each of the separate TCP data segments for associating the separate TCP data segments to the plurality of TCP connections; and transmitting the separate TCP data segments with their respective TCP headers to the plurality of TCP connections. - View Dependent Claims (9, 10, 11)
-
-
12. An autonomous system boundary router (ASBR) device of a first autonomous system (AS) connected to a second AS via a Transmission Control Protocol (TCP) gateway connection, the ASBR device comprising:
-
a memory configured to store connection flow information of at least one of a plurality of TCP connections; and a kernel executed by one or more processing units implemented using digital logic circuitry, the kernel configured to; obtain a plurality of TCP data segments from the plurality of TCP connections coupling network devices of the first AS and network devices of the second AS; adding a connection identifier to each of the plurality of TCP data segments, wherein the connection identifier is associated with the connection flow information of at least one of the plurality of TCP connections; append the plurality of TCP data segments and their connection identifiers to form an appended TCP data segment, wherein to append the plurality of TCP data segments, the kernel is further configured to; add a TCP gateway connection sequence number to each of the plurality of TCP data segments, and maintain a sequence number list of TCP data segments to be acknowledged based on the TCP gateway connection sequence numbers; and transmit the appended TCP data segment to another ASBR of the second AS via the TCP gateway connection. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. An autonomous system boundary router (ASBR) device of a first autonomous system (AS) coupled to a second AS via a Transmission Control Protocol (TCP) gateway connection, the ASBR device comprising:
-
a memory configured to store connection flow information associated with at least one of a plurality of TCP connections; and a kernel operable by one or more processing units, the kernel configured to; receive an appended TCP data segment, wherein the appended TCP data segment comprises a plurality of TCP data segments originating from the plurality of TCP connections coupling network devices of a first autonomous system (AS) and network devices of a second AS, wherein the appended TCP data segment includes TCP gateway connection sequence numbers to each of the plurality of TCP data segments for which to be acknowledged; determine a connection identifier assigned to each of the plurality of TCP data segments, wherein the connection identifier is associated with connection flow information of at least one of the plurality of TCP connections; separate the appended TCP data segment into separate TCP data segments based on the connection flow information; assign a respective TCP header to each of the separate TCP data segments for associating the separate TCP data segments to the plurality of TCP connections; and transmit the separate TCP data segments with their respective TCP headers to the plurality of TCP connections. - View Dependent Claims (20)
-
-
21. A non-transitory computer-readable storage medium having stored thereon instructions that, when executed, cause a processor to:
-
receive a plurality of Transmission Control Protocol (TCP) data segments from a plurality of TCP connections coupling network devices of the first AS and network devices of the second AS; add a connection identifier to each of the plurality of TCP data segments, wherein the connection identifier is associated with connection flow information of at least one of the plurality of TCP connections; append the plurality of TCP data segments and their connection identifiers to form an appended TCP data segment, wherein to append the plurality of TCP data segments, the instructions further cause the processor to; add a TCP gateway connection sequence number to each of the plurality of TCP data segments, and maintain a sequence number list of TCP data segments to be acknowledged based on the TCP gateway connection sequence numbers; and transmit the appended TCP data segment to another ASBR of the second AS via a TCP gateway connection.
-
-
22. A non-transitory computer-readable storage medium having stored thereon instructions that, when executed, cause a processor to:
-
receive an appended TCP data segment from a Transmission Control Protocol (TCP) gateway connection, wherein the appended TCP data segment comprises a plurality of TCP data segments from a plurality of TCP connections coupling network devices of a first autonomous system (AS) and network devices of a second AS, wherein the appended TCP data segment includes TCP gateway connection sequence numbers to each of the plurality of TCP data segments for which to be acknowledged; determine a connection identifier of each of the plurality of TCP data segments, wherein the connection identifier is associated with connection flow information of at least one of the plurality of TCP connections; separate the appended TCP data segment into separate TCP data segments based on the connection flow information; add a respective TCP header to each of the separate TCP data segments for associating the separate TCP data segments to the plurality of TCP connections based on the connection flow information; and transmit the separate TCP data segments with their respective TCP headers to the plurality of TCP connections.
-
Specification