rfc2791.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 1,460 行 · 第 1/5 页

TXT
1,460
字号
   The keys to reducing routing complexity are systematic as well as
   consistent routing scheme and a routing policy that is simple but
   meets the requirement of administrative polices.

   Another factor contributing to the complexity of routing management
   is prefix-based route filtering. As is well known, prefix-based
   filtering is necessary in order to protect the integrity of the
   routing system. This becomes a challenge when the number of routes
   known to the Internet is as large as it is today.

5. Routing Protocol Scalability

   Today's commonly deployed routing protocols are IS-IS or OSPF for
   Interior routing (aka IGP) and BGP for exterior routing (aka EGP). In
   terms of scaling and other aspects, these protocols are already an
   improvement over the previous generation of protocols, such as RIP
   and EGP. However, scalability is still a major issue when a network
   is large, when a routing design is insensitive to scaling issues, or
   the protocol implementation is inefficient.

5.1. IS-IS and OSPF

   As described earlier in the document, IS-IS and OSPF are Link State
   routing protocols. The basic components of a link state routing
   protocol are i) generation and maintenance of a Link-State-DataBase
   (LSDB) that describes the routing topology of a given routing area;
   and ii) route calculation based on the topology information in the
   database. Each node in a routing area is responsible for describing
   its local routing topology in a Link State Advertisement or LSA (LSP
   in the case of IS-IS.) Each individually generated LSA will be
   distributed or flooded to all the routers in the area. Each router
   receives LSAs from all the other routers, forming a link-state-
   database that reflects the routing topology of the entire routing
   area.

   The main associated scaling issues are the complexity of the link
   state flooding and routing calculation, plus the size of the LSDB
   which contributes to the cost of routing calculation and router
   memory consumption.






Yu                           Informational                      [Page 6]

RFC 2791           Scalable Routing Design Principles          July 2000


   Flooding is the process by which a router distributes its self-
   originated LSA to the rest of the routers in the area in case of any
   link state change. A router will send the LSA via all its interfaces.
   When receiving an LSA update, a router validates the information and
   updates its local LSDB before sending it out via all its own
   interfaces, except the one from which it received the original LSA
   update. Given the nature of IS-IS or OSPF flooding, a full-mesh
   network with N routers would have O(N^2) of LSAs flooded in the
   network when a single link failure occurs. A single router outage
   would cause LSA in the order of O(N^3) to be flooded in the system.

   In the case of OSPF, the protocol will refresh or flood every 30
   minutes even under stable network conditions, which could increase
   the problem for an already highly loaded router.

   From the above discussion, one can easily observe that the more
   routers and adjacencies in a Link State IGP routing area, the more
   CPU burden there are for each router to bear. When a network is
   unstable, the load will be amplified.

   A link-state protocol typically uses Dijkstra's Shortest Path First
   (SPF) algorithm for route calculation. The Dijkstra algorithm scales
   to the order of O(N^2), where N is the number of nodes. The algorithm
   could be improved to the order of O(l*logN) where l is the number of
   links in the network and N is the number of destinations or routers
   [6].

   Consequently, link state routing protocols do not scale to a network
   topology with many routers and excessive adjacencies in an area. When
   the network topology is unstable, the computation, processing and
   bandwidth costs are magnified, which causes excessive consumption of
   router resources. When the instability prevents IS-IS or OSPF from
   maintaining adjacencies, a network routing meltdown occurs.

   Node adjacencies are discovered and maintained through the exchange
   of HELLO messages sent periodically from each node. When a node fails
   to receive HELLO messages from its neighbor within a certain period
   of time (40 seconds for OSPF and less for IS-IS), it considers the
   neighbor down. When heavy flooding, re-calculation and other
   activities happen that make router CPU a scarce resource, a router
   may not be able to allocate CPU time to send or process HELLO
   packets. Routers in the network then lose adjacency, which magnifies
   the instability. As a result, an isolated instability can escalate to
   a routing failure across the entire network.

   Link-state IGPs also do not scale well to carry a large number of
   routes such as the 70,000 routes known to the Internet today. Since
   external routes are included in the link-state-database and in LSA



Yu                           Informational                      [Page 7]

RFC 2791           Scalable Routing Design Principles          July 2000


   (LSP for IS-IS) updates, the link bandwidth and router memory
   consumption will be tremendous. Moreover, due to the large size of
   LSA updates, it would aggravate router resource consumption in the
   process of LSA flooding, especially under unstable network condition.

   To summarize, a scalable design should avoid inclusion of too many
   routers in an IGP routing area, a large external routes carried by
   IGP and, more important, excessive adjacencies in the area.

5.2. BGP

   BGP is an inter-domain routing protocol allowing the exchange of
   routing or reachability information between different Autonomous-
   System networks. Functionally, BGP is composed of External BGP(E-BGP)
   and Internal BGP(I-BGP). E-BGP is used for exchanging external routes
   while I-BGP is typically used for distributing externally learned
   routes within an AS.

   The general costs of BGP are as follows:

      o CPU consumption in BGP session establishment, route selection,
        routing information processing, and handling of routing updates

      o Router memory to install routes and multiple paths associated
        with the routes.

   The major scaling issue associated with BGP lie in the full mesh I-
   BGP connections. Since it does not scale for an IGP to carry
   externally learned prefixes, as mentioned in the previous section,
   I-BGP assumes this duty. In order to prevent routing loops, prefixes
   learned via I-BGP are prohibited from being advertised to another I-
   BGP speaker. As a result, a full mesh of I-BGP sessions among the
   routers within an AS is required. In an AS with N routers, each
   router will have to establish I-BGP sessions with N-1 routers, and
   the system complexity is in the order of O(N^2). Therefore, BGP
   scales poorly when the number of routers involved in I-BGP mesh is
   large.

   A large network normally learns all the routes known to the Internet,
   which is approximately 70,000. I-BGP will need to carry all these
   routes.

   The large number of I-BGP sessions and routes consumes tremendous
   resources from each router, especially during BGP session
   establishment and during periods of heavy route flapping.






Yu                           Informational                      [Page 8]

RFC 2791           Scalable Routing Design Principles          July 2000


   Frequent routing updates are another potential scaling problem in
   large networks. BGP uses incremental updates and sends out routing
   information about unreachable routes quickly for fast convergence.
   This is a great improvement from EGP, in which the whole routing
   table is updated at a fixed time interval. However, when a network is
   unstable the updates, especially those containing route withdrawals,
   are sent immediately, causing global BGP updates. As a result,
   network instability initiated anywhere in a network triggers updates
   all over the Internet. This effect is magnified when large amounts of
   routes are visible to the Internet, putting a heavy load on routers
   that participate in BGP.

   The introduction of a routing hierarchy in BGP, through I-BGP Route
   Reflectors [7] and BGP Confederations [8], for example, will help
   alleviate the scaling problem caused by the requirement of full mesh
   I-BGP establishment.

   Another potential solution is to avoid the requirement of full mesh
   pairwise I-BGP connections. This will change the way that BGP
   distributes routing information among the I-BGP peers. Mechanisms
   worth considering are using multicast to distribute information or
   adopting flooding mechanisms similar to those used in IS-IS or OSPF.
   Further investigation of the implication of using such mechanism for
   BGP route distribution is needed.

   Route dampening [9] is one way to reduce excessive updates triggered
   by route flapping. The trade-off between fast convergence and
   stability of the network should be considered, as discussed in
   section 6.3.

6. Scalable Routing Design Principles

   The routing design for a large-scale network should achieve the basic
   goals of accuracy, stability, redundancy and convergence as described
   in Section 2 and moreover should achieve it in a scalable fashion.

   How routing scales is influenced by protocol design decisions,
   protocol implementation decisions, and network design decisions. A
   network engineer has direct control over network design decisions and
   can have substantial influence over protocol design and
   implementation. The focus of this document is network design
   decisions.









Yu                           Informational                      [Page 9]

RFC 2791           Scalable Routing Design Principles          July 2000


   Following is a set of design principles for making a large network
   routing system more scalable:

      o Building hierarchy
      o Compartmentalization
      o Making proper trade-offs
      o Reducing route processing burdens
      o Defining scalable routing policies and implementation
      o Utilizing out-of-band routing assistance

6.1. Building Hierarchy

   As discussed in Section 5.1, OSPF and IS-IS scale poorly when a
   network has a large number of routers and in particular, a large
   quantity of adjacencies. This has unfortunately been proven by
   networks that deploy IP over ATM with full mesh adjacencies among the
   routers. The full mesh overlay design combined with the inefficient
   protocol implementation led to disastrous network outages. A lesson
   learned from this is to avoid full mesh overlay topology in a large
   network with a large, flat network routing structure.

   Building hierarchical routing structures in the network is the key to
   achieving routing scalability in a large network. As discussed
   earlier in this document, large networks are usually composed of many
   routers with a complex topology, which results in a large number of
   adjacencies. As also discussed earlier, currently available routing
   protocols scale poorly for handling a large number of routers in a
   routing domain or many adjacencies among the routers. Therefore, it
   is sensible to build a routing hierarchy to reduce the number of
   routers as well as the number of adjacencies in a routing domain.

   The current common practice is to build a two-tiered hierarchy in a
   network with a center component (or transit core network) to which a
   number of outskirt components (or access networks) attach. The
   transit core network covers the entire geographical area the network
   serves; each access network (aka regional network) covers one region.
   There are usually no direct link connections among the regional
   components. Traffic from one regional network to another traverses
   the transit core. Customer networks connect only to access or
   regional networks. There are a number of ways to build a routing
   hierarchy in the above described hierarchical network topology.

      1) Completely Separate Routing Domains

      This design treats the transit core network and each regional
      network as completely independent ASs with respect to routing, and
      each AS runs an independent IGP. Each regional network E-BGP with
      the transit core for exchanging routing knowledge. Full I-BGP



Yu                           Informational                     [Page 10]

RFC 2791           Scalable Routing Design Principles          July 2000


      connections need to be established only within each component
      network. With this design, the maximum number of routers in an IGP
      domain is the total number of routers in each component. As a
      result, the IGP processing load is reduced, and the number of
      routers in an I-BGP mesh in the network routing system is
      decreased dramatically.

      Another advantage of this design is that it compartmentalizes the
      routing system so that instability in one such component has less
      impact on the entire system. See the discussion in section 6.2.

      The main disadvantage of this scheme is that it inserts one extra
      AS in the routing path when routes are advertised to the Internet
      via BGP. This extra AS in the path may cause route selection
      difficulties for other providers.

      2) One Domain with IGP and BGP Hierarchy

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?