Paradoxně v tomhle ohledu jsou hodně velké záznamy lepší než nějaké menší. To proto, že u hodně velkých záznamů se odpověď nevejde do UDP a je nutné použít TCP, které má vestavěnou odolnost proti zfalšovaným zdrojovým adresám. Osobně taky doporučuji nastavovat maximální velikost UDP odpovědi na něco kolem 1300 B místo výchozích 4096 B.
Díky za nasměrování. Kdybyste měl po ruce nějaký prověřený zdroj podrobnějších imformací, byl bych za něj rád. Co jsem tak googlil, tak se infromace rozcházejí.
Například Wikipedie o tom říká: "The Transmission Control Protocol (TCP) is used when the response data size exceeds 512 bytes, or for tasks such as zone transfers. Some resolver implementations use TCP for all queries."
je to tak ako na wikipedii. Podobne to komentuje aj D.J.Bernstein vo svojom djbdns:
When are TCP queries sent?
If you're in one of the following situations, you need to configure your DNS server to answer TCP queries:
1. You want to publish record sets larger than 512 bytes. (This is almost always a mistake.)
2. You want to allow outgoing zone transfers, for example to a third-party server.
3. A parent server refuses to delegate a name to you until you set up TCP service.
If you aren't in any of those situations, you have no need to provide TCP service, and you should not set it up. DNS-over-TCP is much slower than DNS-over-UDP and is inherently much more vulnerable to denial-of-service attacks. (This applies to BIND too.)
K tomu sa da doplnit este DNSSEC
Zrovna názory D. J. B, bych nebral jako bernou minci. Řekl bych, že názory DNS komunity jsou spíše opačné. Ono je taky otázka kdy tohle DJB napsal a jaký byl tehdy průměrný výkon serverů a síťových prvků v porovnání se současností.
Teď se spíš ukazuje, že DNS přes TCP docela dobře funguje (Geoff Huston naměřil rozbitost asi u 2% uživatelů). Samozřejmě, pokud by najednou začali všichni na všechno používat výhradně TCP DNS, nejspíš to položí kořenové a TLD servery. Rozhodně se ale zdá, že použití TCP je pro větší dotazy lepší nápad než EDNS0, které umožňuje odesílat UDP DNS zprávy o velikosti až 4096 B.
Tak DJB je velni ortodoxny co sa tyka dodrziavania standardov - vid. jeho letity problem s errno. Pisal to urcite davno, ale pochybujem ze sa jeho nazor na pouzitie TCP u DNS zmenilo. V kazdom pripade naozaj su situacie kedy je TCP vyhodnejsie a DNS servery by mali vediet handlovat oba protokoly.
Wikipedia bohužel zřejmě nereflektuje rozšíření EDNS0, které systémům umožňuje odsignalizovat si libovolnou maximální délku UDP zpráv (standardně 4096 B)
Tady jsem třeba našel prezentaci o fragmentovaném provozu a DNS:
https://ripe65.ripe.net/archives/video/91/