2022年11月10日

パケットロス(パケロス)とは?

packet-loss

※この投稿は、Agoraの日本総代理店であるブイキューブが、Agoraブログを翻訳した記事です。

 

今日の接続された世界では、速度がすべてです。開発者は、リアルタイムのビデオ通信、インターネット通話、およびインスタント メッセージングが、ある地点から別の地点に可能な限り高速に到達するデータに依存していることを知っています。結局のところ、パフォーマンス問題の発生を体験すると、ユーザーはアプリケーションの利用をすぐにやめてしまいます。 

多くの問題がネットワークパフォーマンスを混乱させ、標準以下のユーザーエクスペリエンスを提供する可能性があります。これらの問題の1つは、パケットロスです。

開発者の目標は、アプリケーションのパケットロスを防ぐことです。それを念頭に置いて、パケットロスとは何か、およびそれを防ぐ方法を説明するこのガイドを作成しました。しかし、そこに到達する前に、「なぜパケットロスが発生するのか?」という質問にユーザーの視点から答える必要があります。

ガイドブックダウンロード  【大充実】通話・配信SDK「Agora」ガイドブック  通話・配信サービス開発や、配信技術のリプレイスを検討中の方、必見の内容です。 Agora SDKの特徴から活用例まで徹底解説! 無料ダウンロード

パケットロスとは?

ネットワークのパケットロスを定義する前に、まずデータパケットとは何かを知る必要があります。

 

インターネット経由で送信するものはすべて、最初にブロックに分割され、宛先に到達すると再構成されます。これらはパケットと呼ばれます。

 

パケットを郵便サービスを介したメールと考えてください。実際の手紙は生データですが、差出人や封筒の住所などの補足情報もあります。これはヘッダーと呼ばれ、パケットが目的の宛先に到達するために必要です。他のメタデータも、データ送信をさらに改良するために使用されます。

 

ただし、パケットが常に意図した宛先に到達するとは限りません。ネットワークの輻輳、ソフトウェアエラー、またはハッキングにより、パケットがドロップされる可能性があります。これをパケットロスと呼びます。

 

パケットロスは、送信された合計数に対する損失パケットのパーセンテージとして表されます。たとえば、30個のパケットを送信し、24個しか受信できなかった場合、20%のパケットロスになります。

 

幸いなことに、失くしたパケットが失われたままになることはありません。代わりに、Transmission Control Protocol (TCP) などの特定のネットワーク プロトコルは、失われたパケットを再送信して、エンドポイントでデータが完全なままであることを確認できます。 

 

残念ながら、これはより多くの帯域幅と時間を消費し、レイテンシーとジッターを増加させます。さらに、過剰なパケット損失もネットワークのスループットを低下させる可能性があります。全体として、これらの要因により、ユーザー エクスペリエンスが低下し、生産性が低下します。

 

アプリケーションが異なれば、さまざまな形でパケットロスが明らかになります。電子メールやインスタントメッセージングなどの非同期通信では、メッセージの受信に遅延が生じるだけです。ファイルをダウンロードするとき、パケット損失によりダウンロード時間が長くなります。理想的ではありませんが、ほとんどの場合許容範囲です。

 

VoIP通話やビデオ会議などのリアルタイム アプリケーションでは、パケットロスが大きな問題になります。わずか 2% のパケットロスでも、途切れ途切れの通話、歪んだ音声、不明瞭な映像、最悪の場合、通話の切断が発生します。

 

UDPを使用している場合は、パケット損失の影響がより顕著になります。これは、標準の TCPとは異なり、UDPは失われたパケットを再送信しないためです。代わりに、接続を終了し、セッションを完全に中断します。

 

最悪の場合、パケットロスによってデータが不完全になったり、ファイルが破損したりする可能性があります。これにより、画像に空白のスポットが生じたり、音声がひどく歪んだりする可能性があります。パケットロスは、ハッカーが攻撃に使用できるセキュリティ上の脆弱性でもあります。

パケットロスが発生するのはなぜですか?

パケットロスとは何かがわかったところで、次の質問は「なぜパケットロスが発生するのか?」ということです。

 

いくつかの要因がパケットロスを引き起こします。それらを理解することは、パケットロスを取り除く方法を理解する上で重要です。

 

一番の原因はネットワークの輻輳です。ですから、「なぜパケットロスがこれほど高いのか?」と自問したことがあるなら、ネットワークの輻輳は、最初に調査するものです。

 

輻輳は、限られた帯域幅を介して送信されるデータが多すぎるために発生します。たとえば、誰かがオンライン ゲームをプレイしていて大きなファイルをダウンロードしているときに VoIP通話を行っていると、ネットワークの速度が低下する可能性があります。

 

ピーク時に狭い道を車が行き交うのと大差ありません。これが発生すると、パケットはネットワーク経由で送信される順番を待つしかありません。

 

残念ながら、パケットの遅延が長すぎると、ネットワークはそれらを無視または破棄します。もちろん、これはパケットロスと高遅延につながります。

 

ネットワークハードウェアもパケット損失につながる可能性があります。これは、古いファイアウォールとルーターのパフォーマンスが低下した場合に発生し、ネットワーク全体の速度が遅くなる可能性があります。障害のあるケーブルでさえ、信号の流れを妨害することによってパケットロスに寄与する可能性があります.

 

古いファームウェアを使用したハードウェアは、新しい更新を使用したネットワークほど効率的にネットワークを処理できない場合があります。設定ミス、特にファイアウォールアクセスルールの設定ミスも、パケットロスに影響を与える可能性があります。

 

ワイヤレス接続の問題もあります。その便利さにもかかわらず、Wi-Fiは環境干渉の影響をはるかに受けやすく、パケットのドロップにつながります。 

 

ソフトウェアの重大なエラーも、不要なパケットロスを引き起こす可能性があります。たとえば、バグは予期しないネットワーク操作を実行し、輻輳を引き起こし、パケットのドロップを増やす可能性があります。最悪の場合、パケットロスの大きな要因であるセキュリティの脆弱性につながる可能性があります。

 

実際、パケットドロップ攻撃と呼ばれる特定の攻撃により、侵害されたルーターは無差別にパケットを失います。これは、ターゲットネットワークを妨害することを目的としたサービス拒否攻撃の一種です。これが起こっていることを示す兆候の1つは、パケットロス率の急激な上昇に気付いたときです。 

パケットロスを防ぐ方法

「パケットロスとは何か?」に答えたところで、今度はそれを回避する方法を考えてみましょう。

パケット損失を修正するためにユーザーができること

ハードウェアを確認する

最も簡単でわかりやすい手順は、ハードウェアの接続を確認することです。すべての配線が摩耗していないことを確認してください。また、使用するケーブルの種類も重要です。多数の同時接続を処理する小規模企業の場合は、Cat5または6 ケーブルをお勧めします。

インターネットプランをアップグレード

インターネットプランをより高い帯域幅にアップグレードしてみてください。組織の場合は、より優れたWANプロバイダーへの切り替えを検討してください。

堅牢なルーターを使用する

一定のパケット損失が発生している場合は、ハイエンドルーターへのアップグレードも検討する必要があります。

有線接続に切り替える

Wi-Fi接続を使用している場合は、有線接続に切り替えてみてください。それが不可能な場合は、ルーターの近くに身を置いて、信号の中断を最小限に抑えてみてください。また、ルーターの5GHz周波数と2.4 GHz周波数の間でデバイスのバランスをとって、輻輳を軽減してください。

重複するネットワークアクティビティの防止

重複を避けるために、ネットワークアクティビティのスケジューリングを検討してください。たとえば、勤務時間外にのみ大きなファイルをダウンロードするようにしてください。自宅にいる場合は、VoIP通話を最小限に抑えます。

パケットの優先順位付け

ルーターでパケットに優先順位を付けます。たとえば、VoIP通話の品質を向上させたい場合は、ルーターのファームウェアを設定して、DSCPクラス46パケットを優先します。

パケットロスを防ぐために開発者ができること

QoSツールを使用してパケット損失を監視する

パケットロスを減らす方法を理解する上で重要な部分は、適切な監視です。したがって、いくつかのネットワーク監視ツールとサービス品質 (QoS) ツールに投資するのが賢明です。これらの大きな利点は、リアルタイムでパケットロスを常にチェックし、過剰になった場合に即座に警告することです. また、パケットロスを分析してパターンを探すのに役立つログも提供します。

適応ビットレート制御

もう1つのソリューションは、ネットワークの状態に基づいてビデオ ストリームのビットレートを調整する適応ビットレート制御です。これは、定期的にパケットをルーターに送信して帯域幅の使用率を測定することによって行われます。優れたビデオ通話とは、一定のビットレートを維持し、パケット損失や遅延による中断がない通話です。

ビデオ アプリケーションは、高帯域幅の接続ではビットレートを上げ、低帯域幅の接続ではビットレートを下げることで、サービスの全体的な品質を向上させてきました。残念ながら、これはすべてのオーディオ アプリケーションで動作するわけではありません。これは、それぞれのレイテンシ要件が異なるためです。あなたができる最善の方法は、より高いオーディオビットレートを設定することです。これにより、ジッターが減少しますが、処理能力が高くなります。

Agoraを利用する

Agora の音声、ビデオ、およびメッセージングSDKを使用すると、開発者はリアルタイム エクスペリエンスを簡単に構築できます。これにより、パケットロスの影響が自動的に最小限に抑えられ、あらゆるアプリケーションでシームレスなコミュニケーション エクスペリエンスがユーザーに提供されます。組み込みが簡単なAPIと広大なパートナーエコシステムにより、ユーザーに音声、ビデオ、およびリアルタイムのメッセージを配信する機能を、迅速かつ費用対効果の高い方法で実現できます。

結論

パケットロスは、混乱を招く可能性があります。ファイルが正しくダウンロードされなかったり、ビデオが再生されなかったりすると、ユーザーはアプリケーションに不満を感じるでしょう。開発者は、パケットロスを減らし、ユーザーへの影響を最小限に抑えるリアルタイム エンゲージメントソリューションに投資することで、このフラストレーションを取り除くことができます。超低遅延、スケーラビリティ、および柔軟でインタラクティブな機能を備えた Agoraの信頼できる世界規模のカバレッジにより、パケットロスやジッターによる中断のないユーザー エクスペリエンスが可能になります。Agoraは、完全なリアルタイムエンゲージメントエクスペリエンスを構築するために必要なすべてを提供します。

資料ダウンロード  【一気に読める!】Agora 導入事例集  オンラインフィットネス・カウンセリング、音声サービスやファンサービスなど、バラエティに富んだ導入事例をご紹介! 無料ダウンロード
ブイキューブ

執筆者ブイキューブ

Agoraの日本総代理店として、配信/通話SDKの提供だけでなく、導入支援から行い幅広いコミュニケーションサービスに携わっている。

関連記事

先頭へ戻る