On 2016-01-15 15:16, Robert Armstrong wrote:
you (I think) and Peter have been believing that
you have a problem that
can be solved by playing with costs in a way that will not solve the
problem.
I can't speak for Peter, but all I want from the circuit costs is two
things -
* The routing should be symmetrical; that is, if you ask node A for the
path to node B, the result should be the same as if you ask B for the path
to A. This isn't an absolute DECnet requirement, but it makes network
problems so much easier to figure out when data is taking the same path in
both directions. Besides, in HECnet I can't really think of a good reason
to prefer an asymmetrical route, so when you find one it almost always means
something is configured wrong somewhere.
Pretty much impossible, as DECnet cannot do that in general. The problem
is that nodes have different amount of knowledge, based on their roles,
and the topology in general.
And this is the problem. You are trying to do something that DECnet in
general *cannot* do. Which leads to all this frustration.
* If two nodes, A and B, have a direct point to
point link (probably via
Multinet, but maybe something else) then that should be the preferred route
between those two nodes. Other nodes besides A and B are another matter,
but two nodes that are directly linked should use that link. This seems
obvious on the surface - if the owners of A and B didn't want that result,
why set up the direct link in the first place? Besides, any esoteric
network principles aside, common sense says that a direct path between two
nodes is faster and more reliable than a link that goes thru a third party,
e.g. psilo.
Agreed. Most of the time direct links should be preferred. And I would
in almost all cases expect that to already be the case, unless people,
for some odd reason, put a very high cost on those direct links.
However, DECnet will also not do this at times. Also something that you
cannot change.
Let me give you the same example I just gave Peter in a private mail.
Let's say that you have a node X. X has address 2.1. It is an area
router, and it has two point-to-point links. Link (a) leads to 1.1, has
a cost of 1, and 1.1 is an area router.
Link (b) leads to 1.2, which also have a cost of 1, and 1.2 is also an
area router.
The way that DECnet works is that *all* your traffic will be sent to
1.2, when 2.1 sends packets to area 1. Even if 2.1 wants to talk to 1.1,
it will send the packets to 1.2. Even though 2.1 do have a direct link
to 1.1.
Why is this? Simple. When 2.1 wants to talk to anything in area 1, it
does not try to inspect this any further. It just sees that this is
outside of its own area, and thus it falls down to area routing. And 2.1
then just needs to figure out, how to send this packet to area 1. And
the arbitration rules states that when you have multiple paths with
equal cost, it will pick the highest numbered node as the target. So,
from 2.1, all packets going to area 1 will be sent to 1.2, no matter
what the actual destination inside area 1 is. And it leaves the routing
of the packets inside area 1 to the area 1 routers.
Meanwhile, both 1.1 and 1.2 will both be using their direct links to
area 2. Why is this then? Also simple. Both 1.1 and 1.2 are area
routers. So, for 1.1, the closest area router is itself. So any packets
going outside of area 1, will be dealt by the area routing layer in 1.1.
And the same is true for 1.2. 1.2 is an area router, and the closest
one. So all packets going outside area 1 will be dealt with by the area
routing layer in 1.2.
So, there you have it. You *cannot* get this symmetrical, no matter how
much you try. 2.1 will always just use one destination as the next hop
for all communication with area 1, even though there are several
options. Meanwhile, both the area routers in area 1 will be directly
communicating with area 2. It is assymetrical, and it will stay
assymetrical. DECnet works this way, and you cannot get it to do what
you think you want.
Give it up, please. This discussion causes frustration, since you are
thinking that you can do something, and believe that it is the other
people around you that are preventing you, while in fact, what you want
cannot be done, no matter what the people around you do.
You are
essentially hitting up against a problem with DECnet routing,
If we were consistent across HECnet about setting network costs, then I'm
pretty sure those two things could be accomplished.
Nope. Not possible. Sorry.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol