Reliable Data Transfer
   HOME

TheInfoList



OR:

Reliable Data Transfer is a topic in computer networking concerning the transfer of data across unreliable channels. Unreliability is one of the drawbacks of
packet switched In telecommunications, packet switching is a method of grouping data into '' packets'' that are transmitted over a digital network. Packets are made of a header and a payload. Data in the header is used by networking hardware to direct the pack ...
networks such as the modern internet, as
packet loss Packet loss occurs when one or more packets of data travelling across a computer network fail to reach their destination. Packet loss is either caused by errors in data transmission, typically across wireless networks, or network congestion.Kur ...
can occur for a variety of reasons, and delivery of packets is not guaranteed to happen in the order that the packets were sent. Therefore, in order to create long-term data streams over the internet, techniques have been developed to provide reliability, which are generally implemented in the
Transport layer In computer networking, the transport layer is a conceptual division of methods in the layered architecture of protocols in the network stack in the Internet protocol suite and the OSI model. The protocols of this layer provide end-to-end ...
of the internet protocol suite. In instructional materials, the topic is often presented in the form of theoretical example protocols which are themselves referred to as "RDT", in order to introduce students to the problems and solutions encountered in Transport layer protocols such as the
Transmission Control Protocol The Transmission Control Protocol (TCP) is one of the main protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, the entire suite is commonly ...
. These sources often describe a pseudo-
API An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
and include
Finite-state machine A finite-state machine (FSM) or finite-state automaton (FSA, plural: ''automata''), finite automaton, or simply a state machine, is a mathematical model of computation. It is an abstract machine that can be in exactly one of a finite number o ...
diagrams to illustrate how such a protocol might be implemented, as well as a version history. These details are generally consistent between sources, yet are often left uncited, so the origin of this theoretical RDT protocol is unclear.


Example Versions

Sources that describe an example RDT protocol often provide a "version history" to illustrate the development of modern Transport layer techniques, generally resembling the below:


Reliable Data Transfer 1.0

With Reliable Data Transfer 1.0, the data can only be transferred via a reliable data channel. It is the most simple of the Reliable Data Transfer protocols in terms of algorithm processing.


Reliable Data Transfer 2.0

Reliable Data Transfer 2.0 supports reliable data transfer in unreliable data channels. It uses a checksum to detect errors. The receiver sends acknowledgement message if the message is complete, and if the message is incomplete, it sends a negative acknowledgement message and requests the data again.


Reliable Data Transfer 2.1

Reliable Data Transfer 2.1 also supports reliable data transfers in unreliable data channels and uses a checksum to detect errors. However, to prevent duplicate messages, it adds a sequence number to each
packet Packet may refer to: * A small container or pouch ** Packet (container), a small single use container ** Cigarette packet ** Sugar packet * Network packet, a formatted unit of data carried by a packet-mode computer network * Packet radio, a form ...
. The receiver sends acknowledgement message with corresponding sequence ID if the data is complete, and sends a negative acknowledgement message with corresponding sequence ID and asks the sender to send again if the message is not complete.


Reliable Data Transfer 3.0

Reliable Data Transfer 3.0, like earlier versions of the protocol, supports reliable data transfer in unreliable data channels, uses checksums to check for errors, and adds sequence numbers to data packets. Additionally, it includes a countdown timer to detect packet loss. If the sender cannot acknowledge specific data in a certain duration, it will consider as packet as lost and will send it again.


References


See also

*
Reliable Data Protocol The Reliable Data Protocol (RDP) is a network transport protocol defined iRFC 908and was updated iRFC 1151 It is meant to provide facilities for remote loading, debugging and bulk transfer of images and data. The Reliable Data Protocol is locate ...
*
Computer Networking A computer network is a set of computers sharing resources located on or provided by network nodes. The computers use common communication protocols over digital interconnections to communicate with each other. These interconnections are ma ...
*
Go-Back-N ARQ Go-Back-''N'' ARQ is a specific instance of the automatic repeat request (ARQ) protocol, in which the sending process continues to send a number of Data frame, frames specified by a ''window size'' even without receiving an acknowledgement (data ...
*
Selective Repeat ARQ Selective Repeat ARQ/Selective Reject ARQ is a specific instance of the automatic repeat request (ARQ) protocol used to manage sequence numbers and retransmissions in reliable communications. Summary Selective Repeat is part of the automatic ...
Computer networking Error detection and correction {{network-stub