w2lame
w2lame

Reputation: 2813

TCP protocol : Host goes temporarily unavailable

Say our client is sending the packets at a constant rate. Now, if server goes down temporarily there can be two situations

(We are using the TCP protocol)

1) The packet won't be delivered to the server. Consequently, the other packets in the line have to wait for the server to respond. And the communication can be carried out from there.

2) The packet won't be delivered and will be tried again, but the other packages won't be affected by this packet.

Say, packets A, B and C are to be transferred. While I am sending packet A the server goes down temporarily, then the packets B and C will be sent at the time they were initially scheduled to be or they will be sent once A is received by the server.

Upvotes: 0

Views: 161

Answers (2)

caf
caf

Reputation: 239241

TCP is a stream-oriented protocol. This means that if, on a single TCP connection, you send A followed by B then the reciever will never see B until after it has seen A.

If you send A and B over separate TCP connections, then it is possible for B to arrive before A.

Upvotes: 2

Vatine
Vatine

Reputation: 21288

When you say "goes down temporarily", what do you mean? I can see two different scenarios.

Scenario 1: The connection between Server and Client is interrupted.

Packet A is sent on its way. Unfortunately, as it is winding its ways through he cables, one cable breaks and A is lost. Meanwhile, depending on the exact state of the TCP windowing algorithm, packets B and C may or may not be sent (as that would depend on the window size, the size of A/B7C and the amount of as-yet unacknowledged bytes sent). I guess that is saying both your "1" and "2" may be right?

If B and/or C have been sent, there will be no ack of A, until it has been resent. If they have been sent, once A has arrived, the server will ack up until the end of the last frame received in sequence (so, C, if taht is the case).

Scenario 2: The sever goes down

If this happens, all TCP state will be lost and connections will have to be re-established after the server has finished rebooting.

Upvotes: 1

Related Questions