RFC 1122:Requirements for Internet Hosts -- Commun...
RFC-Ref

connection


Click on the red underlined text to get to the source

... host is directly connected to some particular network(s); its connection to the Internet is only conceptual. Two hosts ...
... (b) Gateways don't keep connection state information. ...
... transport layer or in application programs. All connection control information is thus co-located with the end points of the communication, so it will be lost only ...
... TCP is a reliable connection-oriented transport service that provides end-to-end ...


... Source Quench may be in the transport layer (for connection-oriented protocols like TCP) or in the application layer ...
... characteristics of the path tend to remain approximately constant over a time period longer than a single typical host-host transport connection. Therefore, a route cache entry is a natural place to ...
... hash table to speed the lookup, or by giving a connection- oriented transport protocol a "hint ...
... gateway quickly enough that transport-layer connections will not break before an alternate gateway can be selected. ...
... TCP or any connection-oriented transport protocol should be able to give negative advice, e.g., ...
... timer to a value Tr, which must be small enough to allow detection of a dead gateway before transport connections time out. ...
... (2) An application MUST be able to explicitly specify the source address for initiating a connection or a request. ...
... When it sends an initial connection request (e.g., a TCP "SYN ...
... This data will be used by the transport layer to locate the connection state information, if any. ...


... must deal directly with end-to-end communication problems that a connection-oriented protocol would have handled -- e.g., retransmission for reliable delivery ...
... 8-bit bytes). TCP is used by those applications needing reliable, connection-oriented transport service, e.g., mail (SMTP ...
... reserved ports by permitting only privileged users to open TCP connections with those port values. This is perfectly reasonable as long as the host ...
... implementations reserve 32-bit fields for the send and receive window sizes in the connection record and do all window computations with 32 bits. ...
... data stream. There MUST be a way for the application to learn how much urgent data remains to be read from the connection, or at least to determine whether or not more urgent data remains to be read. ...
... notification will allow the application to go into "urgent mode", reading data from the TCP connection. This allows control commands to be sent to an application whose normal input buffers ...
... TCP MUST be prepared to handle an illegal option length (e.g., zero) without crashing; a suggested procedure is to reset the connection and log the reason. ...
... If an MSS option is not received at connection setup, TCP MUST assume a default send MSS ...
... TCP Connection State Diagram: RFC-793std7 Section 3.2, ...
... implementors that if two applications attempt to simultaneously connect to each other, only one connection is generated instead of two. This was an intentional design decision; don't try to "fix" it. ...
... Note that a TCP implementation MUST keep track of whether a connection has reached SYN_RCVD state as the result of a ...
... Closing a Connection: RFC-793std7 Section 3.5 ...
... A TCP connection may terminate in two ways: (1) the normal TCP close sequence using a FIN handshake ...
... RST segments are sent and the connection state is immediately discarded. If a TCP connection is closed by the remote site, the local ...
... connection state is immediately discarded. If a TCP connection is closed by the remote site, the local application MUST be informed whether it closed normally or was aborted. ...
... TCP close sequence delivers buffered data reliably in both directions. Since the two directions of a TCP connection are closed independently, it is possible for a connection to be "half closed," i.e., closed in only one ...
... TCP connection are closed independently, it is possible for a connection to be "half closed," i.e., closed in only one direction, and a host is permitted to continue sending data ...
... direction, and a host is permitted to continue sending data in the open direction on a half-closed connection. ...
... TCP close sequence, so that an application that has called CLOSE cannot continue to read data from the connection. If such a host issues a CLOSE call while received data is still pending in TCP ...
... When a connection is closed actively, it MUST linger in TIME-WAIT state for a time 2xMSL (Maximum Segment ...
... SYN from the remote TCP to reopen the connection directly from TIME-WAIT state, if it: ...
... (1) assigns its initial sequence number for the new connection to be larger than the largest sequence number it used on the previous connection incarnation, ...
... connection to be larger than the largest sequence number it used on the previous connection incarnation, and ...
... Some systems have not implemented half-closed connections, presumably because they do not fit into the I/O model of their particular operating system. On ...
... operating system. On these systems, once an application has called CLOSE, it can no longer read input data from the connection; this is referred to as a "half-duplex" TCP close sequence. ...
... algorithm of TCP requires that the connection state remain defined on (at least) one end of the connection ...
... connection state remain defined on (at least) one end of the connection, for a timeout period of 2xMSL, i.e., 4 minutes. During this period, the (remote socket, ...
... socket, local socket) pair that defines the connection is busy and cannot be reused. To shorten the time that a given port ...
... sender and receiver have a large total buffer space for the connection. SWS can only occur during the transmission of a large amount of data; if the connection goes ...
... connection. SWS can only occur during the transmission of a large amount of data; if the connection goes quiescent, the problem will disappear. It is caused by typical straightforward implementation of window ...
... problem. It does have the effect of clumping characters over Telnet connections; this may initially surprise users accustomed to single-character echo, but ...
... sender. The extreme case occurs with single-character segments on TCP connections using the Telnet protocol for remote login ...
... sender MAY also retransmit old data beyond SND.UNA+SND.WND, but SHOULD NOT time out the connection if data beyond the right window edge is not acknowledged. If the window shrinks to zero, the TCP ...
... segments, the sending TCP MUST allow the connection to stay open. ...
... reliably transmitted by TCP. If zero window probing is not supported, a connection may hang forever when an ACK segment ...
... Every passive OPEN call either creates a new connection record in LISTEN state, or it returns an error; it MUST NOT ...
... state, or it returns an error; it MUST NOT affect any previously created connection record. ...
... an OPEN call that will functionally allow an application to LISTEN on a port while a connection block with the same local port is in SYN ...
... Some applications (e.g., SMTP servers) may need to handle multiple connection attempts at about the same time. The probability of a connection attempt failing ...
... handle multiple connection attempts at about the same time. The probability of a connection attempt failing is reduced by giving the application some means of listening for a new connection ...
... connection attempt failing is reduced by giving the application some means of listening for a new connection at the same time that an earlier connection attempt is going through the three- ...
... listening for a new connection at the same time that an earlier connection attempt is going through the three- way handshake. ...
... passive OPEN calls, or they may allow "cloning" of LISTEN-state connections from a single passive OPEN call. ...
... state, Check for SYN, p. 68: When the connection enters ESTABLISHED state, the following variables must be set: ...
... SYN-RECEIVED state and if the connection was initiated with a passive OPEN, then return this connection ...
... connection was initiated with a passive OPEN, then return this connection to the LISTEN state and return. Otherwise...". ...
... SYN-RECEIVED state, p. 72: When the connection enters ESTABLISHED state, the variables listed in (c) must be set. ...
... It would be better to notify the application of the timeout rather than letting TCP force the connection closed. However, see also Section 4.2.3.5. ...
... The following values SHOULD be used to initialize the estimation parameters for a new connection: ...
... tied up with data that has been received and acknowledged but which the user process has not yet consumed. When the connection is quiescent, RCV.WND = RCV.BUFF and RCV.USER = 0. ...
... MSS is the effective send MSS for the connection (see Section 4.2.2.6). When the inequality is satisfied, RCV.WND is set to RCV.BUFF-RCV.USER. ...
... an application to disable the Nagle algorithm on an individual connection. In all cases, sending data is also subject to the limitation imposed by the Slow Start algorithm ...
... the sender to calculate Max(SND.WND), the maximum send window it has seen so far on the connection, and to use this value as an estimate of RCV.BUFF. Unfortunately, this can only be an estimate; the receiver ...
... TCP Connection Failures ...
... threshold R2 greater than R1, close the connection. (d) An application MUST be able to set the value for R2 for ...
... (d) An application MUST be able to set the value for R2 for a particular connection. For example, an interactive application might set R2 to "infinity," giving the user control over when to disconnect. ...
... An attempt to open a TCP connection could fail with excessive retransmissions of the SYN ...
... segment for at least 3 minutes. The application can close the connection (i.e., give up on the open attempt) sooner, of course. ...
... implementations, although this practice is not universally accepted. If keep-alives are included, the application MUST be able to turn them on or off for each TCP connection, and they MUST default to off. ...
... no data or acknowledgement packets have been received for the connection within an interval. This interval MUST be configurable and MUST default to no less than two hours. ...
... MUST NOT interpret failure to respond to any specific probe as a dead connection. ...
... keep-alive" mechanism periodically probes the other end of a connection when the connection is otherwise idle, even when there is no data ...
... probes the other end of a connection when the connection is otherwise idle, even when there is no data to be sent. The TCP ...
... specification does not include a keep-alive mechanism because it could: (1) cause perfectly good connections to break during transient Internet failures; (2) ...
... consume unnecessary bandwidth ("if no one is using the connection, who cares if it is still good?"); and (3) cost money for an Internet path that charges for ...
... keep-alive mechanism. To confirm that an idle connection is still active, these implementations send a probe ...
... SND.NXT-1 and may or may not contain one garbage octet of data. Note that on a quiet connection SND.NXT = RCV.NXT ...
... return an acknowledgment segment, confirming that the connection is still live. If the peer has dropped the connection due to a network ...
... connection is still live. If the peer has dropped the connection due to a network partition or a crash, it ...
... indefinitely and consume resources unnecessarily if a client crashes or aborts a connection during a network failure. ...
... host does not specify the local IP address when actively opening a TCP connection, then the TCP MUST ask the IP layer ...
... At all other times, a previous segment has either been sent or received on this connection, and TCP MUST use the same local address ...
... An application MUST be able to specify a source route when it actively opens a TCP connection, and this MUST take precedence over a source route received in a datagram ...
... When a TCP connection is OPENed passively and a packet arrives with a completed IP Source Route ...
... route and use it for all segments sent on this connection. If a different source route arrives in a later segment ...
... TCP MUST act on an ICMP error message passed up from the IP layer, directing it to the connection that created the error. The necessary demultiplexing ...
... TCP MUST react to a Source Quench by slowing transmission on the connection. The RECOMMENDED procedure is for a Source Quench to trigger a "slow start ...
... Since these Unreachable messages indicate soft error conditions, TCP MUST NOT abort the connection, and it SHOULD make the information available to the application. ...
... ERROR_REPORT routine, or it could merely note the message and report it to the application only when and if the TCP connection times out. o Destination ...
... error conditions, so TCP SHOULD abort the connection. o Time Exceeded -- codes 0, 1 ...
... algorithms that control the message flow over the connection -- packetizing, managing the window, sending acknowledgments, etc. These design decisions are ...
... sender is using the Nagle Algorithm, when a TCP connection carries remote login traffic ...
... ERROR_REPORT(local connection name, reason, subreason) ...
... Service (TOS) for segments that are sent on a connection. It not required, but the application SHOULD be able to change the TOS ...
... It not required, but the application SHOULD be able to change the TOS during the connection lifetime. TCP SHOULD ...
... IP layer, when it sends segments on the connection. ...
... The TOS will be specified independently in each direction on the connection, so that the receiver application will specify the TOS ...
... their communication during the lifetime of a connection, and therefore would like to change the TOS specification. ...
... TCP-based applications need to specify the local IP address to be used to open a particular connection; FTP is an example. ...
... passive OPEN call with a specified "local IP address" parameter will await an incoming connection request to that address. If the parameter is unspecified, a ...
... address. If the parameter is unspecified, a passive OPEN will await an incoming connection request to any local IP address, and then bind the local IP address ...
... to any local IP address, and then bind the local IP address of the connection to the particular address that is used. ...
... active OPEN call, a specified "local IP address" parameter will be used for opening the connection. If the parameter is unspecified, the networking software will choose an appropriate local IP address ...
... will choose an appropriate local IP address (see Section 3.3.4.2) for the connection ...
... Use clock-driven ISN selection |4.2.2.9 |x| | | | | | | | | | | | Opening Connections | | | | | | | Support simultaneous open attempts |4.2.2.10|x| | | | | SYN ...
... | | | | | | | Closing Connections | | | | | | | RST can contain data |4.2.2.12| |x| | | | ...
... RST can contain data |4.2.2.12| |x| | | | Inform application of aborted conn |4.2.2.13|x| | | | | Half-duplex close connections |4.2.2.13| | |x| | | Send RST to indicate data lost |4.2.2.13| |x| | | | ...
... Application can disable Nagle algorithm |4.2.3.4 |x| | | | | | | | | | | | Connection Failures: | | | | | | | Negative advice to IP on R1 ...
... IP on R1 retxs |4.2.3.5 |x| | | | | Close connection on R2 retxs |4.2.3.5 |x| | | | | ALP can set R2 |4.2.3.5 |x| | | | |1 Inform ALP of R1 ...
... IP |4.2.4.2 | |x| | | | ALP can change TOS during connection |4.2.4.2 | |x| | | | Pass received TOS up to ALP |4.2.4.2 | | |x| | | ...



Google
Web
RFC-Ref