Voice over Internet Protocol(VoIP)とは?

Voice over Internet Protocol(VoIP)は固定電話に代わる電話システムです。VoIPは、公衆交換電話網の代わりにインターネットを使って通話内容を伝送します。

学習目的

この記事を読み終えると、以下のことができるようになります。

  • Voice over Internet Protocol(VoIP)の仕組みの説明
  • VoIPの技術的な詳しい説明
  • VoIPサービスの障害やサイバー攻撃の原因を理解する

記事のリンクをコピーする

Voice over Internet Protocol(VoIP)とは?

Voice over Internet Protocol(VoIP)は、インターネットを介して電話をかけるための方式です。古い固定電話システムとは異なり、インターネットは接続された人と人の間でリアルタイムで音声信号を伝送するようには設計されていませんでした。これを可能にするには、特殊なテクノロジーとプロトコルを構築する必要がありました。 — VoIPを構成するテクノロジーとプロトコル。現在、VoIPは音声と映像両方のリアルタイム*通信に非常に効率的な方法です。

VoIPは広く採用されています。多くの業界では、固定電話(技術的名称は「公衆交換電話網」)に代わって、VoIPが電話システムの主流となっています。

VoIPには、固定電話と比べていくつかの利点があります。柔軟性が高く、回線の追加が容易であること、従来の電話サービスよりも安価であること、音声だけでなく映像にも対応していること、どこからでもアクセスできることなどが挙げられます。

しかし、VoIPは固定電話がほとんど影響を受けないサービスの中断やサイバー攻撃に対する脆弱性があります(DDoS攻撃など)。また、VoIPはインターネット接続と電源の信頼性に依存します。

*リアルタイムとは、すべての接続されたユーザーからのメッセージが、後で送信するために記録されるのではなく、作成された瞬間に配信されることを意味します。

VoIPで音声はどのように伝送されるのか?

アリスがVoIP電話回線を使用してボブに電話をかけたと想定してください。AliceはVoIP対応のハンドセットを取り、Bobの番号をダイヤルして、「こんにちはボブ」と言いました。アリスの言葉がボブに届くまでには何が起こっているのでしょうか?

  1. コネクションの確立: VoIPサービスは、アリスのハンドセットとボブのハンドセット間のデジタル接続を樹立します。専用のネットワークプロトコルがこの部分を処理します。
  2. アナログからデジタルへ: アリスのハンドセットは、彼女の音声をデジタル情報に変換します。
  3. エンコード: このデジタル情報は、 エンコードおよび圧縮されて、インターネット上を伝送できるようになります。
  4. データパケット: アリスの音声をエンコードしたデジタルに置き換えたものはパケットと呼ばれる小さな塊に分割され、それぞれがさまざまなネットワークプロトコルによっていくつかのヘッダーが挿入されます。
  5. インターネットを介したパケットの伝送: パケットは、まずアリスのローカルエリアネットワーク(LAN)のルーターによって、その後他のさまざまなルーター機器によって、VoIP サービスプロバイダーの構内交換機(PBX)のVoIP サーバーに転送されます。サーバーはパケットをボブの電話に転送します。パケットはボブのLANルーターに到達するまでネットワークからネットワークへと転送され、最終的にパケットはボブのハンドセットに転送されます。
  6. ボブがアリスの音声を聞く: ステップ2から4とは逆に、パケットが圧縮されたアリスの音声のデジタルサウンドに組み立てられ、その後解凍され、ボブのハンドセットのスピーカーから音声として再生されます。

多くのステップがありながら、このプロセス全体にかかる時間ははミリ秒です。理想的には、人が判別できるような遅延はなく、ボブはアリスが発した「こんにちはボブ」を、彼女が話すのとほぼ同時に聞くことができます。遅延の量はそれぞれのローカルネットワーク効率と帯域幅、そしてアリスとボブの間の距離に依存します(距離による遅延はレイテンシーと呼ばれています)。

接続が確立されると、あとの処理は双方の側で同時に行うことができます。VoIP対応の電話機は、音声データの送信と受信の両方を同時に行うことができます。そのため、アリスとボブが誤って「元気にしてる?」と同時に尋ねたとしても、話している内容はお互いに聞こえてきます。

VoIPの「インターネットプロトコル」とは?

インターネット上で転送されるデータは、テキストやコード(このウェブページのように)、画像、音声コンテンツ(VoIPのように)などは「パケット」と呼ばれる小さなセクションに分割されています。これらのパケットは、インターネットを構成する電線や機器の上で伝送され、受信した機器が利用可能なコンテンツに解釈されます。

インターネットプロトコル(IP)は、ネットワーク上のやりとりを可能にするデータパケットのフォーマットとして標準化された方法です。IPには、パケットのアドレス、パケット内容の伝達方法、その他の要件などが規定されています。インターネットに接続可能な機器であれば、IPパケットを自動的に生成・解釈することができます。基本的にすべてのインターネットサービスはIP上に構築されており、その中にはVoIPも含まれています — そのため、「voice over IP」と呼ばれています。

VoIPはIPの上にどのようなプロトコルを使用しているか?

インターネット上のさまざまなサービスを実現するために、IPの上位にはいくつかのプロトコルが存在します。まず、トランスポートプロトコルは、パケットが適切な場所に届き、正しく受信されることを保証します。IPは、トランスミッションコントロールプロトコル(TCP) または ユーザーデータグラムプロトコル(UDP)と共に使用することができます。

ほとんどのVoIPサービスでは、UDPの方が高速という理由からTCPではなくUDPをトランスポートプロトコルとして使用しています — これとは対照的に、1対多のストリーミングサービスでは、より信頼性の高いTCPを使用して毎秒音声や映像が確実に配信されるようにしています。

アプリケーション層プロトコルは、トランスポートプロトコルの上位で使用されます。これらのプロトコルは、データをユーザー側のアプリケーションで解釈できるような形にします。インターネットの多くは、アプリケーション層のプロトコルとしてハイパーテキストトランスファープロトコル(HTTP)を使用しています。しかし、VoIPではHTTPよりも音声や映像のデータのリアルタイムでの転送により適した別のプロトコルを使用しています。

VoIPで使用するアプリケーション層のプロトコルはVoIPサービスによって異なります。プロバイダによっては、以下のようなオープンなプロトコルを使用しています。

  • セッション・イニシエーション・プロトコル(SIP) 通話の開始と終了を行います。上記の例では、アリスのVoIPサービスが、アリスの電話機とボブの電話機との間の接続を開始するためにSIPを使用したと考えることができます。
  • リアルタイム・トランスポート・プロトコル(RTP) 通話の実際の音声・映像コンテンツを伝送します。
  • セキュア・リアルタイム・トランスポート・プロトコル(SRTP) は、RTPの暗号化バージョンです。
  • メディア・ゲートウェイ・コントロール・プロトコル(MGCP) VoIPと公衆交換電話網の接続を制御します。
  • H.323 SIPと同じ機能を果たしますが、テキストベースではなくバイナリーベースです。H.323は現在ではあまり使われていません。

これらのプロトコルは公に文書化されており、誰でも使用することができます。しかし、VoIPプロバイダーの中には、独自プロトコルを使用しているところもあります。インターネットを実現し、ほとんどのインターネットトラフィックを運んでいるオープンプロトコルとは異なり、これらの独自プロトコルは閉鎖的であり、これらをリバースエンジニアリングすることはプロバイダの利用規約で禁止されている場合があります。しかし、これらはTCP、UDP、IPなどのオープンなプロトコルの上で動作することに変わりはありません。

VoIPで使用されている独自プロトコルには以下のようなものがあります。

  • Skypeプロトコル: このプロトコルはSkype社が開発したもので、Skypeアプリケーションでのみ使用されます。Microsoft社は2014年にSkypeを買収した後このプロトコルを非推奨とし、以下に置き換えました。
  • マイクロソフト通知プロトコル 24(MNP24): Skypeは2014年からこのプロトコルを使用しています。
  • Skinny 端末制御プロトコル(SCCP): この独自プロトコルは、シスコに属しています。
  • インターアスタリスクエクスチェンジ(IAX): Asteriskと呼ばれる特定の種類のオープンソースPBXソフトウェアを使用するVoIPサービスで使用されます。

VoIPサービス中断の原因は?

インターネット接続不良: 低帯域幅のインターネット接続では、パケットの通過が困難となり、音声品質に影響を与えます。インターネットに接続されていないと、VoIPはまったく機能しません。

ネットワークの輻輳: ネットワーク上で一度に大量のデータのやり取りがあると、(高速道路で大量の交通量があると移動時間が遅くなるのと同様に)VoIP通話がデータパケットを効率的に転送できない場合があります。

UDPタイムアウト: 前述のように、VoIPは通常UDPのトランスポートプロトコルで動作します。ファイアウォールはセキュリティ上の理由から、一定時間が経過したUDP接続を終了させることがあります。

サイバー攻撃: 他のインターネットベースのサービスと同様にVoIPは攻撃を受けやすい。特に、VoIP サービスは分散サービス妨害(DDoS) 攻撃の対象となることが多くあります。これらの攻撃により、VoIPサービスは数分から数時間、あるいは数日にわたってオフラインになる可能性があります。

なぜVoIPは分散サービス妨害(DDoS)を受けやすいのか?

DDoS攻撃には、ほとんどのネットワークプロトコルを使用することができます。攻撃者がVoIPを標的にするのは、そのような攻撃がビジネスの生産性(電話が使用できないと、多くの業務が成り立たないため)を阻害する即効的な効果があるためです。

大きく分けて、VoIP DDoS攻撃は2つの異なるカテゴリーに分類されます。

1. VoIPサービス・プロバイダーに向けられた攻撃。このようなDDoS攻撃は、VoIPプロバイダーのすべての顧客のサービスを停止させる可能性があり、以下のような様々な形態が考えられます。

  • プロバイダのウェブアプリケーションを標的として、ユーザーのログインを防止する
  • プロバイダーのサーバー標的としてPBXサービスをクラッシュさせる
  • DNSの解決機能を停止させ、ユーザーがプロバイダーのウェブサイトに移動できないようにする

VoIPプロバイダーに向けられた攻撃の中には、SIPをサポートするサーバーを過負荷状態にするSIPフラッド攻撃など、VoIPの仕組みを利用したものがあります。また、HTTP フラッド攻撃やSYN フラッド攻撃など、保護されていない多くの Web サイトやサーバに有効な、より一般的なDDoS 攻撃手法を用いる場合もあります。

また、 ランサム型DDoS 攻撃もVoIPプロバイダーに対して行われています。ランサム型DDoS 攻撃は、被害者が攻撃者に身代金を支払うまで攻撃が継続されます。

2. VoIP を使用している組織に向けられた攻撃 この攻撃は、VoIPプロバイダを使用する複数の顧客のサービスを妨害するのではなく、一回につき1つの組織を対象にします。独自のVoIPネットワークとサーバをホストしている組織は、特に脆弱性が高いと考えられます。大規模なVoIPプロバイダとは異なり、プライマリのVoIPサーバがSIPフラッドやその他の攻撃の対象となった場合、切り替に対応できるほどの多数のバックアップサーバはありません。

VoIPにおけるSIPフラッド

VoIPの中で最もDDoS 攻撃の標的とされる中の一つがSIPです。SIPベースのDDoS攻撃は、HTTPと同様にSIPがテキストベースのプロトコルであり、不正なSIPリクエストと正当なSIPリクエストを区別するのが難しいことから、阻止することが困難です。

SIP INVITE フラッドは、通話を開始するための偽の「INVITE」リクエストでSIPサーバーを過負荷状態にします。サーバーはこれらのリクエストをそれぞれ処理しなければならず、正当なコールに対するサービスの遅延や拒否が発生します。SIP REGISTER フラッドは同様に「INVITE」の代わりに「REGISTER」メッセージを使用したものです。

また、攻撃者は、特別に構築したSIPメッセージを送信して、サーバーの再起動や部分的な障害を引き起こし、サーバー処理を中断させることができます。このようなメッセージを何度も送りつけることで、正当なユーザーのサービスを長期間にわたる拒否を発生させることができます。

CloudflareのDDoS 軽減は、VoIP DDoS攻撃からの保護に役立ちます。Cloudflareには、過去に記録された最大のDDoS攻撃 の何倍ものネットワーク容量があります。詳しくは、WebアプリケーションのためのCloudflare DDoS攻撃対策、またはオンプレミスのネットワークを保護するためのMagic Transitをご覧ください。