Subject: Re: forwarding address

From: Barbara Hill <[email-masked]>
Date: Wed, 4 Feb 2004 11:11:13 -0500

Mike wrote :
>I thought the point of the forwarding
>address was to advertise a default route on behalf of a router who can't
>advertise it himself.

   The point of a default route is to advertise the most appropriate next-hop
for the external destination advertised in the as-external-lsa. Thus, a
forwarding route could specify a default route (0.0.0.0), if you wish to
advertise the router itself as the best next hop for that as-external
destination to the
domain. However, if you wish to specify a specific route to an external
destination, it would advertise the best hop to reach that destination. Such a
situation is discussed in detail in RFC 2328, sections 2.3 and 12.4.4.1.
Additional information, concerning the use of as-external-lsas and the use of
default routes vs specific forwarding addresses, can be found in section 16.4
and Appendix A.4.5  I have included these excerpts for your reference.

2.3
This section has assumed that packets destined for external
        destinations are always routed through the advertising AS
        boundary router.  This is not always desirable.  For example,
        suppose in Figure 2 there is an additional router attached to
        Network N6, called Router RTX.  Suppose further that RTX does
        not participate in OSPF routing, but does exchange BGP
        information with the AS boundary router RT7.  Then, Router RT7
        would end up advertising OSPF external routes for all
        destinations that should be routed to RTX.  An extra hop will
        sometimes be introduced if packets for these destinations need
        always be routed first to Router RT7 (the advertising router).

        To deal with this situation, the OSPF protocol allows an AS
        boundary router to specify a "forwarding address" in its AS-
        external-LSAs.  In the above example, Router RT7 would specify
        RTX's IP address as the "forwarding address" for all those
        destinations whose packets should be routed directly to RTX.

        The "forwarding address" has one other application.  It enables
        routers in the Autonomous System's interior to function as
        "route servers".  For example, in Figure 2 the router RT6 could
        become a route server, gaining external routing information
        through a combination of static configuration and external
        routing protocols.  RT6 would then start advertising itself as
        an AS boundary router, and would originate a collection of OSPF
        AS-external-LSAs.  In each AS-external-LSA, Router RT6 would
        specify the correct Autonomous System exit point to use for the
        destination through appropriate setting of the LSA's "forwarding
        address" field.

+
                 | 3+---+                     N12      N14
               N1|--|RT1|\ 1                    \ N13 /
                 |  +---+ \                     8\ |8/8
                 +         \ ____                 \|/
                            /    \   1+---+8    8+---+6
                           *  N3  *---|RT4|------|RT5|--------+
                            \____/    +---+      +---+        |
                  +         /   |                  |7         |
                  | 3+---+ /    |                  |          |
                N2|--|RT2|/1    |1                 |6         |
                  |  +---+    +---+8            6+---+        |
                  +           |RT3|--------------|RT6|        |
                              +---+              +---+        |
                                |2               Ia|7         |
                                |                  |          |
                           +---------+             |          |
                               N4                  |          |
                                                   |          |
                                                   |          |
                       N11                         |          |
                   +---------+                     |          |
                        |                          |          |    N12
                        |3                         |          |6 2/
                      +---+                        |        +---+/
                      |RT9|                        |        |RT7|---N15
                      +---+                        |        +---+ 9
                        |1                   +     |          |1
                       _|__                  |   Ib|5       __|_
                      /    \      1+----+2   |  3+----+1   /    \
                     *  N9  *------|RT11|----|---|RT10|---*  N6  *
                      \____/       +----+    |   +----+    \____/
                        |                    |                |
                        |1                   +                |1
             +--+   10+----+                N8              +---+
             |H1|-----|RT12|                                |RT8|
             +--+SLIP +----+                                +---+
                        |2                                    |4
                        |                                     |
                   +---------+                            +--------+
                       N10                                    N7

Figure 2: A sample Autonomous System

12.4.4.1.  Examples of AS-external-LSAs

                Consider once again the AS pictured in Figure 6.  There
                are two AS boundary routers: RT5 and RT7.  Router RT5
                originates three AS-external-LSAs, for networks N12-N14.
                Router RT7 originates two AS-external-LSAs, for networks
                N12 and N15.  Assume that RT7 has learned its route to
                N12 via BGP, and that it wishes to advertise a Type 2
                metric to the AS.  RT7 would then originate the
                following LSA for N12:

        ; AS-external-LSA for Network N12,
        ; originated by Router RT7

        LS age = 0                  ;always true on origination
        Options = (E-bit)           ;
        LS type = 5                 ;AS-external-LSA
        Link State ID = N12's IP network number
        Advertising Router = Router RT7's ID
        bit E = 1                   ;Type 2 metric
        metric = 2
        Forwarding address = 0.0.0.0

In the above example, the forwarding address field
                    has been set to 0.0.0.0, indicating that packets for
                    the external destination should be forwarded to the
                    advertising OSPF router (RT7).  This is not always
                    desirable.  Consider the example pictured in Figure
                    16.  There are three OSPF routers (RTA, RTB and RTC)
                    connected to a common network.  Only one of these
                    routers, RTA, is exchanging BGP information with the
                    non-OSPF router RTX.  RTA must then originate AS-
                    external-LSAs for those destinations it has learned
                    from RTX.  By using the AS-external-LSA's forwarding
                    address field, RTA can specify that packets for
                    these destinations be forwarded directly to RTX.
                    Without this feature, Routers RTB and RTC would take
                    an extra hop to get to these destinations.

                    Note that when the forwarding address field is non-
                    zero, it should point to a router belonging to
                    another Autonomous System.

                    A forwarding address can also be specified for the
                    default route.  For example, in figure 16 RTA may
                    want to specify that all externally-destined packets
                    should by default be forwarded to its BGP peer RTX.
                    The resulting AS-external-LSA is pictured below.
                    Note that the Link State ID is set to
                    DefaultDestination.

        ; Default route, originated by Router RTA
        ; Packets forwarded through RTX

        LS age = 0                  ;always true on origination
        Options = (E-bit)           ;
        LS type = 5                 ;AS-external-LSA
        Link State ID = DefaultDestination  ; default route
        Advertising Router = Router RTA's ID
        bit E = 1                   ;Type 2 metric
        metric = 1
        Forwarding address = RTX's IP address

16.4

AS external routes are calculated by examining AS-external-LSAs.
        Each of the AS-external-LSAs is considered in turn.  Most AS-
        external-LSAs describe routes to specific IP destinations.  An
        AS-external-LSA can also describe a default route for the
        Autonomous System (Destination ID = DefaultDestination,
        network/subnet mask = 0x00000000).  For each AS-external-LSA:
(3) Call the destination described by the LSA N.  N's address is
            obtained by masking the LSA's Link State ID with the
            network/subnet mask contained in the body of the LSA.  Look
            up the routing table entries (potentially one per attached
            area) for the AS boundary router (ASBR) that originated the
            LSA. If no entries exist for router ASBR (i.e., ASBR is
            unreachable), do nothing with this LSA and consider the next
            in the list.

            Else, this LSA describes an AS external path to destination
            N.  Examine the forwarding address specified in the AS-
            external-LSA.  This indicates the IP address to which
            packets for the destination should be forwarded.

            If the forwarding address is set to 0.0.0.0, packets should
            be sent to the ASBR itself. Among the multiple routing table
            entries for the ASBR, select the preferred entry as follows.
            If RFC1583Compatibility is set to "disabled", prune the set
            of routing table entries for the ASBR as described in
            Section 16.4.1. In any case, among the remaining routing
            table entries, select the routing table entry with the least
            cost; when there are multiple least cost routing table
            entries the entry whose associated area has the largest OSPF
            Area ID (when considered as an unsigned 32-bit integer) is
            chosen.
If the forwarding address is non-zero, look up the
            forwarding address in the routing table.[24] The matching
            routing table entry must specify an intra-area or inter-area
            path; if no such path exists, do nothing with the LSA and
            consider the next in the list.

A.4.5
AS-external-LSAs usually describe a particular external destination.
    For these LSAs the Link State ID field specifies an IP network
    number (if necessary, the Link State ID can also have one or more of
    the network's "host" bits set; see Appendix E for details).  AS-
    external-LSAs are also used to describe a default route.  Default
    routes are used when no specific route exists to the destination.
Forwarding address
        Data traffic for the advertised destination will be forwarded to
        this address.  If the Forwarding address is set to 0.0.0.0, data
        traffic will be forwarded instead to the LSA's originator (i.e.,
        the responsible AS boundary router).

-Barbara Hill

InterOperability Lab at UNH
Durham, NH

Acee wrote:

> If the ASBR's next-hop router has an interface on a multi-access network
> that is part of the OSPF routing domain. Refer to the discussion of
"forwarding
> address" in section 2.3 or RFC 2328.

I've asked this same question on this list and got this same answer.  I
still don't like it though, because I thought the point of the forwarding
address was to advertise a default route on behalf of a router who can't
advertise it himself.  If the default router has an interface that's part
of the OSPF domain, then he can advertise himself as default router and no
forwarding address is needed, IMO.   However the response to my objection
is that if the forwarding address is an external address, there's no
guarantee that other OSPF routers can reach it.  Kind of a catch-22: the
only time it's really needed is the time you can't be sure it can be
reached.

Mike
-----------------------------------------------------------------------
Enterprise Network Solutions
-----------------------------------------------------------------------
Research Triangle Park, NC  USA/

---

From: Manish Gupta <[email-masked]>
Date: Thu, 5 Feb 2004 18:55:47 +0530

Hi,

 ospfv3IfRtrDeadInterval OBJECT-TYPE
            SYNTAX          Unsigned32
            UNITS           "seconds"
            MAX-ACCESS      read-create
            STATUS          current
            DESCRIPTION
                "The number of seconds that  a  router's  Hello
                packets  have  not been seen before it's neigh-
                bors declare the router down.  This  should  be
                some  multiple  of  the  Hello  interval.  This
                value must be the same for all routers attached
                to a common network."
            DEFVAL          { 40 }
            ::= { ospfv3IfEntry 9 }

I think this DeadInterval value can not be Unsigned32 since ospfv3 hello
packet have only two bytes for RouterDeadInterval. range should be defined
for
DeadInterval like HelloRange for HelloInterval.

regards
Manish Gupta

***************************************************************************
This message is proprietary to Future Software Limited (FSL)
and is intended solely for the use of the individual to whom it
is addressed. It may contain  privileged or confidential information
and should not be circulated or used for any purpose other than for
what it is intended.

If you have received this message in error, please notify the
originator immediately. If you are not the intended recipient,
you are notified that you are strictly prohibited from using,
copying, altering, or disclosing the contents of this message.
FSL accepts no responsibility for loss or damage arising from
the use of the information transmitted by this email including
damage from virus.
***************************************************************************