The Transmission Control Protocol (TCP)
is one of the two original core protocols of the Internet protocol suite (IP),
and is so common that the entire suite is often called TCP/IP. TCP provides
reliable, ordered, error-checked delivery of a stream of octets between
programs running on computers connected to an intranet or the public Internet.
Browsers use it when they connect to servers on the
World Wide Web sites, and it is used to accurately deliver email and transfer
files from one location to another. Applications that do not require the
reliability of a TCP connection may instead use the connectionless User
Datagram Protocol (UDP), which emphasizes low-overhead operation and reduced latency
rather than error checking and delivery validation.
TCP has been optimized for wired networks. Any packet
loss is considered to be the result of network congestion and the congestion
window size is reduced dramatically as a precaution. However, wireless links
are known to experience sporadic and usually temporary losses due to fading,
shadowing, hand off, and other radio effects, that cannot be considered
congestion. After the (erroneous) back-off of the congestion window size, due
to wireless packet loss, there can be a congestion avoidance phase with a conservative
decrease in window size. This causes the radio link to be underutilized.
Extensive research has been done on the subject of how to combat these harmful
effects. Suggested solutions can be categorized as end-to-end solutions (which
require modifications at the client or server), link layer solutions (such as RLP
in cellular networks), or proxy based solutions (which require some changes in
the network without modifying end nodes).
A number of alternative congestion control
algorithms have been proposed to help solve the wireless problem, such as Vegas,
Westwood, Veno and Santa Cruz.
No comments:
Post a Comment