When a connection-oriented session is established between systems, acknowledgements are returned to the sender as proof that segments reached their destination. If an acknowledgement is not received, the associated data will be resent. This system is known as positive acknowledgement with retransmission. As such, connection-oriented communications are often referred to as being reliable. Connection-oriented sessions also make use of sequence numbers, a system by which packets are numbered to be sure that they are reassembled in the correct order at the receiver. The upside of these techniques is that they provide confirmation that the segments actually arrived, and are properly sequenced. The tradeoff is the overhead involved, in terms of the relatively slower communication that takes place due to these reliability mechanisms.
There are three main phases to a connection-oriented session. These include:
- Call Setup. When a connection is being established, a path known as a virtual circuit is created between the sender and receiver.
- Data Transfer. Once the path is created, data is transmitted sequentially to the receiver.
- Call Termination. When an established connection is no longer required, the virtual circuit is terminated.
For connection-oriented transport protocols, sessions between two systems are usually initiated using what is often referred to as a three-way handshake. In this process, a client first contacts a server requesting a session. The server then replies with an acknowledgement and its session parameters (for example, how much data it can receive at once). Finally, the client completes the session initiation process with its own acknowledgement. After data has been transferred and a connection-oriented session is complete, a similar process closes the session.