[ftpext] FWD: ftp/959 reboot

"William F. Maton" <wmaton@ottix.net> Thu, 05 August 2010 20:45 UTC

Return-Path: <wmaton@ottix.net>
X-Original-To: ftpext@core3.amsl.com
Delivered-To: ftpext@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id CC7633A6902 for <ftpext@core3.amsl.com>; Thu, 5 Aug 2010 13:45:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.669
X-Spam-Level:
X-Spam-Status: No, score=-1.669 tagged_above=-999 required=5 tests=[AWL=-0.929, BAYES_20=-0.74]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id czWb2aJ1s2IY for <ftpext@core3.amsl.com>; Thu, 5 Aug 2010 13:45:13 -0700 (PDT)
Received: from iskra.ottix.net (iskra.ottix.net [IPv6:2001:410:90ff::2]) by core3.amsl.com (Postfix) with ESMTP id 2A88F3A68AF for <ftpext@ietf.org>; Thu, 5 Aug 2010 13:45:12 -0700 (PDT)
Received: from iskra.ottix.net (localhost [127.0.0.1]) by iskra.ottix.net (8.14.4/8.14.4) with ESMTP id o75KjfY5007060 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <ftpext@ietf.org>; Thu, 5 Aug 2010 16:45:41 -0400
X-DomainKeys: Sendmail DomainKeys Filter v1.0.2 iskra.ottix.net o75KjfY5007060
Received: from localhost (wmaton@localhost) by iskra.ottix.net (8.14.4/8.14.3/Submit) with ESMTP id o75Kjfqp007057 for <ftpext@ietf.org>; Thu, 5 Aug 2010 16:45:41 -0400
Date: Thu, 05 Aug 2010 16:45:41 -0400
From: "William F. Maton" <wmaton@ottix.net>
To: ftpext@ietf.org
Message-ID: <Pine.LNX.4.64.1008051641520.24282@iskra.ottix.net>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset="US-ASCII"; format="flowed"
Subject: [ftpext] FWD: ftp/959 reboot
X-BeenThere: ftpext@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <ftpext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/ftpext>, <mailto:ftpext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ftpext>
List-Post: <mailto:ftpext@ietf.org>
List-Help: <mailto:ftpext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ftpext>, <mailto:ftpext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Aug 2010 20:45:14 -0000

All,
 	I'm forwarding an email from Gregory Lundberg who is the author of 
a couple of expired drafts from the old WG and the former maintainer of 
wu-ftpd.  I have his permission to send the relevant extract of an offline 
conversation he and I have been having about FTP in general.  He might 
join us for further observations and discussions when he is able to, but 
in the meantime I can summarize responses to him offline.

Thanks,

wfms

---------- Forwarded message ----------
Date: Wed, 28 Jul 2010 08:44:36 -0500
Subject: Re: [wuftpd-dev] Sample help output from ftpd

My opinion on the restart of the FTPEXT WG is that it's time (well past it, 
actually) to do a reboot on the FTP specification.  Anyone today who attempts 
to determine what the protocol *is* has to look at far to many RFCs, some 
offering contradictory specifications.  This is unacceptable for one of the 
core protocols of the Internet.

Over the years, some have said the FTP is a dying protocol.  Mainly this comes 
from the HTTP camp.  The problem is very few people step back and look at 
first-principles.  Another problem is what I call "nominal realism", which is a 
bit of a misuse of the term.  What I mean is they see the word "file" in "file 
transfer protocol" and presume the FTP is only meant to transfer files in the 
traditional meaning as a sequential dataset on computer mass storage.

To understand the FTP's place in the scheme of things we first need to ask 
ourselves: what are the various ways we can use IP, TPC and UPD for the 
transmission of large streams of information.  A very efficient scheme is to 
use a TCP channel for the control of data transmissions and separate channels 
for each transmisison.  This is the scheme implemented by the FTP. Another 
scheme is to use a single channel for both control and data as in the HTTP.  A 
little analysis shows that the scheme used by HTTP works best when a large 
number of relatively short transmissions are involved.  But when the size (or 
duration) of the transmission increases, the FTP quickly becomes more 
efficient.

A re-boot of the FTP specification should include some discussion of this. It 
servers both as a rationale as to why the protocol is still important, and as a 
guide for implementors.

Some years ago, the Apache Group was quite interested in taking a look at what 
it would take to merge wuFTPD into the Apache code base.  This turned out to 
not be possible because the Apache code base assumed a single channel for both 
control and data and could not be bent far enough to support the two-channel 
approach of the FTP.  This, however, was a software limitation. There is no 
particular reason a daemon could not be designed which supports both the FTP 
and the HTTP.  Care should be taken when specifying the operation of the FTP so 
as to not specify or encourage the use of a particular implementation method. 
If we look at the current FTP specification we see some discussion which does 
promote a particular design.

Another thing I'd suggest looking at is avoiding any semantic meaning for the 
data channel.  The term "file" is often used.  But the data channel is just a 
data channel.  Once established, the FTP really does not care what is sent, 
which direction it goes, or if data is travelling both wats at the same time. 
The job of the FTP is to reliably and securely establish the data channel 
between two resources; nothing more.  Recent additions to the protocol have 
provded addition information about the resources.  This recognized that there 
is more to a resource than simply it's name and establishing a reliable 
communication can depend upon that information.

One of the great features of the FTP is the actual *EASE* with which the 
protocol can be realized.  It is virtually impossible to have a meaningful HTTP 
session using Telnet.  While this is little used, part of the power of the FTP 
is it remains possible.

The great failing of the FTP also stems from its strength.  The use of a second 
connumication channel opens the door to abuse or misdirection of that channel. 
When I was last active I was in the process of designing a means where the 
controlling client and server could exchange information about the actual 
channel and ensure it was not intercepted or misdirected.  I imagine all work 
in that direction ceased.  If we re-visit the protocol, however, this should be 
one of the goals.

OK .. enough for now ..

ttyl
-- Greg