Re: Protocol Definition

Dave Cridland <dave@cridland.net> Thu, 05 January 2012 21:41 UTC

Return-Path: <dave@cridland.net>
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 9D8CC21F88CC for <ietf@ietfa.amsl.com>; Thu, 5 Jan 2012 13:41:55 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
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 1J3qoRJzsWpY for <ietf@ietfa.amsl.com>; Thu, 5 Jan 2012 13:41:54 -0800 (PST)
Received: from peirce.dave.cridland.net (peirce.dave.cridland.net [IPv6:2001:470:1f09:882:2e0:81ff:fe29:d16a]) by ietfa.amsl.com (Postfix) with ESMTP id 3B4B121F8838 for <ietf@ietf.org>; Thu, 5 Jan 2012 13:41:54 -0800 (PST)
Received: from localhost (peirce.dave.cridland.net [127.0.0.1]) by peirce.dave.cridland.net (Postfix) with ESMTP id 0FE511168087; Thu, 5 Jan 2012 21:41:52 +0000 (GMT)
X-Virus-Scanned: Debian amavisd-new at peirce.dave.cridland.net
Received: from peirce.dave.cridland.net ([127.0.0.1]) by localhost (peirce.dave.cridland.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ba4+VtkZlxGz; Thu, 5 Jan 2012 21:41:49 +0000 (GMT)
Received: from puncture (puncture.dave.cridland.net [IPv6:2001:470:1f09:882:221:85ff:fe3f:1696]) by peirce.dave.cridland.net (Postfix) with ESMTPA id 19FA61168067; Thu, 5 Jan 2012 21:41:49 +0000 (GMT)
Subject: Re: Protocol Definition
References: <CAD7Ssm-Vetqmh3sxMWRiOHysp+XUaas7XuBkeg803mkTCsA0vQ@mail.gmail.com> <alpine.OSX.2.01.1201031756290.15402@rcdn-vpn-client-10-89-1-59.cisco.com> <07F7D7DED63154409F13298786A2ADC9042C5169@EXRAD5.ad.rad.co.il> <4F05B856.9050205@dcrocker.net> <3013.1325775717.451646@puncture> <4F05DA49.8050802@dcrocker.net> <4F05E3B8.5030305@mail-abuse.org>
In-Reply-To: <4F05E3B8.5030305@mail-abuse.org>
MIME-Version: 1.0
Message-Id: <3013.1325799709.099423@puncture>
Date: Thu, 05 Jan 2012 21:41:49 +0000
From: Dave Cridland <dave@cridland.net>
To: Douglas Otis <dotis@mail-abuse.org>, IETF-Discussion <ietf@ietf.org>
Content-Type: text/plain; delsp="yes"; charset="us-ascii"; format="flowed"
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: Thu, 05 Jan 2012 21:41:55 -0000

On Thu Jan  5 17:54:00 2012, Douglas Otis wrote:
> Agreed.  A multiple stream protocol aggregates multiple endpoints  
> into an Association where each then signals supported protocols.   
> Within each protocol, various algorithms are applied, often in  
> phases such as Bind, Listen, Accept, Connect, Close, Shutdown,  
> SendMsg, RecvMsg, GetPeerName.  An algorithm might be expressed  
> using computer languages that incorporate elaborate mathematical  
> models, such as simple hash functions used to validate packets.   
> One of the protocols supported is SDP Session Description Protocol  
> that carries media over the multiple streams.  This provides for  
> Sessions, Associations and Connections.

As you say, algorithms can be expressed in terms of other algorithms.

And yes, "session" is certainly an overloaded term (as is protocol,  
mind, which can be used for extensions and "sub protocols" as well).  
But I think it's the best we have, and I think it's commonly used  
anyway. Association, to my mind, means a transport layer connection,  
hence it's usage in SNMP and other OSI-related things.

Session isn't much less damaged, as a term, I admit, but it is in  
common usage. And like algorithms, and protocols, you can open up a  
session to find other sessions inside.

So for example a session of XMPP may include:

- Multiple sequential XMPP-carrying TCP sessions ("connections"),  
which are considered a single "Session" by dint of using XEP-0198 (An  
"XMPP Extension Protocol") to glue them together.

- Jingle negotiations, which speak an XML adaptation of SDP,  
negotiating RTP sessions for A/V.

Now, it's entirely fair to say that your XMPP session may include  
multiple TCP sessions, and each TCP session speaking XMPP may use  
Jingle sessions to negotiate multiple media sessions. We have lots of  
terms that require qualification to be of any use, and "session",  
"protocol", and even "connection" all need this.

Dave.

(Sent over a mail session using both IMAP and ESMTP sessions in  
concert with an ACAP session).
-- 
Dave Cridland - mailto:dave@cridland.net - xmpp:dwd@dave.cridland.net
  - acap://acap.dave.cridland.net/byowner/user/dwd/bookmarks/
  - http://dave.cridland.net/
Infotrope Polymer - ACAP, IMAP, ESMTP, and Lemonade