[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: transparent addrsel policy adjustment for outbound TE
Hi Pekka,
El 31/03/2006, a las 12:28, Pekka Savola escribió:
Hi,
Reading the extended shim design draft, in particular the discussion
on app modifications to do SRV lookup triggered the following thought.
I'm pretty sure someone must have run this thought experiment before,
so pointers would be useful if so.
well, i don' recall hearing this before, not in the multi6/shim6 forums
When applications perform DNS lookups and get multiple responses, the
_resolver libraries_ could, based on transparent (to the app) SRV
lookups or policy database, "weigh" the getaddrinfo responses given to
the applications. That is, because the apps by default try the
addresses in the order they get them from getaddrinfo, instead of
returning the records in round-robin fashion, the resolver could very
well return certain addresses first (e.g.,) 90% of the time, some
others 10%. (The obvious other address destination selection criteria
should be applied first.)
This seems like a good idea to me indeed. This would require only
updating the resolver and relying on the apps querying for SRV records
However, SRV records have this Service.Proto.Name format that may not
be the most appropriate for the shim6 needs, so perhaps it would make
sense to define a new record type that has similar weight priority
information, but that it has a node scope, i.e. does not depends of a
service in particular.
I mean, since the SRV record has this special name associated, it may
not trivial for the resolver to figure out which SRV record to query if
the application wants to initiate a communication with machine1.foo.com
so perhaps it makes sense to go all the way and use new RR
This would not have any negative impact on the application as all the
addresses would still be there but the ordering would just be modified
based on preferences, though running transparent SRV lookups could
incur delays etc. if it's not done in parallel.
This could be very effective means for outbound TE decisions without a
need to touch applications at all.
well, actually i see it exactly the opposite :-)
this is really useful for inbound TE
I mean, outbound TE is the easy part, since the multihomed site is in
control of the packets and it can route them however it wants to. So,
outbound TE can be done by affecting routing or by configuring the
source address selection policy table and so on.
The difficult part is how to influence incoming packets, that are not
in our scope. This is where the SRV records and all this stuff becomes
useful
This doesn't really help with inbound TE though. (One could add
similar function the site's authoritative DNS server, and unmodified
resolvers might comply with that policy, but caching DNS servers would
mess this up.)
why?
i agree that the expressed policy has to be quite stable, i mean, the
cache will introduce certain inertia, and changing the preferences may
take some time, but at least you can express some preferences about
which addresses the site preffers for incoming communications...
One could imagine that a part of inbound TE (for sessions which
originate at the site) could be handled with slightly similar source
address selection policies, but this doesn't help with inbound TE for
traffic originated from the Internet (but you could add the SRV
records or whatever if you care about this).
well, the idea is that resolvers do care about this and they will do
this processing.
What is needed next is to see how to combine this with the local
preferences...
Regards, marcelo
--
Pekka Savola "You each name yourselves king, yet the
Netcore Oy kingdom bleeds."
Systems. Networks. Security. -- George R.R. Martin: A Clash of Kings