Reliable User Datagram Protocol

Reliable User Datagram Protocol(RUDP)は、ベル研究所で開発されたトランスポート層プロトコルであり、Plan 9オペレーティングシステムのために設計されました。UDP(User Datagram Protocol)のシンプルさとTCP(Transmission Control Protocol)の信頼性の両方を兼ね備えることを目指しています。

UDPは、高速なデータ転送に適していますが、パケットの到達保証や順序制御の機能がありません。一方、TCPはこれらの機能を提供しますが、プロトコルとしてのオーバーヘッドが大きいため、リアルタイム性が求められるアプリケーションには不向きな場合があります。

RUDPは、UDPをベースに、信頼性を向上させるためにいくつかの機能を追加しています。具体的には、以下の点が挙げられます。

受信パケットの確認応答:受信側が正常にパケットを受信したことを送信側に通知する機能です。これにより、パケットが確実に到達したことを確認できます。
ウィンドーイングとフロー制御:送信側が一度に送信するパケット数を制御する機能です。これにより、ネットワークの混雑を防ぎ、受信側の処理能力を超えないようにデータ送信を調整できます。
欠損パケットの再送パケットが紛失した場合、送信側はそれを検出し、再送します。これにより、データの損失を防ぎ、信頼性の高いデータ転送を実現します。
リアルタイムストリーミングより速いオーバーバッファリング:リアルタイムストリーミングにおいて、バッファリングを効率的に行うことで、スムーズな再生を可能にします。TCPよりも軽量なオーバーヘッドでこれらの機能を提供するため、リアルタイム性の高いアプリケーションに適しています。

RUDPは、TCPのような信頼性が必要だが、TCPよりも軽量なプロトコルが必要な場合に有用です。例えば、音声やビデオのストリーミングなど、遅延に敏感なアプリケーションで利用される可能性があります。ただし、RUDPは正式な規格として標準化されておらず、IETF(Internet Engineering Task Force)のインターネットドラフトとして1999年に記述されたのみです。標準化のための提案はなされていません。

RUDPの具体的な実装は、Plan 9のソースコードで見ることができます。また、関連資料として、いくつかのウェブサイトでRUDPに関する情報が公開されています。

関連情報として以下があります。

Plan 9における該当箇所のソースコード: https://9p.io/sources/plan9/sys/src/9/ip/rudp.c
RUDPに関する解説: http://www.javvin.com/protocolRUDP.html
* IETF[インターネット]]ドラフト: [https://datatracker.ietf.org/doc/html/draft-ietf-sigtran-reliable-udp-00

RUDPは、UDPとTCPの中間的な位置づけにあるプロトコルであり、特定の条件下で効率的なデータ転送を実現する可能性があります。しかし、標準化されていないため、一般的な利用は限られています。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。