TCPとUDPの違い
TCP と UDP の主な違い
- TCP はコネクション型のプロトコルであるのに対し、UDP はコネクションレス型のプロトコルです。
- TCP の速度は遅くなりますが、UDP の速度は速くなります。
- TCP は SYN、SYN-ACK、ACK などのハンドシェイク プロトコルを使用しますが、UDP はハンドシェイク プロトコルを使用しません。
- TCP はエラーチェックを行い、エラー回復も行います。一方、UDP はエラーチェックを行いますが、エラーのあるパケットは破棄します。
- TCP には確認応答セグメントがありますが、UDP には確認応答セグメントがありません。
- TCP プロトコルと UDP プロトコルを比較すると、TCP は重量が大きく、UDP は軽量です。

ここでは、TCP と UDP の違いを分析し、それぞれの長所と短所を総合的に評価します。
TCPとは何ですか?
TCP / IP 特定のコンピュータをインターネットに接続する方法や、それらの間でデータを送信する方法を決定するのに役立ちます。複数のコンピュータ ネットワークが接続されている場合に仮想ネットワークを作成するのに役立ちます。
TCP / IPはの略です Transmission 制御プロトコル/インターネットプロトコル。これは、信頼性の低いインターネットワーク上で信頼性の高いエンドツーエンドのバイト ストリームを提供するモデルとして特別に設計されています。
TCPはどのように機能しますか?
TCP 接続は、 スリーウェイハンドシェイクこれは、接続を開始して確認するプロセスです。接続が確立されると、データ転送が開始され、送信プロセスが終了すると、確立された仮想回線が閉じられて接続が終了します。
TCPの特徴
私の個人的な経験から、TCP の重要な機能をいくつか紹介します。
- 配達確認
- 再送信
- ネットワークが混雑すると伝送が遅れる
- 簡単なエラー検出
TCPの応用例
私が取り組んだ TCP のアプリケーションは次のとおりです。
- これは、さまざまな種類のコンピュータ間の接続を確立またはセットアップするのに役立ちます。
- Operaオペレーティングシステムに依存しない
- 多くのルーティング プロトコルをサポートします。
- これにより、組織間のインターネットワーキングが可能になります。
- 独立して操作できます。
- いくつかのルーティング プロトコルをサポートします。
- TCP を使用して XNUMX 台のコンピュータ間の接続を確立できます。
TCPの利点
私の広範な個人的な経験から、TCP の長所を以下に示します。
- これは、さまざまな種類のコンピュータ間の接続を確立またはセットアップするのに役立ちます。
- それは独立して運営され、 オペレーティングシステム.
- 多くのルーティング プロトコルをサポートしています。
- これにより、組織間のインターネットワーキングが可能になります。
- TCP/IP モデルは、高度にスケーラブルなクライアント サーバー アーキテクチャを備えています。
- 独立して操作できます。
- いくつかのルーティング プロトコルをサポートします。
- XNUMX 台のコンピュータ間の接続を確立するために使用できます。
TCPの欠点
私の経験から言えば、TCP を使用するデメリットは次のとおりです。
- TCP は、移動中のすべてのデータが明示的に要求されない限り、送信を完了することはありません。
- ブロードキャストやマルチキャストの送信には使用できません。
- TCP にはブロック境界がないため、独自のブロック境界を作成する必要があります。
- TCP には、望ましくない機能が多数提供されています。 帯域幅、時間、労力が無駄になる可能性があります。
- このモデルでは、トランスポート層はパケットの配信を保証しません。
- TCP/IP のプロトコルを置き換えるのは簡単ではありません。
- サービス、インターフェイス、プロトコルから明確に分離されていません。
UDPとは何ですか?
UDPはデータグラム指向のプロトコルです。ブロードキャストやマルチキャストタイプのネットワーク伝送に使用されます。UDPの完全な形式は次のとおりです。 ユーザー·データグラム·プロトコル (データグラムは、パケット交換ネットワークに関連付けられた転送単位です。) UDP プロトコルは、TCP とほぼ同様に機能しますが、すべてのエラー チェック機能、すべての往復通信と配信可能性を放棄します。
UDP はどのように機能しますか?
UDP は、順序、信頼性、またはデータの整合性に関する暗黙のハンドシェイク ダイアログのない単純な伝送方法を使用します。また、UDP では、ネットワーク インターフェイス レベルでのこのような処理のオーバーヘッドを回避するために、エラー チェックと修正は重要ではない、またはアプリケーションで実行されないものと想定しています。また、パケット ブロードキャストおよびマルチキャストとも互換性があります。
UDPの特徴
私たちが確認した UDP の重要な機能をいくつか示します。
- パケット損失を許容する、帯域幅を大量に消費するアプリケーションをサポートします。
- Less 遅らせる
- 大量のパケットを送信します。
- データ損失の可能性
- 小規模なトランザクションを許可します (DNS ルックアップ)
UDPのアプリケーション
私が利用した UDP のアプリケーションは次のとおりです。
- UDP 方式は主に、時間に敏感なアプリケーションや、大規模なクライアント ベースからの小規模なクエリに応答するサーバーによって使用されます。
- UDP は、ネットワーク全体への送信およびマルチキャスト送信のためのパケット ブロードキャストと互換性があります。
- ドメイン ネーム システム、VoIP、オンライン ゲームでも使用されます。
UDPの利点
私が UDP を使って作業するのを見てきたことから、UDP の長所は次のとおりです。
- 接続ベースの通信モデルに制限されることはありません。 そのため、分散アプリケーションの起動遅延は低くなります。
- UDP パケットの受信者は、ブロック境界も含めて、UDP パケットを管理対象外にします。
- UDP ではブロードキャストおよびマルチキャスト送信も可能です。
- データ損失が発生する可能性があります。
- 小規模トランザクション (DNS ルックアップ)
- パケット損失に耐える帯域幅を大量に消費するアプリ
UDPの欠点
私の観察に基づく、UDP の短所と欠点は次のとおりです。
- UDP プロトコルでは、パケットが配信されない場合や、2 回配信される場合があります。順番どおりに配信されないため、通知が表示されない可能性があります。
- ルーターは UDP に対して非常に不注意であるため、衝突しても再送信しません。
- UDP には輻輳制御やフロー制御がないため、実装はユーザー アプリケーションの仕事になります。
- UDP は主に、より深刻なパケット損失に悩まされることを好みます。
TCPとUDPの違い
これらのプロトコルを注意深く扱ってきたので、UDP と TCP の主な違いを概説できます。
TCP | UDP |
---|---|
これはコネクション指向のプロトコルです。 | コネクションレス型のプロトコルです。 |
TCP はデータをバイト ストリームとして読み取り、メッセージはセグメント境界に送信されます。 | UDP メッセージには、1 つずつ送信されたパケットが含まれています。また、到着時に完全性をチェックします。 |
TCP メッセージは、インターネットを介してあるコンピューターから別のコンピューターに伝わります。 | 接続ベースではないため、あるプログラムが別のプログラムに大量のパケットを送信できます。 |
TCP は、データ パケットを特定の順序で並べ替えます。 | すべてのパケットは互いに独立しているため、UDP プロトコルには固定された順序がありません。 |
TCPの速度は遅くなります。 | エラー回復が試行されないため、UDP の方が高速です。 |
ヘッダーのサイズは 20 バイトです。 | ヘッダーのサイズは 8 バイトです。 |
TCPは重量級です。 TCP では、ユーザー データを送信する前にソケット接続を確立するために XNUMX つのパケットが必要です。 | UDPは軽量です。 接続の追跡やメッセージの順序付けなどはありません。 |
TCP はエラーチェックを行い、エラー回復も行います。 | UDP はエラー チェックを実行しますが、エラーのあるパケットは破棄されます。 |
謝辞セグメント | 確認応答セグメントなし |
SYN、SYN-ACK、ACK などのハンドシェイク プロトコルの使用 | ハンドシェイクなし (したがってコネクションレス型プロトコル) |
TCP は宛先ルーターへのデータの配信を保証するため、信頼性が高くなります。 | UDP では、宛先へのデータの配信は保証できません。 |
TCP は、データのフロー制御と確認応答を提供するため、広範なエラー チェック メカニズムを提供します。 | UDP には、チェックサムに使用されるエラー チェック メカニズムが 1 つだけあります。 |
TCP と UDP のどちらかを選択する方法
ここで、TCP プロトコルと UDP プロトコルがどのように相互に連携するのかを見ていきます。
- TCP は私たちにとって理想的な選択肢であり、オーバーヘッドのほとんどが接続にある場合は関連するオーバーヘッドがありますが、アプリケーションは長時間接続されたままであることがわかりました。
- UDP は、次のようなマルチメディアでの使用に最適です。 VoIPの.
- その時点でクライアントとサーバーの両方が独立してパケットを送信する場合は、TCP ソケットを使用します。時々遅れることは許容されます。 (オンラインポーカーなど)。
- クライアントとサーバーの両方が別々にパケットを送信する可能性があり、場合によっては遅延が発生することも許容できない場合は、ユーザー UDP を使用する必要があります。 (例: マルチプレイヤー ゲーム)。