TCPとUDPは、OSIモデルのトランスポート層プロトコルです。TCPは信頼性の高い通信の送信を提供し、UDPは、多くの場合、アプリケーションの詳細を制御するために、放送と通信の伝送を行うために使用されます。
-
TCP(伝送制御プロトコル)、
TCPはコネクション型、信頼できる配信、および全二重通信サービスであり、エンドトランスポート層プロトコルの端部はバイト指向です。
:TCPがデータを送信する前に、接続を確立する必要があります(TCP接続プロセス参照https://blog.csdn.net/qq_44837912/article/details/104727087をデータ転送接続の終了後に解放されるように、)。
TCPは、ブロードキャストやマルチキャストサービスを提供しないように、各TCP接続は、唯一の2つのエンドポイントを持つことができます。
TCPは信頼性の高い配信を提供し、データ転送を介したTCP接続は、エラーのない、失われていない、繰り返し、順番に到着されることはありません。
TCPは、バイト指向のストリームです。が、アプリケーションプロセスとTCPの相互作用は、非構造化のちょうどシリーズなどのデータのバイトストリーム返済に1つの(様々なサイズの)チャンクが、英語TCPプログラムです。TCPは、バイトの送信ストリームの意味を知りません。 -
UDP(ユーザデータプロトコル)
プロトコル(1)UDPが非接続であり、データ接続を送信する前に、ソース端子が確立されていないが、送信データたい場合、アプリケーションから簡単につかむことであり、可能な限り迅速に彼は、ネットワーク上でそれを投げました。送信側において、UDPデータ転送速度のみ送信帯域幅のアプリケーションデータ、コンピュータの能力と限界の速度によって生成され、受信側は、キューからキュー内の各メッセージにUDPセグメントたびにアプリケーションメッセージセグメントを読み出します。
データ伝送接続が確立されていない、従って含むAトランシーバ状態、接続状態を維持するので、同一のマシンが同時にメッセージ送信に複数のクライアントにサービスを提供することができる必要がないので、(2)。
タイトル(3)UDPパケットのTCPパケットのオーバーヘッドのために20のバイトが小さいと、非常に短い唯一の8バイトです。
データレートを生成するソフトウェアアプリケーション、送信帯域幅、及びソース端子ホスト能力によってのみ限定されるもので、特定の調整用輻輳制御アルゴリズムから(4)。
(5)UDPは、ホストは、複雑なリンク状態テーブルを維持する必要はありません(と多くのパラメータがある)ので、信頼性の高い配信を保証するものではありませんので、ベストエフォートを使用します。
(6)UDPは、メッセージ指向です。UDP送信側アプリケーションパケット配信ダウン、IP層にヘッダを付加した後、下方に送給。スプリットやマージが、境界これらのメッセージを保つどちらも、そのため、アプリケーションは、パケットの適切なサイズを選択する必要があります。UDPシナリオ:
1.データグラム指向のモード;
最も2.ネットワークデータメッセージ;
3.クライアントはたくさんあり;
4.ません特定のデータセキュリティ要件、
ネットワーク上の5非常に重い負担が、高い応答速度が必要です。 -
TCPとUDPの違いは
、接続ベースおよびコネクションレス
2 TCPは信頼性の保証正しいデータであるUDP信頼できないと保証正しいデータ;
3 TCP保証その到着の順にデータを、UDPデータが順不同で到着することを保証するものではない;
4 TCP遅いためTCP接続を作成する必要があり、UDP速度、接続を確立することなく、
5ため、このオーバーヘッドの、TCPはヘビープロトコルであるUDPは、軽量のプロトコルであり、
サイズ6 A TCPパケットヘッダは20バイトであり、A UDPパケットヘッダーは8バイトである
。7 TCPフロー制御および輻輳制御、UDP流量制御を行うことができない;
8 TCPバイトストリーム指向の、UDPパケットに対して、
異なるシナリオ9、比較的低い効率の要件に適したTCP、しかしながら、比較的高い精度が必要またはシーンの接続があり、一般的に、ファイル転送に使用されるTCP(HTTP、HTTPS、FTPなどのプロトコル)、メッセージ(POP、SMTPプロトコル、等)、リモートログイン等場面; UDPは、効率の要件に適しています比較的高い、比較的低い精度要件のシナリオ、UDPは、一般的にインスタントメッセージング(QQチャット)、オンラインビデオ(RTSPストリーム速度が速く、それは問題で時折損失はないでなければなりません)のために使用されています インターネット音声電話や他のシーン。