Sophie

Sophie

distrib > Mandriva > 8.2 > i586 > media > contrib > by-pkgid > f58854f6f7fa96b7b677cb03fb5d65eb > files > 7

etftp-1.1.3-5mdk.i586.rpm

Two options provided by NETBLT was not implemented in ETFTP version 1.1.3:

 * multiple buffering
 * KEEPALIVE packets

NETBLT provides for multiple buffering, a transfer model in which the
sending NETBLT can transmit new buffers while earlier buffers are waiting
for confirmation from the receiving NETBLT. Multiple buffering makes
packets flow essentially continuous and markedly improves performance.

Multiple buffering requires a duplex channel, and ETFTP version 1.1.3 was
designed for a half duplex channel, thus multiple buffering was not an
option. However, since two simplex channels can serve as a duplex channel,
later versions of ETFTP should have this option.

Since a NETBLT waiting for buffer space is in a perfectly valid state,
the protocol must have some method for preventing the other end's death
timer from expiring. The solution is to use a KEEPALIVE packet, which is
sent repeatedly at fixed intervals when a NETBLT cannot send other
packets.

If the channel is in a bad state no packets are likely to be transmitted,
including KEEPALIVE packets. For this reason ETFTP version 1.1.3 does not
include this option. 

The versions implemented up to 1.1.3 uses doubling of the packetsize to
renegotiate upwards. RFC 1986 does not explicitly state any algorithm,
so trippling the packetsize when at least 99% of the packets has been
transmitted correctly could be one alterative method.

The RedHat 5.1 distribution of Linux (i386/sparc) tends to have
problem with multiple file transfers in one session. It seems to have
problems to reastablish a connection to the host (server). This seems
to be connected to glibc-2.0.7->13. The problem was not present when
glibc-2.0.7-13.