The tcp protocol actions on arriving segment vary. The set of choices includes:

  • silently drop segment
  • kill connection (i.e. enter CLOSED)
  • send reset (and maybe kill connection)
  • send dup/null ack
  • (etc)

Some decisions are obvious, some aren't. The ones embarrassing me now are actions for SYN-RECEIVED state if arriving segment has

  1. invalid ACK (page 72 of rfc793, step 5) or
  2. invalid security (page 71 of rfc793, step 3)

In both cases the action is merely `send reset'.

Do we really expect that our party will correct it's mistake and send new, valid segment? No. Then, we merely send a reset to achieve what? Why not

  • kill connection or
  • retransmit syn-ack

like synchronized states do for such segments?

  • You are asking why a RST is sent, so why not kill the connection. Sending a RST kills the connection. – Ron Maupin Nov 24 '17 at 21:45
  • ... at remote side, @Ron. But local connection state SYN-RECEIVED is kept carefully. What for? – jabba Nov 27 '17 at 8:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.