Subject: [rsvp-dir] Redundant aggregate reservations: draft-ietf-tsvwg-rsvp-pcn-03

From: Bob Briscoe <[email-masked]>
Date: Thu, 15 Nov 2012 13:07:31 +0000

Georgios, Anurag,

Below is the main point of my review, arguing that aggregate 
reservations are redundant. I'm reviewing as:
- a member of the RSVP directorate
- one of the early PCN design team
- a co-author of draft-lefaucheur-rsvp-ecn-01, on which this draft is based.

I would have missed any decision to use aggregate reservations. Pls 
point me to the relevant discussion (e.g. Subject line / date).

I admit I tuned out of much of the later PCN signalling discussion. I 
found the whole exercise of abstracting PCN away from specific 
signalling protocols highly tedious; it meant we couldn't sensibly 
address important issues like message reliability, timeliness etc.

Nonetheless, here's why I believe RSVP aggregation is redundant:

PCN edge-nodes support the concept of an ingress-egress aggregate in 
their own internal tables, but they don't need to refer to an 
aggregate on the wire{Note 1}. PCN-ingress and PCN-egress nodes 
intrinscially know which e2e reservations belong to which aggregate 
by grouping together those e2e reservations with the same next hop or 
previous hop respectively.

{Note 1: except in one case described later - but it doesn't require 
all the other baggage of aggregate reservations}

==Background==
Aggregate reservations [RFC3175, RFC4860] are designed to reduce the 
state required on interior nodes. Interior nodes still require state 
per aggregate reservation, but only reservation state, not 
classification and scheduling state [RFC3175, Section 1.4.1 last para].

In contrast, as you correctly point out (in Section 2.1.7), PCN 
requires absolutely no reservation-related state on interior nodes.

==Disadvantages==
Requiring PCN to use aggregate reservations has the following three 
disadvantages and no advantages:

1) Redundant Processing
The PATH message between aggregator and deaggregator in rsvp-pcn-03 
(triggered by an E2E PathErr message from deaggregator to aggregator) 
is redundant, and just doubles the processing required at the 
PCN-edge-nodes (if this isn't obvious, I spell it out separately for 
PATH & RESV messages below).

2) Reduced Resilience
Not only is an aggregate PATH redundant, it actually reduces 
resilience. Because an aggregate PATH is pinned to interior routers. 
Therefore, when routing changes, it is more complex and slower to 
move to the new route. By not pinning to interior routers, PCN was 
designed to 'just work' over interior routing changes - with no need 
for any changes to the RSVP PATHs. (But it would still detect 
overload after a re-route and terminate or rate-reduce flows if necessary.)

3) Extra Latency
A further disadvantage is the extra latency required for the first 
reservation that sets up an aggregate. This is two ingress-egress 
round trips minus the round trip time from egress to destination (or 
one ingress-egress round trip if it is greater). This will rarely add 
to latency on heavily used ingress-egress aggregates, but it will 
occur frequently on all the 'long-tail' (lightly used) ingress-egress 
aggregates.

==PATH==

With RFC 3175 or 4860 aggregate paths, the aggregator forwards the 
e2e PATH messages with IP protocol number RSVP-E2E-IGNORE and the 
deaggregator changes them back to RSVP before forwarding onward. Also 
the aggregator sends an aggregate PATH message, which is processed by 
each interior node and by the deaggregator.

On a path across a PCN region, given interior nodes ignore aggregate 
PATH messages as well, the only PCN nodes that handle aggregate 
messages are the aggregator and the deaggregator. The aggregator and 
deaggregator process all the e2e PATH messages anyway, so if we 
require the aggregator to add up all the e2e PATH messages and form 
them into an aggregate PATH message, this is just extra redundant 
work for both PCN-edge-nodes.

==RESV==

The deaggregator unicasts e2e RESV messages to the previous RSVP hop, 
which is the aggregator. Therefore, if we require the deaggregator to 
add up all the RESV messages and form them into an aggregate RESV 
message, this is just redundant work for both PCN-edge-nodes, because 
they both already process all the e2e RESV messages anyway, and no 
other node uses the aggregate RESV messages.

==PCN object==

This raises the question of how the PCN-egress communicates the 
various marking rates (the PCN object) to the PCN-ingress. There are 
two possibilities:
i) the PCN-egress includes a current PCN object in each e2e RESV that 
it returns to the PCN-ingress. The PCN-ingress strips the PCN object 
out before forwarding the RESV back to the previous RSVP hop.
ii) the PCN-egress attaches a PCN object to an aggregate reservation, 
as in pcn-rsvp-03.

Either are possible, because a PCN object carries information about 
marking probabilities, and PCN works on the assumption that the 
marking probability of an ingress-egress aggregate is the same as the 
marking probability of the flows within the aggregate. A PCN object 
can be contained either in an e2e RESV or an aggregate RESV as long 
as the PCN-ingress can associate an e2e RESV with the correct 
aggregate (which it can, because it maintains an internal table of 
mappings between e2e reservations and their aggregates).

Which of the two is best is a question of message timing...

* For e2e admission decisions, the PCN object is only needed at the 
time each e2e RESV is sent, so option i) makes sense.

* For flow rate reduction or flow termination decisions, the 
deaggregator needs to regularly send PCN objects to the ingress.

The PCN-egress is sending regular e2e RESV refresh messages to the 
PCN-ingress, so a PCN object can be included in each of these. To 
ensure that PCN objects are sent often enough, I suggest the 
PCN-egress also maintains a timer per ingress-egress aggregate which 
it resets every time it sends a PCN object for that IEA. If the timer 
expires, the PCN-egress sends a PCN object to the PCN-egress even 
thought it was not triggered by an e2e RESV refresh. We could require 
the SESSION object in this message to refer to either of:
a) any one of the e2e SESSIONs in the aggregate,
b) the aggregate.

In case (a), the message would need to somehow tell the ingress not 
to forward this RESV refresh to the RSVP previous hop.

In case (b) in the PCN-ingress table of mappings between e2e SESSIONs 
and aggregate SESSIONs, it would include an entry for the aggregate 
that maps to itself. If the result of the look-up is the same as the 
input, it knows not to forward the RESV refresh further.

The wire protocol doesn't need to identify whether the SESSION is an 
aggregate or not. This is the one case I mentioned at the start {Note 
1} where an aggregate is referred to on the wire.

In summary, PCN already reduces reservation state and processing to 
nothing on interior nodes. Adding aggregate reservations to PCN 
requires more processing and state, it unnecessarily pins routes to 
interior nodes and adds unnecessary latency.

Bob

At 18:23 14/11/2012, [email-masked] wrote:
>Hi Bob,
>
>Regarding the generic aggregated RSVP selection, actually the PCN WG 
>agreed with this selection!
>This was actually the first step that was needed for this work, and 
>the PCN WG had no main objections on this selection!
>
>So I do not understand your remark that your comment will have major 
>implications!
>
>Please note that the generic aggregated RSVP is selected since the 
>PCN IEA are associated with flows that are aggregated at the edges. 
>So a signalling protocol that supports aggregation of flows at the 
>edges is very suitable for this purpose! The generic aggregated RSVP 
>is such a signalling protocol!
>
>
>Best regards,
>Georgios
>
>
>
>
>From: Bob Briscoe [mailto:[email-masked]]
>Sent: woensdag 14 november 2012 12:57
>To: Anurag Bhargava (anuragb)
>Cc: Karagiannis, G. (EWI)
>Subject: Re: [tsvwg] draft-ietf-tsvwg-rsvp-pcn-03
>
>Anurag,
>
>I have my comments half-written up. I will try to finish them by the 
>end of today.
>
>They should be orthogonal to the PBAC comment below, so if you 
>wanted to start altering that area, I don't think it would waste too 
>much time.
>
>However, my main comments will concern the use of aggregated 
>reservations (as I said at the mic), so that could have major implications.
>
>
>Bob
>
>At 20:14 13/11/2012, Anurag Bhargava (anuragb) wrote:
>
>Hi Bob,
>  Thanks for the comments. If U have some text that will be great 
> els I have also started putting some text on the topic U brought up.
>  May be we can conference after US thanksgiving week and 
> collaborate the text and try to move forward.
>
>  Please let us know what might be a good time and I can schedule a 
> Webex conf.
>
>Thx
>-Anurag
>
>From: "<mailto:[email-masked]>[email-masked] " 
><<mailto:[email-masked]>[email-masked] >
>Date: Saturday, November 10, 2012 8:10 AM
>To: "<mailto:[email-masked]>[email-masked]" 
><<mailto:[email-masked]>[email-masked]>
>Cc: "<mailto:[email-masked]>[email-masked]" 
><<mailto:[email-masked]>[email-masked]>, Anurag Bhargava 
><<mailto:[email-masked]>[email-masked]>, 
>"<mailto:[email-masked]>[email-masked]" 
><<mailto:[email-masked]>[email-masked]>, 
>"<mailto:[email-masked]>[email-masked] " 
><<mailto:[email-masked]>[email-masked] >
>Subject: RE: [tsvwg] draft-ietf-tsvwg-rsvp-pcn-03
>
>Hi Bob,
>
>
>
>Thanks very much for the comments! I think that they are very useful!
>
>
>
>It will be very beneficiary for the fast progress of this draft if 
>you would like to contribute as a co-author to this draft and write 
>this additional section that describes "that the PCN-ingress can 
>refer flow admission and
>termination decisions to a central decision point (using e.g. COPS), 
>which will respond to the PCN-ingress as per RFC2753. (Alternatively 
>the PCN-ingress could itself be the policy decision point.)"
>
>
>
>Best regards,
>
>Georgios
>
>
>
>----------
>Van: Bob Briscoe [<mailto:[email-masked]>[email-masked]]
>Verzonden: vrijdag 9 november 2012 16:33
>To: Karagiannis, G. (EWI)
>Cc: <mailto:[email-masked]>[email-masked]; 
><mailto:[email-masked]>[email-masked]; 
><mailto:[email-masked]>[email-masked]; EARDLEY, Phil
>Onderwerp: Re: [tsvwg] draft-ietf-tsvwg-rsvp-pcn-03
>
>Georgios,
>
>I shall post my full review of this draft in the next few days (needs
>typing up - currently scribbled on a paper copy). This email is
>solely in response to your answer about on-path vs off-path policy.
>
>At 18:55 04/11/2012, 
><mailto:[email-masked]>[email-masked] wrote:
> >So in this case an additional signaling protocol will be
> >needed to be specified that covers the signaling between the
> >PCN-egress-node and the centralized node
> >and between PCN-ingress-node and the centralized node.
> >In PCN we decdided to only focus on the specification of the
> >signaling protocol that completes the
> >feedback loop from PCN-egress-node to PCN-ingress-node and to focus
> >on the signaling protocol
> >used between the edge nodes and the centralized node.
>
>When I/we originally designed CL-PCN over RSVP (2005), the idea was
>that it would fit with the policy-based admission control (PBAC)
>architecture of RFC2753. In this architecture, an Intserv node at the
>ingress to a domain is the policy enforcement point (PEP), and it
>refers to a logically centralised 'policy decision point' (PDP) for
>decisions on which flows to block/terminate, typically using COPS.
>
>To make this doc fit the PBAC framework, all we have to do is:
>* Describe the PCN-ingress only as the PCN-ingress and not as the
>decision point (find 'decision' throughout doc and fix).
>* Add a section saying the PCN-ingress can refer flow admission and
>termination decisions to a central decision point (using e.g. COPS),
>which will respond to the PCN-ingress as per RFC2753. (Alternatively
>the PCN-ingress could itself be the policy decision point.)
>* Refer to this new PBAC section from Section 3.11 giving the
>admission decision procedure.
>
>* Some people might think this means COPS will need new protocol
>elements to carry PCN marking rates to the policy decision point. But
>PCN marking rates are irrelevant to the policy decision: the
>PCN-ingress just uses PCN to determine whether it needs to block or
>terminate, and it refers to the policy decision point for which flows
>to block/terminate.
>
>* Unfortunately, neither of the two PCN system descriptions [RFC6661,
>RFC6662] describe a PBAC-based case. The architecture [RFC5559]
>refers to the PBAC framework [RFC2753] but unfortunately doesn't
>spell out how it fits. Originally, I referenced PBAC from RFC5559,
>but just as the PCN w-g was closing I realised that (some?) others in
>the PCN w-g were working under the assumption that the only way to
>talk to a centralised policy node was from the egress, possibly
>without being aware of the contents of RFC2753.
>
>I think it's OK to introduce a new architectural arrangement in this
>RSVP doc, given RFC2753 is specific to the way RSVP works.
>
>
>Bob
>
>
>
>At 12:28 05/11/2012, 
><mailto:[email-masked]>[email-masked] wrote:
> >Hi Ken,
> >
> >Thank you very much!
> >We will try to catch Francois and discuss the last (in line) issue with him!
> >
> >Best regards,
> >Georgios
> >
> >________________________________________
> >Van: ken carlberg [<mailto:[email-masked]>[email-masked]]
> >Verzonden: maandag 5 november 2012 13:23
> >To: Karagiannis, G. (EWI)
> >Cc: <mailto:[email-masked]>[email-masked]; 
> <mailto:[email-masked]>[email-masked]
> >Onderwerp: Re: draft-ietf-tsvwg-rsvp-pcn-03
> >
> >Georgios,
> >
> > > Georgios: We will try to explain the rationale of why we consider
> > that RSVP can only be used for the situation that the
> > > decision point is collocated with the PCN-ingress-node. The main
> > reason of this is that in the case that the
> > > decision point is collocated with the PCN-ingress-node,the
> > required signaling protocol used to complete a
> > > feedback loop from egress to ingress can be an entirely on-path
> > protocol, like what RSVP is.
> > > In the situation that the the decision point is a centralized
> > node, then the required signaling protocol
> > > can be a combination of an on-path and off-path protocol. This is
> > because the
> > > decision point might not be located on the data path! So in this
> > case an additional signaling protocol will be
> > > needed to be specified that covers the signaling between the
> > PCN-egress-node and the centralized node
> > > and between PCN-ingress-node and the centralized node.
> > > In PCN we decdided to only focus on the specification of the
> > signaling protocol that completes the
> > > feedback loop from PCN-egress-node to PCN-ingress-node and to
> > focus on the signaling protocol
> > > used between the edge nodes and the centralized node.
> > > This is also the reason of why PCN WG decided to only focus on
> > the situation that the decision point is
> > > collocated with the PCN-ingress-node.
> >
> >Great, this is helpful, and this is the information that needs to be
> >in the draft.
> >
> > >> 6) This comment is just for you to contemplate -- I'm not
> > expecting any changes.
> > >> I noticed that you have a fair number of SHOULD, and some SHOULD NOTs.
> > >> And it seems a lot of this is a carry over from rfc-4860, so in
> > a sense you are inheriting an approach that
> > >> was agreed to from an earlier effort.  But I wonder in the back
> > of my mind, what impact occurs if
> > >> an implementor doesn't follow the SHOULD?  Does the design break
> > in supporting PCN?
> > >> Again, I want to stress that this isnt a show stopper, but I
> > would appreciate it if you gave it some thought.
> > >
> > > Georgios: Yes, in several cases the design might break in supporting PCN.
> > > This is also the reason of using SHOULD instead of MAY. Do you
> > want us to explain this in more detail in the draft?
> >
> >well, actually, I was more curious as to why a number of these cases
> >are SHOULD instead of MUST.  Again, the SHOULD's in your document
> >seem to be a carry-over from rfc-4860 (which set the precedent), so
> >its a bit unfair for you to explain what was done in an earlier
> >effort.  I just wanted to make sure you gave some thought to the
> >subject.  And if things will break if SHOULD is not followed by an
> >implementer/configuration, then maybe you should be more stringent
> >and change things to MUST.  Perhaps a brief private conversation
> >with Francois Le Faucheur will be helpful.
> >
> >cheers,
> >
> >-ken
>
>________________________________________________________________
>Bob Briscoe,                                BT Innovate & Design
>
>________________________________________________________________
>Bob Briscoe,                                BT Innovate & Design

________________________________________________________________
Bob Briscoe,                                BT Innovate & Design

---

From: Bob Briscoe <[email-masked]>
Date: Thu, 15 Nov 2012 21:02:14 +0000

Tom,

The RSVP message I'm proposing doesn't say "Never mind the SESSION in 
this message, I'm related to every flow with the same first hop". It 
says "These are the marking probabilities for the SESSION in this 
message". Then the PCN-ingress (not the message) infers that all 
other flows that share the same aggregate will share the same marking 
probability, because PCN marking on interior nodes is random and unbiased.

It's a subtle distinction, but it preserves the semantics of RSVP 
messages, without the three disadvantages of setting up an RSVP 
aggregate that I mentioned.

You will have seen from the rest of the message that I have not 
rejected the concept of aggregation, I am merely saying that the 
PCN-ingress and PCN-egress can hold the concept internally.

Bob

At 16:42 15/11/2012, Tom Taylor wrote:
>I'm not sure the semantics of the PCN information -- particularly as 
>it relates to flow termination -- are correct without some sort of 
>concept of aggregation. Or can you really define an RSVP object that 
>has semantics "Never mind the SESSION in this message, I'm related 
>to every flow with the same first hop"?
>
>On 15/11/2012 8:07 AM, Bob Briscoe wrote:
>>Georgios, Anurag,
>>
>...

---

From: Bob Briscoe <[email-masked]>
Date: Fri, 16 Nov 2012 20:03:11 +0000

Tom,

The edge behaviour RFCs attempted to abstract over any signalling 
protcol, but I think they ended up being biased towards the ITU way 
of doing things, rather than an abstraction that encompassed both 
RACF and RSVP, which was probably too ambitious.

Is you piggy-backing draft effectively what I am describing - 
piggy-backing on e2e signalling?

I don't believe we need any more abstract drafts if that's what you 
mean - we need to focus on RSVP specifically now. We could perhaps 
re-boot from Francois's original draft.

Bob

At 22:09 15/11/2012, Tom Taylor wrote:
>OK, I guess I see your point. I was too focussed on the calculations 
>that are done at the Decision Point.
>
>It makes me wonder if I should revive that piggy-backing edge 
>behaviour draft I once started.
>
>On 15/11/2012 4:02 PM, Bob Briscoe wrote:
>>Tom,
>>
>>message". Then the PCN-ingress (not the message) infers that all other
>>flows that share the same aggregate will share the same marking
>>You will have seen from the rest of the message that I have not rejected
>>the concept of aggregation, I am merely saying that the PCN-ingress and
>>PCN-egress can hold the concept internally.
>>
>>
>>Bob
>>
>>>has semantics "Never mind the SESSION in this message, I'm related to
>>>every flow with the same first hop"?
>...

---

From: Bob Briscoe <[email-masked]>
Date: Tue, 20 Nov 2012 21:15:10 +0000

Tom,

I've lost the context - I don't think I said an IEA "is composed of 
all flows with the same next hop" or anything like this.

If it helps, I'm not changing the defintion of an IEA, I'm just 
saying it doesn't have to be identified in any wire-protocol; it can 
be known about solely internally on PCN-boundary nodes.

Bob

At 19:41 17/11/2012, Tom Taylor wrote:
>Stepping back a bit here, I have to question your definition of an 
>ingress-egress aggregate. When you say it is composed of all flows 
>with the same next hop, what sort of topology are you assuming? The 
>definition makes sense only if the next hop entity is an egress node.
>
>If that is not the case, then I would say an ingress-egress 
>aggregate is defined as the set of all flows where the RESV message 
>comes from the same egress node.
>
>On 16/11/2012 3:03 PM, Bob Briscoe wrote:
>>Tom,
>>
>>protcol, but I think they ended up being biased towards the ITU way of
>>doing things, rather than an abstraction that encompassed both RACF and
>>RSVP, which was probably too ambitious.
>>
>>I don't believe we need any more abstract drafts if that's what you mean
>>- we need to focus on RSVP specifically now. We could perhaps re-boot
>>from Francois's original draft.
>>
>>
>>
>>Bob
>>

---

From: Bob Briscoe <[email-masked]>
Date: Tue, 20 Nov 2012 21:25:33 +0000

Georgios,

See the discussion with Tom - he gets what I'm saying.

Also, in my mail that started this thread (15 november 2012 14:07) I 
explained why you can get the benefits of aggregation by solely 
holding the concept of IEAs on the PCN-boundary nodes, without 
identifying an aggregate in the signalling protocol at all.

I also explained why identifying an aggregate in the signalling 
protocol led to three worse properties and nothing better.

Please argue with that, rather than talking about aggregates only in 
conceptual terms - and only in terms of whole RFCs, rather than 
specifics - that is where the problem stemmed from, I believe.

Bob

At 10:26 17/11/2012, [email-masked] wrote:

>Hi Bob, Hi Tom,
>
>
>
>The solution that you are proposing, i.e., use of the e2e RSVP 
>(RFC2205), is in my opinion architecturally and conceptually wrong!
>
>The reason is the following!
>
>
>
>In PCN we need a signaling protocol that is able to: (1) to carry 
>information from PCN-egress-edge to PCN-ingress-edge and (2) the 
>carried information needs to be related to an aggregated state, 
>i.e., the ingress-egress-aggregate state.
>
>
>
>The e2e RSVP (RFC2205) can only support requirement (1), but is not 
>able to support (2), since the e2e RSVP carries information that is 
>associated with a per flow state maintained at the edges.
>
>
>
>Aggregated RSVP (RFC3175) and Generic Aggregated RSVP (RFC4860) can 
>support both requirements, since one of the features that are 
>supported by both is to carry objects that are associated to an 
>aggregated state maintained at the edges. In the context of PCN, the 
>aggregated state is the ingress egress aggregate state.
>
>
>
>Best regards,
>
>Georgios
>
>
>
>----------
>Van: Bob Briscoe [[email-masked]]
>Verzonden: vrijdag 16 november 2012 21:03
>To: Tom Taylor
>Cc: Karagiannis, G. (EWI); [email-masked]; [email-masked]; 
>[email-masked]; PCN IETF list
>Onderwerp: Re: [PCN] Redundant aggregate reservations: 
>draft-ietf-tsvwg-rsvp-pcn-03
>
>Tom,
>