Re: [rohc] 3-bit CRC and IPv6 ip_id_behavior
Carl Knutsson <carl.knutsson@effnet.com> Thu, 16 September 2010 08:34 UTC
Return-Path: <carl.knutsson@effnet.com>
X-Original-To: rohc@core3.amsl.com
Delivered-To: rohc@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix)
with ESMTP id 4000C3A68C0 for <rohc@core3.amsl.com>;
Thu, 16 Sep 2010 01:34:19 -0700 (PDT)
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 ([64.170.98.32]) by localhost (core3.amsl.com
[127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GpB-1vJI83d3 for
<rohc@core3.amsl.com>; Thu, 16 Sep 2010 01:34:18 -0700 (PDT)
Received: from lists.levonline.com (lists.levonline.com [217.70.33.37]) by
core3.amsl.com (Postfix) with ESMTP id CE81F3A6940 for <rohc@ietf.org>;
Thu, 16 Sep 2010 01:34:16 -0700 (PDT)
Received: from localhost (localhost.localdomain [127.0.0.1]) by
lists.levonline.com (Postfix) with ESMTP id D821F2683BD for <rohc@ietf.org>;
Thu, 16 Sep 2010 10:34:40 +0200 (CEST)
X-Virus-Scanned: By http://levonline.com - free virus scanning for all
customers
Received: from lists.levonline.com ([127.0.0.1]) by localhost
(lists.levonline.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id
ryoOZ1HW-VXw for <rohc@ietf.org>; Thu, 16 Sep 2010 10:34:36 +0200 (CEST)
Received: from truck3.fordonnet.levonline.com (webhotel.fordon.levonline.com
[217.70.32.2]) by lists.levonline.com (Postfix) with ESMTP id CC976268280;
Thu, 16 Sep 2010 10:34:35 +0200 (CEST)
Received: from [192.168.101.21]
(c-b10171d5.04-205-6c756c1.cust.bredbandsbolaget.se [213.113.1.177])
(authenticated bits=0) by truck3.fordonnet.levonline.com
(8.12.11.20060308/8.12.11) with ESMTP id o8G8YYi4020683 (version=TLSv1/SSLv3
cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 16 Sep 2010 10:34:35 +0200
Message-ID: <4C91D695.5090607@effnet.com>
Date: Thu, 16 Sep 2010 10:34:29 +0200
From: Carl Knutsson <carl.knutsson@effnet.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US;
rv:1.9.1.12) Gecko/20100826 Lightning/1.0b1 Thunderbird/3.0.7
MIME-Version: 1.0
To: Sasha Koruga <korugas@nkiconsulting.com>
References: <20100915175257.og3dxgmx9yaokkc4@webmail.nkiconsulting.com>
In-Reply-To: <20100915175257.og3dxgmx9yaokkc4@webmail.nkiconsulting.com>
X-Enigmail-Version: 1.0.1
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: 8bit
Cc: rohc@ietf.org
Subject: Re: [rohc] 3-bit CRC and IPv6 ip_id_behavior
X-BeenThere: rohc@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Robust Header Compression <rohc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/rohc>,
<mailto:rohc-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rohc>
List-Post: <mailto:rohc@ietf.org>
List-Help: <mailto:rohc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rohc>,
<mailto:rohc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 16 Sep 2010 08:34:19 -0000
Sasha Koruga,
There are no ipid_behavior control field for outer IPv6 headers. So they
hardly can be added to the control crc.
Section 6.6.11 is very clear, the ip_id_behavior should be added for
every IP header. I don't remember if the intention was to include IPv6
ip_id_behavior or not. However it is clear that something is broken.
I agree with you, it makes no sense adding the inner ipid_behavior and
outer ipid_behavior for IPv6 to the control_crc. These field (if
existing) are not sent as-is in any of the packet formats and are pretty
much protected by the crc-validation/verification. There is no need for
extra protection as in the ip-id case since the decompression will fail
if anything else than RANDOM is sent for IPv6.
Given the text in section 6.6.11, it is not really clear how to handle
this.
I would like to change the text in 6.6.11 to say
"for each IPv4 header" instead of "for each IP header"
I will discuss this with the authors and the AD (I am no longer
responsible for the WG) and file an errata if necessary.
/Calle
On 09/15/2010 11:52 PM, Sasha Koruga wrote:
> Dear ROHC enthusiasts,
>
> I have a question concerning section 6.6.11, âcontrol_crc3_encodingâ of RFC 5225, particularly for the RTP profile. The statement of interest: âip_id_behavior, one octet for each IP header in the compressible header chain starting from the outermost header.â
> Â
> For the RTP profile, are the ipv6 ip_id_behaviors included in the crc3 coverage? We are having an internal team debate on the issue, and thus I seek your guidance.
> Â
> I would personally argue ânoâ, because at section 6.6.11, ip_id_behavior for the ipv6 header is considered non-existent. Thus, I believe that, although not explicitly stated, the crc3 encoding only includes one octet for each IPv4 header.
> Only later in the text, in the lower layers (section 6.8.2.4), does an ipv6 ip_id_behavior occasionally get defined as RANDOM, but I don't believe that subsequently definitions makes that variable into a control field.
> Furthermore, in the RTP profile section, it states:
> UNCOMPRESSED v6 {
> ENFORCE(ip_id_behavior_innermost.UVALUE == IP_ID_BEHAVIOR_RANDOM);
> Thus it only defines one ip_id_behavior_innermost, and not an ip_id_behavior for each IPv6 header, as would be necessary for a control_crc3_encoding that would encode every ipv6 header, and as it did in the UDP profile:
> UNCOMPRESSED v6 {
> ENFORCE(ip_id_behavior.UVALUE == IP_ID_BEHAVIOR_RANDOM);
> I believe the purpose of the RTP definition was to allow functions such as ip_id_sequential_variable() and profile_1_7_flags1_enc() to be used regardless of ipv4 or ipv6, but not to expand the control_crc3_encoding() process.
> Â
> Logically, I also don't think it makes sense to compute the CRC3 of ipv6 ip_id_behavior. The purpose of CRC3 is to ensure that our control variables are in sync. However, ipv6 ip_id_behavior is always defined as RANDOM, so it can never be out-of-sync anyway. Adding it to the CRC3 calculation would be an unnecessary computation.
> Â
> However, I definitely see why some of my colleagues would argue the other way: that the ip_id_behavior for each and every IP header is included in the CRC3 coverage. They argue that if the intention was to include the ip_id_behavior's of only IPv4 headers, why would it not be stated explicitly as such?
> Â
> If you would clarify your intentions when writing the RFC, that would put our minds to rest. Thank you.
> Â
> Sincerely,
> Sasha Koruga
> Â
>
> _______________________________________________
> Rohc mailing list
> Rohc@ietf.org
> https://www.ietf.org/mailman/listinfo/rohc
- [rohc] 3-bit CRC and IPv6 ip_id_behavior Sasha Koruga
- Re: [rohc] 3-bit CRC and IPv6 ip_id_behavior Carl Knutsson