前書き

オンラインゲーム中に通信が切断されるという症状が起きていませんか?
回線の切断というのは様々な要因が絡むため、1つの対処ですべてが解決するわけではありませんが、自分が使ってる機器が原因である場合には相手に申し訳ないわけです。
ここでは、NTTのFTTH(家庭向け光ファイバー)を使ってインターネットに接続しており、そこに接続するPCやゲーム機で通信断が発生する要因の1つになりえる部分のチューニングを行い、通信断を発生しにくくすることを目指します。

対象となる環境

  • NTT東西が提供するFTTHサービスを利用している
  • NTTからHGWのレンタルを受けていて、これをルーターとして利用している

このページでチューニングを行う回線の環境

回線契約は様々ありますので、一例として今回効果を確認した環境です。

FTTH:NTT フレッツ光 ネクスト スーパーハイスピードタイプ 隼
ひかり電話オプション:契約
ISP:OCN 光 「フレッツ」

レンタルHGW:PR-400NE

インターネット接続方法:IPoE(IPv6) + OCNバーチャルコネクト(IPv4)
OCNバーチャルコネクトへ「フレッツ・ジョイント」でHGWに配布されるアプリケーションを利用

なお、PR-S300/RV-S340/RT-S300などを使用している場合、NTTが無料交換を受けているようです。300系と400系は今回重要な「セッション数」が倍違いますので、まずは交換を依頼するとよいです。
NTT西日本の場合:https://qa.flets-w.com/faq/show/7297
NTT東日本の場合:(適切なページが見つからず……。見つけた方、ぜひ私のTwitterへご連絡を……。)

例として、2機種の仕様を抜粋します。
PR-S300NE:"IP マスカレード:最大 2048 セッション"
PR-400NE:"IP マスカレード:最大 4096 セッション"

HGWの設定画面へのアクセスの確認

HGWをチューニングするにあたって、HGWの設定画面にアクセスできることを確認しておきます。ブラウザに「http://ntt.setup/」や「http://192.168.1.1/」などを入力し、ユーザーメートパスワードを入力します。HGWの設定画面が表示できればこの後の手順が続行できます。以降、「http://192.168.1.1/」でアクセスできるものとして手順を書きますが、このアドレスではない場合、適宜読み替えてください。

HGWの設定画面

現状把握

まずは、症状が発生する時のログを取りたいので、オンラインゲームなどをプレイして、実際に通信が切断された状態を再現してください。

HGWの設定画面で 情報→通信情報ログ→障害/通知ログ→選択 と進んでください。

HGWの通信情報ログ画面

画像で黒塗りしているところにログが表示されます。
その中から、次のログを探してください。これが存在していれば、今回のチューニングで改善できるかもしれません。

****-**-** **:**:** nat   - 3.ntc: TX-ERROR List Create Error : XXX ***.***.***.*** : ***** > ***.***.***.*** : ***** (IP-PORT=SAM0)

"TX-ERROR List Create Error" というログが、こちらから発信しようとした通信をHGWが性能(仕様)の限界で破棄したという意味です。
これがオンラインゲーム中に発生していれば、最悪ゲームが切断されます。
ログの時間とオンラインゲームで通信断が発生した時間を照らし合わせて確認してみてください。

チューニング(HGW設定画面)

HGWの設定画面で 詳細設定→SPI設定 と進みます。
この設定値を基準に「IPoE IPv4設定」の値を設定します。
まずは、この値を確認して、そちらの設定に進みます。
それでもだめなら、以下の設定変更を行います。

HGW SPI設定画面
  • TCPタイムアウト(秒) (設定範囲:30~86400)
    • 値を小さくする。(例:180)
      小さくしすぎると逆に通信が切断されやすくなるので、各自で最適値を探ってください。
      最適値は行っている通信によって異なります。
  • UDPタイムアウト(秒) (設定範囲:30~86400)
    • 値を小さくする。(例:180)
      小さくしすぎると逆に通信が切断されやすくなるので、各自で最適値を探ってください。
      最適値は行っている通信によって異なります。
  • ICMPタイムアウト(秒) (設定範囲:30~86400)
    • 30を設定(初期値で30(最小)であれば変更しない)

「設定」→「保存」をクリック

チューニング(フレッツ・ジョイント アプリケーション)

「http://192.168.1.1:8888/t」をブラウザで開く。「IPoE IPv4設定」をクリック

配信済み事業者ソフトウェア一覧

「高度な設定」の【SPIタイムアウト設定】「[編集]」をクリック

IPoE IPv4設定 高度な設定
IPoE IPv4設定 高度な設定 SPIタイムアウト設定 編集
  • TCPタイムアウト[Established](秒) (設定範囲:180~7200)
    • 「HGW設定画面」の「TCPタイムアウト(秒)」と同じ値にします。
      例:300
  • TCPタイムアウト[FIN/RST](秒) (設定範囲:1~300)
    • 小さい値にします。通信を終了しようとしているTCPセッションなので、これを長く保持する必要はありません。
      例:4
      ※ 1とかでも問題ないかもしれません。
  • UDP(秒) (30~7200)
    • 「HGW設定画面」の「UDPタイムアウト(秒)」と同じ値にします。
      例:300
  • ICMP(秒) (1~7200)
    • 「HGW設定画面」の「ICMPタイムアウト(秒)」と同じ値にします。
      例:30
  • その他のプロトコル(秒) (1~7200)
    • 「HGW設定画面」の「ICMPタイムアウト(秒)」と同じ値にします。
      例:30

「設定」ボタンをクリック→確認ダイアログで「OK」をクリック

効果の確認

オンラインゲームを行って、症状が発生しないことを確認してください。まだ発生するようであれば、TCPタイムアウトとUDPタイムアウトの値を見直してください。
ただし、値を小さくしすぎるとほかの通信が切断されやすくなるなどの弊害もありますので、あなたの環境にとって最適な値を探ってみてください。