- Reliability (computer networking)
In computer networking, a reliable protocol is one that ensures reliability properties with respect to the delivery of
data to the intended recipient(s), as opposed to an unreliable protocol, which does not guarantee that data will be delivered intact, or that it will be delivered at all.A
reliable multicast protocol may ensure reliability on a per-recipient basis, as well as provide properties that relate the delivery of data to different recipients, such as e.g.total order ,atomicity , orvirtual synchrony .Reliable protocols typically incur more overhead than unreliable protocols, and as a result, are slower and less scalable. This often isn't an issue for
unicast protocols, but it may be a problem formulticast protocols.TCP, the main protocol used in the
Internet today, is a reliable unicast protocol. UDP, often used incomputer games or other situations where speed is an issue and the loss of a little data is not, is an unreliable protocol.Often, a reliable unicast protocol is also
connection-oriented . For example, theTCP/IP protocol is connection-oriented, with thevirtual circuit ID consisting of source and destinationIP address es and port numbers. Some unreliable protocols are connection-oriented as well. These include ATM andFrame Relay , on which a substantial part of all Internet traffic is passed.Reliability properties
In the context of distributed protocols, reliability properties specify the guarantees that the protocol provides with respect to the delivery of messages to the intended recipient(s).
An example of a reliability property for a
unicast protocol is "at least once", i.e. at least one copy of the message is guaranteed to be delivered to the recipient.Reliability properties for
multicast protocols can be expressed on a per-recipient basis (simple reliability properties), or they may relate the fact of delivery or the order of delivery among the different recipients (strong reliability properties).In the context of multicast protocols, strong reliability properties express the guarantees that the protocol provides with respect to the delivery of messages to different recipients.
An example of a strong reliability property is "last copy recall", meaning that as long as at least a single copy of a message remains available at any of the recipients, every other recipient that does not fail eventually also receives a copy. Strong reliability properties such as this one typically require that messages are retransmitted or forwarded among the recipients.
An example of a reliability property stronger than "last copy recall" is
atomicity . The property states that if at least a single copy of a message has been delivered to a recipient, all other recipients will eventually receive a copy of the message. In other words, each message is always delivered to either all or none of the recipients.One of the most complex strong reliability properties is
virtual synchrony .Strong reliability properties are offered by
group communication system s (GCS) such asISIS ,Appia framework ,Spread ,JGroups orQuickSilver Scalable Multicast . TheQuickSilver Properties Framework is a flexible platform that allows strong reliability properties to be expressed in a purely declarative manner, using a simple rule-based language, and automatically translated into a hierarchical protocol.
Wikimedia Foundation. 2010.