O DNS passa por TCP quando o tamanho da solicitação ou da resposta é maior que um único pacote, como em respostas com muitos registros ou muitas respostas IPv6 ou a maioria das respostas DNSSEC.
O tamanho máximo era originalmente de 512 bytes, mas há uma extensão para o protocolo DNS que permite aos clientes indicarem que podem manipular respostas UDP de até 4096 bytes.
As respostas DNSSEC são geralmente maiores que o tamanho máximo de UDP.
As solicitações de transferência geralmente são maiores que o tamanho máximo do UDP e, portanto, também serão feitas no TCP.