“Connection-oriented” refers to a communication mode where a communication session is established between two parties before they start transmitting data. This mode ensures that data is delivered in the exact order it was sent and that all data packets arrive at the destination. If any packet is lost during transmission, the protocol will take steps to resend it. The most common example of a connection-oriented protocol is the Transmission Control Protocol (TCP) used in the Internet’s TCP/IP protocol suite.

Characteristics of Connection-Oriented Communication:

  1. Establishment of Connection: Before any data can be sent, a connection must be established between the sender and the receiver. This often involves a handshake process.
  2. Data Transfer: Once the connection is established, data can be sent from the sender to the receiver. The data is typically broken down into packets, with each packet having a sequence number.
  3. Ordering of Data: Because packets are sequenced, the receiver can arrange them in the correct order even if they arrive out of order.
  4. Error Checking: The receiver checks if any packets are missing or if there are errors in the data. If issues are found, the receiver will request the sender to resend the necessary packets.
  5. Flow Control: Both parties can communicate about how much data to send and how fast, preventing overwhelming the receiver or the network.
  6. Termination of Connection: After the data transfer is completed, the connection is terminated using a specific termination process.

Advantages of Connection-Oriented Communication:

  • Reliability: Ensures all data is received and in the correct order.
  • Ordered Delivery: Packets are sequenced and organized in the correct order by the receiver.
  • Error Recovery: Lost or erroneous packets can be retransmitted.
  • Flow Control: Prevents data overflow by controlling the rate of transmission.

Disadvantages:

  • Overhead: The process of setting up and tearing down connections, along with error checking, adds to the overhead.
  • Latency: Establishing a connection can introduce a delay before actual data transfer begins.
  • Less Ideal for Real-time: For real-time communications where occasional packet loss might be acceptable (like VoIP), the overhead and delay of connection-oriented protocols might not be ideal.

In contrast, connectionless communication, like that offered by the User Datagram Protocol (UDP), does not establish a connection and does not guarantee the ordered or reliable delivery of packets. It’s more suitable for situations where speed is more critical than absolute reliability.