So, it is natural to try to store the "primary" copy of each Di ->j at node i. travel a single hop!
Dn+1i ->j = mink ( di ->k + Dnk ->j)The node at which one would expect to update Di ->j is i. All of the di ->j values needed for this update will also be at i.
The Dk ->j values will not be stored at i, but they will all be stored at neighbors of i. Therefore, the packets required to send them to i will only have to
By contrast with the Bellman-Ford algorithm given a destination node j, one can compute Di ->j for every i without having to determine Di ->k for any other destination k. This is basically because Dijkstra's algorithm starts building paths from the source working toward the destination while the Bellman-Ford algorithm starts at the destination and works back to sources.
Looked at another way, when a dn ->j values changes, the node n will have to make sure to notify not just its neighbors but every node in the graph of the change.