Google 不通障害のメモ

まずはサマリ。

発生時期
2004-12-19T02:30:00+09:00 前後より、断続的に発生
障害内容
www.google.com / www.google.co.jp への接続障害
希に回復するも、検索結果よりキャッシュを表示しようとすると再び接続不通に (再現率 100 %)
他 Web サイトへの接続などは一切問題なし
原因
Google Web サーバとの TCP 3 ウェイハンドシェイクが正常に完了せず、コネクションが確立されないため

障害の詳細
例として、正常な 3 ウェイハンドシェイクを以下に示します。
google.co.jp と 3 ウェイハンドシェイクが確立するまでの TCP フロー
3 ウェイハンドシェイク確立時のパケット
この例は教科書通り――ランダムに決定される事になっているはずの初期シーケンス番号がどちらも 0 なのはともかく――の 3 ウェイハンドシェイクなので正常に通信路が確立されます。
そしてこれが障害時の 3 ウェイハンドシェイク。
3 ウェイハンドシェイク失敗時の TCP フロー
3 ウェイハンドシェイク失敗時のパケット
一見してわかる通り、互いに SYN やら RST やらを繰り返すだけで通信路が確立されません。
考察と解決法
3 つほどサンプルを取りましたが障害時の TCP フローはほぼ同様のものでした。つまりこちらが SYN を送った直後に SYN が送りつけられ、それに対する SYN/ACK を送信してやっても ACK は返らず RST で強制切断。例外として、コネクション確立後に RST が来て即切断という例もありました。何れにしろコネクションが確立しないのでは話になりません。
回復時に検索結果からキャッシュを閲覧しようとすると何故再発するのか、については謎です。ていうかそこまで手が回りませんでした。私の感覚では偶然の一致 (キャッシュ閲覧とは無関係になることもありましたし) と思うのですが、何らかのトリガになっている可能性も否定しきれず。
何にしろ問題があるのは IP アドレス 66.223.189.104 のサーバのようです。事実、216.239.39.99 などでは問題ありません。てことで手っ取り早く解決、または将来に備えて回避するには hosts ファイルで IP アドレスの上位 1 オクテットが 66 なサーバを使わないようにしておくことでしょう。

コメントを残す