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
> 
> On Aug 9, 2006, at 12:07 PM, Acee Lindem wrote:
> 
> > Hi Roch,
> > Agree with your explainatoin - rrSee one additional comment below.
> > Roch Guerin wrote:
> >> Rick,
> >>
> >> Not sure there is a unique explanation, but I would take the
> >> statement with a grain of salt as I know of a couple of
> >> implementations that do things more intelligently and indeed avoid
> >> a Dijkstra recomputation (full SPF) when the change only affects a
> >> stub network in an area (in Section 16 of RFC 2328, the intra-area
> >> routing table computation is actually broken into two steps, with
> >> the second step being dedicated to adding stubs).
> >>
> >> I think the origin of this statement is that unlike IS-IS where
> >> because reachability information is encoded into separate TLVs
> >> there is a clean demarcation between running the (full) SPF
> >> (Dijkstra) using routers, pseudo-nodes and links connecting them,
> >> and what is called the partial route computation (PRC) that
> >> involves only the prefixes and not the topology, the situation is
> >> a bit murkier in OSPF.  In particular, unless you do a detailed
> >> parsing of the RouterLSAs and NetworkLSAs to determine what has
> >> changed, the receipt of a changed one will often be used as a
> >> sufficient trigger to schedule a Dijkstra computation.
> >>
> >> Now this is again a necessary but not a sufficient condition, and
> >> some implementations will perform the additional parsing required
> >> to avoid a full SPF (Dijsktra) when it is not needed.
> > Exactly, in fact, this is stated explicitly in RFC 2328.
> >
> >        The specification does not require that the above two stage
> >        method be used to calculate the shortest path tree.
> > However, if
> >        another algorithm is used, an identical tree must be produced.
> >        For this reason, it is important to note that links between
> >        transit vertices must be bidirectional in order to be included
> >        in the above tree.  It should also be mentioned that more
> >        efficient algorithms exist for calculating the tree; for
> >        example, the incremental SPF algorithm described in [Ref1].
> >
> > Thanks,
> > Acee
> >>
> >> hope this helps,
> >>
> >> roch
> >>> In section 3.5.3, RFC2740 indicates the the entire routing table
> >>> is recalculated when there's a change to the router,network,
> >>> intra-area and link LSAs.  Why is it that a change to an intra
> >>> area prefix would require a full SPF?
> >>>  thanks
> >>> /rg
> >>> --------------------------------------------------------------------
> >>> ----
> >>>
> >>> _______________________________________________
> >>> OSPF mailing list
> >>> [email protected]
> >>> https://www1.ietf.org/mailman/listinfo/ospf
> >>>
> >>
> >>
> >> ---------------------------------------------------------------------
> >> ---
> >>
> >> _______________________________________________
> >> OSPF mailing list
> >> [email protected]
> >> https://www1.ietf.org/mailman/listinfo/ospf
> >>
> >
> > _______________________________________________
> > OSPF mailing list
> > [email protected]
> > https://www1.ietf.org/mailman/listinfo/ospf
> >
> 
> _______________________________________________
> OSPF mailing list
> [email protected]
> https://www1.ietf.org/mailman/listinfo/ospf

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

Reply via email to