End-to-end connectivity is a principal design element of the Internet that allows nodes of the network to send packets to all other nodes of the network, without requiring intermediate network elements to maintain status information about the transmission. The concept was originally developed and implemented in the CYCLADES network.
For the Internet this design is implemented in the Internet Protocol Suite, also commonly referred to as the Transmission Control Protocol/Internet Protocol (TCP/IP).
The rapid expansion of the Internet and the resulting IPv4 address exhaustion problem have forced some design changes in the originally conceived architecture of the IP address space in terms of address assignment and routing technologies. In addition, technologies were invented that have helped to alleviate the exhaustion problem temporarily, but have introduced network elements, such as network address translation devices, that do not abide by the end-to-end principle. Without this property, some network protocols require the specific support of network elements during traversal. This impediment hinders deployment of many new, often interactive, applications, including security (IPsec), migration to IPv6 (tunneling IPv6 in IPv4), peer-to-peer applications, and networked games.
Sometimes end-to-end connectivity is deliberately broken, erroneously, as a means of implementation of network security, as using address translation also limits the routing scope, which means that computers behind NAT cannot be addressed directly from untrusted zones. However, consensus among security experts shows that this does not provide proper security features and in fact may impede implementation of proper techniques.
Such implementation trends divide Internet users into those who have "real" Internet connectivity and those who are restricted to use applications that only use outbound network connections.
Full article ▸