Frage Wann verwenden DNS-Abfragen TCP anstelle von UDP? [Duplikat]


Mögliche Duplikate:
Stimmt es, dass ein Nameserver Anfragen über TCP beantworten muss? 

Ich weiß, DNS verwendet UDP für die meisten seiner Abfragen, aber unter welchen Umständen wird es stattdessen TCP verwenden?


36
2017-07-04 06:20


Ursprung


Das Stapeltausch Websites sind keine Foren. Sie sind Q & A-Sites. Bitte sehen Sie sich ... an FAQs warum das wichtig ist. Die Frage "closed as exact dupe" ist nicht die gleiche Frage, hat aber die gleiche Antwort und Alnitak ist so ziemlich ein DNS-Halbgott. - Chris S


Antworten:


DNS geht über TCP, wenn die Größe der Anforderung oder der Antwort größer als ein einzelnes Paket ist, z. B. bei Antworten mit vielen Datensätzen oder vielen IPv6-Antworten oder den meisten DNSSEC-Antworten.

Die maximale Größe betrug ursprünglich 512 Byte. Es gibt jedoch eine Erweiterung für das DNS-Protokoll, mit der Clients angeben können, dass sie mit UDP-Antworten von bis zu 4096 Byte umgehen können.

DNSSEC-Antworten sind normalerweise größer als die maximale UDP-Größe.

Übertragungsanforderungen sind normalerweise größer als die maximale UDP-Größe und werden daher auch über TCP ausgeführt.


34
2017-07-04 21:38



DNSSEC führt keine Zertifikatsverhandlung durch! Die für DNSSEC hinzugefügten Ressourceneinträge unterscheiden sich nicht von anderen Ressourceneinträgen. DNSSEC funktioniert problemlos über UDP und greift nur auf TCP zurück, wenn die Antwort zu groß ist (vgl dig +dnssec @a.gtld-servers.net com. any und dig +dnssec @a.gtld-servers.net com. dnskey) - Cakemox
In der Tat, ich stehe korrigiert. Diese zweite Abfrage hat mit UDP einwandfrei funktioniert. Ich werde meine Antwort ändern. - Ladadadada
Sind Anfragen größer als 512 etwas, was in der Praxis passiert oder ist es nur ein theoretischer Fall? Ich kann mir keine gültige DNS-Anfrage vorstellen, die nicht in 512 Bytes passen würde. - kasperd
@Kasperd ANY-Abfragen sind berüchtigt für die Erzeugung großer Pakete, weshalb sie häufig bei DNS-Amplifikationsangriffen verwendet werden. Mit EDNS0 versuchen Angreifer, eine kleine Abfrage zu senden, die eine Antwortgröße knapp unter der Standardgrenze von 4096 Byte erzeugt. - Zenexer
RFC 2671  Siehe auch Wikipedia - Ladadadada


Das Transmission Control Protocol (TCP) wird verwendet, wenn die Antwortdaten   Die Größe überschreitet 512 Byte oder für Aufgaben wie Zonenübertragungen.

http://en.wikipedia.org/wiki/Domain_Name_System#Protocol_transport


9
2017-07-04 21:36