ARPANET The ARPANET demonstrated several important aspects of the end-to-end principle. ;Packet switching pushes some logical functions toward the communication endpoints :If the basic premise of a distributed network is packet switching, then functions such as reordering and duplicate detection inevitably have to be implemented at the logical endpoints of such a network. Consequently, the ARPANET featured two distinct levels of functionality: :# a lower level concerned with transporting data packets between neighboring network nodes (called
Interface Message Processors or IMPs), and :# a higher level concerned with various end-to-end aspects of the data transmission. :Dave Clark, one of the authors of the end-to-end principle paper, concludes: "The discovery of packets is not a consequence of the end-to-end argument. It is the success of packets that make the end-to-end argument relevant." ;No arbitrarily reliable data transfer without end-to-end acknowledgment and retransmission mechanisms : The ARPANET was designed to provide reliable data transport between any two endpoints of the network much like a simple I/O channel between a computer and a nearby peripheral device. In order to remedy any potential failures of packet transmission normal ARPANET messages were handed from one node to the next node with a positive acknowledgment and retransmission scheme; after a successful handover they were then discarded, no source-to-destination re-transmission in case of
packet loss was catered for. However, in spite of significant efforts, perfect reliability as envisaged in the initial ARPANET specification turned out to be impossible to providea reality that became increasingly obvious once the ARPANET grew well beyond its initial four-node topology. The ARPANET thus provided a strong case for the inherent limits of network-based hop-by-hop reliability mechanisms in pursuit of true end-to-end reliability. ;Trade-off between reliability, latency, and throughput : The pursuit of perfect reliability may hurt other relevant parameters of a data transmissionmost importantly latency and throughput. This is particularly important for applications that value predictable throughput and low latency over reliabilitythe classic example being interactive real-time voice applications. This
use case was catered for in the ARPANET by providing a raw message service that dispensed with various reliability measures so as to provide faster and lower latency data transmission service to the end hosts.
TCP/IP Internet Protocol (IP) is a
connectionless datagram service with
no delivery guarantees. On the Internet, IP is used for nearly all communications. End-to-end acknowledgment and retransmission is the responsibility of the connection-oriented
Transmission Control Protocol (TCP), which sits on top of IP. The functional split between IP and TCP exemplifies the proper application of the end-to-end principle to transport protocol design.
File transfer An example of the end-to-end principle is that of an arbitrarily reliable
file transfer between two endpoints in a distributed network of a varying, nontrivial size: The only way two endpoints can obtain a completely reliable transfer is by transmitting and acknowledging a
checksum for the entire data stream; in such a setting, lesser checksum and acknowledgment (
ACK/NACK) protocols are justified only for the purpose of optimizing performancethey are useful to the vast majority of clients, but are not enough to fulfill the reliability requirement of this particular application. A thorough checksum is hence best done at the endpoints, and the network maintains a relatively low level of complexity and reasonable performance for all clients. ==Limitations==