全4614文字
PR

 2022年9月9日、「スプラトゥーン3」が発売されました。とても楽しみにしていたのですぐに買いました。発売から1月半ほどたってこの文章を書いていますが、いろいろなステージで様々なブキを使ってインクを塗り合い楽しくプレーしています。ちなみに今のウデマエはS+30になったところです。

 この特集は、人気のスプラトゥーン3を通して、最新の通信技術の基本を学んでしまおうというものです。前半の今回はスプラトゥーン3を含むオンラインゲームの通信技術を解説します。後半となる次回は、実際にスプラトゥーン3のパケットをキャプチャーして、それらの通信技術が実際にどのように使われるのかを見ていきます。

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

オンラインゲームを実現する通信技術、UDPとは

 一般的なコンピューターが通信を行う主な方法にTCP(Transmission Control Protocol)とUDP(User Datagram Protocol)があります。アプリケーションはそれぞれTCPやUDPの特性を生かして、通信を行うアプリケーションや機能を実装しているのです。TCPとUDPの主な違いを示します。

TCPとUDPの通信方法
TCPとUDPの通信方法
[画像のクリックで拡大表示]
TCPとUDPの比較
TCPとUDPの比較
[画像のクリックで拡大表示]

 大きな違いはコネクションの有無にあります。TCPは通信先と3ウェイハンドシェークと呼ばれるコネクションの確立を最初に行います。UDPはコネクションの確立を行わなくても、いきなりデータの送受信を行うことができます。

 またTCPはデータの送受信で、データが到達したらACK(ACKnowledgement)を相手に送信して、正しくデータを受信できたことを伝えます。こうすることで、インターネット上でデータが喪失しても、同じデータを再送することでデータ送受信の信頼性を担保しています。TCPに対してUDPは送受信を行うだけのシンプルな通信方法といえるでしょう。

 TCPはデータの信頼性から使いやすい面もありますが、データの再送や輻輳(ふくそう)が発生すると一気に負荷かかったり問題が発生したりするといった側面もあります。UDPはシンプルな通信方法で、TCPのような信頼性を担保しない代わりに、UDPを利用するアプリケーションが「どういう通信を行うか」を自由に設計することができるでしょう。