Re: [rohc] The discussion on slope(s)

Kristofer Sandlund <kristofer.sandlund@effnet.com> Sun, 05 December 2004 12:01 UTC

Received: from ietf-mx.ietf.org (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id HAA00226 for <rohc-web-archive@ietf.org>; Sun, 5 Dec 2004 07:01:34 -0500 (EST)
Received: from megatron.ietf.org ([132.151.6.71]) by ietf-mx.ietf.org with esmtp (Exim 4.33) id 1CavBG-00057w-2f for rohc-web-archive@ietf.org; Sun, 05 Dec 2004 07:07:58 -0500
Received: from localhost.localdomain ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1Cav40-0004lh-Od; Sun, 05 Dec 2004 07:00:28 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1Cauz5-0003xg-S1 for rohc@megatron.ietf.org; Sun, 05 Dec 2004 06:55:24 -0500
Received: from ietf-mx.ietf.org (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id GAA29942 for <rohc@ietf.org>; Sun, 5 Dec 2004 06:55:21 -0500 (EST)
Received: from [194.237.235.30] (helo=effnet.com) by ietf-mx.ietf.org with esmtp (Exim 4.33) id 1Cav5D-00051E-UJ for rohc@ietf.org; Sun, 05 Dec 2004 07:01:44 -0500
Received: from [172.16.0.35] (c83-176-200-103.cust.tele2.se [83.176.200.103]) (authenticated bits=0) by effnet.com (8.12.3/8.12.3) with ESMTP id iB5AsDLh026553 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NOT); Sun, 5 Dec 2004 11:54:21 +0100
Message-ID: <41B2F702.2090803@effnet.com>
Date: Sun, 05 Dec 2004 12:54:42 +0100
From: Kristofer Sandlund <kristofer.sandlund@effnet.com>
User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.3) Gecko/20041115
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: zhigang.c.liu@nokia.com
Subject: Re: [rohc] The discussion on slope(s)
References: <7B5AF06E216CB74DA8A5960A3181B5B82891BE@ajebe001.americas.nokia.com>
In-Reply-To: <7B5AF06E216CB74DA8A5960A3181B5B82891BE@ajebe001.americas.nokia.com>
Content-Type: text/plain; charset="us-ascii"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-Scan-Signature: d0bdc596f8dd1c226c458f0b4df27a88
Content-Transfer-Encoding: 7bit
Cc: cabo@tzi.org, rohc@ietf.org, ghyslain.pelletier@ericsson.com, lars-erik.jonsson@ericsson.com
X-BeenThere: rohc@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Robust Header Compression <rohc.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/rohc>, <mailto:rohc-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:rohc@ietf.org>
List-Help: <mailto:rohc-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/rohc>, <mailto:rohc-request@ietf.org?subject=subscribe>
Sender: rohc-bounces@ietf.org
Errors-To: rohc-bounces@ietf.org
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 0fa76816851382eb71b0a882ccdc29ac
Content-Transfer-Encoding: 7bit

Hi Zhigang,

comments inline.

zhigang.c.liu@nokia.com wrote:
>>Yes, of course the update packet itself has a CRC. But the slope value is not 
>>transmitted, it is inferred based on timestamp history so it is not covered by 
>>that CRC. 
> 
> 
> Kristofer,
> 
> An undetected error in an update packet can cause the decompressor 
> to derive an incorrect slope. But the problem is the undetected error, 
> not the slope. That is because the same error can happen in any
> transmitted header fields and parameters (e.g. SN, TS, TS_STRIDE)
> that will cause context damage and error propagation.
> 

In the worst-case example I provided earlier, the problem I was trying 
to point out was NOT the fact that the context _can_ get damaged, which 
I agree can happen at any time because of any field. The problem I was 
pointing out that we get context damage that will NEVER be detected on 
such a stream as I showed. In U/O-mode, context damage will be picked up 
quickly since all packets have a CRC, and in "normal" R-mode, almost as 
quickly (as soon as some context-updating packets arrive). This is what 
sets slope apart from explicit fields. So, my problem with slope is that 
when it is set (in a CRC-carrying packet) it is not used for this 
specific packet (therfore, the setting of the slope is not verified). In 
R-mode, the first time it will be used will (usually) be for a packet 
without a CRC, meaning that the slope itself might actually _never_ be 
verified. The only saviour is the R-0-CRC and there is nothing in the 
spec mandating sending of this specific packet type since a UOR2 could 
be used instead (in the worst-case stream, the compressor HAS to use 
UOR-2s).

Could you please comment on the worst-case mail, since to me this is a 
huge problem. You could (theoretically at least) have a video stream 
running for days in a row, without detecting that the context is damaged.

Also, the second-biggest problem to me is the actual updating of the 
slope (both in U/O and R-mode) and so far, the examples you have 
provided have only dealt with situations where the slope has already 
been set. It would be interesting to see some of this as well.

> To expand this. When TS breaks its change pattern (i.e. the function 
> TS = SN * slope + offset), at least one update packet needs to be sent. 
> (Actually, if new slope is same as default-slope, one update packet is 
> enough.) If an undetected error happens in SN or TS of that packet, the 
> function will be incorrect, no matter how you establish slope on the 
> decompressor side.
> 
> The issue of undetected (or residual) errors has been discussed heavily
> when we developed 3095. Actually, that is one of the core issues.
> Text in section 2, 4.6, 4.7 covers the subject.
>

See my reply above why I think these are two different problems.

> Also, I'm a bit curious: have you implemented R-mode? If yes, how section 
> 5.5.1.2 of 3095 was implemented?
> 

Yes, we have implemented R-mode. But we felt the same as multiple other 
implementers, that the "slope' part of that section was a leftover from 
something that did not make it into the spec since it is not really 
specified and therefore a "bug".

/Kristofer Sandlund, Effnet AB

> BR, Zhigang
> 

_______________________________________________
Rohc mailing list
Rohc@ietf.org
https://www1.ietf.org/mailman/listinfo/rohc