Re: [rohc] RFC4996 IP-ID with co_common and Random behavior
RoHC Team <rohc_team@dialine.fr> Mon, 05 March 2012 09:59 UTC
Return-Path: <rohc_team@dialine.fr>
X-Original-To: rohc@ietfa.amsl.com
Delivered-To: rohc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F2C1C21F871E for <rohc@ietfa.amsl.com>; Mon, 5 Mar 2012 01:59:08 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.505
X-Spam-Level:
X-Spam-Status: No, score=-0.505 tagged_above=-999 required=5 tests=[AWL=0.543, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, RDNS_NONE=0.1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rKgA3I93CnhP for <rohc@ietfa.amsl.com>; Mon, 5 Mar 2012 01:59:08 -0800 (PST)
Received: from smtp6-g21.free.fr (smtp6-g21.free.fr [IPv6:2a01:e0c:1:1599::15]) by ietfa.amsl.com (Postfix) with ESMTP id 2D99021F8717 for <rohc@ietf.org>; Mon, 5 Mar 2012 01:59:05 -0800 (PST)
Received: from [127.0.0.1] (unknown [88.185.172.218]) by smtp6-g21.free.fr (Postfix) with ESMTP id 1BBE282370; Mon, 5 Mar 2012 10:58:57 +0100 (CET)
Message-ID: <4F548E67.5060402@dialine.fr>
Date: Mon, 05 Mar 2012 10:59:03 +0100
From: RoHC Team <rohc_team@dialine.fr>
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
MIME-Version: 1.0
To: Carl Knutsson <carl.knutsson@effnet.com>
References: <4F4BA931.8000203@dialine.fr> <4F547BAA.6080909@effnet.com>
In-Reply-To: <4F547BAA.6080909@effnet.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 8bit
X-Antivirus: avast! (VPS 120304-1, 04/03/2012), Outbound message
X-Antivirus-Status: Clean
Cc: rohc@ietf.org
Subject: Re: [rohc] RFC4996 IP-ID with co_common and Random behavior
X-BeenThere: rohc@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
Reply-To: rohc_team@dialine.fr
List-Id: Robust Header Compression <rohc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/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: Mon, 05 Mar 2012 09:59:09 -0000
Hello Carl, When using co_common compressed packet format, described page 80 of the RFC, ip_id is optionaly sent with the optional_ip_id_lsb{} method. Ok. But when the IP-ID behavior is random, the value is not present in the header : COMPRESSED not_present { ENFORCE((behavior == IP_ID_BEHAVIOR_RANDOM) || (behavior == IP_ID_BEHAVIOR_ZERO)); } So I don't understand how to send IP-ID random value ... Perhaps you think of the ipv4_innermost_irregular{} method, page 63, but I don't understand how to use this method and the compressed format co_common{} ... And I don't have any samples or reference captures file : only the RFC text! Thank you for your help and explanation. Best regards, FWX. Le 05/03/2012 09:39, Carl Knutsson a écrit : > Hi, > > Comment inline. > > Cheers > > /Calle > > On 02/27/2012 05:02 PM, RoHC Team wrote: >> Hello everybody, >> >> We are coding the RFC4996 and we don't understand how to send the value >> of the IPv4 IP-ID field, using the co_common compressed format, when the >> IP-ID has a random behavior. >> >> With the co_common format, there are : >> ip_id_indicator >> ip_id_behavior >> and ip_id =:= optional_ip_id_lsb( ip_id_behavior.UVALUE, >> ip_id_indicator.CVALUE) >> >> with : >> >> optional_ip_id_lsb(behavior, indicator) >> { >> UNCOMPRESSED { >> ip_id [ 16 ]; >> } >> >> COMPRESSED short { >> ip_id =:= ip_id_lsb(behavior, 8, 3) [ 8 ]; >> ENFORCE((behavior == IP_ID_BEHAVIOR_SEQUENTIAL) || >> (behavior == IP_ID_BEHAVIOR_SEQUENTIAL_SWAPPED)); >> ENFORCE(indicator == 0); >> } >> >> COMPRESSED long { >> ip_id =:= irregular(16) [ 16 ]; >> ENFORCE((behavior == IP_ID_BEHAVIOR_SEQUENTIAL) || >> (behavior == IP_ID_BEHAVIOR_SEQUENTIAL_SWAPPED)); >> ENFORCE(indicator == 1); >> } >> >> COMPRESSED not_present { >> ENFORCE((behavior == IP_ID_BEHAVIOR_RANDOM) || >> (behavior == IP_ID_BEHAVIOR_ZERO)); >> } >> } >> >> >> >> So, if ip_id_behavior is RANDOM, ip_id is not compressed (not present) >> ! And we can't send the value ... >> >> Why not ip_id =:= irregular(16) [ 16 ]; when behavior is RANDOM ? >> > > The FN is correct. IP-ID is sent in the irregular chain. > >> >> >> There is a contradiction with the paragraph 8.1 page 44/45 saying : >> >> All of the compressed base headers transmit LSB-encoded MSN bits, the >> TCP Push flag, and a CRC, and in addition to this, all the base >> headers in the sequential packet format set contain LSB-encoded IP-ID >> bits. >> >> o Common header format: The common header format can be used for all >> kinds of IP-ID behavior and should be useful when some of the more >> rarely changing fields in the IP or TCP header change. Since this >> header format can update control fields that decide how the >> decompressor interprets packets, it carries a 7-bit CRC to reduce >> the probability of context corruption. This header can basically >> convey changes to any of the dynamic fields in the IP and TCP >> headers, and it uses a large set of flags to provide information >> about which fields are present in the header format. >> > > I can't find any contradiction. Please be more specific. > > >