On Wed, 16 Apr 2008 12:04:23 PDT "ron minnich" <[EMAIL PROTECTED]> wrote:
> This is really an interesting discussion -- anybody think it could go
> on the wiki? I enjoyed it anyway :-)
>
> A good example of how correct behaviour (in this case Plan 9) can get
> you spanked.
Er... "correct" seems a bit strong. Why is Plan9 sending one
byte of data when it knows the receiver's window is closed?
Here is part of the plan9 trace Russ posted:
002418 ms
ether(s=0007b3f12c00 d=0004238ecb1a pr=0800 ln=64)
ip(s=68.178.211.43 d=18.26.4.98 id=9330 frag=0000 ttl=223 pr=6 ln=40)
tcp(s=43 d=32619 seq=2734158449 ack=1578393268 fl=AS win=0 ck=afb0)
002437 ms
ether(s=0004238ecb1a d=0007b3f12c00 pr=0800 ln=60)
ip(s=18.26.4.98 d=68.178.211.43 id=9339 frag=0000 ttl=255 pr=6 ln=40)
tcp(s=32619 d=43 seq=1578393268 ack=2734158450 fl=AP win=65535 ck=afa9)
002456 ms
ether(s=0004238ecb1a d=0007b3f12c00 pr=0800 ln=60)
ip(s=18.26.4.98 d=68.178.211.43 id=933a frag=0000 ttl=255 pr=6 ln=41)
tcp(s=32619 d=43 seq=1578393268 ack=2734158450 fl=A win=65535 ck=48b0)
dump(g)
See RFC793, page 4, last para:
TCP provides a means for the receiver to govern the amount of data
sent by the sender. This is achieved by returning a "window" with
every ACK indicating a range of acceptable sequence numbers beyond
the last segment successfully received. The window indicates an
allowed number of octets that the sender may transmit before
receiving further permission.