RE: [netlmm] timestamp vs seqno redux

"DE JUAN HUARTE FEDERICO" <Federico.De_Juan_Huarte@alcatel-lucent.fr> Fri, 07 September 2007 09:04 UTC

Return-path: <netlmm-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1ITZl2-00041h-IH; Fri, 07 Sep 2007 05:04:08 -0400
Received: from [10.90.34.44] (helo=chiedprmail1.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1ITZl0-0003zu-PI for netlmm@ietf.org; Fri, 07 Sep 2007 05:04:06 -0400
Received: from smail5.alcatel.fr ([62.23.212.27]) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1ITZkz-0007X0-9P for netlmm@ietf.org; Fri, 07 Sep 2007 05:04:06 -0400
Received: from FRVELSBHS06.ad2.ad.alcatel.com (frvelsbhs06.ad2.ad.alcatel.com [155.132.6.78]) by smail5.alcatel.fr (8.13.4/8.13.4/ICT) with ESMTP id l8793Se5013492; Fri, 7 Sep 2007 11:03:28 +0200
Received: from FRVELSMBS12.ad2.ad.alcatel.com ([155.132.6.37]) by FRVELSBHS06.ad2.ad.alcatel.com with Microsoft SMTPSVC(6.0.3790.2499); Fri, 7 Sep 2007 11:04:01 +0200
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Subject: RE: [netlmm] timestamp vs seqno redux
Date: Fri, 07 Sep 2007 11:03:49 +0200
Message-ID: <319D54578EAC3147BA8CC78DAB5467A5013999EA@FRVELSMBS12.ad2.ad.alcatel.com>
In-Reply-To: <01dc01c7f0c0$3e238210$d4f6200a@amer.cisco.com>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [netlmm] timestamp vs seqno redux
Thread-Index: AcfwZIAbrVWG4MICT1+fq2+7+PUdPAAWG/pwABfNwGA=
References: <46DFC1C7.9060103@gmail.com> <01dc01c7f0c0$3e238210$d4f6200a@amer.cisco.com>
From: DE JUAN HUARTE FEDERICO <Federico.De_Juan_Huarte@alcatel-lucent.fr>
To: Sri Gundavelli <sgundave@cisco.com>
X-OriginalArrivalTime: 07 Sep 2007 09:04:01.0392 (UTC) FILETIME=[0854E700:01C7F12E]
X-Scanned-By: MIMEDefang 2.51 on 155.132.188.13
X-Spam-Score: 0.0 (/)
X-Scan-Signature: a3f7094ccc62748c06b21fcf44c073ee
Cc: netlmm <netlmm@ietf.org>
X-BeenThere: netlmm@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: NETLMM working group discussion list <netlmm.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/netlmm>, <mailto:netlmm-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/netlmm>
List-Post: <mailto:netlmm@ietf.org>
List-Help: <mailto:netlmm-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/netlmm>, <mailto:netlmm-request@ietf.org?subject=subscribe>
Errors-To: netlmm-bounces@ietf.org

Hi Sri,

I haven't had time to catch up yet with the new draft, so I apologize if any of my comments below has already been addresed

Sri> ... what are we mandating? The ability for the LMA to generate a Timestamp and return the timestamp option ...
I'm trying to understand the motivation for this mandate

I understand the need in the LMA to identify the sequence of BUs in order to avoid race conditions when more than one MAG can send a BU for the same user
The minimum requirement from LMA point of view is that the ID carried in the BU represents a free-running counter that increases monotonically
It follows that the requirement for the MAGs is to synchronize the values used in the BU-ID
Let me stress that these "minimum requirements" are only for synchronization between MAGs, i.e. not including LMA

Timestamps is a valid solution for filling in the ID when there's time synchronization (with sufficient accuracy) between MAGs
Let me stress that the precondition for using timestamps should only be synchronization between MAGs, i.e. not including LMA
By including LMA in the equation, it seems that we're trying to correct deviations in the time synchronization of MAGs via PMIP
That is, the LMA becomes some kind of synch Master. Honestly, I don't think it is right to extend PMIP scope in such way

Let me cite your answers to Alper (from another email):
Sri> ... It is important to highlight the fact that we need this entire synchronization logic to avoid one scenario, where the LMA ends up processing a PBU that was sent by pMAG and the LMA received that much later due to network out of order deliverly ...
[FDJ] This problem statement seems wrong. Unordered delivery because of nw congestion does not make any difference
What matters is the relationship between the ID sent by the pMAG and the one sent by the nMAG
The only requirement that we can make is that pMAG and nMAG must synchronize this ID
There's no way the LMA can't tell in which order these 2 BUus were sent if the IDs are not-synchronized

Sri> ... If a deployment does not enable NTP kind of protocols and if the LMA receives a packet with PBU from a MAG with a invalid timestamp, the LMA can return its own timestamp and the MAG can use the same in the requests to avoid this special race condition ...
[FDJ] If the deployment does not enable NTP, all PBUs will have a wrong ID. Or do you expect the MAG to synch to the same timebase as the LMA when the LMA returns the timestamp option?
Furthermore, I fail to understand the solution you propose: how can the LMA declare that the ID (timestamp) is invalid?
Use case:
   - pMAG send BU at 10 AM
   - nMAG sends BU at 11 AM
   - LMA receives BU from nMAG at 11:15 AM. Will it return timestamp to nMAG, so that the BU can be resent?
   - LMA receives BU from pMAG at 11:30 AM. Will it retun timestamp to pMAG, so that BU can be resent? Or maybe the proposal is that LMA will decide that pMAG BU was sent earlier than nMAG BU and therefore discard it. The latter makes sense but it means that the LMA has to assume that pMAG and nMAG are in synch. And then we're back to the minimum requirement

In summary, in my opinion:
   1- The LMA MAY be able to generate timestamps (but should not be required to)
   2- The LMA MAY know that the source used for the ID is a timestamp (but should not be required to)
   3- If the LMA is not timestamp aware, the MAG MAY use timestamps (but should not be required to)
   4- If the LMA is timestamp aware, the MAG MAY use timestamps (but should not be required to)
If any of the 4 statements would reduce the usability of PMIP in any way, I would appreciate to have a more clear problem statement
Thus: Implementation MUST support Timestamp option: No
And I would even push it further: if the previous 4 statements can be agreed to, then the logical conclusion is that timestamps can be left out of the specification (at most an informative note would do)

A couple of collateral comments:
   - I understand that CT (Context Transfer) is already acknowledged as a valid alternative solution
   For some reason, CT is left out of scope. Fine for me, but I don't think it's a fair consequence to mandate timestamps
   The fact that "context transfer is out of scope" doesn't equate to "there is no context transfer"
   Is it the working assumption that a solution without CT is simpler than a solution with CT? This would be a wrong assumption
   If we have to choose between specifying timestamps or specifying CT, then I prefer the latter. It's clear that it will require more work but it will be more useful

   - If a nMAG sends a BU for a given user without synchronization with pMAG it may be useful to have the option to indicate it to the LMA
   In other words, I propose a flag "OOS ID" (Out of Synch ID) sent by the MAG, so that the LMA can reset the sequencing algorithm for a given MN

   - I have read in other emails that timestamps are already a proven concept in MIP4
   I fail to understand how this argument makes a difference, since the original problem statement is that the MIP client (the one generating BUs) in case of PMIP (i.e. the MAG) may change during the lifetime of a MIP session. The problem addressed in MIP4 is a different one (replay protection). It's off-topic, but I find this area of MIP4 overspecified when compared to approaches in other protocols (e.g. IEEE 802.16). A monotonically increasing counter is sufficient for replay protection

Regards

federico




-----Message d'origine-----
De : Sri Gundavelli [mailto:sgundave@cisco.com] 
Envoyé : jeudi 6 septembre 2007 21:58
À : 'Alexandru Petrescu'; 'netlmm'
Objet : RE: [netlmm] timestamp vs seqno redux


Please comment on this issue raised by Alex about mandating Timestamp option. Alex is right, when we discussed this issue, the conclusion was to use Timestamp based approach, but we did not discuss if that was supposed to be mandatory to implement.

Now, w.r.t the issue, what are we mandating ?

- The ability for the LMA to generate a Timestamp and return
  the timestamp option. The timestamp in relation to a specific
  reference point. IMO, this is one system call on most OS's and
  a delta addition if the timestamp generated is elapsed time past
  some other reference point. We are talking about 5 to 8 lines
  of code. I will be happy to publish this code for all standard
  OS's.

- We are NOT mandating the nodes in the domain to sync up to
  a clock source. 


How does it impact, if some deployment wants to use Seq Number approach ?

-  No impact. The option need to be supported. Implies those 10
   lines of extra code.


Why this should be mandatory ?

Base draft does not support Context Transfers. Given that the draft will be incomplete, if we dont mandate the support. By mandating the support, the LMA can always return its timestamp and the MAG can use that timestamp and register. This need to be done just once whenever the LMA/MAG clocks are out of sync and just for one registration. One extra round trip for the 1st registration between LMA/MAG pair.

But, if the LMA falls back to the seq number based approach and if there are no context transfers, there is always an extra round trip for each MN registration (at handoff). 

So, I prefer the mandatory approach, its more efficient. But, as I had it in the initial suggested text, I'm ok not mandating this and defining an error code "Timestamp option not supported". 


Please comment. I want to close this issue. 


Implementation MUST support Timestamp option: [Yes/No]


Thanks
Sri








 

> -----Original Message-----
> From: Alexandru Petrescu [mailto:alexandru.petrescu@gmail.com]
> Sent: Thursday, September 06, 2007 2:01 AM
> To: netlmm
> Subject: [netlmm] timestamp vs seqno redux
> 
> I've recently became aware that much nonsense discussion is happening 
> around the timestamp vs seqno.  People keep saying that seqno method 
> is a possible alternative to timestamp but at the same time they 
> mandate in the document the timestamp method.  This is complete 
> nonsense.
> 
> I don't want the timestamp method to be mandatory.
> 
> Anybody else wants the timestamp method to be a mandatory method?
> 
> Anybody else wants the timestamp method to be an alternative method?
> 
> Alex
> PS: mandatory excerpts:
> "This document _requires_ the use of Timestamp Option"
> "An implementation MUST support Timestamp option."
> 
> ______________________________________________________________________
> This email has been scanned by the MessageLabs Email Security System.
> For more information please visit http://www.messagelabs.com/email 
> ______________________________________________________________________
> 
> _______________________________________________
> netlmm mailing list
> netlmm@ietf.org
> https://www1.ietf.org/mailman/listinfo/netlmm

_______________________________________________
netlmm mailing list
netlmm@ietf.org
https://www1.ietf.org/mailman/listinfo/netlmm

_______________________________________________
netlmm mailing list
netlmm@ietf.org
https://www1.ietf.org/mailman/listinfo/netlmm