Upgrade to Pro — share decks privately, control downloads, hide ads and more …

モンスターストライクのリアルタイム通信を支える技術

 モンスターストライクのリアルタイム通信を支える技術

Genta Kamitani

July 06, 2019
Tweet

More Decks by Genta Kamitani

Other Decks in Programming

Transcript

  1. 自己紹介
 • 神谷 元太
 • Twitter: @cloudear8
 • 2018年 株式会社ミクシィに新卒入社


    • 開発本部 CTO室 SREグループ
 • モンスターストライク(モンスト)の
 開発・運用等を担当

  2. Session Traversal Utilities for NAT (STUN)
 • RFC5389
 • インターネット側から見たIPアドレス、ポートを取得するプロトコル


    • 他の拡張と組み合わせて使う
 client
 STUN
 N
 A
 T
 僕のIPアドレスは? 203.0.113.45 です
  3. Traversal Using Relays around NAT (TURN)
 • RFC5766
 • STUNの拡張


    • 端末間の通信を仲介する
 • UDP, TCP, TLS-over-TCPに対応
 client
 TURN
 N
 A
 T
 peer
 N
 A
 T

  4. TURN Extensions for TCP Allocations
 • RFC6062
 • TURNでTCPを使うための拡張
 •

    クライアントはサーバーと二種類のコネクションを張る
 • モンストではこれを使う
 client
 TURN
 N
 A
 T
 peer
 N
 A
 T