1) Each router maintains a routing table containing the outgoing link and distance to reach each destination node. 2) Routers periodically share their routing tables with neighbors so each can update its own table. 3) This allows routers to continuously determine the shortest paths to all destinations as network conditions change.