Distance-vector routing algorithm