...
Level 1 routers knows where all machines in the same area are located,
and knows the most efficient way to any node within the same area.
However, it only keeps track of the closest area router, and knows
nothing about any other area.
Area routers work just like level 1 routers, but they also have an
area
routing table, so they know the most efficient path to an area router
for any area.
So, an end node only knows what machines are on the same segment, and
which is the closest level 1 router. Level 1 routers knows where all
machines are in the same area, and knows where the closest area router
is.
Area routers knows where every machine is on the local area, and also
where all area routers are.
Right... except for end nodes. Those know what *routers* exist on the
same segment. End nodes don't know (directly) about other end nodes.
To make that case efficient, end nodes have a "previous hop cache".
Whenever an end node hears from another node, it remembers the previous
hop (the last router on the path) and sends future traffic for that
destination to that router. This way it can pick any router for the
initial packets but will quickly move to the optimal one. It also
tracks directly connected endnodes in that cache, because a router that
forwards a packet onto the same segment as it arrived will leave the
"intra-Ethernet" bit in the header set, which tells the endnode that
destination is directly reachable.
The 2.0.0 (phase IV) routing spec talks about the "on Ethernet" cache
instead, and describes it in a way that makes it help only for directly
attached nodes. The "previous hop" flavor was a generalization in, I
think, 2.1.0 (Phase IV+).
Now, this means that a machine that sits in one area will not
neccesarily take the shortest path to a machine in another area. In
fact, it will not neccesarily take the shortest path even to another
machine in the same area. But that's another story. :-)
??? It certainly will, where "shortest" is defined as "least path
*cost*", not necessarily fewest hops.
paul
Show replies by date