home *** CD-ROM | disk | FTP | other *** search
/ Handbook of Infosec Terms 2.0 / Handbook_of_Infosec_Terms_Version_2.0_ISSO.iso / text / rfcs / rfc1765.txt < prev    next >
Text File  |  1996-05-07  |  22KB  |  245 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                             J. Moy Request for Comments: 1765                                       Cascade Category: Experimental                                        March 1995 
  8.  
  9.                           OSPF Database Overflow 
  10.  
  11. Status of this Memo 
  12.  
  13.    This memo defines an Experimental Protocol for the Internet    community.  This memo does not specify an Internet standard of any    kind.  Discussion and suggestions for improvement are requested.    Distribution of this memo is unlimited. 
  14.  
  15. Abstract 
  16.  
  17.    Proper operation of the OSPF protocol requires that all OSPF routers    maintain an identical copy of the OSPF link-state database.  However,    when the size of the link-state database becomes very large, some    routers may be unable to keep the entire database due to resource    shortages; we term this "database overflow". When database overflow    is anticipated, the routers with limited resources can be    accommodated by configuring OSPF stub areas and NSSAs. This memo    details a way of gracefully handling unanticipated database    overflows. 
  18.  
  19.    This memo is a product of the OSPF Working Group. Please send    comments to ospf@gated.cornell.edu. 
  20.  
  21. Table of Contents 
  22.  
  23.    1.       Overview ............................................... 2    2.       Implementation details ................................. 3    2.1      Configuration .......................................... 3    2.2      Entering OverflowState ................................. 4    2.3      Operation while in OverflowState ....................... 5    2.3.1    Modifications to Flooding .............................. 5    2.3.2    Originating AS-external-LSAs ........................... 6    2.3.3    Receiving self-originated LSAs ......................... 6    2.4      Leaving OverflowState .................................. 6    3.       An example ............................................. 6    4.       Administrative response to database overflow ........... 7    5.       Operational experience ................................. 8    6.       Possible enhancements .................................. 8    A.       Related MIB parameters ................................  8             References ............................................  9             Security Considerations ...............................  9             Author's Address ......................................  9 
  24.  
  25.  
  26.  
  27. Moy                                                             [Page 1] 
  28.  RFC 1765                 OSPF Database Overflow               March 1995 
  29.  
  30.  1.  Overview 
  31.  
  32.    OSPF requires that all OSPF routers within a single area maintain an    identical copy of the OSPF link-state database.  However, when the    size of the link-state database becomes very large, some routers may    be unable to keep the entire database due to resource shortages; we    term this "database overflow". For example, a regional network may    have a very large OSPF database because it is importing a large    number of external routes into OSPF. Unless database overflow is    handled correctly, routers will end up with inconsistent views of the    network, possibly leading to incorrect routing. 
  33.  
  34.    One way of handling database overflow is to encase routers having    limited resources within OSPF stub areas (see Section 3.6 of [1]) or    NSSAs ([2]).  AS-external-LSAs are omitted from these areas' link-    state databases, thereby controlling database size. 
  35.  
  36.    However, unexpected database overflows cannot be handled in the above    manner.  This memo describes a way of dynamically limiting database    size under overflow conditions. The basic mechanism is as follows: 
  37.  
  38.     (1) A parameter, ospfExtLsdbLimit, is configured in each router         indicating the maximum number of AS-external-LSAs (excluding         those describing the default route) that are allowed in the         link-state database. This parameter must be the same in all         routers in the routing domain (see Section 2.1); synchronization         of the parameter is achieved via network management. 
  39.  
  40.     (2) In any router's database, the number of AS-external-LSAs         (excluding default) is never allowed to exceed ospfExtLsdbLimit.         If a router receives a non-default AS-external-LSA that would         cause the limit of ospfExtLsdbLimit to be exceeded, it drops the         LSA and does NOT acknowledge it. 
  41.  
  42.     (3) If the number of non-default AS-external-LSAs in a router's         database hits ospfExtLsdbLimit, the router a) flushes all non-         default AS-external-LSAs that it has itself originated (see         Section 2.2) and b) goes into "OverflowState". 
  43.  
  44.     (4) While in OverflowState, the router refuses to originate any         non-default AS-external-LSAs (see Section 2.3.2). 
  45.  
  46.     (5) Optionally, the router can attempt to leave OverflowState after         the configurable parameter ospfExitOverflowInterval has elapsed         since entering OverflowState (see Section 2.4). Only at this         point can the router resume originating non-default AS-         external-LSAs. 
  47.  
  48.  
  49.  
  50.  Moy                                                             [Page 2] 
  51.  RFC 1765                 OSPF Database Overflow               March 1995 
  52.  
  53.     The reason for limiting non-default AS-external-LSAs, but not other    LSA types, is twofold. First of all, the non-default AS-external LSAs    are the most likely to dominate database size in those networks with    huge databases (e.g., regional networks; see [5]). Second, the non-    default AS-external-LSAs can be viewed as "optional" in the following    sense: the router can probably be monitored/reconfigured without    them. (However, using similar strategies, other LSA types can also be    limited; see Section 5.) 
  54.  
  55.    The method of dealing with database overflow described herein has the    following desirable properties: 
  56.  
  57.     o   After a short period of convergence, all routers will have         identical link-state databases. This database will contain less         than ospfExtLsdbLimit non-default AS-external-LSAs. 
  58.  
  59.     o   At all times, routing WITHIN the OSPF Autonomous System will         remain intact. Among other things, this means that the routers         will continue to be manageable. 
  60.  
  61.     o   Default routing to external destinations will also remain         intact. This hopefully will mean that a large amount of external         connectivity will be preserved, although possibly taking less         efficient routes. 
  62.  
  63.     o   If parameter ospfExitOverflowInterval is configured, the OSPF         system will recover fully and automatically (i.e., without         network management intervention) from transient database         overflow conditions (see Section 2.4). 
  64.  
  65. 2.  Implementation details 
  66.  
  67.    This section describes the mechanism for dealing with database    overflow in more detail. The section is organized around the concept    OverflowState, describing how routers enter the OverflowState, the    operation of the router while in OverflowState, and when the router    leaves OverflowState. 
  68.  
  69.    2.1.  Configuration 
  70.  
  71.       The following configuration parameters are added to support the       database overflow functionality. These parameters are set by       network management. 
  72.  
  73.         ospfExtLsdbLimit             When the number of non-default AS-external-LSAs in a             router's link-state database reaches ospfExtLsdbLimit, the             router enters OverflowState. The router never holds more 
  74.  
  75.  
  76.  
  77. Moy                                                             [Page 3] 
  78.  RFC 1765                 OSPF Database Overflow               March 1995 
  79.  
  80.              than ospfExtLsdbLimit non-default AS-external-LSAs in its             database. 
  81.  
  82.             ospfExtLsdbLimit MUST be set identically in all routers             attached to the OSPF backbone and/or any "regular" OSPF             area. (This memo does not pertain to routers contained             within OSPF stub areas nor NSSAs, since such routers do not             receive AS-external-LSAs.) If ospfExtLsdbLimit is not set             identically in all routers, then when the database             overflows: 1) the routers will NOT converge on a common             link-state database, 2) incorrect routing, possibly             including routing loops, will result and 3) constant             retransmission of AS-external-LSAs will occur. Identical             setting of ospfExtLsdbLimit is achieved/ensured by network             management. 
  83.  
  84.             When ospfExtLsdbLimit is set in a router, the router must             have some way to guarantee that it can hold that many non-             default AS-external-LSAs in its link-state database. One way             of doing this is to preallocate resources (e.g., memory) for             the configured number of LSAs. 
  85.  
  86.         ospfExitOverflowInterval             The number of seconds that, after entering OverflowState, a             router will attempt to leave OverflowState. This allows the             router to again originate non-default AS-external-LSAs. When             set to 0, the router will not leave OverflowState until             restarted. The default setting for ospfExitOverflowInterval             is 0. 
  87.  
  88.             It is not necessary for ospfExitOverflowInterval to be             configured the same in all routers. A smaller value may be             configured in those routers that originate the "more             important" AS-external-LSAs. In fact, setting             ospfExitOverflowInterval the same may cause problems, as             multiple routers attempt to leave OverflowState             simultaneously. For this reason, the value of             ospfExitOverflowInterval must be "jittered" by randomly             varying its value within the range of plus or minus 10             percent before using. 
  89.  
  90.    2.2.  Entering OverflowState 
  91.  
  92.       The router enters OverflowState when the number of non-default       AS-external-LSAs in the database hits ospfExtLsdbLimit. There are       two cases when this can occur. First, when receiving an LSA during       flooding. In this case, an LSA which does not already have a       database instance is added in Step 5 of Section 13 of [1].  The 
  93.  
  94.  
  95.  
  96. Moy                                                             [Page 4] 
  97.  RFC 1765                 OSPF Database Overflow               March 1995 
  98.  
  99.        second case is when the router originates a non-default AS-       external-LSA itself. 
  100.  
  101.       Whenever the router enters OverflowState it flushes all non-       default AS-external-LSAs that it itself had originated. Flushing       is accomplished through the premature aging scheme described in       Section 14.1 of [1].  Only self-originated LSAs are flushed; those       originated by other routers are kept in the link-state database. 
  102.  
  103.    2.3.  Operation while in OverflowState 
  104.  
  105.       While in OverflowState, the flooding and origination of non-       default AS-external-LSAs are modified in the following fashion. 
  106.  
  107.       2.3.1.  Modifications to Flooding 
  108.  
  109.          Flooding while in OverflowState is modified as follows. If in          Step 5 of Section 13 of [1], a non-default AS-external-LSA has          been received that a) has no current database instance and b)          would cause the count of non-default AS-external-LSAs to exceed          ospfExtLsdbLimit, then that LSA is discarded. Such an LSA is          not installed in the link-state database, nor is it          acknowledged. 
  110.  
  111.          When all routers have identical values for ospfExtLsdbLimit (as          required), the above flooding modification will only be invoked          during a short period of convergence. During convergence, there          will be retransmissions of LSAs. However, after convergence the          retransmissions will cease, as the routers settle on a database          having less than ospfExtLsdbLimit non-default As-external-LSAs. 
  112.  
  113.          In OverflowState, non-default AS-external-LSAs ARE still          accepted in the following conditions: 
  114.  
  115.             (1) If the LSA updates an LSA that currently exists in the                 router's link-state database. 
  116.  
  117.             (2) LSAs having LS age of MaxAge are always accepted. The                 processing of these LSAs follows the procedures                 described in Sections 13 and 14 of [1]. 
  118.  
  119.             (3) If adding the LSA to the router's database would keep                 the number of non-default AS-external-LSAs less than or                 equal to ospfExtLsdbLimit, the LSA is accepted. 
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127. Moy                                                             [Page 5] 
  128.  RFC 1765                 OSPF Database Overflow               March 1995 
  129.  
  130.        2.3.2.  Originating AS-external-LSAs 
  131.  
  132.          Originating AS-external-LSAs is described in Section 12.4.5 of          [1].  When a router is in OverflowState, it does not originate          non-default AS-external-LSAs. In other words, the only AS-          external-LSAs originated by a router in OverflowState have Link          State ID 0.0.0.0. 
  133.  
  134.       2.3.3.  Receiving self-originated LSAs 
  135.  
  136.          Receiving self-originated LSAs is described in Section 13.4 of          [1].  When in OverflowState, a router receiving a self-          originated non-default AS-external-LSA responds by flushing it          from the routing domain using the premature aging scheme          described in Section 14.1 of [1]. 
  137.  
  138.    2.4.  Leaving OverflowState 
  139.  
  140.       If ospfExitOverflowInterval is non-zero, then as soon as a router       enters OverflowState, it sets a timer equal to the value of       ospfExitOverflowInterval (plus or minus a random value in the       range of 10 percent). When this timer fires, the router leaves       OverflowState and begins originating non-default AS-external-LSAs       again. 
  141.  
  142.       This allows a router to automatically recover from transient       overflow conditions. For example, an AS boundary router that       imports a great many AS-external-LSAs may crash. Other routers may       then start importing the routes, but until the crashed AS boundary       router is either a) restarted or b) its AS-external-LSAs age out,       there will be a much larger database than usual.  Since such an       overflow is guaranteed to go away in MaxAge seconds (1 hour),       automatic recovery may be appropriate (and fast enough) if the       overflow happens off-hours. 
  143.  
  144.       As soon as the router leaves OverflowState, it is again eligible       to reenter OverflowState according to the text of Section 2.2. 
  145.  
  146. 3.  An example 
  147.  
  148.    As an example, suppose that a router implements the database overflow    logic, and that its ospfExtLsdbLimit is 10,000 and its    ospfExitOverflowInterval is set to 600 seconds. Suppose further that    the router itself is originating 400 non-default AS-external-LSAs,    and that the current number of non-default AS-external-LSAs in the    router's database is equal to 9,997. 
  149.  
  150.  
  151.  
  152.  
  153.  
  154. Moy                                                             [Page 6] 
  155.  RFC 1765                 OSPF Database Overflow               March 1995 
  156.  
  157.     Next, it receives a Link State Update packet from a neighbor,    containing 6 non-default AS-external-LSAs, none of which have current    database copies.  The first two LSAs are then installed in the    database. The third LSA is also installed in the database, but causes    the router to go into OverflowState.  Going into OverflowState causes    the router to flush (via premature aging) its 400 self-originated    non-default LSAs. However, these 400 LSAs are still considered to be    part of the link-state database until their re-flooding (with age set    to MaxAge) is acknowledged (see Section 14 of [1]); for this reason,    the last three LSAs in the received update are discarded without    being acknowledged. 
  158.  
  159.    After some small period of time all routers will converge on a common    database, having less than 10,000 non-default AS-external-LSAs.    During this convergence period there may be some link-state    retransmissions; for example, the sender of the above Link State    Update packet may retransmit the three LSAs that were discarded. If    this retransmission happens after the flushing of the 400 self-    originated LSAs is acknowledged, the 3 LSAs will then be accepted. 
  160.  
  161.    Going into OverflowState also causes the router to set a timer that    will fire some time between 540 and 660 seconds later. When this    timer fires, the router will leave OverflowState and re-originate its    400 non-default AS-external-LSAs, provided that the current database    has less than 9600 (10,000 - 400) non-default AS-external-LSAs. If    there are more than 9600, the timer is simply restarted. 
  162.  
  163. 4.  Administrative response to database overflow 
  164.  
  165.    Once the link-state database has overflowed, it may take intervention    by network management before all routing is restored.  (If the    overflow condition is transient, routing may be restored    automatically; see Section 2.4 for details.) An overflow condition is    indicated by SNMP traps (see Appendix B). Possible responses by a    network manager may include: 
  166.  
  167.     o   Increasing the value of ospfExtLsdbLimit. Perhaps it had been         set too conservatively, and the routers are able to support         larger databases than they are currently configured for. 
  168.  
  169.     o   Isolating routers having limited resources within OSPF stub         areas or NSSAs.  This would allow increasing the value of         ospfExtLsdbLimit in the remaining routers. 
  170.  
  171.     o   Reevaluating the need to import certain external routes. If         ospfExtLsdbLimit cannot be increased, the network manager will         want to make sure that the more important routes continue to be         imported; this is accomplished by turning off the importing of 
  172.  
  173.  
  174.  
  175. Moy                                                             [Page 7] 
  176.  RFC 1765                 OSPF Database Overflow               March 1995 
  177.  
  178.          less important routes. 
  179.  
  180. 5.  Operational experience 
  181.  
  182.    The database overflow scheme described in this memo has been    implemented in the Proteon router for a number of years, with the    following differences. First, the router did not leave OverflowState    until it was restarted (i.e., ospfExitOverflowInterval was always 0).    Second, default AS-external-LSAs were not separated from non-default    AS-external-LSAs. Operationally the scheme performed as expected:    during overflow conditions, the routers converged on a common    database having less than a configured number of AS-external-LSAs. 
  183.  
  184. 6.  Possible enhancements 
  185.  
  186.    Possible enhancements to the overflow scheme include the following: 
  187.  
  188.     o   Other LSA types, with the exception of the transit LSAs         (router-LSAs and network-LSAs), could be limited in a similar         fashion. For example, one could limit the number of summary-         LSAs, or group-membership-LSAs (see [6]). 
  189.  
  190.     o   Rather than flushing all of its non-default AS-external-LSAs         when entering OverflowState, a router could flush a fixed number         whenever the database size hits ospfExtLsdbLimit. This would         allow the router to prioritize its AS-external-LSAs, flushing         the least important ones first. 
  191.  
  192. A. Related MIB parameters 
  193.  
  194.    The following OSPF MIB variables have been defined to support the    database overflow procedure described in this memo (see [4] for more    information): 
  195.  
  196.     ospfExtLsdbLimit         As in Section 2.1 of this memo, the maximum number of non-         default AS-external-LSAs that can be stored within the database.         If set to -1, there is no limit. 
  197.  
  198.     ospfExitOverflowInterval         As in Section 2.1 of this memo, the number of seconds that,         after entering OverflowState, a router will attempt to leave         OverflowState. This allows the router to again originate non-         default AS-external-LSAs.  When set to 0, the router will not         leave OverflowState until restarted. 
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  Moy                                                             [Page 8] 
  205.  RFC 1765                 OSPF Database Overflow               March 1995 
  206.  
  207.      ospfLsdbOverflow         A trap indicating that the number of non-default AS-external-         LSAs has exceeded or equaled ospfExtLsdbLimit. In other words,         this trap indicates that the router is entering OverflowState. 
  208.  
  209.     ospfLsdbApproachingOverflow         A trap indicating that the number of non-default AS-external-         LSAs has exceeded ninety percent of "ospfExtLsdbLimit". 
  210.  
  211. References 
  212.  
  213.    [1] Moy, J., "OSPF Version 2", RFC 1583, Proteon, Inc., March 1994. 
  214.  
  215.    [2] Coltun, R., and V. Fuller, "The OSPF NSSA Option", RFC 1587,        RainbowBridge Communications, Stanford University, March 1994. 
  216.  
  217.    [3] Moy, J., Editor, "OSPF Protocol Analysis", RFC 1245, Proteon,        Inc., July 1991. 
  218.  
  219.    [4] Baker F., and R. Coltun, "OSPF Version 2 Management Information        Base", Work in Progress. 
  220.  
  221.    [5] Moy, J., Editor, "Experience with the OSPF Protocol", RFC 1246,        Proteon, Inc., July 1991. 
  222.  
  223.    [6] Moy, J., "Multicast Extensions to OSPF", RFC 1584, Proteon, Inc.,        March 1994. 
  224.  
  225. Security Considerations 
  226.  
  227.    Security issues are not discussed in this memo. 
  228.  
  229. Author's Address 
  230.  
  231.    John Moy    Cascade Communications Corp.    5 Carlisle Road    Westford, MA 01886 
  232.  
  233.    Phone: 508-692-2600 Ext. 394    Fax:   508-692-9214    EMail: jmoy@casc.com 
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243. Moy                                                             [Page 9] 
  244.  
  245.