Re: Protocol Definition

Joe Touch <> Mon, 18 June 2012 22:44 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id AC2A911E80A0 for <>; Mon, 18 Jun 2012 15:44:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -103.599
X-Spam-Status: No, score=-103.599 tagged_above=-999 required=5 tests=[AWL=-1.000, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 3+vD-UmMhmTB for <>; Mon, 18 Jun 2012 15:44:43 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id D471E11E808F for <>; Mon, 18 Jun 2012 15:44:43 -0700 (PDT)
Received: from [] ( []) (authenticated bits=0) by (8.13.8/8.13.8) with ESMTP id q5IMiPR0012655 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Mon, 18 Jun 2012 15:44:25 -0700 (PDT)
Message-ID: <>
Date: Mon, 18 Jun 2012 15:44:25 -0700
From: Joe Touch <>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: Alessandro Vesely <>
Subject: Re: Protocol Definition
References: <>
In-Reply-To: <>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-ISI-4-43-8-MailScanner: Found to be clean
Cc: IETF discussion list <>
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: IETF-Discussion <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 18 Jun 2012 22:44:44 -0000

On 6/18/2012 3:30 AM, Alessandro Vesely wrote:
> I noticed no disagreement between "method" and "mechanism", at the
> time.  In retrospect, those two terms might seem to allude to a
> different depth of semantic explanations.  Rereading that thread, I
> find that the same ambiguity holds for algorithm descriptions:  one
> can give a full description (or coding) of, say, sqrt, without
> actually saying that the square of the result will match its argument
> up to some rounding error.  The specification does not have to relate
> the underlying mathematical abstraction.

This is the difference between a behavioral description and a procedural 

Behavioral treats a system as a "black box", and defines the system as a 
function and how it transforms its input into its output.

Procedural specifies the particular steps taken inside the box.

Procedural is more specific than behavioral:

	behavioral = any of a number of ways of calculating SQRT
	procedural = one specific algorithm for calculating SQRT

Semantics is a completely different thing - the assignment of "meaning" 
to symbols. Neither procedural nor behavioral descriptions need to 
include semantic descriptions.

> Protocol specifications, especially when dealing with policies, do not
> have to describe the exact meaning of the relevant tokens.  To do that
> would often look like mandating a state or a reaction, neither of
> which is needed to ensure interoperability.

In a protocol, state transitions and response messages are specified. 
Protocols are typically described procedurally, FWIW.

> In fact, the protocol
> just has to ensure that a policy can be transmitted correctly.  Many
> would rather leave a policy token underspecified than get involved in
> its details.

This is like claiming that a protocol is just "bits on the wire", and it 
is not accurate.

> In that respect, a protocol is not a complete method.  The "upper
> layer", where policies and politics are dealt with, seems to be too
> fuzzy to be specified.  I think this limitation is consistent with the
> etymological meaning of the term, that refers to forms of conduct that
> don't betray intentions.  Is that right?

Conduct, intention, and semantics refer to human interpretations of 
events. Unless a human is part of your protocol stack, they're not relevant.

I agree with AB - these issues aren't relevant to IETF descriptions of