私はかなり一般的でUDPとTCP との違い(例えば。http://www.onsip.com/about-voip/sip/udp-versus-tcp-for-voip)がとSIP、TCPを使用しない場合UDP?
質問は、トランスポートとしてTCPを使用しますどのような状況で、特にSIP VoIP通信の下で利点を持っているされて知っていますか?
私はかなり一般的でUDPとTCP との違い(例えば。http://www.onsip.com/about-voip/sip/udp-versus-tcp-for-voip)がとSIP、TCPを使用しない場合UDP?
質問は、トランスポートとしてTCPを使用しますどのような状況で、特にSIP VoIP通信の下で利点を持っているされて知っていますか?
多くの人がUDPをvoipに関連付けて、おそらくそのままにしていますが、簡単に言えば、接続と音声データの転送には2つの部分があります。
SIPは非常に軽量のプロトコルです。接続が確立されると、電話をかけている人が頻繁に起きるまで有効になります。 TCP(UDPとは異なります)では、実際には必要性を排除してサーバーへのトラフィックを削減します。
あなたはTCP上でSIPを実行し、(推奨される)を使用することができますUDP RTPのため。
私が見てきた明白な事柄を助けることはできませんでした。例えば。サーバーに接続するデバイスの数。数が増えるにつれて、方程式はUDPで有利になる。しかし、複数のコーデック、マルチメディア、ビデオ、および画面共有をカバーするためにSIPユーザエージェントを拡張する必要もあります。 INVITEパケットは大きくなり始め、潜在的にUDP単一データグラムサイズで実行され、TCPを優先して方程式を再度傾斜させることができます。
あなたは、あなたが答えたいと思っていた質問に答えるのに十分な情報があることを願っています。
これが役に立ちます。
クレジット:onSipで素晴らしい議論:https://www.onsip.com/blog/sip-via-udp-vs-tcp
メッセージは(MTUサイズの200バイト以内)大きい場合、TCPのRFC 3261のセクション18.1.1義務の使用は(正確には、それはの使用を義務付け「TCPのような輻輳制御されたトランスポートプロトコル」)。多くのヘッダーと複雑な要求URIを使用して初期のINVITE
を送信すると、実際にはこの問題が発生しました。
SIP over TCPは、モバイルデバイスのUDPよりも大きな利点があります。その理由は、NATを使用しているためであり、無線ルータまたはセルプロバイダーのルータのNATテーブルエントリは、UDPとTCPの方がずっと早くタイムアウトします。確実に確実にコールを受信できるようにするには、同じNATテーブルエントリを維持する必要があるため、SIPはNATテーブルエントリを維持するために定期的にキープアライブを送信する必要があります。キープアライブの必要な頻度は、UDP(おそらく30秒ごと)とTCP(おそらく15分ごと)の方がはるかに高いので、モバイルデバイスのバッテリ使用量が顕著に高くなります。 VOIPクライアントを使用しているときにバッテリの使用量が大幅に増加するという不満を抱いている人がいるのは、クライアントがUDPを使用しているためです。
したがって、TCPはモバイルデバイスのUDPハンドオーバーで勝ちます。
上記は、モバイルデバイスで確実に通話を受信できるようにすることを前提としています。あなたがしたいことがすべて電話をかけることができれば、それは別の話です。
興味深い。 1つは、現代の携帯電話が、このコンテキストでデフォルトで設定された内蔵VoIP SIPアプリケーション(例えば、Android 4+)をどのように持っているか疑問に思う。 – Marcos
これのソースは? udpパケットを30秒ごとに送信すると、電池を多用するように聞こえることはありません。 – kritzikratzi
TCPは、UDPが理解できない場合、損失のある接続で完璧な明瞭さを得ることができます。 UDPを使用するとレイテンシが低下しますが、何が言われているのか理解できない場合は役に立ちません。
SIPは音声部分を伝送しません。それがRDPです。 – Andrew
TCPベースのプロトコルからオーディオストリームを確実にアセンブルすることはできません。オーディオでは、パケットが失われた後、パケットが破棄されたためにパケットを再送する方がはるかに優れています。パケットタイミングに過度のジッタがあると、オーディオは機能しません。オーディオはリアルタイムプロトコルであり、正しく機能するにはUDPのようなプロトコルが必要です。パケットロスがオーディオを壊すことはなく、品質を低下させるだけです。 TCPの完璧な配信は、何らかの形でオーディオに役立つわけではありません。パケットの100%を取得すると品質が低下する可能性がありますが、リアルタイムではありません。オーディオでは、データの完全性以上の品質を決定するのはタイミング(レイテンシ、ジッタ)です。
このSIP作品BEST信号と制御がTCPを超えているが、音声データはUDP上です。
私は1987年に日本で新しく登場したデジタルセルラーネットワークのための最初のスマートフォンの1つを設計して以来、ネットワークプロトコルによるデジタル音声の送信に取り組んできました。 1987年以来、デジタル音声伝送の唯一の側面は変更されていません。オーディオ(音声)伝送のリアルタイム性と、それがシステム設計にどのように影響するかは、私が来た恐竜の時代とまったく同じです。
暗号化が必要なケースも気になります(間違いなくSRTPでもUDPを使用することができます)。 – Marcos
はい、SRTPが最もよく使用されます。それはSIPよりもRTPを中心に議論になります。 SIPセキュリティの場合は、SIPS(Secure SIP)を参照する必要があります。 – MickJ