![]() However, if speaking about latencies - the whole thing is completely different. As a result - using UDP when you need throughput, rarely qualifies as a good idea (unless you want to get an unfair advantage over TCP). If speaking about throughput - TCP's flow control (as mentioned in other answers), is extremely important and doing anything comparable over UDP, while certainly possible, would be a Big Headache(tm). When speaking of "what is faster" - there are at least two very different aspects: throughput and latency. You can potentially overcome some TCP performance and latency issues by "trunking" multiple TCP connections together iSCSI does this to get around congestion control on local area networks, but you can also do it to create a low-latency "urgent" message channel (TCP's "URGENT" behavior is totally broken). Most importantly, firewalls will block you. Now you're network-unfriendly, which can cause problems in shared environments. ![]() You're on the hook for reliability now, and a lot of the things you might do to implement reliability can end up being slower than what TCP already does. Unfriendliness: on a LAN party, you may not care if your web browser functions nicely as long as you're blitting updates to the network as fast as you possibly can.īut even if you care about performance, you probably don't want to go with UDP: Out-of-order delivery: in lots of applications, as long as you get all the data, you don't care what order it arrives in you can reduce app-level latency by accepting an out-of-order block. Group delivery semantics: it's possible to do reliable delivery to a group of people much more efficiently than TCP's point-to-point acknowledgement. Things that tend to push applications towards UDP: On a larger scale, this TCP behavior is what keeps the Internet from locking up into "congestion collapse". Try that with 100 different UDP applications, all pushing packets as fast as they can go, and see how well things work out for you. The most important thing TCP gives you is congestion control: you can run 100 TCP connections across a DSL link all going at max speed, and all 100 connections will be productive, because they all "sense" the available bandwidth. People say that the major thing TCP gives you is reliability. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |