For all the details, the routing spec (at
http://h71000.www7.hp.com/wizard/decnet/) is
the place to look. The only problem is that this is the original Phase IV spec (routing
2.0) not the IV-plus (routing 2.1) spec which added things like the previous hop cache.
It doesn't look like that spec, or for that matter the Phase V specs, were ever put
on-line though the intent was to do so.
Anyway...
The purpose of hierarchical routing (two levels in DECnet; more than than in things like
ATM P-NNI) is to be able to handle networks larger than what can be sensibly handled by a
single global routing algorithm. How large a network can be handled without hierarchy
depends on the algorithm; for example, the RIP-style ("hot potato") routing
algorithm in DECnet phase III and IV is more limited than the distance-vector (Dijkstra)
routing algorithm in DECnet phase V, IS-IS, and OSPF.
Once you introduce hierarchy, that unavoidably means you lose information, because the
knowledge about distant nodes is abstracted (abbreviated) to knowledge about the area they
are in. So the routing is somewhat less efficient. How much less depends on the
topology. The design rule for a hierarchical network should be that in-area traffic is
predominant, and the area routing topology is such that routing by area number is not a
whole lot less optimal than routing directly to the destination node (if you knew how).
Associating areas with geography can be a good way to do that, but it does not need to be.
Similarly, associating areas with administrative subdivisions may be suitable, or it may
not. I remember debates within DEC on the area layout of the internal network
("Easynet"), where both approaches were used, not necessarily always sensibly.
It is legal to have multiple areas on a single Ethernet; the routing spec covers that case
explicitly. If that is done, end nodes will communicate directly to a destination on the
Ethernet even if off-area, but L1 routers will go via an L2 router. Basically, the rule
is that L1 routers ignore any packets, including hello and routing table packets, from
routers in other areas.
Some other points that were raised.
The rule that node address zero means "nearest L2" applies only to the L1
routing message; in other places, as was pointed out, it might not mean anything, or it
might be "local node".
Nodes know the node type of adjacent nodes, since node type is encoded in the hello
message. They don't know the type of non-adjacent nodes.
Yes, the rule for hierarchical topologies is that each level must be intact. So an area
must be in one piece; if it is partitioned then one piece can't get to the other
(DECnet Phase IV does not route around the break via L2 routing, though some other routing
protocols can do this). Similarly, the L2 network must not be partitioned.
The rules for how to transmit a packet depend on node type. They are:
1. For an end node: if the destination address is in the on-Ethernet cache (Phase IV) or
previous hop cache (IV+) send it there. Otherwise send to the designated router.
2. For an L1 router: if the destination is in-area, send it to the adjacency which is the
best path to that address (according to the L1 routing algorithm); otherwise send it to
the adjacency for the nearest L2 router, according to entry 0 in the L1 routing table.
3. For an L2 router: if the destination is in-area, proceed as for an L1 router.
Otherwise, send to the adjacency which is the best path to that area, according to the L2
routing algorithm.
On Jul 17, 2011, at 3:44 AM, Johnny Billquist wrote:
Well, there is really no reason why areas would be tied to geographical separation. You
can spread out nodes that are in one area over the whole world as well.
There are both L1 hello messages, and L2 hello messages.
These are used to build the connection topography matrix for the routers.
What areas really brought to the table was a hierarchy where you could also more easily
separate administration of the network.
All L1 routers within one are must be able to communicate with all other L1 routers within
the area, by just talking directly, or via other L1 routers in the area.
All L2 routers must be able to talk to all other L2 routers, either directly or using only
other L2 routers.
Both are obvious requirements when you think of the hello messages, which are not routed,
but broadcast on all interfaces. So a scenarion of
A(L2) - B(L1) - C(L2)
would mean that A and C could not exchange L2 hello messages, which means they will not
know of each other, or what connectivity the other node have.
Also worth mentioning is that all L2 routers also are L1 routers.
Johnny
On 2011-07-17 00.03, hvlems at zonnet.nl wrote:
Exactly my point Johnny. The original function for areas was to identify different
geograhical locations. Same LAN area routing just wasn't part of the design. The rule
is that area routers must always be adjacent to make the connection. In those days (30
years ago) that always meant poiint-to-point connections.
ISTR that there is a L2 hello message for that purpose.
Verzonden vanaf mijn draadloze BlackBerry -toestel
-----Original Message-----
From: Johnny Billquist<bqt at softjar.se>
Sender: owner-hecnet at Update.UU.SE
Date: Sat, 16 Jul 2011 23:52:42
To:<hecnet at Update.UU.SE>
Reply-To: hecnet at Update.UU.SESubject: Re: [HECnet] DECnet et al
On 2011-07-16 23:46, Paul Koning wrote:
On Jul 16, 2011, at 5:40 PM,<hvlems at zonnet.nl> wrote:
Ok, so the convention that the output of the SHO NET command always lists the area router
with the highest address is just a display rule. It has nothing to do with an
"active" area router then?
I can't find the rule for what L2 adjacent router to pick if you're an L1 router
going out of area. It may be that this is where "highest" kicks in.
For non-adjacent L2 routers, the L1 router doesn't have any idea which router is
represented by the "nearest L2 router" pseudo-address zero. It can't know
that.
I don't know all the details here, and instead of starting to read
through documentation, perhaps you know, Paul, if L1 routers knows
*which* nodes in the area are L2 routers?
Because L1 routers knows the shortest paths to all nodes within it's
area, if I don't remember wrong.
However, an L1 router can never know which L2 router is the better for
reaching a specific area, since L1 routers have no idea of the area
topology.
But I *think* that L1 routers knows the type of nodes of all nodes in
the local area, so they should easily be able to figure out where the
closest L2 router is. But that is based on the assumption that they know
the type of each node in the area.
Johnny
paul
------Origineel bericht------
Van: Paul Koning
Afzender: owner-hecnet at Update.UU.SE
Aan: hecnet at Update.UU.SE
Beantwoorden: hecnet at Update.UU.SE
Onderwerp: Re: [HECnet] DECnet et al
Verzonden: 16 juli 2011 23:25
On Jul 16, 2011, at 3:42 PM, Johnny Billquist wrote:
On 2011-07-16 19.18, hvlems at zonnet.nl wrote:
I'm not sure what the router rules are. There are 63 areas, each with
one actove area router. There may be more routers configured as an area
router in one area; the one with the highest (?) DECnet address is
selected as the active one.
As far as I know, there can be more than one active area router. Just look at what the
next hop are for different nodes in your node list... :-)
The way it works is that address 0 in the level 1 routing data corresponds to
"nearest L2 router". Any L2 router contributes to that. The L1 routers
don't know or care who is the nearest L2 router, they only care which direction to
send to get there.
paul
Verzonden vanaf mijn draadloze BlackBerry -toestel