28フォールバック問題 フォールバックとは– クライアントが接続先IP アドレスのリストを得る– リストの先頭にある IP アドレスに接続しようとして、失敗すると次のリスト要素の IP アドレスを試す 原因– サーバがそのプロトコル・ IP アドレスでアプリサービスをしていない– ネットワークの接続性が失われている 問題– タイムアウトを繰り返すので、接続まで時間がかかる– 環境によっては数十秒かかる場合もありうる
29.
29フォールバックの回避 サーバがサービスしていない IPアドレスは DNS に登録しない IP の接続性を健全に保つ ポリシーテーブルを変更する– ポリシーテーブルの参照法は下記のとおり•Windows: netsh interface ipv6 show prefixpolicies•Linux: ip addrlavel show•FreeSBD: ip6addrctl show サーバサイドだけでの対応では完全には解決できない
30.
30Happy Eyeballs RFC6555、 RFC6556 で定義 従来は TCP Syn の接続失敗を受けて次の TCP Syn を送っていた Happy Eyeballs は IPv6 / IPv4アドレスに両方に対して一気にTCP Syn を送る– Syn/Ack 応答が帰ってきた IP にTCP Ack を送って接続 詳細の動きが不明瞭で実装依存性が高い– 複数 I/F の場合や IPv6 アドレスが複数ある場合は?– IPv6 Syn/Ack が遅れて届いたら?– 今後の展開や運用を注視すべき