ipv6検証をするためにios Developer CenterのTest for IPv6 DNS64/NAT64 Compatibility Regularlyを参考にipv6環境をmacに作りました。

Qiitaでも同様のやり方が書かれていました。

そして、以下のコードで検証しようとしました。

Reachability *reachability = [Reachability reachabilityForInternetConnection];
[reachability startNotifier];

以下が該当のReachabilityのソースです。

+(instancetype)reachabilityForInternetConnection {
  struct sockaddr_in zeroAddress;
  bzero(&zeroAddress, sizeof(zeroAddress));
  zeroAddress.sin_len = sizeof(zeroAddress);
  zeroAddress.sin_family = AF_INET;

  return [self reachabilityWithAddress:&zeroAddress];
}

+(instancetype)reachabilityWithAddress:(void *)hostAddress {
   SCNetworkReachabilityRef ref = SCNetworkReachabilityCreateWithAddress(kCFAllocatorDefault, (const struct sockaddr*)hostAddress);

   if (ref) 
    {
     id reachability = [[self alloc] initWithReachabilityRef:ref];
     return reachability;
    }

   return nil;
}    

sockaddr_inはipv4用なので動作しないはずと考えていましたが、ios9.3.1で動作させたところ、普通に動作してしまいました。
(参考までにAFNetworkingのipv6対応を見ると sockaddr_in6 に変えていていました。)

なぜ動作してしまうのか、教えていただけると幸いです。