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

"Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com> Fri, 07 February 2014 11:05 UTC

Return-Path: <ulrich.wiehe@nsn.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 AFFDC1A0600 for <dime@ietfa.amsl.com>; Fri, 7 Feb 2014 03:05:24 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.899
X-Spam-Level:
X-Spam-Status: No, score=-6.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5] 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 rnTzTtKno61z for <dime@ietfa.amsl.com>; Fri, 7 Feb 2014 03:05:17 -0800 (PST)
Received: from demumfd001.nsn-inter.net (demumfd001.nsn-inter.net [93.183.12.32]) by ietfa.amsl.com (Postfix) with ESMTP id 018481A1EE9 for <dime@ietf.org>; Fri, 7 Feb 2014 03:00:11 -0800 (PST)
Received: from demuprx016.emea.nsn-intra.net ([10.150.129.55]) by demumfd001.nsn-inter.net (8.12.11.20060308/8.12.11) with ESMTP id s17B09DK007363 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Fri, 7 Feb 2014 12:00:09 +0100
Received: from DEMUHTC002.nsn-intra.net ([10.159.42.33]) by demuprx016.emea.nsn-intra.net (8.12.11.20060308/8.12.11) with ESMTP id s17B07se027118 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Fri, 7 Feb 2014 12:00:08 +0100
Received: from DEMUMBX014.nsn-intra.net ([169.254.14.242]) by DEMUHTC002.nsn-intra.net ([10.159.42.33]) with mapi id 14.03.0123.003; Fri, 7 Feb 2014 12:00:07 +0100
From: "Wiehe, Ulrich (NSN - DE/Munich)" <ulrich.wiehe@nsn.com>
To: ext Steve Donovan <srdonovan@usdonovans.com>, "dime@ietf.org" <dime@ietf.org>
Thread-Topic: [Dime] [dime] #32: Sequence-Number Time-Stamp values within OC-OLR
Thread-Index: AQHPI1MNxVZGwh/8+0yzA1dy86pS0Zqpm+fw
Date: Fri, 07 Feb 2014 11:00:06 +0000
Message-ID: <5BCBA1FC2B7F0B4C9D935572D9000668151B253C@DEMUMBX014.nsn-intra.net>
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>
In-Reply-To: <52F3AF0D.3050306@usdonovans.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.159.42.112]
Content-Type: multipart/alternative; boundary="_000_5BCBA1FC2B7F0B4C9D935572D9000668151B253CDEMUMBX014nsnin_"
MIME-Version: 1.0
X-purgate-type: clean
X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de
X-purgate: clean
X-purgate: This mail is considered clean (visit http://www.eleven.de for further information)
X-purgate-size: 33006
X-purgate-ID: 151667::1391770809-000025D0-3433E316/0-0/0-0
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: Fri, 07 Feb 2014 11:05:24 -0000

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<mailto:lionel.morand@orange.com>

Cc: dime@ietf.org<mailto: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><mailto:lionel.morand@orange.com> <lionel.morand@orange.com><mailto: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<mailto: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<mailto: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<mailto: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<mailto:lionel.morand@orange.com>

Sent: Tuesday, February 04, 2014 11:50 PM

To: dime@ietf.org<mailto: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<mailto: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<mailto: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<mailto:DiME@ietf.org>

https://www.ietf.org/mailman/listinfo/dime



_______________________________________________

DiME mailing list

DiME@ietf.org<mailto:DiME@ietf.org>

https://www.ietf.org/mailman/listinfo/dime

_______________________________________________

DiME mailing list

DiME@ietf.org<mailto:DiME@ietf.org>

https://www.ietf.org/mailman/listinfo/dime