Link state routing
Link state routing is a paradigm for establishing the optimal topology of a network. It uses a distributed computation model, where the direct connections of all routers in a given scope is flooded to all the other routers in that scope. Each then computes the shortest path to destinations from its position and connections.
For reasons of scaling, networks using link state routing, when of any appreciable size, use a hierarchical model, such that routers exist in a set of scopes, usually called areas, of which they know the complete topology. They also know how to get to some shared backbone, through which all or most inter-area traffic passes. The routing domain also may have means of finding routers that can connect to destinations external to the domain.