draft-ietf-ospf-ppp-flood-00.txt   draft-ietf-ospf-ppp-flood-01.txt 
Network Working Group J. Moy Network Working Group J. Moy
Internet Draft Sycamore Networks, Inc. Internet Draft Sycamore Networks, Inc.
Expiration Date: May 2001 November 2000 Expiration Date: August 2001 February 2001
File name: draft-ietf-ospf-ppp-flood-00.txt File name: draft-ietf-ospf-ppp-flood-01.txt
Flooding over parallel point-to-point links Flooding over parallel point-to-point links
draft-ietf-ospf-ppp-flood-00.txt draft-ietf-ospf-ppp-flood-01.txt
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 2, line 11 skipping to change at page 2, line 11
parallel links. This can be done in a backward-compatible fashion, parallel links. This can be done in a backward-compatible fashion,
without requiring negotiation between neighboring routers, as without requiring negotiation between neighboring routers, as
described in this memo. described in this memo.
Table of Contents Table of Contents
1 Overview ............................................... 2 1 Overview ............................................... 2
2 Implementation ......................................... 3 2 Implementation ......................................... 3
2.1 Whether to become adjacent ............................. 3 2.1 Whether to become adjacent ............................. 3
2.2 Lost adjacencies ....................................... 4 2.2 Lost adjacencies ....................................... 4
2.3 Next hop calculation ................................... 4 2.3 Originating router-LSAs ................................ 4
2.4 MTU check .............................................. 4 2.4 Next hop calculation ................................... 5
2.5 MTU check .............................................. 5
3 Backward compatibility ................................. 5 3 Backward compatibility ................................. 5
4 Example ................................................ 5 4 Example ................................................ 6
5 Notes .................................................. 5 5 Notes .................................................. 6
References ............................................. 6 References ............................................. 7
Security Considerations ................................ 7 Security Considerations ................................ 7
Authors' Addresses ..................................... 7 Authors' Addresses ..................................... 8
1. Overview 1. Overview
When multiple "equivalent" links connect a pair of OSPF routers, When multiple "equivalent" links connect a pair of OSPF routers,
database synchronization (both initial via the Database Exchange database synchronization (both initial via the Database Exchange
process and ongoing via flooding, also called adjacency formation process and ongoing via flooding, also called adjacency formation
and maintenance) need only be performed over one of the links. The and maintenance) need only be performed over one of the links. The
key reason for this is that remote routers only care that at least key reason for this is that remote routers only care that at least
one link is advertised in the two routers' router-LSAs; one link is advertised in the two routers' router-LSAs;
advertisement of additional links is redundant. advertisement of additional links is redundant.
skipping to change at page 2, line 41 skipping to change at page 2, line 42
are equivalent if they (a) are all point-to-point links, (b) all are equivalent if they (a) are all point-to-point links, (b) all
connect the same pair of OSPF routers, and (c) all belong to the connect the same pair of OSPF routers, and (c) all belong to the
same OSPF area. same OSPF area.
The organization of this memo is as follows. Section 2 describes the The organization of this memo is as follows. Section 2 describes the
implementation in detail. In a nutshell, the changes required to implementation in detail. In a nutshell, the changes required to
implement the reduction in adjacencies are: (Section 2.1) The router implement the reduction in adjacencies are: (Section 2.1) The router
with the higher OSPF router ID chooses which of the equivalent links with the higher OSPF router ID chooses which of the equivalent links
to form adjacencies over; the remaining equivalent links stay in to form adjacencies over; the remaining equivalent links stay in
state 2-Way. (Section 2.2) When an existing adjacency is lost, the state 2-Way. (Section 2.2) When an existing adjacency is lost, the
router with the higher Router ID froms an adjacency over one of the router with the higher Router ID forms an adjacency over one of the
other equivalent links. (Section 2.3) The routing calculation in the other equivalent links. (Section 2.3) Router-LSAs advertise at most
routers at either end of t he equivalent links is modified to one Type 1 router link (point-to-point connection to another router)
include the 2-Way links as next hops. (Section 2.4) The MTU check is for the entire collection of equivalent links, with the advertised
performed as part of Hello processing, since it is now required on cost equal to the smallest cost of any of the 2-Way links. (Section
2-Way links as well as adjacencies. 2.4) The routing calculation in the routers at either end of the
equivalent links is modified to include the least cost 2-Way links
as next hops. (Section 2.5) The MTU check is performed as part of
Hello processing, since it is now required on 2-Way links as well as
adjacencies.
Section 3 addresses backward compatibility with implementations of Section 3 addresses backward compatibility with implementations of
the OSPF specification [Ref1]. A simple example of the adjacency the OSPF specification [Ref1]. A simple example of the adjacency
reduction is given in Section 4. Additional information concerning reduction is given in Section 4. Additional information concerning
the adjacency reduction, including anomalies and possible the adjacency reduction, including anomalies and possible
enhancements, are provided in Section 5. enhancements, are provided in Section 5.
2. Implementation 2. Implementation
This section discusses the implementation of the adjacency reduction This section discusses the implementation of the adjacency reduction
skipping to change at page 4, line 25 skipping to change at page 4, line 32
follows. If a neighbor in state ExStart or greater transitions follows. If a neighbor in state ExStart or greater transitions
to a state of 2-Way or lower, and (a) the router has a larger to a state of 2-Way or lower, and (a) the router has a larger
OSPF Router ID than the neighbor, (b) the link associated with OSPF Router ID than the neighbor, (b) the link associated with
the failed adjacency is one of a collection of equivalent links, the failed adjacency is one of a collection of equivalent links,
and (c) none of the other equivalent links are in state ExStart and (c) none of the other equivalent links are in state ExStart
or greater, then the router must start forming an adjacency on or greater, then the router must start forming an adjacency on
one of the equivalent 2-Way links (if any) by transitioning that one of the equivalent 2-Way links (if any) by transitioning that
link's neighbor's state to ExStart, which starts the Database link's neighbor's state to ExStart, which starts the Database
Exchange process on that link. Exchange process on that link.
2.3. Next hop calculation 2.3. Originating router-LSAs
Section 12.4.1.1 of [Ref1], "Describing point-to-point
interfaces in the router-LSA", is changed as follows. If one or
more of the equivalent links is fully adjacent (neighbor state
Full), a single Type 1 link (point-to-point connection to
another router) is added to the router-LSA. The advertised
metric is set equal to the smallest cost of any of the
equivalent links which are in state 2-Way or greater. In this
way, in addition to the main benefit of reducing flooding
traffic, this memo also reduces the size of the router-LSA by
suppressing redundant link advertisements.
Type 3 links (connection to stub networks) continue to be added
to the router-LSA as specified in Section 12.4.1.1 of [Ref1]. Up
to one of these links will be added for each of the equivalent
links.
Now, in addition to the events listed in Section 12.4 of [Ref1],
the transition of a point-to-point link to/from neighbor state
2-Way can cause a router-LSA to be reoriginated. Such a state
transition may change the cost that is advertised for the
equivalent links' Type 1 link.
2.4. Next hop calculation
We must change routing calculation in the routers at the end of We must change routing calculation in the routers at the end of
the equivalent links, allowing 2-Way interfaces to be installed the equivalent links, allowing 2-Way interfaces to be installed
as next hops as long as at least one equivalent link is fully as next hops as long as at least one equivalent link is fully
adjacent (neighbor state Full). adjacent (neighbor state Full).
To this effect, Section 16.1.1 of [Ref1] is changed as follows. To this effect, Section 16.1.1 of [Ref1] is changed as follows.
When installing a next hop to a directly connected router, When installing a next hop to a directly connected router,
through a point-to-point interface, all equivalent links with through a point-to-point interface, all least cost equivalent
neighbors in state 2-Way should be added as equal-cost next links to the neighbor in state 2-Way or greater should be added
hops. as equal-cost next hops.
2.4. MTU check Even if it doesn't cause the contents of the link-state database
to change, the transition of a point-to-point link to/from
neighbor state 2-Way may change the next hops of routing table
entries, forcing rerunning of the routing calculation.
2.5. MTU check
Since you are now adding certain 2-way, but non-adjacent, links Since you are now adding certain 2-way, but non-adjacent, links
as next hops in the routing table entries (Section 2.3), the MTU as next hops in the routing table entries (Section 2.4), the MTU
mismatch detection must be implemented in OSPF Hello packets mismatch detection must be implemented in OSPF Hello packets
sent over point-to-point links. To this end, Hello packets sent sent over point-to-point links. To this end, Hello packets sent
over point-to-point links (Section 9.5 of [Ref1]) have their over point-to-point links (Section 9.5 of [Ref1]) have their
Designated Router field set to the MTU of the point-to-point Designated Router field set to the MTU of the point-to-point
interface. Upon receiving an Hello on a point-to-point interface. Upon receiving an Hello on a point-to-point
interface (Section 10.5 of [Ref1]), the new MTU field is interface (Section 10.5 of [Ref1]), the new MTU field is
examined. If it is greater than the interface's MTU, the Hello examined. If it is greater than the interface's MTU, the Hello
is discarded, preventing the neighbor relationship from forming is discarded, preventing the neighbor relationship from forming
and the interface from being installed as a next hop in the and the interface from being installed as a next hop in the
routing table (see Section G.9 of [Ref3] for more details on MTU routing table (see Section G.9 of [Ref3] for more details on MTU
skipping to change at page 5, line 34 skipping to change at page 6, line 25
neighbor state of 2-Way. neighbor state of 2-Way.
There are then three cases of interest. There are then three cases of interest.
Case 1: Case 1:
A and B running enhancements defined in this memo. In this case, A and B running enhancements defined in this memo. In this case,
B will let A choose one link in each area over which to form an B will let A choose one link in each area over which to form an
adjacency. Suppose these are the links corresponding to adjacency. Suppose these are the links corresponding to
IfIndexes 1 and 3. If the link corresponding to IfIndex 3 later IfIndexes 1 and 3. If the link corresponding to IfIndex 3 later
fails, A will choose a different link (say IfIndex 4) over which fails, A will choose a different link (say IfIndex 4) over which
to form an adjacency. to form an adjacency. Suppose that IfIndexes 5 and 6 have been
assigned the smallest costs, each with cost 10. As long as
IfIndexes 5 and 6 are bidirectional (in neighbor state 2-Way or
greater), A's router-LSA for area 0.0.0.1 will include a single
Type 1 link to B with cost 10, and the outgoing interfaces for
routing table entries through B will be the combination of
IfIndexes 5 and 6. This will be true both before and after the
failure of IfIndex 3.
Case 2: Case 2:
Only A runs the enhancements in this memo. A will receive Only A runs the enhancements in this memo. A will receive
requests to form adjacencies on all links (that is, Database requests to form adjacencies on all links (that is, Database
Description packets from B) and will cooperate by establishing Description packets from B) and will cooperate by establishing
adjacencies over all links. adjacencies over all links.
Case 3: Case 3:
Only B runs the enhancements in this memo. The mirror image of Only B runs the enhancements in this memo. The mirror image of
Case 2; adjacencies again form over all links. Case 2; adjacencies again form over all links.
skipping to change at page 6, line 13 skipping to change at page 7, line 8
memo. memo.
(1) The biggest code change required by this memo is to base the (1) The biggest code change required by this memo is to base the
decision to form an adjacency on whether a Database decision to form an adjacency on whether a Database
Description packet has just been seen from the neighbor (Step Description packet has just been seen from the neighbor (Step
2 of Section 2.1). However, this distinction is useful for 2 of Section 2.1). However, this distinction is useful for
other reasons; for example, in rate-limiting the number of other reasons; for example, in rate-limiting the number of
concurrent Database Exchange sessions (see Section 8.3 of concurrent Database Exchange sessions (see Section 8.3 of
[Ref2]). [Ref2]).
(2) This memo didn't change the logic of router-LSA origination. (2) Why not include Point-to-MultiPoint links in the equivalent
So as a side benefit, you also get compression of the router-
LSA as it only includes one of each set of equivalent links.
(3) If you assign different costs within a set of equivalent
links, this memo breaks that functionality, as it simply
advertises the cost associated with the link that becomes
adjacent. However, if assigning differing costs within a set
of equivalent links is important, then an implementation can
either a) advertise the smallest cost of any 2-Way link
within the set of equivalent links or b) select the link to
become adjacent based on smallest cost (only works if costs
are configured symmetricly).
(4) Why not include Point-to-MultiPoint links in the equivalent
links definition? Because they can't be excluded from the links definition? Because they can't be excluded from the
router-LSA, as they are necessary for the next hop router-LSA, as they are necessary for the next hop
calculation. calculation.
(5) When the single adjacency goes down, packets will not be (3) When the single adjacency goes down, packets will not be
forwarded between the neighbors until a new adjacency is forwarded between the neighbors until a new adjacency is
formed. To get around this problem, you can introduce a new formed. To get around this problem, you can introduce a new
parameter, NumFloodingLinks, and require that that many parameter, NumFloodingLinks, and require that that many
adjacencies be formed within each set of equivalent links. adjacencies be formed within each set of equivalent links.
This is equivalent to OSPF's Backup Designated Router on This is equivalent to OSPF's Backup Designated Router on
broadcast subnets. broadcast subnets.
(6) Whenever you are limiting the number of adjacencies, you (4) Whenever you are limiting the number of adjacencies, you
should timeout adjacencies that are not progressing towards should timeout adjacencies that are not progressing towards
Full state. See Section 8.3 of [Ref2] for details. Full state. See Section 8.3 of [Ref2] for details.
(5) If a router running the enhancements in this memo restarts,
and chooses not to form an adjacency over a given point-to-
point link, its neighbor may mistakenly believe that an
adjacency still exists: there may have been an adjacency
before the restart, and either the router did not send an
empty Hello Packet out the interface after restart, or the
Hello was dropped for some reason. The router will eventually
notice its neighbor's confusion when the neighbor sends a
Link State Update packet over the former adjacency. At this
time the router should tell the neighbor that the adjacency
no longer exists by responding with an empty Hello Packet.
References References
[Ref1] Moy, J., "OSPF Version 2", RFC 2328, April 1998. [Ref1] Moy, J., "OSPF Version 2", RFC 2328, April 1998.
[Ref2] Moy, J., "OSPF Complete Implementation", Addison-Wesley, [Ref2] Moy, J., "OSPF Complete Implementation", Addison-Wesley,
October 2000. October 2000.
[Ref3] Moy, J., "OSPF Version 2", RFC 2178, July 1997. [Ref3] Moy, J., "OSPF Version 2", RFC 2178, July 1997.
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/