TCP TIME_WAIT Assassination -


i looked rfc1337 time_wait assassination , portion of it.

figure 1 shows example of time-wait assassination. segments 1-5
copied figure 13 of rfc-793, showing normal close
handshake. packets 5.1, 5.2, , 5.3 extension this
sequence, illustrating twa. here 5.1 any old segment is
unacceptable tcp a. might unacceptable because of its
sequence number or because of old paws timestamp. in either case, tcp sends ack segment 5.2 current snd.nxt , rcv.nxt.
since has no state connection, tcp b reflects rst segment 5.3, assassinates time-wait state @ a!

**

    rfc 1337                 tcp time-wait hazards                  may 1992            tcp                                                tcp b        1.  established                                          established            (close)        2.  fin-wait-1  --> <seq=100><ack=300><ctl=fin,ack>  --> close-wait        3.  fin-wait-2  <-- <seq=300><ack=101><ctl=ack>      <-- close-wait                                                                 (close)        4.  time-wait   <-- <seq=300><ack=101><ctl=fin,ack>  <-- last-ack        5.  time-wait   --> <seq=101><ack=301><ctl=ack>      --> closed       - - - - - - - - - - - - - - - - - - - - - - - - - - - -        5.1. time-wait   <--  <seq=255><ack=33> ... old duplicate        5.2  time-wait   --> <seq=101><ack=301><ctl=ack>    -->  ????        5.3  closed      <-- <seq=301><ctl=rst>             <--  ????           (prematurely)  ** 

now, confuses me is, in tcp/ip illustrated volume1, says is:

any delayed segments arrive connection while in 2msl wait discarded.

so, why did tcp in rfc 1337's figure 1 ack old duplicate segment?

rfc 793 states in 'reset generation':

  1. if connection in synchronized state (established, fin-wait-1, fin-wait-2, close-wait, closing, last-ack, time-wait), unacceptable segment (out of window sequence number or unacceptible acknowledgment number) must elicit empty acknowledgment segment containing current send-sequence number , acknowledgment indicating next sequence number expected received, , connection remains in same state.

Comments

Popular posts from this blog

javascript - Thinglink image not visible until browser resize -

firebird - Error "invalid transaction handle (expecting explicit transaction start)" executing script from Delphi -

mongodb - How to keep track of users making Stripe Payments -