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

Tom Kristensen <tomkrist@cisco.com> Tue, 13 November 2012 08:43 UTC

Return-Path: <tomkrist@cisco.com>
X-Original-To: bfcpbis@ietfa.amsl.com
Delivered-To: bfcpbis@ietfa.amsl.com
Received: from localhost (localhost []) by ietfa.amsl.com (Postfix) with ESMTP id 6E5F921F8592 for <bfcpbis@ietfa.amsl.com>; Tue, 13 Nov 2012 00:43:50 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.028
X-Spam-Status: No, score=-10.028 tagged_above=-999 required=5 tests=[AWL=0.571, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id AMuxFljKJAaI for <bfcpbis@ietfa.amsl.com>; Tue, 13 Nov 2012 00:43:49 -0800 (PST)
Received: from ams-iport-3.cisco.com (ams-iport-3.cisco.com []) by ietfa.amsl.com (Postfix) with ESMTP id 766F221F858C for <bfcpbis@ietf.org>; Tue, 13 Nov 2012 00:43:49 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=2089; q=dns/txt; s=iport; t=1352796229; x=1354005829; h=message-id:date:from:mime-version:to:cc:subject: content-transfer-encoding; bh=zY/MC1sGLszaZQpAiThvWNDCaesvoPNV8lDbq7ec1fk=; b=KowxtKIJb8hR+m39M3xR1ZcoMppWHdUd9/QEE7bn9gpDmR7HrIgjv1TR IlAoxLXLlRMn6FkpzRD9kqcnCEqoOvtneFBvV+7qgKPPrkKs/a+lWURkZ RZ1hEQ8xiuOgsETdP4LvmGl6FgdpCuajKA8Jb1fADMC6jmCNILV7UfT4e I=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: ApoGAMcFolCQ/khN/2dsb2JhbABEwXUBgX2BCII3ASVAATwWGAMCAQIBSw0BBwEBHodomiiPZZA4knUDkkqDMoVriG2Ba4Jw
X-IronPort-AV: E=McAfee;i="5400,1158,6894"; a="9526490"
Received: from ams-core-4.cisco.com ([]) by ams-iport-3.cisco.com with ESMTP; 13 Nov 2012 08:43:48 +0000
Received: from [] (dhcp-10-54-86-33.cisco.com []) by ams-core-4.cisco.com (8.14.5/8.14.5) with ESMTP id qAD8hm5D016636; Tue, 13 Nov 2012 08:43:48 GMT
Message-ID: <50A20844.3070601@cisco.com>
Date: Tue, 13 Nov 2012 09:43:48 +0100
From: Tom Kristensen <tomkrist@cisco.com>
Organization: Cisco
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv: Gecko/20101027 Fedora/3.0.10-1.fc12 Lightning/1.0b2pre Thunderbird/3.0.10
MIME-Version: 1.0
To: BFCPbis WG <bfcpbis@ietf.org>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: Gonzalo Camarillo <Gonzalo.Camarillo@ericsson.com>
Subject: [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: Tue, 13 Nov 2012 08:43:50 -0000

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.

 > 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?

| 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).

 > 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.

| 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