Unreliable Networks
Summary: The communication channels in distributed systems that can lose, delay, or reorder messages.
Sources: chapter8
Last updated: 2026-04-17
Most distributed systems use asynchronous networks, where the network gives no guarantees about when a packet will arrive, or even if it will arrive at all.
Common Network Faults
- Request lost: The packet never reaches the recipient.
- Recipient failed: The node has crashed or is temporarily unresponsive.
- Response lost: The recipient processed the request, but the reply was lost.
- Response delayed: The reply is stuck in a queue or delayed by network congestion.
(source: chapter8, p. 278)
Timeouts and Unbounded Delays
Because there is no upper bound on network delay, the only way to detect a failure is through a timeout. However, a timeout cannot distinguish between a node failure, a network failure, or a slow response (source: chapter8, p. 281).
Synchronous vs. Asynchronous Networks
Telephone networks are synchronous (using circuit switching), providing bounded delays and guaranteed bandwidth. Data networks (like Ethernet and IP) are asynchronous (using packet switching), which is more efficient for bursty traffic but results in variable delays and unreliable delivery (source: chapter8, p. 284).