Connected: An Internet Encyclopedia
OPEN Call
Up:
Connected: An Internet Encyclopedia
Up:
Requests For Comments
Up:
RFC 793
Up:
3. FUNCTIONAL SPECIFICATION
Up:
3.9 Event Processing
Prev: 3.9 Event Processing
Next: SEND Call
OPEN Call
OPEN Call
CLOSED STATE (i.e., TCB does not exist)
Create a new transmission control block (TCB) to hold connection
state information. Fill in local socket identifier, foreign
socket, precedence, security/compartment, and user timeout
information. Note that some parts of the foreign socket may be
unspecified in a passive OPEN and are to be filled in by the
parameters of the incoming SYN segment. Verify the security and
precedence requested are allowed for this user, if not return
"error: precedence not allowed" or "error: security/compartment
not allowed." If passive enter the LISTEN state and return. If
active and the foreign socket is unspecified, return "error:
foreign socket unspecified"; if active and the foreign socket is
specified, issue a SYN segment. An initial send sequence number
(ISS) is selected. A SYN segment of the form <SEQ=ISS><CTL=SYN>
is sent. Set SND.UNA to ISS, SND.NXT to ISS+1, enter SYN-SENT
state, and return.
If the caller does not have access to the local socket specified,
return "error: connection illegal for this process". If there is
no room to create a new connection, return "error: insufficient
resources".
LISTEN STATE
If active and the foreign socket is specified, then change the
connection from passive to active, select an ISS. Send a SYN
segment, set SND.UNA to ISS, SND.NXT to ISS+1. Enter SYN-SENT
state. Data associated with SEND may be sent with SYN segment or
queued for transmission after entering ESTABLISHED state. The
urgent bit if requested in the command must be sent with the data
segments sent as a result of this command. If there is no room to
queue the request, respond with "error: insufficient resources".
If Foreign socket was not specified, then return "error: foreign
socket unspecified".
SYN-SENT STATE
SYN-RECEIVED STATE
ESTABLISHED STATE
FIN-WAIT-1 STATE
FIN-WAIT-2 STATE
CLOSE-WAIT STATE
CLOSING STATE
LAST-ACK STATE
TIME-WAIT STATE
Return "error: connection already exists".
Next: SEND Call
Connected: An Internet Encyclopedia
OPEN Call