Apart from the source code, there seems to be virtually no public information on the web of how BIND and djbdns, amongst other recursive resolvers, select which NS servers they will query as part of the recursive name resolution.
Is it always best to provide your own glue records for your domain names, even if you're actually still using the DNS servers of your hoster (i.e. should you glue the IP-addresses of hoster's DNS under your own domain), or is it better to provide the actual NS names of your hoster, without trying to make them look like they're under your domain?
Does it help to have a mixture of records, e.g. if my hoster has 5 auth NS servers with glues from .com (and my domain name is a non-.com one), can I re-claim some of them under my own domain with my own non-.com glue records, and give out the rest straight through the hoster's own .com domain?
Also, I've noticed that in my simple tests with dig(1), it seems like the glue records are not actually given by some parent zones, even if they would in fact be served by the same auth server should they be explicitly requested (try dig @ns.ripn.net domenus.su
and dig @ns.ripn.net domenus.ru
, seeing that you get no glue on the original attempt; although dig @a.gtld-servers.net. theos.com
does work as expected, giving out all .net and .com glue automatically); does it mean that if I have several domains within a certain zone like .ru/.su, it's still best for each such domain to have their own glue?