Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Transmission Control Protocol
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Alternatives== For many applications TCP is not appropriate. The application cannot normally access the packets coming after a lost packet until the retransmitted copy of the lost packet is received. This causes problems for real-time applications such as streaming media, real-time multiplayer games and [[voice over IP]] (VoIP) where it is generally more useful to get most of the data in a timely fashion than it is to get all of the data in order. For historical and performance reasons, most [[storage area network]]s (SANs) use [[Fibre Channel Protocol]] (FCP) over [[Fibre Channel]] connections. For [[embedded system]]s, [[network booting]], and servers that serve simple requests from huge numbers of clients (e.g. [[Domain name system|DNS]] servers) the complexity of TCP can be a problem. Tricks such as transmitting data between two hosts that are both behind [[network address translation|NAT]] (using [[STUN]] or similar systems) are far simpler without a relatively complex protocol like TCP in the way. Generally, where TCP is unsuitable, the [[User Datagram Protocol]] (UDP) is used. This provides the same application [[multiplexing]] and checksums that TCP does, but does not handle streams or retransmission, giving the application developer the ability to code them in a way suitable for the situation, or to replace them with other methods such as [[forward error correction]] or [[error concealment]]. [[Stream Control Transmission Protocol]] (SCTP) is another protocol that provides reliable stream-oriented services similar to TCP. It is newer and considerably more complex than TCP, and has not yet seen widespread deployment. However, it is especially designed to be used in situations where reliability and near-real-time considerations are important. [[Venturi Transport Protocol]] (VTP) is a patented [[proprietary protocol]] that is designed to replace TCP transparently to overcome perceived inefficiencies related to wireless data transport. The [[TCP congestion avoidance algorithm]] works very well for ad-hoc environments where the data sender is not known in advance. If the environment is predictable, a timing-based protocol such as [[Asynchronous Transfer Mode]] (ATM) can avoid TCP's retransmission overhead. [[UDP-based Data Transfer Protocol]] (UDT) has better efficiency and fairness than TCP in networks that have high [[bandwidth-delay product]].<ref>Yunhong Gu, Xinwei Hong, and Robert L. Grossman. [http://udt.sourceforge.net/doc/gridnet-v8.pdf "An Analysis of AIMD Algorithm with Decreasing Increases"] {{Webarchive|url=https://web.archive.org/web/20160305003043/http://udt.sourceforge.net/doc/gridnet-v8.pdf |date=2016-03-05 }}. 2004.</ref> [[Multipurpose Transaction Protocol]] (MTP/IP) is patented proprietary software that is designed to adaptively achieve high throughput and transaction performance in a wide variety of network conditions, particularly those where TCP is perceived to be inefficient.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)