idnits 2.17.1 draft-ietf-v6ops-ipv4survey-routing-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** The document is more than 15 pages and seems to lack a Table of Contents. == No 'Intended status' indicated for this document; assuming Proposed Standard == The page length should not exceed 58 lines per page, but there was 1 longer page, the longest (page 1) being 994 lines Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack a Security Considerations section. ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** There are 45 instances of too long lines in the document, the longest one being 6 characters in excess of 72. ** There are 5 instances of lines with control characters in the document. == There are 2 instances of lines with non-RFC6890-compliant IPv4 addresses in the document. If these are example addresses, they should be changed. == There are 1 instance of lines with multicast IPv4 addresses in the document. If these are generic example addresses, they should be changed to use the 233.252.0.x range defined in RFC 5771 == There are 1 instance of lines with private range IPv4 addresses in the document. If these are generic example addresses, they should be changed to use any of the ranges defined in RFC 6890 (or successor): 192.0.2.x, 198.51.100.x or 203.0.113.x. ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. RFC 2119 keyword, line 428: '...e multicast address. Routers MUST NOT...' RFC 2119 keyword, line 712: '... instances of standards that SHOULD be...' RFC 2119 keyword, line 722: '...the previous SHOULD NOT be interpreted...' RFC 2119 keyword, line 732: '...RFC 1812 SHOULD be updated to include ...' RFC 2119 keyword, line 816: '...ditional objects MUST be defined for I...' (3 more instances...) Miscellaneous warnings: ---------------------------------------------------------------------------- == The "Author's Address" (or "Authors' Addresses") section title is misspelled. -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (August 2003) is 7532 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Missing reference section? 'BGP-4' on line 530 looks like a reference -- Missing reference section? 'IPv4' on line 531 looks like a reference -- Missing reference section? '5' on line 674 looks like a reference Summary: 7 errors (**), 0 flaws (~~), 6 warnings (==), 5 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 Network Working Group Philip J. Nesser II 2 draft-ietf-v6ops-ipv4survey-routing-00.txt Nesser & Nesser Consulting 3 Internet Draft February 2003 4 Expires August 2003 6 Survey of IPv4 Addresses in Currently Deployed 7 IETF Routing Area Standards 9 This document is an Internet-Draft and is in full conformance with 10 all provisions of Section 10 of RFC2026. 12 Status of this Memo 14 Internet-Drafts are working documents of the Internet Engineering 15 Task Force (IETF), its areas, and its working groups. Note that other 16 groups may also distribute working documents as Internet-Drafts. 18 Internet-Drafts are draft documents valid for a maximum of six 19 months and may be updated, replaced, or obsoleted by other documents at 20 any time. It is inappropriate to use Internet-Drafts as reference 21 material or to cite them other than as "work in progress." 23 The list of current Internet-Drafts can be accessed at 24 http://www.ietf.org/ietf/1id-abstracts.txt 26 The list of Internet-Draft Shadow Directories can be accessed at 27 http://www.ietf.org/shadow.html. 29 Abstract 31 This document seeks to document all usage of IPv4 addresses in currently 32 deployed IETF Routing Area documented standards. In order to 33 successfully transition from an all IPv4 Internet to an all IPv6 Internet, 34 many interim steps will be taken. One of these steps is the evolution of 35 current protocols that have IPv4 dependencies. It is hoped that these 36 protocols (and their implementations) will be redesigned to be network 37 address independent, but failing that will at least dually support IPv4 38 and IPv6. To this end, all Standards (Full, Draft, and Proposed) as well 39 as Experimental RFCs will be surveyed and any dependencies will be documented. 41 1.0 Introduction 43 This work began as a megolithic document draft-ietf-ngtrans- 44 ipv4survey-XX.txt. In an effort to rework the information into a more 45 manageable form, it has been broken into 8 documents conforming to the 46 current IETF areas (Application, General, Internet, Manangement & Operations, 47 Routing, Security, Sub-IP and Transport). 49 1.1 Short Historical Perspective 51 There are many challenges that face the Internet Engineering community. 52 The foremost of these challenges has been the scaling issue. How to grow 53 a network that was envisioned to handle thousands of hosts to one that 54 will handle tens of millions of networks with billions of hosts. Over the 55 years this scaling problem has been overcome with changes to the network 56 layer and to routing protocols. (Ignoring the tremendous advances in 57 computational hardware) 59 The first "modern" transition to the network layer occurred in during the 60 early 1980's from the Network Control Protocol (NCP) to IPv4. This 61 culminated in the famous "flag day" of January 1, 1983. This version of 62 IP was documented in RFC 760. This was a version of IP with 8 bit network 63 and 24 bit host addresses. A year later IP was updated in RFC 791 to 64 include the famous A, B, C, D, & E class system. 66 Networks were growing in such a way that it was clear that a need for 67 breaking networks into smaller pieces was needed. In October of 1984 RFC 68 917 was published formalizing the practice of subnetting. 70 By the late 1980's it was clear that the current exterior routing protocol 71 used by the Internet (EGP) was not sufficient to scale with the growth of 72 the Internet. The first version of BGP was documented in 1989 in RFC 73 1105. 75 The next scaling issues to became apparent in the early 1990's was the 76 exhaustion of the Class B address space. The growth and commercialization 77 of the Internet had organizations requesting IP addresses in alarming 78 numbers. In May of 1992 over 45% of the Class B space was allocated. In 79 early 1993 RFC 1466 was published directing assignment of blocks of Class 80 C's be given out instead of Class B's. This solved the problem of address 81 space exhaustion but had significant impact of the routing infrastructure. 83 The number of entries in the "core" routing tables began to grow 84 exponentially as a result of RFC 1466. This led to the implementation of 85 BGP4 and CIDR prefix addressing. This may have solved the problem for the 86 present but there are still potential scaling issues. 88 Current Internet growth would have long overwhelmed the current address 89 space if industry didn't supply a solution in Network Address Translators 90 (NATs). To do this the Internet has sacrificed the underlying 91 "End-to-End" principle. 93 In the early 1990's the IETF was aware of these potential problems and 94 began a long design process to create a successor to IPv4 that would 95 address these issues. The outcome of that process was IPv6. 97 The purpose of this document is not to discuss the merits or problems of 98 IPv6. That is a debate that is still ongoing and will eventually be 99 decided on how well the IETF defines transition mechanisms and how 100 industry accepts the solution. The question is not "should," but "when." 102 1.2 A Brief Aside 104 Throughout this document there are discussions on how protocols might be 105 updated to support IPv6 addresses. Although current thinking is that IPv6 106 should suffice as the dominant network layer protocol for the lifetime of 107 the author, it is not unreasonable to contemplate further upgrade to IP. 108 Work done by the IRTF Interplanetary Internet Working Group shows one idea 109 of far reaching thinking. It may be a reasonable idea (or may not) to 110 consider designing protocols in such a way that they can be either IP 111 version aware or independent. This idea must be balanced against issues 112 of simplicity and performance. Therefore it is recommended that protocol 113 designer keep this issue in mind in future designs. 115 Just as a reminder, remember the words of Jon Postel: 117 "Be conservative in what you send; be liberal in what 118 you accept from others." 120 2.0 Methodology 122 To perform this study each class of IETF standards are investigated in 123 order of maturity: Full, Draft, and Proposed, as well as Experimental. 124 Informational RFC are not addressed. RFCs that have been obsoleted by 125 either newer versions or as they have transitioned through the standards 126 process are not covered. 128 Please note that a side effect of this choice of methodology is that 129 some protocols that are defined by a series of RFC's that are of different 130 levels of standards maturity are covered in different spots in the 131 document. Likewise other natural groupings (i.e. MIBs, SMTP extensions, 132 IP over FOO, PPP, DNS, etc.) could easily be imagined. 134 2.1 Scope 136 The procedure used in this investigation is an exhaustive reading of the 137 applicable RFC's. This task involves reading approximately 25000 pages 138 of protocol specifications. To compound this, it was more than a process 139 of simple reading. It was necessary to attempt to understand the purpose 140 and functionality of each protocol in order to make a proper determination 141 of IPv4 reliability. The author has made ever effort to make this effort 142 and the resulting document as complete as possible, but it is likely that 143 some subtle (or perhaps not so subtle) dependence was missed. The author 144 encourage those familiar (designers, implementers or anyone who has an 145 intimate knowledge) with any protocol to review the appropriate sections 146 and make comments. 148 2.2 Document Organization 150 The rest of the document sections are described below. 152 Sections 3, 4, 5, and 6 each describe the raw analysis of Full, Draft, 153 and Proposed Standards, and Experimental RFCs. Each RFC is discussed in 154 its turn starting with RFC 1 and ending with RFC 3247. The comments for 155 each RFC is "raw" in nature. That is, each RFC is discussed in a vacuum 156 and problems or issues discussed do not "look ahead" to see if the 157 problems have already been fixed. 159 Section 7 is an analysis of the data presented in Sections 3, 4, 5, and 160 6. It is here that all of the results are considered as a whole and the 161 problems that have been resolved in later RFCs are correlated. 163 3.0 Full Standards 165 Full Internet Standards (most commonly simply referred to as "Standards") 166 are fully mature protocol specification that are widely implemented and 167 used throughout the Internet. 169 3.1 RFC 1009 Gateway Requirements 171 It is pointless to attempt to try and quantify the IPv4 references in this 172 document. The document specifies operations of IPv4 routers/gateways. 173 Hence, it makes numerous references that are IPv4 specific. 175 Like RFC 1122, it is necessary to rewrite this document and create a "IPv6 176 Gateway Requirements" standard. 178 3.2 RFC 904 Exterior Gateway Protocol 180 This RFC has been depreciated to Historic status and is not considered. 182 3.3 RFC 1058 Routing Information Protocol 184 This RFC has been reclassified as historic and replace by STD 56. 185 See Section 3.56 for its further discussion. 187 3.4 Interface Message Processor: Specifications for the 188 Interconnection of a Host and an IMP 190 This standard has be reclassified as Historic and is not considered in this 191 discussion. 193 3.5 RFC 2328 OSPF Version 2 195 This RFC defines a protocol for IPv4 routing. It is highly assumptive 196 about address formats being IPv4 in nature. A new versions of OSPF must 197 be created to support IPv6. 199 3.6 RFC 2453 RIP Version 2 201 RIPv2 is only intended for IPv4 networks. IPv6 routing functionality 202 is contain in RIPng documented in RFC 2080. 204 3.7 RFC 1722 RIP Version 2 Protocol Applicability Statement 206 RIPv2 is only intended for IPv4 networks. IPv6 routing functionality 207 is contain in RIPng documented in RFC 2081. 209 4.0 Draft Standards 211 Draft Standards represent the penultimate standard level in the IETF. 212 A protocol can only achieve draft standard when there are multiple, 213 independent, interoperable implementations. Draft Standards are usually 214 quite mature and widely used. 216 4.1 RFC 1771 A Border Gateway Protocol 4 (BGP-4) (BGP-4) 218 This RFC defines a protocol used for exchange of IPv4 routing information 219 and does not support IPv6. A new EGP must be defined for the exchange of 220 IPv6 routing information. 222 4.2 RFC 1772 Application of the Border Gateway Protocol in the 223 Internet (BGP-4-APP) 225 This RFC is a discussion of the use of BGP4 on the Internet. Since BGP4 226 is limited to IPv4 addresses, it is expected that a similar document will 227 be created to be paired with the definition of the next generation BGP. 229 5.0 Proposed Standards 231 Proposed Standards are introductory level documents. There are no 232 requirements for even a single implementation. In many cases Proposed 233 are never implemented or advanced in the IETF standards process. They 234 therefore are often just proposed ideas that are presented to the Internet 235 community. Sometimes flaws are exposed or they are one of many competing 236 solutions to problems. In these later cases, no discussion is presented 237 as it would not serve the purpose of this discussion. 239 5.01 RFC 1195 Use of OSI IS-IS for routing in TCP/IP and dual 240 environments (IS-IS) 242 This documents specifies a protocol for the exchange of IPv4 routing 243 information. It is incompatible with IPv6. There are is substantial 244 work being done on a newer version of IS-IS that should include IPv6 245 routing. 247 5.02 RFC 1370 Applicability Statement for OSPF 249 This document discusses a version of OSPF that is limited to IPv4. It is 250 expected that a similar document be assigned for when a version of OSPF 251 that supports IPv6 is established. 253 5.03 RFC 1397 Default Route Advertisement In BGP2 and BGP3 Version 254 of The Border Gateway Protocol 256 BGP2 and BGP3 are both depreciated and therefore are not discussed in 257 this document. 259 5.04 RFC 1403 BGP OSPF Interaction (BGP-OSPF) 261 This document discusses the interaction between two routing protocols 262 and how they exchange IPv4 information. A similar document should be 263 produced when versions of OSPF and BGP that support IPv6. 265 5.05 RFC 1478 An Architecture for Inter-Domain Policy Routing 266 (IDPR-ARCH) 268 The architecture described in this documents has no IPv4 dependencies. 270 5.06 RFC 1479 Inter-Domain Policy Routing Protocol Specification: 271 Version 1 (IDPR) 273 There are no IPv4 dependencies in this protocol. 275 5.07 RFC 1517 Applicability Statement for the Implementation of 276 Classless Inter-Domain Routing (CIDR) (CIDR) 278 This document deals exclusively with IPv4 addressing issue. 280 5.08 RFC 1518 An Architecture for IP Address Allocation with 281 CIDR (CIDR-ARCH) 283 This document deals exclusively with IPv4 addressing issue. 285 5.09 RFC 1519 Classless Inter-Domain Routing (CIDR): an Address 286 Assignment and Aggregation Strategy (CIDR-STRA) 288 This document deals exclusively with IPv4 addressing issue. 290 5.10 RFC 1582 Extensions to RIP to Support Demand Circuits (RIP-DC) 292 This protocol is an extension to a protocol for exchanging IPv4 293 routing information. 295 In Section 3. IP Routing Information Protocol Version 1 shows: 297 Followed by up to 25 routing entries (each 20 octets) 299 0 1 2 3 3 300 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 301 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 302 | address family identifier (2) | must be zero (2) | 303 +-------------------------------+-------------------------------+ 304 | IP address (4) | 305 +---------------------------------------------------------------+ 306 | must be zero (4) | 307 +---------------------------------------------------------------+ 308 | must be zero (4) | 309 +---------------------------------------------------------------+ 310 | metric (4) | 311 +---------------------------------------------------------------+ 312 . 313 . 315 The format of an IP RIP datagram in octets, with each tick mark 316 representing one bit. All fields are in network order. 318 The four octets: sequence number (2), fragment number (1) and 319 number of fragments (1) are not present in the original RIP 320 specification. They are only present if command takes the 321 values 7 or 8. 323 Figure 2. IP Routing Information Protocol packet format 325 The section referencing RIPv2 refers back to the above text. 327 5.11 RFC 1584 Multicast Extensions to OSPF (OSPF-Multi) 329 This document defines the use of IPv4 multicast to an IPv4 routing 330 protocol. A similar mechanism must be defined for IPv6. 332 5.12 RFC 1587 The OSPF NSSA Option (OSPF-NSSA) 334 This document defines an extension to an IPv4 routing protocol and 335 it is assumed that any updated version of OSPF to support IPv6 will 336 contain an appropriate update for this option. 338 5.13 RFC 1745 BGP4/IDRP for IP---OSPF Interaction (BGP4/IDRP) 340 This document discusses the interaction between two routing protocols 341 and how they exchange IPv4 information. A similar document should be 342 produced when versions of OSPF and BGP that support IPv6. 344 5.14 RFC 1793 Extending OSPF to Support Demand Circuits (OSPF-DC) 346 There are no IPv4 dependencies in this protocol other than the fact 347 that it is an new functionality for a routing protocol that only 348 supports IPv4 networks. It is assumed that a future update to OSPF 349 to support IPv6 will also support this functionality. 351 5.15 RFC 1997 BGP Communities Attribute (BGP-COMM) 353 Although the protocol enhancements have no IPv4 dependencies, it is 354 an update to an IPv4 only routing protocol. It is expected that a 355 newer version of BGP that is IPv6 aware will also implement this 356 enhancement. 358 5.16 RFC 2080 RIPng for IPv6 (RIPNG-IPV6) 360 This RFC documents a protocol for exchanging IPv6 routing information 361 and is not discussed in this document. 363 5.17 RFC 2091 Triggered Extensions to RIP to Support Demand 364 Circuits (RIP-TRIG) 366 This RFC defines an enhancement for an IPv4 routing protocol and 367 while it has no IPv4 dependencies it is inherintely limited to IPv4. 368 It is expected that a similar mechanism will be implemented in RIPng. 370 5.18 RFC 2332 NBMA Next Hop Resolution Protocol (NHRP) (NHRP) 372 This document is very generic in its design and seems to be able 373 to support numerous layer 3 addressing schemes and should include 374 both IPv4 and IPv6. 376 5.19 RFC 2333 NHRP Protocol Applicability Statement 378 This document is very generic in its design and seems to be able 379 to support numerous layer 3 addressing schemes and should include 380 both IPv4 and IPv6. 382 5.20 RFC 2335 A Distributed NHRP Service Using SCSP (NHRP-SCSP) 384 There are no IPv4 dependencies in this protocol. 386 5.21 RFC 2338 Virtual Router Redundancy Protocol (VRRP) 388 This protocol is IPv4 specific. See the following: 390 5.1 VRRP Packet Format 392 This section defines the format of the VRRP packet and the relevant 393 fields in the IP header. 395 0 1 2 3 396 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 397 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 398 |Version| Type | Virtual Rtr ID| Priority | Count IP Addrs| 399 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 400 | Auth Type | Adver Int | Checksum | 401 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 402 | IP Address (1) | 403 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 404 | . | 405 | . | 406 | . | 407 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 408 | IP Address (n) | 409 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 410 | Authentication Data (1) | 411 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 412 | Authentication Data (2) | 413 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 415 5.2 IP Field Descriptions 417 5.2.1 Source Address 419 The primary IP address of the interface the packet is being sent 420 from. 422 5.2.2 Destination Address 424 The IP multicast address as assigned by the IANA for VRRP is: 426 224.0.0.18 428 This is a link local scope multicast address. Routers MUST NOT 429 forward a datagram with this destination address regardless of its 430 TTL. 432 There are numerous other references to 32-bit IP addresses. There 433 does not seem to be any reason that a new version of this protocol 434 could be straightforwardly be developed for IPv6. 436 5.22 RFC 2370 The OSPF Opaque LSA Option (OSPF-LSA) 438 There are no IPv4 dependencies in this protocol other than the fact 439 that it is an new functionality for a routing protocol that only 440 supports IPv4 networks. It is assumed that a future update to OSPF 441 to support IPv6 will also support this functionality. 443 5.23 RFC 2439 BGP Route Flap Damping 445 Although the protocol enhancements have no IPv4 dependencies, it is 446 an update to an IPv4 only routing protocol. It is expected that a 447 newer version of BGP that is IPv6 aware will also implement this 448 enhancement. 450 5.24 RFC 2545 Use of BGP-4 Multiprotocol Extensions for IPv6 451 Inter-Domain Routing 453 This RFC documents IPv6 routing methods and is not discussed 454 in this document. 456 5.25 RFC 2622 Routing Policy Specification Language (RPSL) 457 (RPSL) 459 The only objects in the version of RPSL that deal with IP addresses 460 are defined as: 462 An IPv4 address is represented as a sequence of four 463 integers in the range from 0 to 255 separated by the character dot 464 ".". For example, 128.9.128.5 represents a valid IPv4 address. 465 In the rest of this document, we may refer to IPv4 addresses as IP 466 addresses. 468 An address prefix is represented as an IPv4 address 469 followed by the character slash "/" followed by an integer in the 470 range from 0 to 32. The following are valid address prefixes: 471 128.9.128.5/32, 128.9.0.0/16, 0.0.0.0/0; and the following address 472 prefixes are invalid: 0/0, 128.9/16 since 0 or 128.9 are not 473 strings containing four integers. 475 There seems to be an awareness of IPv6 because of the terminology but 476 it is not specifically defined. Therefore additional objects for IPv6 477 addresses and masks need to be defined. 479 5.26 RFC 2735 NHRP Support for Virtual Private Networks 481 This protocol implies only IPv4 operations, but does not seem to 482 present any reason that it would not function for IPv6. 484 5.27 RFC 2740 OSPF for IPv6 486 This document defines an IPv6 specific protocol and is not discussed 487 in this document. 489 5.28 RFC 2769 Routing Policy System Replication (RPSL) 491 There are no IPv4 dependencies in this protocol. 493 5.29 RFC 2784 Generic Routing Encapsulation (GRE) (GRE) 495 This protocol is only defined for IPv4. The document states: 497 o IPv6 as Delivery and/or Payload Protocol 499 This specification describes the intersection of GRE currently 500 deployed by multiple vendors. IPv6 as delivery and/or payload 501 protocol is not included 503 Therefore, a new version must be defined for IPv6. 505 5.30 RFC 2796 BGP Route Reflection - An Alternative to Full Mesh 506 (IBGP) 508 Although the protocol enhancements have no IPv4 dependencies, it is 509 an update to an IPv4 only routing protocol. It is expected that a 510 newer version of BGP that is IPv6 aware will also implement this 511 enhancement. 513 Conceptually there should be no issues with the protocol operating 514 in and IPv6 aware BGP. 516 5.31 RFC 2842 Capabilities Advertisement with BGP-4 518 Although the protocol enhancements have no IPv4 dependencies, it is 519 an update to an IPv4 only routing protocol. It is expected that a 520 newer version of BGP that is IPv6 aware will also implement this 521 enhancement. 523 Conceptually there should be no issues with the protocol operating 524 in and IPv6 aware BGP. 526 5.32 RFC 2858 Multiprotocol Extensions for BGP-4 (MEXT-BGP4) 528 In the Abstract 530 Currently BGP-4 [BGP-4] is capable of carrying routing information 531 only for IPv4 [IPv4]. This document defines extensions to BGP-4 to 532 enable it to carry routing information for multiple Network Layer 533 protocols (e.g., IPv6, IPX, etc...). The extensions are backward 534 compatible - a router that supports the extensions can interoperate 535 with a router that doesn't support the extensions. 537 The document is therefore no examined further in this document. 539 5.33 RFC 2890 Key and Sequence Number Extensions to GRE 541 There are no IPv4 dependencies in this protocol. 543 5.34 RFC 2894 Router Renumbering for IPv6 545 This document defines an IPv6 only document and is not concerned 546 in this document. 548 5.35 RFC 2918 Route Refresh Capability for BGP-4 550 There are no IPv4 dependencies in this protocol. 552 5.36 RFC 3065 Autonomous System Confederations for BGP (BGP-ASC) 554 There are no IPv4 dependencies in this protocol. 556 5.37 RFC 3107 Carrying Label Information in BGP-4 (SDP) 558 There are no IPv4 dependencies in this protocol. 560 5.38 RFC 3122 Extensions to IPv6 Neighbor Discovery for Inverse 561 Discovery Specification 563 This is an IPv6 related document and is not discussed in this 564 document. 566 5.39 RFC 3140 Per Hop Behavior Identification Codes 568 There are no IPv4 dependencies in this protocol. 570 6.0 Experimental RFCs 572 Experimental RFCs typically define protocols that do not have widescale 573 implementation or usage on the Internet. They are often propriety in 574 nature or used in limited arenas. They are documented to the Internet 575 community in order to allow potential interoperability or some other 576 potential useful scenario. In a few cases they are presented as 577 alternatives to the mainstream solution to an acknowledged problem. 579 6.01 RFC 1075 Distance Vector Multicast Routing Protocol (IP-DVMRP) 581 This document defines a protocol for IPv4 multicast routing. A 582 similar mechanism must be defined for IPv6 multicast routing (or the 583 functionality must be included in other "standard" IPv6 routing 584 protocols.) 586 6.02 RFC 1383 An Experiment in DNS Based IP Routing (DNS-IP) 588 This proposal is IPv4 limited: 590 This record is designed for easy general purpose extensions in the 591 DNS, and its content is a text string. The RX record will contain 592 three fields: 594 - A record identifier composed of the two characters "RX". 595 This is used to disambiguate from other experimental uses 596 of the "TXT" record. 598 - A cost indicator, encoded on up to 3 numerical digits. 599 The corresponding positive integer value should be less 600 that 256, in order to preserve future evolutions. 602 - An IP address, encoded as a text string following the 603 "dot" notation. 605 The three strings will be separated by a single comma. An example of 606 record would thus be: 608 ___________________________________________________________________ 609 | domain | type | record | value | 610 | - | | | | 611 |*.27.32.192.in-addr.arpa | IP | TXT | RX, 10, 10.0.0.7| 612 |_________________________|________|__________|___________________| 614 which means that for all hosts whose IP address starts by the three 615 octets "192.32.27" the IP host "10.0.0.7" can be used as a gateway, 616 and that the preference value is 10. 618 6.03 RFC 1476 RAP: Internet Route Access Protocol (RAP) 620 This document defines an IPv7 routing protocol and has been abandoned 621 by the IETF as a feasible design. It is not considered in this 622 document. 624 6.04 RFC 1765 OSPF Database Overflow (OSPF-OVFL) 626 There are no IPv4 dependencies in this protocol other than the fact 627 that it is an new functionality for a routing protocol that only 628 supports IPv4 networks. It is assumed that a future update to OSPF 629 to support IPv6 will also support this functionality. 631 6.05 RFC 1863 A BGP/IDRP Route Server alternative to a full mesh 632 routing (BGP-IDRP) 634 This protocol is both IPv4 and IPv6 aware and needs no changes. 636 6.06 RFC 1966 BGP Route Reflection An alternative to full mesh 637 IBGP (BGP-RR) 639 Although the protocol enhancements have no IPv4 dependencies, it is 640 an update to an IPv4 only routing protocol. It is expected that a 641 newer version of BGP that is IPv6 aware will also implement this 642 enhancement. 644 Conceptually there should be no issues with the protocol operating 645 in and IPv6 aware BGP. 647 6.07 RFC 2189 Core Based Trees (CBT version 2) Multicast Routing 649 This document specifies a protocol that depends on IPv4 multicast. 650 It is expected that it could easily be updated to support IPv6 651 multicasting. 653 7.3. JOIN_REQUEST Packet Format 655 0 1 2 3 656 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 657 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 658 | CBT Control Packet Header | 659 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 660 | group address | 661 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 662 | target router | 663 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 664 | originating router | 665 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 666 | option type | option len | option value | 667 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 669 Figure 3. JOIN_REQUEST Packet Format 671 JOIN_REQUEST Field Definitions 673 o group address: multicast group address of the group being joined. 674 For a "wildcard" join (see [5]), this field contains the value of 675 INADDR_ANY. 677 o target router: target (core) router for the group. 679 o originating router: router that originated this JOIN_REQUEST. 681 There are many other packet formats defined in the document that 682 show this limitation as well. 684 6.08 RFC 2201 Core Based Trees (CBT) Multicast Routing Architecture 686 See previous section for the IPv4 limitation in this protocol. 688 6.09 RFC 2520 NHRP with Mobile NHCs (NHRP-MNHCS) 690 This protocol is both IPv4 and IPv6 aware and needs no changes. 692 6.10 RFC 2676 QoS Routing Mechanisms and OSPF Extensions 694 There are IPv4 dependencies in this protocol. IT requires the 695 use of the IPv4 TOS header field. It is assumed that a future 696 update to OSPF to support IPv6 will also support this 697 functionality. 699 7.0 Summary of Results 701 In the initial survey of RFCs 26 positives were identified out of a 702 total of 58, broken down as follows: 704 Standards 3 of 7 or 42.86% 705 Draft Standards 1 of 2 or 50.00% 706 Proposed Standards 18 of 39 or 46.15% 707 Experimental RFCs 4 of 10 or 40.00% 709 Of those identified many require no action because they document 710 outdated and unused protocols, while others are document protocols 711 that are actively being updated by the appropriate working groups. 712 Additionally there are many instances of standards that SHOULD be 713 updated but do not cause any operational impact if they are not 714 updated. The remaining instances are documented below. 716 The author has attempted to organize the results in a format that allows 717 easy reference to other protocol designers. The following recommendations 718 uses the documented terms "MUST", "MUST NOT", "REQUIRED", "SHALL", 719 "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" 720 described in RFC 2119. They should only be interpreted in the context 721 of RFC 2119 when they appear in all caps. That is, the word "should" in 722 the previous SHOULD NOT be interpreted as in RFC 2119. 724 The assignment of these terms has been based entirely on the authors 725 perceived needs for updates and should not be taken as an official 726 statement. 728 7.1 Standards 730 7.1.1 STD 4 Router Requirements (RFC 1812) 732 RFC 1812 SHOULD be updated to include IPv6 Routing Requirements (once 733 they are finalized) 735 7.1.2 STD 54 OSPF (RFC 2328) 737 This problem has been fixed by RFC 2740, OSPF for IPv6. 739 7.1.3 STD 56 RIPv2 (RFC 2453) 741 This problem has been fixed by RFC 2080, RIPng for IPv6. 743 7.2 Draft Standards 745 7.2.1 Border Gateway Protocol 4 (RFC 1771) 747 This problem has been fixed in RFC2283, Multiprotocol Extensions 748 for BGP-4. 750 7.3 Proposed Standards 752 7.3.01 IS-IS (RFC 1195) 754 This problem is being addressed by the IS-IS WG and a ID is 755 currently available (draft-ietf-isis-ipv6-02.txt) 757 7.3.02 Applicability Statement for OSPFv2 (RFC 1370) 759 This problem has been resolved in RFC 2740, OSPF for IPv6. 761 7.3.03 Applicability of CIDR (RFC 1517) 763 The contents of this specification has been treated in various 764 IPv6 addressing architecture RFCS. See RFC 2373 & 2374. 766 7.3.04 CIDR Architecture (RFC 1518) 768 The contents of this specification has been treated in various 769 IPv6 addressing architecture RFCS. See RFC 2373 & 2374. 771 7.3.05 RIP Extensions for Demand Circuits (RFC 1582) 773 This problem has been addressed in RFC 2080, RIPng for IPv6. 775 7.3.06 OSPF Multicast Extensions (RFC 1584) 777 This functionality has been covered in RFC 2740, OSPF for IPv6. 779 7.3.07 OSPF NSSA Option (RFC 1587) 781 This functionality has been covered in RFC 2740, OSPF for IPv6. 783 7.3.08 BGP4/IDRP OSPF Interaction (RFC 1745) 785 The problems are addressed in the combination of RFC2283, 786 Multiprotocol Extensions for BGP-4 and RFC 2740, OSPF for IPv6. 788 7.3.09 OSPF For Demand Circuits (RFC 1793) 790 This functionality has been covered in RFC 2740, OSPF for IPv6. 792 7.3.10 IPv4 Router Requirements (RFC 1812) 794 See Section 7.1.2. 796 7.3.11 RIP Triggered Extensions for Demand Circuits (RFC 2091) 798 This functionality is provided in RFC 2080, RIPng for IPv6. 800 7.3.12 VRRP (RFC 2338) 802 The problems identified are being addressed by the VRRP WG and 803 there is an ID (draft-ietf-vrrp-ipv6-spec-02.txt). 805 7.3.13 OSPF Opaque LSA Option (RFC 2370) 807 This problem has been fixed by RFC 2740, OSPF for IPv6. 809 7.3.14 BGP Route Flap Dampening (RFC 2439) 811 These issues are addressed via using BGP4 plus RFC 2283, 812 Multiprotocol Extensions for BGP-4. 814 7.3.15 RPSL (RFC 2622) 816 Additional objects MUST be defined for IPv6 addresses and prefixes. 818 7.3.16 GRE (RFC 2784) 820 The problems have not been addressed and a new protocol SHOULD be 821 defined. 823 7.3.17 BGP Route Reflector (RFC 2796) 825 These issues are addressed via using BGP4 plus RFC 2283, 826 Multiprotocol Extensions for BGP-4. 828 7.3.18 Capabilities Advertisement in BGP4 (RFC 2842) 830 These issues are addressed via using BGP4 plus RFC 2283, 831 Multiprotocol Extensions for BGP-4. 833 7.4 Experimental RFCs 835 7.4.1 Distance Vector Multicast Routing Protocol (RFC 1075) 837 This protocol is a routing protocol for IPv4 multicast routing. It 838 is no longer in use and SHOULD NOT be redefined. 840 7.4.2 An Experiment in DNS Based IP Routing (RFC 1383) 842 This protocol relies on IPv4 DNS RR and a new protocol standard 843 SHOULD NOT be produced. 845 7.4.3 QoS Routing Mechanisms and OSPF Extensions (RFC 2676) 847 An update to this document can be simply define the use of the IPv6 848 Traffic Class field since it is defined to be exactly the same as the 849 IPv4 TOS field. 851 7.4.4 Core Based Trees (CBT version 2) Multicast Routing 852 (RFC 2189) 854 This protocol relies on IPv4 IGMP Multicast and a new protocol 855 standard MAY be produced. 857 8.0 Acknowledgements 859 The author would like to acknowledge the support of the Internet Society 860 in the research and production of this document. Additionally the 861 author would like to thanks his partner in all ways, Wendy M. Nesser. 863 9.0 Authors Address 865 Please contact the author with any questions, comments or suggestions 866 at: 868 Philip J. Nesser II 869 Principal 870 Nesser & Nesser Consulting 871 13501 100th Ave NE, #5202 872 Kirkland, WA 98034 874 Email: phil@nesser.com 875 Phone: +1 425 481 4303 876 Fax: +1 425 48