Re: [6lo] Questions and comments regarding draft-ietf-6lo-ghc-00.

Carsten Bormann <cabo@tzi.org> Thu, 06 February 2014 10:13 UTC

Return-Path: <cabo@tzi.org>
X-Original-To: 6lo@ietfa.amsl.com
Delivered-To: 6lo@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6EC8D1A036C for <6lo@ietfa.amsl.com>; Thu, 6 Feb 2014 02:13:54 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.251
X-Spam-Level:
X-Spam-Status: No, score=-1.251 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_DE=0.35, MIME_8BIT_HEADER=0.3, SPF_HELO_PASS=-0.001] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Rx_5OwSS4JMZ for <6lo@ietfa.amsl.com>; Thu, 6 Feb 2014 02:13:52 -0800 (PST)
Received: from informatik.uni-bremen.de (mailhost.informatik.uni-bremen.de [IPv6:2001:638:708:30c9::12]) by ietfa.amsl.com (Postfix) with ESMTP id 90C9F1A00B4 for <6lo@ietf.org>; Thu, 6 Feb 2014 02:13:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at informatik.uni-bremen.de
Received: from smtp-fb3.informatik.uni-bremen.de (smtp-fb3.informatik.uni-bremen.de [134.102.224.120]) by informatik.uni-bremen.de (8.14.5/8.14.5) with ESMTP id s16ADnBQ029773; Thu, 6 Feb 2014 11:13:49 +0100 (CET)
Received: from [192.168.217.105] (p54890856.dip0.t-ipconnect.de [84.137.8.86]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by smtp-fb3.informatik.uni-bremen.de (Postfix) with ESMTPSA id 610A6188; Thu, 6 Feb 2014 11:13:48 +0100 (CET)
Mime-Version: 1.0 (Mac OS X Mail 7.1 \(1827\))
Content-Type: text/plain; charset="windows-1252"
From: Carsten Bormann <cabo@tzi.org>
In-Reply-To: <52F344BA.6000500@effnet.com>
Date: Thu, 06 Feb 2014 11:13:46 +0100
Content-Transfer-Encoding: quoted-printable
Message-Id: <C028112C-26D4-4E6C-A2A0-2D9A6170352A@tzi.org>
References: <52F23FE4.7020805@effnet.com> <52F344BA.6000500@effnet.com>
To: Thomas Björklund <thomas.bjorklund@effnet.com>
X-Mailer: Apple Mail (2.1827)
Cc: "6lo@ietf.org WG" <6lo@ietf.org>
Subject: Re: [6lo] Questions and comments regarding draft-ietf-6lo-ghc-00.
X-BeenThere: 6lo@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "Mailing list for the 6lo WG for Internet Area issues in IPv6 over constrained node networks." <6lo.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/6lo>, <mailto:6lo-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/6lo/>
List-Post: <mailto:6lo@ietf.org>
List-Help: <mailto:6lo-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/6lo>, <mailto:6lo-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 06 Feb 2014 10:13:54 -0000

(I encouraged Thomas to send the below points to the mailing list.
I already had typed up responses to those, so I’m sorry if they don’t match the rephrased questions.)


> 1) In general I find the document easy to read and understand, however I
> think the description of the backreference code byte in Table 1 can be
> slightly improved. First, use the same order of the terms in the
> definition of n and s, e.g. n = na+0b00000nnn+2; s = sa+0b00000kkk+n.
> Further, n is used both as a variable name and to represent a bit
> string. I think this should be avoided.

OK, let me think about improving this editorially.


> 2) In the paragraph above Figure 9, one can read "Note that the
> compressed output exposes an inefficiency in the simple-minded
> compressor used to generate it". I find the compressed output optimal
> with respect to size. What is sub optimal with the compressed output in
> Figure 9?

I’m afraid I already forgot (I think it was about using one more “mode-switch” than needed).  But I can look at it again.



> 3) I think that it somewhere in the draft should be a reference to James
> Storer and Thomas Szymanski's description of LZSS in the article "Data
> compression via textual substitution", since the algorithm proposed for
> compression is very similar to theirs, so that the interested reader can
> learn more about the background.

I was very careful (too careful maybe) to avoid superfluous references to anything post LZ77.
Now LZSS is old enough that it should be patent-safe, so that is a good suggestion (a JACM reference never hurts, even if it doesn’t help very much :-).

Do I actually propose an algorithm for compression?


> 4a) Why was the entire pseudo header chosen to be a part of the initial
> dictionary? I guess that there might have been other candidates of what
> to put in the dictionary that didn't make it into the draft.

An IP implementation may already need to realize the pseudo-header for computing the UDP checksum, so it seemed obvious to stick to it.  There is also some specification economy.  It also didn’t seem morbidly big, given that you certainly want both the IP source and the IP destination address.  But it is certainly possible to substitute it by something better, if there is any such thing.


> 4b) What sort of packet trace was used to generate the static part of
> the dictionary? Is it possible to get a copy of it?

The traces we have are on http://svn.tools.ietf.org/svn/wg/6lowpan/packets
Not much, but it seems a bit hard to get real-world pcaps from people in this space.
If you have more that can be published this way, I’d sure like to put them up there!


> 4c) Is there any need for changing the content and size of the initial
> dictionary (pseudo header + static dictionary) in the future? If so
> could/should the way GHC capability is indicated be extended with a
> version number as well?

I thought about this a lot and decided against it.
I expect the protocol encodings (e.g., DTLS 1.3) to become better and be less in need of crutches of this kind.  
We already have the terrible split between non-GHC and GHC nodes.
But, as a life insurance, we do have enough bits in the 6CIO option to add a third cohort if that turns out to really be needed at some point.  (Version *numbers*, by the way, are almost never the right way to achieve protocol evolution.)


(We also discussed interop testing, and I pointed out that there will be an ETSI plugtest on Mar 7–9 where we can interop test GHC.  I also repeated my plea for packet traces that can be used to evaluate the compression.)

Grüße, Carsten