RTPはUDP上で動作する!5つの仕組み解説や活用事例を紹介

RTPとはどんなプロトコル?
RTPとはリアルタイムトランスポートプロトコルの略称で、インターネット上で音声や動画をリアルタイムに転送するため、RTSPやH.323の通信プロトコルのデータ部分に使用されます。これまでのTCPベースの仕組みは品質を確保するため、転送結果を確認し、エラーなら再送します。再送が行われると、通信が止まってしまうので、リアルタイムのデータを送ることはできません。RTPは、送信エラーが発生しても、リアルタイムでデータを送り続けるための仕組みです。
RTPの仕組み5つ
通常、インターネットではTCPというプロトコルでデータが転送されていますが、TCPはデータの品質を確保するため、リアルタイムのデータ転送ができず、また1対1の通信しかできません。プロトコルとは、コンピューター間の通信をする際の手順や規格です。RTPでは、データの品質を二の次として、リアルタイムにブロードキャスト型通信、マルチキャスト型通信を実現するために作られました。RTPはさまざまな仕組みを用意して、リアルタイムのデータ転送を実現します。
RTPの仕組み1:UDP上で動作する
RTPはインターネットで一般的なTCPではなく、UDP上で動いています。TCPはデータ転送の完全性を担保するために、必ず送ったデータが届いたかを確認し、届いていなければ再送するので、リアルタイムでシーケンシャルにデータを送ることができません。
またTCPは輻輳制御も行っており、ネットワークが混雑してくると送信レートが変えられるため、リアルタイム送信には向きません。UDPではTCPのような制御が実装されておらず、通信エラーが発生してもそのままシーケンシャルに同じ送信レートで送信され続けるので、RTPはUDPでリアルタイム送信を実現します。
RTPの仕組み2:RTP単独では動作しない
RTPでは、データ転送などの挙動に対する制御をRTP側で規定せず、RTPで保持している情報をもとに、ほかのプロトコルやフォーマットで挙動を実現します。TCPは単独でデータ通信のすべての制御を行いますが、RTPでは単体ですべての制御を行わない仕組みにしています。RTPは、単独で全部の制御を行わず、他のプロトコルと合わせることで、その時点で最適なリアルタイム転送を実現します。
RTPの仕組み3:受信側ではシーケンス番号によってパケットを並び替え
RTPでは、リアルタイム通信を実現するために受信側でパケットの並び替えを行いますが、UDPの通信プロトコルにはシーケンス番号の項目はなく、送信時と同じ順序でデータを並べ替えることができません。UDP側では送信順にデータを並べ替えることができないので、RTPパケットのRTP用ヘッダに記述されているタイムスタンプとシーケンス番号を受信側のRTPサーバで読み取り、並べ替えを行ってリアルタイム通信を実現します。
RTPの仕組み4:タイムスタンプを記述する
RTPはタイムスタンプをリアルタイム通信のために使用していますが、使用している通信プロトコルであるUDPにはタイムスタンプがありません。RTPは、タイムスタンプを通信プロトコル側でなくRTP側に持つことで、リアルタイム通信を実現しています。
RTPの仕組み5:1通話あたりの必要帯域は?
RTPをIT電話として音声通信用途で使用する場合に必要な帯域は、計算式(音声データサイズ+各ヘッダサイズ)×8×pps(1秒当たりのパケット量)で出すことができます。VoIPでよく使用されるG.711であれば、(160byte+58byte)×8×50pps=87.2Kbpsで、余裕を見れば100Kbps程度が必要帯域になります。人の声を再現するのに向いているG.729なら、(20byte+58byte)×8×50pps=31.2Kbpsで、余裕を見て40Kbpsを必要帯域とします。
RTPの特徴7つ
インターネットで一般的に使われているTCPと比べて、RTPはいくつかの特徴があります。RTPはデータの正確性を犠牲にし、リアルタイムのデータ通信を実現するためのプロトコルであり、データの正確性を重視するTCPと異なる考え方や実装方法をとっています。ここではRTPの特徴について7つご紹介します。
RTPの特徴1:リアルタイムに転送できる
RTPは、現在リアルタイムでデータを伝送する用途でよく使われているプロトコルです。インターネットで一般的に使われているTCPなどのプロトコルでは、個々のデータの信頼性を高める仕様のせいで、リアルタイムのデータ通信の実現は難しくなります。RTPではデータのリアルタイム性を実現するために、TCPで行っている制御を外して、エラーが発生してもそこをリカバリーすることなく、送信されたデータを時間順に再生することを実現します。
RTPの特徴2:品質の高いデータ通信が可能
UDPを使用すると、TCPのようにデータの整合性を保つための制御をしないので、多少のエラーがあってもデータを送ることはできますが、UDP自体にはシーケンス番号やタイムスタンプがないため、リアルタイムにデータを再生できません。UDPの上でRTPを使用することで、RTP側で持っているシーケンス番号とタイムスタンプを使って正しくリアルタイムのデータ通信を実現できます。
RTPの特徴3:簡単にプログラムを記述できる
TCPはプロトコル側で品質を確保する仕組みを持っており、パケットロスなどが生じた場合のロジックなどを考慮する必要がないため、プログラムを簡単に記述できます。RTPは、TCPよりは記述しなければならない項目は増えますが、UDPとRTP、RTCPによる制御手順があるので、比較的簡単にプログラムを記述できます。TCPより制御の自由度が高い為、今後メインストリームが変わった場合でも、プログラムレベルで対応が可能です。
RTPの特徴4:RTPは単独では不十分なプロトコル
RTPは、単独での使用ができず、転送プロトコルであるUDPとRTCPによる制御を加えて初めて機能します。組み合わせるプロトコルが外部にあるため、ネットワーク全体に大きな変更が生じた場合でも、組み合わせるプロトコルを変更することで対応する自由度があります。転送プロトコルについては、現在でもUDP以外にIPやATMを使用するケースもあります。
RTPの特徴5:アプリケーション側でフレーミングを行う
通常、フレーミングはTCPのようにトランスポート層で行われることが多いですが、RTPではアプリケーション側でフレーミングを行います。RTPのトランスポート層であるUDPにはシーケンス番号とタイムスタンプが記載されないので、RTPのヘッダに記載されているシーケンス番号とタイムスタンプを使用して、リアルタイム制御をアプリケーションレベルでフレーミングを行います。
RTPの特徴6:1対複数の通信が可能
インターネットの標準的なプロトコルであるTCPは、1対1の通信しかサポートしていません。RTPは、通信状況を見て制御を変えないUDPを使用することで、1対多のブロードキャスト通信やマルチキャスト通信に対応しています。リアルタイム通信では、個々のデータの正確性より、時間軸に沿った順序でデータを再現することが重要なので、細かい正確性の制御は必要ないため、UDPが適しています。
RTPの特徴7:RTCPによるデータ転送制御
RTPのデータ転送はRTCPによって制御されます。RTPでできるのはデータのリアルタイム転送のみなので、データ転送の遅延やデータのロス率などの転送状況の把握にはRTCPメッセージを利用します。TCPを利用することで、アプリケーションにデータ通信の品質情報を提供できます。各機器のクロック同期やメディア間の同期などもRTCPの持っている情報で行います。RTCPは、RTPでのデータ通信の品質を確保する必要がある場合に有効です。
RTPの活用事例3つ
RTPはリアルタイムでのデータ送信を実現できるため、時系列通りにデータを受信できないと意味をなさない音声や動画などの情報を送るのに適しています。その特性を活かして、インターネット経由の音声通話や、映像配信システムなどで活用されています。個々のデータを考える必要のない一方的なデータ送付システムは、情報システムに関する知識がなくても利用できるので、今後も多くの分野で使われるようになります。
RTPの活用事例1:ストリーミング
RTPは、ストリーミングによるマルチメディアデータの配信に使われています。ストリーミングでは個々のパケットの品質よりも、マルチメディアデータ全体が時系列通りに配信されることが重要視されるので、TCPのような高品質のデータを保障するシステムではなくRTPが利用されます。最低限の品質については、RTCPで制御することでコントロールされます。
RTPの活用事例2:VoIP
RTPは、インターネット電話として利用されているVoIPの中核技術として採用されています。電話などの音声情報は、時系列が保証されないと意味をなさなくなってしまいます。多少雑音が混ざっても、人間側で情報を補完することが可能なので、RTPで実現することができます。インターネット上でデータを送受信すると、通話料金は発生せず、大きなコスト削減にもつながります。
RTPの活用事例3:テレビ会議
RTPでは、マルチメディアデータを多拠点間でリアルタイムに配送することでテレビ会議を実現します。テレビ会議は大勢の参加者が同じストリームに参加しますが、その場合に個々の参加者の接続や切断の通知にRTCPが使用されます。VoIPと同様に、通信回線はインターネットを使用するため、テレビ会議を実現するのにコストの発生がないのも大きなメリットです。
RTPの仕組みを理解しよう
RTPは、インターネットのメインプロトコルであるTCPに比べてデータの品質は落ちますが、リアルタイムのデータの転送を実現できるプロトコルです。リアルタイム通信を実現するために、さまざまな技術やプロトコルを採用し、それぞれの特性を活かしています。RTPの特性や仕組みを理解し、メリットの多いRTPの導入を検討しましょう。
ネプラス株式会社はサービス開始から10年以上
『エンジニアの生涯価値の向上』をミッションに掲げ、
多くのインフラエンジニア・ネットワークエンジニアの就業を支援してきました。
ネプラス株式会社はこんな会社です
秋葉原オフィスにはネプラス株式会社をはじめグループのIT企業が集結!
数多くのエンジニアが集まります。

-
インフラ業界に特化
ネットワーク・サーバー・データベース等、ITインフラ業界に特化。Cisco Systemsプレミアパートナーをはじめ各種ベンダーのパートナー企業です。
業界を知り尽くしているからこそ大手の取引先企業、経験豊富なエンジニアに選ばれています。
-
正社員なのにフリーランスのような働き方
正社員の方でも希望を聞いたうえでプロジェクトをアサインさせていただいており、フリーランスのような働き方が可能。帰社日もありません。
プロジェクト終了後もすぐに次の案件をご紹介させていただきますのでご安心ください。
-
大手直取引の高額案件
案件のほとんどが大手SIerやエンドユーザーからの直取引のためエンジニアの皆様へに高く還元できています。
Ciscoをはじめ、Juniper、Azure、Linux、AWS等インフラに特化した常時300件以上の案件があります。
-
スキルアップ支援
不要なコストを削減し、その分エンジニアの方へのスキルアップ支援(ネットワーク機器貸出、合格時の受験費用支給など)や給与で還元しています。
受験費用例)CCNP,CCIE:6-20万円、JNCIS:3-4万円、AWS:1-3万円など
※業務に関連する一定の資格のみ。各種条件がありますので詳しくは担当者へにお尋ねください。
-
現給与を保証します!※
前職の給与保証しており、昨年度は100%の方が給与アップを実現。収入面の不安がある方でも安心して入社していただけます。
※適用にはインフラエンジニアの業務経験1年以上、等一定の条件がございます。
-
インセンティブ制度
ネットワーク機器の販売・レンタル事業等、売上に貢献いただいた方にはインセンティブをお支払いしています。
取引先企業とエンジニア側、双方にメリットがあり大変好評をいただいています。
-
社会保険・福利厚生
社員の方は、社会保険を完備。健康保険は業界内で最も評価の高い「関東ITソフトウェア健康保険組合」です。
さらに様々なサービスをお得に利用できるベネフィットステーションにも加入いただきます。
-
東証プライム上場企業グループ
ネプラスは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
ネプラス株式会社に興味を持った方へ
ネプラス株式会社では、インフラエンジニアを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
オンライン面接も随時受付中。ぜひお気軽にご応募ください。

