A protocol implemented by network routers to exchange the information necessary to determine the best route for data transfer. They are especially important on decentralized inter-networks, such as the Internet (see Border Gateway Protocol). Each router exchanges information with its neighbours (those routers with which it has a direct connection) concerning itself and also the routes it can offer to other routers it already ‘knows’ how to reach. Since each router will have a different set of neighbours, this process allows comprehensive routing information to be disseminated around the whole inter-network without the need for a centralized controller.