Browse Prior Art Database

TCP Control Block Interdependence (RFC2140)

IP.com Disclosure Number: IPCOM000002696D
Original Publication Date: 1997-Apr-01
Included in the Prior Art Database: 2000-Sep-13
Document File: 9 page(s) / 24K

Publishing Venue

Internet Society Requests For Comment (RFCs)

Related People

J. Touch: AUTHOR

Abstract

This memo makes the case for interdependent TCP control blocks, where part of the TCP state is shared among similar concurrent connections, or across similar connection instances. TCP state includes a combination of parameters, such as connection state, current round- trip time estimates, congestion control information, and process information. This state is currently maintained on a per-connection basis in the TCP control block, but should be shared across connections to the same host. The goal is to improve transient transport performance, while maintaining backward-compatibility with existing implementations.

This text was extracted from a ASCII Text document.
This is the abbreviated version, containing approximately 12% of the total text.

Network Working Group J. Touch

Request for Comments: 2140 ISI

Category: Informational April 1997

TCP Control Block Interdependence

Status of this Memo

This memo provides information for the Internet community. This memo

does not specify an Internet standard of any kind. Distribution of

this memo is unlimited.

Abstract

This memo makes the case for interdependent TCP control blocks, where

part of the TCP state is shared among similar concurrent connections,

or across similar connection instances. TCP state includes a

combination of parameters, such as connection state, current round-

trip time estimates, congestion control information, and process

information. This state is currently maintained on a per-connection

basis in the TCP control block, but should be shared across

connections to the same host. The goal is to improve transient

transport performance, while maintaining backward-compatibility with

existing implementations.

This document is a product of the LSAM project at ISI.

Introduction

TCP is a connection-oriented reliable transport protocol layered over

IP [9]. Each TCP connection maintains state, usually in a data

structure called the TCP Control Block (TCB). The TCB contains

information about the connection state, its associated local process,

and feedback parameters about the connection's transmission

properties. As originally specified and usually implemented, the TCB

is maintained on a per-connection basis. This document discusses the

implications of that decision, and argues for an alternate

implementation that shares some of this state across similar

connection instances and among similar simultaneous connections. The

resulting implementation can have better transient performance,

especially for numerous short-lived and simultaneous connections, as

often used in the World-Wide Web [1]. These changes affect only the

TCB initialization, and so have no effect on the long-term behavior

of TCP after a connection has been established.

The TCP Control Block (TCB)

A TCB is associated with each connection, i.e., with each association

of a pair of applications across the network. The TCB can be

summarized as containing [9]:

Local process state

pointers to send and receive buffers

pointers to retransmission queue and current segment

pointers to Internet Protocol (IP) PCB

Per-connection shared state

macro-state

connection state

timers

flags

local and remote host numbers and ports

micro-state

send and receive window state (size*, current number)

round-trip time and variance

cong. window size*

cong. window size threshold*

max windows seen*

...