i ask befor but i find out somthing that not clear.
About TCP let's say that i have 3 segment to send,
Let's say that the cwind start from 1.
So i send segment 1 and get ack, so now the cwind is 2.
Then I send 2+3 , but segment 2 is gone.So i come to TIMEOUT (so cwind down to 1)
now what will happend?I ask before and see rfc 2018 and according to this article TCP Selective Acknowledgments (SACK) - PacketLife.net  i understand that...
if i not use on SACK(on option on TCP) . so i will need send again 2+3 segment
but... someone told me that this artile is not correct because on rfc 793 (and not change from then) i will need send again only the 2 segment
on 
 rfc 793
RETRANSMISSION TIMEOUT
 For any state if the retransmission timeout expires on a segment in
 the retransmission queue, send the segment at the front of the
 retransmission queue again, reinitialize the retransmission timer,
 and return.
and what i get from there that  when i send segment number 2 i will get ack on 2+3( so i need send only segment 2)
but on the article on packetlife i understand that the recevier not save the segment 3 so i need send 2+3
i dont use SACK
who is right?(or this arcticle is right but not talk on timeout? i not think so)
i need prove that base on rfc
thanks!