DocBit Notes チュートリアル

Binanceアプリが頻繁に切断・再接続される?MTUとTCP RSTのネットワーク調査

Binanceアプリのチャートが数分おきに固まったり、ステータスバーに「再接続中」と表示されたりする場合、それはネットワーク層における典型的なトラブルのサインです。本稿では、MTU設定、TCP RST、NATタイムアウトといった観点から、頻繁な切断の原因を調査・解決する方法をまとめました。アプリのダウンロードはバイナンス公式サイトまたはバイナンス公式アプリから行ってください。iPhoneユーザーの方はiOS版インストール手順も併せてご参照ください。

長時間接続(永続接続)の仕組み

Binanceアプリのリアルタイム価格データは、「WebSocket」というプロトコルによる長時間接続で取得されています。

  • 1つのTCP接続を維持し続ける。
  • サーバー側が価格の更新を能動的にプッシュ送信する。
  • 20〜30秒ごとに「ハートビート(生存確認パケット)」を送信して接続を維持。
  • ハートビートが3回失敗すると、接続が切断されたと判断して再接続を試みる。

このTCP接続を妨げる要因が一つでもあると、アプリは頻繁に再接続を繰り返すことになります。

原因1:MTU 設定の不適切

MTU(最大転送単位)は、1つのIPパケットの最大サイズを決定します。

  • 標準的なイーサネット:1500
  • 一部のPPPoE(プロバイダー接続):1492
  • 古いADSLなど:1454
  • VPNトンネル:通常 1300〜1400

MTUが大きすぎると、パケットがネットワーク経路の途中で分割(フラグメンテーション)されたり、破棄されたりします。 症状:

  • K線の全量読み込みなど、大きなデータパケットが届かなくなる。
  • ハートビート(小さなパケット)は通るため、一見つながっているように見える。
  • 通信が断続的になる。

調査と対策:

  • Windowsのコマンドプロンプトで ping binance.com -f -l 1472 を実行し、パケットが分割されるかテストする。
  • 分割されない最大値を特定し、ルーターのMTU設定をそれに合わせて調整する。

原因2:TCP RST(リセット)による強制切断

ネットワーク経路上のデバイス(ファイアウォールやISPの装置)が、「疑わしい接続」と判断して意図的に RST(リセット)パケット を送り、接続を終了させることがあります。

  • 企業のファイアウォールが業務外の通信を遮断している。
  • プロバイダーの装置が暗号資産取引に関連するトラフィックを検知してリセットをかける。

症状:

  • 徐々に遅くなるのではなく、突然プツリと切れる。
  • すぐに再接続に成功する。
  • 一定の間隔(例:60秒ごと)で切れることが多い。

対策:

  • ネットワークを切り替える(Wi-Fiから4G、または別のWi-Fiへ)。
  • プロキシやVPNの設定を確認、または一時的にオフにする。

原因3:NAT タイムアウト

家庭用ルーターのNATテーブルは、個別の接続情報を保持しています。

  • 接続が一定時間「無言(通信なし)」の状態になると、NATマッピングがタイムアウトして消去される。
  • その後サーバーからデータが送られてきても、ルーターはどのデバイス宛か分からず破棄する。
  • クライアント側はデータが来ないため、タイムアウトして再接続する。

Binanceのハートビート(30秒)は通常このタイムアウトを防ぐのに十分ですが、一部のISP提供ルーターでタイムアウト設定が極端に短い(例:60秒未満)場合に発生することがあります。

対策:

  • ルーターのファームウェアを最新にアップデートする。
  • より安定した有線接続を試す。

原因4:Wi-Fi 信号の不安定

Wi-Fi信号が弱いと、パケットロスが多発します。

  • TCPの再送が頻発し、接続がタイムアウトまたはリセットされる。
  • 特に電子レンジの使用や壁などの障害物によりパケットが欠落する。

対策:

  • ルーターの近くに移動する。
  • 5GHz帯(混信が少ない)を使用する。

原因5:プロバイダーによる帯域制限(スロットリング)

一部のプロバイダーは、特定の時間帯に特定のトラフィックを制限したり妨害したりすることがあります。

  • 「夜間はスムーズだが、昼間だけ遅い」「特定の時間帯だけ切れる」といった症状が特徴です。

対策:

  • 別のプロバイダーの回線を試す。
  • 信頼できるネットワーク最適化ソリューションを検討する。

総合的なトラブルシューティング手順

  1. モバイル通信(4G/5G)に切り替えてみる
    • 切断されなくなる場合 → 自宅のWi-Fiまたは固定回線の問題。
    • 引き続き切断される場合 → キャリアのネットワーク、またはアプリ/サーバー側の問題(稀)。
  2. ルーターの再起動とMTU調整
    • MTUを1454程度に下げてみる。
  3. 複数デバイスでの比較
    • 家族のスマホでも同様の症状が出るか確認する。

シナリオ別の切断頻度の目安

シーン 平均的な切断間隔
安定した家庭用光回線 ほぼ切断されない
4G(電波良好) ほぼ切断されない
4G(移動中) 30秒〜5分
公共Wi-Fi(空港・カフェ等) 5〜30秒
フィルタリングの厳しい社内LAN 30〜60秒

アプリの再接続挙動

Binanceアプリは切断を検知すると以下の動作をします。

  1. ステータスバーに「接続が切断されました」と表示。
  2. 5秒待機後に再接続を開始。
  3. 成功すれば価格情報の更新を再開。
  4. 失敗すれば10秒、さらに20秒と間隔を空けてリトライ。
  5. 連続して失敗する場合、エラーコード 1001 を表示。

切断を減らすための習慣

  • 可能な限り 5GHz Wi-Fi または有線接続を使用する。
  • 地下鉄やエレベーターなど電波の弱い場所でのトレードを避ける。
  • ルーターの「省電力モード」をオフにする。
  • プロキシやVPNの多段接続を避ける。

FAQ

Q:切断中に注文を出すと失敗しますか?
A:いいえ。注文はHTTPSによる短期間接続で行われるため、チャートのWebSocket切断とは別の経路で処理されます。

Q:切断されるとログアウトしてしまいますか?
A:いいえ。ログイン状態は維持されます。

Q:ブラウザ版の方が切断されにくいですか?
A:ブラウザ(Chrome等)は独自の再接続最適化を持っているため、一部の環境ではアプリより安定して見えることがあります。

関連記事