There's a general push to move to IPv6 and this is going to have performance consequences for TLS (and non-TLS) connections. In particular, Apple has announced a deliberate delay in waiting for IPv6 responses of 25ms (https://www.ietf.org/mail-archive/web/v6ops/current/msg22455.html) after receipt of an IPv4 address. This means that dual stack (or IPv6 only) web sites are likely to load faster than IPv4 only.
- Query the DNS resolver for A and AAAA.
If the DNS records are not in the cache, the requests are sent back to back on the wire, AAAA first.
- If the first reply we get is AAAA, we send out the v6 SYN immediately
- If the first reply we get is A and we're expecting a AAAA, we start a 25ms timer
- If the timer fires, we send out the v4 SYN
- If we get the AAAA during that 25ms window, we move on to address selection