Re: TCPMUX (RFC 1078) status

Joe Touch <touch@isi.edu> Wed, 21 August 2013 17:01 UTC

Return-Path: <touch@isi.edu>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EFE8311E8264 for <ietf@ietfa.amsl.com>; Wed, 21 Aug 2013 10:01:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.599
X-Spam-Level:
X-Spam-Status: No, score=-106.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wVM9Q8q0KMHA for <ietf@ietfa.amsl.com>; Wed, 21 Aug 2013 10:01:50 -0700 (PDT)
Received: from boreas.isi.edu (boreas.isi.edu [128.9.160.161]) by ietfa.amsl.com (Postfix) with ESMTP id EBF3B11E8106 for <ietf@ietf.org>; Wed, 21 Aug 2013 10:01:49 -0700 (PDT)
Received: from [192.168.1.92] (pool-71-105-85-4.lsanca.dsl-w.verizon.net [71.105.85.4]) (authenticated bits=0) by boreas.isi.edu (8.13.8/8.13.8) with ESMTP id r7LH0Sc6015877 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 21 Aug 2013 10:00:37 -0700 (PDT)
Message-ID: <5214F219.6000506@isi.edu>
Date: Wed, 21 Aug 2013 10:00:09 -0700
From: Joe Touch <touch@isi.edu>
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20130801 Thunderbird/17.0.8
MIME-Version: 1.0
To: Martin Sustrik <sustrik@250bpm.com>
Subject: Re: TCPMUX (RFC 1078) status
References: <5205D2FB.8010205@250bpm.com> <52069498.1000604@mti-systems.com> <520D3779.4050106@isi.edu> <520D7F0D.10905@mti-systems.com> <520DBABA.2000506@250bpm.com> <520E6A55.6010802@isi.edu> <52136288.6090408@250bpm.com> <521384B8.9020505@isi.edu> <52147135.9060705@250bpm.com> <5214D8E7.50002@isi.edu> <5214DD54.60009@250bpm.com>
In-Reply-To: <5214DD54.60009@250bpm.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-ISI-4-43-8-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
Cc: draft-ietf-tcpm-tcp-rfc4614bis@tools.ietf.org, IETF-Discussion <ietf@ietf.org>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ietf>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Aug 2013 17:01:56 -0000

On 8/21/2013 8:31 AM, Martin Sustrik wrote:
> On 21/08/13 17:12, Joe Touch wrote:
>
>>> The real problem here IMO is how to distinguish between "adding a
>>> completely new application" -- which should require approval process --
>>> and "adding a new component within an existing distributed application"
>>> -- which should be managed by devs themselves.
>>
>> IMO it's easy - any group of services you want others to be able to use
>> independently could justify a new port, but you can always mux them all
>> together if you want to avoid additional firewall configuration issues.
>
> So what would you use for muxing, if TCPMUX is not a good idea?

You need to roll your own. The requirements of systems vary widely, as 
do the costs/benefits of different approaches.

I listed a few before, but here's a more comprehensive list:
	- service per message
		demux based on message ID
		use IPC (interprocess comm) to handoff internal
		to your system

	- service per connection
		demux based on the first message in an
		association (TCP or UDP), and either continue to
		forward messages to a different process or handoff
		the connection

	- subservice on different ports
		determine what subservice you want to initiate,
		start it on an ephemeral port, and indicate the
		port number in-band (e.g., as with FTP and others)

Given you want to keep things on a single port, the first two are 
probably more useful.

Joe