HiveBrain v1.2.0
Get Started
← Back to all entries
patternMinor

Why is TCP known as reliable protocol?

Submitted by: @import:stackexchange-cs··
0
Viewed 0 times
whyprotocolreliabletcpknown

Problem

Is it because it uses 3 way handshaking, it is reliable? Or is it due to other reasons? Like due to congestion control, flow control and error control in TCP? Why do we call TCP as reliable?

Solution

TCP is said to be reliable because when an application receives data, it knows that this is exactly the data that the sender sent. No part of the data was lost, reordered, etc.

Error control is the part of TCP that deals with ensuring the reliability of connections. For example, if the sender sends two packets A and B and the receiver received only B, the TCP implementation on the receiver side will wait a little in case A took longer than B to arrive. If A finally arrives, the receiver will release A to the application before B. If A doesn't arrive after a while, the receiver will transmit a request to the sender to retransmit A. (I am simplifying somewhat, see the specification for details.)

This is not related to congestion and flow control. They help the performance of the network, but they aren't needed or helpful to make a connection reliable.

Context

StackExchange Computer Science Q#142552, answer score: 8

Revisions (0)

No revisions yet.