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.