RFC 1247:OSPF Version 2
RFC-Ref

routing


Click on the red underlined text to get to the source

... (OSPF) internet routing protocol. OSPF is classified as an Internal Gateway ...
... Gateway Protocol (IGP). This means that it distributes routing information between routers belonging to a single Autonomous System ...
... link-state technology. This is a departure from the Bellman-Ford base used by traditional internet routing protocols. The OSPF protocol ...
... , including explicit support for IP subnetting, TOS-based routing and the tagging of externally-derived routing information. OSPF also provides for the authentication ...
... subnetting, TOS-based routing and the tagging of externally-derived routing information. OSPF also provides for the authentication of routing ...
... routing information. OSPF also provides for the authentication of routing updates, and utilizes IP multicast when sending/receiving ...
... In addition, much work has been done to produce a protocol that responds quickly to topology changes, yet involves small amounts of routing protocol traffic. ...
... they transit the Autonomous System. OSPF is a dynamic routing protocol. It quickly detects topological changes in the AS (such as router interface ...
... convergence. This period of convergence is short and involves a minimum of routing traffic. ...
... In an SPF-based routing protocol, each router maintains a database ...
... to each destination in the Autonomous System. Externally derived routing information appears on the tree as leaves. ...
... of an area is hidden from the rest of the Autonomous System. This information hiding enables a significant reduction in routing traffic. Also, routing within the area is ...
... reduction in routing traffic. Also, routing within the area is determined only by the area's own topology, lending the area protection ...
... determined only by the area's own topology, lending the area protection from bad routing data. An area is a generalization of an IP subnetted network. ...
... trusted routers can participate in the Autonomous System's routing. A variety of authentication schemes can be used; a single authentication ...
... authentication than others. Externally derived routing data (e.g., routes learned from the Exterior Gateway Protocol (EGP)) is passed transparently throughout the ...
... A group of routers exchanging routing information via a common routing protocol. Abbreviated as AS ...
... routers exchanging routing information via a common routing protocol. Abbreviated as AS. ...
... Internal Gateway Protocol The routing protocol spoken by the routers belonging to an Autonomous system ...
... interface has state information associated with it, which is obtained from the underlying lower level protocols and the routing protocol itself. An interface to a network has associated with it a ...
... A relationship formed between selected neighboring routers for the purpose of exchanging routing information. Not every pair of neighboring routers become adjacent. ...
... router's interfaces and adjacencies. Each link state advertisement is flooded throughout the routing domain. The collected link state advertisements ...
... multi-access network. This in turn reduces the amount of routing protocol traffic and the size of the topological database ...
... Brief history of SPF-based routing technology ...
... OSPF is an SPF-based routing protocol. Such protocols are also referred to in the literature as link-state or distributed-database ...
... The first SPF-based routing protocol was developed for use in the ARPANET packet switching network. This protocol is described in ...
... Modifications to this protocol were proposed in [Perlman]. These modifications dealt with increasing the fault tolerance of the routing protocol through, among other things, adding a checksum to the link state advertisements (thereby detecting database ...
... link state advertisements (thereby detecting database corruption). The paper also included means for reducing the routing traffic overhead in an ...
... has also been proposed for use as an ISO IS-IS routing protocol. This protocol is described in [DEC]. The protocol includes methods ...
... DEC]. The protocol includes methods for data and routing traffic reduction when operating over broadcast ...
... OSPF protocol. The Designated Router concept has been greatly enhanced to further reduce the amount of routing traffic required. Multicast capabilities are utilized for additional ...
... traffic required. Multicast capabilities are utilized for additional routing bandwidth reduction. An area routing ...
... routing bandwidth reduction. An area routing scheme has been developed enabling information hiding/protection/reduction. Finally, the algorithm has ...


... cost, the more likely the interface is to be used to forward data traffic. Costs are also associated with the externally derived routing data (e.g., the EGP-learned routes). ...
... networks to routers always have cost 0; they are significant nonetheless. Note also that the externally derived routing data appears on the graph as stubs. ...
... database, leading to an identical graphical representation. A router generates its routing table from this graph by calculating a tree of shortest paths with the router ...
... , we note the next hop and distance to any router advertising external routes. The resulting routing table for router RT6 is pictured in Table 2. Note that there is a separate route ...
... dashed lines on the shortest path tree in Figure 5. Use of this externally derived routing information is considered in the next section. ...
... Table 2: The portion of router RT6's routing table listing local destinations. ...
... Use of external routing information ...
... After the tree is created the external routing information is examined. This external routing information may originate from another routing protocol ...
... created the external routing information is examined. This external routing information may originate from another routing protocol such as EGP, or be statically configured (static routes). ...
... routing information is examined. This external routing information may originate from another routing protocol such as EGP, or be statically configured (static routes). Default routes can also be included as part of the ...
... Default routes can also be included as part of the Autonomous System's external routing information. External routing information ...
... routing information. External routing information is flooded unaltered throughout the AS. In our example, all the routers ...
... greater than the cost of any path internal to the AS. Use of Type 2 external metrics assumes that routing between AS'es is the major cost of routing a packet, and eliminates the need for conversion of external ...
... external metrics assumes that routing between AS'es is the major cost of routing a packet, and eliminates the need for conversion of external costs to internal link state metrics. ...
... Router RT6, which is better than router RT5's 14 (6+8). Table 3 shows the entries that are added to the routing table when external routes are examined: ...
... Table 3: The portion of router RT6's routing table listing external destinations. ...
... Router RTX. Suppose further that RTX does not participate in OSPF routing, but does exchange EGP information with the AS boundary ...
... 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 ...
... external routing information through a combination of static configuration and external routing protocols. RT6 would then start advertising itself as an AS boundary ...
... TOS-based routing ...
... header. This means that, for any destination, there can potentially be multiple routing table entries, one for each IP TOS. ...
... TOS 0 path (see Appendix C), eliminating the need to calculate non- zero TOS paths. This can be used to conserve routing table space and processing resources in the router. These TOS ...


... networks, is called an area. Each area runs a separate copy of the basic SPF routing algorithm. This means that each area has its own topological database and corresponding graph, as ...
... detailed topology external to the area. This isolation of knowledge enables the protocol to effect a marked reduction in routing traffic as compared to treating the entire Autonomous System ...
... area topological databases. Routing in the Autonomous System takes place on two levels, depending on whether the source and destination ...
... destination of a packet reside in the same area (intra-area routing is used) or different areas (inter-area routing is ...
... intra-area routing is used) or different areas (inter-area routing is used). In intra-area routing ...
... routing is used). In intra-area routing, the packet is routed solely on information obtained within the area; no routing information obtained ...
... intra-area routing, the packet is routed solely on information obtained within the area; no routing information obtained from outside the area can be used. This protects intra-area routing ...
... routing information obtained from outside the area can be used. This protects intra-area routing from the injection of bad routing information. We discuss inter-area ...
... intra-area routing from the injection of bad routing information. We discuss inter-area routing in Section 3.2. ...
... from the injection of bad routing information. We discuss inter-area routing in Section 3.2. ...
... costs are the intra-area distances between the two routers. The routing protocol traffic that flows along the virtual link ...
... along the virtual link uses intra-area routing only. The backbone ...
... The backbone is responsible for distributing routing information between areas. The backbone itself has all of the properties of an area. The ...
... Inter-area routing ...
... When routing a packet between two areas the backbone is used. The path that the packet will travel can be broken up into three contiguous ...
... Looking at this another way, inter-area routing can be pictured as forcing a star configuration on the Autonomous System, with the backbone ...
... Before the introduction of areas, the only OSPF routers having a specialized function were those advertising external routing information, such as router RT5 in Figure 2. When the AS is split into ...
... interfaces also belong to this category. These routers run a single copy of the basic routing algorithm. Area border routers ...
... routers A router that exchanges routing information with routers belonging to other Autonomous Systems ...
... database for the Area 1. The figure completely describes that area's intra-area routing. It also shows the complete view of the internet for the two internal routers ...
... RT3, RT4, RT7, RT10 and RT11 are area border routers. As routers RT3 and RT4 did above, they have condensed the routing information of their attached areas for distribution via the backbone; these are the dashed stubs that appear in Figure 8. Remember that the ...
... OSPF allows certain areas to be configured as "stub areas". External advertisements are not flooded into/throughout stub areas; routing to AS external destinations ...
... In order to take advantage of the OSPF stub area support, default routing must be used in the stub area. This is accomplished as follows. One or more of the stub area's area border routers must advertise a ...
... . When an area becomes partitioned, each component simply becomes a separate area. The backbone then performs routing between the new areas. Some destinations reachable via intra-area ...
... destinations reachable via intra-area routing before the partition will now require inter-area ...
... before the partition will now require inter-area routing. In the previous section, an area was described as a list of address ...
... AS will then have multiple regions of the same color (Area ID). The routing in the Autonomous System will continue to function as long as these regions of same color are connected by the ...


... A separate copy of OSPF's basic routing algorithm runs in each area. Routers having interfaces to multiple areas run multiple copies of the ...
... having interfaces to multiple areas run multiple copies of the algorithm. A brief summary of the routing algorithm follows. When a router ...
... When a router starts, it first initializes the routing protocol data structures. The router then waits for indications from the lower-level ...
... routers should become adjacent. Adjacencies control the distribution of routing protocol packets. Routing protocol packets are sent and received only on adjacencies. In particular, distribution of topological ...
... Adjacencies control the distribution of routing protocol packets. Routing protocol packets are sent and received only on adjacencies. In particular, distribution of topological database updates proceeds along ...
... with itself as root. This shortest-path tree in turn yields a routing table for the protocol. ...
... Inter-area routing ...
... The previous section described the operation of the protocol within a single area. For intra-area routing, no other routing information is pertinent. In order to be able to route ...
... single area. For intra-area routing, no other routing information is pertinent. In order to be able to route to destinations ...
... destinations outside of the area, the area border routers inject additional routing information into the area. This additional information is a distillation of the rest of the Autonomous System ...
... can flood this information throughout the AS. This external routing information is distributed verbatim to every participating router. There is one exception: external routing information ...
... routing information is distributed verbatim to every participating router. There is one exception: external routing information is not flooded into "stub" areas (see Section 3.6). ...
... "stub" areas (see Section 3.6). To utilize external routing information, the path to all routers advertising external information must be known throughout the AS ...
... Routing protocol packets ...
... fragmentation should be avoided whenever possible. Routing protocol packets should always be sent with the IP TOS field set ...
... IP TOS field set to 0. If at all possible, routing protocol packets should be given preference over regular IP data traffic ...
... As mentioned above, OSPF routing packets (with the exception of Hellos) are sent only over adjacencies. Note that this means that all protocol packets travel a single IP ...
... broadcasts, this can lead to the synchronization of routing packets (which should be avoided). If timers cannot be implemented to avoid drift, small random amounts should be added ...
... capability mismatch prevents a neighbor relationship from forming). An example of this is the external routing capability (see below). Other capabilities can be negotiated during the database ...
... neighbors. The routing table build process can also be affected by the presence/absence of optional capabilities. For example, since the optional capabilities are reported in link state advertisements ...
... incapable of certain functions can be avoided when building the shortest path tree. An example of this is the TOS routing capability (see below). ...
... A.2 for more information. External routing capability Entire OSPF areas can be configured as "stubs" (see Section 3.6). ...
... based on IP Type of Service. However, to save routing table space and processing resources, an OSPF router can be configured to ignore ...


... routers. A virtual link uses the intra- area routing of its transit area to forward packets. Virtual links are brought up and down through the building of the shortest-path ...
... Autonomous System, that have been gained either through direct experience with another routing protocol (such as EGP), or through configuration information, or through a combination of the two (e.g., dynamic ...
... advertisements have been self originated. The routing table Derived from the topological database. Each destination ...


... The area data structure contains all the information used to run the basic routing algorithm. Remember that each area maintains its own topological database. Router interfaces ...
... different areas. External routing capability Whether AS external advertisements will be flooded into/throughout ...
... AS external advertisements are excluded from the area, the area is called a "stub". Internal to stub areas, routing to external destinations will be based solely on a default summary route ...


... creates adjacencies between neighboring routers for the purpose of exchanging routing information. Not every two neighboring routers will become adjacent. This section covers the generalities involved in ...
... In an SPF-based routing algorithm, it is very important for all routers' topological databases ...
... network has a Designated Router. The Designated Router performs two main functions for the routing protocol: o The Designated Router ...
... role, letting the Designated Router do more of the work. This cuts down on the amount of local routing traffic. See Section 13.3 for more information. ...
... routers if they are adjacent. The graph of adjacencies describes the flow of routing protocol packets, and in particular Link State Updates, through the Autonomous System ...


... This section discusses the general processing of routing protocol packets. It is very important that the router topological databases ...
... router topological databases remain synchronized. For this reason, routing protocol packets should get preferential treatment over ordinary data packets, both in sending ...
... and receiving. Routing protocol packets are sent along adjacencies only (with the exception of Hello packets, which are used to discover the adjacencies). This means that all protocol packets travel a single IP ...
... virtual links. All routing protocol packets begin with a standard header. The sections below give the details on how to fill in and verify this standard ...
... When a router sends a routing protocol packet, it fills in the fields of that standard header as follows. For more details on the header format ...
... link does have an interface IP address (discovered during the routing table build process) which is used as the IP source when sending packets ...


... interface can be considered to belong to the area that contains the attached network. All routing protocol packets originated by the router over this interface are labelled with the ...
... interface. This appears as the IP source address in all routing protocol packets originated over this interface. Interfaces ...
... The Area ID to which the attached network belongs. All routing protocol packets originating from the interface are labelled with this Area ID ...
... inserted directly into the OSPF header when originating routing protocol packets, and there could be a separate password for each network ...


... virtual links, the neighbor IP address is learned during the routing table build process (see Section 15). ...
... fully capable of transmitting and receiving all types of OSPF routing protocol packets. ...
... backbone). The setting of the E-bit found in the Hello Packet's option field must match this area's external routing capability. If AS external advertisements are not flooded into/throughout the area (i.e, ...


... The Routing Table Structure ...
... The routing table data structure contains all the information necessary to forward an IP data ...
... to forward an IP data packet toward its destination. Each routing table entry describes the collection of best paths to a particular destination. When forwarding an ...
... entry describes the collection of best paths to a particular destination. When forwarding an IP data packet, the routing table entry providing the best match for the packet's IP destination ...
... ________________________________________ The matching routing table entry then provides the next hop towards the packet's destination ...
... IP destinations (although any other matching entry is a better match). Finding the routing table entry that best matches an IP destination ...
... destination is further described in Section 11.1. There is a single routing table in each router. Two sample routing tables are described in Sections 11.2 and 11.3. The building of the ...
... There is a single routing table in each router. Two sample routing tables are described in Sections 11.2 and 11.3. The building of the routing table is discussed in Section 16. ...
... in each router. Two sample routing tables are described in Sections 11.2 and 11.3. The building of the routing table is discussed in Section 16. The rest of this section defines the fields found in a routing table ...
... routing table is discussed in Section 16. The rest of this section defines the fields found in a routing table entry. The first set of fields describes the routing table entry's ...
... The rest of this section defines the fields found in a routing table entry. The first set of fields describes the routing table entry's destination. ...
... other destinations are used solely as intermediate steps in the routing table build process. Network ...
... routers originate summary link advertisements. These routing table entries are used when calculating the inter-area routes (see ...
... entries are used when calculating the inter-area routes (see Section 16.2). These routing table entries may also be associated with configured virtual links. ...
... AS external link advertisements. These routing table entries are used when calculating the AS external routes (see Section 16.4). ...
... Type of Service and the OSPF area to which the paths belong. This means that there may be multiple routing table entries for the same destination, depending on the values of the next two fields. ...
... This field indicates the area whose link state information has led to the routing table entry's collection of paths. This is called the entry's associated area. For sets of AS external paths, this ...
... destinations of type "area border router", there may be separate sets of paths (and therefore separate routing table entries) associated with each of several areas. This will happen when two area border routers share multiple areas in ...
... is kept. The rest of the routing table entry describes the set of paths to the destination. The following fields pertain to the set of paths as a whole. In other words, each one of the paths contained in a ...
... entry describes the set of paths to the destination. The following fields pertain to the set of paths as a whole. In other words, each one of the paths contained in a routing table entry is of the same path-type and cost (see below). Path-type ...
... When multiple paths of equal path-type and cost exist to a destination (called elsewhere "equal-cost" paths), they are stored in a single routing table entry. Each one of the "equal-cost" paths is distinguished by the following fields: ...
... Routing table lookup ...
... When an IP data packet is received, an OSPF router finds the routing table entry that best matches the packet's destination. This routing table entry then provides the outgoing interface ...
... OSPF router finds the routing table entry that best matches the packet's destination. This routing table entry then provides the outgoing interface and next hop router ...
... router to use in forwarding the packet. This section describes the process of finding the best matching routing table entry. The process consists of a number of steps, wherein the collection of routing table entries is ...
... finding the best matching routing table entry. The process consists of a number of steps, wherein the collection of routing table entries is progressively pruned. In the end, the single routing table entry ...
... number of steps, wherein the collection of routing table entries is progressively pruned. In the end, the single routing table entry remaining is the called best match. ...
... remaining is the called best match. Note that the steps described below may fail to produce a best match routing table entry (i.e., all existing routing table entries are pruned for some reason or another). In this case, the packet's IP ...
... Note that the steps described below may fail to produce a best match routing table entry (i.e., all existing routing table entries are pruned for some reason or another). In this case, the packet's IP destination ...
... returned to the packet's source. (1) Select the complete set of "matching" routing table entries from the routing table. Each routing table ...
... (1) Select the complete set of "matching" routing table entries from the routing table. Each routing table entry describes a (set of) path(s) to a range ...
... routing table entries from the routing table. Each routing table entry describes a (set of) path(s) to a range of IP addresses ...
... destination falls into an entry's range of IP addresses, the routing table entry is called a match. (It is quite likely that multiple entries will match the data packet. For example, a default route ...
... required to belong to one of these constituent networks. For this reason, only matching routing table entries with path-type of intra-area are considered (all others are pruned). If no such ...
... paths. (4) Select the remaining routing table entry that provides the longest (most specific) match. Another way of saying this is to choose the remaining entry that specifies the narrowest range ...
... destinations. (5) At this point, there may still be multiple routing table entries remaining. Each routing entry will specify the same range ...
... (5) At this point, there may still be multiple routing table entries remaining. Each routing entry will specify the same range of IP addresses, but a different IP ...
... IP addresses, but a different IP Type of Service. Select the routing table entry whose TOS value matches the TOS found in the packet header ...
... TOS value matches the TOS found in the packet header. If there is no routing table entry for this TOS, select the routing table ...
... routing table entry for this TOS, select the routing table entry for TOS 0. In other words, packets requesting TOS ...
... Sample routing table, without areas ...
... indicating that routes will not vary based on TOS. The calculation router RT6's routing table proceeds as described in Section 2.1. The resulting routing table is shown in Table 12. Destination ...
... router RT6's routing table proceeds as described in Section 2.1. The resulting routing table is shown in Table 12. Destination types are abbreviated: Network ...
... Sample routing table, with areas ...
... OSPF area configuration is pictured in Figure 6. Router RT4's routing table will be described for this area configuration. Router RT4 has a ...
... AS as the concatenation of the two graphs shown in Figures 7 and 8. The resulting routing table is displayed in Table 13. Again, routers ...
... RT3, RT4, RT7, RT10 and RT11 are area border routers. Note that there are two routing entries (in this case having identical paths) for router RT7, in its dual capacities as an area border router ...
... AS boundary router. Note also that there are two routing entries for the area border router RT3, since it has two areas in common with RT4 (Area 1 and the ...
... N N15 * type 1 external 17 RT10 RT7 Table 12: The routing table for Router RT6 (no configured areas). ...
... the case when the router is itself an area border router. Routing information is condensed at area boundaries. In this example, we assume that Area 3 has been defined so that networks N9-N11 and the host ...
... would not be an entry for these networks in router RT4's routing table. In this example there are two equal-cost paths to network ...
... RT5). Router RT4's routing table would improve (i.e., some of the paths in the routing table would become shorter) if an additional virtual link were ...
... Router RT4's routing table would improve (i.e., some of the paths in the routing table would become shorter) if an additional virtual link were configured between router ...
... intra-area path through Area 1). This would yield a cost of 1 for the virtual link. The routing table entries changes that would be caused by the addition of this virtual link are shown in Table ...


... networks are interconnected. Summary link advertisements provide a way of condensing an area's routing information. AS external advertisements provide a way of transparently advertising externally- ...
... AS external advertisements provide a way of transparently advertising externally- derived routing information throughout the Autonomous System. ...
... Table 13: Router RT4's routing table in the presence of areas. Type Dest Area Path Type Cost Next Hop ...
... The age of a link state advertisement is never incremented past MaxAge. Advertisements having age MaxAge are not used in the routing table calculation. When an advertisement's age first reaches MaxAge, it is reflooded. A link state advertisement ...
... checksums. An instance of age MaxAge is then always accepted as most recent; this allows old advertisements to be flushed quickly from the routing domain. Otherwise, if the ages differ by more than MaxAgeDiff, the instance ...
... The E-bit represents OSPF's external routing capability. This bit should be set in all advertisements associated with the backbone ...
... setting of the E-bit is for informational purposes only; it does not affect the routing table calculation. The T-bit ...
... bit represents OSPF's TOS routing capability. This bit should be set in a router ...
... link state advertisement's T-bit is examined when calculating the routing table's non-zero TOS paths (see Section 16.9). ...
... inter-area routes, and enable the condensation of routing information at area borders. Originated by area border routers, the Type 3 advertisements ...
... This field identifies the piece of the routing domain that is being described by the advertisement. Depending on the advertisement's LS ...
... sequence number past the maximum value of of N - 1 (0x7fffffff), the current instance of the advertisement must first be flushed from the routing domain. This is done by prematurely aging the advertisement (see Section 14.1) and reflooding it. As soon as this ...
... function is invoked during the link state flooding procedure (Section 13) and the routing table calculation (Section 16). In addition, using this lookup function the router ...
... router originates a newer instance of one of its self-originated advertisements (Section 12.4) or c) the advertisement ages out and is flushed from the routing domain (Section 14). Whenever a link state advertisement ...
... unreachable destinations should not be refreshed, but should instead be flushed from the routing domain (see Section 14.1). ...
... intra-area route has been added/deleted/modified in the routing table. This may cause a new instance of a summary links advertisement (for this route ...
... inter-area route has been added/deleted/modified in the routing table. This may cause a new instance of a summary links advertisement (for this route ...
... for all pertinent intra-area and inter-area routes in its routing table. See Section 12.4.3 for more details. The last event concerns AS boundary ...
... (8) An external route gained through direct experience with an external routing protocol (like EGP) changes. This will cause the AS boundary router ...
... advertisements. This enables paths to those types of routers to be saved in the routing table, for later processing of summary link advertisements and AS ...
... address of the associated router interface (this is needed by the routing table calculation, see Section 16.3). For links to stub networks ...
... links advertisement that it had previously originated. This advertisement is no longer used in the routing table calculation. It is flushed by prematurely incrementing the advertisement's age to MaxAge and reflooding (see Section 14.1). ...
... area border routers. The precise summary routes to advertise into an area are determined by examining the routing table structure (see Section 11). Only intra-area routes are advertised into the backbone ...
... routes are advertised into the other areas. To determine which routes to advertise into an attached Area A, each routing table entry is processed as follows: o Only Destination ...
... router are advertised in summary link advertisements. If the routing table entry's Destination type is area border router ...
... Destination type is area border router, examine the next routing table entry. o AS ...
... AS external routes are never advertised in summary link advertisements. If the routing table entry has Path-type type 1 external or type 2 external, examine the next routing table entry. ...
... advertisements. If the routing table entry has Path-type type 1 external or type 2 external, examine the next routing table entry. o Else, if the area associated with this set of paths is the Area A ...
... AS boundary router's ID and metric equal to the routing table entry's cost. These advertisements should not be generated if area A has been configured as a stub area. ...
... network's address and metric equal to the routing table cost. o The one remaining case is an intra-area ...
... virtual links are being used to provide/increase connectivity of the backbone, routing information concerning the backbone networks should not be condensed before being summarized into the virtual links ...
... then becomes unreachable, the router must then flush the advertisement from the routing domain by setting its age to MaxAge and reflooding (see Section 14.1). Also, if the destination ...
... backbone area; it would thus no longer be advertisable to the backbone), the advertisement should also be flushed from the routing domain. ...
... links advertisements. Consider in particular router RT4. Its routing table was calculated as the example in Section 11.3. RT4 originates summary link advertisements into both the ...
... router). However, for a single destination there may be separate sets of paths, and therefore separate routing table entries, for each Type of Service. All these entries must be considered when ...
... TOS capable routers exist in the routing domain (see Section 2.4). ...
... link advertisement for each external route that it has learned, either through another routing protocol (such as EGP), or through configuration information. ...
... destination which then becomes unreachable, the router must then flush the advertisement from the routing domain by setting its age to MaxAge and reflooding (see Section 14.1). ...
... address (RTX). This leads to a clear duplication of effort. If only one of RTA or RTB originated the set of external advertisements, the routing would remain the same, and the size of the link state database would decrease. ...


... (replacing the current database copy). This may cause the routing table calculation to be scheduled. In addition, timestamp the new advertisement with the current time (i.e., the ...
... result of flooding or a newly self originated advertisement, may cause the routing table structure to be recalculated. The contents of the new advertisement should be compared to the old instance, if present. If there is no difference, there is no need to recalculate the routing table ...
... routing table structure to be recalculated. The contents of the new advertisement should be compared to the old instance, if present. If there is no difference, there is no need to recalculate the routing table. (Note that even if the contents are the same, the LS checksum will probably be different, since the checksum ...
... sequence number.) If the contents are different, the following pieces of the routing table must be recalculated, depending on the LS type field: ...
... network links The entire routing table must be recalculated, starting with the shortest path calculations for each area (not just the area whose ...
... The reception of such an advertisement indicates that there are link state advertisements in the routing domain that were originated before the last time the router ...
... the destination. In this case, the advertisement should be flushed from the routing domain by incrementing the advertisement's LS age to MaxAge and reflooding (see Section 14.1). ...


... An advertisement's age is never incremented past the value MaxAge. Advertisements having age MaxAge are not used in the routing table calculation. As a router ages its link state database ...
... 17] At this time, the router must attempt to flush the advertisement from the routing domain. This is done simply by reflooding the MaxAge advertisement just as if it was a ...
... A link state advertisement can be flushed from the routing domain by setting its age to MaxAge and reflooding the advertisement. This ...
... current advertisement instance (having LS sequence number of 0x7fffffff) must be prematurely aged and flushed from the routing domain before a new instance with sequence number ...
... previously advertised external routes is no longer reachable. In this circumstance, the router can flush its external advertisement from the routing domain via premature aging. This procedure is preferable to the alternative, which is to originate a new advertisement for the ...


... router, the cost and viability of the virtual link is discovered by examining the routing table entry for the other endpoint router. (The entry's associated area must be the configured transit ...
... router. (The entry's associated area must be the configured transit area). Actually, there may be a separate routing table entry for each Type of Service. These are called the virtual link's corresponding ...
... Type of Service. These are called the virtual link's corresponding routing table entries. The Interface Up event occurs for a virtual link ...
... link when its corresponding TOS 0 routing table entry becomes reachable. Conversely, the Interface Down event occurs when its TOS ...
... Conversely, the Interface Down event occurs when its TOS 0 routing table entry becomes unreachable.[18] In other words, the virtual link ...
... area border routers. This cost appears in the virtual link's corresponding routing table entry. When the cost of a virtual link changes, a new router ...
... o Just as the virtual link's cost and viability are determined by the routing table build process (through construction of the routing table entry for the other endpoint), so are the IP interface ...
... link's cost and viability are determined by the routing table build process (through construction of the routing table entry for the other endpoint), so are the IP interface address ...


... Calculation Of The Routing Table ...
... This section details the OSPF routing table calculation. Using its attached areas' link state databases ...
... router runs the following algorithm, building its routing table step by step. At each step, the router must access individual pieces of the link state ...
... link state advertisement whose LS age is equal to MaxAge. Such an advertisement should not be used in the routing table calculation, and is treated just as if the lookup process had failed. ...
... The OSPF routing table's organization is explained in Section 11. Two examples of the routing table build process are presented in Sections ...
... OSPF routing table's organization is explained in Section 11. Two examples of the routing table build process are presented in Sections 11.2 and 11.3. This process can be broken into the following steps: ...
... 11.2 and 11.3. This process can be broken into the following steps: (1) The present routing table is invalidated. The routing table is built again from scratch. The old routing table ...
... (1) The present routing table is invalidated. The routing table is built again from scratch. The old routing table is saved so that ...
... routing table is invalidated. The routing table is built again from scratch. The old routing table is saved so that changes in routing table entries can be identified. ...
... built again from scratch. The old routing table is saved so that changes in routing table entries can be identified. (2) The intra-area ...
... (2) The intra-area routes are calculated by building the shortest path tree for each attached area. In particular, all routing table entries whose Destination type is "area border router ...
... advertisements are examined. (4) For those routing entries whose next hop is over a virtual link, a ...
... Section 16.9. Changes made to routing table entries as a result of these calculations can cause the OSPF protocol to take further actions. For example, a ...
... Section 16.7 for a complete list of the OSPF protocol actions resulting from routing table table changes. ...
... process). (4) Possibly modify the routing table. For those routing table entries modified, the associated area will be set to Area A, the path type ...
... (4) Possibly modify the routing table. For those routing table entries modified, the associated area will be set to Area A, the path type will be set to intra-area ...
... If the newly added vertex is an area border router, a routing table entry is added whose destination type is "area border router ...
... router links advertisement is copied into the routing table entry's Optional capabilities field. If the newly added vertex is an AS boundary ...
... If the newly added vertex is an AS boundary router, the routing table entry of type "AS boundary router" for the destination ...
... router, each set using a different area. However, the AS boundary router's routing table entry must indicate a set of paths which utilize a single area. The area leading to the routing table ...
... router's routing table entry must indicate a set of paths which utilize a single area. The area leading to the routing table entry is selected as follows: A set of intra-area paths having no ...
... whenever an AS boundary router's routing table entry is added/modified, the Options found in the associated router links ...
... router links advertisement is copied into the routing table entry's Optional capabilities field. ...
... If the newly added vertex is a transit network, the routing table entry for the network is located. The entry's destination ...
... associated network links advertisement). If the routing table entry already exists (i.e., there is already an intra-area route ...
... route to the destination installed in the routing table), multiple vertices have mapped to the same IP network. For example, this can occur when a ...
... new Designated Router is being established. In this case, the current routing table entry should be overwritten if and only if the newly found path is just as short and the current routing table ...
... current routing table entry should be overwritten if and only if the newly found path is just as short and the current routing table entry's Link State Origin has a smaller Link State ...
... link state advertisement. If there is no routing table entry for the network (the usual case), a routing table ...
... routing table entry for the network (the usual case), a routing table entry for the IP network should be added. The routing table ...
... routing table entry for the IP network should be added. The routing table entry's Link State origin should be set to the newly added vertex' link state advertisement ...
... network. This is done by looking up the network's current routing table entry. If the calculated distance D is larger, go on to examine the next stub network link ...
... (3) If this step is reached, the stub network's routing table entry must be updated. Calculate the set of next hops that would result from ...
... network) and the parent vertex (the router vertex). If the distance D is the same as the current routing table cost, simply add this set of next hops to the routing table ...
... routing table cost, simply add this set of next hops to the routing table entry's list of next hops. In this case, the routing table ...
... routing table entry's list of next hops. In this case, the routing table already has a Link State origin. If this Link State ...
... links advertisement. Otherwise D is smaller than the routing table cost. Overwrite the current routing table entry by setting the routing table ...
... Otherwise D is smaller than the routing table cost. Overwrite the current routing table entry by setting the routing table entry's cost to D, and by setting the entry's list of next hops ...
... routing table cost. Overwrite the current routing table entry by setting the routing table entry's cost to D, and by setting the entry's list of next hops to the newly ...
... cost to D, and by setting the entry's list of next hops to the newly calculated set. Set the routing table entry's Link State origin to V's router ...
... link. For all routing table entries added/modified in the second stage, the associated area will be set to Area A and the path type will be set to intra-area. When the list of reachable ...
... list is modified (Step 2e of Stage 1). In stage 2 a shorter path is discovered each time the destination's routing table entry is modified (Step 3 of Stage 2). The set of next hops ...
... tree calculation, as shorter and shorter paths are discovered. In the end, the destination's routing table entry will always reflect the next hops resulting from the absolute shortest path(s). ...
... (4) Else, call the destination described by the advertisement N, and the area border originating the advertisement BR. Look up the routing table entry for BR having A as its associated area. If no such entry exists for router BR (i.e., BR is unreachable in Area A), do ...
... inter-area path IAC. (5) Next, look up the routing table entry for the destination N. (The entry's Destination ...
... preferred). (7) Else, the paths present in the routing table are also inter-area paths. Install the new path through BR if it is cheaper, overriding ...
... inter-area paths. Install the new path through BR if it is cheaper, overriding the paths in the routing table. Otherwise, if the new path is the same cost, add it to the list of paths that appear in the routing table entry. ...
... the paths in the routing table. Otherwise, if the new path is the same cost, add it to the list of paths that appear in the routing table entry. ...
... having configured virtual links. In these routers, some of the routing table entries may have virtual next hops. That is, one or more of the next hops ...
... next hop is replaced by a real next hop. In the process a new routing table distance is calculated that may be smaller than the previously calculated distance. In this case, the list of next hops ...
... of next hops is pruned so that only those giving rise to the new shortest distance are included, and the routing table entry's distance is updated accordingly. ...
... Network or AS Boundary router. Suppose that one of a routing table entry's next hops is a virtual link ...
... next hops is a virtual link. This is determined by the following combination: the routing table entry's path type is either intra-area or inter-area, the area associated with the ...
... entry's path type is either intra-area or inter-area, the area associated with the routing table entry must be the backbone, yet the next hop ...
... (1) Call the border router that originated the advertisement BR. If there is no routing table entry for BR having A as associated area (i.e., BR is unreachable through Area A), examine the next advertisement. ...
... next hop specified in router BR's routing table entry. At this point, the real next hop ...
... calculated should be less than or equal to the cost originally specified in destination N's routing table entry. This same calculation should be done for all of N's virtual next hops, and then N's new cost set to the ...
... (3) Call the destination described by the advertisement N. Look up the routing table entry for the AS boundary router (ASBR ...
... ASBR itself. Otherwise, look up the forwarding address in the routing table.[24] An intra-area or inter-area ...
... advertisement and consider the next in the list. Call the routing table distance to the forwarding address X (when the forwarding address ...
... external metric. (4) Next, look up the routing table entry for the destination N. If no entry exists for N, install the AS ...
... If the new path is shorter, it replaces the present paths in the routing table entry. If the new path is the same cost, it is added to the routing table entry's list of paths. ...
... routing table entry. If the new path is the same cost, it is added to the routing table entry's list of paths. ...
... When a new summary link advertisement is received, it is not necessary to recalculate the entire routing table. Call the destination described by the summary link ...
... advertisement belongs. Look up the routing table entry for N. If the next hop to N is a virtual link ...
... link advertisements whose destination is N. Before this procedure is performed, the present routing table entry for N should be invalidated (but kept for comparison purposes). If this procedure leads ...
... next hop. If N's routing table entry changes, and N is an AS boundary router, the ...
... AS external link advertisement is received, it is not necessary to recalculate the entire routing table. Call the destination described by the AS ...
... link advertisements whose destination is N. Before this procedure is performed, the present routing table entry for N should be invalidated. ...
... Events generated as a result of routing table changes ...
... Changes to routing table entries sometimes cause the OSPF area border routers to take additional actions. These routers ...
... area border routers to take additional actions. These routers need to act on the following routing table changes: o The cost or path type of a routing table ...
... routing table changes: o The cost or path type of a routing table entry has changed. If the destination described by this entry is a Network ...
... been deleted, or is no longer advertisable to a particular area, the advertisement must be flushed from the routing domain by setting its age to MaxAge and reflooding (see Section 14.1). ...
... o A routing table entry associated with a configured virtual link has changed. The destination ...
... link has changed. The destination of such a routing table entry is an area border router. The change indicates a modification to the virtual link ...
... the backbone must be originated. This in turn may cause further routing table changes. ...
... OSPF protocol maintains multiple equal-cost routes to all destinations. This can be seen in the steps used above to calculate the routing table, and in the definition of the routing table structure. ...
... destinations. This can be seen in the steps used above to calculate the routing table, and in the definition of the routing table structure. Each one of the multiple routes ...
... Building the non-zero-TOS portion of the routing table ...
... TOS (see Section 2.4). Support for TOS-based routing is optional. TOS-capable and non-TOS-capable ...
... TOS-capable routers can be mixed in an OSPF routing domain. Routers not supporting ...
... links advertisement. The above sections detailing the routing table calculations handle the TOS 0 case only. In general, for routers supporting ...
... TOS 0 case only. In general, for routers supporting TOS-based routing, each piece of the routing table calculation must be rerun separately for ...
... TOS-based routing, each piece of the routing table calculation must be rerun separately for the non-zero TOS ...
... forwarding packets (see Section 11.1). The following lists the modifications needed when running the routing table calculation for a non-zero TOS value (called TOS ...
... Routers that do not support TOS-based routing should be omitted from the shortest-path tree calculation. These routers ...


... McQuillan, J.M., Richer, I. and Rosen, E.C. ARPANET Routing Algorithm Improvements. BBN Technical Report 3803, April 1978. ...
... Digital Equipment Corporation. Information processing systems -- Data communications -- Intermediate System to Intermediate System Intra-Domain Routing Protocol. October 1987. ...
... McQuillan, J. et.al. The New Routing Algorithm for the Arpanet. IEEE Transactions on Communications, May 1980. ...
... Perlman, Radia. Fault-Tolerant Broadcast of Routing Information. Computer Networks, Dec. 1983. ...
... neighbor is up and running. Likewise, existence of the neighbor on virtual links is indicated by the routing table calculation. However, in both these cases, the Hello Protocol is still used. This ensures that communication between the neighbors is bidirectional ...
... neighbors is bidirectional, and that each of the neighbors has a functioning routing protocol layer. ...
... MaxAgeDiff is an architectural constant. It indicates the maximum dispersion of ages, in seconds, that can occur for a single link state instance as it is flooded throughout the routing domain. If two advertisements differ by more than this, they are assumed to be different instances of the same advertisement. This can occur when a router restarts ...
... There is one instance where a lookup must be done based on partial information. This is during the routing table calculation, when a network links advertisement must be found based solely on its Link State ...
... By keeping more information in the routing table, it is possible for an implementation to recalculate the shortest path tree only for a single area. In fact, there are incremental algorithms that allow an implementation to recalculate only a portion of the shortest path tree ...
... Only the TOS 0 routes are important here. This is because all routing protocol packets are sent with TOS= 0. See Appendix A. ...
... destinations do not vary based on TOS. For these destinations, the routing calculation need not be repeated for each TOS value. In addition, there need only be a single routing table entry for these destinations ...
... destinations, the routing calculation need not be repeated for each TOS value. In addition, there need only be a single routing table entry for these destinations (instead of a separate entry for each TOS value). ...


... is described. This field describes various capabilities that may or may not be supported by pieces of the OSPF routing domain. It is contained both in OSPF protocol packets and in ...
... RFC1060]. o Routing protocol packets are sent with IP TOS of 0. The OSPF protocol ...
... TOS of 0. The OSPF protocol supports TOS-based routing. Routes to any particular destination may vary based on TOS ...
... destination may vary based on TOS. However, all OSPF routing protocol packets are sent with the DTR bits in the IP header's TOS ...
... RFC791]) set to 0. o Routing protocol packets are sent with IP precedence set to Internetwork Control. OSPF protocol ...
... routers of differing capabilities can be mixed within an OSPF routing domain. ...
... traffic around reduced functionality routers, by excluding them from parts of the routing table calculation. Two capabilities are currently defined. For each capability, the effect ...
... Database Description packets and link state advertisements is specified below. For example, the external routing capability (below called the E-bit) has meaning only in OSPF Hello ...
... router is also said to be incapable of TOS-routing. The absence of the T- bit in a router ...
... In other words, routers incapable of TOS routing will be avoided as much as possible when forwarding data traffic requesting a non-zero ...
... packets implement the flooding of advertisements throughout the OSPF routing domain. Because of this, OSPF protocol packets cannot be parsed ...
... OSPF, the source and destination of a routing protocol packet are the two ends of an (potential) adjacency. ...
... Each link state advertisement describes a piece of the OSPF routing domain. Every router originates a ...
... link state advertisements may also be originated (see Section 12.4). All link state advertisements are then flooded throughout the OSPF routing domain. The flooding ...
... router constructs a shortest path tree with itself as root. This yields a routing table (see Section 11). For the details of the routing table build process, see Section 16. ...
... root. This yields a routing table (see Section 11). For the details of the routing table build process, see Section 16. ...
... ). Multiple instances of the link state advertisement may exist in the routing domain at the same time. It is then necessary to determine which instance is more recent. This is accomplished by examining the LS ...
... Options The optional capabilities supported by the described portion of the routing domain. OSPF's optional capabilities are documented in ...
... IP interface address. This latter piece of information is needed during the routing table build process, when calculating the IP address of the next hop ...


... retransmission lists. Advertisements having age MaxAge are not used in the routing table calculation. The value of MaxAge must be greater than LSRefreshTime. The value of MaxAge is set to 1 hour. ...
... default route. This route is used when no other matching routing table entry can be found. The default destination can only be advertised in AS ...


... inability for adjacencies to form between them, with a resulting hindrance to the flow of routing protocol traffic. The following items must be configured for an area: ...
... belonging to multiple areas, depending on their attached networks' area membership. Routing information is condensed at area boundaries. External to the area, a single route is advertised for ...
... authentication types. External routing capability Whether AS external advertisements will be flooded into/throughout ...
... the area. If AS external advertisements are excluded from the area, the area is called a "stub". Internal to stub areas, routing to external destinations will be based solely on a default summary ...
... attached to a common network. The smaller the hello interval, the faster topological changes will be detected, but more routing traffic will ensue. Sample value for a X.25 ...
... inserted directly into the OSPF header when originating routing protocol packets. There could be a separate password for each network ...
... IP source in protocol packets it sends along the virtual link, and is set dynamically during the routing table build process. Interface output cost is also set dynamically on virtual links ...
... to the internet, the actual configured cost(s) in many cases is unimportant (i.e., will have no effect on routing). ...


... link state retransmissions over the last hour. Also falling into this category are dumps of the various routing data structures. ...
... A logging message should be produced on every significant protocol event. The major events are listed below. Most of these events indicate a topological change in the routing domain. However, some number of logging messages can be expected even when the routing ...
... routing domain. However, some number of logging messages can be expected even when the routing domain remains intact for long periods of time. For example, link state ...
... The following list of logging messages indicate topological changes in the routing domain: ...
... Link State Update packets. This will cause recalculation of the routing table. The logging message produced should indicate the advertisement's LS type, Link State ...
... from whom the advertisement was received. T6 An entry in the routing table has changed (see Section 11). The logging message produced should indicate the Destination type, ...
... link state database has aged to MaxAge (see Section 14). At this point, the advertisement is no longer included in the routing table calculation, and is reflooded. The message should list the advertisement's LS type, Link State ...
... These statistics display collections of the routing data structures. They should be able to be obtained interactively, through some kind of network management facility. ...
... All the following statistics displays, with the exception of the area list, routing table and the AS external links, are specific to a single ...
... 12.4.1. (6) A listing of the entire routing table. Several examples are shown in Section 11. The routing table is calculated from the combined ...
... (6) A listing of the entire routing table. Several examples are shown in Section 11. The routing table is calculated from the combined databases of each attached area (see Section 16). It may be ...
... databases of each attached area (see Section 16). It may be desirable to sort the routing table by Type of Service, or by destination ...


... Use of this authentication type means that routing exchanges in the area are not authenticated. The 64-bit ...
... passwords before they can join the routing domain. ...


... OSPF areas where there is only a single exit/entry that is used by all externally addressed packets, or to cases where some sub-optimality of external routing is acceptable. Therefore, an OSPF ...
... In OSPF there is conceptually a separate routing table for each TOS; the calculations detailed in steps 1-5 of Section 16 must be done separately ...
... to route based on TOS. However, producing a separate routing table for each TOS may prove costly, both in terms of memory and processor ...
... system administrator to configure routers to calculate/use only a single routing table (the TOS 0 table). When this is done, some traffic may take non-optimal ...
... TOS 0 table). When this is done, some traffic may take non-optimal routes. But all packets will still be delivered, and routing will remain loop free (see Section 2.4). ...
... remain loop free (see Section 2.4). In order to avoid routing loops, a router (router X) using a single ...
... It is still mandatory for all OSPF implementations to be able to construct separate routing tables for each TOS value, if desired by the system administrator. ...
... Y) , and only one OSPF router (call it router X) exchanges routing information with Y. The OSPF routers on the LAN other than X will forward packets destined for Y and beyond through ...
... setting it to an actual router address incurs additional cost during the routing table build process (Section 16.4). Besides preventing extra-hops, there are two other applications for this ...
... router in the middle of the Autonomous System can gather external routing information and originate AS external advertisements that specify the correct exit route ...
... This is a method for flushing a link state advertisement from the routing domain: the advertisement's age is set to MaxAge and advertisement is reflooded just as if it were a newly received ...
... with this occurrence. Without this paragraph, retransmissions of MaxAge advertisements could possibly delay their being flushed from the routing domain. ...
... F.2.4 Routing table lookup explained ...
... looks up the packet's IP destination in the routing table. This determines the packet's next hop. A new section (Section 11.1) has been added describing the routing table lookup ...
... destination in the routing table. This determines the packet's next hop. A new section (Section 11.1) has been added describing the routing table lookup (instead of just specifying a "best match"). This section clarifies OSPF ...
... lookup (instead of just specifying a "best match"). This section clarifies OSPF's four level routing hierarchy (i.e., intra-area, inter- area, external type 1 and external type 2 routes). It also specifies ...
... area, external type 1 and external type 2 routes). It also specifies the effect of TOS on routing. ...
... link state advertisement's sequence number decreases when it is flushed from the routing domain via premature- aging, and then reoriginated with the smallest sequence number ...
... traffic around reduced functionality router, by excluding them from parts of the routing table calculation. See Section A.2 for more details. ...
... Additional functionality will probably be added to OSPF in the future. One example of this is a multicast routing capability, which is currently under development. In order to be able to add such features in a backward-compatible ...



Google
Web
RFC-Ref