web-dev-qa-db-ja.com

実際のTCPおよびUDPの例は何ですか?

技術レベルでこの2つの違いを知っています。

しかし、実際には、TCPおよびUDPのアプリケーション(使用)の例を(より良い)提供して、違いを実証できますか?

54
Leon

UDP:すべてのデータを常に取得する場合、あまり気にしないもの

  • トンネリング/ VPN(失われたパケットは問題ありません-トンネリングされたプロトコルがそれを処理します)
  • メディアストリーミング(失われたフレームは問題ありません)
  • every updateを取得してもかまわないゲーム
  • ローカルブロードキャストメカニズム(異なるマシンで実行されている同じアプリケーションが互いに「発見」)

TCP:すべての送信データを取得する必要があるほとんどすべて

  • Web
  • SSH、FTP、telnet
  • SMTP、メール送信
  • IMAP/POP、メールの受信

編集:私はあなたがすでに知っていると述べ、他のすべての答えがとにかくそれを説明するので、違いを説明するつもりはありません:)

113
Erik

UDPは郵便局に手紙を郵送しています。

TCPは、郵便局で郵便物を返送用の領収書とともに郵送していますが、郵便局長は郵便物を順番どおりに整理し、順番どおりに配達するだけです。

とにかく、それは試みでした。

30
Edwin Buck

TCP

  • ワールドワイドウェブ(HTTP)
  • 電子メール(SMTP TCP)
  • ファイル転送プロトコル(FTP)
  • セキュアシェル(SSH)

UDP

  • ドメインネームシステム(DNS)
  • 映画などのストリーミングメディアアプリケーション
  • オンラインマルチプレイヤーゲーム
  • ボイスオーバーIP(VoIP)
  • 簡易ファイル転送プロトコル(TFTP)
9
sndu

古典的な見方は、TCPを安全で、UDPを信頼できないと考えることです。

ただし、TCP-IPプロトコルが安全上重要なアプリケーションで使用される場合、TCPは複数の理由でエラーが発生して停止する可能性があるため、お勧めしません。一方、UDPでは、アプリケーションソフトウェアがエラー、再送信タイマーなどを処理できます。

さらに、TCPの処理オーバーヘッドはUDPよりも大きくなります。

現在、UDPは、AFDX(Avionics Full-Duplex Switched Ethernet)とも呼ばれるARINC 664規格で、航空機制御および飛行計器で使用されています。 ARINC 664では、TCPはオプションですが、UDPはARINC 653標準(民間航空機の高信頼性制御ソフトウェア)用に設計されたRTOS(リアルタイムオペレーティングシステム)で使用されます。

AFDXでIPおよびUDPを使用したリアルタイムコントロールの詳細については、27から50ページの http://www.afdx.com/pdf/AFDX_Training_October_2010_Full.pdf をご覧ください。

8
meca soft

TCP

確認を受け取るまで、データを送信しません。

このプロセスは遅いです

セキュリティ目的で使用されます

例:ウェブ、メールの送信、メールの受信など

UDP

ここで私は謝辞に頭痛を感じません。

このプロセスは高速ですが、ここではデータが失われる可能性があります。

例:ビデオストリーミング、オンラインゲームなど

TCP + UDP = SMTP(例:モバイル、電話)

7
Joy Acharya

TCPは(順序どおりの)パケット配信を保証します。 UDPはしません。

TCP-すべてのデータが必要なトラフィックに使用されます。つまり、HTML、写真などUDP-パケットがドロップされてもそれほど苦労しないトラフィックに使用されます。つまり、ビデオと音声のストリーミング、オンラインゲームの一部のデータチャネルなどです。

5
edge

TCPのリアルタイムアプリケーション:

メール:

理由:一部のパケット(単語/文)が欠落している場合、内容を理解できないと仮定します。信頼できるはずです。

UDPのリアルタイムアプリケーション:

ビデオストリーミング:

* **理由:***パケット(フレーム/シーケンス)が欠落している場合、コンテンツを理解できると仮定します。ビデオはフレームのコレクションであるため、1秒のビデオには25フレーム(イメージ)である。想像力が原因で一部のフレームが欠落していることは理解できますが。 UDPがビデオストリーミングに使用される理由です。

4
Guilbert

TCPは接続指向のプロトコルであり、スイッチルータープロキシなどを介してパスまたは仮想接続を確立し、通信を開始します。仮想エンドツーエンド接続を確立するために、ルーティングジクストラの最短パスアルゴリズムなどのさまざまなメカニズムが存在します。そのため、HTMLやその他のページを閲覧し、支払いやWebアプリケーション全般を作成する際に使用されていることがわかります。

UDPはコネクションレス型のプロトコルです-宛先を持っているだけで、ノードができる限り最高の場合、ノードは単にそれを渡します。そのため、さまざまなルートなどに沿って順不同で到着するパケットが一般的です。したがって、インスタントメッセンジャーや同様のソフトウェア開発者は、UDPを理想的なソリューションと考えています。

現実には、到達するのにかかる時間を気にせずにデータをネットに投げたい場合、到達する順番にUDPを使用します。パケットのスローを開始する前にしっかりしたパスが必要で、データパケットと同じ順序と遅延が必要な場合は、TCPを使用します-トレントにはUDP、PaypalにはTCPを使用します

3
Zasz

上記のコメントのいくつかについて、順序付き配信について説明します。宛先コンピュータがパケットを回線上で順番どおりに受信しない場合がありますが、宛先のTCPが責任を負うことを明確にする必要があります。スタックの上位層に渡す前に、「順序が乱れたデータを並べ替える」ため。 TCPがパケットの順序付き配信を保証すると言うとき、それは、スタックの上位層に正しい順序でパケットを配信することを意味します。

2
Ram

適切な量​​のデータ(>〜1 kB)を移動する必要があり、そのすべてを配信する必要がある場合、TCPは適切です。インターネット上を移動するほとんどすべてのデータは、TCPを介して移動します-HTTP、SMTP、BitTorrent、SSHなど、すべてTCPを使用します。

UDPは、損失する余裕のある小さなメッセージがあり、できるだけ効率的に送信したい場合に適しています。それらを紛失する余裕がある理由の1つは、紛失した場合に再送信できるためです。インターネットの主な例はDNSです。DNSは、「stackoverflow.comのIP番号は?」などの小さなクエリで構成されており、応答もそれに応じて小さくなっています。コンピューターはこれらのクエリを多数作成するため、効率的に作成する必要がありますが、途中で迷子になった場合、タイムアウトして再送信するのは簡単です。

2
Tom Anderson

TCPは、パケットの配信と順序を保証します。実行可能ファイルなどのファイルのデータを再構築する場合、順序は最初の配信とほぼ同じくらい重要です。

UDPは、配信NOR順序を保証しません。パケットは任意の順序で到着します(到着しない場合もあります)。

TCPの一般的な用途には、パケットの整合性が最重要であるファイル転送が含まれます。音声/ビデオアプリケーションは、許容可能な品質を維持しながら、一部のデータを失う余裕があるため、通常はUDPを使用します。

2
Steve
  • TCP:意味のある順序でそこに到達します
  • UDP:神は知っている(たぶん)
2
gbn
SCTP vs TCP vs UDPServices/Features       SCTP        TCP       UDP
Connection-oriented                       yes         yes       no
Full duplex                               yes         yes       yes
Reliable data transfer                    yes         yes       no
Partial-reliable data transfer            optional    no        no
Ordered data delivery                     yes         yes       no
Unordered data delivery                   yes         no        yes
Flow control                              yes         yes       no
Congestion control                        yes         yes       no
ECN capable                               yes         yes       no
Selective ACKs                            yes         optional  no
Preservation of message boundaries        yes         no        yes
Path MTU discovery                        yes         yes       no
Application PDU fragmentation             yes         yes       no
Application PDU bundling                  yes         yes       no
Multistreaming                            yes         no        no
Multihoming                               yes         no        no
Protection against SYN flooding attacks   yes         no        n/a
Allows half-closed connections            no          yes       n/a
Reachability check                        yes         yes       no
Psuedo-header for checksum                no (vtags)  yes       yes
Time wait state                           vtags       4-Tuple   n/a
2
Anuj jain

Tcpの使用法は他の回答から非常に簡単なので、いくつかの興味深いUDPの使用例に言及します。

1)DHCP-動的ホスト構成プロトコル。IPアドレスおよびその他のネットワーク構成を接続デバイスに動的に割り当てるために使用されています。簡単に言えば、このプロトコルを使用すると、追加設定なしでネットワークケーブル(またはwifi)に接続してインターネットの使用を開始できます。 DHCPはUDPプロトコルを使用します。設定要求メッセージはホストからブロードキャストされており、DHCPサーバーとのTCP接続を確立する方法がないため(アドレスがわからない)TCPを使用することはできません。代わりに。

2)Traceroute-データグラムが目的地に到達するためにネットワーク内のどのパスを通過するかを調べることができる、よく知られたネットワーク診断ツール(および所要時間)。デフォルトでは、ttl(time-to-live)フィールドが1に設定された宛先に、ありそうもない宛先ポート番号(33434から33534の範囲)のUDPデータグラムを送信することで機能します。データグラムの有効期限が切れていることがわかります。次に、ルーターはデータグラムを削除し、データグラムのttlが期限切れであり、ルーターの名前とIPアドレスを含むICMP(Internet Control Message Protocol)エラーメッセージをデータグラムの送信元に送信します。ホストがTTLが高くなるほどデータグラムを送信するたびに、ネットワーク部分が増加し、それを克服して新しいルーターから新しいICMPメッセージを取得します。最終的に宛先に到達すると(データグラムTTLは十分に大きいため)、宛先ホストは 'Destination port unreachable' ICMPメッセージを送信元ホストに送信します。これにより、Tracerouteは宛先に到達したことを認識します。 TCPはセグメントの配信を保証するため、UDPの代わりに少なくともそれを使用することは少なくとも非効率的であり、これにより、データグラムを再送信の試行なしにドロップできます(再送信は、より高いレベルで、継続的に実装されます上記のようにTTLを増やします)。

1
RuslanSh

UDPはゲームや他のピアツーピア設定で多く適用されます。これは、プロトコルが高速でほとんどの場合、すべてが元の順序で宛先に到達することを確認する必要がないためです(UDPはパケット配信を保証しませんまたは配達注文)。

一方、WebトラフィックはTCP経由です。 (ここではわかりませんが、HTTPプロトコルの構築方法に関係していると思います)

UDPで失敗したため編集しました。

TCPとUDP tcpの両方の実際の例->電話、SMS、または宛先UDPに固有のもの-> FMラジオチャネル(AM)、Wi-Fi。

0
ABIR