目次

前提知識

  • アラド戦記のP2P通信について
    • IPv6ネイティブ通信に対応しておらず、場合によっては IPv4 over IPv6 を利用して通信している
    • PTプレイ時に UDP の ポート番号 5063 を利用してP2P通信している

PTプレイに問題が発生する要因

  • ping 値やパケットロス率が高い環境で通信している
    • 単純に通信品質が悪い為、PTプレイに悪影響が発生する
    • 一般的に PPPoE 接続から IPoE 接続に変更する事で解決する
      • PPPoE 接続は夜間などのピークタイム時にNTTのNTEが輻輳する事で通信品質が低下する
    • IPoE 接続で通信品質が悪い場合は PON が輻輳している可能性がある
      • VNE 側の輻輳は考えにくいので TDMA 方式を考慮すると特定時間帯に PON が輻輳する事はありえる
        • GE-PON で遅延が発生する場合は 10G-EPON に切り替える、10G-EPON で遅延が発生する場合は GE-PON に切り替える事で解決する可能性がある
          • ただし、OLT が GE-PON と 10G-EPON を共存出来る場合は ONU 収容数に変化がないので一概に解決できるとは言えない
  • リレーサーバーを経由している
    • NAT超えに失敗する通信環境ではリレーサーバー経由での通信になる
    • Relay と表示されている場合はリレーサーバー経由で接続されている
    • P2P と比較すると無駄なサーバーを経由する為遅延が増加するが、もとの通信品質が高ければ基本的に問題にはならない
    • リレーサーバーへの通信は UDP ではなく TCP が利用される
      • 大本の通信品質が悪い場合、TCPの再送制御によりパケットの再送が多発し、プレイ困難な状況になるはず(未検証)

快適なPTプレイをする方法

  • 有線LANまたはWi-Fi 6以降を利用する
  • ファイアウォール設定で UDP ポート番号 5063 を許可する
  • UDP ポート番号 5063 を開放する
    • ただし、現在の日本のネットワークでは安定した通信品質で上記ポートを解放できる環境は少ない
  • リレーサーバー経由になる前提で高通信品質な IPoE 接続を利用する
    • リレーサーバー経由になる理由
      • お互いにポート開放が出来ておらず、NAT超えに失敗している事が理由
        • DS-Lite を利用した通信環境ではポート開放ができない
        • MAP-E を利用した通信環境では任意のポートを利用できず、偶然 5063/UDP が利用可能になる確率は極めて低い
          • JPIXが提供する「v6 プラス」の固定IPサービスなどを利用する事で MAP-E 利用を回避できる
    • VDI または以下のような環境を作れば AFTR または MAP BR での IPv6 のカプセル化解除コスト回避や TCP での接続を回避できる
      ただし、お金をかけて環境を用意する意味はほぼ無い
  • 固定PTの場合は全員で VPN (NetBird, Tailscale, Cloudflare Mesh, Hamachi など) を利用する(未検証)
    • ポート開放について一切考える必要がなくなる
    • 留意点
      • 意図しない通信も可能になるのでファイアウォール設定を徹底する必要がある
      • 大本の通信品質が悪い場合は効果がない
  • 集合住宅の場合は物件探しの段階で光配線方式の住宅のみを選ぶ

余談

  • 現在のアラド戦記は STUN 未対応
  • MTU 変更は無意味
    • アラド戦記の通信パケットは以下画像の通り100バイト前後なので断片化が発生することは無いに等しい
  • スループットが高速である事とP2P接続の安定性は相関しない
  • 現在の日本のインターネットは少なくとも以下2点どちらも理解している前提でなければ話が噛み合わないので難易度が高い
    • 徹底解説v6プラス
    • 国家資格の「工事担任者資格 第二級デジタル通信(旧 DD第三種)」

参考