| < draft-ietf-ospf-version2-09.txt | draft-ietf-ospf-version2-10.txt > | |||
|---|---|---|---|---|
| Network Working Group J. Moy | Network Working Group J. Moy | |||
| Internet Draft Cascade Communications Corp. | Internet Draft Cascade Communications Corp. | |||
| Expiration Date: July 1997 January 1997 | Expiration Date: August 1997 February 1997 | |||
| File name: draft-ietf-ospf-version2-09.txt | File name: draft-ietf-ospf-version2-10.txt | |||
| OSPF Version 2 | OSPF Version 2 | |||
| Status of this Memo | Status of this Memo | |||
| This document is an Internet-Draft. Internet-Drafts are working | This document is an Internet-Draft. Internet-Drafts are working | |||
| documents of the Internet Engineering Task Force (IETF), its areas, | documents of the Internet Engineering Task Force (IETF), its areas, | |||
| and its working groups. Note that other groups may also distribute | and its working groups. Note that other groups may also distribute | |||
| working documents as Internet-Drafts. | working documents as Internet-Drafts. | |||
| skipping to change at page 3, line 20 ¶ | skipping to change at page 3, line 20 ¶ | |||
| 1.3 Brief history of link-state routing technology ........ 11 | 1.3 Brief history of link-state routing technology ........ 11 | |||
| 1.4 Organization of this document ......................... 12 | 1.4 Organization of this document ......................... 12 | |||
| 1.5 Acknowledgments ....................................... 13 | 1.5 Acknowledgments ....................................... 13 | |||
| 2 The link-state database: organization and calculations 13 | 2 The link-state database: organization and calculations 13 | |||
| 2.1 Representation of routers and networks ................ 13 | 2.1 Representation of routers and networks ................ 13 | |||
| 2.1.1 Representation of non-broadcast networks .............. 15 | 2.1.1 Representation of non-broadcast networks .............. 15 | |||
| 2.1.2 An example link-state database ........................ 16 | 2.1.2 An example link-state database ........................ 16 | |||
| 2.2 The shortest-path tree ................................ 20 | 2.2 The shortest-path tree ................................ 20 | |||
| 2.3 Use of external routing information ................... 22 | 2.3 Use of external routing information ................... 22 | |||
| 2.4 Equal-cost multipath .................................. 24 | 2.4 Equal-cost multipath .................................. 24 | |||
| 2.5 TOS-based routing ..................................... 24 | 2.5 TOS-based routing ..................................... 25 | |||
| 3 Splitting the AS into Areas ........................... 25 | 3 Splitting the AS into Areas ........................... 25 | |||
| 3.1 The backbone of the Autonomous System ................. 26 | 3.1 The backbone of the Autonomous System ................. 26 | |||
| 3.2 Inter-area routing .................................... 26 | 3.2 Inter-area routing .................................... 27 | |||
| 3.3 Classification of routers ............................. 27 | 3.3 Classification of routers ............................. 27 | |||
| 3.4 A sample area configuration ........................... 28 | 3.4 A sample area configuration ........................... 28 | |||
| 3.5 IP subnetting support ................................. 34 | 3.5 IP subnetting support ................................. 34 | |||
| 3.6 Supporting stub areas ................................. 35 | 3.6 Supporting stub areas ................................. 35 | |||
| 3.7 Partitions of areas ................................... 36 | 3.7 Partitions of areas ................................... 36 | |||
| 4 Functional Summary .................................... 38 | 4 Functional Summary .................................... 38 | |||
| 4.1 Inter-area routing .................................... 38 | 4.1 Inter-area routing .................................... 38 | |||
| 4.2 AS external routes .................................... 39 | 4.2 AS external routes .................................... 39 | |||
| 4.3 Routing protocol packets .............................. 39 | 4.3 Routing protocol packets .............................. 39 | |||
| 4.4 Basic implementation requirements ..................... 41 | 4.4 Basic implementation requirements ..................... 42 | |||
| 4.5 Optional OSPF capabilities ............................ 43 | 4.5 Optional OSPF capabilities ............................ 43 | |||
| 5 Protocol data structures .............................. 44 | 5 Protocol data structures .............................. 44 | |||
| 6 The Area Data Structure ............................... 46 | 6 The Area Data Structure ............................... 46 | |||
| 7 Bringing Up Adjacencies ............................... 49 | 7 Bringing Up Adjacencies ............................... 49 | |||
| 7.1 The Hello Protocol .................................... 49 | 7.1 The Hello Protocol .................................... 49 | |||
| 7.2 The Synchronization of Databases ...................... 50 | 7.2 The Synchronization of Databases ...................... 50 | |||
| 7.3 The Designated Router ................................. 51 | 7.3 The Designated Router ................................. 51 | |||
| 7.4 The Backup Designated Router .......................... 52 | 7.4 The Backup Designated Router .......................... 52 | |||
| 7.5 The graph of adjacencies .............................. 53 | 7.5 The graph of adjacencies .............................. 53 | |||
| 8 Protocol Packet Processing ............................ 54 | 8 Protocol Packet Processing ............................ 53 | |||
| 8.1 Sending protocol packets .............................. 54 | 8.1 Sending protocol packets .............................. 54 | |||
| 8.2 Receiving protocol packets ............................ 56 | 8.2 Receiving protocol packets ............................ 56 | |||
| 9 The Interface Data Structure .......................... 59 | 9 The Interface Data Structure .......................... 59 | |||
| 9.1 Interface states ...................................... 62 | 9.1 Interface states ...................................... 62 | |||
| 9.2 Events causing interface state changes ................ 64 | 9.2 Events causing interface state changes ................ 64 | |||
| 9.3 The Interface state machine ........................... 66 | 9.3 The Interface state machine ........................... 66 | |||
| 9.4 Electing the Designated Router ........................ 68 | 9.4 Electing the Designated Router ........................ 68 | |||
| 9.5 Sending Hello packets ................................. 71 | 9.5 Sending Hello packets ................................. 71 | |||
| 9.5.1 Sending Hello packets on NBMA networks ................ 72 | 9.5.1 Sending Hello packets on NBMA networks ................ 72 | |||
| 10 The Neighbor Data Structure ........................... 73 | 10 The Neighbor Data Structure ........................... 73 | |||
| skipping to change at page 4, line 23 ¶ | skipping to change at page 4, line 23 ¶ | |||
| 10.9 Sending Link State Request Packets .................... 94 | 10.9 Sending Link State Request Packets .................... 94 | |||
| 10.10 An Example ............................................ 95 | 10.10 An Example ............................................ 95 | |||
| 11 The Routing Table Structure ........................... 95 | 11 The Routing Table Structure ........................... 95 | |||
| 11.1 Routing table lookup ................................. 100 | 11.1 Routing table lookup ................................. 100 | |||
| 11.2 Sample routing table, without areas .................. 101 | 11.2 Sample routing table, without areas .................. 101 | |||
| 11.3 Sample routing table, with areas ..................... 102 | 11.3 Sample routing table, with areas ..................... 102 | |||
| 12 Link State Advertisements (LSAs) ..................... 103 | 12 Link State Advertisements (LSAs) ..................... 103 | |||
| 12.1 The LSA Header ....................................... 105 | 12.1 The LSA Header ....................................... 105 | |||
| 12.1.1 LS age ............................................... 105 | 12.1.1 LS age ............................................... 105 | |||
| 12.1.2 Options .............................................. 106 | 12.1.2 Options .............................................. 106 | |||
| 12.1.3 LS type .............................................. 106 | 12.1.3 LS type .............................................. 107 | |||
| 12.1.4 Link State ID ........................................ 106 | 12.1.4 Link State ID ........................................ 108 | |||
| 12.1.5 Advertising Router ................................... 108 | 12.1.5 Advertising Router ................................... 109 | |||
| 12.1.6 LS sequence number ................................... 108 | 12.1.6 LS sequence number ................................... 109 | |||
| 12.1.7 LS checksum .......................................... 109 | 12.1.7 LS checksum .......................................... 110 | |||
| 12.2 The link state database .............................. 110 | 12.2 The link state database .............................. 110 | |||
| 12.3 Representation of TOS ................................ 111 | 12.3 Representation of TOS ................................ 111 | |||
| 12.4 Originating LSAs ..................................... 112 | 12.4 Originating LSAs ..................................... 112 | |||
| 12.4.1 Router-LSAs .......................................... 115 | 12.4.1 Router-LSAs .......................................... 115 | |||
| 12.4.1.1 Describing point-to-point interfaces ................. 117 | 12.4.1.1 Describing point-to-point interfaces ................. 118 | |||
| 12.4.1.2 Describing broadcast and NBMA interfaces ............. 118 | 12.4.1.2 Describing broadcast and NBMA interfaces ............. 119 | |||
| 12.4.1.3 Describing virtual links ............................. 119 | 12.4.1.3 Describing virtual links ............................. 119 | |||
| 12.4.1.4 Describing Point-to-MultiPoint interfaces ............ 119 | 12.4.1.4 Describing Point-to-MultiPoint interfaces ............ 120 | |||
| 12.4.1.5 Examples of router-LSAs .............................. 119 | 12.4.1.5 Examples of router-LSAs .............................. 120 | |||
| 12.4.2 Network-LSAs ......................................... 122 | 12.4.2 Network-LSAs ......................................... 122 | |||
| 12.4.2.1 Examples of network-LSAs ............................. 122 | 12.4.2.1 Examples of network-LSAs ............................. 123 | |||
| 12.4.3 Summary-LSAs ......................................... 123 | 12.4.3 Summary-LSAs ......................................... 123 | |||
| 12.4.3.1 Originating summary-LSAs into stub areas ............. 126 | 12.4.3.1 Originating summary-LSAs into stub areas ............. 126 | |||
| 12.4.3.2 Examples of summary-LSAs ............................. 126 | 12.4.3.2 Examples of summary-LSAs ............................. 127 | |||
| 12.4.4 AS-external-LSAs ..................................... 127 | 12.4.4 AS-external-LSAs ..................................... 128 | |||
| 12.4.4.1 Examples of AS-external-LSAs ......................... 128 | 12.4.4.1 Examples of AS-external-LSAs ......................... 128 | |||
| 13 The Flooding Procedure ............................... 130 | 13 The Flooding Procedure ............................... 130 | |||
| 13.1 Determining which LSA is newer ....................... 133 | 13.1 Determining which LSA is newer ....................... 134 | |||
| 13.2 Installing LSAs in the database ...................... 134 | 13.2 Installing LSAs in the database ...................... 134 | |||
| 13.3 Next step in the flooding procedure .................. 135 | 13.3 Next step in the flooding procedure .................. 135 | |||
| 13.4 Receiving self-originated LSAs ....................... 138 | 13.4 Receiving self-originated LSAs ....................... 138 | |||
| 13.5 Sending Link State Acknowledgment packets ............ 138 | 13.5 Sending Link State Acknowledgment packets ............ 139 | |||
| 13.6 Retransmitting LSAs .................................. 141 | 13.6 Retransmitting LSAs .................................. 141 | |||
| 13.7 Receiving link state acknowledgments ................. 141 | 13.7 Receiving link state acknowledgments ................. 142 | |||
| 14 Aging The Link State Database ........................ 142 | 14 Aging The Link State Database ........................ 142 | |||
| 14.1 Premature aging of LSAs .............................. 142 | 14.1 Premature aging of LSAs .............................. 143 | |||
| 15 Virtual Links ........................................ 143 | 15 Virtual Links ........................................ 144 | |||
| 16 Calculation of the routing table ..................... 145 | 16 Calculation of the routing table ..................... 146 | |||
| 16.1 Calculating the shortest-path tree for an area ....... 146 | 16.1 Calculating the shortest-path tree for an area ....... 147 | |||
| 16.1.1 The next hop calculation ............................. 152 | 16.1.1 The next hop calculation ............................. 152 | |||
| 16.2 Calculating the inter-area routes .................... 153 | 16.2 Calculating the inter-area routes .................... 153 | |||
| 16.3 Examining transit areas' summary-LSAs ................ 154 | 16.3 Examining transit areas' summary-LSAs ................ 155 | |||
| 16.4 Calculating AS external routes ....................... 157 | 16.4 Calculating AS external routes ....................... 157 | |||
| 16.4.1 External path preferences ............................ 159 | 16.4.1 External path preferences ............................ 159 | |||
| 16.5 Incremental updates -- summary-LSAs .................. 159 | 16.5 Incremental updates -- summary-LSAs .................. 160 | |||
| 16.6 Incremental updates -- AS-external-LSAs .............. 160 | 16.6 Incremental updates -- AS-external-LSAs .............. 161 | |||
| 16.7 Events generated as a result of routing table changes 161 | 16.7 Events generated as a result of routing table changes 161 | |||
| 16.8 Equal-cost multipath ................................. 161 | 16.8 Equal-cost multipath ................................. 162 | |||
| 16.9 Building the non-zero-TOS portion of the routing table 162 | 16.9 Building the non-zero-TOS portion of the routing table 162 | |||
| Footnotes ............................................ 164 | Footnotes ............................................ 165 | |||
| References ........................................... 168 | References ........................................... 169 | |||
| A OSPF data formats .................................... 170 | A OSPF data formats .................................... 171 | |||
| A.1 Encapsulation of OSPF packets ........................ 170 | A.1 Encapsulation of OSPF packets ........................ 171 | |||
| A.2 The Options field .................................... 172 | A.2 The Options field .................................... 173 | |||
| A.3 OSPF Packet Formats .................................. 174 | A.3 OSPF Packet Formats .................................. 175 | |||
| A.3.1 The OSPF packet header ............................... 175 | A.3.1 The OSPF packet header ............................... 176 | |||
| A.3.2 The Hello packet ..................................... 177 | A.3.2 The Hello packet ..................................... 178 | |||
| A.3.3 The Database Description packet ...................... 179 | A.3.3 The Database Description packet ...................... 180 | |||
| A.3.4 The Link State Request packet ........................ 181 | A.3.4 The Link State Request packet ........................ 182 | |||
| A.3.5 The Link State Update packet ......................... 183 | A.3.5 The Link State Update packet ......................... 184 | |||
| A.3.6 The Link State Acknowledgment packet ................. 185 | A.3.6 The Link State Acknowledgment packet ................. 186 | |||
| A.4 LSA formats .......................................... 187 | A.4 LSA formats .......................................... 188 | |||
| A.4.1 The LSA header ....................................... 188 | A.4.1 The LSA header ....................................... 189 | |||
| A.4.2 Router-LSAs .......................................... 190 | A.4.2 Router-LSAs .......................................... 191 | |||
| A.4.3 Network-LSAs ......................................... 194 | A.4.3 Network-LSAs ......................................... 195 | |||
| A.4.4 Summary-LSAs ......................................... 195 | A.4.4 Summary-LSAs ......................................... 196 | |||
| A.4.5 AS-external-LSAs ..................................... 197 | A.4.5 AS-external-LSAs ..................................... 198 | |||
| B Architectural Constants .............................. 199 | B Architectural Constants .............................. 200 | |||
| C Configurable Constants ............................... 201 | C Configurable Constants ............................... 202 | |||
| C.1 Global parameters .................................... 201 | C.1 Global parameters .................................... 202 | |||
| C.2 Area parameters ...................................... 202 | C.2 Area parameters ...................................... 203 | |||
| C.3 Router interface parameters .......................... 203 | C.3 Router interface parameters .......................... 204 | |||
| C.4 Virtual link parameters .............................. 205 | C.4 Virtual link parameters .............................. 206 | |||
| C.5 NBMA network parameters .............................. 206 | C.5 NBMA network parameters .............................. 207 | |||
| C.6 Point-to-MultiPoint network parameters ............... 207 | C.6 Point-to-MultiPoint network parameters ............... 208 | |||
| C.7 Host route parameters ................................ 207 | C.7 Host route parameters ................................ 208 | |||
| D Authentication ....................................... 208 | D Authentication ....................................... 209 | |||
| D.1 Null authentication .................................. 208 | D.1 Null authentication .................................. 209 | |||
| D.2 Simple password authentication ....................... 208 | D.2 Simple password authentication ....................... 209 | |||
| D.3 Cryptographic authentication ......................... 209 | D.3 Cryptographic authentication ......................... 210 | |||
| D.4 Message generation ................................... 211 | D.4 Message generation ................................... 212 | |||
| D.4.1 Generating Null authentication ....................... 212 | D.4.1 Generating Null authentication ....................... 213 | |||
| D.4.2 Generating Simple password authentication ............ 212 | D.4.2 Generating Simple password authentication ............ 213 | |||
| D.4.3 Generating Cryptographic authentication .............. 212 | D.4.3 Generating Cryptographic authentication .............. 213 | |||
| D.5 Message verification ................................. 214 | D.5 Message verification ................................. 215 | |||
| D.5.1 Verifying Null authentication ........................ 214 | D.5.1 Verifying Null authentication ........................ 215 | |||
| D.5.2 Verifying Simple password authentication ............. 214 | D.5.2 Verifying Simple password authentication ............. 215 | |||
| D.5.3 Verifying Cryptographic authentication ............... 214 | D.5.3 Verifying Cryptographic authentication ............... 215 | |||
| E An algorithm for assigning Link State IDs ............ 216 | E An algorithm for assigning Link State IDs ............ 217 | |||
| F Multiple interfaces to the same network/subnet ....... 218 | F Multiple interfaces to the same network/subnet ....... 219 | |||
| G Differences from RFC 1583 ............................ 219 | G Differences from RFC 1583 ............................ 220 | |||
| G.1 Enhancements to OSPF authentication .................. 219 | G.1 Enhancements to OSPF authentication .................. 220 | |||
| G.2 Addition of Point-to-MultiPoint interface ............ 219 | G.2 Addition of Point-to-MultiPoint interface ............ 220 | |||
| G.3 Support for overlapping area ranges .................. 220 | G.3 Support for overlapping area ranges .................. 221 | |||
| G.4 A modification to the flooding algorithm ............. 221 | G.4 A modification to the flooding algorithm ............. 222 | |||
| G.5 Introduction of the MinLSArrival constant ............ 221 | G.5 Introduction of the MinLSArrival constant ............ 222 | |||
| G.6 Optionally advertising point-to-point links as subnets 222 | G.6 Optionally advertising point-to-point links as subnets 223 | |||
| G.7 Advertising same external route from multiple areas .. 222 | G.7 Advertising same external route from multiple areas .. 223 | |||
| G.8 Retransmission of initial Database Description packets 224 | G.8 Retransmission of initial Database Description packets 225 | |||
| G.9 Detecting interface MTU mismatches ................... 224 | G.9 Detecting interface MTU mismatches ................... 225 | |||
| Security Considerations .............................. 225 | Security Considerations .............................. 226 | |||
| Author's Address ..................................... 225 | Author's Address ..................................... 226 | |||
| 1. Introduction | 1. Introduction | |||
| This document is a specification of the Open Shortest Path First | This document is a specification of the Open Shortest Path First | |||
| (OSPF) TCP/IP internet routing protocol. OSPF is classified as an | (OSPF) TCP/IP internet routing protocol. OSPF is classified as an | |||
| Interior Gateway Protocol (IGP). This means that it distributes | Interior Gateway Protocol (IGP). This means that it distributes | |||
| routing information between routers belonging to a single Autonomous | routing information between routers belonging to a single Autonomous | |||
| System. The OSPF protocol is based on link-state or SPF technology. | System. The OSPF protocol is based on link-state or SPF technology. | |||
| This is a departure from the Bellman-Ford base used by traditional | This is a departure from the Bellman-Ford base used by traditional | |||
| TCP/IP internet routing protocols. | TCP/IP internet routing protocols. | |||
| skipping to change at page 22, line 18 ¶ | skipping to change at page 22, line 18 ¶ | |||
| N3 RT3 7 | N3 RT3 7 | |||
| N4 RT3 8 | N4 RT3 8 | |||
| Ib * 7 | Ib * 7 | |||
| Ia RT10 12 | Ia RT10 12 | |||
| N6 RT10 8 | N6 RT10 8 | |||
| N7 RT10 12 | N7 RT10 12 | |||
| N8 RT10 10 | N8 RT10 10 | |||
| N9 RT10 11 | N9 RT10 11 | |||
| N10 RT10 13 | N10 RT10 13 | |||
| N11 RT10 14 | N11 RT10 14 | |||
| H1 RT10 21 | ||||
| __________________________________ | __________________________________ | |||
| RT5 RT5 6 | RT5 RT5 6 | |||
| RT7 RT10 8 | RT7 RT10 8 | |||
| Table 2: The portion of Router RT6's routing table listing local | Table 2: The portion of Router RT6's routing table listing local | |||
| destinations. | destinations. | |||
| Routes to networks belonging to other AS'es (such as N12) appear | Routes to networks belonging to other AS'es (such as N12) appear | |||
| as dashed lines on the shortest path tree in Figure 5. Use of | as dashed lines on the shortest path tree in Figure 5. Use of | |||
| this externally derived routing information is considered in the | this externally derived routing information is considered in the | |||
| skipping to change at page 28, line 49 ¶ | skipping to change at page 29, line 4 ¶ | |||
| Figure 7 shows the resulting link-state database for the Area 1. | Figure 7 shows the resulting link-state database for the Area 1. | |||
| The figure completely describes that area's intra-area routing. | The figure completely describes that area's intra-area routing. | |||
| It also shows the complete view of the internet for the two | It also shows the complete view of the internet for the two | |||
| internal routers RT1 and RT2. It is the job of the area border | internal routers RT1 and RT2. It is the job of the area border | |||
| routers, RT3 and RT4, to advertise into Area 1 the distances to | routers, RT3 and RT4, to advertise into Area 1 the distances to | |||
| all destinations external to the area. These are indicated in | all destinations external to the area. These are indicated in | |||
| Figure 7 by the dashed stub routes. Also, RT3 and RT4 must | Figure 7 by the dashed stub routes. Also, RT3 and RT4 must | |||
| advertise into Area 1 the location of the AS boundary routers | advertise into Area 1 the location of the AS boundary routers | |||
| RT5 and RT7. Finally, AS-external-LSAs from RT5 and RT7 are | RT5 and RT7. Finally, AS-external-LSAs from RT5 and RT7 are | |||
| flooded throughout the entire AS, and in particular throughout | flooded throughout the entire AS, and in particular throughout | |||
| Area 1. These LSAs are included in Area 1's database, and yield | ||||
| routes to Networks N12-N15. | ||||
| ........................... | ........................... | |||
| . + . | . + . | |||
| . | 3+---+ . N12 N14 | . | 3+---+ . N12 N14 | |||
| . N1|--|RT1|\ 1 . \ N13 / | . N1|--|RT1|\ 1 . \ N13 / | |||
| . | +---+ \ . 8\ |8/8 | . | +---+ \ . 8\ |8/8 | |||
| . + \ ____ . \|/ | . + \ ____ . \|/ | |||
| . / \ 1+---+8 8+---+6 | . / \ 1+---+8 8+---+6 | |||
| . * N3 *---|RT4|------|RT5|--------+ | . * N3 *---|RT4|------|RT5|--------+ | |||
| . \____/ +---+ +---+ | | . \____/ +---+ +---+ | | |||
| . + / \ . |7 | | . + / \ . |7 | | |||
| skipping to change at page 30, line 4 ¶ | skipping to change at page 30, line 4 ¶ | |||
| . +--+SLIP +----+ . . +---+ . | . +--+SLIP +----+ . . +---+ . | |||
| . |2 . . |4 . | . |2 . . |4 . | |||
| . | . . | . | . | . . | . | |||
| . +---------+ . . +--------+ . | . +---------+ . . +--------+ . | |||
| . N10 . . N7 . | . N10 . . N7 . | |||
| . . .Area 2 . | . . .Area 2 . | |||
| .Area 3 . ................................ | .Area 3 . ................................ | |||
| .......................... | .......................... | |||
| Figure 6: A sample OSPF area configuration | Figure 6: A sample OSPF area configuration | |||
| Area 1. These LSAs are included in Area 1's database, and yield | ||||
| routes to Networks N12-N15. | ||||
| Routers RT3 and RT4 must also summarize Area 1's topology for | Routers RT3 and RT4 must also summarize Area 1's topology for | |||
| distribution to the backbone. Their backbone LSAs are shown in | distribution to the backbone. Their backbone LSAs are shown in | |||
| Table 4. These summaries show which networks are contained in | Table 4. These summaries show which networks are contained in | |||
| Area 1 (i.e., Networks N1-N4), and the distance to these | Area 1 (i.e., Networks N1-N4), and the distance to these | |||
| networks from the routers RT3 and RT4 respectively. | networks from the routers RT3 and RT4 respectively. | |||
| The link-state database for the backbone is shown in Figure 8. | The link-state database for the backbone is shown in Figure 8. | |||
| The set of routers pictured are the backbone routers. Router | The set of routers pictured are the backbone routers. Router | |||
| RT11 is a backbone router because it belongs to two areas. In | RT11 is a backbone router because it belongs to two areas. In | |||
| order to make the backbone connected, a virtual link has been | order to make the backbone connected, a virtual link has been | |||
| skipping to change at page 30, line 35 ¶ | skipping to change at page 30, line 38 ¶ | |||
| The backbone enables the exchange of summary information between | The backbone enables the exchange of summary information between | |||
| area border routers. Every area border router hears the area | area border routers. Every area border router hears the area | |||
| summaries from all other area border routers. It then forms a | summaries from all other area border routers. It then forms a | |||
| picture of the distance to all networks outside of its area by | picture of the distance to all networks outside of its area by | |||
| examining the collected LSAs, and adding in the backbone | examining the collected LSAs, and adding in the backbone | |||
| distance to each advertising router. | distance to each advertising router. | |||
| Again using Routers RT3 and RT4 as an example, the procedure | Again using Routers RT3 and RT4 as an example, the procedure | |||
| goes as follows: They first calculate the SPF tree for the | goes as follows: They first calculate the SPF tree for the | |||
| backbone. This gives the distances to all other area border | ||||
| routers. Also noted are the distances to networks (Ia and Ib) | ||||
| and AS boundary routers (RT5 and RT7) that belong to the | ||||
| backbone. This calculation is shown in Table 5. | ||||
| Network RT3 adv. RT4 adv. | Network RT3 adv. RT4 adv. | |||
| _____________________________ | _____________________________ | |||
| N1 4 4 | N1 4 4 | |||
| N2 4 4 | N2 4 4 | |||
| N3 1 1 | N3 1 1 | |||
| N4 2 3 | N4 2 3 | |||
| Table 4: Networks advertised to the backbone | Table 4: Networks advertised to the backbone | |||
| by Routers RT3 and RT4. | by Routers RT3 and RT4. | |||
| skipping to change at page 32, line 39 ¶ | skipping to change at page 32, line 39 ¶ | |||
| N14| | |8 | | | | | | N14| | |8 | | | | | | |||
| N15| | | | |9 | | | | N15| | | | |9 | | | | |||
| Figure 8: The backbone's database. | Figure 8: The backbone's database. | |||
| Networks and routers are represented by vertices. | Networks and routers are represented by vertices. | |||
| An edge of cost X connects Vertex A to Vertex B iff | An edge of cost X connects Vertex A to Vertex B iff | |||
| the intersection of Column A and Row B is marked | the intersection of Column A and Row B is marked | |||
| with an X. | with an X. | |||
| backbone. This gives the distances to all other area border | ||||
| routers. Also noted are the distances to networks (Ia and Ib) | ||||
| and AS boundary routers (RT5 and RT7) that belong to the | ||||
| backbone. This calculation is shown in Table 5. | ||||
| Next, by looking at the area summaries from these area border | Next, by looking at the area summaries from these area border | |||
| routers, RT3 and RT4 can determine the distance to all networks | routers, RT3 and RT4 can determine the distance to all networks | |||
| outside their area. These distances are then advertised | outside their area. These distances are then advertised | |||
| internally to the area by RT3 and RT4. The advertisements that | internally to the area by RT3 and RT4. The advertisements that | |||
| Router RT3 and RT4 will make into Area 1 are shown in Table 6. | Router RT3 and RT4 will make into Area 1 are shown in Table 6. | |||
| Note that Table 6 assumes that an area range has been configured | Note that Table 6 assumes that an area range has been configured | |||
| for the backbone which groups Ia and Ib into a single LSA. | for the backbone which groups Ia and Ib into a single LSA. | |||
| The information imported into Area 1 by Routers RT3 and RT4 | ||||
| enables an internal router, such as RT1, to choose an area | ||||
| border router intelligently. Router RT1 would use RT4 for | ||||
| traffic to Network N6, RT3 for traffic to Network N10, and would | ||||
| dist from dist from | dist from dist from | |||
| RT3 RT4 | RT3 RT4 | |||
| __________________________________ | __________________________________ | |||
| to RT3 * 21 | to RT3 * 21 | |||
| to RT4 22 * | to RT4 22 * | |||
| to RT7 20 14 | to RT7 20 14 | |||
| to RT10 15 22 | to RT10 15 22 | |||
| to RT11 18 25 | ||||
| __________________________________ | __________________________________ | |||
| to Ia 20 27 | to Ia 20 27 | |||
| to Ib 15 22 | to Ib 15 22 | |||
| __________________________________ | __________________________________ | |||
| to RT5 14 8 | to RT5 14 8 | |||
| to RT7 20 14 | to RT7 20 14 | |||
| Table 5: Backbone distances calculated | Table 5: Backbone distances calculated | |||
| by Routers RT3 and RT4. | by Routers RT3 and RT4. | |||
| The information imported into Area 1 by Routers RT3 and RT4 | ||||
| enables an internal router, such as RT1, to choose an area | ||||
| border router intelligently. Router RT1 would use RT4 for | ||||
| traffic to Network N6, RT3 for traffic to Network N10, and would | ||||
| load share between the two for traffic to Network N8. | ||||
| Router RT1 can also determine in this manner the shortest path | ||||
| to the AS boundary routers RT5 and RT7. Then, by looking at RT5 | ||||
| and RT7's AS-external-LSAs, Router RT1 can decide between RT5 or | ||||
| RT7 when sending to a destination in another Autonomous System | ||||
| (one of the networks N12-N15). | ||||
| Destination RT3 adv. RT4 adv. | ||||
| _________________________________ | _________________________________ | |||
| Ia,Ib 20 27 | Ia,Ib 20 27 | |||
| N6 16 15 | N6 16 15 | |||
| N7 20 19 | N7 20 19 | |||
| N8 18 18 | N8 18 18 | |||
| N9-N11,H1 29 36 | N9-N11,H1 29 36 | |||
| _________________________________ | _________________________________ | |||
| RT5 14 8 | RT5 14 8 | |||
| RT7 20 14 | RT7 20 14 | |||
| Table 6: Destinations advertised into Area 1 | Table 6: Destinations advertised into Area 1 | |||
| by Routers RT3 and RT4. | by Routers RT3 and RT4. | |||
| load share between the two for traffic to Network N8. | ||||
| Router RT1 can also determine in this manner the shortest path | ||||
| to the AS boundary routers RT5 and RT7. Then, by looking at RT5 | ||||
| and RT7's AS-external-LSAs, Router RT1 can decide between RT5 or | ||||
| RT7 when sending to a destination in another Autonomous System | ||||
| (one of the networks N12-N15). | ||||
| Note that a failure of the line between Routers RT6 and RT10 | Note that a failure of the line between Routers RT6 and RT10 | |||
| will cause the backbone to become disconnected. Configuring a | will cause the backbone to become disconnected. Configuring a | |||
| virtual link between Routers RT7 and RT10 will give the backbone | virtual link between Routers RT7 and RT10 will give the backbone | |||
| more connectivity and more resistance to such failures. | more connectivity and more resistance to such failures. | |||
| 3.5. IP subnetting support | 3.5. IP subnetting support | |||
| OSPF attaches an IP address mask to each advertised route. The | OSPF attaches an IP address mask to each advertised route. The | |||
| mask indicates the range of addresses being described by the | mask indicates the range of addresses being described by the | |||
| particular route. For example, a summary-LSA for the | particular route. For example, a summary-LSA for the | |||
| skipping to change at page 41, line 13 ¶ | skipping to change at page 41, line 13 ¶ | |||
| multicast address. | multicast address. | |||
| LS LSA LSA description | LS LSA LSA description | |||
| type name | type name | |||
| ________________________________________________________ | ________________________________________________________ | |||
| 1 Router-LSAs Originated by all routers. | 1 Router-LSAs Originated by all routers. | |||
| This LSA describes | This LSA describes | |||
| the collected states of the | the collected states of the | |||
| router's interfaces to an | router's interfaces to an | |||
| area. Flooded throughout a | area. Flooded throughout a | |||
| single area only. | ||||
| ________________________________________________________ | ________________________________________________________ | |||
| 2 Network-LSAs Originated for broadcast | 2 Network-LSAs Originated for broadcast | |||
| and NBMA networks by | and NBMA networks by | |||
| the Designated Router. This | the Designated Router. This | |||
| LSA contains the | LSA contains the | |||
| list of routers connected | list of routers connected | |||
| to the network. Flooded | to the network. Flooded | |||
| throughout a single area only. | throughout a single area only. | |||
| ________________________________________________________ | ________________________________________________________ | |||
| 3,4 Summary-LSAs Originated by area border | 3,4 Summary-LSAs Originated by area border | |||
| routers, and flooded through- | routers, and flooded through- | |||
| out the LSA's associated | out the LSA's associated | |||
| area. Each summary-LSA | area. Each summary-LSA | |||
| describes a route to a | describes a route to a | |||
| destination outside the area, | destination outside the area, | |||
| yet still inside the AS | yet still inside the AS | |||
| (i.e., an inter-area route). | (i.e., an inter-area route). | |||
| Type 3 summary-LSAs describe | Type 3 summary-LSAs describe | |||
| routes to networks. Type 4 | routes to networks. Type 4 | |||
| summary-LSAs describe | summary-LSAs describe | |||
| routes to AS boundary routers. | ||||
| ________________________________________________________ | ________________________________________________________ | |||
| 5 AS-external-LSAs Originated by AS boundary | 5 AS-external-LSAs Originated by AS boundary | |||
| routers, and flooded through- | routers, and flooded through- | |||
| out the AS. Each | out the AS. Each | |||
| AS-external-LSA describes | AS-external-LSA describes | |||
| a route to a destination in | a route to a destination in | |||
| another Autonomous System. | another Autonomous System. | |||
| Default routes for the AS can | Default routes for the AS can | |||
| also be described by | also be described by | |||
| AS-external-LSAs. | AS-external-LSAs. | |||
| skipping to change at page 46, line 44 ¶ | skipping to change at page 47, line 5 ¶ | |||
| The OSPF backbone is the special OSPF area responsible for | The OSPF backbone is the special OSPF area responsible for | |||
| disseminating inter-area routing information. | disseminating inter-area routing information. | |||
| The area link-state database consists of the collection of router- | The area link-state database consists of the collection of router- | |||
| LSAs, network-LSAs and summary-LSAs that have originated from the | LSAs, network-LSAs and summary-LSAs that have originated from the | |||
| area's routers. This information is flooded throughout a single | area's routers. This information is flooded throughout a single | |||
| area only. The list of AS-external-LSAs (see Section 5) is also | area only. The list of AS-external-LSAs (see Section 5) is also | |||
| considered to be part of each area's link-state database. | considered to be part of each area's link-state database. | |||
| Area ID | ||||
| A 32-bit number identifying the area. The Area ID of 0.0.0.0 is | ||||
| reserved for the backbone. | ||||
| List of area address ranges | ||||
| In order to aggregate routing information at area boundaries, | ||||
| +----+ | +----+ | |||
| |RT10|------+ | |RT10|------+ | |||
| +----+ \+-------------+ | +----+ \+-------------+ | |||
| / \ |Routing Table| | / \ |Routing Table| | |||
| / \ +-------------+ | / \ +-------------+ | |||
| / \ | / \ | |||
| +------+ / \ +--------+ | +------+ / \ +--------+ | |||
| |Area 2|---+ +---|Backbone| | |Area 2|---+ +---|Backbone| | |||
| +------+***********+ +--------+ | +------+***********+ +--------+ | |||
| / \ * / \ | / \ * / \ | |||
| skipping to change at page 47, line 32 ¶ | skipping to change at page 47, line 33 ¶ | |||
| |Neighbor| |Neighbor| | |Neighbor RT11| |Neighbor RT6| | |Neighbor| |Neighbor| | |Neighbor RT11| |Neighbor RT6| | |||
| | RT8 | | RT7 | | +-------------+ +------------+ | | RT8 | | RT7 | | +-------------+ +------------+ | |||
| +--------+ +--------+ | | +--------+ +--------+ | | |||
| | | | | |||
| +-------------+ | +-------------+ | |||
| |Neighbor RT11| | |Neighbor RT11| | |||
| +-------------+ | +-------------+ | |||
| Figure 9: Router RT10's Data structures | Figure 9: Router RT10's Data structures | |||
| Area ID | ||||
| A 32-bit number identifying the area. The Area ID of 0.0.0.0 is | ||||
| reserved for the backbone. | ||||
| List of area address ranges | ||||
| In order to aggregate routing information at area boundaries, | ||||
| area address ranges can be employed. Each address range is | area address ranges can be employed. Each address range is | |||
| specified by an [address,mask] pair and a status indication of | specified by an [address,mask] pair and a status indication of | |||
| either Advertise or DoNotAdvertise (see Section 12.4.3). | either Advertise or DoNotAdvertise (see Section 12.4.3). | |||
| Associated router interfaces | Associated router interfaces | |||
| This router's interfaces connecting to the area. A router | This router's interfaces connecting to the area. A router | |||
| interface belongs to one and only one area (or the backbone). | interface belongs to one and only one area (or the backbone). | |||
| For the backbone area this list includes all the virtual links. | For the backbone area this list includes all the virtual links. | |||
| A virtual link is identified by the Router ID of its other | A virtual link is identified by the Router ID of its other | |||
| endpoint; its cost is the cost of the shortest intra-area path | endpoint; its cost is the cost of the shortest intra-area path | |||
| skipping to change at page 53, line 27 ¶ | skipping to change at page 53, line 32 ¶ | |||
| Two graphs are possible, depending on whether a Designated | Two graphs are possible, depending on whether a Designated | |||
| Router is elected for the network. On physical point-to-point | Router is elected for the network. On physical point-to-point | |||
| networks, Point-to-MultiPoint networks and virtual links, | networks, Point-to-MultiPoint networks and virtual links, | |||
| neighboring routers become adjacent whenever they can | neighboring routers become adjacent whenever they can | |||
| communicate directly. In contrast, on broadcast and NBMA | communicate directly. In contrast, on broadcast and NBMA | |||
| networks only the Designated Router and the Backup Designated | networks only the Designated Router and the Backup Designated | |||
| Router become adjacent to all other routers attached to the | Router become adjacent to all other routers attached to the | |||
| network. | network. | |||
| These graphs are shown in Figure 10. It is assumed that Router | ||||
| RT7 has become the Designated Router, and Router RT3 the Backup | ||||
| Designated Router, for the Network N2. The Backup Designated | ||||
| Router performs a lesser function during the flooding procedure | ||||
| than the Designated Router (see Section 13.3). This is the | ||||
| reason for the dashed lines connecting the Backup Designated | ||||
| Router RT3. | ||||
| 8. Protocol Packet Processing | ||||
| This section discusses the general processing of OSPF routing | ||||
| protocol packets. It is very important that the router link-state | ||||
| 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 routing protocol packets travel a | ||||
| +---+ +---+ | +---+ +---+ | |||
| |RT1|------------|RT2| o---------------o | |RT1|------------|RT2| o---------------o | |||
| +---+ N1 +---+ RT1 RT2 | +---+ N1 +---+ RT1 RT2 | |||
| RT7 | RT7 | |||
| o---------+ | o---------+ | |||
| +---+ +---+ +---+ /|\ | | +---+ +---+ +---+ /|\ | | |||
| |RT7| |RT3| |RT4| / | \ | | |RT7| |RT3| |RT4| / | \ | | |||
| +---+ +---+ +---+ / | \ | | +---+ +---+ +---+ / | \ | | |||
| | | | / | \ | | | | | / | \ | | |||
| +-----------------------+ RT5o RT6o oRT4 | | +-----------------------+ RT5o RT6o oRT4 | | |||
| | | N2 * * * | | | | N2 * * * | | |||
| +---+ +---+ * * * | | +---+ +---+ * * * | | |||
| |RT5| |RT6| * * * | | |RT5| |RT6| * * * | | |||
| +---+ +---+ *** | | +---+ +---+ *** | | |||
| o---------+ | o---------+ | |||
| RT3 | RT3 | |||
| Figure 10: The graph of adjacencies | Figure 10: The graph of adjacencies | |||
| These graphs are shown in Figure 10. It is assumed that Router | ||||
| RT7 has become the Designated Router, and Router RT3 the Backup | ||||
| Designated Router, for the Network N2. The Backup Designated | ||||
| Router performs a lesser function during the flooding procedure | ||||
| than the Designated Router (see Section 13.3). This is the | ||||
| reason for the dashed lines connecting the Backup Designated | ||||
| Router RT3. | ||||
| 8. Protocol Packet Processing | ||||
| This section discusses the general processing of OSPF routing | ||||
| protocol packets. It is very important that the router link-state | ||||
| 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 routing protocol packets travel a | ||||
| single IP hop, except those sent over virtual links. | single IP hop, except those sent over virtual links. | |||
| All routing protocol packets begin with a standard header. The | All routing protocol packets begin with a standard header. The | |||
| sections below provide details on how to fill in and verify this | sections below provide details on how to fill in and verify this | |||
| standard header. Then, for each packet type, the section giving | standard header. Then, for each packet type, the section giving | |||
| more details on that particular packet type's processing is listed. | more details on that particular packet type's processing is listed. | |||
| 8.1. Sending protocol packets | 8.1. Sending protocol packets | |||
| When a router sends a routing protocol packet, it fills in the | When a router sends a routing protocol packet, it fills in the | |||
| skipping to change at page 102, line 22 ¶ | skipping to change at page 102, line 22 ¶ | |||
| N Ib 0 intra-area 7 * * | N Ib 0 intra-area 7 * * | |||
| N Ia 0 intra-area 12 RT10 * | N Ia 0 intra-area 12 RT10 * | |||
| N N6 0 intra-area 8 RT10 * | N N6 0 intra-area 8 RT10 * | |||
| N N7 0 intra-area 12 RT10 * | N N7 0 intra-area 12 RT10 * | |||
| N N8 0 intra-area 10 RT10 * | N N8 0 intra-area 10 RT10 * | |||
| N N9 0 intra-area 11 RT10 * | N N9 0 intra-area 11 RT10 * | |||
| N N10 0 intra-area 13 RT10 * | N N10 0 intra-area 13 RT10 * | |||
| N N11 0 intra-area 14 RT10 * | N N11 0 intra-area 14 RT10 * | |||
| N H1 0 intra-area 21 RT10 * | N H1 0 intra-area 21 RT10 * | |||
| R RT5 0 intra-area 6 RT5 * | R RT5 0 intra-area 6 RT5 * | |||
| R RT7 0 intra-area 8 RT10 * | ||||
| ____________________________________________________________ | ____________________________________________________________ | |||
| N N12 * type 1 ext. 10 RT10 RT7 | N N12 * type 1 ext. 10 RT10 RT7 | |||
| N N13 * type 1 ext. 14 RT5 RT5 | N N13 * type 1 ext. 14 RT5 RT5 | |||
| N N14 * type 1 ext. 14 RT5 RT5 | N N14 * type 1 ext. 14 RT5 RT5 | |||
| N N15 * type 1 ext. 17 RT10 RT7 | N N15 * type 1 ext. 17 RT10 RT7 | |||
| Table 12: The routing table for Router RT6 | Table 12: The routing table for Router RT6 | |||
| (no configured areas). | (no configured areas). | |||
| 11.3. Sample routing table, with areas | 11.3. Sample routing table, with areas | |||
| skipping to change at page 104, line 12 ¶ | skipping to change at page 104, line 12 ¶ | |||
| Each LSA begins with a standard 20-byte header. This LSA header is | Each LSA begins with a standard 20-byte header. This LSA header is | |||
| discussed below. | discussed below. | |||
| Type Dest Area Path Type Cost Next Adv. | Type Dest Area Path Type Cost Next Adv. | |||
| Hops(s) Router(s) | Hops(s) Router(s) | |||
| __________________________________________________________________ | __________________________________________________________________ | |||
| N N1 1 intra-area 4 RT1 * | N N1 1 intra-area 4 RT1 * | |||
| N N2 1 intra-area 4 RT2 * | N N2 1 intra-area 4 RT2 * | |||
| N N3 1 intra-area 1 * * | N N3 1 intra-area 1 * * | |||
| N N4 1 intra-area 3 RT3 * | N N4 1 intra-area 3 RT3 * | |||
| R RT3 1 intra-area 1 * * | ||||
| __________________________________________________________________ | __________________________________________________________________ | |||
| N Ib 0 intra-area 22 RT5 * | N Ib 0 intra-area 22 RT5 * | |||
| N Ia 0 intra-area 27 RT5 * | N Ia 0 intra-area 27 RT5 * | |||
| R RT3 0 intra-area 21 RT5 * | R RT3 0 intra-area 21 RT5 * | |||
| R RT5 0 intra-area 8 * * | R RT5 0 intra-area 8 * * | |||
| R RT7 0 intra-area 14 RT5 * | R RT7 0 intra-area 14 RT5 * | |||
| R RT10 0 intra-area 22 RT5 * | R RT10 0 intra-area 22 RT5 * | |||
| R RT11 0 intra-area 25 RT5 * | R RT11 0 intra-area 25 RT5 * | |||
| __________________________________________________________________ | __________________________________________________________________ | |||
| N N6 0 inter-area 15 RT5 RT7 | N N6 0 inter-area 15 RT5 RT7 | |||
| N N7 0 inter-area 19 RT5 RT7 | N N7 0 inter-area 19 RT5 RT7 | |||
| N N8 0 inter-area 18 RT5 RT7 | N N8 0 inter-area 18 RT5 RT7 | |||
| N N9-N11,H1 0 inter-area 36 RT5 RT11 | ||||
| __________________________________________________________________ | __________________________________________________________________ | |||
| N N12 * type 1 ext. 16 RT5 RT5,RT7 | N N12 * type 1 ext. 16 RT5 RT5,RT7 | |||
| N N13 * type 1 ext. 16 RT5 RT5 | N N13 * type 1 ext. 16 RT5 RT5 | |||
| N N14 * type 1 ext. 16 RT5 RT5 | N N14 * type 1 ext. 16 RT5 RT5 | |||
| N N15 * type 1 ext. 23 RT5 RT7 | N N15 * type 1 ext. 23 RT5 RT7 | |||
| Table 13: Router RT4's routing table | Table 13: Router RT4's routing table | |||
| in the presence of areas. | in the presence of areas. | |||
| Type Dest Area Path Type Cost Next Adv. | Type Dest Area Path Type Cost Next Adv. | |||
| Hop(s) Router(s) | Hop(s) Router(s) | |||
| ________________________________________________________________ | ________________________________________________________________ | |||
| N Ib 0 intra-area 16 RT3 * | N Ib 0 intra-area 16 RT3 * | |||
| N Ia 0 intra-area 21 RT3 * | N Ia 0 intra-area 21 RT3 * | |||
| R RT3 0 intra-area 1 * * | R RT3 0 intra-area 1 * * | |||
| R RT10 0 intra-area 16 RT3 * | R RT10 0 intra-area 16 RT3 * | |||
| R RT11 0 intra-area 19 RT3 * | ||||
| ________________________________________________________________ | ________________________________________________________________ | |||
| N N9-N11,H1 0 inter-area 30 RT3 RT11 | N N9-N11,H1 0 inter-area 30 RT3 RT11 | |||
| Table 14: Changes resulting from an | Table 14: Changes resulting from an | |||
| additional virtual link. | additional virtual link. | |||
| 12.1. The LSA Header | 12.1. The LSA Header | |||
| The LSA header contains the LS type, Link State ID and | The LSA header contains the LS type, Link State ID and | |||
| Advertising Router fields. The combination of these three | Advertising Router fields. The combination of these three | |||
| skipping to change at page 106, line 47 ¶ | skipping to change at page 107, line 16 ¶ | |||
| The LS type field dictates the format and function of the | The LS type field dictates the format and function of the | |||
| LSA. LSAs of different types have different names (e.g., | LSA. LSAs of different types have different names (e.g., | |||
| router-LSAs or network-LSAs). All LSA types defined by this | router-LSAs or network-LSAs). All LSA types defined by this | |||
| memo, except the AS-external-LSAs (LS type = 5), are flooded | memo, except the AS-external-LSAs (LS type = 5), are flooded | |||
| throughout a single area only. AS-external-LSAs are flooded | throughout a single area only. AS-external-LSAs are flooded | |||
| throughout the entire Autonomous System, excepting stub | throughout the entire Autonomous System, excepting stub | |||
| areas (see Section 3.6). Each separate LSA type is briefly | areas (see Section 3.6). Each separate LSA type is briefly | |||
| described below in Table 15. | described below in Table 15. | |||
| 12.1.4. Link State ID | ||||
| This field identifies the piece of the routing domain that | ||||
| is being described by the LSA. Depending on the LSA's LS | ||||
| type, the Link State ID takes on the values listed in Table | ||||
| LS Type LSA description | LS Type LSA description | |||
| ________________________________________________ | ________________________________________________ | |||
| 1 These are the router-LSAs. | 1 These are the router-LSAs. | |||
| They describe the collected | They describe the collected | |||
| states of the router's | states of the router's | |||
| interfaces. For more information, | interfaces. For more information, | |||
| consult Section 12.4.1. | ||||
| ________________________________________________ | ________________________________________________ | |||
| 2 These are the network-LSAs. | 2 These are the network-LSAs. | |||
| They describe the set of routers | They describe the set of routers | |||
| attached to the network. For | attached to the network. For | |||
| more information, consult | more information, consult | |||
| Section 12.4.2. | Section 12.4.2. | |||
| ________________________________________________ | ________________________________________________ | |||
| 3 or 4 These are the summary-LSAs. | 3 or 4 These are the summary-LSAs. | |||
| They describe inter-area routes, | They describe inter-area routes, | |||
| and enable the condensation of | and enable the condensation of | |||
| routing information at area | routing information at area | |||
| borders. Originated by area border | borders. Originated by area border | |||
| routers, the Type 3 summary-LSAs | routers, the Type 3 summary-LSAs | |||
| describe routes to networks while the | describe routes to networks while the | |||
| Type 4 summary-LSAs describe routes to | Type 4 summary-LSAs describe routes to | |||
| AS boundary routers. | ||||
| ________________________________________________ | ________________________________________________ | |||
| 5 These are the AS-external-LSAs. | 5 These are the AS-external-LSAs. | |||
| Originated by AS boundary routers, | Originated by AS boundary routers, | |||
| they describe routes | they describe routes | |||
| to destinations external to the | to destinations external to the | |||
| Autonomous System. A default route for | Autonomous System. A default route for | |||
| the Autonomous System can also be | the Autonomous System can also be | |||
| described by an AS-external-LSA. | described by an AS-external-LSA. | |||
| Table 15: OSPF link state advertisements (LSAs). | Table 15: OSPF link state advertisements (LSAs). | |||
| 12.1.4. Link State ID | ||||
| This field identifies the piece of the routing domain that | ||||
| is being described by the LSA. Depending on the LSA's LS | ||||
| type, the Link State ID takes on the values listed in Table | ||||
| 16. | 16. | |||
| Actually, for Type 3 summary-LSAs (LS type = 3) and AS- | Actually, for Type 3 summary-LSAs (LS type = 3) and AS- | |||
| external-LSAs (LS type = 5), the Link State ID may | external-LSAs (LS type = 5), the Link State ID may | |||
| additionally have one or more of the destination network's | additionally have one or more of the destination network's | |||
| "host" bits set. For example, when originating an AS- | "host" bits set. For example, when originating an AS- | |||
| external-LSA for the network 10.0.0.0 with mask of | external-LSA for the network 10.0.0.0 with mask of | |||
| 255.0.0.0, the Link State ID can be set to anything in the | 255.0.0.0, the Link State ID can be set to anything in the | |||
| range 10.0.0.0 through 10.255.255.255 inclusive (although | range 10.0.0.0 through 10.255.255.255 inclusive (although | |||
| 10.0.0.0 should be used whenever possible). The freedom to | 10.0.0.0 should be used whenever possible). The freedom to | |||
| set certain host bits allows a router to originate separate | set certain host bits allows a router to originate separate | |||
| LSAs for two networks having the same address but different | LSAs for two networks having the same address but different | |||
| LS Type Link State ID | ||||
| _______________________________________________ | ||||
| 1 The originating router's Router ID. | ||||
| 2 The IP interface address of the | ||||
| network's Designated Router. | ||||
| 3 The destination network's IP address. | ||||
| 4 The Router ID of the described AS | ||||
| boundary router. | ||||
| 5 The destination network's IP address. | ||||
| Table 16: The LSA's Link State ID. | ||||
| masks. See Appendix E for details. | masks. See Appendix E for details. | |||
| When the LSA is describing a network (LS type = 2, 3 or 5), | When the LSA is describing a network (LS type = 2, 3 or 5), | |||
| the network's IP address is easily derived by masking the | the network's IP address is easily derived by masking the | |||
| Link State ID with the network/subnet mask contained in the | Link State ID with the network/subnet mask contained in the | |||
| body of the LSA. When the LSA is describing a router (LS | body of the LSA. When the LSA is describing a router (LS | |||
| type = 1 or 4), the Link State ID is always the described | type = 1 or 4), the Link State ID is always the described | |||
| router's OSPF Router ID. | router's OSPF Router ID. | |||
| When an AS-external-LSA (LS Type = 5) is describing a | When an AS-external-LSA (LS Type = 5) is describing a | |||
| default route, its Link State ID is set to | default route, its Link State ID is set to | |||
| DefaultDestination (0.0.0.0). | DefaultDestination (0.0.0.0). | |||
| LS Type Link State ID | ||||
| _______________________________________________ | ||||
| 1 The originating router's Router ID. | ||||
| 2 The IP interface address of the | ||||
| network's Designated Router. | ||||
| 3 The destination network's IP address. | ||||
| 4 The Router ID of the described AS | ||||
| boundary router. | ||||
| 5 The destination network's IP address. | ||||
| Table 16: The LSA's Link State ID. | ||||
| 12.1.5. Advertising Router | 12.1.5. Advertising Router | |||
| This field specifies the OSPF Router ID of the LSA's | This field specifies the OSPF Router ID of the LSA's | |||
| originator. For router-LSAs, this field is identical to the | originator. For router-LSAs, this field is identical to the | |||
| Link State ID field. Network-LSAs are originated by the | Link State ID field. Network-LSAs are originated by the | |||
| network's Designated Router. Summary-LSAs originated by | network's Designated Router. Summary-LSAs originated by | |||
| area border routers. AS-external-LSAs are originated by AS | area border routers. AS-external-LSAs are originated by AS | |||
| boundary routers. | boundary routers. | |||
| 12.1.6. LS sequence number | 12.1.6. LS sequence number | |||
| skipping to change at page 115, line 5 ¶ | skipping to change at page 115, line 27 ¶ | |||
| AS-external-LSAs that it had previously originated. These | AS-external-LSAs that it had previously originated. These | |||
| LSAs can be flushed via the premature aging procedure | LSAs can be flushed via the premature aging procedure | |||
| specified in Section 14.1. | specified in Section 14.1. | |||
| The construction of each type of LSA is explained in detail | The construction of each type of LSA is explained in detail | |||
| below. In general, these sections describe the contents of the | below. In general, these sections describe the contents of the | |||
| LSA body (i.e., the part coming after the 20-byte LSA header). | LSA body (i.e., the part coming after the 20-byte LSA header). | |||
| For information concerning the building of the LSA header, see | For information concerning the building of the LSA header, see | |||
| Section 12.1. | Section 12.1. | |||
| 12.4.1. Router-LSAs | ||||
| A router originates a router-LSA for each area that it | ||||
| belongs to. Such an LSA describes the collected states of | ||||
| the router's links to the area. The LSA is flooded | ||||
| throughout the particular area, and no further. | ||||
| The format of a router-LSA is shown in Appendix A (Section | ||||
| A.4.2). The first 20 bytes of the LSA consist of the | ||||
| generic LSA header that was discussed in Section 12.1. | ||||
| router-LSAs have LS type = 1. The router indicates whether | ||||
| it is willing to calculate separate routes for each IP TOS | ||||
| by setting (or resetting) the T-bit of the LSA's Options | ||||
| field. | ||||
| A router also indicates whether it is an area border router, | ||||
| or an AS boundary router, by setting the appropriate bits | ||||
| (bit B and bit E, respectively) in its router-LSAs. This | ||||
| enables paths to those types of routers to be saved in the | ||||
| routing table, for later processing of summary-LSAs and AS- | ||||
| external-LSAs. Bit B should be set whenever the router is | ||||
| actively attached to two or more areas, even if the router | ||||
| .................................... | .................................... | |||
| . 192.1.2 Area 1 . | . 192.1.2 Area 1 . | |||
| . + . | . + . | |||
| . | . | . | . | |||
| . | 3+---+1 . | . | 3+---+1 . | |||
| . N1 |--|RT1|-----+ . | . N1 |--|RT1|-----+ . | |||
| . | +---+ \ . | . | +---+ \ . | |||
| . | \ _______N3 . | . | \ _______N3 . | |||
| . + \/ \ . 1+---+ | . + \/ \ . 1+---+ | |||
| . * 192.1.1 *------|RT4| | . * 192.1.1 *------|RT4| | |||
| skipping to change at page 115, line 30 ¶ | skipping to change at page 116, line 29 ¶ | |||
| . | |RT3|----------------|RT6| | . | |RT3|----------------|RT6| | |||
| . + +---+ . +---+ | . + +---+ . +---+ | |||
| . 192.1.3 |2 . 18.10.0.6|7 | . 192.1.3 |2 . 18.10.0.6|7 | |||
| . | . | | . | . | | |||
| . +------------+ . | . +------------+ . | |||
| . 192.1.4 (N4) . | . 192.1.4 (N4) . | |||
| .................................... | .................................... | |||
| Figure 15: Area 1 with IP addresses shown | Figure 15: Area 1 with IP addresses shown | |||
| 12.4.1. Router-LSAs | ||||
| A router originates a router-LSA for each area that it | ||||
| belongs to. Such an LSA describes the collected states of | ||||
| the router's links to the area. The LSA is flooded | ||||
| throughout the particular area, and no further. | ||||
| The format of a router-LSA is shown in Appendix A (Section | ||||
| A.4.2). The first 20 bytes of the LSA consist of the | ||||
| generic LSA header that was discussed in Section 12.1. | ||||
| router-LSAs have LS type = 1. The router indicates whether | ||||
| it is willing to calculate separate routes for each IP TOS | ||||
| by setting (or resetting) the T-bit of the LSA's Options | ||||
| field. | ||||
| A router also indicates whether it is an area border router, | ||||
| or an AS boundary router, by setting the appropriate bits | ||||
| (bit B and bit E, respectively) in its router-LSAs. This | ||||
| enables paths to those types of routers to be saved in the | ||||
| routing table, for later processing of summary-LSAs and AS- | ||||
| external-LSAs. Bit B should be set whenever the router is | ||||
| actively attached to two or more areas, even if the router | ||||
| is not currently attached to the OSPF backbone area. Bit E | is not currently attached to the OSPF backbone area. Bit E | |||
| should never be set in a router-LSA for a stub area (stub | should never be set in a router-LSA for a stub area (stub | |||
| areas cannot contain AS boundary routers). | areas cannot contain AS boundary routers). | |||
| In addition, the router sets bit V in its router-LSA for | In addition, the router sets bit V in its router-LSA for | |||
| Area A if and only if the router is the endpoint of one or | Area A if and only if the router is the endpoint of one or | |||
| more fully adjacent virtual links having Area A as their | more fully adjacent virtual links having Area A as their | |||
| Transit area. The setting of bit V enables other routers in | Transit area. The setting of bit V enables other routers in | |||
| Area A to discover whether the area supports transit traffic | Area A to discover whether the area supports transit traffic | |||
| (see TransitCapability in Section 6). | (see TransitCapability in Section 6). | |||
| skipping to change at page 130, line 26 ¶ | skipping to change at page 131, line 4 ¶ | |||
| floods each LSA one hop further from its point of origination. To | floods each LSA one hop further from its point of origination. To | |||
| make the flooding procedure reliable, each LSA must be acknowledged | make the flooding procedure reliable, each LSA must be acknowledged | |||
| separately. Acknowledgments are transmitted in Link State | separately. Acknowledgments are transmitted in Link State | |||
| Acknowledgment packets. Many separate acknowledgments can also be | Acknowledgment packets. Many separate acknowledgments can also be | |||
| grouped together into a single packet. | grouped together into a single packet. | |||
| The flooding procedure starts when a Link State Update packet has | The flooding procedure starts when a Link State Update packet has | |||
| been received. Many consistency checks have been made on the | been received. Many consistency checks have been made on the | |||
| received packet before being handed to the flooding procedure (see | received packet before being handed to the flooding procedure (see | |||
| Section 8.2). In particular, the Link State Update packet has been | Section 8.2). In particular, the Link State Update packet has been | |||
| associated with a particular neighbor, and a particular area. If | ||||
| the neighbor is in a lesser state than Exchange, the packet should | ||||
| be dropped without further processing. | ||||
| All types of LSAs, other than AS-external-LSAs, are associated with | ||||
| + | + | |||
| | | | | |||
| +---+.....|.BGP | +---+.....|.BGP | |||
| |RTA|-----|.....+---+ | |RTA|-----|.....+---+ | |||
| +---+ |-----|RTX| | +---+ |-----|RTX| | |||
| | +---+ | | +---+ | |||
| +---+ | | +---+ | | |||
| |RTB|-----| | |RTB|-----| | |||
| +---+ | | +---+ | | |||
| | | | | |||
| +---+ | | +---+ | | |||
| |RTC|-----| | |RTC|-----| | |||
| +---+ | | +---+ | | |||
| | | | | |||
| + | + | |||
| Figure 16: Forwarding address example | Figure 16: Forwarding address example | |||
| associated with a particular neighbor, and a particular area. If | ||||
| the neighbor is in a lesser state than Exchange, the packet should | ||||
| be dropped without further processing. | ||||
| All types of LSAs, other than AS-external-LSAs, are associated with | ||||
| a specific area. However, LSAs do not contain an area field. An | a specific area. However, LSAs do not contain an area field. An | |||
| LSA's area must be deduced from the Link State Update packet header. | LSA's area must be deduced from the Link State Update packet header. | |||
| For each LSA contained in a Link State Update packet, the following | For each LSA contained in a Link State Update packet, the following | |||
| steps are taken: | steps are taken: | |||
| (1) Validate the LSA's LS checksum. If the checksum turns out to be | (1) Validate the LSA's LS checksum. If the checksum turns out to be | |||
| invalid, discard the LSA and get the next one from the Link | invalid, discard the LSA and get the next one from the Link | |||
| State Update packet. | State Update packet. | |||
| skipping to change at page 139, line 31 ¶ | skipping to change at page 140, line 4 ¶ | |||
| packets is described in Table 19. The circumstances surrounding | packets is described in Table 19. The circumstances surrounding | |||
| the receipt of the LSA are listed in the left column. The | the receipt of the LSA are listed in the left column. The | |||
| acknowledgment action then taken is listed in one of the two | acknowledgment action then taken is listed in one of the two | |||
| right columns. This action depends on the state of the | right columns. This action depends on the state of the | |||
| concerned interface; interfaces in state Backup behave | concerned interface; interfaces in state Backup behave | |||
| differently from interfaces in all other states. Delayed | differently from interfaces in all other states. Delayed | |||
| acknowledgments must be delivered to all adjacent routers | acknowledgments must be delivered to all adjacent routers | |||
| associated with the interface. On broadcast networks, this is | associated with the interface. On broadcast networks, this is | |||
| accomplished by sending the delayed Link State Acknowledgment | accomplished by sending the delayed Link State Acknowledgment | |||
| packets as multicasts. The Destination IP address used depends | packets as multicasts. The Destination IP address used depends | |||
| on the state of the interface. If the interface state is DR or | ||||
| Backup, the destination AllSPFRouters is used. In all other | ||||
| states, the destination AllDRouters is used. On non-broadcast | ||||
| networks, delayed Link State Acknowledgment packets must be | ||||
| unicast separately over each adjacency (i.e., neighbor whose | ||||
| state is >= Exchange). | ||||
| The reasoning behind sending the above packets as multicasts is | ||||
| best explained by an example. Consider the network | ||||
| configuration depicted in Figure 15. Suppose RT4 has been | ||||
| elected as Designated Router, and RT3 as Backup Designated | ||||
| Router for the network N3. When Router RT4 floods a new LSA to | ||||
| Network N3, it is received by routers RT1, RT2, and RT3. These | ||||
| routers will not flood the LSA back onto net N3, but they still | ||||
| must ensure that their link-state databases remain synchronized | ||||
| with their adjacent neighbors. So RT1, RT2, and RT4 are waiting | ||||
| to see an acknowledgment from RT3. Likewise, RT4 and RT3 are | ||||
| both waiting to see acknowledgments from RT1 and RT2. This is | ||||
| best achieved by sending the acknowledgments as multicasts. | ||||
| The reason that the acknowledgment logic for Backup DRs is | ||||
| slightly different is because they perform differently during | ||||
| Action taken in state | Action taken in state | |||
| Circumstances Backup All other states | Circumstances Backup All other states | |||
| _______________________________________________________________ | _______________________________________________________________ | |||
| LSA has No acknowledgment No acknowledgment | LSA has No acknowledgment No acknowledgment | |||
| been flooded back sent. sent. | been flooded back sent. sent. | |||
| out receiving in- | out receiving in- | |||
| terface (see Sec- | terface (see Sec- | |||
| tion 13, step 5b). | ||||
| _______________________________________________________________ | _______________________________________________________________ | |||
| LSA is Delayed acknowledg- Delayed ack- | LSA is Delayed acknowledg- Delayed ack- | |||
| more recent than ment sent if adver- nowledgment sent. | more recent than ment sent if adver- nowledgment sent. | |||
| database copy, but tisement received | database copy, but tisement received | |||
| was not flooded from Designated | was not flooded from Designated | |||
| back out receiving Router, otherwise | back out receiving Router, otherwise | |||
| interface do nothing | interface do nothing | |||
| _______________________________________________________________ | _______________________________________________________________ | |||
| LSA is a Delayed acknowledg- No acknowledgment | LSA is a Delayed acknowledg- No acknowledgment | |||
| duplicate, and was ment sent if adver- sent. | duplicate, and was ment sent if adver- sent. | |||
| treated as an im- tisement received | treated as an im- tisement received | |||
| plied acknowledg- from Designated | plied acknowledg- from Designated | |||
| ment (see Section Router, otherwise | ment (see Section Router, otherwise | |||
| 13, step 7a). do nothing | ||||
| _______________________________________________________________ | _______________________________________________________________ | |||
| LSA is a Direct acknowledg- Direct acknowledg- | LSA is a Direct acknowledg- Direct acknowledg- | |||
| duplicate, and was ment sent. ment sent. | duplicate, and was ment sent. ment sent. | |||
| not treated as an | not treated as an | |||
| implied ack- | implied ack- | |||
| nowledgment. | nowledgment. | |||
| _______________________________________________________________ | _______________________________________________________________ | |||
| LSA's LS Direct acknowledg- Direct acknowledg- | LSA's LS Direct acknowledg- Direct acknowledg- | |||
| age is equal to ment sent. ment sent. | age is equal to ment sent. ment sent. | |||
| MaxAge, and there is | MaxAge, and there is | |||
| no current instance | no current instance | |||
| of the LSA | of the LSA | |||
| in the link state | in the link state | |||
| database (see | database (see | |||
| Section 13, step 4). | Section 13, step 4). | |||
| Table 19: Sending link state acknowledgements. | Table 19: Sending link state acknowledgements. | |||
| on the state of the interface. If the interface state is DR or | ||||
| Backup, the destination AllSPFRouters is used. In all other | ||||
| states, the destination AllDRouters is used. On non-broadcast | ||||
| networks, delayed Link State Acknowledgment packets must be | ||||
| unicast separately over each adjacency (i.e., neighbor whose | ||||
| state is >= Exchange). | ||||
| The reasoning behind sending the above packets as multicasts is | ||||
| best explained by an example. Consider the network | ||||
| configuration depicted in Figure 15. Suppose RT4 has been | ||||
| elected as Designated Router, and RT3 as Backup Designated | ||||
| Router for the network N3. When Router RT4 floods a new LSA to | ||||
| Network N3, it is received by routers RT1, RT2, and RT3. These | ||||
| routers will not flood the LSA back onto net N3, but they still | ||||
| must ensure that their link-state databases remain synchronized | ||||
| with their adjacent neighbors. So RT1, RT2, and RT4 are waiting | ||||
| to see an acknowledgment from RT3. Likewise, RT4 and RT3 are | ||||
| both waiting to see acknowledgments from RT1 and RT2. This is | ||||
| best achieved by sending the acknowledgments as multicasts. | ||||
| The reason that the acknowledgment logic for Backup DRs is | ||||
| slightly different is because they perform differently during | ||||
| the flooding of LSAs (see Section 13.3, step 4). | the flooding of LSAs (see Section 13.3, step 4). | |||
| 13.6. Retransmitting LSAs | 13.6. Retransmitting LSAs | |||
| LSAs flooded out an adjacency are placed on the adjacency's Link | LSAs flooded out an adjacency are placed on the adjacency's Link | |||
| state retransmission list. In order to ensure that flooding is | state retransmission list. In order to ensure that flooding is | |||
| reliable, these LSAs are retransmitted until they are | reliable, these LSAs are retransmitted until they are | |||
| acknowledged. The length of time between retransmissions is a | acknowledged. The length of time between retransmissions is a | |||
| configurable per-interface value, RxmtInterval. If this is set | configurable per-interface value, RxmtInterval. If this is set | |||
| too low for an interface, needless retransmissions will ensue. | too low for an interface, needless retransmissions will ensue. | |||
| skipping to change at page 225, line 43 ¶ | skipping to change at page 226, line 43 ¶ | |||
| John Moy | John Moy | |||
| Cascade Communications Corp. | Cascade Communications Corp. | |||
| 5 Carlisle Road | 5 Carlisle Road | |||
| Westford, MA 01886 | Westford, MA 01886 | |||
| Phone: 508-952-1367 | Phone: 508-952-1367 | |||
| Fax: 508-692-9214 | Fax: 508-692-9214 | |||
| Email: jmoy@casc.com | Email: jmoy@casc.com | |||
| This document expires in July 1997. | This document expires in August 1997. | |||
| End of changes. 53 change blocks. | ||||
| 191 lines changed or deleted | 208 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||