Subject: [v6ops] rfc8305 and apple iOS

From: Yannis Nikolopoulos <[email-masked]>
Date: Sat, 27 Feb 2021 19:16:36 +0200

Hello,

It's been a while, but I was under the impression that Apple's iOS 
honors rfc8305, section 3:

"When a client has both IPv4 and IPv6 connectivity and is trying to
    establish a connection with a named host, it needs to send out both
    AAAA and A DNS queries.  Both queries SHOULD be made as soon after
    one another as possible, with the AAAA query made first and
    immediately followed by the A query.

    Implementations SHOULD NOT wait for both families of answers to
    return before attempting connection establishment"

I was running some tests on an iphone 11 w/ safari and realized that the client waits for both DNS replies before sending the
first SYN packet (got several captures). Has anybody got any insights on this?

Yannis

---

From: Ted Lemon <[email-masked]>
Date: Sat, 27 Feb 2021 12:23:13 -0500

Do you know which api the client uses?

> On Feb 27, 2021, at 12:17, Yannis Nikolopoulos <[email-masked]> wrote:
> 
>  Hello,
> 
> It's been a while, but I was under the impression that Apple's iOS honors rfc8305, section 3:
> 
> _______________________________________________
> v6ops mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/v6ops

---

From: Yannis Nikolopoulos <[email-masked]>
Date: Sat, 27 Feb 2021 19:42:21 +0200

Hi,

I'm not sure, but the setup is an iphone 11 connected (via USB) to a 
macbook laptop, where tcpdump traces are taken from the iphone's 4g 
radio (attached to the laptop as a remote virtual interface). So, the 
client is Safari 14 and I'm guessing the web api is used

---

From: Ted Lemon <[email-masked]>
Date: Sat, 27 Feb 2021 13:00:16 -0500

Okay, that’s the information I was looking for. I don’t know the answer. My point was that how a particular application behaves isn’t really embedded in the operating system. It would be interesting to see if the different APIs all behave the same. 

> On Feb 27, 2021, at 12:42, Yannis Nikolopoulos <[email-masked]> wrote:
> 
>  Hi,
> 
> I'm not sure, but the setup is an iphone 11 connected (via USB) to a macbook laptop, where tcpdump traces are taken from the iphone's 4g radio (attached to the laptop as a remote virtual interface). So, the client is Safari 14 and I'm guessing the web api is used
>

---

From: David Schinazi <[email-masked]>
Date: Sun, 28 Feb 2021 16:48:10 -0800

Hi Yannis,

Safari uses Apple's Network.framework under the covers, which fully
supports RFC 8305.
Note that it also supports the "Resolution Delay" as described in Section
3, so if the A
record is received before the AAAA record, Safari will wait up to 50ms for
the AAAA record
before sending its first SYN.

David

On Sat, Feb 27, 2021 at 10:00 AM Ted Lemon <[email-masked]> wrote:

> Okay, that’s the information I was looking for. I don’t know the answer.
> My point was that how a particular application behaves isn’t really
> embedded in the operating system. It would be interesting to see if the
> different APIs all behave the same.
>
> macbook laptop, where tcpdump traces are taken from the iphone's 4g radio
> (attached to the laptop as a remote virtual interface). So, the client is
> Safari 14 and I'm guessing the web api is used
>
> On Feb 27, 2021, at 12:17, Yannis Nikolopoulos <[email-masked]>
> <[email-masked]> wrote:
>
>  Hello,
>