RFC 1745 HISTORIC ROUTING · BGP · OSPF

BGP4/IDRP-OSPF: BGP4/IDRP for IP---OSPF Interaction

The rules a border router follows when it moves routes between OSPF inside and BGP outside its network.

On rfc-editor.org ↗
PUBLISHED
December 1994
AUTHORS
K. Varadhan, S. Hares, Y. Rekhter
STREAM
IETF
OSPF TAG WIDTH
32 bits
ARBITRARYTAG FIELD
12 bits, defaults to 0
AUTONOMOUSSYSTEM FIELD
16 bits
OSPF COST RANGE
1 to 2^24
LOCAL_PREF RANGE
0 to 2^32
DEFAULT OSPF METRIC TYPE ON IMPORT
Type 2
DOI
10.17487/RFC1745

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                       K.  Varadhan
Request for Comments: 1745                                  OARnet & ISI
Category: Standards Track                                       S. Hares
                                                            NSFnet/Merit
                                                              Y. Rekhter
                                  T.J. Watson Research Center, IBM Corp.
                                                           December 1994


                  BGP4/IDRP for IP---OSPF Interaction

Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Abstract

   This memo defines the various criteria to be used when designing an
   Autonomous System Border Router (ASBR) that will run either BGP4 or
   IDRP for IP with other ASBRs external to the AS and OSPF as its IGP.

Table of Contents

   1.  Introduction .................................................  2
   2.  Reachability Information Exchange ............................  4
   2.1.  Exporting OSPF information into BGP/IDRP  ..................  4
   2.2.  Importing BGP/IDRP information into OSPF ...................  6
   3.  BGP/IDRP Identifier and OSPF router ID .......................  7
   4.  Setting OSPF tags, ORIGIN and PATH attributes ................  8
   4.1.  Configuration parameters for setting the OSPF tag .......... 10
   4.2.  Manually configured tags ................................... 10
   4.3.  Automatically generated tags ............................... 11
   4.3.1. Tag = <Automatic = 1, Complete = 0, PathLength = 00> ...... 11
   4.3.2. Tag = <Automatic = 1, Complete = 0, PathLength = 01> ...... 11
   4.3.3. Tag = <Automatic = 1, Complete = 0, PathLength = 10> ...... 12
   4.3.4. Tag = <Automatic = 1, Complete = 1, PathLength = 00> ...... 12
   4.3.5. Tag = <Automatic = 1, Complete = 1, PathLength = 01> ...... 12
   4.3.6. Tag = <Automatic = 1, Complete = 1, PathLength = 10> ...... 13
   4.4.  Miscellaneous tag settings ................................. 14
   5.  Setting OSPF Forwarding Address and BGP NEXT_HOP attribute ... 14
   6.  Changes from the BGP 3 - OSPF interactions document .......... 15
   7.  Security Considerations ...................................... 16
   8.  Acknowledgements ............................................. 16
   9.  Bibliography ................................................. 16
   10.  Appendix .................................................... 18
   11.  Authors' Present Addresses .................................. 19

1.  Introduction

   This document defines the various criteria to be used when designing
   an Autonomous System Border Router (ASBR) that will run BGP4
   [RFC1654] or IDRP for IP [IDRP] with other ASBRs external to the AS,
   and OSPF [RFC1583] as its IGP.

   All future references of BGP in this document will refer to BGP
   version 4, as defined in [RFC1654].  All reference to IDRP are
   references to the Inter-Domain Routing Protocol (ISO 10747) which has
   been defined by the IDRP for IP document [IDRP] for use in Autonomous
   Systems.

   This document defines how the following fields in OSPF and attributes
   in BGP/IDRP are to be set when interfacing between BGP/IDRP and OSPF
   at an ASBR:

   IDRP came out of the same work as BGP, and may be consider a follow
   on to BGP-3 and BGP-4.  Most fields defined in the interaction
   between BGP and IDRP are named the same.  Where different, the IDRP
   fields are shown separately.

           BGP/IDRP MULTI_EXIT_DISC

           BGP ORIGIN and AS_PATH/AS_SET     vs. OSPF tag
           IDRP EXT_INFO and RD_PATH/RD_SET

           BGP/IDRP NEXT_HOP                 vs. OSPF Forwarding Address

           BGP/IDRP LOCAL_PREF               vs. OSPF cost and type

   IDRP contains RD_PATH and RD_SET fields which serves the same purpose
   as AS_PATH and AS_SET fields for IDRP for IP.  In this document, we
   will use the terms PATH and SET to refer to the BGP AS_PATH and
   AS_SET, or the IDRP RD_PATH and RD_SET fields respectively, depending
   on the context of the protocol being used.

   Both IDRP and BGP provide a mechanism to indicate whether the routing
   information was originated via an IGP, or some other means.  In IDRP,
   if route information is originated by means other than an IGP, then
   the EXT_INFO attribute is present.  Likewise, in BGP, if a route
   information is originated by means other than an IGP, then the ORIGIN
   attribute is set to <EGP> or <INCOMPLETE>.  For the purpose of this
   document, we need to distinguish between the two cases:

        (a)  Route information was originated via an IGP,

        (b)  Route information was originated by some other means.

   The former case is realized in IDRP by not including the EXT_INFO
   attribute, and in BGP by setting the BGP ORIGIN=<IGP>;  The latter
   case is realized by including the EXT_INFO attribute in IDRP, and by
   setting the BGP ORIGIN=<EGP>.  For the rest of the document, we will
   use the BGP ORIGIN=<IGP> to refer to the former scenario, and BGP
   ORIGIN=<EGP> to refer to the latter.

   One other difference between IDRP and BGP remains.  IDRP for IP
   identifies an autonomous system by an identifier of variable length
   that is syntactically identical to an NSAP address prefix, and
   explicitly embeds the autonomous system number [IDRP].  BGP
   identifies an autonomous system just by an autonomous system number.
   Since there is a one-to-one mapping between how an autonomous system
   is identified in IDRP and in BGP, in this document, we shall identify
   an autonomous system by its autonomous system number.

   For a more general treatise on routing and route exchange problems,
   please refer to [ROUTE-LEAKING] and [NEXT-HOP] by Philip Almquist.

   This document uses the two terms "Autonomous System" and "Routing
   Domain".  The definitions for the two are below:

   The term Autonomous System is the same as is used in the BGP RFC
   [RFC1267], given below:

      "The use of the term Autonomous System here stresses the fact
      that, even when multiple IGPs and metrics are used, the
      administration of an AS appears to other ASs to have a single
      coherent interior routing plan and presents a consistent picture
      of what destinations are reachable through it.  From the
      standpoint of exterior routing, an AS can be viewed as monolithic:
      reachability to destinations directly connected to the AS must be
      equivalent from all border gateways of the AS."

   The term Routing Domain was first used in [ROUTE-LEAKING] and is
   given below:

      "A Routing Domain is a collection of routers which coordinate
      their routing knowledge using a single [instance of a] routing
      protocol."

   By definition, a Routing Domain forms a single Autonomous System, but
   an Autonomous System may be composed of a collection of Routing
   Domains.

   BGP, IDRP and OSPF have the concept of a set of reachable
   destinations.  This set is called NLRI or Network Layer Reachability
   Information.  The set can be represented either as an IP address
   prefix, or an address, mask pair.  Note that if the mask is
   contiguous in the latter, then the two representations are
   equivalent.  In this document, we use the term "address/mask pair" in
   the context of OSPF, and "destination" or "set of reachable
   destinations" in the context of BGP or IDRP.

   This document follows the conventions embodied in the Host
   Requirements RFCs [RFC1122, RFC1123], when using the terms "MUST",
   "SHOULD," and "MAY" for the various requirements.

   A minimal implementation of BGP/IDRP OSPF exchange MUST not advertise
   a route containing a set of reachable destinations when none of the
   destinations in the address/mask pair is reachable via OSPF (section
   2.1, bullet 3), MUST merge the PATH into a SET when multiple exit
   points exist within the same autonomous system for the same external
   destination (section 3), MUST set the OSPF tag accurately (section
   4).  This subset is chosen so as to cause minimal havoc to the
   Internet at large.  It is strongly recommended that implementors
   implement more than a minimalistic specification.

2.  Reachability Information Exchange

   This section discusses the constraints that must be met to exchange
   the set of reachable destinations between an external BGP/IDRP peer
   from another AS and internal OSPF address/mask pairs.

   2.1.  Exporting OSPF information into BGP

      1.   The administrator MUST be able to selectively export
           address/mask pairs into BGP/IDRP via an appropriate filter
           mechanism.

           This filter mechanism MUST support such control with the
           granularity of an address/mask pair.

           This filter mechanism will be the primary method of
           aggregation of OSPF internal and type 1 and type 2 external
           routes within the AS into BGP/IDRP.

           Additionally, the administrator MUST be able to filter based
           on the OSPF tag and the various sub-fields of the OSPF tag.
           The settings of the tag and the sub-fields are defined in
           section 4 in more detail.

           o    The default MUST be to export no routes from OSPF into
                BGP/IDRP.  A single configuration parameter MUST permit
                all OSPF inter-area and intra-area address/mask pairs to
                be exported into BGP/IDRP.

                OSPF external address/mask pairs of type 1 and type 2
                MUST never be exported into BGP/IDRP unless they are
                explicitly configured.

      2.   An address/mask pair having a non-contiguous mask MUST not be
           exported to BGP/IDRP.

      3.   When configured to export an address/mask pair from OSPF into
           BGP/IDRP, the ASBR MAY advertise the route containing the set
           of reachable destinations via BGP/IDRP as soon as at least
           one of the destinations in the address/mask pair is
           determined to be reachable via OSPF; it MUST stop advertising
           the route containing the set of reachable destinations when
           none of the destinations in the address/mask pair is
           reachable via OSPF.

      4.   The network administrator MUST be able to statically
           configure the BGP/IDRP attribute MULTI_EXIT_DISC attribute to
           be used for any route.

           o    The default MUST be to omit the MULTI_EXIT_DISC in the
                route advertised via BGP/IDRP.

      5.   An implementation of BGP/IDRP and OSPF on an ASBR MUST have a
           mechanism to set up a minimum amount of time that must elapse
           between the learning of a new address/mask pair via OSPF and
           subsequent advertisement of the address/mask pair via
           BGP/IDRP to the external neighbours.

           o    The default value for this setting MUST be 0, indicating
                that the address/mask pair is to be advertised to the
                neighbour BGP/IDRP peers instantly.

                Note that BGP and IDRP mandate a mechanism to dampen the
                inbound advertisements from adjacent neighbours.  See
                the variable MinRouteAdvertisementInterval in section
                9.2.3.1, [RFC1654] or in section 7.17.3.1, [IS10747].

      6.   LOCAL_PREF is not used when exporting OSPF information into
           BGP/IDRP, as it is not applicable.

   2.2.  Importing BGP/IDRP information into OSPF

      1.   BGP/IDRP implementations SHOULD allow an AS to control
           announcements of BGP/IDRP learned set of reachable
           destinations into OSPF.  Implementations SHOULD support such
           control with the granularity of a single destination.

           Implementations SHOULD also support such control with the
           granularity of an autonomous system, where the autonomous
           system may be either the autonomous system that originated
           the information or the autonomous system that advertised the
           information to the local system (adjacent autonomous system).

           o    The default MUST be to import nothing from BGP/IDRP into
                OSPF.  Administrators must configure every destination
                they wish to import.

                A configuration parameter MAY allow an administrator to
                configure an ASBR to import all the set of reachable
                destinations from BGP/IDRP into the OSPF routing domain.

      2.   The administrator MUST be able to configure the OSPF cost and
           the OSPF metric type of every destination imported into OSPF.
           The OSPF metric type MUST default to type 2. If the
           LOCAL_PREF value is used to construct the OSPF cost, one must
           be extremely careful with such a conversion. In OSPF the
           lower cost is preferred, while in BGP/IDRP the higher value
           of the LOCAL_PREF is preferred.  In addition, the OSPF cost
           ranges between 1 and 2^24, while the LOCAL_PREF value ranges
           between 0 and 2^32.  Note that if ASBRs within a domain are
           configured to correlate BGP/IDRP and OSPF information (as
           described in Section 3), then the route selection by the
           ASBRs is determined solely by the OSPF cost, and the value
           carried by the LOCAL_PREF attribute has no impact on the
           route selection.

      3.   Information learned via BGP/IDRP from peers within the same
           AS MUST not be imported into OSPF.

      4.   The ASBR MUST never generate a default destination into the
           OSPF routing domain unless explicitly configured to do so.

           A default destination is a set of all possible destinations.
           By convention, it is represented as a prefix of 0 length or a
           mask of all zeroes.

           A possible criterion for generating default into an IGP is to
           allow the administrator to specify a set of (set of reachable
           destinations, PATH, default cost, default type) tuples.  If
           the ASBR learns of at least one of the destinations in the
           set of reachable destinations, with the corresponding PATH,
           then it generates a default destination into the OSPF routing
           domain, with the appropriate cost and type.  The lowest cost
           route will then be injected into the OSPF routing domain.

           This is the recommended method for originating default
           destinations in the OSPF routing domain.

      5.   Note that [RFC1247] requires the network number to be used as
           the Link State ID.  This will produce a conflict if the ASBR
           tries to import two destinations, differing only in their
           prefix length.  This problem is fixed in [RFC1583], which
           obsoletes [RFC1247].

           An implementation conforming to the older [RFC1247] MUST, in
           this case, drop the more specific route, i.e. the route
           corresponding to the longer prefix in the reachability
           information.

      6.   MULTI_EXIT_DISC is not used to import BGP/IDRP information
           into OSPF, as it is not applicable.

3.  BGP/IDRP Identifier and OSPF router ID

   The BGP/IDRP identifier MUST be the same as the OSPF router id at all
   times that the router is up.

   Note that [RFC1654] requires that the BGP identifier be an address
   assigned to the BGP speaker.

   In the case of IDRP, the IDRP protocol does not explicitly carry the
   identity of the IDRP speaker.  An implicit notion of the identity of
   the IDRP speaker can be obtained by examining the source address in
   the IP packets carrying the IDRP information.  Therefore, all IDRP
   speakers participating in the OSPF protocol MUST bind the IDRP
   identifier to be the address of the OSPF router id.

   This characteristic makes it convenient for the network administrator
   looking at an ASBR to correlate different BGP/IDRP and OSPF
   information based on the identifier.  There is another more important
   reason for this characteristic.

   Consider the scenario in which 3 ASBRs, RT1, RT2, and RT3, belong to
   the same autonomous system.

                                     +-----+
                                     | RT3 |
                                     +-----+
                                        |

                          Autonomous System running OSPF

                                 /               \

                             +-----+          +-----+
                             | RT1 |          | RT2 |
                             +-----+          +-----+

   Both RT1 and RT2 can reach an external destination X and import this
   information into the OSPF routing domain.  RT3 is advertising this
   information about destination X to other external BGP/IDRP speakers.
   The following rule specifies how RT3 can generate the correct
   advertisement.

   RT3 MUST determine which ASBR(s) it is using to reach destination X
   by matching the OSPF router ID for its route to destination with the
   BGP identifier of the ASBR(s), or the IP source address of the IDRP
   protocol packet from the ASBR(s).

     o    If RT3 has equal cost routes to X through RT1 and RT2, then,
          RT3 MUST merge the PATH through RT1 and RT2 into a SET.

     o    Otherwise, RT3 MAY merge the PATH through RT1 and RT2.

     It MAY then generate the corresponding network layer reachability
     information for further advertisement to external BGP/IDRP peers.

4.  Setting OSPF tags, ORIGIN and PATH attributes

   The OSPF external route tag is a "32-bit field attached to each
   external route . . . It may be used to communicate information
   between AS boundary routers; the precise nature of such information
   is outside the scope of [the] specification" [RFC1583].

   We use the external route tag field in OSPF to intelligently set the
   ORIGIN and PATH attributes in BGP/IDRP.  These attributes are well-
   known, mandatory attributes in BGP/IDRP.  The exact mechanism for
   setting the tags is defined in sections 4.2 and 4.3.  Every
   combination of tag bits is described in two parts:

     import  This describes when an ASBR imports an AS external LSA into
             the OSPF domain with the given tag setting.

     export  This indicates how the BGP/IDRP path attribues should be
             formatted when an ASBR, having a given type 1 or type 2
             OSPF external route in its routing table, decides to export
             according to the considerations in section 2.1.

     The tag is broken up into sub-fields shown below.  The various
     sub-fields specify the characteristics of the set of reachable
     destinations imported into the OSPF routing domain.

     The high bit of the OSPF tag is known as the "Automatic" bit.
     Setting this bit indicates that the tag has been generated
     automatically by an ASBR.

     When the network administrator configures the tag, this bit MUST be
     0.  This setting is the default tag setting, and is described in
     section 4.2.

     When the tag is automatically generated, this bit is set to 1.  The
     other bits are defined below:

      0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |1|c|p l|     ArbitraryTag      |       AutonomousSystem        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     c    1 bit of Completeness information, set when the ORIGIN of the
          route is either <EGP> or <IGP>.

     pl   2 bits of PathLength information;  this field is set depending
          on the length of the PATH that the protocol could have carried
          when importing the reachability information into the OSPF
          routing domain.

     ArbitraryTag
          12 bits of tag information, defaults to 0 but can be
          configured to anything else.

     AutonomousSystem (or "AS")
          16 bits, indicating the AS number corresponding to the set of
          reachable destinations, 0 if the set of reachable destinations
          is to be considered as part of the local AS.

          local_AS:     The AS number of the local OSPF routing domain.

          next_hop_AS:  The AS number of an external BGP peer.

   4.1.  Configuration parameters for setting the OSPF tag

      o    There MUST be a mechanism to enable automatic generation of
           the tag characteristic bits.

      o    Configuration of an ASBR running OSPF MUST include the
           capability to associate a tag value, for the ArbitraryTag, or
           LocalInfo sub-field of the OSPF tag, with each instance of a
           routing domain.

      o    Configuration of an ASBR running OSPF MUST include the
           capability to associate an AS number with each instance of a
           routing domain.

           Associating an AS number with an instance of an IGP is
           equivalent to flagging those set of reachable destinations
           imported from the IGP to be external destinations outside the
           local autonomous system.

   4.2.  Manually configured tags

       0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |0|                          LocalInfo                          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


      import  This tag setting corresponds to the administrator manually
              setting the OSPF tag bits.

      export  The route SHOULD be exported into BGP with the attributes
              ORIGIN=<EGP>, PATH=<local_AS>.

      Nothing MUST inferred about the characteristics of the set of
      reachable destinations corresponding to this tag setting.

      For backward compatibility with existing implementations of OSPF
      currently deployed in the field, this MUST be the default setting
      for importing destinations into the OSPF routing domain.  There
      MUST be a mechanism to enable automatic tag generation for
      imported destinations.

   4.3.  Automatically generated tags

      4.3.1. Tag = <Automatic = 1, Complete = 0, PathLength = 00>

       0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |1|0|0|0|     ArbitraryTag      |       AutonomousSystem        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


         import  These are reachable destinations imported from routing
                 protocols with incomplete path information and cannot
                 or may not carry the neighbour AS or AS path (and hence
                 the IDRP RD_PATH) as part of the routing information.

                 This setting SHOULD be used to import reachable
                 destinations from an IGP that the network administrator
                 has configured as external routes, without specifying
                 the next_hop_AS.

         export  The route SHOULD be exported into BGP/IDRP with the
                 attributes ORIGIN=<EGP>, PATH=<Local_AS>.

      4.3.2. Tag = <Automatic = 1, Complete = 0, PathLength = 01>

       0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |1|0|0|1|     ArbitraryTag      |       AutonomousSystem        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

         import  These are reachable destinations imported from routing
                 protocols with incomplete path information.  The
                 neighbour AS (and therefore IDRP RD) is carried in the
                 routing information.

                 This setting SHOULD be used for importing reachable
                 destinations from EGP into the OSPF routing domain.
                 This setting MAY also be used when importing reachable
                 destinations from BGP/IDRP whose ORIGIN=<EGP> and
                 PATH=<next_hop_AS>; if the BGP/IDRP learned route has
                 no other transitive attributes, then its propagation
                 via BGP/IDRP to ASBRs internal to the autonomous system
                 MAY be suppressed.

         export  The route SHOULD be exported into BGP/IDRP with
                 ORIGIN=<EGP> and PATH=<local_AS, next_hop_AS>.

      4.3.3. Tag = <Automatic = 1, Complete = 0, PathLength = 10>

       0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |1|0|1|0|     ArbitraryTag      |       AutonomousSystem        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

         import  These are reachable destinations imported from routing
                 protocols with truncated path information.

                 These are imported by a border router, which is running
                 BGP/IDRP to a stub domain, and not running BGP/IDRP to
                 other ASBRs in the same autonomous system.  This causes
                 a truncation of the PATH.  These destinations MUST not
                 be re-exported into BGP/IDRP at another ASBR.

         export  The route MUST never be exported into BGP/IDRP.



      4.3.4. Tag = <Automatic = 1, Complete = 1, PathLength = 00>

       0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |1|1|0|0|     ArbitraryTag      |       AutonomousSystem        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

         import  These are reachable destinations imported from routing
                 protocols with either complete path information or are
                 known to be complete through means other than that
                 carried by the routing protocol.

                 This setting SHOULD be used for importing reachable
                 destinations into OSPF from an IGP.

         export  The route SHOULD be exported to BGP/IDRP with
                 ORIGIN=<IGP>, PATH=<Local_AS>.

      4.3.5. Tag = <Automatic = 1, Complete = 1, PathLength = 01>

       0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |1|1|0|1|     ArbitraryTag      |       AutonomousSystem        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         import  These are reachable destinations imported from routing
                 protocols with either complete path information, or are
                 known to be complete through means other than that
                 carried by the routing protocol.  The routing protocol
                 also has additional information about the next hop AS
                 or RD, the destination was learned from.

                 This setting SHOULD be used when the administrator
                 explicitly associates an AS number with an instance of
                 an IGP.  This setting MAY also be used when importing
                 reachable destinations from BGP/IDRP whose ORIGIN=<IGP>
                 and PATH=<next_hop_AS>; if the BGP/IDRP learned route
                 has no other transitive attributes, then its
                 propagation via BGP/IDRP to other ASBRs internal to the
                 autonomous system MAY be suppressed.

         export  OSPF routes with this tag setting SHOULD be exported
                 with the BGP/IDRP attributes, ORIGIN=<IGP>,
                 PATH=<local_AS, next_hop_AS>.

      4.3.6. Tag = <Automatic = 1, Complete = 1, PathLength = 10>

       0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |1|1|1|0|     ArbitraryTag      |       AutonomousSystem        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

         import  These are reachable destinations imported from routing
                 protocols with complete path information and carry the
                 AS path information as part of the routing information.

                 These destinations MUST not be exported into BGP/IDRP
                 because these are destinations that are already
                 imported from BGP/IDRP into the OSPF RD.  Hence, it is
                 assumed that the BGP/IDRP speaker will convey these
                 routes to other BGP/IDRP speakers within the same
                 autonomous system via BGP/IDRP.  An ASBR learning of
                 such a destination MUST wait for the BGP update from
                 its internal neighbours before advertising it to
                 external BGP/IDRP peers.

         export  These routes MUST not be exported into BGP/IDRP.

   4.4.  Miscellaneous tag settings

       0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |1|x|1|1|              Reserved  for  future  use               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      The value of PathLength=11 is reserved during automatic tag
      generation.  Routers MUST NOT generate such a tag when importing
      reachable destinations into the OSPF routing domain.  ASBRs must
      ignore tags which indicate a PathLength=11.

5.  Setting OSPF Forwarding Address and BGP/IDRP NEXT_HOP attribute

   Forwarding addresses are used to avoid extra hops between multiple
   routers that share a common network and that speak different routing
   protocols with each other on the common network.

   Both BGP/IDRP and OSPF have equivalents of forwarding addresses.  In
   BGP and IDRP, the NEXT_HOP attribute is a well-known, mandatory
   attribute.  OSPF has a Forwarding address field.  We will discuss how
   these are to be filled in various situations.

   Consider the 4 router situation below:

   RT1 and RT2 are in one autonomous system, RT3 and RT4 are in another.
   RT1 and RT3 are talking BGP/IDRP with each other.  RT3 and RT4 are
   talking OSPF with each other.

            +-----+                 +-----+
            | RT1 |                 | RT2 |
            +-----+                 +-----+
               |                       |            common network
            ---+-----------------------+--------------------------
            <BGP/IDRP> |                       |
                    +-----+     <OSPF>      +-----+
                    | RT3 |                 | RT4 |
                    +-----+                 +-----+


     - Importing a reachable destination into OSPF:
          When importing a destination from BGP/IDRP into OSPF, RT3 MUST
          always fill the OSPF Forwarding Address with the BGP/IDRP
          NEXT_HOP attribute for the destination.

     - Exporting a reachable destination into BGP:
          When exporting set of reachable destinations internal to the
          OSPF routing domain from OSPF to BGP/IDRP, if all the
          destinations in the set of reachable destinations are through
          RT4, then RT3 MAY fill the NEXT_HOP attribute for the set of
          reachable destinations with the address of RT4.  This is to
          avoid requiring packets to take an extra hop through RT3 when
          traversing the AS boundary.  This is similar to the concept of
          indirect neighbour support in EGP [RFC888, RFC827].

6.  Changes from the BGP 3 - OSPF interactions document

     o    The use of the term "route" has attained a more complicated
          structure in BGP 4.  This document follows the constraint in
          the manner shown below:

          -    The term "set of reachable destinations" is called a NLRI
               in [RFC1654].

          -    The term "route" in the BGP context refers to a set of
               reachable destinations, and the associated attributes for
               the set.

          -    The term "route" in the OSPF context refers to the set of
               reachable destinations, and the cost and the type to
               reach destinations.  This is to keep the definitions
               consistent in the document.

     o    The notion of exchanging reachability information between BGP
          4 and OSPF has been updated to handle variable length net mask
          information.

     o    The previous term INTER_AS_METRIC in BGP 3 has now been
          changed to MULTI_EXIT_DISC.

     o    The default metric to be used for importing BGP information
          into the OSPF RD is now the LOCAL_PREF attribute, instead of a
          constant value.

     o    Section 3 which requires an ASBR to match the OSPF tag
          corresponding to a route to the BGP Identifier, can cause
          potential loops if the AS has equal cost multipath routing
          amongst the ASBRs.  This scenario is outlined in the Appendix
          below.  This is fixed in BGP4 by requiring the ASBR seeing
          equal cost multi-path routes to merge the PATHs through the
          various ASBRs into appropriate SETs.

     o    BGP 4 requires that the BGP identifier be an address assigned
          to the BGP speaker.  This is dealt with in section 3.

     o    Section 5 on setting NEXT_HOP attributes and Forwarding
          Address field has been updated to account for variable length
          net information.

     o    This section, 6, has been added.

7.  Security Considerations

   Security issues are not discussed in this memo.

8.  Acknowledgements

   We would like to thank Jeff Honig (Cornell University), John Moy
   (Cascade Communications Corp.), Tony Li (cisco Systems), Rob Coltun
   (Consultant), Dennis Ferguson (ANS, Inc.), Phil Almquist
   (Consultant), Scott Bradner (Harvard University), and Joel Halpern
   (Newbridge Networks Inc.) for their help and suggestions in writing
   this document.  Cengiz Aleattinoglu (USC/ISI) and Steve Hotz
   (USC/ISI) provided fresh insights into the packet looping problem
   described in the appendix.

   We would also like to thank the countless number of people from the
   OSPF and BGP working groups who have offered numerous suggestions and
   comments on the different stages of this document.

   Thanks also to Bob Braden (ISI), whose suggestions on the earlier
   BGP-OSPF document, [RFC1403] were useful even for this one, and have
   been carried through.

   We would also like to thank OARnet, where one of the authors did most
   of his work on this document, before moving to USC to resurrect his
   PhD.

9.  Bibliography

   [RFC827]  Rosen, E., "Exterior Gateway Protocol (EGP)", RFC 827,
             BBN, October 1982.

   [RFC888]  Seamonson, L., and E. Rosen, "`STUB' Exterior Gateway
             Protocol", RFC 888, BBN, January 1984.

   [RFC1058] Hedrick, C, "Routing Information Protocol", RFC 1058,
             Rutgers University, June 1988.

   [RFC1122] Braden, R., Editor, "Requirements for Internet Hosts -
             Communication Layers", STD 3, RFC 1122, USC/Information
             Sciences Institute, October 1989.

   [RFC1123] Braden, R., Editor, "Requirements for Internet Hosts -
             Application and Support", STD 3, RFC 1123,
             USC/Information Sciences Institute, October 1989.

   [RFC1247] Moy, J., "The OSPF Specification Version 2", RFC 1247,
             Proteon, January 1991.

   [RFC1403] Varadhan, K., "BGP OSPF Interaction", RFC 1403,
             OARnet, January 1993.

   [RFC1519] Fuller, V., Li, T., Yu, J., and K. Varadhan, "Supernetting:
             an Address Assignment and Aggregation Strategy", RFC 1519,
             BARRNet, cisco, Merit, OARnet, September 1993.

   [RFC1583] Moy, J., "The OSPF Specification Version 2", RFC 1583,
             (Obsoletes [RFC1247]), Proteon, March 1994.

   [RFC1654] Rekhter, Y., and T. Li, Editors, "A Border Gateway
             Protocol 4 (BGP-4)", RFC 1654, T.J. Watson Research Center,
             IBM Corp., cisco Systems, July 1994.

   [ROUTE-LEAKING] Almquist, P., "Ruminations on Route Leaking",
                   Work in Progress.

   [NEXT-HOP] Almquist, P., "Ruminations on the Next Hop,
              Work in Progress.

   [IDRP] Hares, S., "IDRP for IP", Work in Progress.

   [IS10747] ISO/IEC IS 10747 - Information Processing Systems -
             Telecommunications and Information Exchange between
             Systems - Protocol for Exchange of Inter-domain Routeing
             Information among Intermediate Systems to Support
             Forwarding of ISO 8473 PDUs, 1993.

10.  Appendix

   This is an example of how the two routing protocols, BGP/IDRP and
   OSPF, might both be consistent in their behaviour, and yet packets
   from a source domain, S, to a destination in domain X might be stuck
   in a forwarding loop.

                                       +--------+
                           X ----------| C1     |
                           |           |Domain C|
                           |           | C3  C2 |
                           |           +--------+
                           B             /   \
                            \           /     \
                             \         /      S
                              \       /      /
                               \     /      /
                             +--------+    /
                             | A1  A2 |   /
                             |Domain A|  /
                             |     A3 |-/
                             +--------+

   Given the domains, X, A, B, C and S, let domains A and C be running
   OSPF, and ASBRs A3 and C3 have equal cost multipath routes to A1, A2
   and C1, C2 respectively.  The picture above shows the internal
   structure of domains A and C only.

   During steady state, the following are the route advertisements:

     o    Domain B advertises to A path <B,X>

     o    ASBR A3 in domain A advertises path <A,B,X> to domain C, at
          ASBR C2.

     o    Domain C has two equal cost paths to X: one direct <C,X>, and
          another through A <C,A,B,X>

     o    BR C3 in domain C advertises to A2 path <C,X>

     o    Domain A has two equal cost paths to X: <A,C,X> and <A,B,X>

   Both C1 and C2 inject a route to X within the domain C, and likewise
   A1 and A2 inject a route to X within the domain A.  Since A3 and C3
   see equal cost routes to X through A1, A2 and C1, C2 respectively, a
   stable loop through ASBRs <A3, A2, C3, C2, A3> exists.

   Section 4 specifies that A3 and C3 that advertise a PATH to
   destination X, MUST aggregate all the PATHs through A1 and A2, and C1
   and C2 respectively.  This has the consequence of constraining the
   BGP/IDRP speaker in either domain A or domain C from choosing
   multiple routes to destination X, and importing only one route into
   OSPF.  This breaks the multiple paths seen in one domain.  The exact
   domain in which the multiple paths are broken is nondeterministic.

11.  Authors' Present Addresses

   Kannan Varadhan
   USC/Information Sciences Institute
   4676 Admiralty Way
   Marina Del Rey, CA 90292-6695

   Phone: +1 310 822 1511 x 402
   EMail: kannan@isi.edu


   Susan Hares
   Merit, Inc.
   1071 Beal Avenue,
   Ann Arbor, MI 48109

   Phone: +1 313 936 2095
   EMail: skh@merit.edu


   Yakov Rekhter
   T.J. Watson Research Center, IBM Corporation
   P.O. Box 704,
   Yorktown Heights, NY 10598.

   Phone: +1 914 784 7361
   EMail: yakov@watson.ibm.com

ISO Plain Language

On this page
PROBLEMA router at the edge of an autonomous system speaks an exterior protocol, BGP4 or IDRP, to other networks and an interior protocol, OSPF, to its own. The two protocols describe routes differently, so something has to say how one set of fields becomes the other.
MECHANISMThe memo defines the mapping in both directions, using the 32-bit OSPF external route tag to carry the information needed to set the BGP ORIGIN and PATH attributes. It also requires the BGP identifier to be the same as the OSPF router ID, so a border router can work out which of its neighbours a route came through.
STATUS TODAYRFC 1745 is Historic and the RFC Editor recommends it for no further use. It was a standards track specification, and it also documents a forwarding loop that two protocols can both behave correctly into, and which the rule about merging equal cost paths into a set is there to prevent.

§1What This Document Decides

The memo defines the criteria to be used when designing an Autonomous System Border Router, an ASBR, that runs BGP4 or IDRP for IP with other ASBRs outside the autonomous system and OSPF as its interior gateway protocol. IDRP came out of the same work as BGP and may be considered a follow-on to BGP-3 and BGP-4, so most fields defined in the interaction between them are named the same; where they differ, the IDRP fields are shown separately. The IDRP RD_PATH and RD_SET fields serve the same purpose as the BGP AS_PATH and AS_SET fields, and this document uses the terms PATH and SET for whichever is in play.

The fields that correspond are the BGP and IDRP MULTI_EXIT_DISC, the BGP ORIGIN and AS_PATH or AS_SET against the OSPF tag, the IDRP EXT_INFO and RD_PATH or RD_SET, the BGP and IDRP NEXT_HOP against the OSPF Forwarding Address, and the BGP and IDRP LOCAL_PREF against the OSPF cost and type.

Two terms are defined at the start. An Autonomous System is used in the sense of the BGP RFC: even when several interior protocols and metrics are used, the administration of an AS appears to other ASs to have a single coherent interior routing plan, and from the standpoint of exterior routing an AS can be viewed as monolithic. A Routing Domain is a collection of routers which coordinate their routing knowledge using a single instance of a routing protocol. By definition a Routing Domain forms a single Autonomous System, but an Autonomous System may be composed of a collection of Routing Domains.

The document follows the conventions of the Host Requirements RFCs for the words MUST, SHOULD and MAY, and sets out a minimal implementation: it must not advertise a route containing a set of reachable destinations when none of the destinations in the address and mask pair is reachable via OSPF, it must merge the PATH into a SET when multiple exit points exist within the same autonomous system for the same external destination, and it must set the OSPF tag accurately. That subset is chosen so as to cause minimal havoc to the Internet at large, and it is strongly recommended that implementors do more than the minimum.

The document also lists what changed from the earlier BGP and OSPF interaction document. The use of the word route has a more complicated structure in BGP4, reachability exchange is updated to handle variable length net mask information, the previous BGP3 term INTER_AS_METRIC has become MULTI_EXIT_DISC, the default metric for importing BGP information into the OSPF Routing Domain is now the LOCAL_PREF attribute instead of a constant value, and BGP4 requires the ASBR to merge the paths through equal cost multipath neighbours into sets.

A border router runs two routing protocols at once, so the routes it learns on one side have to be described in the words of the other side. This document fixes that correspondence, defines two terms the rest of the text depends on, and states the smallest set of rules an implementation must follow to avoid breaking the wider network.

§2Exporting OSPF Routes and Importing BGP Routes

Exporting OSPF information into BGP or IDRP has several requirements. The administrator must be able to selectively export address and mask pairs, with a filter mechanism that works at the granularity of a single pair, and the administrator must be able to filter on the OSPF tag and its sub-fields. That filter is the primary method of aggregating OSPF internal and type 1 and type 2 external routes into BGP or IDRP. The default must be to export no routes at all, with a single configuration parameter allowed to export all OSPF inter-area and intra-area pairs, and OSPF external pairs of type 1 and type 2 must never be exported unless they are explicitly configured. A pair with a non-contiguous mask must not be exported. When a pair is exported, the router may advertise it as soon as at least one of its destinations is reachable via OSPF, and must stop advertising it when none of them is. The administrator must be able to set the MULTI_EXIT_DISC attribute statically for any route, with a default of omitting it, and there must be a mechanism for a minimum delay between learning a pair via OSPF and advertising it to external neighbours, whose default value is 0. LOCAL_PREF is not used when exporting, as it is not applicable.

Importing BGP or IDRP information into OSPF has its own requirements. Implementations should let an AS control which announcements are imported, at the granularity of a single destination and also of an autonomous system, whether the originating or the adjacent one. The default must be to import nothing, with administrators configuring every destination they want. The administrator must be able to configure the OSPF cost and metric type of every imported destination, and the metric type must default to type 2. If the LOCAL_PREF value is used to construct the OSPF cost, one must be extremely careful, because in OSPF the lower cost is preferred while in BGP and IDRP the higher LOCAL_PREF is preferred, and because the OSPF cost ranges between 1 and 2^24 while LOCAL_PREF ranges between 0 and 2^32. Information learned from peers within the same AS must not be imported into OSPF, and the ASBR must never generate a default destination into the OSPF routing domain unless explicitly configured to do so. The recommended way to originate a default destination is to let the administrator specify a set of tuples of reachable destinations, PATH, default cost and default type, and generate the default when the router learns of at least one of those destinations with the corresponding PATH. MULTI_EXIT_DISC is not used when importing, as it is not applicable.

Nothing moves between the two protocols unless an administrator asks for it: the default is to export nothing and to import nothing, and both directions are filtered. The rules also fix which attributes survive the trip. The exterior cost and preference attributes do not carry over in either direction, and when the local preference is used to build the interior cost, the two scales and their opposite preferences have to be handled with care.

WHAT THE TWO DIRECTIONS OF THE EXCHANGE REQUIRE
RuleExport: OSPF into BGP/IDRPImport: BGP/IDRP into OSPF
DefaultExport no routes; one parameter can enable exporting all inter-area and intra-area pairsImport nothing; every destination must be configured
AddressingA pair with a non-contiguous mask must not be exportedThe cost and metric type must be configurable; the metric type defaults to type 2
MULTI_EXIT_DISCMust be settable statically; the default is to omit itNot used, as it is not applicable
LOCAL_PREFNot used when exporting, as it is not applicableMay be used to build the OSPF cost, but OSPF cost runs from 1 to 2^24 and LOCAL_PREF from 0 to 2^32, and lower is preferred in OSPF while higher is preferred in BGP

§3The BGP Identifier and the OSPF Router ID

The BGP or IDRP identifier must be the same as the OSPF router ID at all times that the router is up. BGP4 requires that the BGP identifier be an address assigned to the BGP speaker. IDRP does not explicitly carry the identity of its speaker, but an implicit notion of it can be obtained by examining the source address in the IP packets carrying the IDRP information, so all IDRP speakers taking part in OSPF must bind the IDRP identifier to the address of the OSPF router ID. This makes it convenient for an administrator looking at a border router to correlate BGP and OSPF information based on the identifier.

The more important reason is the following scenario. Three border routers, RT1, RT2 and RT3, belong to the same autonomous system, which runs OSPF. Both RT1 and RT2 can reach an external destination X and import that information into the OSPF routing domain, and RT3 is advertising this information about X to other external BGP or IDRP speakers. RT3 must determine which border routers it is using to reach X by matching the OSPF router ID for its route to the destination with the BGP identifier of those routers, or the IP source address of the IDRP protocol packet from them. If RT3 has equal cost routes to X through RT1 and RT2, it must merge the PATH through RT1 and RT2 into a SET. Otherwise it may merge them. It may then generate the corresponding network layer reachability information for further advertisement to external peers.

The appendix works through an example of what happens when this rule is not applied. Given the domains X, A, B, C and S, with A and C running OSPF and the border routers A3 and C3 having equal cost multipath routes to A1 and A2 and to C1 and C2 respectively, domain B advertises to A the path B,X; ASBR A3 in domain A advertises the path A,B,X to domain C at ASBR C2; domain C then has two equal cost paths to X, one direct C,X and another through A, C,A,B,X; BR C3 in domain C advertises to A2 the path C,X; and domain A has two equal cost paths to X, A,C,X and A,B,X. Since A3 and C3 see equal cost routes to X through A1, A2 and C1, C2, a stable loop through the border routers A3, A2, C3, C2, A3 exists. Requiring the paths to be aggregated into sets constrains the BGP or IDRP speaker in either domain from choosing multiple routes to X and importing only one into OSPF, which breaks the multiple paths seen in one domain, and the exact domain in which they are broken is nondeterministic.

The border router must use the same identifier for both protocols, so that an administrator can line up the two views of the same router and so that one border router can recognise which neighbour a route arrived from. That last part matters when two neighbours offer the same route at the same cost: the paths through them have to be merged into a set, otherwise, as the appendix shows, the two networks can each advertise a route through the other and packets can loop between them for ever.

§4The OSPF Tag as a Carrier for ORIGIN and PATH

The OSPF external route tag is a 32-bit field attached to each external route, which may be used to communicate information between AS boundary routers, with the precise nature of that information outside the scope of the OSPF specification. This document uses that field to set the ORIGIN and PATH attributes in BGP and IDRP, which are well-known mandatory attributes there. Every combination of tag bits is described in two parts: import, which says when an ASBR imports an AS external link state advertisement into the OSPF domain with that tag setting, and export, which says how the path attributes should be formatted when the ASBR exports a type 1 or type 2 OSPF external route.

The high bit of the tag is the Automatic bit. Setting it indicates that the tag was generated automatically by an ASBR; when the network administrator configures the tag it must be 0, which is the default setting. The remaining bits of an automatically generated tag are a Completeness bit, set when the ORIGIN of the route is either EGP or IGP, two bits of PathLength information, twelve bits of ArbitraryTag information that default to 0 but can be configured to anything else, and sixteen bits of AutonomousSystem number, zero if the reachable destinations are to be considered part of the local AS. A manually configured tag has the Automatic bit at zero and a 31-bit LocalInfo field, and is the default setting for importing destinations for backward compatibility with deployed implementations of OSPF; nothing must be inferred about the characteristics of the reachable destinations corresponding to it, and the route should be exported with ORIGIN set to EGP and PATH set to the local AS.

The six automatic settings are then spelled out. With Complete 0 and PathLength 00, the destinations come from routing protocols with incomplete path information that cannot carry the neighbour AS or AS path; they should be exported with ORIGIN set to EGP and PATH set to the local AS. With Complete 0 and PathLength 01, the neighbour AS is carried in the routing information, and the route should be exported with ORIGIN set to EGP and PATH set to the local AS and the next hop AS. With Complete 0 and PathLength 10, the path information is truncated, and the route must never be exported into BGP or IDRP. With Complete 1 and PathLength 00, the path information is complete, and the route should be exported with ORIGIN set to IGP and PATH set to the local AS. With Complete 1 and PathLength 01, the path information is complete and the next hop AS is known, and the route should be exported with ORIGIN set to IGP and PATH set to the local AS and the next hop AS. With Complete 1 and PathLength 10, the path information is complete and carries the AS path, and the route must not be exported into BGP or IDRP, because these destinations were already imported from BGP or IDRP into the OSPF domain and the assumption is that the BGP speaker will convey them to other BGP speakers inside the autonomous system; an ASBR learning such a destination must wait for the BGP update from its internal neighbours before advertising it to external peers. The value PathLength 11 is reserved during automatic tag generation; routers must not generate it and ASBRs must ignore tags that indicate it.

The 32-bit tag that OSPF already attaches to an external route is used to remember where that route came from, so that the right ORIGIN and PATH can be produced when the route is advertised outside. The top bit says whether the tag was generated by the router or typed in by an administrator. The next bit says whether the path information is complete, and two bits say how much of it survived. Two of the six automatic settings forbid exporting the route outside altogether, because the path it describes was truncated or because it came from BGP in the first place.

THE OSPF EXTERNAL ROUTE TAG, 32 BITS
Automatically generated OSPF tag
FieldNameSizeValueDescription
AUTOMATICAutomatic1 bitsSet when the tag was generated by an ASBR rather than typed in.
COMPLETEComplete1 bitsSet when the ORIGIN of the route is either EGP or IGP.
PATH-LENGTHPath Length2 bitsPath length information; 11 is reserved and must not be generated.
ARBITRARY-TAGArbitrary Tag12 bitsTag information. Defaults to 0 but can be configured to anything else.
AUTONOMOUS-SYSTEMAutonomous System2 bytesAS number of the reachable destinations, 0 for the local AS.
THE SIX AUTOMATIC TAG SETTINGS AND WHAT THEY EXPORT
  • 1 0 0 0Complete 0, PathLength 00 — Export with ORIGIN set to EGP, PATH set to the local AS.
  • 1 0 0 1Complete 0, PathLength 01 — Neighbour AS known. Export with ORIGIN set to EGP, PATH set to the local AS and the next hop AS.
  • 1 0 1 0Complete 0, PathLength 10 — Path truncated. Must never be exported into BGP/IDRP.
  • 1 1 0 0Complete 1, PathLength 00 — Export with ORIGIN set to IGP, PATH set to the local AS.
  • 1 1 0 1Complete 1, PathLength 01 — Export with ORIGIN set to IGP, PATH set to the local AS and the next hop AS.
  • 1 1 1 0Complete 1, PathLength 10 — Already imported from BGP/IDRP. Must not be exported into BGP/IDRP.
  • 1 x 1 1PathLength 11 — Reserved. Must not be generated, and must be ignored on receipt.

§5The Forwarding Address and the NEXT_HOP Attribute

Forwarding addresses are used to avoid extra hops between multiple routers that share a common network and that speak different routing protocols with each other on that network. Both BGP and IDRP and OSPF have equivalents: in BGP and IDRP the NEXT_HOP attribute is a well-known mandatory attribute, and OSPF has a Forwarding address field.

The example given has four routers. RT1 and RT2 are in one autonomous system and RT3 and RT4 in another. RT1 and RT3 speak BGP or IDRP with each other, and RT3 and RT4 speak OSPF with each other, over a common network. When importing a reachable destination from BGP or IDRP into OSPF, RT3 must always fill the OSPF Forwarding Address with the BGP or IDRP NEXT_HOP attribute for that destination. When exporting a set of reachable destinations internal to the OSPF routing domain from OSPF to BGP or IDRP, if all the destinations in the set are reachable through RT4, then RT3 may fill the NEXT_HOP attribute with the address of RT4, to avoid requiring packets to take an extra hop through RT3 when crossing the AS boundary. This is similar to the concept of indirect neighbour support in EGP.

When a route crosses the border, the address of the router that should forward it is written into the receiving protocol. Coming in, the border router copies the exterior next hop into the interior forwarding address. Going out, it may name the interior router that holds the route, so that traffic does not have to pass back through the border router.

§7Security Considerations

The memo has a Security Considerations section, and its entire content is one sentence: security issues are not discussed in this memo.

Nothing in the document describes authentication, access control or confidentiality for the route exchanges it defines, and the rules it gives are about the shape of the routing information rather than who is allowed to send it.

The memo does not discuss security. Its Security Considerations section says only that security issues are not discussed, so nothing in it should be read as a claim that the exchanges are protected.

§7References