Re: Fuzzy-layering and its suggestion

"Jason Gao" <jag@kinet.com.cn> Fri, 06 September 2002 01:18 UTC

Received: from loki.ietf.org (loki [10.27.2.29]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id VAA13212; Thu, 5 Sep 2002 21:18:04 -0400 (EDT)
Received: (from adm@localhost) by loki.ietf.org (8.9.1b+Sun/8.9.1) id VAA06610 for ietf-outbound.09@loki.ietf.org; Thu, 5 Sep 2002 21:04:01 -0400 (EDT)
Received: from ietf.org (odin.ietf.org [10.27.2.28]) by loki.ietf.org (8.9.1b+Sun/8.9.1) with ESMTP id VAA06570 for <ietf-mainout@loki.ietf.org>; Thu, 5 Sep 2002 21:00:04 -0400 (EDT)
Received: by ietf.org (8.9.1a/8.9.1a) id UAA12913 for ietf-mainout@loki.ietf.org; Thu, 5 Sep 2002 20:58:27 -0400 (EDT)
X-Authentication-Warning: ietf.org: majordom set sender to owner-ietf@ietf.org using -f
Received: from mail.gmmedia.net.cn ([210.51.18.129]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id UAA12906 for <ietf@ietf.org>; Thu, 5 Sep 2002 20:58:22 -0400 (EDT)
Received: from fujitsu [61.149.6.83] by mail.gmmedia.net.cn with ESMTP (SMTPD32-7.04) id AAF11B0050; Fri, 06 Sep 2002 08:46:41 +0800
Message-ID: <002701c25540$d48eee40$5019e29f@fujitsu>
From: Jason Gao <jag@kinet.com.cn>
To: Fred Baker <fred@cisco.com>
Cc: ietf@ietf.org
References: <5.1.1.6.2.20020905134955.041f06d8@mira-sjcm-4.cisco.com>
Subject: Re: Fuzzy-layering and its suggestion
Date: Fri, 06 Sep 2002 09:00:44 +0800
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2462.0000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2462.0000
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from base64 to 8bit by ietf.org id UAA12907
Sender: owner-ietf@ietf.org
Precedence: bulk
Content-Transfer-Encoding: 8bit
X-Loop: ietf@ietf.org
Content-Transfer-Encoding: 8bit

Well, I should have cited another instance. What the TCP checksum protects includes the pseudu-header which contains the source and the destination IP address. Transport address in TCP (and SCTP) contains IP address. Clearly the IP address is not stored in the transport layer header. IMHO it is not an instance of clear layering.

Implementations that let TCP and IP 'share' the ECN bits, in another word, practice in fuzzy-layering way, avoid the standardization process of the API (actually there seems no standard, or de facto standard API that the IP layer provides to the transport layer.), benefit from lower overhead accross layer interface calls. Though 'fuzzy-layering' is really not a requirement, concerns on performance and efficiency often make it the preferred practice principle.

----- Original Message ----- 
From: "Fred Baker" <fred@cisco.com>
To: "Jason Gao" <jag@kinet.com.cn>
Cc: <ietf@ietf.org>
Sent: Friday, September 06, 2002 4:58 AM
Subject: Re: Fuzzy-layering and its suggestion


> At 09:11 PM 9/5/2002 +0800, Jason Gao wrote:
> >--- TCP with ECN extension
> >
> >has already been a practice of fuzzy-layering.
> >
> >TCP in the end system and IP in the intermediate systems share the two ECN 
> >bits in the IP header.
> 
> that is incorrect. First off, IP also is found in the end system, and uses 
> the ECN bits.
> 
> More important, though, is that TCP uses an IP service, through an 
> IP-provided API. The TCPs negotiate whether they are willing to run ECN, 
> and if they agree, they (on transmission) use the API feature that says 
> "please tell my peer if this datagram experiences congestion", and (on 
> reception) use the API feature that says whether or not congestion was 
> experienced somewhere in the network. All other communication regarding ECN 
> is via the transport header. SCTP also has a defined facility for the 
> transport exchange relevant to ECN.
> 
> If your implementation delivers the IP header to or from TCP or SCTP, then 
> the implementation of the API in question is the passage of that header. I 
> know of a number of implementations that do that; it certainly is a 
> convenient approach. However, I don't see any requirement that the API take 
> that form, and I know some very common implementations that don't.
> 
> I don't see any significant difference between using a service of this 
> type, and using a service that says "please send this message as urgent 
> data" to TCP, or "please send this message with this DSCP" to IP, or 
> "please send this message without permitting fragmentation" to IP. It's 
> just a service accessed through the API.
> 
>