In my traces I can see a DNS AAAA query and response but after the response is received I see DNS A (IPv4) query and response. Now if I have an IPv6 address why do I need to get the IPv4 ? Maybe I can't use IPv6 addresses because my ISP might not support it? Trace file: cloudshark asked 18 Nov '11, 23:43 ddayan edited 23 Jan '12, 03:07 |
4 Answers:
Is there any traffic between the IPv6 response and the IPv4 query? The client would not know that IPv6 isn't supported by the ISP. Normally, after the IPv6 response, the client would attempt to make a connection using IPv6. If the connection attempt fails, then the client would do an IPv4 query followed by an IPv4 connection attempt, assuming that it receives a DNS response to the IPv4 query. answered 21 Jan '12, 20:47 Jim Aragon showing 5 of 7 show 2 more comments |
What does the AAAA response say? Does it contain an actual answer, or is it just confirmation the DNS has processed the request and has no answer for you. answered 19 Nov '11, 01:13 Jaap ♦ It returns an answer: gb.releases.ubuntu.com: type AAAA, class IN, addr 2a01:450:10:1::10 (21 Nov '11, 02:35) ddayan |
How much time is there between the AAAA response and the A request? Is your host IPv6 enabled? And your ISP? Do you see traffic to the IPv6 address in the AAAA response? Do you get a response? As most OS's give IPv6 a higher preference than IPv4, my bet would be that this system tries to use IPv6 and falls back to IPv4 after discovering that it can't use IPv6 for it's task. answered 21 Nov '11, 02:43 SYN-bit ♦♦ Sorry I forgot about this question. I know that my ISP doen't support it but the trace has a AAAA query and response with an answer after one second. Immediately after it receives the ipv6 answer it does a A query and the answer is also received one sec after. How does the Client knows ipv6 is not supported by the ISP, and that it needs the IPV4 address? (21 Jan '12, 16:52) ddayan |
A record has IPv4 address.AAAA has IPv6 address record. So when you request for a A record it returns a 32-bit IPv4 address, most commonly used to map hostnames to an IP address of the host.If you have IPV6 ,the need of IPV4 is A record.A record is set using the Ip-Address V4.If your service provider doesn't have Ip address version 6 ,better search a online provider who provides IPV6 .You can visit the WhoisXY.com to find the A record and AAAA record .The DNS query service is useful for it. answered 29 Mar '13, 02:35 hasini |
That's what so weird, there's no attempt it fires ipv4 straight away. Btw its a linux box and it happens when I use wget. I made a screenshot and uploaded the trace if that helps. http://www.2shared.com/file/RzP3DZf3/packet_dump-1.html
How do you know there's no attempt? Are you tracing the socket layer?
Further: what's wgets prefer-family setting?
Final: please share capture files through CloudShark.
I've done some tests and it looks like it only happens when wget is used. What do you mean by tracing the socket layer? I know how to set the prefer-family value, but how do I retrive it?
heres the capture file: http://cloudshark.org/captures/f7cfe4f0a897
Check this.
my wgetrc doesn't specify prefer-family, but it looks like wget asks for IPV6 first, maybe the version on backtrack 5 is modified
This comment from the referred article says it all IMHO:
But wget prefers IPv4 over IPv6, meaning if your download mirror supports IPv6, wget doesn’t use it by default.
You assume that IPv6 name resolution means an attempt on an IPv6 connection. That is not true. It's no more than gathering information on the available options. The preference then says what to try first. the above quoted comment says it's IPv4. That's what you see.
yea thats what I thought, it just doen't make sense seems like waste of time