[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Mldonkey-users] Re: mld 2.02-16 with MTU 1500 | was: FYI:CVS2.02-16
From: |
Brett Dikeman |
Subject: |
[Mldonkey-users] Re: mld 2.02-16 with MTU 1500 | was: FYI:CVS2.02-16 |
Date: |
Fri, 21 Feb 2003 14:09:48 -0500 |
At 11:09 AM +0100 2/21/03, Sven Hartge wrote:
Why does mldonkey need to know the MTU anyway? All other programs using
the IP-Stack don't need this value and work perfectly.
I got the impression from the emails traded back+forth that the value
is used for bandwidth estimation.
If I'm wrong and it's actually used for assembling packets, that's -quite- bad.
Here's an explanation for those who don't know- MTU is a function of
layer 2 on the ISO model(see below). MLdonkey (being an application)
is level 7. Or, if you prefer the tcp/ip 4-layer model, it's layer 1
vs 4.
In both cases, the whole point of a layered approach is to isolate
each layer from the peculiarities/specifics of the level(s) below
it(or above it, to boot).
The application does not need to know how to interact with a wireless
card vs. a modem versus an ethernet connection; the network
drivers(layer 2) handle that sort of thing. Similarly, my ethernet
switch(layer 1) really doesn't give a hoot what kind of TCP/IP
traffic I pass through it.
This sums it up nicely:
http://www.uwsg.iu.edu/usail/network/nfs/network_layers.html
Fun stuff :-)
Oh, also- the Maximum Transmission Unit is a "maximum" for a reason.
It is not what you should use all the time for your packets- it has
to be dynamic, like window size. If the link between two users
happens to get more congested, packet size and window size are
supposed to drop until things start flowing again.
It sounds counterintuitive from an efficiency standpoint, especially
if the link is congested...until you look at the cost of loosing an
entire packet's worth of data(and hence the window!), and the
handshake and retransmission involved as a result.
Dropping a packet from 1500 to 1000 bytes only results in a loss of
about 1% in efficiency, but having to retransmit just one packet
results in a much more dramatic loss of efficiency- at least 50%.
B
--