Re: Guaranteed to annoy people further... What makes a packet x big?



In article <BF2D318C.A883A%bingbong@xxxxxxxxxxx>,
Bonge Boo! <bingbong@xxxxxxxxxxx> wrote:

> TCP (I'm ignoring UDP) is responsible for breaking data down into packets
> and reassembling. Those packets can be as big as the MTU size allows.
> However when I look at most of them they have lots of "free space".

Well, actually, UDP is easier: TCP further breaks up the data it has to send
into "segments". The maximum segment size (MSS) is based on the MTU and is
negotiated when a TCP connection is opened. But ignoring that for the
moment...

> So what determines if you send a 10% full packet? Surely its more efficient
> to send nearly full boats down the river, rather than lots of 1/2 empty

Yeah, but when you gotta go, you gotta go. Do buses and trains in Bath not
leave until they are completely full?

There is a trade-off between better interactive response and bandwidth
utilization. In some situations, you may want to send as little as 1 byte in
a packet. Think of what happens when you're editing a file on a remote
host; when you press one of the arrow keys, for example, you want that to be
sent immediately so that the editor will update the cursor position and give
you feedback.

But, of course, this is horribly inefficient, and by default TCP
implementations try to combine small buffers together if possible using
something called the Nagle algorithm. Applications can turn this off by
setting the TCP_NODELAY option if they need good interactive response.

John Nagle used to be a frequent contributor to the comp.sys.mac.developer
newsgroups, though I have seen anything from him a long while. I think he's
given up on Macs (:-()

--

Sak Wathanasin
Network Analysis Limited
http://www.network-analysis.ltd.uk
.



Relevant Pages

  • FW: Small TCP packets == very large overhead == DoS?
    ... read/write packets are generally 8k in size. ... when I worked out you could fragment packets inside the TCP header ... they would normally send me (with an MSS of 1436). ... just as there is no "minimum MTU" size for IP. ...
    (FreeBSD-Security)
  • [Full-disclosure] Re: ICMP-based blind performance-degrading attack
    ... read/write packets are generally 8k in size. ... above can possibly be reproduced with TCP. ... they would normally send me (with an MSS of 1436). ... just as there is no "minimum MTU" size for IP. ...
    (Full-Disclosure)
  • Re: ICMP-based blind performance-degrading attack
    ... read/write packets are generally 8k in size. ... above can possibly be reproduced with TCP. ... they would normally send me (with an MSS of 1436). ... just as there is no "minimum MTU" size for IP. ...
    (Bugtraq)
  • Re: UPD better than TCP in streaming video/audio ?
    ... > UDP gains speed over TCP because it carries no information that would ... it doesn't even know that packets were lost. ... which is perfect for UDP. ... > Finally, there's the possibility of multicast data - for instance, a live ...
    (microsoft.public.win32.programmer.networks)
  • Re: Simulating smaller MTU? ie sending small packets.
    ... This is due to the fact that TCP ... If you want smaller packets, ... >> set there as the MSS is announced by the receiver during the ... Yes, per connection. ...
    (comp.lang.perl.misc)

Loading