Antes de que alguien pregunte: He visto ¿ Cuándo las consultas DNS usan TCP en lugar de UDP? y no responde mi pregunta
Todo lo que escucho es " si la respuesta es demasiado larga, DNS usará TCP ". Sin embargo, esto no explica cómo sucede.
Así que aquí está la situación: el cliente DNS solicita la resolución de un registro usando UDP. El registro es demasiado largo para UDP:
- el servidor responde con un código de operación específico, para que el cliente cambie a TCP
- el servidor no responde en absoluto y el cliente vuelve a intentarlo a través de TCP
- el servidor abre la conexión TCP al cliente (estúpido, si cuenta NAT, pero ¿quién sabe?)
- el cliente de alguna manera (?) 'sabe' que la consulta dada debe ejecutarse a través de TCP para que no se moleste con UDP en primer lugar
- Los pixies DNS convierten mágicamente UDP en TCP cuando sea necesario
He estado buscando en Internet la respuesta, pero hay mucho ruido (ver arriba), y parece que no puedo escribir una consulta de Google adecuada para eso (ni puedo encontrar la información en RFC, de hecho) .
1.
y 4.
ambos son aproximadamente correctos (cuál de los dos depende de las circunstancias).