dslreports logo
 
    All Forums Hot Topics Gallery
spc
uniqs
30

tschmidt
MVM
join:2000-11-12
Milford, NH
·Consolidated Com..
·Republic Wireless
·Hollis Hosting

tschmidt to student25

MVM

to student25

Re: connection oriented and connectionless protocols

said by student25:

So TCP offer error correction due to flow control from the sender side. UDP instead leaves the receiver on his own to make sure things are right....

Error correction and flow control are somewhat different issues. The receiver is able to slow down the transmitter by delaying sending ACKs. So if data is arriving too fast the receiver is able to slow things down. In modern systems that is rarely a problem. More common is a slow link between sender and receiver. In that case sender could overwhelm the network causing massive congestion and packet loss. TCP has a "slow start" mechanism to deal with this condition.
said by student25:


Is it true that UDP is never used to send important data such as webpages, database information but mostly for streaming audio and video because UDP is FASTER?

All data is important to the parties involved otherwise there would be no reason transmit it. UDP is used for time critical transfers, such as streaming. If a packet goes missing there is not enough time to ask for retransmission. The application does the best it can during data underrun conditions by faking the missing data. UDP is also used when it does not make sense to maintain a TCP session for long periods of time over low error rate networks, Syslog is a good example of that.
said by student25:

TCP is a connection oriented protocol. UDP is not. Is it true that the streaming appilcation always counts on connection-oriented protocols? But then, since UDP is not connection oriented how can it support video and voice?

As mentioned above streaming uses UDP.
said by student25:

Both TCP and UDP receive and rearrange, in the correct order, the received packets, don't they?

Not exactly. The issue is that the NETWORK does not guarantee packets will arrive in the same order they were transmitted. This forces the receiving side to deal with the problem. In the case of TCP, it is responsible for reordering, with UDP it is up to the application.
said by student25:

When we receive an email document, a page, which was fragmented into packets during its transmission, are we viewing all the packets at the same time when we view the email? In video or voice we receive one packet after the other.....

In the case of file transfer the high level abstraction is a request to get a particular file. TCP does its stuff and then lets the requester know the entire file has been received or the transfer failed. With UDP streaming data is "consumed" pretty much as it is being received. Unidirectional steaming applications have an "elastic buffer." Rendering is delayed allowing the buffer to build up a cache. This provides a degree of isolation between variation in delivery. Latency critical applications like voice cannot utilize an elastic buffer because it increases latency.

Here is a famous paper (at least in some circles) on the topic: END-TO-END ARGUMENTS IN SYSTEM DESIGN
»web.mit.edu/Saltzer/www/ ··· oend.pdf.

Another useful paper: It's the Latency, Stupid.
»rescomp.stanford.edu/~ch ··· ncy.html

Another interesting paper: The Rise of the Stupid Network
»www.isen.com/stupid.html

/tom
student25
join:2011-01-14
Charlotte, NC

student25

Member

Hello Tom,

thanks for always helping out. Is there a specific difference between a virtual circuit and a connection oriented circuit?

thanks
student25