Huaimo –

Node startup has two aspects to be considered:

1)Database synchronization occurs as part of adjacency bringup (details differ 
between IS-IS and OSPF). If a large number of neighbors are brought up 
simultaneously then there is a lot of redundant flooding which can 
significantly lengthen the process. This issue has nothing to do with flooding 
optimizations. Since we have deliberately chosen not to alter the adjacency 
state machine – it will not be addressed by flooding optimizations. Smart 
implementations have addressed this issue w/o requiring any protocol extensions.

2)Addition of a new node to the network introduces a form of partitioning of 
the flooding topology in that the new node is initially NOT part of the 
flooding topology. This introduces the possibility that each neighbor of the 
new node could enable temporary flooding to the new node. The best way to solve 
this is to have the new node limit the rate at which new adjacencies are 
brought up. This reduces the number of neighbors of the new node who have to 
make a decision about enabling temporary flooding. It also has the side benefit 
of significantly reducing the amount of  redundant flooding which occurs as 
part of adjacency bringup.

Introducing a “Flooding Negotiation Protocol” introduces a good deal of 
unneeded complexity. The complexity occurs because you are requiring a “three 
way handshake” before enabling temporary flooding. As it is only the new node 
which is temporarily NOT part of the flooding topology, it is natural to allow 
the new node to determine what edges to enable for temporary flooding. This is 
far simpler than trying to negotiate agreement between the new node and each of 
its neighbors.

We have published V1 of the draft which includes a limited discussion of this 
issue. Please see 
https://tools.ietf.org/html/draft-ietf-lsr-dynamic-flooding-01#section-6.8.3 .

Thanx.

    Les


From: Huaimo Chen <[email protected]>
Sent: Monday, May 20, 2019 1:56 PM
To: Les Ginsberg (ginsberg) <[email protected]>; [email protected]
Cc: [email protected]
Subject: RE: Flooding Negotiation bit

Hi Les,

The problem/case is raised by Tony on 3/6.

I think that it needs to be addressed too from flooding reduction’s 
perspective.  After a node with 1K links reboots and has 1K adjacencies up to 
full states,  we should not add 1K links to the FT temporarily. “Adding all of 
them is likely to trigger a cascade failure. “ from Tony.

To address this problem, we should have a Flooding Negotiation bit. Through 
using this bit, we can add one or just a few links (from 1K links) to the FT 
temporarily after 1K adjacencies are fully formed.

It seems that the various methods you mentioned do the work and are for 
reducing the load before 1K adjacencies are fully formed.

Best Regards,
Huaimo
==== A case from Tony on 3/6 ====
If the node that rebooted has 1000 interfaces, which interfaces should be 
temporarily added?  Adding all of them is likely to trigger a cascade failure.  
The TLV allows us to signal which ones should be enabled.

From: Les Ginsberg (ginsberg) [mailto:[email protected]]
Sent: Friday, May 17, 2019 2:02 PM
To: Huaimo Chen <[email protected]<mailto:[email protected]>>; 
[email protected]<mailto:[email protected]>
Cc: [email protected]<mailto:[email protected]>
Subject: RE: Flooding Negotiation bit

Huaimo –

It seems to me from your description that you are trying to deal with the 
startup case where a node reboots, has a large number of neighbors which need 
to be formed, and if this is done all simultaneously there will be a lot of 
redundant flooding between the new node and each of its neighbors.

If so, this is a well known problem which has nothing to do with optimizing 
flooding across the network. Clever implementers have already devised 
strategies wherein neighbors are not all brought up in parallel and the use of 
various protocol mechanisms (OL bit, max-metric, the SA bit from RFC 5306) are 
used to prevent the rebooting router from being used as a transit router until 
it has fully synced with all of its neighbors.

This has nothing whatever to do with the problem being addressed in the 
flooding optimizations draft – and there are no protocol extensions required to 
address the issue. I don’t think what you propose is needed – and if it were 
needed I do not think it would belong in flooding optimizations draft.

   Les


From: Lsr <[email protected]<mailto:[email protected]>> On Behalf Of 
Huaimo Chen
Sent: Wednesday, May 15, 2019 8:07 AM
To: [email protected]<mailto:[email protected]>
Cc: [email protected]<mailto:[email protected]>
Subject: Re: [Lsr] Flooding Negotiation bit

Hi Tony,

There are two different cases in which a link is to be added to the FT 
temporarily.
In one case, a negotiation is needed to be done before a link is to be added to 
the FT temporarily.
In the other case, no negotiation is needed. It is determined that a link is 
added to the FT temporarily.

In section 5.1.5 or section 5.2.7, it seems that there is no details on 
negotiations.

Best Regards,
Huaimo
From: Tony Li [mailto:[email protected]] On Behalf Of 
[email protected]<mailto:[email protected]>
Sent: Tuesday, May 14, 2019 4:31 PM
To: Huaimo Chen <[email protected]<mailto:[email protected]>>
Cc: [email protected]<mailto:[email protected]>
Subject: Re: Flooding Negotiation bit


Hi Huaimo,

If I understand you correctly, this seems to have almost the same semantics as 
the Flooding Request TLV (section 5.1.5) or the Flooding Request Bit (section 
5.2.7).

If I’m not understanding you, could you please clarify the differences and why 
the current mechanisms are insufficient.

Tony


On May 14, 2019, at 1:09 PM, Huaimo Chen 
<[email protected]<mailto:[email protected]>> wrote:

Hi Tony,

For the case you described below, in order to add one or a limited number of 
links to the flooding topology temporarily, a new bit, called Flooding 
Negotiation bit (FN bit for short), should be defined and used. In OSPF, the FN 
bit is defined in Extended Options and Flag (EOF) TLV in OSPF Hello. In IS-IS, 
the FN bit is defined in the new TLV used for FR bit.

When a node N (with 1000 interfaces/links for example) reboots, , each (node X) 
of the nodes connected to node N will establish an adjacency with node N. 
During the process of the adjacency establishment between node X and node N, 
node X sends a FN-bit set to one in its Hello to node N, node N selects one 
link/node (or a limited number of links) for temporarily flooding and sends 
only to this selected node a FN-bit set to one in its Hello. Node N adds the 
selected link/node to the FT temporarily after receiving the FT bit set to one 
from the selected node. After receiving the FN bit set to one from node N, the 
selected node adds the link (connected to node N) to the FT temporarily.
In other words, a node Y connected to node N adds the link to node N to the FT 
temporarily after it sends and receives the FT bit set to one to/from node N; 
node N adds a selected link to the FT temporarily after it receives and sends 
the FT bit set to one from/to node Y.

Best Regards,
Huaimo

==== A case from Tony on 3/6 ====
If the node that rebooted has 1000 interfaces, which interfaces should be 
temporarily added?  Adding all of them is likely to trigger a cascade failure.  
The TLV allows us to signal which ones should be enabled.

_______________________________________________
Lsr mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/lsr

Reply via email to