Re: [Dime] [dime] #32: Sequence-Number Time-Stamp values within OC-OLR

<lionel.morand@orange.com> Mon, 10 February 2014 13:47 UTC

Return-Path: <lionel.morand@orange.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8C78F1A02C9 for <dime@ietfa.amsl.com>; Mon, 10 Feb 2014 05:47:53 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tZTDFwJcPqQS for <dime@ietfa.amsl.com>; Mon, 10 Feb 2014 05:47:50 -0800 (PST)
Received: from relais-inet.francetelecom.com (relais-ias92.francetelecom.com [193.251.215.92]) by ietfa.amsl.com (Postfix) with ESMTP id 95DD41A0835 for <dime@ietf.org>; Mon, 10 Feb 2014 05:47:49 -0800 (PST)
Received: from omfedm06.si.francetelecom.fr (unknown [xx.xx.xx.2]) by omfedm14.si.francetelecom.fr (ESMTP service) with ESMTP id 4033D22C551; Mon, 10 Feb 2014 14:47:49 +0100 (CET)
Received: from Exchangemail-eme1.itn.ftgroup (unknown [10.114.1.186]) by omfedm06.si.francetelecom.fr (ESMTP service) with ESMTP id 1A9D927C087; Mon, 10 Feb 2014 14:47:49 +0100 (CET)
Received: from PEXCVZYM13.corporate.adroot.infra.ftgroup ([fe80::cc7e:e40b:42ef:164e]) by PEXCVZYH01.corporate.adroot.infra.ftgroup ([::1]) with mapi id 14.03.0174.001; Mon, 10 Feb 2014 14:47:48 +0100
From: lionel.morand@orange.com
To: Jouni Korhonen <jouni.nospam@gmail.com>, "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>
Thread-Topic: [Dime] [dime] #32: Sequence-Number Time-Stamp values within OC-OLR
Thread-Index: AQHPJLlGaYcs5B7+bkSRJFt4wCbOs5quglmQ
Date: Mon, 10 Feb 2014 13:47:47 +0000
Message-ID: <14044_1392040069_52F8D885_14044_469_1_6B7134B31289DC4FAF731D844122B36E4975BB@PEXCVZYM13.corporate.adroot.infra.ftgroup>
References: <066.f8b7ffcffcd55b9e56fa2bfc281d4649@trac.tools.ietf.org> <29423_1391537999_52F12F4F_29423_3802_1_6B7134B31289DC4FAF731D844122B36E47772A@PEXCVZYM13.corporate.adroot.infra.ftgroup> <A9CA33BB78081F478946E4F34BF9AAA014D62A4B@xmb-rcd-x10.cisco.com> <52F24BC0.6070600@usdonovans.com> <29564_1391614624_52F25AA0_29564_1057_1_6B7134B31289DC4FAF731D844122B36E487344@PEXCVZYM13.corporate.adroot.infra.ftgroup> <2ACDC7E8-A46D-4618-92CE-B793AF3A8F75@nostrum.com> <29459_1391615624_52F25E88_29459_734_1_6B7134B31289DC4FAF731D844122B36E4873CD@PEXCVZYM13.corporate.adroot.infra.ftgroup> <29FCFFE7-64BF-4928-A3DF-F2FC0D1EFBC6@nostrum.com> <5BCBA1FC2B7F0B4C9D935572D9000668151B23D7@DEMUMBX014.nsn-intra.net> <52F3AF0D.3050306@usdonovans.com> <5BCBA1FC2B7F0B4C9D935572D9000668151B253C@DEMUMBX014.nsn-intra.net> <855AE46B-9E69-452E-A8C7-9AA26019A4B4@gmail.com>
In-Reply-To: <855AE46B-9E69-452E-A8C7-9AA26019A4B4@gmail.com>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.197.38.1]
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-PMX-Version: 6.0.3.2322014, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2013.11.20.60015
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] [dime] #32: Sequence-Number Time-Stamp values within OC-OLR
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 10 Feb 2014 13:47:53 -0000

I would add, maybe even before the format (NTP time based), that the real requirements for the sequence-number are:

- Globally/eternally unique
- increase monotonically over time, including over a reboot (as remind by Steve) 

The NTP time based type is just a guidance provided by the draft on how to generate sequence numbers with such properties.

Lionel

-----Message d'origine-----
De : DiME [mailto:dime-bounces@ietf.org] De la part de Jouni Korhonen
Envoyé : samedi 8 février 2014 11:33
À : Wiehe, Ulrich (NSN - DE/Munich)
Cc : dime@ietf.org
Objet : Re: [Dime] [dime] #32: Sequence-Number Time-Stamp values within OC-OLR


Sounds acceptable. Would the following then work for all:

o clarify that once the overload report expires there is no
  reason to remember anything about it
o the sequence number would be similar to session-id.. based 
  on the NTP time + any vendor specific data to make it 
  "globally and eternally unique".

- Jouni



On Feb 7, 2014, at 1:00 PM, "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com> wrote:

> Steve,
>  
> sounds like an acceptable proposal which allows to come back to sync after OLR expiry.
> This requires however an update of clause 5.5.2 to clearly state
> Once the overload report expires there is no reason to remember anything about it and the next overload report received could, conceivably have any value. 
> 
>  
> Ulrich
>  
> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of ext Steve Donovan
> Sent: Thursday, February 06, 2014 4:50 PM
> To: dime@ietf.org
> Subject: Re: [Dime] [dime] #32: Sequence-Number Time-Stamp values within OC-OLR
>  
> A couple of things - 
> 
> The requirement is that the sequence number increase monotonically over time, including over a reboot.  Use of NTP time is one way of doing this but is not the only way.  Someone could, for instance, use a time stamp to set the sequence number for the first overload report sent after a reboot and then increment the sequence number value by one for each subsequent overload report sent.  This actually has better properties than an NTP time stamp as it would take much longer to roll over.  One could also create a global sequence number service that is not tied to time and have a Diameter server query that global sequence number server after each reboot.
> 
> We also have a duration timer on overload reports.  This gives us one way to reset.  It should only be required to remember the sequence number of an active overload report.  Once the overload report expires there is no reason to remember anything about it and the next overload report received could, conceivably have any value. 
> 
> The requirement we need is similar to the session-id in the base Diameter specification.  The wording there is -- "The Session-Id MUST be globally and eternally unique".  We just need eternally as the spacial differentiation is based on the context of the message carrying the overload report.
> 
> It would be perfectly valid for the DOIC draft to suggest the use of NTP timestamps to populate the sequence number but it should be worded in a similar fashion as the Diameter base RFC -- The Session-Id includes a mandatory portion and an implementation-defined portion; a recommended format for the implementation-defined portion is outlined below ..."
> 
> Steve
> 
> On 2/6/14 7:12 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
> I cannot understand what is the problem with mandating timestamp.
> But I can see interoperability problems with the current definition:
>  
> Assume the sender sends sequence numbers
> 1, 1, ... 1, 2, 2, ... 2, 3, 3, 3,  ... 3, 4, 4, ... 4, 5,.... 
> but the receicer for any reason receives 
> 1, 1, ... 1, 2, 2, ... 2, 3, 30000, 3,  ... 3, 4, 4, ... 4, 5,.... 
> The receiver would accept
> 1, 1, ... 1, 2, 2, ... 2, 3, 30000
> and then silently discards
> 3,  ... 3, 4, 4, ... 4, 5,....  4, 5, .... 
> with no way to come back to sync.
>  
> Are we sure that this cannot happen?
>  
> Mandating timestamp for sequence number generation at the sender and plausibility checking (i.e. received value must be between stored value and time of reception) for the receiver may not be the only way to solve the problem. But in the moment I don't see another way.
>  
> Ulrich
>  
>  
> -----Original Message-----
> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of ext Ben Campbell
> Sent: Wednesday, February 05, 2014 4:57 PM
> To: ext lionel.morand@orange.com
> Cc: dime@ietf.org
> Subject: Re: [Dime] [dime] #32: Sequence-Number Time-Stamp values within OC-OLR
>  
> My point is, we have an interop requirement that the sequence number always increases over time scope. We do not have the interop requirement that the sequence number be implemented as a time stamp. A time stamp is probably a good way to  meet the interop requirements, but it is not, in itself, an interop requirement.
>  
> On Feb 5, 2014, at 9:53 AM, <lionel.morand@orange.com> <lionel.morand@orange.com> wrote:
>  
> Not sure to understand: if there is a kind of "interop requirement", it is a case for a "MUST".
> We are not violating anything.
>  
> Reporting and reacting nodes will just rely on the Diameter interfaces to know how to handle the received sequence-number. So any MUST on the format of the sequence-number is acceptable if it avoids interop issues.
>  
> -----Message d'origine-----
> De : Ben Campbell [mailto:ben@nostrum.com] 
> Envoyé : mercredi 5 février 2014 16:47
> À : MORAND Lionel IMT/OLN
> Cc : Steve Donovan; dime@ietf.org
> Objet : Re: [Dime] [dime] #32: Sequence-Number Time-Stamp values within OC-OLR
>  
> I concur with Steve on this one. Using a time stamp is a good way to meet the requirements, but it's not our job to normatively state an implementation. In fact, it violates an RFC 2119 "MUST" level requirement to do so. Section 6 of 2119 includes the following:
>  
> "In particular, [normative requirements] MUST only be used where it is
>   actually required for interoperation or to limit behavior which has
>   potential for causing harm (e.g., limiting retransmisssions)  "
>  
> The only appropriate reason to require a timestamp would be if we expected peers to interpret the field as a point in time. OTOH, it would be perfectly reasonable to state the actual interop requirements, then add a non-normative (probably indented) paragraph suggesting that a timestamp is a good way to do this.
>  
> On Feb 5, 2014, at 9:37 AM, lionel.morand@orange.com wrote:
>  
> I think the out-of-sync failover described by Ulrich is a good use case to mandate a specific semantic.
>  
> Is there any specific NOT to mandate the use of NTP timestamps if it is a simple way to solve the possible issues and please everyone?
>  
> Lionel
>  
> De : DiME [mailto:dime-bounces@ietf.org] De la part de Steve Donovan
> Envoyé : mercredi 5 février 2014 15:34
> À : dime@ietf.org
> Objet : Re: [Dime] [dime] #32: Sequence-Number Time-Stamp values within OC-OLR
>  
> How the sequence number is implemented is an implementation decision.  There is no reason to mandate that is be an NTP timestamp.  That should be included only as one way of addressing the requirement.
>  
> Steve
>  
> On 2/4/14 10:27 PM, Nirav Salot (nsalot) wrote:
> I also agree.
>  
> Regards,
> Nirav.
>  
> -----Original Message-----
> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of lionel.morand@orange.com
> Sent: Tuesday, February 04, 2014 11:50 PM
> To: dime@ietf.org
> Subject: Re: [Dime] [dime] #32: Sequence-Number Time-Stamp values within OC-OLR
>  
> The existing wording seems actually fuzzy.
> If it is "like an NTP timestamp", be proud and say it loud!
>  
> In summary: ok with the proposal if it clarifies this handling of this sequence-number.
>  
> Lionel
>  
> -----Message d'origine-----
> De : dime issue tracker [mailto:trac+dime@trac.tools.ietf.org]
> Envoyé : mardi 4 février 2014 09:50
> À : MORAND Lionel IMT/OLN
> Cc : dime@ietf.org
> Objet : [dime] #32: Sequence-Number Time-Stamp values within OC-OLR
>  
> #32: Sequence-Number Time-Stamp values within OC-OLR
>  
> The -01 draft says in clause 4.4:
>    From the functionality point of view, the OC-Sequence-Number AVP MUST
>    be used as a non-volatile increasing counter between two overload
>    control endpoints (neglecting the fact that the contents of the AVP
>    is a 64-bit NTP timestamp [RFC5905]).  The sequence number is only
>    required to be unique between two overload control endpoints.
>    Sequence numbers are treated in uni-directional manner, i.e. two
>    sequence numbers on each direction between two endpoints are not
>    related or correlated.
>  
>    When generating sequence numbers, the new sequence number MUST be
>    greater than any sequence number previously seen between two
>    endpoints within a time window that tolerates the wraparound of the
>    NTP timestamp (i.e. approximately 68 years).
>  
>  
> With this mechanism it is difficult to get back to sync once you are out  of sync (for whatever reason).
> It is proposed to mandate that the Sequence Number is a real 64-bit NTP  timestamp (RFC5905) indicating the point in time when the OLR was created,  and to mandate that  OLRs with a time stamp higher than time of reception  must be ignored by the reacting node.
>  
>  
> _________________________________________________________________________________________________________________________
>  
> Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
> pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
> a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
> Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.
>  
> This message and its attachments may contain confidential or privileged information that may be protected by law;
> they should not be distributed, used or copied without authorisation.
> If you have received this email in error, please notify the sender and delete this message and its attachments.
> As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
> Thank you.
>  
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime
>  
>  
> _________________________________________________________________________________________________________________________
>  
> Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
> pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
> a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
> Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.
>  
> This message and its attachments may contain confidential or privileged information that may be protected by law;
> they should not be distributed, used or copied without authorisation.
> If you have received this email in error, please notify the sender and delete this message and its attachments.
> As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
> Thank you.
>  
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime
>  
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime
>  
>  
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime

_______________________________________________
DiME mailing list
DiME@ietf.org
https://www.ietf.org/mailman/listinfo/dime

_________________________________________________________________________________________________________________________

Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.

This message and its attachments may contain confidential or privileged information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
Thank you.