IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

Inst. Tech View

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第43回 IP電話で使用されるRTPの特長 2014年12月

 今回のInst. Tech Viewは、久々にIP電話サービスについての話題です。

 これまで当メルマガにて度々話題にしてきたIP電話やVoIPですが、今回はその中の中心的なプロトコルの1つ「音声伝送」で使用する「RTP」についてご紹介します。(「呼制御」については Inst. Tech View 第31回をご参照ください。)

 まずは電話での通話時に音声をVoIPで送受信する流れを紹介します。

(1)送信側デバイス(またはソフト)で、音声をデジタルデータに変換する
(2)デジタルデータを細かく分割し(※下記参照)、分割されたデータごとにRTP/UDP/IP/L2ヘッダでカプセル化する
   ※相手に低遅延でデータを送信するために、音声データを(例えば1秒ごとなど)大きな固まりとして送信するよりも、ある程度細かく区切って(例えば20msごとなど)送信した方が良い
(3)カプセル化されたフレームを次々に送信する
(4)受信側デバイス(またはソフト)でフレームを次々に受信する
(5)カプセル化されたフレームを非カプセル化し、デジタルデータを取り出し必要に応じて順番を入れ替える
(6)デジタルデータを音声に変換する

 上記の(2)~(5)の処理で登場するように、RTPは音声データ等をリアルタイムに送受信するために作成された、TCP/IPのアプリケーション層に位置するプロトコルです。

 音声データなどリアルタイム性の高いトラフィックを送受信するためには、トランスポート層でTCP(確認応答やシーケンス番号管理などにより信頼性は高い一方でリアルタイム性の低いプロトコル)ではなく、UDP(ヘッダも小さく確認応答なども取らないため高速に通信できる一方で信頼性の低いプロトコル)を使用する方が適しています。しかし、ネットワークは複雑に構成されることも多く、到着するパケットが順番とおりとは限りません。つまり、単にリアルタイム性だけを追求しUDPを使用するだけでは、送信側で話した音声が適切ではない順番で受信側に到着する恐れもあります。

 RTPではこのUDPの弱点を補完するための仕組みを備えています。具体的にはヘッダの中に「シーケンス番号」というフィールドを用意し、RTPの通し番号を送信時に作成するようになっています。受信側ではシーケンス番号を確認することで、(5)のように必要に応じて順番の入れ替えが行えるようになっています。

 その他の主なフィールドとしては「タイムスタンプ」が挙げられます。こちらは送信するデジタルデータのサンプリングした周期を相手に伝えるためのもので、遅延の揺らぎなどを知ることが可能です。こちらはQoSなどを意識する場合に必要になります。

 RTPはほとんどのVoIP環境で使用されているメジャーなプロトコルですが、運用上気を付けるべき点もあります。それは「音声データを暗号化せずに送受信している」という点です。例えば検証機を使用し、誰かと会話している状態のRTPをパケットキャプチャしてみたとします。(もちろん実際に行う場合は管理者や相手の承認を得てからです。)キャプチャされたトラフィックをまとめて復元すると、音声ファイルを生成し、会話の中身(音声)を再生することができてしまうのです。もちろんキャプチャできる範囲だけではあるものの危険性は感じられるかと思います。

 対策としては大きく分けて2種類考えることができます。

対策(1):音声ネットワーク自体をセキュアに保持すること
例えば音声ネットワークをデータネットワークと完全に切り離したり、そもそも盗聴(パケットキャプチャ)されないような仕組みを用意することです。企業ネットワークでは構成次第で実現することが可能です。

対策(2):音声データを暗号化すること
例えばファイアウォールなどでトラフィックを暗号化することで盗聴対策をとることが可能です。またファイアウォールが使用できない環境でも音声データを暗号化するために、RTP自体をTLSで暗号化する「SRTP」というプロトコルの実装や、メーカー独自の暗号化を実装している場合もあります。ただし実装にはひと手間が必要なため、どの環境でも暗号化の実装がされているというわけではありません。

 特にインターネットで通話を行いつつ、プライバシーを意識される方は、ご自身の使用している環境でRTPの暗号化が行われているか確認してみてはいかがでしょうか。

 今回はIP電話の仕組みとしてRTPの紹介に留めましたが、弊社トレーニングではVoIP(ユニファイドコミュニケーション)分野に関しても力を入れたラインナップを多数ご用意しております。VoIPについて知識を深めたい方、IP電話の導入を控えている方など、是非受講をご検討いただければ幸いです。

■■■ コースの詳細情報 ■■■  ※価格はメルマガ配信時点の価格です。

N450:VoIP 基礎 (CTCTオリジナルコース)
期間:2日間
価格:\70,000(税抜)

N773:Implementing Cisco Unified Communications Voice over IP and QoS v8.0 (Cisco認定コース)
期間:5日間
価格:\260,000(税抜)

N774:Implementing Cisco Unified Communications Manager,Part 1 v8.0 (Cisco認定コース)
期間:5日間
価格:\260,000(税抜)

 


 

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes