Henk -

Inline.

> -----Original Message-----
> From: Henk Smit <henk.i...@xs4all.nl>
> Sent: Wednesday, July 24, 2019 6:18 AM
> To: Les Ginsberg (ginsberg) <ginsb...@cisco.com>
> Cc: stephane.litkow...@orange.com; Tony Li <tony...@tony.li>; lsr@ietf.org
> Subject: Re: [Lsr] Dynamic flow control for flooding
> 
> 
> Hello Les,
> 
> Les Ginsberg (ginsberg) wrote on 2019-07-24 07:17:
> 
> > If you accept that, then it makes sense to look for the simplest way
> > to do flow control and that is decidedly not from the RX side. (I
> > expect Tony Li to disagree with that ๐Ÿ˜Š โ€“ but I have already
> > outlined why it is more complex to do it from the Rx side.)
> 
> In your talk on Monday you called the idea in
> draft-decraene-lsr-isis-flooding-speed-01 "receiver driven flow
> control".
> You don't like that. You want "transmit based flow control".
> You argued that you can do "transmit based flow control" on the sender
> only.
> Therefor your algorithm is merely a "local trick".
> And "local tricks" don't need RFCs. I agree with that.
> But I don't agree that your algorithm is just a "local trick".
> 
> 
> In your algorithm, a "sender" sends a number of LSPs to a receiver.
> Without waiting for acks (PNSPs). Like in any sliding window protocol.
> The sending router keeps an eye on the number of unacked LSPs.
> And it determines how fast it can send more LSPs based on the current
> number of unacked LSPs. Every time the sender receives a PSNP, it
> knows the receiver got a number of LSPs, so it can increase its
> send-window again, and then send more LSPs.
> Correct ?
> 
> I agree that the core idea of this algorithm makes sense.
> After all, it looks a lot like TCP.
> I believe the authors of draft-decraene-lsr-isis-flooding-speed were
> planning something like that for the next version of their draft.
> 
> 
> However, I do not agree with the name "tx driven flow control".
> I also do not agree that this algorithm is "a local trick".
> Therefor I also do not think this algorithm doesn't need to be
> documented (in an RFC).
> 
> In your "tx based flow control", the sender (tx) sends LSPs at a rate
> that is derived from the rate at which it receives PSNPs. Therefor
> it is the sender of the PSNPs that sets the speed of transmission !
> So it is still the receiver (of LSPs) that controls the flow control.
> The name "tx based flow control" is a little misleading, imho.
> 
> 
> It is important to realize that the success of your algorithm actually
> depends on the behaviour of the receiver. How does it send PSNPs ?
> Does it send one PSNP per received LSP ? Or does it pack multiple acks
> in one PSNP ? Does it send a PSNP immediatly, or does it wait a short
> time ? Does it try to fill a PSNP to the max (putting ~90 acks in one
> PSNP) ? Does the receiver does something in between ? I don't think
> the behaviour is specified exactly anywhere.
> 
> I know about an IS-IS implementation from the nineties. When a router
> would receive an LSP, it would a) set the SSN bit (for that
> LSP/interface),
> and b) start the psnp-timer for that interface (if not already running).
> The psnp-timer would expire 2 seconds later. The router would then walk
> the LSPDB, find all LSPs with the SSN-bit set for that interface. And
> then build a PSNP with acks for all those LSPs. The result would be
> that: a) the first PSNP would be send 2 seconds (+/- jitter) after
> receiving the first LSP, and b) the PSNP would include ~66 acks. (As
> a router receiving at full speed would have received 66 LSPs in 2
> seconds).
> 
> For your "tx based flow control" algorithm to work properly, this has
> to change. The receiving router must send PSNPs more quickly and more
> aggressively. The result would be that there will be less acks in each
> PSNP. And thus more PSNPs will be sent.
> 
> This makes us realize: in the current situation, if a router receives
> a 1000 LSPs, and sends those LSPs to 64 neighbors, it would receive:
> - the 1000 LSPs from an upstream neighbor, plus
> - 1000/66 = 16 PSNPs from each downstream neighbor = 64 * 16 = 1024
> PSNPs.
> This makes a total of ~2000K PDUs received.
> 
> If routers would send one PSNP per LSP (to have faster flow control),
> then the router in this example would receive:
> - the 1000 LSPs from an upstream neighbor, plus
> - 1000 PSNPs from each downstream neighbor * 16 = 1600 PSNPs.
> This makes a total of ~17000 PDUs received.
> 
> The total number of PDUs received on this router would go from 2K PDUs
> to 17K PDUs.
> 
> Remember that the problem we're trying to solve here is to make sure
> that routers do not get overrun on the receipt side with too many
> packets too quickly. It seems an aggressive PSNP-scheme, to achieve
> faster flow-control, is actually very counter-productive.
> 
> Of course the algorithm can be tweaked. E.g. TCP sends one ack per
> every 2 received segments (if I'm not mistaken). If we do that here,
> the number of PDUs would go down from 17K to 9K PDUs. What do you
> propose ? How do you want the feedback of PSNPs to be quick, while
> maintaining an efficient packing of multiple acks per PSNP ?
> 
[Les:] Base specification defines partialSNPInterval (2 seconds). Clearly w 
faster flooding we should look at decreasing this timer - but we certainly 
should not do away with it.

> 
> In any case, the points I'm trying to make here:
> *) Your algorithm is not sender-driven, but still receiver-driven.

[Les:] My proposal involves changes on the TX side. If you donโ€™t like the name 
we can certainly find something more appealing.

The alternate proposal in the draft is driven by new advertisements from the RX 
side - hence I called it Rx driven. Yes - code changes are obviously required 
on the TX side. If you have a better name I am happy to use it.

> *) Your algorithm changes/dictates behaviour both on sender and
> receiver.
> *) Interaction between a sender and a receiver is what we call a
> protocol.
>     If you want to make this work, especially in multi-vendor
> environments,
>     we need to document these algorithms. Aka in an RFC.
>
[Les:] What I am proposing does not require protocol extensions - therefore no 
draft is required.
Whether a BCP draft is desired is something I am open to considering.

   Les

 
> Kind regards,
> 
> henk.
_______________________________________________
Lsr mailing list
Lsr@ietf.org
https://www.ietf.org/mailman/listinfo/lsr

Reply via email to