[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ih] internet-history Digest, Vol 84, Issue 4
Am 27.05.2014 01:46, schrieb Louis Mamakos:
> Just to be clear, of the 4 or 5 different TCP stacks I?ve crawled around in
> and/or co-authored in one case, the contents of the send window are retransmitted,
> not the packet.
I just postponed my suicide plans and know, you write that :-( *sniff*
What I thought would be true until about 4 weeks ago was:
1. There is basically some routine "send_much" which, when called, sends
any data provided by the application from snd.nxt up to
(snd.next+snd.wnd-1).
2. send_much() is called when on either one of the following three events:
a) When the sending application provides data (iow: when a write()
call occurs),
b) When a socket receives a packet from its peer (and hence may have
updated snd.una)
c) When a retransmission time out occurs. (Or in case of Tahoe: On a
3DA. Reno behaves a bit differently here.)
> I?ve not seen a particular TCP implementation that keeps
> previously transmitted segments around for retransmission. (I can see how
> some low memory, constrained implementations might make a choice to keep
> previously transmitted packets around, however, and this lets them re-use
> the same fragmentation ID in the IP header, too.
Louis, for years I got nuts about Karn's algorithm and how this is
implemented correctly, and actually, this was the question that
initiated the whole discussion ;-)
What I just wanted to do before reading your post was to investigate,
how a retransmission scheme using a retransmission queue deals with
varying window sizes which may result from slow start or congestion
avoidance. What happens, when the first packet in a retransmission queue
is beyond the allowed window?
> Every TCP stack I?ve seen just regenerates segments, and the retransmit
> queue is really the TCP send window.
And so behaves the TCP in the NS-2, IIRC.
However, this would support my conjecture, we did basically GBN in TCP.
--
------------------------------------------------------------------
Detlef Bosau
Galileistra?e 30
70565 Stuttgart Tel.: +49 711 5208031
mobile: +49 172 6819937
skype: detlef.bosau
ICQ: 566129673
detlef.bosau at web.de http://www.detlef-bosau.de