Subject: RE: [AAA-WG]: Issue 98: Peer role in Peer table?

From: "Martin Julien (ECE)" <[email-masked]>
Date: Thu, 26 Jul 2001 10:31:29 +0200

Hi Pat,

> ok, so it sounds like some clarifications are required in the base
> spec. Just as an FYI, a primary/secondary is not necessarily 
> a configurable
> thing. Peers come and go, and the primary is the peer with 
> which one is
> communicating. The secondary is the "backup" should the 
> connection with 
> the primary becomes suspect. Alternates are other peers that 
> one does not
> necessarily have an open connection with (but it could), 
> which will eventually
> become primary/secondary as failures occur.

I guess that it suggests that the DRT should return a 
list of servers, which should be looked into to find out 
whether one of them is primary and available? If not,
then a secondary server is searched for. That means that 
load-balancing would occur only if several servers with 
the same role are defined for the DRT entry. Does that
mean that the Diameter node needs to make sure that
for all DRT entry, there is at least 2 servers available
all the time, I guess that is what it comes down to, right?

That would mean that when a Peer becomes suspect, then the
DRT has to be looked into in order to find out which DRT
entry is affected in order to possibly initiate a new 
connection to another host?????

Also, when receiving the Alternate-peer AVPs in the 
CER/CEA, should one of them be defined as secondary, while 
the others as alternate?, unless they are already defined 
as primary or secondary, of course. The reason for this
being that for routing based on Route-Record, Source-Route
and Destination-Host, I guess it would also be nice to 
have to same kind on feature, no?

So, as I see it, it is quite a lot of work to support this
concept of connections, from a point of view of a Diameter
agent and server, at least. Since I am not really sure
up to what point agents are expected to have openned 
connections, I am wondering if this is really something 
important for Diameter nodes?

Martin

> I had a rather lengthy definition of the above proposed, but 
> was asked to
> remove all the verbage by someone else :(
> 
> PatC
> On Wed, Jul 25, 2001 at 06:46:12PM +0200, Martin Julien (ECE) wrote:
> > Submitter name:  Martin Julien
> > Submitter email address:  [email-masked]
> > Date first submitted:  July 25, 2001
> > Reference: 
> > Document: Base-07
> > Comment type: T
> > Priority:  1
> > Section:  
> > Rationale/Explanation of issue:
> > 
> > In section 5.1 of Base-07, referring to peer connections, what 
> > is the difference between opening a connection to a primary or 
> > to a secondary peer? Is that data expected to be configurable 
> > or run-time dependent? My understanding is that it was intended
> > to be configurable by the system admin.
> > 
> > The thing is that I do not really see what the role of primary,
> > secondary and alternate means? It is said that a connection should
> > be openned with all primary and secondary peers, and optionnally
> > with alternate ones. What is the real difference between them?
> > Shouldn't we simply say that for a particular peer, a connection
> > should be maintain or not?
> > 
> > In fact, my confusion comes from the fact that I am not sure
> > if the secondary peer refers to the Alternate-Peer AVP or not?
> > The thing is that it is not possible to say if it is a secondary
> > or alternate peer with that Alternate-Peer AVP.
> > 
> > Could you please tell me what were your intentions with that 
> > Peer role exactly?
> > 
> > Also, was the Alternate-Peer also good for routing answers 
> > or not?, can it be used for upstream requests from the client
> > to the server when using the Destination-Host AVP?
> > 
> > 
> > Requested change:
> > 
> > Please clarify this so that it is clear.
> > 
> > 
> > Regards,
> > Martin
>

---

From: Pat Calhoun <[email-masked]>
Date: Thu, 26 Jul 2001 09:24:55 -0700

hmmm.... now I'm really upset that I was convinced to remove all of the
verbage that I had originally proposed :(

See my comments below.

> all the time, I guess that is what it comes down to, right?

A peer could be marked as primary, but this isn't really necessary.
A DRT lookup could return multiple servers, and if they aren't
marked with any form of priority, then some mechanism should be employed
to determine which one should become primary. The same is done for
the secondary. It is recommended that there be at least 2 possible
servers for a given realm, but this isn't mandatory (of course, without
it you have no failover capabilities).

> connection to another host?????

Well, that's why you typically want a secondary up and available.
So, if you have a secondary connection, should the primary become
suspicious, you can start sending messages to the secondary right
away.

However, this is not a function of the routing table, but rather of the
peer table.

> have to same kind on feature, no?

well, perhaps the language here is mixed up. Alternates, as defined 
in the CER/CEA is ONLY for server-initiated messages, and not for
determining which peer is primary/secondary/alternate.

> important for Diameter nodes?

Absolutely. However, if you prefer to not include any failover
code in your implementation, then that's your perogative.

PatC