我可以为TCP使用广播或多播吗?

时间:2014-01-21 18:14:46

标签: tcp udp ip broadcast multicast

对于Internet Protocol (IP)我可以使用多播

此外,在示例中,对于UDP,我可以使用:

  • 广播 - 将数据包发送到地址范围
  • multicast - 将数据包发送到指定地址列表

但我可以将这些内容用于TCP吗?

3 个答案:

答案 0 :(得分:57)

不,你不能。 TCP是用于在两个端点之间进行通信的协议。与UDP相比,它具有可靠的传输功能,这意味着数据包不仅可以发送,而且预计对等体会确认收到数据,如果确认丢失,则会重新传输数据。并且因为广播和多播只发送但从不接收数据,所以TCP的可靠性无法在这些协议之上实现。

答案 1 :(得分:1)

我通常不会在此发帖,但我只需要在此处添加一些说明。斯蒂芬的回答是正确的。不,你不能!完善。让我回答其余部分,说UDP是发送多播和广播消息的正确协议。我在拥挤的房间里喊出斯蒂芬的名字,我是否希望每个人都回应?没门!如果使用TCP,每个人都会确认我的数据包!

所以第二项讨论的是可靠性。这个问题很混乱.UDP太棒了。当人们说UDP不可靠时,他们并不意味着它不好。他们的意思是UDP多播的数据包不需要听到响应,以确认传递。 UDP也非常适合语音通信,因为当我说话时,这些数据包的速度越来越快,因为听众不应该说是,我收到的数据包,就是我说的每一个字。

最后,这导致UDP变得可靠。在我澄清之后,再回过头来再读一遍这一段。 UDP不可靠。这是TCP和UDP之间的主要区别。所以这里是Deal,有UDP和R-UDP。 R-UDP是一个不同的RFC(见底部链接)然后是UDP。那个RFC显然是IETF。可能还有其他人。他们指出原来的答案是正确的,但是引入了有关UDP(RFC 2460)的错误信息。出于学术原因,以及普通的semse

在这里阅读R-UDP RUDP似乎没有合适的RDF。在概念化中使用了一些RFC,但它似乎被微软用于发送IETF,一些文档用于启动RFC过程。该链接如下:

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

好吧显然我的声望必须是10才能发布超过两个链接 - 所以维基百科的另一个链接寻找R-UDP或RUDP

答案 2 :(得分:0)

从我的角度来看,当访问 TCP 协议时,它应该始终用于单播,即对于指定的单个主机和单个服务器。例如,如果我们想通过邮寄方式将文件夹发送给特定的人,则将建立点对点连接,但是如果 cc 或 bcc 中有很多,则 UDP 将在那里进行多播。

所以我的推断是 TCP 不能用于多播。

相关问题