End-to-end principle explained

The end-to-end principle is a design framework in computer networking. In networks designed according to this principle, guaranteeing certain application-specific features, such as reliability and security, requires that they reside in the communicating end nodes of the network. Intermediary nodes, such as gateways and routers, that exist to establish the network, may implement these to improve efficiency but cannot guarantee end-to-end correctness.

The essence of what would later be called the end-to-end principle was contained in the work of Donald Davies on packet-switched networks in the 1960s. Louis Pouzin pioneered the use of the end-to-end strategy in the CYCLADES network in the 1970s.[1] The principle was first articulated explicitly in 1981 by Saltzer, Reed, and Clark. The meaning of the end-to-end principle has been continuously reinterpreted ever since its initial articulation. Also, noteworthy formulations of the end-to-end principle can be found before the seminal 1981 Saltzer, Reed, and Clark paper.

A basic premise of the principle is that the payoffs from adding certain features required by the end application to the communication subsystem quickly diminish. The end hosts have to implement these functions for correctness. Implementing a specific function incurs some resource penalties regardless of whether the function is used or not, and implementing a specific function in the network adds these penalties to all clients, whether they need the function or not.

Concept

The fundamental notion behind the end-to-end principle is that for two processes communicating with each other via some communication means, the reliability obtained from that means cannot be expected to be perfectly aligned with the reliability requirements of the processes. In particular, meeting or exceeding very high-reliability requirements of communicating processes separated by networks of nontrivial size is more costly than obtaining the required degree of reliability by positive end-to-end acknowledgments and retransmissions (referred to as PAR or ARQ). Put differently, it is far easier to obtain reliability beyond a certain margin by mechanisms in the end hosts of a network rather than in the intermediary nodes, especially when the latter are beyond the control of, and not accountable to, the former. Positive end-to-end acknowledgments with infinite retries can obtain arbitrarily high reliability from any network with a higher than zero probability of successfully transmitting data from one end to another.

The end-to-end principle does not extend to functions beyond end-to-end error control and correction, and security. E.g., no straightforward end-to-end arguments can be made for communication parameters such as latency and throughput. In a 2001 paper, Blumenthal and Clark note: "[F]rom the beginning, the end-to-end arguments revolved around requirements that could be implemented correctly at the endpoints; if implementation inside the network is the only way to accomplish the requirement, then an end-to-end argument isn't appropriate in the first place."

The end-to-end principle is closely related, and sometimes seen as a direct precursor, to the principle of net neutrality.[2]

History

In the 1960s, Paul Baran and Donald Davies, in their pre-ARPANET elaborations of networking, made comments about reliability. Baran's 1964 paper states: "Reliability and raw error rates are secondary. The network must be built with the expectation of heavy damage anyway. Powerful error removal methods exist." Going further, Davies captured the essence of the end-to-end principle; in his 1967 paper he stated that users of the network will provide themselves with error control: "It is thought that all users of the network will provide themselves with some kind of error control and that without difficulty this could be made to show up a missing packet. Because of this, loss of packets, if it is sufficiently rare, can be tolerated."

The ARPANET was the first large-scale general-purpose packet switching network implementing several of the concepts previously articulated by Baran and Davies.[3] [4]

Davies built a local-area network with a single packet switch and worked on the simulation of wide-area datagram networks.[5] [6] [7] Building on these ideas, and seeking to improve on the implementation in the ARPANET, Louis Pouzin's CYCLADES network was the first to implement datagrams in a wide-area network and make the hosts responsible for the reliable delivery of data, rather than this being a centralized service of the network itself. Concepts implemented in this network feature in TCP/IP architecture.[8]

Applications

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:
    1. a lower level concerned with transporting data packets between neighboring network nodes (called Interface Message Processors or IMPs), and
    1. 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

    The most important limitation of the end-to-end principle is that its basic premise, placing functions in the application endpoints rather than in the intermediary nodes, is not trivial to implement.

    An example of the limitations of the end-to-end principle exists in mobile devices, for instance with mobile IPv6.[9] Pushing service-specific complexity to the endpoints can cause issues with mobile devices if the device has unreliable access to network channels.[10]

    Further problems can be seen with a decrease in network transparency from the addition of network address translation (NAT), which IPv4 relies on to combat address exhaustion.[11] With the introduction of IPv6, users once again have unique identifiers, allowing for true end-to-end connectivity. Unique identifiers may be based on a physical address, or can be generated randomly by the host.[12]

    The end-to-end principle advocates pushing coordination-related functionality ever higher, ultimately into the application layer. The premise is that application-level information enables flexible coordination between the application endpoints and yields better performance because the coordination would be exactly what is needed. This leads to the idea of modeling each application via its own application-specific protocol that supports the desired coordination between its endpoints while assuming only a simple lower-layer communication service. Broadly, this idea is known as application semantics (meaning).

    Multiagent systems offers approaches based on application semantics that enable conveniently implementing distributed applications without requiring message ordering and delivery guarantees from the underlying communication services. A basic idea in these approaches is to model the coordination between application endpoints via an information protocol[13] and then implement the endpoints (agents) based on the protocol. Information protocols can be enacted over lossy, unordered communication services. A middleware based on information protocols and the associated programming model abstracts away message receptions from the underlying network and enables endpoint programmers to focus on the business logic for sending messages.

    See also

    Notes and References

    1. Web site: Bennett. Richard. September 2009. Designed for Change: End-to-End Arguments, Internet Innovation, and the Net Neutrality Debate. 11 September 2017. Information Technology and Innovation Foundation. 7, 11.
    2. Web site: Net Neutrality: A Guide to (and History of) a Contested Idea. The Atlantic. Alexis C. Madrigal . Adrienne LaFrance . amp. 25 Apr 2014. 5 Jun 2014. This idea of net neutrality...[Lawrence Lessig] used to call the principle e2e, for end to end.
    3. News: The real story of how the Internet became so vulnerable . dead . https://web.archive.org/web/20150530231409/http://www.washingtonpost.com/sf/business/2015/05/30/net-of-insecurity-part-1/ . 2015-05-30 . 2020-02-18 . Washington Post . en-US . Historians credit seminal insights to Welsh scientist Donald W. Davies and American engineer Paul Baran.
    4. A History of the ARPANET: The First Decade . 1 April 1981 . Bolt, Beranek & Newman Inc. . 13, 53 of 183 . Aside from the technical problems of interconnecting computers with communications circuits, the notion of computer networks had been considered in a number of places from a theoretical point of view. Of particular note was work done by Paul Baran and others at the Rand Corporation in a study "On Distributed Communications" in the early 1960's. Also of note was work done by Donald Davies and others at the National Physical Laboratory in England in the mid-1960's. ... Another early major network development which affected development of the ARPANET was undertaken at the National Physical Laboratory in Middlesex, England, under the leadership of D. W. Davies. . https://web.archive.org/web/20121201013642/http://www.dtic.mil/cgi-bin/GetTRDoc?Location=U2&doc=GetTRDoc.pdf&AD=ADA115440 . 1 December 2012 . live.
    5. Book: C. Hempstead. Encyclopedia of 20th-Century Technology. W. Worthington. 2005. Routledge. 9781135455514. Simulation work on packet networks was also undertaken by the NPL group..
    6. Clarke . Peter . Packet and circuit-switched data networks . 1982 . PhD . Department of Electrical Engineering, Imperial College of Science and Technology, University of London . "As well as the packet switched network actually built at NPL for communication between their local computing facilities, some simulation experiments have been performed on larger networks. A summary of this work is reported in [69]. The work was carried out to investigate networks of a size capable of providing data communications facilities to most of the U.K. ... Experiments were then carried out using a method of flow control devised by Davies [70] called 'isarithmic' flow control. ... The simulation work carried out at NPL has, in many respects, been more realistic than most of the ARPA network theoretical studies."
    7. Book: Pelkey, James . Entrepreneurial Capitalism and Innovation: A History of Computer Communications 1968-1988 . 6.3 CYCLADES Network and Louis Pouzin 1971-1972 . Pouzin returned to his task of designing a simpler packet switching network than Arpanet. ... [Davies] had done some simulation of [wide-area] datagram networks, although he had not built any, and it looked technically viable. . 2021-11-21 . https://web.archive.org/web/20210617093154/https://www.historyofcomputercommunications.info/Book/6/6.3-CYCLADESNetworkLouisPouzin1-72.html . 2021-06-17 . dead.
    8. News: 13 December 2013. The internet's fifth man. Economist. In the early 1970s Mr Pouzin created an innovative data network that linked locations in France, Italy and Britain. Its simplicity and efficiency pointed the way to a network that could connect not just dozens of machines, but millions of them. It captured the imagination of Dr Cerf and Dr Kahn, who included aspects of its design in the protocols that now power the internet.. 11 September 2017.
    9. 3724. J. Kempf. R. Austein. March 2004. The Rise of the Middle and the Future of End-to-End: Reflections on the Evolution of the Internet Archichecture. Network Working Group, IETF.
    10. Web site: CNF Protocol Architecture. Focus Projects. Winlab, Rutgers University. May 23, 2016. June 23, 2016. https://web.archive.org/web/20160623210856/http://www.winlab.rutgers.edu/docs/focus/CNF/protocol%20architecture.html. dead.
    11. News: Europe hits old internet address limits. Ward. Mark. 2012-09-14. BBC News. 2017-02-28. en-GB.
    12. Web site: Statement on IPv6 Address Privacy. Steve Deering & Bob Hinden. Co-Chairs of the IETF's IP Next Generation Working Group. November 6, 1999. 2017-02-28.
    13. Web site: Information-Driven Interaction-Oriented Programming: BSPL, the Blindingly Simple Protocol Language. 24 April 2013.