LocalTalk nodes use the router contained in the A-ROUTER variable. This
variable is updated every time the node sees an RTMP packet. The source
network number and node number of the RTMP packet are copied into the A-ROUTER
variable. Sometimes, the packet travels to the EtherTalk backbone via the
first router, and sometimes it travels to the EtherTalk backbone by the second
router.
The best routing algorithm is implemented in EtherTalk 2.0, TokenTalk 2.0, and
AppleTalk Phase 2 for A/UX and MS-DOS. It can, theoretically, be added to
LocalTalk nodes at a later date.
In the past, a non-router node has not kept much information on how to get to
other networks. A node kept track only of the address of one router on its
local network, assuming that the router would know how to reach the rest of the
Internet. Whenever the node had a packet to send to a different network, the
node sent the packet to the one router it knew about.
Generally, this algorithm didn't cause any problems. However, in very large,
bridged Ethernets or Token Rings, it can be inefficient, because the one router
that a node knows about can be quite far away and not the best router to use.
With AppleTalk Phase 2, nodes can optionally keep information on how best to
get to other networks. When a node that uses the best-routing algorithm gets a
packet from another network, it looks at the address of the last router that
forwarded the packet. This is the router it uses to get to that distant
network in the future.