ScholarGate
دستیار

Reliable Data Transfer

Reliable data transfer is the set of principles by which a protocol delivers data correctly, in order, and without loss or duplication over an underlying network that may corrupt, lose, or reorder packets.

یافتن موضوع با PaperMindبه‌زودیFind papers & topics
Tools & resources
دریافت اسلایدها
Learn & explore
ویدیوبه‌زودی

Definition

Reliable data transfer is a transport-layer service that guarantees data is delivered to the receiving application correctly and in order despite an unreliable underlying channel, achieved through acknowledgments, sequence numbers, timeouts, and retransmission.

Scope

This topic covers the general mechanisms behind reliable delivery, independent of any one protocol: acknowledgments and negative acknowledgments, sequence numbers to detect loss and duplication, checksums for corruption, retransmission timers, and the pipelined sliding-window protocols go-back-N and selective repeat that keep many packets in flight for efficiency. It develops these as the foundation on which TCP is built. It excludes congestion control, which addresses network overload rather than per-link reliability, and the specifics of TCP itself.

Core questions

  • What failures — corruption, loss, duplication, reordering — must a reliable protocol overcome?
  • How do acknowledgments and sequence numbers let a receiver detect and signal problems?
  • How does a sender use timeouts and retransmission to recover from loss?
  • How do pipelined protocols (go-back-N, selective repeat) improve efficiency over stop-and-wait?
  • What is the trade-off between go-back-N and selective repeat?

Key concepts

  • acknowledgments (ACK/NAK)
  • sequence numbers
  • checksums
  • retransmission timers and timeouts
  • stop-and-wait
  • automatic repeat request (ARQ)
  • pipelining
  • sliding window
  • go-back-N and selective repeat

Key theories

Stop-and-wait and automatic repeat request
The simplest reliable protocol sends one packet and waits for an acknowledgment, retransmitting on timeout; sequence numbers distinguish new data from retransmissions, establishing the core ARQ machinery that all reliable transfer builds on.
Pipelining with sliding windows
Allowing multiple unacknowledged packets in flight, bounded by a window, raises throughput on high-delay links; go-back-N retransmits from the first lost packet, while selective repeat retransmits only the missing ones at the cost of more buffering and bookkeeping.

Clinical relevance

Reliable data transfer principles are what make file transfers, web pages, and most application data arrive intact even over lossy, congested paths. The same ideas — acknowledgments, sequence numbers, windows, and retransmission — recur in TCP, in link-layer reliability, and in newer transport protocols, so understanding them is foundational for reasoning about throughput, latency, and recovery from loss.

History

Reliable transfer mechanisms were developed for early link protocols and the ARPANET, where stop-and-wait and then sliding-window ARQ schemes were refined to balance reliability and throughput. The systematic, incremental development of reliable-transfer principles — from a perfect channel up through loss and reordering — became a standard pedagogical approach and underlies the design of TCP.

Key figures

  • James F. Kurose
  • Keith W. Ross
  • Andrew S. Tanenbaum

Related topics

Seminal works

  • kurose2021
  • tanenbaum2010

Frequently asked questions

Why use sequence numbers?
Sequence numbers let the receiver tell packets apart so it can detect loss (a gap in the sequence), discard duplicates (a repeated number caused by a retransmission), and reorder data that arrived out of order. Without them, a sender and receiver could not distinguish a new packet from a retransmitted one.
What is the difference between go-back-N and selective repeat?
Both pipeline multiple packets. Go-back-N has the sender retransmit everything from the first lost packet onward, which is simple but can resend correctly received data. Selective repeat retransmits only the specific packets that were lost and buffers out-of-order arrivals, which is more efficient but requires more state at both ends.

Methods for this concept

Related concepts