.@ Deltanet: a clean slate network architecture


motivation

The Internet, like its precursors the ARPANET and the telephone network, separates end-user devices that are attached to the network from the routers and switches that are part of the network. The protocols used to attach to the edge of the Internet (such as DHCP and ARP for IPv4, or SLAAC and NDP for IPv6) are different from the protocols that form the Internet itself (primarily BGP).

Consider how to grow the Internet: an ISP needs to go through expensive bureaucratic processes to obtain new address space, and then configure how that address space is allocated; whereas end users rely on NAT to multiplex several devices behind one IP address. (The mechanisms for sharing an IPv6 connection are still unclear.) An ISP can change its connectivity dynamically with little disruption to traffic; but an edge device has to disconnect and reconnect, breaking any data transfer that was in progress.

What if we abolish that distinction? That is, what if ISP subnets and end-user subnets use the same protocols and processes to connect to each other?

the number of subnets

At the moment the Internet has about a million subnet prefixes. That doesn’t count edge subnets that are hidden behind NATs, such as homes, offices, mobile tethering, application containers, etc. If edge subnets were to become first-class parts of the network there would be billions of subnets.

In a network based on addresses like the Internet, each router in the core of the network needs to know a path to every address. The amount of memory a router needs to hold its routing table grows according to the size of the network as a whole.

The rate of updates to the routing table increases according to the size of the network too. However devices at the edge of the network change their connections far more frequently than ISP subnets: at the moment there is on average about one route update per subnet per day. If the network were to scale up 1,000x to include all the edge subnets, the route update traffic would scale up 10,000x because of their higher mobility.

This problem of scale shows that the Internet would not work without its two-tier architecture: it is necessary to decouple the second-class edge devices that are merely attached to the network from first-class routers that are part of the network.

against addresses

If edge devices become a first-class part of the network, the network needs some other way to insulate its core routers from all the churn at its edges.

why the name?

The “delta” in Deltanet refers to a river delta. The way topology information flows from the core to the edges of the Deltanet is like the way a river delta has channels that split and rejoin as the water flows towards the sea.

layers

Like the Internet, the Deltanet’s layers are not strictly self-contained. For instance, in both casees layer 3 depends on auxiliary application-layer protocols: BGP in the Internet, and DNTDP in the Deltanet. The layering model fits more comfortably as a guide to packet structure: each layer adds a header to the packet.

The OSI layers do not fit the Internet particularly well, and they fit the Deltanet worse. For instance, layers 4 and 5 correspond to QUIC, which has the opposite layering to TLS-over-TCP. As an attempt to reduce confusion I have given the layers different names.

layernamefunctions
2linkunderlying network and protocols that adapt it to the Deltanet
3nodepacket forwarding; establish FIB and local RIB; propagate RIB
4connectionconstruct paths; end-to-end authentication and encryption
5streammultipath congestion control; multiplexed data transfer
6n/an/a
7applicatione.g. HTTP, DNTDP, …

key differences from the Internet

glossary