> The slow channel speed is the biggest factor, since at 4 kbps it will take 3
> secs to transmit 1500 bytes (if the channel is 8 bits, synchronous). If it
> is 10 bit asynchronous (8 bits data, 1 stop and 1 start bit) then it would
> take 3.75 sec. Many sources recommend an MTU size equivalent to what can be
> transmitted in 100-200 ms but I think that is not really appropriate for
> slow channel speeds 'cause the efficiency would be very poor. At 4kbps, a
> 200 ms MTU would be only 100 bytes (with at least 40 bytes of this being
> TCP/IP overhead!).
Just a point of interests on the above. TCP has a delayed acknowledgement
mechanism. An ack is sent for every two segments or when the delayed ack
timer fires. The delayed ack timeout value (DATO) is usually 200ms. If it
takes more than DATO for TCP to receive a segment, there are two consequences.
First, TCP will ack every segments. Second, every such acks will be a delayed
ack. If TCP is going to ack every segment, it may be better to just turn
off delayed ack mechanism completely. And depending on the reverse channel,
more acks may or may not affect performance. Something to think about when
doing TCP throughput performance experiments with slow links...
K. Poon.
[email protected]
This archive was generated by hypermail 2b29 : Wed Feb 16 2000 - 15:25:52 EST