ヤマハRTシリーズのネットワークゲームのための設定ヒント
対戦サーバへの接続と静的マスカレードの設定
| 作成日 | 1998/Sep/29 |
| 最終変更日 | 2018/Nov/06 |
| 文書サイズ | 19KB |
ネットワークゲームが対戦サーバへ接続する場合のプロトコルやポート番号を 調べてみたもののどれを設定したらいいのか、判断できないような状況もある と思われますので、ちょっとしたアドバイスです。
コーエー(光栄)のホームページで公開されている 接続テストプログラムを題材として 説明させて頂きます。
[ゲーム端末A]
┏━━━━━━━━━┓
ロビー通信 ┃ ┃
┌───────┨ ┃
│ ┃ ┃
│ ┌───┨ ┃
│ │ ┃ ┃
[ゲームサーバ] │ │ ┗━━━━━━━━━┛
┏━━━━━━━━━┓ │ │
┃ ┃ │ │
┃ ┠───┘ │
┃ ┃ │対戦通信
┃ ┠───┐ │
┃ ┃ │ │
┗━━━━━━━━━┛ │ │
│ │ ┏━━━━━━━━━┓
│ │ ┃ ┃
│ └───┨ ┃
│ ┃ ┃
└───────┨ ┃
ロビー通信 ┃ ┃
┗━━━━━━━━━┛
[ゲーム端末B]
|
お互いにグローバルIPアドレスを持つ機器の通信は、通常、問題無い。 問題があるとすると、機器間にアクセスを禁止する機能を持ったものが 存在していると思われます。Firewallとか、ProxyServerとか、RTのフィルタ機能とか。
[ IPアドレス ]
[ ポート番号 ]
[ 接続/通信のはじまり ]
ゲームソフトからゲームサーバへ接続される。
ゲームサーバは、[UDP,9071]、[TCP,9071]、[TCP,9072]を待っている。
ゲームサーバからゲームソフトへ接続される。
ゲームソフトは、[TCP,9072]を待っている。
Global IP Global IP
ゲームサーバ ゲームソフト
接続(1)
┏━━━━━━━━┓ ┏━━━━━━━━┓
┃ ┠←←←←←←←←←←←←←←┨ ┃
┃ [UDP,9071,静的]┃ ┃[UDP,1032,動的] ┃
┃ ┠→→→→→→→→→→→→→→┨ ┃
┗━━━━━━━━┛ ┗━━━━━━━━┛
接続(2)
┏━━━━━━━━┓ ┏━━━━━━━━┓
┃ ┠←←←←←←←←←←←←←←┨ ┃
┃ [TCP,9071,静的]┃ ┃[TCP,1033,動的] ┃
┃ ┠→→→→→→→→→→→→→→┨ ┃
┗━━━━━━━━┛ ┗━━━━━━━━┛
接続(3)
┏━━━━━━━━┓ ┏━━━━━━━━┓
┃ ┠←←←←←←←←←←←←←←┨ ┃
┃ [TCP,9072,静的]┃ ┃[TCP,1034,動的] ┃
┃ ┠→→→→→→→→→→→→→→┨ ┃
┗━━━━━━━━┛ ┗━━━━━━━━┛
接続(4)
┏━━━━━━━━┓ ┏━━━━━━━━┓
┃ ┠→→→→→→→→→→→→→→┨ ┃
┃ [TCP,3041,動的]┃ ┃[TCP,9072,静的] ┃
┃ ┠←←←←←←←←←←←←←←┨ ┃
┗━━━━━━━━┛ ┗━━━━━━━━┛
|
プライベートIPアドレス機器は、グローバルIPアドレス機器と通信できません
ので、NATによりプライベートIPアドレスをグローバルIPアドレスに化けさせ
て、相互に通信可能にします。
NATでアドレス変換をするけれど、ポート番号変換は行なわない。
[ IPアドレス ]
[ ポート番号 ]
[ 接続/通信のはじまり ]
ゲームソフトからゲームサーバへ接続される。
ゲームサーバは、[UDP,9071]、[TCP,9071]、[TCP,9072]を待っている。
ポート番号は、動的に変化するが、RTでNATのみを使用している場合、
ゲームソフトのポート番号を変更することはない。
よって、通信可能。
ゲームサーバからゲームソフトへ接続される。
ゲームソフトは、[TCP,9072]を待っている。
RTのNATでは、ポート番号の変換は行なわないので、
待ち受けていても通信可能。
Global IP Global IP Private IP
ゲームサーバ NAT ゲームソフト
接続(1)
┏━━━━━━━━┓ ┏━━━━━━━━┓ ┏━━━━━━━━┓
┃ ┠←←┨ ┠←←┨ ┃
┃ [UDP,9071,静的]┃ ┃[UDP,1032] ┃ ┃[UDP,1032,動的] ┃
┃ ┠→→┨ ┠→→┨ ┃
┗━━━━━━━━┛ ┗━━━━━━━━┛ ┗━━━━━━━━┛
接続(2)
┏━━━━━━━━┓ ┏━━━━━━━━┓ ┏━━━━━━━━┓
┃ ┠←←┨ ┠←←┨ ┃
┃ [TCP,9071,静的]┃ ┃[UDP,1033] ┃ ┃[TCP,1033,動的] ┃
┃ ┠→→┨ ┠→→┨ ┃
┗━━━━━━━━┛ ┗━━━━━━━━┛ ┗━━━━━━━━┛
接続(3)
┏━━━━━━━━┓ ┏━━━━━━━━┓ ┏━━━━━━━━┓
┃ ┠←←┨ ┠←←┨ ┃
┃ [TCP,9072,静的]┃ ┃[UDP,1034] ┃ ┃[TCP,1034,動的] ┃
┃ ┠→→┨ ┠→→┨ ┃
┗━━━━━━━━┛ ┗━━━━━━━━┛ ┗━━━━━━━━┛
接続(4)
┏━━━━━━━━┓ ┏━━━━━━━━┓ ┏━━━━━━━━┓
┃ ┠→→┨ ┠→→┨ ┃
┃ [TCP,3041,動的]┃ ┃[TCP,9072] ┃ ┃[TCP,9072,静的] ┃
┃ ┠←←┨ ┠←←┨ ┃
┗━━━━━━━━┛ ┗━━━━━━━━┛ ┗━━━━━━━━┛
|
プライベートIPアドレス機器は、グローバルIPアドレス機器と通信できません
ので、NATによりプライベートIPアドレスをグローバルIPアドレスに化けさせ
て、相互に通信可能にします。
また、複数の機器から1つのグローバルIPアドレスを共有させる為、
ポート番号を動的に再割り当てします。
NATでアドレス変換、IPマスカレードでポート番号変換を行う。
[ IPアドレス ]
[ ポート番号 ]
[ 接続/通信のはじまり ]
ゲームソフトからゲームサーバへ接続される。
ゲームサーバは、[UDP,9071]、[TCP,9071]、[TCP,9072]を待っている。
元々、ポート番号は、動的に変化するものなので、RTが、動的に変更しても、
通信可能。
ゲームサーバからゲームソフトへ接続される。
ゲームソフトは、[TCP,9072]を待っている。
RTでも同様に待ち受けする必要があるので、静的マスカレードを設定し、
固定する。
Global IP Global IP Private IP
ゲームサーバ NAT+IPマスカレード ゲームソフト
接続(1)
┏━━━━━━━━┓ ┏━━━━━━━━┓ ┏━━━━━━━━┓
┃ ┠←←┨ ┠←←┨ ┃
┃ [UDP,9071,静的]┃ ┃[UDP,60006,動的]┃ ┃[UDP,1032,動的] ┃
┃ ┠→→┨ ┠→→┨ ┃
┗━━━━━━━━┛ ┗━━━━━━━━┛ ┗━━━━━━━━┛
接続(2)
┏━━━━━━━━┓ ┏━━━━━━━━┓ ┏━━━━━━━━┓
┃ ┠←←┨ ┠←←┨ ┃
┃ [TCP,9071,静的]┃ ┃[UDP,60007,動的]┃ ┃[TCP,1033,動的] ┃
┃ ┠→→┨ ┠→→┨ ┃
┗━━━━━━━━┛ ┗━━━━━━━━┛ ┗━━━━━━━━┛
接続(3)
┏━━━━━━━━┓ ┏━━━━━━━━┓ ┏━━━━━━━━┓
┃ ┠←←┨ ┠←←┨ ┃
┃ [TCP,9072,静的]┃ ┃[UDP,60008,動的]┃ ┃[TCP,1034,動的] ┃
┃ ┠→→┨ ┠→→┨ ┃
┗━━━━━━━━┛ ┗━━━━━━━━┛ ┗━━━━━━━━┛
接続(4)
┏━━━━━━━━┓ ┏━━━━━━━━┓ ┏━━━━━━━━┓
┃ ┠→→┨ ┠→→┨ ┃
┃ [TCP,3041,動的]┃ ┃[TCP,9072,静的] ┃ ┃[TCP,9072,静的] ┃
┃ ┠←←┨ ┠←←┨ ┃
┗━━━━━━━━┛ ┗━━━━━━━━┛ ┗━━━━━━━━┛
|
接続(1)の通信
サーバのUDP:9071へ要求する。
サーバよりロビーサーバアドレスが通知される。
接続(2)の通信
ロビーサーバのTCP:9071へ接続する。
対戦相手を探したり、チャットをしたり、ゲームセッションを開いたり、
既存ゲームセッションに参加したり、、、といったサービスが受けられる。
ロビーサーバへの接続(TCP:9071)は、切断されます。
ゲームセッションが動き始めるとそれ以降はゲストとホスト間での通信になります。
| ゲームセッションに参加 | ゲストになる | 接続(3) |
| ゲームセッションを開く | ホストになる | 接続(4) |
ゲームセッションを開いたホストは、TCP:9072で待ち受ける。
※静的マスカレードの設定が必要。
ゲームセッションに参加するゲストは、ホストのTCP:9072へ接続する。
※静的マスカレードの設定は不要。
静的マスカレードの設定が必要なのは、対戦する時のホスト側だけ。
9071ポートは、ロビー機能で使う
9072ポートは、対戦機能で使う
[ ネットワークゲームのための設定ヒント (files) / RTA50i用設定例 (files) / RTA52i用設定例 (files) ]
[ コンソール設定 / NAT / NATディスクリプタ / NATとIPマスカレードのFAQ ]