Several heavily used Internet applications such as FTP, GOPHER, and HTTP use a protocol model in which every transaction requires a separate TCP connection. Since clients normally issue multiple requests to the same server, this model is quite inefficient, as it incurs all the connection start up costs for every single request.
SCP is a simple protocol which lets a server and client have multiple conversations over a single TCP connection. The protocol is designed to be simple to implement, and is modelled after TCP.
SCP's main service is dialogue control. This service allows either end of the connection to establish a virtual session over a single transport connection. SCP also allows a sender to indicate message boundaries, and allows a reciever to reject an incoming session.
Header Format:
Each session is allocated a session identifier. Session Identifiers below 1024 are reserved. Session IDs allocated by clients are even; those allocated by servers, odd.
A session is established by setting the SYN bit in the first message sent on that channel.
A session is ended by sending a message with the FIN bit set. Each end of a connection may be closed independently.
A session may be terminated by sending a message with the RST bit set. All pending data for that session should be discarded
A message boundary is marked by sending a message with the PUSH bit set. The boundary is set at the final octet in this message, including that octet.