TCPは、パケットの信頼性の高い配信を保証するために、より大きな計算オーバーヘッドを持っています。しかし、最近のネットワークは高速であるため、DPのパフォーマンスがTCPの信頼性を上回る
TCPに対するUDPのその他の特別な利点はありますか?
UDPがTCPよりも優位に立つ2つのケースを見ることができます。
まず、UDPの魅力的な機能の1つは、失われたパケットを再送信する必要がなく、接続設定も行わないため、データの送信にかかる遅延が少ないことです。この低い遅延により、UDPはオーディオやビデオなどの遅延に敏感なアプリケーションにとって魅力的な選択肢になります。
次に、マルチキャストアプリケーションは、ポイントツーマルチポイントを実行する必要があるため、UDP上に構築されます。マルチキャストアプリケーションにTCPを使用するのは難しいでしょう。これは、送信者が複数の受信者の再送信/送信レートを追跡する必要があるためです。
それはあなたの使用法に依存します。アプリケーションがVoiceover IPのように時間に敏感な場合は、パケットの欠落を気にする必要はありません。あなたが気にするのはその場合の遅れです。
この答えを見てください: TCPと実際のUDPの例は何ですか?
ウィキペディア関連のセクションもご覧ください: http://en.wikipedia.org/wiki/User_Datagram_Protocol#Comparison_of_UDP_and_TCP
Facebookは、TCP/IPではなくUDP接続を使用してMemcachedサーバーに接続します
udpは、送信されるデータに対するアプリケーションレベルの制御を向上させます。データはudpセグメントにパッケージ化され、すぐにネットワーク層に渡されるため、飾り気のないセグメント配信サービスが監視されます。
接続を確立する必要がないため、遅延はありません(実際のデータ転送の前にハンドシェイクが必要なtcpとは異なります)
エンドシステムで接続状態を維持する必要はありません(つまり、送信および受信バッファー、輻輳制御パラメーター、シーケンスおよび確認応答番号パラメーターは必要ありません)。したがって、よりアクティブなクライアントをサポートできます。
Udpの小さなパケットヘッダーオーバーヘッド(8バイトのみ)。tcpには20バイトのヘッダーがあります。
一定のデータフロー、バルクデータを必要とし、信頼性よりも高速性を必要とするアプリケーションは、UDP overTCPを使用します。