If the two sides have to take turns transmitting and receiving, the connection is referred to as half duplex. A connectionless transactionless protocol sends data in discrete datagrams. A connection-oriented transactionless protocol can send data as a continuous stream of data or, in some cases, as packets. Best-effort delivery means that the protocol attempts to deliver any packets that meet certain requirements, such as containing a valid destination address, but the protocol does not inform the sender when it is unable to deliver the data, nor does it attempt to recover from error conditions and data loss. Higher-level protocols, on the other hand, can provide reliable delivery of data.
Reliable delivery includes error checking and recovery from error or loss of data.
A transaction-based protocol specifies the sequence and some of the content of messages passed between nodes. When using a transaction-based protocol, the application on one node, known as the requester , sends a request to the other application, known as the responder , to perform a task. The responder completes the task and returns a response that reports the outcome of the task. Once one node has issued a request, the receiving node is constrained to respond in a predefined way. A transaction-based connection is sometimes referred to as an asymmetrical connection.