# US 2019/0320046 A1 · Method and system for acceleration of tcp connection establishment

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

- Number: US 2019/0320046 A1
- Document ID: US20190320046A1
- Status: Published application
- Kind: A1
- Application number: 16/340,700
- Filed: 2016-10-12
- Published: 2019-10-17
- Earliest claimed: 2016-10-12
- Assignees: NEC Corporation
- Applicants: NEC Laboratories Europe GmbH
- Inventors: Roberto Bifulco; Fabian Schneider
- Web page: https://patentgrep.com/patent/US20190320046A1

## CPC

- H04L 69/163: In-band adaptation of TCP data exchange; In-band control procedures
- H04L 49/252: {Store and forward routing}
- H04L 49/70: {Virtual switches}
- H04L 69/16: Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L 69/161: {Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields}
- H04L 69/22: Parsing or analysis of headers
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method for acceleration of TCP connection establishment between a client and a server in a network includes deploying at least one stateful switch with packet generation capabilities in the network, and configuring the at least one stateful switch to receive a TCP SYN segment from the client, generate a sequence number in a manner coordinated with the server, answer, on behalf of the server, the TCP SYN segment received from the client with a corresponding SYN ACK segment containing the sequence number, forward the TCP SYN segment received from the client to the server, and act as a forwarding element for segments exchanged between the client and the server once a TCP connection is established such that no state relating to the TCP connection is held by the at least one stateful switch.

## Claims

### Claim 1

A method for acceleration of TCP connection establishment between a client and a server in a network, the method comprising:
deploying at least one stateful switch with packet generation capabilities in the network, and
configuring the at least one stateful switch to:
receive a TCP SYN segment from the client,
generate a sequence number in a manner coordinated with the server,
answer, on behalf of the server, the TCP SYN segment received from the client with a corresponding SYN ACK segment containing the sequence number,
forward the TCP SYN segment received from the client to the server, and
act as a forwarding element for segments exchanged between the client and the server once a TCP connection is established such that no state relating to the TCP connection is held by the at least one stateful switch.

### Claim 2 (depends on 1)

The method according to claim 1, wherein the at least one stateful switch, in order to answer the TCP SYN segment received from the client with the corresponding SYN ACK segment, copies the TCP SYN segment received from the client in a new segment, includes the generated sequence number in the new segment, and forwards the new segment to the client.

### Claim 3 (depends on 1)

The method according to claim 1, wherein the server gains knowledge of the sequence number generated by the at least one stateful switch either by being informed by the at least one stateful switch about the generated sequence number or by agreeing with the at least one switch in a common scheme to generate the sequence number.

### Claim 4 (depends on 1)

The method according to claim 1, wherein the server uses the sequence number generated by the at least one stateful switch for generating a server SYN ACK segment.

### Claim 5 (depends on 1)

The method according to claim 1, wherein the server uses an arbitrary sequence number for generating a server SYN ACK segment, and wherein the at least one stateful switch performs a translation between the arbitrary sequence number and the sequence number generated by the at least one stateful switch on behalf of the server.

### Claim 6 (depends on 1)

The method according to claim 1, wherein the at least one stateful switch generates the sequence number by copying the sequence number from the TCP SYN segment received from the client.

### Claim 7 (depends on 1)

The method according to claim 1, wherein the at least one stateful switch generates the sequence number by deriving it from a counter stored in the at least one stateful switch.

### Claim 8 (depends on 1)

The method according to claim 1, wherein the at least one stateful switch generates the sequence number by executing an arbitrary algorithm, or wherein the sequence number is determined by a packet template used for the generation.

### Claim 9 (depends on 1)

The method according to claim 1, wherein the at least one stateful switch introduces a tag into TCP SYN segments received from the client before forwarding them to the server.

### Claim 10 (depends on 1)

The method according to claim 1, wherein the at least one stateful switch is a stateful SDN switch.

### Claim 11

A system for acceleration of TCP connection establishment between a client and a server in a network, the system comprising:
at least one stateful switch with packet generation capabilities, the at least one stateful switch including input/output ports, a state table, a finite state machine (FSM) table, and a feedback loop implemented between the state table and the FSM table, and
a controller configured to program rules into the state table and the FSM table of the at least one stateful switch,
wherein the at least one stateful switch is configured to:
receive a TCP SYN segment from the client,
generate a sequence number in a manner coordinated with the server,
answer the TCP SYN segment, on behalf of the server, with a corresponding SYN ACK segment containing the sequence number,
forward the TCP SYN segment received from the client to the server, and
act as a forwarding element for segments exchanged between the client and the server once a TCP connection is established such that no state relating to the TCP connection is held by the at least one stateful switch.

### Claim 12 (depends on 11)

The system according to claim 11, wherein the at least one stateful switch, in order to answer the TCP SYN segment received from the client with the corresponding SYN ACK segment, is configured to:
copy the TCP SYN segment received from the client in a new segment,
include the generated sequence number into the new segment, and
forward the new segment to the client.

### Claim 13 (depends on 11)

The system according to claim 11, wherein the controller is configured to program the at least one stateful switch with respect to the admission or permission of TCP options for SYN ACK packet generation, including at least one TCP option for selective acknowledgment, window scaling, and/or maximum segment size announcements.

### Claim 14 (depends on 1)

A stateful switch configured to be employed in a method according to claim 1.

### Claim 15 (depends on 1)

A controller configured to be employed in a method according to claim 1.
