Content deleted Content added
review: italics for terms. rm not-useful citation and tangential information. mark statement needing new citation based on talk page discussion. |
→See also: Efficiency (network science) |
||
(44 intermediate revisions by 16 users not shown) | |||
Line 1:
{{Short description|Protocol acknowledgement capability}}
{{Use American English|date=January 2020}}
In [[computer networking]], a '''reliable''' protocol is a [[communication protocol]]
Reliable protocols typically incur more overhead than unreliable protocols, and as a result, function more slowly and with less scalability. This often is not an issue for [[unicast]] protocols, but it may become a problem for [[reliable multicast]] protocols.
[[Transmission Control Protocol
Often, a reliable unicast protocol is also [[connection
==History==
Meanwhile, the developers of [[CYCLADES]] and of [[ALOHAnet]] demonstrated that it was possible to build an effective computer network without providing reliable packet transmission. This lesson was later embraced by the designers of [[Ethernet]].
Line 17:
==Reliability properties==
A reliable service is one that notifies the user if delivery fails, while an ''unreliable'' one does not notify the user if delivery fails.{{
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).
Line 23:
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.
Line 33 ⟶ 31:
One of the most complex strong reliability properties is [[virtual synchrony]].
Reliable messaging is the concept of [[message passing]] across an unreliable infrastructure whilst being able to make certain guarantees about the successful transmission of the messages.<ref>[http://www.w3.org/2001/03/WSWS-popa/paper40 W3C paper on reliable messaging]</ref> For example, that if the message is delivered, it is delivered at most once, or that all messages successfully delivered arrive in a particular order.
Strong reliability properties are offered by [[group communication system]]s (GCS) such as [[IS-IS]], [[Appia framework]], [[Spread (group communication system)|Spread]], [[JGroups]] or [[QuickSilver Scalable Multicast]]. The [[QuickSilver 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.▼
Reliable delivery can be contrasted with [[best-effort delivery]], where there is no guarantee that messages will be delivered quickly, in order, or at all.
==Implementations==
A reliable delivery protocol can be built on an unreliable protocol. An extremely common example is the layering of [[Transmission Control Protocol]] on the [[Internet Protocol]], a combination known as [[TCP/IP]].
▲Strong reliability properties are offered by [[group communication system]]s (
One protocol that implements reliable messaging is [[WS-ReliableMessaging]], which handles reliable delivery of [[SOAP]] messages.<ref>[http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-rm/ws-reliablemessaging200502.pdf WS-ReliableMessaging specification (PDF)]</ref>
In the context of the [[Asynchronous Transfer Mode|ATM]] Service-Specific Coordination Function, for example for transparent assured delivery with [[ATM Adaptation Layer 5|AAL5]].<ref>Young-ki Hwang, et al., ''Service Specific Coordination Function for Transparent Assured Delivery with AAL5 (SSCF-TADAS)'', Military Communications Conference Proceedings, 1999. MILCOM 1999, vol.2, pages 878 - 882, DOI: 10.1109/MILCOM.1999.821329</ref><ref name="ATMF-INTRO" >ATM Forum, The User Network Interface (UNI), v. 3.1, {{ISBN|0-13-393828-X}}, Prentice Hall PTR, 1995.</ref><ref name ="AAL-5 spec">ITU-T, ''B-ISDN ATM Adaptation Layer specification: Type 5 AAL'', Recommendation I.363.5, International Telecommunication Union, 1998.</ref>▼
▲
[[IEEE 802.11]] attempts to provide reliable service for all traffic. The sending station will resend a frame if the sending station doesn't receive an ACK frame within a predetermined period of time.▼
▲[[IEEE 802.11]] attempts to provide reliable service for all traffic. The sending station will resend a frame if the sending station
==Reliable delivery in real-time systems==▼
There is, however, a problem with the definition of reliability as "delivery or notification of failure" in [[real-time computing]]. In such systems, failure to deliver the real-time data will adversely affect the performance of the systems, and some systems, e.g. [[safety-critical]], [[Safety-involved systems|safety-involved]], and some secure [[mission-critical]] systems, must be [[formal methods|proved]] to perform at some specified minimum level. This, in turn, requires that there be a specified minimum reliability for the delivery of the critical data. Hence, it is only the delivery that matters, and notifying the sender does not negate or ameliorate this failure of the real-time system's [[transport layer]] to deliver.▼
▲There is, however, a problem with the definition of reliability as "delivery or notification of failure" in [[real-time computing]]. In such systems, failure to deliver the real-time data will adversely affect the performance of the systems, and some systems, e.g. [[safety-critical]], [[
There are a number of protocols that are capable of
[[MIL-STD-1553B]] and [[STANAG 3910]] are well
The [[Asynchronous Transfer Mode]] (ATM), the [[Avionics Full-Duplex Switched Ethernet]] (AFDX), and [[Time Triggered Ethernet]] (TTEthernet) are examples of packet
ATM uses connection
AFDX uses frequency ___domain bandwidth allocation and [[Traffic policing (communications)|traffic policing]]
TTEthernet provides the lowest possible latency in transferring data across
However, low latency in transferring data over the bus or network does not necessarily translate into low transport delays between the application processes that source and sink this data. This is especially true where the transfers over the bus or network are cyclically scheduled (as is commonly the case with MIL-STD-1553B and STANAG 3910, and necessarily so with AFDX and TTEthernet) but the application processes are
With both AFDX and TTEthernet, there are additional functions required of the
==See also==
*{{anl|Robustness of complex networks}}
*{{anl|Efficiency (network science)}}
*{{anl|Cascading failure}}
==
{{reflist}}
[[Category:Network protocols]]
[[Category:Reliability engineering]]
|