oginoの日記: あなたの IP address は 192.0.0.1 です。 2
日記 by
ogino
iPhone 上のアプリで表示されて「へ?」っとなった。
("192." とキーを打つと無意識に "168" と打ってしまうのを修正しながら)whois で引いてみると 192.0.0.0/24 が remarks: http://www.iana.org/go/rfc5736 とでる。たぐっていくと RFC 6333: Dual-Stack Lite に 192.0.0.0/29 があるのにたどり着いた。ちょっと勉強をサボるとこれだから… えっ August 2011? そんな昔からあるのか。
# JANOG Comment の推奨フィルタとかになくていいのかな。
メインは LINEMO を使用していて、こちらは IPv4 10.0.0.0/8 で IPv6 なし。やっぱり古くから変わらない感じ。
副回線に楽天モバイルを入れているが、こちらは IPv6 が有効で、IPv4 が 192.0.0.1。なるほど。IPv4 にはデフォルトゲートウェイも表示されない(たぶんアプリがトンネル IF に対応していない?)。普段は楽天 Link 用で使わないが「モバイルデータ通信の切替を許可」が有効になっていたので自動で切り替わったのかもしれない。やっぱり最後発だけあって、楽天モバイルはいろいろ新しいなぁ。
IPv4のSocketは通信出来るとかなんとか (スコア:0)
去年末あたりこれでとあるiOSアプリの緊急バージョンアップを余儀なくされました…
sysdiagnose見る限りではDNSひくと64::~みたいなものがきて、それをそのままsock_addrにぶちこもうとして通信不能になってました。なんじゃこれ?って調べたらDual-Stackでうんたらかんたらで…通信制御部分はSDK頼りなのですぐ直せないのでどうしようかとおもいつつ、厳密なIPv4アドレスを引いてsock_addrにぶちこんだら通信できたのでとりあえず緊急リリースっと…(いいのか?)
Re:IPv4のSocketは通信出来るとかなんとか (スコア:2)
# 去年末ってついこないだ?
> DNSひくと64::~みたいなものがきて、
それって IPv4 で通信できないときのやつのような気がします。DNS64/NAT64 の話ではないでしょうか。楽天モバイル DS-Lite の場合は IPv4 192.0.0.1 から通信できるので違うのではないかと。
RFC 6147: DNS64 [ietf.org]
The prefixes to be used as Pref64::/n and their applicability are
discussed in [RFC6052]. There are two types of prefixes that can be
used as Pref64::/n.
o The Pref64::/n can be the Well-Known Prefix 64:ff9b::/96 reserved
by [RFC6052] for the purpose of representing IPv4 addresses in
IPv6 address space.
o The Pref64::/n can be a Network-Specific Prefix (NSP). An NSP is
an IPv6 prefix assigned by an organization to create IPv6
representations of IPv4 addresses.
ざっくり詳解 - NAT64とDNS64:Geekなぺーじ [geekpage.jp]
iOSアプリ開発者は、このNAT64とDNS64環境でもアプリが正しく動作することを求められています。 Appleのサイトでは、NAT64とDNS64はOS X 10.11から標準搭載されるようになっているので、Macを使ってiOSアプリの動作確認をすることを推奨しています。
IPv6のみのネットワーク
https://developer.apple.com/jp/support/ipv6/ [apple.com]
2016年6月1日以降、App Storeに提出されるAppは、すべてIPv6のみのネットワーク接続に対応している必要があります。
Supporting IPv6 DNS64/NAT64 Networks
(Test for IPv6 DNS64/NAT64 Compatibility Regularly とかに手順とかあるみたい)
https://developer.apple.com/library/archive/documentation/NetworkingIn... [apple.com]
プログラミングは専門外ですので、外していたらすみません。