web-dev-qa-db-ja.com

TCPにブロードキャストまたはマルチキャストを使用できますか?

インターネットプロトコル(IP) を使用できますmulticast

また、たとえば、UDPの場合は次を使用できます。

  • ブロードキャスト-パケットをアドレス範囲に送信する
  • マルチキャスト-指定されたアドレスのリストにパケットを送信します

しかし、これらのいずれかをTCPに使用できますか?

26
Alex

いいえ、できません。 TCPは、正確に2つのエンドポイント間の通信のためのプロトコルです。UDPと比較して、信頼できるトランスポートを備えています。つまり、パケットは送信されるだけでなく、ブロードキャストとマルチキャストはデータを送信するだけで、受信しないため、これらのプロトコルの上にTCPの信頼性を実装することはできません。

60
Steffen Ullrich

私は通常ここには投稿しませんが、ここに理由を少し説明する必要がありました。ステフェンの答えは正しいです。いいえ、できません!完璧です。残りに答えて、UDPはマルチキャストおよびブロードキャストメッセージを送信するための適切なプロトコルであると言います。混雑した部屋でステフェンの名前を叫ぶのですが、全員に返信してほしいですか?ありえない! TCPが使用された場合、誰もが私のパケットを確認します!

したがって、議論する2番目の項目は信頼性です。これは答えを汚します。UDPは素晴らしいです。 UDPが信頼できないと人々が言うとき、それは悪いことを意味しません。つまり、UDPマルチキャストのパケットは、配信を確認するために応答を聞く必要がありません。 UDPは音声通信にも最適です。話をすると、これらのパケットは高速に伝わってきます。リスナーが「はい」と言ってはいけないからです。

最後に、これによりUDPの信頼性が高まります。これをクリアしたら、戻ってこの1つ上の段落をもう一度読んでください。 UDPは信頼できません。これは、TCPとUDP。大きな違いです。UDPとR-UDPがあります。R-UDPは異なるRFC(下のリンクを参照)、UDPです。 RFCはIETFのようです。他にもあるかもしれません。元の答えは正しかったが、UDP(RFC 2460)についての情報は間違っていたと指摘しています。

R-UDPについては、RUDPに適切なRDFがないようです。一部のRFCは概念化に使用されていますが、RFCプロセスを開始するためのドキュメントであるIETFを送信したMicrosoftによって使用されるようです。そのリンクは以下です:

http://www.ietf.org/proceedings/44/I-D/draft-ietf-sigtran-reliable-udp-00.txt

さらに、MSはRUDP wikiとともに以下の情報を公開しました。

http://www.viavisolutions.com/en-us/literature/Microsoft-tv-test-application-notes-en.pdf

どうやら私の評判は2つ以上のリンクを投稿するために10でなければなりません-だからウィキペディアは他のリンクはR-UDPまたはRUDPを探します

1
user8524012