The way it works involves recursively splitting the network up into smaller chunks by scouting ahead a finite distance, then stitching the results back together.
Once that subnetwork is small enough we can use our classic algorithms such as Dijkstra's, confident that we won't be considering too many intersections at once.
The trick is in stitching those results back together without cutting into the performance wins! For this we need clever datastructures.
2/3?