全6695文字
PR

 この特集では、任天堂の人気ゲーム「スプラトゥーン3」を通して通信技術を学ぶ。まず、スプラトゥーン3を含むオンラインゲームで使われる通信技術を解説する。続いてスプラトゥーン3のパケットを収集し、通信技術が実際にどのように使われているのかを見る。

 なお、記載内容については、筆者や編集部の独自の考察や推測によるものだ。任天堂の公式見解ではないことを明記しておく。

UDPは信頼性はないが速い

 一般的なコンピューターが通信する主な方法にはTCPとUDPがある。ゲームをはじめとするさまざまなアプリケーションは、TCPやUDPの特性を生かして通信する機能を実装している。

 TCPとUDPの大きな違いは、コネクションの有無にある(図1)。TCPは最初に3ウェイハンドシェークと呼ばれる手順で通信先とのコネクションを確立する。UDPはコネクションを確立せずにデータをいきなり送受信する。

図1●通信はTCPとUDPの2種類
図1●通信はTCPとUDPの2種類
TCPは最初にコネクションを確立して確実にデータを受け渡す。一方、UDPは送受信だけのシンプルな通信方法といえる。
[画像のクリックで拡大表示]

 またTCPはデータの送受信のとき、受信側が送信側にACKを返すことによって、データを正しく受信できたことを伝える。この仕組みによってデータ送受信の信頼性を担保している。インターネット上でデータが喪失したら、同じデータを再送する(表1)。

表1●信頼性と通信速度はトレードオフ
TCPとUDPの比較。TCPはデータ喪失時に同じデータを再送するなど信頼性が高い。UDPは再送などをしない代わりに通信速度が高い。
表1●信頼性と通信速度はトレードオフ
[画像のクリックで拡大表示]

 加えてデータの順番保証やフロー制御も備えているのでTCPは信頼性が高い。ただしデータの再送が頻発したり輻輳が発生したりするとネットワークへの負荷が一気に高まり、通信障害につながる恐れがある。

 一方、UDPは送受信を行うだけのシンプルな通信方法といえる。TCPのように信頼性を担保しない代わりに通信速度が高い。