# US 7,610,622 B2 · Supporting options in a communication session using a TCP cookie

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

- Number: US 7,610,622 B2
- Document ID: US7610622B2
- Status: Granted
- Kind: B2
- Application number: 11/348,977
- Filed: 2006-02-06
- Published: 2007-08-09
- Granted: 2009-10-27
- Earliest claimed: 2006-02-06
- Assignees: Cisco Technology, Inc.
- Inventors: Dan Touitou; Michael Zayats; Rajan Goyal
- Web page: https://patentgrep.com/patent/US7610622B2

## CPC

- H04L 63/1458: {Denial of Service}
- H04L 63/168: {above the transport layer}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A defender operable to support options in a communication session intercepts a connection request packet sent from a client to a server. The defender identifies a client option combination associated with the client from the connection request packet. The defender establishes a client option index corresponding to the client option combination, and encodes the client option index into a cookie of an acknowledgment packet. The defender then sends the acknowledgment packet to the client.

## Claims

### Claim 1

A method for supporting options in a communication session, comprising:
intercepting a connection request packet sent from a client to a server, the connection request packet intercepted by a defender;
identifying a client option combination of the client from the connection request packet, the client option combination comprising a set of one or more Transmission Control Protocol (TCP) parameters for communication with the client;
establishing a client option index corresponding to the client option combination, the client option index configured to be encoded into a cookie to communicate the client option combination;
encoding the client option index into a cookie of an acknowledgment packet in order to provide the client option index to the client; and
sending the acknowledgment packet to provide to the client the client option index used to communicate the client option combination client in order to facilitate establishing a connection requested by the connection request packet.

### Claim 2 (depends on 1)

The method of claim 1, wherein:
the connection request packet comprises a SYN packet; and
the acknowledgment packet comprises a SYN acknowledgment packet.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
establishing a server option combination corresponding to the client option combination, the server option combination associated with the server, the server option combination comprising a set of one or more parameters for communication with the server; and
sending the established server option combination as a part of the acknowledgment packet.

### Claim 4 (depends on 1)

The method of claim 1, further comprising determining a corresponding option combination by:
sniffing a plurality of packets;
establishing the client option combination in response to sniffing the plurality of packets; and
establishing a server option combination corresponding to the client option combination in response to sniffing the plurality of packets, the server option combination comprising a set of one or more parameters for communication with the server.

### Claim 5 (depends on 1)

The method of claim 1, further comprising generating a table comprising one or more corresponding option combinations by:
sniffing a plurality of packets;
establishing a plurality of corresponding option combinations in response to sniffing the plurality of packets, a corresponding option combination comprising an established client option combination and a corresponding established server option combination, the server option combination comprising a set of one or more parameters for communication with the server; and
selecting a subset from the plurality of corresponding option combinations.

### Claim 6 (depends on 1)

The method of claim 1, further comprising discovering a corresponding option combination by:
allowing an allowable packet from the client to the server;
establishing the client option combination from the allowable packet;
allowing an allowable response packet from the server to the client; and
establishing a server option combination corresponding to the client option combination from the allowable response packet, the server option combination comprising a set of one or more parameters for communication with the server.

### Claim 7

A defender operable to support options in a communication session, comprising:
an interface operable to:
intercept a connection request packet sent from a client to a server; and
a processor coupled to the interface and operable to:
identify a client option combination of the client from the connection request packet, the client option combination comprising a set of one or more Transmission Control Protocol (TCP) parameters for communication with the client;
establish a client option index corresponding to the client option combination, the client option index configured to be encoded into a cookie to communicate the client option combination;
encode the client option index into a cookie of an acknowledgment packet in order to provide the client option index to the client; and
the interface further operable to:
send the acknowledgment packet to provide to the client the client option index used to communicate the client option combination client in order to facilitate establishing a connection requested by the connection request packet.

### Claim 8 (depends on 7)

The defender of claim 7, wherein:
the connection request packet comprises a SYN packet; and
the acknowledgment packet comprises a SYN acknowledgment packet.

### Claim 9 (depends on 7)

The defender of claim 7, the processor further operable to:
establish a server option combination corresponding to the client option combination, the server option combination associated with the server, the server option combination comprising a set of one or more parameters for communication with the server; and
send the established server option combination as a part of the acknowledgment packet.

### Claim 10 (depends on 7)

The defender of claim 7, the processor further operable to determine a corresponding option combination by:
sniffing a plurality of packets;
establishing the client option combination in response to sniffing the plurality of packets; and
establishing a server option combination corresponding to the client option combination in response to sniffing the plurality of packets, the server option combination comprising a set of one or more parameters for communication with the server.

### Claim 11 (depends on 7)

The defender of claim 7, the processor further operable to generate a table comprising one or more corresponding option combinations by:
sniffing a plurality of packets;
establishing a plurality of corresponding option combinations in response to sniffing the plurality of packets, a corresponding option combination comprising an established client option combination and a corresponding established server option combination, the server option combination comprising a set of one or more parameters for communication with the server; and
selecting a subset from the plurality of corresponding option combinations.

### Claim 12 (depends on 7)

The defender of claim 7, the processor further operable to discover a corresponding option combination by:
allowing an allowable packet from the client to the server;
establishing the client option combination from the allowable packet;
allowing an allowable response packet from the server to the client; and
establishing a server option combination corresponding to the client option combination from the allowable response packet, the server option combination comprising a set of one or more parameters for communication with the server.

### Claim 13

A defender operable to support options in a communication session, comprising:
means for receiving a connection request packet from a client, the connection request packet directed to a server;
means for identifying a client option combination of the client from the connection request packet, the client option combination comprising a set of one or more Transmission Control Protocol (TCP) parameters for communication with the client;
means for establishing a client option index corresponding to the client option combination, the client option index configured to be encoded into a cookie to communicate the client option combination;
means for encoding the client option index into a cookie of an acknowledgment packet in order to provide the client option index to the client; and
means for sending the acknowledgment packet to provide to the client the client option index used to communicate the client option combination client in order to facilitate establishing a connection requested by the connection request packet.
