Sign in to follow this  
tom_mai78101

Can you do multicasting with TCP?

Recommended Posts

So far, looking online has not given me a wonderful answer to this question. All I have seen is multicasting can be used with UDP, and that "TCP and multicasting are mutally exclusive." without knowing why it's "mutally exclusive". Can I do multicasting with TCP? If not, may I ask why?

Share this post


Link to post
Share on other sites
TCP is a connection-oriented streaming protocol. That means that each packet is numbered and sequences and resent if necessary. It would be difficult to have a multicast if every recipient had to be kept in lock-step so that all packets were sequenced properly, it would be very slow and there is room for ambiguity in handling responses so you can't do multicast with TCP. With UDP, the packets are sent out by the multicaster and anyone can pick up a copy.

You could, conceivably, have a connection-oriented streaming protocol do multicasting, if you treated every multicast connection as a separate connection (in which case it's really simultaneous singlecast connections).

Share this post


Link to post
Share on other sites
I've been lead to believe that multicasting on the open Internet [url="http://www.gamedev.net/topic/589972-udp-multicasting/"]is not a reasonable option[/url].

[quote]
Can I do multicasting with TCP? If not, may I ask why?
[/quote]
The algorithms that TCP uses requires both peers maintain complex state about one another. Edited by rip-off

Share this post


Link to post
Share on other sites
[quote name='rip-off' timestamp='1353339654' post='5002361']
I've been lead to believe that multicasting on the open Internet [url="http://www.gamedev.net/topic/589972-udp-multicasting/"]is not a reasonable option[/url].

[quote]
Can I do multicasting with TCP? If not, may I ask why?
[/quote]
The algorithms that TCP uses requires both peers maintain complex state about one another.
[/quote]
Its still not, nor will it ever, be a viable option. All the reasons I stated in that thread remain true. While some CDNs might allow multicast, it does not mean that your traffic will operate anywhere outside of said CDN (hint: it won't the instant it hits any router not configured for mutlicasting).

The problem is that there's little to no demand for it on the internet as a whole. CDNs can be configured for it, but that's mainly for them to reduce their traffic overhead while routing through their own networks, not through their peer networks. Since no one else can actually write multicasting applications for internet usage, there's no demand, and because there's no demand, network operators have little to no reason to embark on a quest to implement it. Especially considering how complicated PROPERLY configured multicast is to setup. Not to mention, the more work your router has to do (such as figuring out where all to route a multicast packet) the SLOWER it is. For core ISP and internet routers... that's a significant downside to multicast, so they get filtered out long before they reach those parts of the internet infrastructure.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this