税込10,000円以上のお買い上げで送料無料(配送方法がDDPの場合を除く)
Japan

RUDP/UDPとP2Pの違い、リアルタイムサーバ経由のオンラインゲームの仕組み(1)

こばやしJul 1st 2022より更新読了時間約1分

MOBAの正式名称はマルチプレヤーオンラインバトルアリーナ(Multiplayer online battle arena)、複数のプレイヤーが同時に参加できるオンライン対戦ゲームを指します。スマホ、PC、PS5やXBOX、プラットフォームを問わずMOBAゲームに寄せられた世界各地のプレイヤーたちはインターネットを通じて競い合い、まるでコミュニティみたいに交流します。 従来の電信機から現在のオンライン通話に至るまで、実用された技術の革新・普及は目を瞠るほど飛躍的でした。その裏にはUDP、TCP、RUDP、P2Pなどといった通信プロトコルの活用があります。
基礎のUDPとTCPから話をしよう
UDPとは、User Data Protocolの略語で、高速通信を重視する通信プロトコルである。
UDPはコネクションレス型通信プロトコル(事前のやり取りなしで通信を開始させる)として、動画配信、音声通話、モニター監視などのリアルタイム的な分野で活用される。
TCPとは、Transmission Control Protocolの略語で、高い信頼性で安定した通信を重視する通信プロトコル。
TCPはコネクション型通信プロトコル(事前のやり取りを確認した上で通信を開始させる)として、ウェブサイト閲覧、ファイル転送などのデータ完全性が求められるアプリケーションで実用される。
RUDPとは?UDPの進化?
RUDPとは「ReliableUDP(User Datagram Protocol)」の略で、リアルタイム通信に用いられる通信プロトコルの1つです。UDPのような高速通信を重視する特徴を持ちながら、メッセージ再送による高品質・信頼性の確保を実現できます。
上記の図を示すように、RUDPの場合ではシーケンス番号の順に追ってパケットロスを確認し、データパケットを再送することがあります。
RUDPの特徴
パケットの到達順序:ゲームの進行状況を守る
パケットロスが発生する際に、対象パケットが受信されるまで次のパケットを処理しない。
大容量データの分割・整合:マルチプレイヤーオンラインゲームのの最適化
分割されたパケットは1つでも失われたらまるごと使えなくなる可能性が高い。RUDPによるパケットの分割・結合は情報の信頼性を確保できる。
セキュリテイ強化:チート対策
サイバー攻撃や悪意ある行為を防ぐために、一定の通信間隔が設定されます。頻繁な再送信を避け、複数回の受送信失敗を「通信中止」と見なす。
様々な通信方式
UDP、RUDP、TCPをもとに開発されたオンラインゲームはまた様々な通信方式を利用しています。その中にP2P型とクライアント・サーバー型は主流。
P2P型
P2PとはPeer to Peerの略で、「サーバー経由」を飛ばしてクライアントとサーバの一体化を実現した通信方式です。ゲームに参加した全てのプレイヤーは互いに通信を行うと同時に情報交換をします。それによって、相互通信チャンネルが成り立つわけです。
クライアント・サーバ型
クライアント・サーバ型通信とは、全てにサーバを介して通信を行うということです。利用者が操作する「クライアント(パソコン、スマホなど)」をインターネットに結び、クライアントからの要求にリアルタイムサーバが応答する形で処理を進める方式です。この場合、遠距離通信による高い遅延(タイムラグ)が現れます。