(no subject)

Frank Volkmer <[email protected]> Fri, 15 Dec 2006 22:31:38 +0100
Newsgroups gmane.ietf.rserpool
Message-ID <[email protected]>
Hello everybody,

right now I am implementing a prototype registrar server for Dr.  
Tuexen. I'm doing this in a follow up to my bachelor thesis, in which  
I started working on that project.

The server is still missing a lot of features like takeover  
functionality and asap interfaces to the pool elements and pool  
users. During my studies of the definition documents I found some  
issues I have some questions about:

The first issue is about sctp and the lifetime of sctp associations.  
Do assocs between two registrar servers exist for the complete  
lifetime of both servers, only dying, when one server dies, or can  
they be created and shutdown when necesary?

Next question: The ENRP draft says, there are point-to-point messages  
and announcments. Where is the difference? Are announcemennts ment  
for everybody like presence mesages and the takeover stuff? Or are  
announcements generally all messages that are sent via the multicast  
group? I think it wouldn't make sense to send some of the bigger  
messages via multicast, like responses to peer list requests or  
handle table requests. That would create a lot of traffic on the  
multicast group and all associated peers.

The BSD SocketApi describes a neat feature, namely a "send-to-all- 
assocs" mode via a SCTP_SEND_ALL flag to the send call. Sounds very  
nice and would make life sometimes easier. Problem: I can not put in  
the correct receiver server ID for each peer since its a send-to-all  
message. The draft only says, that the ID should be set to 0 when  
sendiang via the multicast group. What should I do?

In 3.1 3D the enrp draft says that each message sent to the multicast  
group must be sent as a copy to each peer by an sctp point-to-point  
assoc. Why just not ignore everything from the multicast group and  
wait for the SCTP copy, except for presence messaged of new registrar  
servers? Multicast messages could be spoofed, and i think it might be  
tricky to establish the nedded security mechanisms like TLS for  
multicast UDP.

Right now, I am spending some time on implementing the takeover  
functionality. When two or more registrar initiate a takeover, the  
server with the lowest ID will have to continue it, all others have  
to cancel it. In a scenario, where some registrars may die sometimes,  
and get taken over, the server with the lowest id will end up with a  
lot of pool elements to oversee.
This leads to a question: Should it be possible for registrar servers  
to delegate some of their pool elements to other registrars to  
balance out the overall load?
Is there a timeout for the takeover proscess? What happens if it  
times out and not all peers have answeres?

In a follow up i thought about some network topologies: There are no  
rules to control how pool users and pool elements choose a registrar  
to get either a pool handle resolution or a home server to register  
with. If one registrar server is in the topologie closer to the pool  
users or elements, he will have shorter response times and thus  
getting chosed more frequently. Also there is no rule to choose the  
registrar with, for example, the lowest load.
Right now, the enrp draft suggests that all registrar servers must be  
able to see each other, since there is no possibility to forward  
registration information when multicast is disabled.

Right now these are just some ideas, they still need and will be  
tested, when my implementation reaches the necesarry level of  
completness.

Best regards

	Frank Volkmer