Mitchell,

I think that what Dave was pointing out is that in most (large) networks where one could expect the cost of an SPF to be an issue, it is actually not significant (per instance) compared to the cost of updating the routing/forwarding table and other dependent processes. The case of BGP provides a good example, as the issue is more the impact on the BGP decision process that you will need to rerun and that could involve scanning 250k entries, and that alone will take more time than the SPF itself. And then you have the added cost of updating the forwarding entries of all those BGP prefixes whose Next_Hop just changed because of the SPF change. There is actually a reasonably good discussion of this whole issue and how it is dealt with in two major implementations in a recent book on IS-IS by Gredler and Goralski, Springer, 2005 (no endorsement intended).

So in general, I agree with Dave that in most/all reasonably designed networks, the actual SPF cost will pale in comparison to some of the other overheads involved in updating routing tables. Now, you can certainly create situations where the SPF computation does become a bottleneck (I've seen a network with one huge OSPF area - several hundred routers - and thousands of local prefixes, where one flaky router was regularly bringing the network down because of SPF computations), but they should be the exception rather than the rule.

Roch
Group,

        I am not sure I completely aggree with Mr. Katz..

        I am also abit more verbose.

        Their are times within within large areas, over a period of
        time, where the number of changing (new) LSAs are significant.
        With cheaper slow main memory, the size of the SPF routing tables
        can grow. It is sometimes worth while to minimize the amount
        of summarization of routes, so the now non summarized routes
        can be differentiated in their costs. Additionally, a BGP draft is
        currently looking at increasing the number of redundant/alternate
        routes that could be advertised. So, these routing tables can
        grow unbounded with some scaling SPF issues. Some implementations
        require about 2 dozen main memory lookups just to determine if
        a LSA is new.

        During these times, you COULD be trying to minimize the number
        of repeated SPF calculations. Their are some optimizations that
        can be done for some types of LSAs, but consume more memory. some
        of the optimizations allow very fast routing table changes at
        a fraction of normal time.

        It is important to at least minimize the local forwarding
        abnomalies and where fast (10Gb Eth) interfaces are present,
        where even a short delay can result in longer term disruptions.
        If a flow was a TCP flow, even a single mis-routed segment,
        can result in a temporary drop to 50% of the pre-loss bandwidth.
        TCP with its then congestion avoidance functionally can take
        1 round-trip-time per loss of the 50% of in-flight segments
        to regain its previous bandwidth.
        Just trying to show some interaction...
        

        So, lets continue..
        The forwarding tables are rather limited in size due to the
        additional cost of the forwarding table memory. The cost is
        their to allow very fast forwarding. This limits
        the amount of time one can spend changing the forwarding tables.
        Sometimes the design requires extra cycles to change the
        forwarding tables versus just making forwarding decisions based
        on them. Some implementations may use default type routes.

        One can not change how fast a UPdate OSPF pkt will be recieved
        and processed by a neighbor which will result in a forwarding
        change.  However if a implementation was smart enough to
        determine that a recieved LSA would result in a SPF calc trigger,
        one might want to force a immediate Update that only includes
        those LSA(s)to the next neighbors. This would prioritize those
        LSAs to the neighbor, and then after a short time, send the
        normal age update LSAs..
        
        Mitchell Erblich
        ----------------------

        
        

Dave Katz wrote:
And I'll just throw in my standard rant, which is that I've yet to
see an operational network where the computational cost of an SPF was
enough of a concern to go to the effort of getting fancy.

The costly part is seldom the SPF itself, but rather the side effects
of doing it (how you handle updating forwarding tables, interaction
with BGP, etc.)  Those are the places to spend the effort in
optimization, IMHO.

--Dave


_______________________________________________
OSPF mailing list
[email protected]
https://www1.ietf.org/mailman/listinfo/ospf

Reply via email to