Desativar pesquisas AAAA no libcurl

3

Temos um passo durante o nosso grande mapa para reduzir as resoluções DNS. O próprio aplicativo usa a biblioteca c-ares, assim como libcurl.

Noto que em cada resolução há primeiro uma tentativa AAAA e, em seguida, imediatamente uma resolução A. Isso é visto claramente com o TCPdump tanto no nosso servidor nomeado quanto no host.

Veja uma amostra do tráfego para o S3

$ tcpdump dst port 53
20:28:35.259552 IP x.x.x.x.55271 > ec2-xx.amazonaws.com.domain: 21815+ AAAA? s3.amazonaws.com. (34)
20:28:35.261526 IP x.x.x.x.56058 > ec2-xx.amazonaws.com.domain: 21823+ A? s3.amazonaws.com. (34)

E repete para cada resolução. Como fazemos mais de 70 milhões de resoluções durante esse processo, faz sentido querer cortar 50% disso como desperdício.

Como posso desativar as pesquisas de IPv6 no Ubuntu?

Eu tentei mudar a precedência em /etc/gai.conf para:

precedence ::ffff:0:0/96 45

No entanto, ainda estou vendo o ubuntu tentar primeiro resoluções IPv6. Qualquer ajuda seria muito apreciada

Editar:

Meu /etc/resolv.conf é simples com apenas um servidor de nomes:

cat /etc/resolv.conf 
nameserver x.x.x.x
    
por Stephen Wood 01.03.2013 / 21:33

1 resposta

2

O IPv6, não o IPv4, é a versão voltada para o futuro do IP, você sabe ... O IPv6 pede que você o veja :-( Mas você pode desativá-lo.

Se você estiver usando libcURL, tudo o que você precisa fazer é:

curl_easy_setopt(easy_handle, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);

No entanto, você está preocupado com o tempo que esses pedidos extras de AAAA levam ou com o tráfego de rede extra? Espero que o A e o AAAA sejam feitos em paralelo, para que você não precise se preocupar com um atraso.

    
por 01.03.2013 / 22:48