この特集では、任天堂の人気ゲーム「スプラトゥーン3」を通して通信技術を学ぶ。まず、スプラトゥーン3を含むオンラインゲームで使われる通信技術を解説する。続いてスプラトゥーン3のパケットを収集し、通信技術が実際にどのように使われているのかを見る。
なお、記載内容については、筆者や編集部の独自の考察や推測によるものだ。任天堂の公式見解ではないことを明記しておく。
UDPは信頼性はないが速い
一般的なコンピューターが通信する主な方法にはTCP▼とUDP▼がある。ゲームをはじめとするさまざまなアプリケーションは、TCPやUDPの特性を生かして通信する機能を実装している。
TCPとUDPの大きな違いは、コネクション▼の有無にある(図1)。TCPは最初に3ウェイハンドシェーク▼と呼ばれる手順で通信先とのコネクションを確立する。UDPはコネクションを確立せずにデータをいきなり送受信する。
またTCPはデータの送受信のとき、受信側が送信側にACK▼を返すことによって、データを正しく受信できたことを伝える。この仕組みによってデータ送受信の信頼性を担保している。インターネット上でデータが喪失したら、同じデータを再送する(表1)。
加えてデータの順番保証▼やフロー制御▼も備えているのでTCPは信頼性が高い。ただしデータの再送が頻発したり輻輳▼が発生したりするとネットワークへの負荷が一気に高まり、通信障害につながる恐れがある。
一方、UDPは送受信を行うだけのシンプルな通信方法といえる。TCPのように信頼性を担保しない代わりに通信速度が高い。