Remix.run Logo
ChrisMarshallNY a day ago

Just because the physical and link layers support it, doesn't mean the application layer will.

You could say the same for Bluetooth chips.

I've seen stuff, man...

kalleboo a day ago | parent [-]

Apple requires that all iOS apps on the store function on an IPv6-only network (which is how several large mobile phone networks work), and everything works fine on the application layer.

ChrisMarshallNY a day ago | parent [-]

Huh. I believe that, but didn’t know it (I write apps for Apple kit). I have done low-level networking stuff that would definitely have run into issues, but that was over ten years ago. These days, I rely on the upper layer of the stack.

I really should try an exercise like the one the author did. I’m not necessarily against IPv6, but I’m still a bit skeptical of it. We’ll likely be forced into it, as there’s no alternative, but that’s not exactly a ringing endorsement.

kalleboo 18 hours ago | parent | next [-]

My carrier (NTT docomo in Japan) only provides IPv6 to the end device. Access to IPv4 servers is through DNS64/NAT64, where their DNS server rewrites any DNS response that has an IPv4 in it to [64:ff9b::(the IPv4)] which gets handled by a CGNAT gateway. So anything that looks up a server over DNS and connects to that works fine, but any hard-coded IPv4 address does not.

I presume Apples requirement is there so that all apps work on carriers like this.

The only times I've run into issues is when tethering and forgetting I can't ping an IPv4, or trying to tether a Nintendo Switch (which does not support IPv6)

Dagger2 19 hours ago | parent | prev [-]

If your low-level networking code (I assume you mean BSD sockets here) is correct, it shouldn't even need to be aware of v4 or v6. The BSD socket API is designed so that the addresses are in an opaque data structure that you just pass around.

ChrisMarshallNY 18 hours ago | parent [-]

Back when, I did BSD sockets stuff, but generally stay above that, these days.

You're right, and that's my plan.

I have heard, however, that quite a few folks stuck their oars into the IPv6 spec process. I've seen that kind of process before, and the end result can be ... less than ideal ...