The original ARPANET procurement asked the contractor to design a routing algorithm for the ARPANET and suggested an example algorithm based on complete knowledge of the network configuration at a central control facility and updates from the central facility to the individual packet switches.
BBN viewed central control as inconsistent with the ARPANET robustness goals and instead designed and implemented a dynamic system that set the stage for the world-wide distributed routing system of today's Internet. Bob Kahn suggested the structure for distributed routing, and Will Crowther devised and implemented a detailed set of algorithms that: - adapted to changing installations of switching nodes and inter-node communication links with minimal configuration information in each node and no centralized control; - discovered and adapted to temporary node and link ups and downs; - routed data traffic along the path of least delay.
The implementation included link alive/dead logic, inter-node packet retransmission logic, and a distributed, asynchronous, adaptive routing calculation. These features were a major break with the more or less fixed routing under central control and inadequate inter-node data acknowledgement schemes that were typical up to 1969. The implementation included the discovery of the distributed asynchronous real-time algorithm now widely known as ARPANET distance vector routing.