Re: [bfcpbis] TBD issues #4 and #5: How to pick next sequence number

Tom Kristensen <tomkrist@cisco.com> Wed, 19 December 2012 08:54 UTC

Return-Path: <tomkrist@cisco.com>
X-Original-To: bfcpbis@ietfa.amsl.com
Delivered-To: bfcpbis@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4F7B921F8948 for <bfcpbis@ietfa.amsl.com>; Wed, 19 Dec 2012 00:54:07 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.599
X-Spam-Level:
X-Spam-Status: No, score=-10.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EQ9LA927db62 for <bfcpbis@ietfa.amsl.com>; Wed, 19 Dec 2012 00:54:06 -0800 (PST)
Received: from rcdn-iport-7.cisco.com (rcdn-iport-7.cisco.com [173.37.86.78]) by ietfa.amsl.com (Postfix) with ESMTP id 57C3721F850D for <bfcpbis@ietf.org>; Wed, 19 Dec 2012 00:54:06 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=6937; q=dns/txt; s=iport; t=1355907246; x=1357116846; h=message-id:date:from:mime-version:to:cc:subject: references:in-reply-to; bh=gvXQol5pHzvgBGqKTdOxpl5l84cemA1GIwNxJ3e9gBQ=; b=aDbWijc1fqiKkBiUNincotQjZB04sHOoBwM23ITjRgaihFfb6UgLZeeV fp2lG7DhB0SNE4kJLPjgdqKHLDb7Qd3H1Ccf/ZS8x+HYt0V7Oy0e+jBJD +ry0qrraPZ5WsFlwa0zMzustM09eJbGgQwS8SsMfE/Un3glzKqDho9VO3 Q=;
X-Files: section8-asOf2012-12-19.txt : 3407
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AvUHAJd/0VCtJV2b/2dsb2JhbABEg0iIUq4ugUoBggMWc4IeAQEBBGcBEAEQCxgJDQkPCQMCAQIBRQYNAQcBAYgPuCiMS4EWDIMhA48Gg1GDM4Vril2CdYFs
X-IronPort-AV: E=Sophos; i="4.84,313,1355097600"; d="txt'?scan'208"; a="154532005"
Received: from rcdn-core-4.cisco.com ([173.37.93.155]) by rcdn-iport-7.cisco.com with ESMTP; 19 Dec 2012 08:54:05 +0000
Received: from [10.47.38.141] ([10.47.38.141]) by rcdn-core-4.cisco.com (8.14.5/8.14.5) with ESMTP id qBJ8s4DA028735; Wed, 19 Dec 2012 08:54:04 GMT
Message-ID: <50D180AC.3020105@cisco.com>
Date: Wed, 19 Dec 2012 09:54:04 +0100
From: Tom Kristensen <tomkrist@cisco.com>
Organization: Cisco
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.15) Gecko/20101027 Fedora/3.0.10-1.fc12 Lightning/1.0b2pre Thunderbird/3.0.10
MIME-Version: 1.0
To: Gonzalo Camarillo <Gonzalo.Camarillo@ericsson.com>
References: <50A20844.3070601@cisco.com> <50A20AFA.6050001@ericsson.com>
In-Reply-To: <50A20AFA.6050001@ericsson.com>
Content-Type: multipart/mixed; boundary="------------040601000403040504090106"
Cc: BFCPbis WG <bfcpbis@ietf.org>, 'Tom Kristensen' <2mkristensen@gmail.com>
Subject: Re: [bfcpbis] TBD issues #4 and #5: How to pick next sequence number
X-BeenThere: bfcpbis@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: BFCPBIS working group discussion list <bfcpbis.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/bfcpbis>, <mailto:bfcpbis-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/bfcpbis>
List-Post: <mailto:bfcpbis@ietf.org>
List-Help: <mailto:bfcpbis-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/bfcpbis>, <mailto:bfcpbis-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 19 Dec 2012 08:54:07 -0000

In order not to duplicate the normative description on how to pick 
Transaction ID values for unreliable transport, I move the text from 6.2 
to Section 8 where the BFCP transaction semantics are defined.

New section 8 enclosed.

-- Tom

On 11/13/2012 09:55 AM, Gonzalo Camarillo wrote:
> Hi,
>
> the text should explain the requirement (i.e., to avoid getting confused
> with retransmissions that arrive late). With respect to the mechanism,
> you can recommend (i.e., at SHOULD level) to use monotonically
> increasing sequence numbers and let implementations choose any other
> method that would meet the requirement as well.
>
> Cheers,
>
> Gonzalo
>
> On 13/11/2012 10:43 AM, Tom Kristensen wrote:
>    
>> Issue with picking sequence numbers and making sure it doesn't cause any
>> issues with (late) arriving retransmissions. This may happen, even
>> though UDP/BFCP requires just one outstanding transaction at the time.
>>
>> Gonzalo:
>>      
>>> Section 6.2
>>>        
>> [...]
>>      
>>> The document says: " Transaction ID values are non-sequential and
>>> entities are at liberty to select values at random."
>>>
>>> The document needs to make it clear what is the requirement and the
>>> level of randomness required. For example, what happens if the same
>>> transaction ID is reused and a retransmission of the message that
>>> first used that transaction ID arrives?
>>>        
>> Tom:
>> | No real random numbers are needed. This issue is solved in the
>> | upcoming version of the draft.
>> | However, we need a safe scheme to pick sequence numbers to avoid
>> | late arriving retransmissions cause confusion).
>>
>>
>> Gonzalo:
>>      
>>> Section 8.1
>>>
>>> "The client MUST set the Transaction ID value in the common header to
>>> a number that is different from 0 and that MUST NOT be reused in
>>> another message from the client until a response from the server is
>>> received for the transaction."
>>>
>>> See my comment above about reusing transaction ID values and the risk
>>> of receiving retransmissions of the original message.
>>>        
>> Tom:
>> | OK. This is kept from RFC 4582 using TCP (and no retransmissions). So,
>> the
>> | idea should be to keep the RFC 4582 semantics for TCP transport and
>> | introduce some sort of "sliding window sequence number" reuse or simply
>> | add a sequential/wrapping sequence numbering for UDP as transport.
>>
>>
>> So, what do people think?
>>
>> I feel the simplest here is to at least requring the BFCP entities to
>> select
>> Transaction ID values in increasing order and a wrap around of the 16
>> bit Transaction ID value. (This will require saying something about
>> picking the intial value at random, not to close to wrapping and so on -
>> I guess. Similar to RTP sequence numbers).
>>
>> Or is it sufficient to mandate not reusing the X last Transaction IDs
>> used by the BFCP entity?
>> Where X == what?
>>
>> -- Tom
>>      
>