Dynamic Relay Affiliation

(imported topic written by Shembop91)

I cannot find anything that directly addresses this, so here goes.

I would like to set up Dynamic Relay affiliation to force clients to use a local relay if it exists.

At first glance, this almost sounds like “Why set up affiliation at all?” - And ultimately that may be the answer.

Here is the problem.

Laptop users who travel around - I would not want to set up affiliation to their “home” because that would mean that they would connect to home even if there happened to be a relay where they were traveling, and cause WAN traffic that is not necessary, as they would be able to get their updates locally. Some of our laptops can be at another location for months, and I would not like to administer changing their affiliation every time they change location.

Our hop count to our DMZ is as many as 18 hops for internet users, so I cannot use limited hop count forcew people local. Sometimes the local Relay is 5 hops away, but the relays in another location are only 4 hops (due to hop compression)

What I would like to do is set up a Relay seek which basically looks like this.

Relays Advertisement list would have their Location By IP Address Name in their Advertisement

Clients would have relevance in their seek list that would be “Whatever is in my Location By IP Address” - and then follow it with whatever other affiliation I want to set up as secondary, etc.

(imported comment written by BenKus)

Hi Shembop,

So it seems that relay autoselection without affiliation will accomplish a lot of what you want (users would find the closest relay if they travel around, Internet users will find the DMZ relay), but the problem would be for your 5 hops vs. 4 hops locations… In that case, could you use manual selection to tell the computers in that office to directly go to the better relay?

Ben

(imported comment written by MattBoyd)

One thing we’ve considered doing is creating an individual relay affiliation group for each relay at sites that have multiple relays, but should always preference a specific relay unless it can’t be reached… I’ve pondered doing something like this as the relay affiliation string…

SITE1A;SITE1;DMZ*

Note:

SITE1A = Relay #1 at site1

SITE1 = All relays at site1

We haven’t actually tried this, so I’m not sure that something like this would actually work, or what consequences there would be.