summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc1812.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc1812.txt')
-rw-r--r--doc/rfc/rfc1812.txt9803
1 files changed, 9803 insertions, 0 deletions
diff --git a/doc/rfc/rfc1812.txt b/doc/rfc/rfc1812.txt
new file mode 100644
index 0000000..2af8eb8
--- /dev/null
+++ b/doc/rfc/rfc1812.txt
@@ -0,0 +1,9803 @@
+
+
+
+
+
+
+Network Working Group F. Baker, Editor
+Request for Comments: 1812 Cisco Systems
+Obsoletes: 1716, 1009 June 1995
+Category: Standards Track
+
+
+ Requirements for IP Version 4 Routers
+
+Status of this Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+PREFACE
+
+ This document is an updated version of RFC 1716, the historical
+ Router Requirements document. That RFC preserved the significant
+ work that went into the working group, but failed to adequately
+ describe current technology for the IESG to consider it a current
+ standard.
+
+ The current editor had been asked to bring the document up to date,
+ so that it is useful as a procurement specification and a guide to
+ implementors. In this, he stands squarely on the shoulders of those
+ who have gone before him, and depends largely on expert contributors
+ for text. Any credit is theirs; the errors are his.
+
+ The content and form of this document are due, in large part, to the
+ working group's chair, and document's original editor and author:
+ Philip Almquist. It is also largely due to the efforts of its
+ previous editor, Frank Kastenholz. Without their efforts, this
+ document would not exist.
+
+Table of Contents
+
+ 1. INTRODUCTION ........................................ 6
+ 1.1 Reading this Document .............................. 8
+ 1.1.1 Organization ..................................... 8
+ 1.1.2 Requirements ..................................... 9
+ 1.1.3 Compliance ....................................... 10
+ 1.2 Relationships to Other Standards ................... 11
+ 1.3 General Considerations ............................. 12
+ 1.3.1 Continuing Internet Evolution .................... 12
+ 1.3.2 Robustness Principle ............................. 13
+ 1.3.3 Error Logging .................................... 14
+
+
+
+Baker Standards Track [Page 1]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ 1.3.4 Configuration .................................... 14
+ 1.4 Algorithms ......................................... 16
+ 2. INTERNET ARCHITECTURE ............................... 16
+ 2.1 Introduction ....................................... 16
+ 2.2 Elements of the Architecture ....................... 17
+ 2.2.1 Protocol Layering ................................ 17
+ 2.2.2 Networks ......................................... 19
+ 2.2.3 Routers .......................................... 20
+ 2.2.4 Autonomous Systems ............................... 21
+ 2.2.5 Addressing Architecture .......................... 21
+ 2.2.5.1 Classical IP Addressing Architecture ........... 21
+ 2.2.5.2 Classless Inter Domain Routing (CIDR) .......... 23
+ 2.2.6 IP Multicasting .................................. 24
+ 2.2.7 Unnumbered Lines and Networks Prefixes ........... 25
+ 2.2.8 Notable Oddities ................................. 26
+ 2.2.8.1 Embedded Routers ............................... 26
+ 2.2.8.2 Transparent Routers ............................ 27
+ 2.3 Router Characteristics ............................. 28
+ 2.4 Architectural Assumptions .......................... 31
+ 3. LINK LAYER .......................................... 32
+ 3.1 INTRODUCTION ....................................... 32
+ 3.2 LINK/INTERNET LAYER INTERFACE ...................... 33
+ 3.3 SPECIFIC ISSUES .................................... 34
+ 3.3.1 Trailer Encapsulation ............................ 34
+ 3.3.2 Address Resolution Protocol - ARP ................ 34
+ 3.3.3 Ethernet and 802.3 Coexistence ................... 35
+ 3.3.4 Maximum Transmission Unit - MTU .................. 35
+ 3.3.5 Point-to-Point Protocol - PPP .................... 35
+ 3.3.5.1 Introduction ................................... 36
+ 3.3.5.2 Link Control Protocol (LCP) Options ............ 36
+ 3.3.5.3 IP Control Protocol (IPCP) Options ............. 38
+ 3.3.6 Interface Testing ................................ 38
+ 4. INTERNET LAYER - PROTOCOLS .......................... 39
+ 4.1 INTRODUCTION ....................................... 39
+ 4.2 INTERNET PROTOCOL - IP ............................. 39
+ 4.2.1 INTRODUCTION ..................................... 39
+ 4.2.2 PROTOCOL WALK-THROUGH ............................ 40
+ 4.2.2.1 Options: RFC 791 Section 3.2 ................... 40
+ 4.2.2.2 Addresses in Options: RFC 791 Section 3.1 ...... 42
+ 4.2.2.3 Unused IP Header Bits: RFC 791 Section 3.1 ..... 43
+ 4.2.2.4 Type of Service: RFC 791 Section 3.1 ........... 44
+ 4.2.2.5 Header Checksum: RFC 791 Section 3.1 ........... 44
+ 4.2.2.6 Unrecognized Header Options: RFC 791,
+ Section 3.1 .................................... 44
+ 4.2.2.7 Fragmentation: RFC 791 Section 3.2 ............. 45
+ 4.2.2.8 Reassembly: RFC 791 Section 3.2 ................ 46
+ 4.2.2.9 Time to Live: RFC 791 Section 3.2 .............. 46
+ 4.2.2.10 Multi-subnet Broadcasts: RFC 922 .............. 47
+
+
+
+Baker Standards Track [Page 2]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ 4.2.2.11 Addressing: RFC 791 Section 3.2 ............... 47
+ 4.2.3 SPECIFIC ISSUES .................................. 50
+ 4.2.3.1 IP Broadcast Addresses ......................... 50
+ 4.2.3.2 IP Multicasting ................................ 50
+ 4.2.3.3 Path MTU Discovery ............................. 51
+ 4.2.3.4 Subnetting ..................................... 51
+ 4.3 INTERNET CONTROL MESSAGE PROTOCOL - ICMP ........... 52
+ 4.3.1 INTRODUCTION ..................................... 52
+ 4.3.2 GENERAL ISSUES ................................... 53
+ 4.3.2.1 Unknown Message Types .......................... 53
+ 4.3.2.2 ICMP Message TTL ............................... 53
+ 4.3.2.3 Original Message Header ........................ 53
+ 4.3.2.4 ICMP Message Source Address .................... 53
+ 4.3.2.5 TOS and Precedence ............................. 54
+ 4.3.2.6 Source Route ................................... 54
+ 4.3.2.7 When Not to Send ICMP Errors ................... 55
+ 4.3.2.8 Rate Limiting .................................. 56
+ 4.3.3 SPECIFIC ISSUES .................................. 56
+ 4.3.3.1 Destination Unreachable ........................ 56
+ 4.3.3.2 Redirect ....................................... 57
+ 4.3.3.3 Source Quench .................................. 57
+ 4.3.3.4 Time Exceeded .................................. 58
+ 4.3.3.5 Parameter Problem .............................. 58
+ 4.3.3.6 Echo Request/Reply ............................. 58
+ 4.3.3.7 Information Request/Reply ...................... 59
+ 4.3.3.8 Timestamp and Timestamp Reply .................. 59
+ 4.3.3.9 Address Mask Request/Reply ..................... 61
+ 4.3.3.10 Router Advertisement and Solicitations ........ 62
+ 4.4 INTERNET GROUP MANAGEMENT PROTOCOL - IGMP .......... 62
+ 5. INTERNET LAYER - FORWARDING ......................... 63
+ 5.1 INTRODUCTION ....................................... 63
+ 5.2 FORWARDING WALK-THROUGH ............................ 63
+ 5.2.1 Forwarding Algorithm ............................. 63
+ 5.2.1.1 General ........................................ 64
+ 5.2.1.2 Unicast ........................................ 64
+ 5.2.1.3 Multicast ...................................... 65
+ 5.2.2 IP Header Validation ............................. 67
+ 5.2.3 Local Delivery Decision .......................... 69
+ 5.2.4 Determining the Next Hop Address ................. 71
+ 5.2.4.1 IP Destination Address ......................... 72
+ 5.2.4.2 Local/Remote Decision .......................... 72
+ 5.2.4.3 Next Hop Address ............................... 74
+ 5.2.4.4 Administrative Preference ...................... 77
+ 5.2.4.5 Load Splitting ................................. 79
+ 5.2.5 Unused IP Header Bits: RFC-791 Section 3.1 ....... 79
+ 5.2.6 Fragmentation and Reassembly: RFC-791,
+ Section 3.2 ...................................... 80
+ 5.2.7 Internet Control Message Protocol - ICMP ......... 80
+
+
+
+Baker Standards Track [Page 3]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ 5.2.7.1 Destination Unreachable ........................ 80
+ 5.2.7.2 Redirect ....................................... 82
+ 5.2.7.3 Time Exceeded .................................. 84
+ 5.2.8 INTERNET GROUP MANAGEMENT PROTOCOL - IGMP ........ 84
+ 5.3 SPECIFIC ISSUES .................................... 85
+ 5.3.1 Time to Live (TTL) ............................... 85
+ 5.3.2 Type of Service (TOS) ............................ 86
+ 5.3.3 IP Precedence .................................... 87
+ 5.3.3.1 Precedence-Ordered Queue Service ............... 88
+ 5.3.3.2 Lower Layer Precedence Mappings ................ 89
+ 5.3.3.3 Precedence Handling For All Routers ............ 90
+ 5.3.4 Forwarding of Link Layer Broadcasts .............. 92
+ 5.3.5 Forwarding of Internet Layer Broadcasts .......... 92
+ 5.3.5.1 Limited Broadcasts ............................. 93
+ 5.3.5.2 Directed Broadcasts ............................ 93
+ 5.3.5.3 All-subnets-directed Broadcasts ................ 94
+ 5.3.5.4 Subnet-directed Broadcasts .................... 94
+ 5.3.6 Congestion Control ............................... 94
+ 5.3.7 Martian Address Filtering ........................ 96
+ 5.3.8 Source Address Validation ........................ 97
+ 5.3.9 Packet Filtering and Access Lists ................ 97
+ 5.3.10 Multicast Routing ............................... 98
+ 5.3.11 Controls on Forwarding .......................... 98
+ 5.3.12 State Changes ................................... 99
+ 5.3.12.1 When a Router Ceases Forwarding ............... 99
+ 5.3.12.2 When a Router Starts Forwarding ............... 100
+ 5.3.12.3 When an Interface Fails or is Disabled ........ 100
+ 5.3.12.4 When an Interface is Enabled .................. 100
+ 5.3.13 IP Options ...................................... 101
+ 5.3.13.1 Unrecognized Options .......................... 101
+ 5.3.13.2 Security Option ............................... 101
+ 5.3.13.3 Stream Identifier Option ...................... 101
+ 5.3.13.4 Source Route Options .......................... 101
+ 5.3.13.5 Record Route Option ........................... 102
+ 5.3.13.6 Timestamp Option .............................. 102
+ 6. TRANSPORT LAYER ..................................... 103
+ 6.1 USER DATAGRAM PROTOCOL - UDP ....................... 103
+ 6.2 TRANSMISSION CONTROL PROTOCOL - TCP ................ 104
+ 7. APPLICATION LAYER - ROUTING PROTOCOLS ............... 106
+ 7.1 INTRODUCTION ....................................... 106
+ 7.1.1 Routing Security Considerations .................. 106
+ 7.1.2 Precedence ....................................... 107
+ 7.1.3 Message Validation ............................... 107
+ 7.2 INTERIOR GATEWAY PROTOCOLS ......................... 107
+ 7.2.1 INTRODUCTION ..................................... 107
+ 7.2.2 OPEN SHORTEST PATH FIRST - OSPF .................. 108
+ 7.2.3 INTERMEDIATE SYSTEM TO INTERMEDIATE SYSTEM -
+ DUAL IS-IS ....................................... 108
+
+
+
+Baker Standards Track [Page 4]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ 7.3 EXTERIOR GATEWAY PROTOCOLS ........................ 109
+ 7.3.1 INTRODUCTION .................................... 109
+ 7.3.2 BORDER GATEWAY PROTOCOL - BGP .................... 109
+ 7.3.2.1 Introduction ................................... 109
+ 7.3.2.2 Protocol Walk-through .......................... 110
+ 7.3.3 INTER-AS ROUTING WITHOUT AN EXTERIOR PROTOCOL
+ .................................................. 110
+ 7.4 STATIC ROUTING ..................................... 111
+ 7.5 FILTERING OF ROUTING INFORMATION ................... 112
+ 7.5.1 Route Validation ................................. 113
+ 7.5.2 Basic Route Filtering ............................ 113
+ 7.5.3 Advanced Route Filtering ......................... 114
+ 7.6 INTER-ROUTING-PROTOCOL INFORMATION EXCHANGE ........ 114
+ 8. APPLICATION LAYER - NETWORK MANAGEMENT PROTOCOLS
+ ..................................................... 115
+ 8.1 The Simple Network Management Protocol - SNMP ...... 115
+ 8.1.1 SNMP Protocol Elements ........................... 115
+ 8.2 Community Table .................................... 116
+ 8.3 Standard MIBS ...................................... 118
+ 8.4 Vendor Specific MIBS ............................... 119
+ 8.5 Saving Changes ..................................... 120
+ 9. APPLICATION LAYER - MISCELLANEOUS PROTOCOLS ......... 120
+ 9.1 BOOTP .............................................. 120
+ 9.1.1 Introduction ..................................... 120
+ 9.1.2 BOOTP Relay Agents ............................... 121
+ 10. OPERATIONS AND MAINTENANCE ......................... 122
+ 10.1 Introduction ...................................... 122
+ 10.2 Router Initialization ............................. 123
+ 10.2.1 Minimum Router Configuration .................... 123
+ 10.2.2 Address and Prefix Initialization ............... 124
+ 10.2.3 Network Booting using BOOTP and TFTP ............ 125
+ 10.3 Operation and Maintenance ......................... 126
+ 10.3.1 Introduction .................................... 126
+ 10.3.2 Out Of Band Access .............................. 127
+ 10.3.2 Router O&M Functions ............................ 127
+ 10.3.2.1 Maintenance - Hardware Diagnosis .............. 127
+ 10.3.2.2 Control - Dumping and Rebooting ............... 127
+ 10.3.2.3 Control - Configuring the Router .............. 128
+ 10.3.2.4 Net Booting of System Software ................ 128
+ 10.3.2.5 Detecting and responding to misconfiguration
+ ............................................... 129
+ 10.3.2.6 Minimizing Disruption ......................... 130
+ 10.3.2.7 Control - Troubleshooting Problems ............ 130
+ 10.4 Security Considerations ........................... 131
+ 10.4.1 Auditing and Audit Trails ....................... 131
+ 10.4.2 Configuration Control ........................... 132
+ 11. REFERENCES ......................................... 133
+ APPENDIX A. REQUIREMENTS FOR SOURCE-ROUTING HOSTS ...... 145
+
+
+
+Baker Standards Track [Page 5]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ APPENDIX B. GLOSSARY ................................... 146
+ APPENDIX C. FUTURE DIRECTIONS .......................... 152
+ APPENDIX D. Multicast Routing Protocols ................ 154
+ D.1 Introduction ....................................... 154
+ D.2 Distance Vector Multicast Routing Protocol -
+ DVMRP .............................................. 154
+ D.3 Multicast Extensions to OSPF - MOSPF ............... 154
+ D.4 Protocol Independent Multicast - PIM ............... 155
+ APPENDIX E Additional Next-Hop Selection Algorithms
+ ................................................... 155
+ E.1. Some Historical Perspective ....................... 155
+ E.2. Additional Pruning Rules .......................... 157
+ E.3 Some Route Lookup Algorithms ....................... 159
+ E.3.1 The Revised Classic Algorithm .................... 159
+ E.3.2 The Variant Router Requirements Algorithm ........ 160
+ E.3.3 The OSPF Algorithm ............................... 160
+ E.3.4 The Integrated IS-IS Algorithm ................... 162
+ Security Considerations ................................ 163
+ APPENDIX F: HISTORICAL ROUTING PROTOCOLS ............... 164
+ F.1 EXTERIOR GATEWAY PROTOCOL - EGP .................... 164
+ F.1.1 Introduction ..................................... 164
+ F.1.2 Protocol Walk-through ............................ 165
+ F.2 ROUTING INFORMATION PROTOCOL - RIP ................. 167
+ F.2.1 Introduction ..................................... 167
+ F.2.2 Protocol Walk-Through ............................ 167
+ F.2.3 Specific Issues .................................. 172
+ F.3 GATEWAY TO GATEWAY PROTOCOL - GGP .................. 173
+ Acknowledgments ........................................ 173
+ Editor's Address ....................................... 175
+
+1. INTRODUCTION
+
+ This memo replaces for RFC 1716, "Requirements for Internet Gateways"
+ ([INTRO:1]).
+
+ This memo defines and discusses requirements for devices that perform
+ the network layer forwarding function of the Internet protocol suite.
+ The Internet community usually refers to such devices as IP routers or
+ simply routers; The OSI community refers to such devices as
+ intermediate systems. Many older Internet documents refer to these
+ devices as gateways, a name which more recently has largely passed out
+ of favor to avoid confusion with application gateways.
+
+ An IP router can be distinguished from other sorts of packet switching
+ devices in that a router examines the IP protocol header as part of
+ the switching process. It generally removes the Link Layer header a
+ message was received with, modifies the IP header, and replaces the
+ Link Layer header for retransmission.
+
+
+
+Baker Standards Track [Page 6]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ The authors of this memo recognize, as should its readers, that many
+ routers support more than one protocol. Support for multiple protocol
+ suites will be required in increasingly large parts of the Internet in
+ the future. This memo, however, does not attempt to specify Internet
+ requirements for protocol suites other than TCP/IP.
+
+ This document enumerates standard protocols that a router connected to
+ the Internet must use, and it incorporates by reference the RFCs and
+ other documents describing the current specifications for these
+ protocols. It corrects errors in the referenced documents and adds
+ additional discussion and guidance for an implementor.
+
+ For each protocol, this memo also contains an explicit set of
+ requirements, recommendations, and options. The reader must
+ understand that the list of requirements in this memo is incomplete by
+ itself. The complete set of requirements for an Internet protocol
+ router is primarily defined in the standard protocol specification
+ documents, with the corrections, amendments, and supplements contained
+ in this memo.
+
+ This memo should be read in conjunction with the Requirements for
+ Internet Hosts RFCs ([INTRO:2] and [INTRO:3]). Internet hosts and
+ routers must both be capable of originating IP datagrams and receiving
+ IP datagrams destined for them. The major distinction between
+ Internet hosts and routers is that routers implement forwarding
+ algorithms, while Internet hosts do not require forwarding
+ capabilities. Any Internet host acting as a router must adhere to the
+ requirements contained in this memo.
+
+ The goal of open system interconnection dictates that routers must
+ function correctly as Internet hosts when necessary. To achieve this,
+ this memo provides guidelines for such instances. For simplification
+ and ease of document updates, this memo tries to avoid overlapping
+ discussions of host requirements with [INTRO:2] and [INTRO:3] and
+ incorporates the relevant requirements of those documents by
+ reference. In some cases the requirements stated in [INTRO:2] and
+ [INTRO:3] are superseded by this document.
+
+ A good-faith implementation of the protocols produced after careful
+ reading of the RFCs should differ from the requirements of this memo
+ in only minor ways. Producing such an implementation often requires
+ some interaction with the Internet technical community, and must
+ follow good communications software engineering practices. In many
+ cases, the requirements in this document are already stated or implied
+ in the standard protocol documents, so that their inclusion here is,
+ in a sense, redundant. They were included because some past
+ implementation has made the wrong choice, causing problems of
+ interoperability, performance, and/or robustness.
+
+
+
+Baker Standards Track [Page 7]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ This memo includes discussion and explanation of many of the
+ requirements and recommendations. A simple list of requirements would
+ be dangerous, because:
+
+ o Some required features are more important than others, and some
+ features are optional.
+
+ o Some features are critical in some applications of routers but
+ irrelevant in others.
+
+ o There may be valid reasons why particular vendor products that are
+ designed for restricted contexts might choose to use different
+ specifications.
+
+ However, the specifications of this memo must be followed to meet the
+ general goal of arbitrary router interoperation across the diversity
+ and complexity of the Internet. Although most current implementations
+ fail to meet these requirements in various ways, some minor and some
+ major, this specification is the ideal towards which we need to move.
+
+ These requirements are based on the current level of Internet
+ architecture. This memo will be updated as required to provide
+ additional clarifications or to include additional information in
+ those areas in which specifications are still evolving.
+
+1.1 Reading this Document
+
+1.1.1 Organization
+
+ This memo emulates the layered organization used by [INTRO:2] and
+ [INTRO:3]. Thus, Chapter 2 describes the layers found in the Internet
+ architecture. Chapter 3 covers the Link Layer. Chapters 4 and 5 are
+ concerned with the Internet Layer protocols and forwarding algorithms.
+ Chapter 6 covers the Transport Layer. Upper layer protocols are
+ divided among Chapters 7, 8, and 9. Chapter 7 discusses the protocols
+ which routers use to exchange routing information with each other.
+ Chapter 8 discusses network management. Chapter 9 discusses other
+ upper layer protocols. The final chapter covers operations and
+ maintenance features. This organization was chosen for simplicity,
+ clarity, and consistency with the Host Requirements RFCs. Appendices
+ to this memo include a bibliography, a glossary, and some conjectures
+ about future directions of router standards.
+
+ In describing the requirements, we assume that an implementation
+ strictly mirrors the layering of the protocols. However, strict
+ layering is an imperfect model, both for the protocol suite and for
+ recommended implementation approaches. Protocols in different layers
+ interact in complex and sometimes subtle ways, and particular
+
+
+
+Baker Standards Track [Page 8]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ functions often involve multiple layers. There are many design
+ choices in an implementation, many of which involve creative breaking
+ of strict layering. Every implementor is urged to read [INTRO:4] and
+ [INTRO:5].
+
+ Each major section of this memo is organized into the following
+ subsections:
+
+ (1) Introduction
+
+ (2) Protocol Walk-Through - considers the protocol specification
+ documents section-by-section, correcting errors, stating
+ requirements that may be ambiguous or ill-defined, and providing
+ further clarification or explanation.
+
+ (3) Specific Issues - discusses protocol design and implementation
+ issues that were not included in the walk-through.
+
+ Under many of the individual topics in this memo, there is
+ parenthetical material labeled DISCUSSION or IMPLEMENTATION. This
+ material is intended to give a justification, clarification or
+ explanation to the preceding requirements text. The implementation
+ material contains suggested approaches that an implementor may want to
+ consider. The DISCUSSION and IMPLEMENTATION sections are not part of
+ the standard.
+
+1.1.2 Requirements
+
+ In this memo, the words that are used to define the significance of
+ each particular requirement are capitalized. These words are:
+
+ o MUST
+ This word means that the item is an absolute requirement of the
+ specification. Violation of such a requirement is a fundamental
+ error; there is no case where it is justified.
+
+ o MUST IMPLEMENT
+ This phrase means that this specification requires that the item be
+ implemented, but does not require that it be enabled by default.
+
+ o MUST NOT
+ This phrase means that the item is an absolute prohibition of the
+ specification.
+
+ o SHOULD
+ This word means that there may exist valid reasons in particular
+ circumstances to ignore this item, but the full implications should
+ be understood and the case carefully weighed before choosing a
+
+
+
+Baker Standards Track [Page 9]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ different course.
+
+ o SHOULD IMPLEMENT
+ This phrase is similar in meaning to SHOULD, but is used when we
+ recommend that a particular feature be provided but does not
+ necessarily recommend that it be enabled by default.
+
+ o SHOULD NOT
+ This phrase means that there may exist valid reasons in particular
+ circumstances when the described behavior is acceptable or even
+ useful. Even so, the full implications should be understood and
+ the case carefully weighed before implementing any behavior
+ described with this label.
+
+ o MAY
+ This word means that this item is truly optional. One vendor may
+ choose to include the item because a particular marketplace
+ requires it or because it enhances the product, for example;
+ another vendor may omit the same item.
+
+1.1.3 Compliance
+
+ Some requirements are applicable to all routers. Other requirements
+ are applicable only to those which implement particular features or
+ protocols. In the following paragraphs, relevant refers to the union
+ of the requirements applicable to all routers and the set of
+ requirements applicable to a particular router because of the set of
+ features and protocols it has implemented.
+
+ Note that not all Relevant requirements are stated directly in this
+ memo. Various parts of this memo incorporate by reference sections of
+ the Host Requirements specification, [INTRO:2] and [INTRO:3]. For
+ purposes of determining compliance with this memo, it does not matter
+ whether a Relevant requirement is stated directly in this memo or
+ merely incorporated by reference from one of those documents.
+
+ An implementation is said to be conditionally compliant if it
+ satisfies all the Relevant MUST, MUST IMPLEMENT, and MUST NOT
+ requirements. An implementation is said to be unconditionally
+ compliant if it is conditionally compliant and also satisfies all the
+ Relevant SHOULD, SHOULD IMPLEMENT, and SHOULD NOT requirements. An
+ implementation is not compliant if it is not conditionally compliant
+ (i.e., it fails to satisfy one or more of the Relevant MUST, MUST
+ IMPLEMENT, or MUST NOT requirements).
+
+ This specification occasionally indicates that an implementation
+ SHOULD implement a management variable, and that it SHOULD have a
+ certain default value. An unconditionally compliant implementation
+
+
+
+Baker Standards Track [Page 10]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ implements the default behavior, and if there are other implemented
+ behaviors implements the variable. A conditionally compliant
+ implementation clearly documents what the default setting of the
+ variable is or, in the absence of the implementation of a variable,
+ may be construed to be. An implementation that both fails to
+ implement the variable and chooses a different behavior is not
+ compliant.
+
+ For any of the SHOULD and SHOULD NOT requirements, a router may
+ provide a configuration option that will cause the router to act other
+ than as specified by the requirement. Having such a configuration
+ option does not void a router's claim to unconditional compliance if
+ the option has a default setting, and that setting causes the router
+ to operate in the required manner.
+
+ Likewise, routers may provide, except where explicitly prohibited by
+ this memo, options which cause them to violate MUST or MUST NOT
+ requirements. A router that provides such options is compliant
+ (either fully or conditionally) if and only if each such option has a
+ default setting that causes the router to conform to the requirements
+ of this memo. Please note that the authors of this memo, although
+ aware of market realities, strongly recommend against provision of
+ such options. Requirements are labeled MUST or MUST NOT because
+ experts in the field have judged them to be particularly important to
+ interoperability or proper functioning in the Internet. Vendors
+ should weigh carefully the customer support costs of providing options
+ that violate those rules.
+
+ Of course, this memo is not a complete specification of an IP router,
+ but rather is closer to what in the OSI world is called a profile.
+ For example, this memo requires that a number of protocols be
+ implemented. Although most of the contents of their protocol
+ specifications are not repeated in this memo, implementors are
+ nonetheless required to implement the protocols according to those
+ specifications.
+
+1.2 Relationships to Other Standards
+
+ There are several reference documents of interest in checking the
+ status of protocol specifications and standardization:
+
+ o INTERNET OFFICIAL PROTOCOL STANDARDS
+ This document describes the Internet standards process and lists
+ the standards status of the protocols. As of this writing, the
+ current version of this document is STD 1, RFC 1780, [ARCH:7].
+ This document is periodically re-issued. You should always
+ consult an RFC repository and use the latest version of this
+ document.
+
+
+
+Baker Standards Track [Page 11]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ o Assigned Numbers
+ This document lists the assigned values of the parameters used in
+ the various protocols. For example, it lists IP protocol codes,
+ TCP port numbers, Telnet Option Codes, ARP hardware types, and
+ Terminal Type names. As of this writing, the current version of
+ this document is STD 2, RFC 1700, [INTRO:7]. This document is
+ periodically re-issued. You should always consult an RFC
+ repository and use the latest version of this document.
+
+ o Host Requirements
+ This pair of documents reviews the specifications that apply to
+ hosts and supplies guidance and clarification for any
+ ambiguities. Note that these requirements also apply to routers,
+ except where otherwise specified in this memo. As of this
+ writing, the current versions of these documents are RFC 1122 and
+ RFC 1123 (STD 3), [INTRO:2] and [INTRO:3].
+
+ o Router Requirements (formerly Gateway Requirements)
+ This memo.
+
+ Note that these documents are revised and updated at different times;
+ in case of differences between these documents, the most recent must
+ prevail.
+
+ These and other Internet protocol documents may be obtained from the:
+
+ The InterNIC
+ DS.INTERNIC.NET
+ InterNIC Directory and Database Service
+ info@internic.net
+ +1-908-668-6587
+ URL: http://ds.internic.net/
+
+1.3 General Considerations
+
+ There are several important lessons that vendors of Internet software
+ have learned and which a new vendor should consider seriously.
+
+1.3.1 Continuing Internet Evolution
+
+ The enormous growth of the Internet has revealed problems of
+ management and scaling in a large datagram based packet communication
+ system. These problems are being addressed, and as a result there
+ will be continuing evolution of the specifications described in this
+ memo. New routing protocols, algorithms, and architectures are
+ constantly being developed. New internet layer protocols, and
+ modifications to existing protocols, are also constantly being
+ devised. Routers play a crucial role in the Internet, and the number
+
+
+
+Baker Standards Track [Page 12]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ of routers deployed in the Internet is much smaller than the number
+ of hosts. Vendors should therefore expect that router standards will
+ continue to evolve much more quickly than host standards. These
+ changes will be carefully planned and controlled since there is
+ extensive participation in this planning by the vendors and by the
+ organizations responsible for operation of the networks.
+
+ Development, evolution, and revision are characteristic of computer
+ network protocols today, and this situation will persist for some
+ years. A vendor who develops computer communications software for
+ the Internet protocol suite (or any other protocol suite!) and then
+ fails to maintain and update that software for changing
+ specifications is going to leave a trail of unhappy customers. The
+ Internet is a large communication network, and the users are in
+ constant contact through it. Experience has shown that knowledge of
+ deficiencies in vendor software propagates quickly through the
+ Internet technical community.
+
+1.3.2 Robustness Principle
+
+ At every layer of the protocols, there is a general rule (from
+ [TRANS:2] by Jon Postel) whose application can lead to enormous
+ benefits in robustness and interoperability:
+
+ Be conservative in what you do,
+ be liberal in what you accept from others.
+
+ Software should be written to deal with every conceivable error, no
+ matter how unlikely. Eventually a packet will come in with that
+ particular combination of errors and attributes, and unless the
+ software is prepared, chaos can ensue. It is best to assume that the
+ network is filled with malevolent entities that will send packets
+ designed to have the worst possible effect. This assumption will
+ lead to suitably protective design. The most serious problems in the
+ Internet have been caused by unforeseen mechanisms triggered by low
+ probability events; mere human malice would never have taken so
+ devious a course!
+
+ Adaptability to change must be designed into all levels of router
+ software. As a simple example, consider a protocol specification
+ that contains an enumeration of values for a particular header field
+ - e.g., a type field, a port number, or an error code; this
+ enumeration must be assumed to be incomplete. If the protocol
+ specification defines four possible error codes, the software must
+ not break when a fifth code is defined. An undefined code might be
+ logged, but it must not cause a failure.
+
+
+
+
+
+Baker Standards Track [Page 13]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ The second part of the principal is almost as important: software on
+ hosts or other routers may contain deficiencies that make it unwise
+ to exploit legal but obscure protocol features. It is unwise to
+ stray far from the obvious and simple, lest untoward effects result
+ elsewhere. A corollary of this is watch out for misbehaving hosts;
+ router software should be prepared to survive in the presence of
+ misbehaving hosts. An important function of routers in the Internet
+ is to limit the amount of disruption such hosts can inflict on the
+ shared communication facility.
+
+1.3.3 Error Logging
+
+ The Internet includes a great variety of systems, each implementing
+ many protocols and protocol layers, and some of these contain bugs
+ and misguided features in their Internet protocol software. As a
+ result of complexity, diversity, and distribution of function, the
+ diagnosis of problems is often very difficult.
+
+ Problem diagnosis will be aided if routers include a carefully
+ designed facility for logging erroneous or strange events. It is
+ important to include as much diagnostic information as possible when
+ an error is logged. In particular, it is often useful to record the
+ header(s) of a packet that caused an error. However, care must be
+ taken to ensure that error logging does not consume prohibitive
+ amounts of resources or otherwise interfere with the operation of the
+ router.
+
+ There is a tendency for abnormal but harmless protocol events to
+ overflow error logging files; this can be avoided by using a circular
+ log, or by enabling logging only while diagnosing a known failure.
+ It may be useful to filter and count duplicate successive messages.
+ One strategy that seems to work well is to both:
+
+ o Always count abnormalities and make such counts accessible through
+ the management protocol (see Chapter 8); and
+ o Allow the logging of a great variety of events to be selectively
+ enabled. For example, it might useful to be able to log
+ everything or to log everything for host X.
+
+ This topic is further discussed in [MGT:5].
+
+1.3.4 Configuration
+
+ In an ideal world, routers would be easy to configure, and perhaps
+ even entirely self-configuring. However, practical experience in the
+ real world suggests that this is an impossible goal, and that many
+ attempts by vendors to make configuration easy actually cause
+ customers more grief than they prevent. As an extreme example, a
+
+
+
+Baker Standards Track [Page 14]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ router designed to come up and start routing packets without
+ requiring any configuration information at all would almost certainly
+ choose some incorrect parameter, possibly causing serious problems on
+ any networks unfortunate enough to be connected to it.
+
+ Often this memo requires that a parameter be a configurable option.
+ There are several reasons for this. In a few cases there currently
+ is some uncertainty or disagreement about the best value and it may
+ be necessary to update the recommended value in the future. In other
+ cases, the value really depends on external factors - e.g., the
+ distribution of its communication load, or the speeds and topology of
+ nearby networks - and self-tuning algorithms are unavailable and may
+ be insufficient. In some cases, configurability is needed because of
+ administrative requirements.
+
+ Finally, some configuration options are required to communicate with
+ obsolete or incorrect implementations of the protocols, distributed
+ without sources, that persist in many parts of the Internet. To make
+ correct systems coexist with these faulty systems, administrators
+ must occasionally misconfigure the correct systems. This problem
+ will correct itself gradually as the faulty systems are retired, but
+ cannot be ignored by vendors.
+
+ When we say that a parameter must be configurable, we do not intend
+ to require that its value be explicitly read from a configuration
+ file at every boot time. For many parameters, there is one value
+ that is appropriate for all but the most unusual situations. In such
+ cases, it is quite reasonable that the parameter default to that
+ value if not explicitly set.
+
+ This memo requires a particular value for such defaults in some
+ cases. The choice of default is a sensitive issue when the
+ configuration item controls accommodation of existing, faulty,
+ systems. If the Internet is to converge successfully to complete
+ interoperability, the default values built into implementations must
+ implement the official protocol, not misconfigurations to accommodate
+ faulty implementations. Although marketing considerations have led
+ some vendors to choose misconfiguration defaults, we urge vendors to
+ choose defaults that will conform to the standard.
+
+ Finally, we note that a vendor needs to provide adequate
+ documentation on all configuration parameters, their limits and
+ effects.
+
+
+
+
+
+
+
+
+Baker Standards Track [Page 15]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+1.4 Algorithms
+
+ In several places in this memo, specific algorithms that a router
+ ought to follow are specified. These algorithms are not, per se,
+ required of the router. A router need not implement each algorithm
+ as it is written in this document. Rather, an implementation must
+ present a behavior to the external world that is the same as a
+ strict, literal, implementation of the specified algorithm.
+
+ Algorithms are described in a manner that differs from the way a good
+ implementor would implement them. For expository purposes, a style
+ that emphasizes conciseness, clarity, and independence from
+ implementation details has been chosen. A good implementor will
+ choose algorithms and implementation methods that produce the same
+ results as these algorithms, but may be more efficient or less
+ general.
+
+ We note that the art of efficient router implementation is outside
+ the scope of this memo.
+
+2. INTERNET ARCHITECTURE
+
+ This chapter does not contain any requirements. However, it does
+ contain useful background information on the general architecture of
+ the Internet and of routers.
+
+ General background and discussion on the Internet architecture and
+ supporting protocol suite can be found in the DDN Protocol Handbook
+ [ARCH:1]; for background see for example [ARCH:2], [ARCH:3], and
+ [ARCH:4]. The Internet architecture and protocols are also covered
+ in an ever-growing number of textbooks, such as [ARCH:5] and
+ [ARCH:6].
+
+2.1 Introduction
+
+ The Internet system consists of a number of interconnected packet
+ networks supporting communication among host computers using the
+ Internet protocols. These protocols include the Internet Protocol
+ (IP), the Internet Control Message Protocol (ICMP), the Internet
+ Group Management Protocol (IGMP), and a variety transport and
+ application protocols that depend upon them. As was described in
+ Section [1.2], the Internet Engineering Steering Group periodically
+ releases an Official Protocols memo listing all the Internet
+ protocols.
+
+ All Internet protocols use IP as the basic data transport mechanism.
+ IP is a datagram, or connectionless, internetwork service and
+ includes provision for addressing, type-of-service specification,
+
+
+
+Baker Standards Track [Page 16]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ fragmentation and reassembly, and security. ICMP and IGMP are
+ considered integral parts of IP, although they are architecturally
+ layered upon IP. ICMP provides error reporting, flow control,
+ first-hop router redirection, and other maintenance and control
+ functions. IGMP provides the mechanisms by which hosts and routers
+ can join and leave IP multicast groups.
+
+ Reliable data delivery is provided in the Internet protocol suite by
+ Transport Layer protocols such as the Transmission Control Protocol
+ (TCP), which provides end-end retransmission, resequencing and
+ connection control. Transport Layer connectionless service is
+ provided by the User Datagram Protocol (UDP).
+
+2.2 Elements of the Architecture
+
+2.2.1 Protocol Layering
+
+ To communicate using the Internet system, a host must implement the
+ layered set of protocols comprising the Internet protocol suite. A
+ host typically must implement at least one protocol from each layer.
+
+ The protocol layers used in the Internet architecture are as follows
+ [ARCH:7]:
+
+ o Application Layer
+ The Application Layer is the top layer of the Internet protocol
+ suite. The Internet suite does not further subdivide the
+ Application Layer, although some application layer protocols do
+ contain some internal sub-layering. The application layer of the
+ Internet suite essentially combines the functions of the top two
+ layers - Presentation and Application - of the OSI Reference Model
+ [ARCH:8]. The Application Layer in the Internet protocol suite
+ also includes some of the function relegated to the Session Layer
+ in the OSI Reference Model.
+
+ We distinguish two categories of application layer protocols: user
+ protocols that provide service directly to users, and support
+ protocols that provide common system functions. The most common
+ Internet user protocols are:
+
+ - Telnet (remote login)
+ - FTP (file transfer)
+ - SMTP (electronic mail delivery)
+
+ There are a number of other standardized user protocols and many
+ private user protocols.
+
+
+
+
+
+Baker Standards Track [Page 17]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ Support protocols, used for host name mapping, booting, and
+ management include SNMP, BOOTP, TFTP, the Domain Name System (DNS)
+ protocol, and a variety of routing protocols.
+
+ Application Layer protocols relevant to routers are discussed in
+ chapters 7, 8, and 9 of this memo.
+
+ o Transport Layer
+ The Transport Layer provides end-to-end communication services.
+ This layer is roughly equivalent to the Transport Layer in the OSI
+ Reference Model, except that it also incorporates some of OSI's
+ Session Layer establishment and destruction functions.
+
+ There are two primary Transport Layer protocols at present:
+
+ - Transmission Control Protocol (TCP)
+ - User Datagram Protocol (UDP)
+
+ TCP is a reliable connection-oriented transport service that
+ provides end-to-end reliability, resequencing, and flow control.
+ UDP is a connectionless (datagram) transport service. Other
+ transport protocols have been developed by the research community,
+ and the set of official Internet transport protocols may be
+ expanded in the future.
+
+ Transport Layer protocols relevant to routers are discussed in
+ Chapter 6.
+
+ o Internet Layer
+ All Internet transport protocols use the Internet Protocol (IP) to
+ carry data from source host to destination host. IP is a
+ connectionless or datagram internetwork service, providing no
+ end-to-end delivery guarantees. IP datagrams may arrive at the
+ destination host damaged, duplicated, out of order, or not at all.
+ The layers above IP are responsible for reliable delivery service
+ when it is required. The IP protocol includes provision for
+ addressing, type-of-service specification, fragmentation and
+ reassembly, and security.
+
+ The datagram or connectionless nature of IP is a fundamental and
+ characteristic feature of the Internet architecture.
+
+ The Internet Control Message Protocol (ICMP) is a control protocol
+ that is considered to be an integral part of IP, although it is
+ architecturally layered upon IP - it uses IP to carry its data
+ end-to-end. ICMP provides error reporting, congestion reporting,
+ and first-hop router redirection.
+
+
+
+
+Baker Standards Track [Page 18]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ The Internet Group Management Protocol (IGMP) is an Internet layer
+ protocol used for establishing dynamic host groups for IP
+ multicasting.
+
+ The Internet layer protocols IP, ICMP, and IGMP are discussed in
+ chapter 4.
+
+ o Link Layer
+ To communicate on a directly connected network, a host must
+ implement the communication protocol used to interface to that
+ network. We call this a Link Layer protocol.
+
+ Some older Internet documents refer to this layer as the Network
+ Layer, but it is not the same as the Network Layer in the OSI
+ Reference Model.
+
+ This layer contains everything below the Internet Layer and above
+ the Physical Layer (which is the media connectivity, normally
+ electrical or optical, which encodes and transports messages).
+ Its responsibility is the correct delivery of messages, among
+ which it does not differentiate.
+
+ Protocols in this Layer are generally outside the scope of
+ Internet standardization; the Internet (intentionally) uses
+ existing standards whenever possible. Thus, Internet Link Layer
+ standards usually address only address resolution and rules for
+ transmitting IP packets over specific Link Layer protocols.
+ Internet Link Layer standards are discussed in chapter 3.
+
+2.2.2 Networks
+
+ The constituent networks of the Internet system are required to
+ provide only packet (connectionless) transport. According to the IP
+ service specification, datagrams can be delivered out of order, be
+ lost or duplicated, and/or contain errors.
+
+ For reasonable performance of the protocols that use IP (e.g., TCP),
+ the loss rate of the network should be very low. In networks
+ providing connection-oriented service, the extra reliability provided
+ by virtual circuits enhances the end-end robustness of the system,
+ but is not necessary for Internet operation.
+
+ Constituent networks may generally be divided into two classes:
+
+ o Local-Area Networks (LANs)
+ LANs may have a variety of designs. LANs normally cover a small
+ geographical area (e.g., a single building or plant site) and
+ provide high bandwidth with low delays. LANs may be passive
+
+
+
+Baker Standards Track [Page 19]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ (similar to Ethernet) or they may be active (such as ATM).
+
+ o Wide-Area Networks (WANs)
+ Geographically dispersed hosts and LANs are interconnected by
+ wide-area networks, also called long-haul networks. These
+ networks may have a complex internal structure of lines and
+ packet-switches, or they may be as simple as point-to-point
+ lines.
+
+2.2.3 Routers
+
+ In the Internet model, constituent networks are connected together by
+ IP datagram forwarders which are called routers or IP routers. In
+ this document, every use of the term router is equivalent to IP
+ router. Many older Internet documents refer to routers as gateways.
+
+ Historically, routers have been realized with packet-switching
+ software executing on a general-purpose CPU. However, as custom
+ hardware development becomes cheaper and as higher throughput is
+ required, special purpose hardware is becoming increasingly common.
+ This specification applies to routers regardless of how they are
+ implemented.
+
+ A router connects to two or more logical interfaces, represented by
+ IP subnets or unnumbered point to point lines (discussed in section
+ [2.2.7]). Thus, it has at least one physical interface. Forwarding
+ an IP datagram generally requires the router to choose the address
+ and relevant interface of the next-hop router or (for the final hop)
+ the destination host. This choice, called relaying or forwarding
+ depends upon a route database within the router. The route database
+ is also called a routing table or forwarding table. The term
+ "router" derives from the process of building this route database;
+ routing protocols and configuration interact in a process called
+ routing.
+
+ The routing database should be maintained dynamically to reflect the
+ current topology of the Internet system. A router normally
+ accomplishes this by participating in distributed routing and
+ reachability algorithms with other routers.
+
+ Routers provide datagram transport only, and they seek to minimize
+ the state information necessary to sustain this service in the
+ interest of routing flexibility and robustness.
+
+ Packet switching devices may also operate at the Link Layer; such
+ devices are usually called bridges. Network segments that are
+ connected by bridges share the same IP network prefix forming a
+ single IP subnet. These other devices are outside the scope of this
+
+
+
+Baker Standards Track [Page 20]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ document.
+
+2.2.4 Autonomous Systems
+
+ An Autonomous System (AS) is a connected segment of a network
+ topology that consists of a collection of subnetworks (with hosts
+ attached) interconnected by a set of routes. The subnetworks and the
+ routers are expected to be under the control of a single operations
+ and maintenance (O&M) organization. Within an AS routers may use one
+ or more interior routing protocols, and sometimes several sets of
+ metrics. An AS is expected to present to other ASs an appearence of
+ a coherent interior routing plan, and a consistent picture of the
+ destinations reachable through the AS. An AS is identified by an
+ Autonomous System number.
+
+
+ The concept of an AS plays an important role in the Internet routing
+ (see Section 7.1).
+
+2.2.5 Addressing Architecture
+
+ An IP datagram carries 32-bit source and destination addresses, each
+ of which is partitioned into two parts - a constituent network prefix
+ and a host number on that network. Symbolically:
+
+ IP-address ::= { <Network-prefix>, <Host-number> }
+
+ To finally deliver the datagram, the last router in its path must map
+ the Host-number (or rest) part of an IP address to the host's Link
+ Layer address.
+
+2.2.5.1 Classical IP Addressing Architecture
+
+ Although well documented elsewhere [INTERNET:2], it is useful to
+ describe the historical use of the network prefix. The language
+ developed to describe it is used in this and other documents and
+ permeates the thinking behind many protocols.
+
+ The simplest classical network prefix is the Class A, B, C, D, or E
+ network prefix. These address ranges are discriminated by observing
+ the values of the most significant bits of the address, and break the
+ address into simple prefix and host number fields. This is described
+ in [INTERNET:18]. In short, the classification is:
+
+ 0xxx - Class A - general purpose unicast addresses with standard
+ 8 bit prefix
+ 10xx - Class B - general purpose unicast addresses with standard
+ 16 bit prefix
+
+
+
+Baker Standards Track [Page 21]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ 110x - Class C - general purpose unicast addresses with standard
+ 24 bit prefix
+ 1110 - Class D - IP Multicast Addresses - 28 bit prefix, non-
+ aggregatable
+ 1111 - Class E - reserved for experimental use
+
+ This simple notion has been extended by the concept of subnets.
+ These were introduced to allow arbitrary complexity of interconnected
+ LAN structures within an organization, while insulating the Internet
+ system against explosive growth in assigned network prefixes and
+ routing complexity. Subnets provide a multi-level hierarchical
+ routing structure for the Internet system. The subnet extension,
+ described in [INTERNET:2], is a required part of the Internet
+ architecture. The basic idea is to partition the <Host-number> field
+ into two parts: a subnet number, and a true host number on that
+ subnet:
+
+ IP-address ::=
+ { <Network-number>, <Subnet-number>, <Host-number> }
+
+ The interconnected physical networks within an organization use the
+ same network prefix but different subnet numbers. The distinction
+ between the subnets of such a subnetted network is not normally
+ visible outside of that network. Thus, routing in the rest of the
+ Internet uses only the <Network-prefix> part of the IP destination
+ address. Routers outside the network treat <Network-prefix> and
+ <Host-number> together as an uninterpreted rest part of the 32-bit IP
+ address. Within the subnetted network, the routers use the extended
+ network prefix:
+
+ { <Network-number>, <Subnet-number> }
+
+ The bit positions containing this extended network number have
+ historically been indicated by a 32-bit mask called the subnet mask.
+ The <Subnet-number> bits SHOULD be contiguous and fall between the
+ <Network-number> and the <Host-number> fields. More up to date
+ protocols do not refer to a subnet mask, but to a prefix length; the
+ "prefix" portion of an address is that which would be selected by a
+ subnet mask whose most significant bits are all ones and the rest are
+ zeroes. The length of the prefix equals the number of ones in the
+ subnet mask. This document assumes that all subnet masks are
+ expressible as prefix lengths.
+
+ The inventors of the subnet mechanism presumed that each piece of an
+ organization's network would have only a single subnet number. In
+ practice, it has often proven necessary or useful to have several
+ subnets share a single physical cable. For this reason, routers
+ should be capable of configuring multiple subnets on the same
+
+
+
+Baker Standards Track [Page 22]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ physical interfaces, and treat them (from a routing or forwarding
+ perspective) as though they were distinct physical interfaces.
+
+2.2.5.2 Classless Inter Domain Routing (CIDR)
+
+ The explosive growth of the Internet has forced a review of address
+ assignment policies. The traditional uses of general purpose (Class
+ A, B, and C) networks have been modified to achieve better use of
+ IP's 32-bit address space. Classless Inter Domain Routing (CIDR)
+ [INTERNET:15] is a method currently being deployed in the Internet
+ backbones to achieve this added efficiency. CIDR depends on
+ deploying and routing to arbitrarily sized networks. In this model,
+ hosts and routers make no assumptions about the use of addressing in
+ the internet. The Class D (IP Multicast) and Class E (Experimental)
+ address spaces are preserved, although this is primarily an
+ assignment policy.
+
+ By definition, CIDR comprises three elements:
+
+ o topologically significant address assignment,
+ o routing protocols that are capable of aggregating network layer
+ reachability information, and
+ o consistent forwarding algorithm ("longest match").
+
+ The use of networks and subnets is now historical, although the
+ language used to describe them remains in current use. They have
+ been replaced by the more tractable concept of a network prefix. A
+ network prefix is, by definition, a contiguous set of bits at the
+ more significant end of the address that defines a set of systems;
+ host numbers select among those systems. There is no requirement
+ that all the internet use network prefixes uniformly. To collapse
+ routing information, it is useful to divide the internet into
+ addressing domains. Within such a domain, detailed information is
+ available about constituent networks; outside it, only the common
+ network prefix is advertised.
+
+ The classical IP addressing architecture used addresses and subnet
+ masks to discriminate the host number from the network prefix. With
+ network prefixes, it is sufficient to indicate the number of bits in
+ the prefix. Both representations are in common use. Architecturally
+ correct subnet masks are capable of being represented using the
+ prefix length description. They comprise that subset of all possible
+ bits patterns that have
+
+ o a contiguous string of ones at the more significant end,
+ o a contiguous string of zeros at the less significant end, and
+ o no intervening bits.
+
+
+
+
+Baker Standards Track [Page 23]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ Routers SHOULD always treat a route as a network prefix, and SHOULD
+ reject configuration and routing information inconsistent with that
+ model.
+
+ IP-address ::= { <Network-prefix>, <Host-number> }
+
+ An effect of the use of CIDR is that the set of destinations
+ associated with address prefixes in the routing table may exhibit
+ subset relationship. A route describing a smaller set of
+ destinations (a longer prefix) is said to be more specific than a
+ route describing a larger set of destinations (a shorter prefix);
+ similarly, a route describing a larger set of destinations (a shorter
+ prefix) is said to be less specific than a route describing a smaller
+ set of destinations (a longer prefix). Routers must use the most
+ specific matching route (the longest matching network prefix) when
+ forwarding traffic.
+
+2.2.6 IP Multicasting
+
+ IP multicasting is an extension of Link Layer multicast to IP
+ internets. Using IP multicasts, a single datagram can be addressed
+ to multiple hosts without sending it to all. In the extended case,
+ these hosts may reside in different address domains. This collection
+ of hosts is called a multicast group. Each multicast group is
+ represented as a Class D IP address. An IP datagram sent to the
+ group is to be delivered to each group member with the same best-
+ effort delivery as that provided for unicast IP traffic. The sender
+ of the datagram does not itself need to be a member of the
+ destination group.
+
+ The semantics of IP multicast group membership are defined in
+ [INTERNET:4]. That document describes how hosts and routers join and
+ leave multicast groups. It also defines a protocol, the Internet
+ Group Management Protocol (IGMP), that monitors IP multicast group
+ membership.
+
+ Forwarding of IP multicast datagrams is accomplished either through
+ static routing information or via a multicast routing protocol.
+ Devices that forward IP multicast datagrams are called multicast
+ routers. They may or may not also forward IP unicasts. Multicast
+ datagrams are forwarded on the basis of both their source and
+ destination addresses. Forwarding of IP multicast packets is
+ described in more detail in Section [5.2.1]. Appendix D discusses
+ multicast routing protocols.
+
+
+
+
+
+
+
+Baker Standards Track [Page 24]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+2.2.7 Unnumbered Lines and Networks Prefixes
+
+ Traditionally, each network interface on an IP host or router has its
+ own IP address. This can cause inefficient use of the scarce IP
+ address space, since it forces allocation of an IP network prefix to
+ every point-to-point link.
+
+ To solve this problem, a number of people have proposed and
+ implemented the concept of unnumbered point to point lines. An
+ unnumbered point to point line does not have any network prefix
+ associated with it. As a consequence, the network interfaces
+ connected to an unnumbered point to point line do not have IP
+ addresses.
+
+ Because the IP architecture has traditionally assumed that all
+ interfaces had IP addresses, these unnumbered interfaces cause some
+ interesting dilemmas. For example, some IP options (e.g., Record
+ Route) specify that a router must insert the interface address into
+ the option, but an unnumbered interface has no IP address. Even more
+ fundamental (as we shall see in chapter 5) is that routes contain the
+ IP address of the next hop router. A router expects that this IP
+ address will be on an IP (sub)net to which the router is connected.
+ That assumption is of course violated if the only connection is an
+ unnumbered point to point line.
+
+ To get around these difficulties, two schemes have been conceived.
+ The first scheme says that two routers connected by an unnumbered
+ point to point line are not really two routers at all, but rather two
+ half-routers that together make up a single virtual router. The
+ unnumbered point to point line is essentially considered to be an
+ internal bus in the virtual router. The two halves of the virtual
+ router must coordinate their activities in such a way that they act
+ exactly like a single router.
+
+ This scheme fits in well with the IP architecture, but suffers from
+ two important drawbacks. The first is that, although it handles the
+ common case of a single unnumbered point to point line, it is not
+ readily extensible to handle the case of a mesh of routers and
+ unnumbered point to point lines. The second drawback is that the
+ interactions between the half routers are necessarily complex and are
+ not standardized, effectively precluding the connection of equipment
+ from different vendors using unnumbered point to point lines.
+
+ Because of these drawbacks, this memo has adopted an alternate
+ scheme, which has been invented multiple times but which is probably
+ originally attributable to Phil Karn. In this scheme, a router that
+ has unnumbered point to point lines also has a special IP address,
+ called a router-id in this memo. The router-id is one of the
+
+
+
+Baker Standards Track [Page 25]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ router's IP addresses (a router is required to have at least one IP
+ address). This router-id is used as if it is the IP address of all
+ unnumbered interfaces.
+
+2.2.8 Notable Oddities
+
+2.2.8.1 Embedded Routers
+
+ A router may be a stand-alone computer system, dedicated to its IP
+ router functions. Alternatively, it is possible to embed router
+ functions within a host operating system that supports connections to
+ two or more networks. The best-known example of an operating system
+ with embedded router code is the Berkeley BSD system. The embedded
+ router feature seems to make building a network easy, but it has a
+ number of hidden pitfalls:
+
+ (1) If a host has only a single constituent-network interface, it
+ should not act as a router.
+
+ For example, hosts with embedded router code that gratuitously
+ forward broadcast packets or datagrams on the same net often
+ cause packet avalanches.
+
+ (2) If a (multihomed) host acts as a router, it is subject to the
+ requirements for routers contained in this document.
+
+ For example, the routing protocol issues and the router control
+ and monitoring problems are as hard and important for embedded
+ routers as for stand-alone routers.
+
+ Internet router requirements and specifications may change
+ independently of operating system changes. An administration
+ that operates an embedded router in the Internet is strongly
+ advised to maintain and update the router code. This might
+ require router source code.
+
+ (3) When a host executes embedded router code, it becomes part of the
+ Internet infrastructure. Thus, errors in software or
+ configuration can hinder communication between other hosts. As
+ a consequence, the host administrator must lose some autonomy.
+
+ In many circumstances, a host administrator will need to disable
+ router code embedded in the operating system. For this reason,
+ it should be straightforward to disable embedded router
+ functionality.
+
+
+
+
+
+
+Baker Standards Track [Page 26]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ (4) When a host running embedded router code is concurrently used for
+ other services, the Operation and Maintenance requirements for
+ the two modes of use may conflict.
+
+ For example, router O&M will in many cases be performed remotely
+ by an operations center; this may require privileged system
+ access that the host administrator would not normally want to
+ distribute.
+
+2.2.8.2 Transparent Routers
+
+ There are two basic models for interconnecting local-area networks
+ and wide-area (or long-haul) networks in the Internet. In the first,
+ the local-area network is assigned a network prefix and all routers
+ in the Internet must know how to route to that network. In the
+ second, the local-area network shares (a small part of) the address
+ space of the wide-area network. Routers that support this second
+ model are called address sharing routers or transparent routers. The
+ focus of this memo is on routers that support the first model, but
+ this is not intended to exclude the use of transparent routers.
+
+ The basic idea of a transparent router is that the hosts on the
+ local-area network behind such a router share the address space of
+ the wide-area network in front of the router. In certain situations
+ this is a very useful approach and the limitations do not present
+ significant drawbacks.
+
+ The words in front and behind indicate one of the limitations of this
+ approach: this model of interconnection is suitable only for a
+ geographically (and topologically) limited stub environment. It
+ requires that there be some form of logical addressing in the network
+ level addressing of the wide-area network. IP addresses in the local
+ environment map to a few (usually one) physical address in the wide-
+ area network. This mapping occurs in a way consistent with the { IP
+ address <-> network address } mapping used throughout the wide-area
+ network.
+
+ Multihoming is possible on one wide-area network, but may present
+ routing problems if the interfaces are geographically or
+ topologically separated. Multihoming on two (or more) wide-area
+ networks is a problem due to the confusion of addresses.
+
+ The behavior that hosts see from other hosts in what is apparently
+ the same network may differ if the transparent router cannot fully
+ emulate the normal wide-area network service. For example, the
+ ARPANET used a Link Layer protocol that provided a Destination Dead
+ indication in response to an attempt to send to a host that was off-
+ line. However, if there were a transparent router between the
+
+
+
+Baker Standards Track [Page 27]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ ARPANET and an Ethernet, a host on the ARPANET would not receive a
+ Destination Dead indication for Ethernet hosts.
+
+2.3 Router Characteristics
+
+ An Internet router performs the following functions:
+
+ (1) Conforms to specific Internet protocols specified in this
+ document, including the Internet Protocol (IP), Internet Control
+ Message Protocol (ICMP), and others as necessary.
+
+ (2) Interfaces to two or more packet networks. For each connected
+ network the router must implement the functions required by that
+ network. These functions typically include:
+
+ o Encapsulating and decapsulating the IP datagrams with the
+ connected network framing (e.g., an Ethernet header and
+ checksum),
+
+ o Sending and receiving IP datagrams up to the maximum size
+ supported by that network, this size is the network's Maximum
+ Transmission Unit or MTU,
+
+ o Translating the IP destination address into an appropriate
+ network-level address for the connected network (e.g., an
+ Ethernet hardware address), if needed, and
+
+ o Responding to network flow control and error indications, if
+ any.
+
+ See chapter 3 (Link Layer).
+
+ (3) Receives and forwards Internet datagrams. Important issues in
+ this process are buffer management, congestion control, and
+ fairness.
+
+ o Recognizes error conditions and generates ICMP error and
+ information messages as required.
+
+ o Drops datagrams whose time-to-live fields have reached zero.
+
+ o Fragments datagrams when necessary to fit into the MTU of the
+ next network.
+
+ See chapter 4 (Internet Layer - Protocols) and chapter 5
+ (Internet Layer - Forwarding) for more information.
+
+
+
+
+
+Baker Standards Track [Page 28]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ (4) Chooses a next-hop destination for each IP datagram, based on the
+ information in its routing database. See chapter 5 (Internet
+ Layer - Forwarding) for more information.
+
+ (5) (Usually) supports an interior gateway protocol (IGP) to carry
+ out distributed routing and reachability algorithms with the
+ other routers in the same autonomous system. In addition, some
+ routers will need to support an exterior gateway protocol (EGP)
+ to exchange topological information with other autonomous
+ systems. See chapter 7 (Application Layer - Routing Protocols)
+ for more information.
+
+ (6) Provides network management and system support facilities,
+ including loading, debugging, status reporting, exception
+ reporting and control. See chapter 8 (Application Layer -
+ Network Management Protocols) and chapter 10 (Operation and
+ Maintenance) for more information.
+
+ A router vendor will have many choices on power, complexity, and
+ features for a particular router product. It may be helpful to
+ observe that the Internet system is neither homogeneous nor fully
+ connected. For reasons of technology and geography it is growing
+ into a global interconnect system plus a fringe of LANs around the
+ edge. More and more these fringe LANs are becoming richly
+ interconnected, thus making them less out on the fringe and more
+ demanding on router requirements.
+
+ o The global interconnect system is composed of a number of wide-area
+ networks to which are attached routers of several Autonomous
+ Systems (AS); there are relatively few hosts connected directly to
+ the system.
+
+ o Most hosts are connected to LANs. Many organizations have clusters
+ of LANs interconnected by local routers. Each such cluster is
+ connected by routers at one or more points into the global
+ interconnect system. If it is connected at only one point, a LAN
+ is known as a stub network.
+
+ Routers in the global interconnect system generally require:
+
+ o Advanced Routing and Forwarding Algorithms
+
+ These routers need routing algorithms that are highly dynamic,
+ impose minimal processing and communication burdens, and offer
+ type-of-service routing. Congestion is still not a completely
+ resolved issue (see Section [5.3.6]). Improvements in these areas
+ are expected, as the research community is actively working on
+ these issues.
+
+
+
+Baker Standards Track [Page 29]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ o High Availability
+
+ These routers need to be highly reliable, providing 24 hours a
+ day, 7 days a week service. Equipment and software faults can
+ have a wide-spread (sometimes global) effect. In case of failure,
+ they must recover quickly. In any environment, a router must be
+ highly robust and able to operate, possibly in a degraded state,
+ under conditions of extreme congestion or failure of network
+ resources.
+
+ o Advanced O&M Features
+
+ Internet routers normally operate in an unattended mode. They
+ will typically be operated remotely from a centralized monitoring
+ center. They need to provide sophisticated means for monitoring
+ and measuring traffic and other events and for diagnosing faults.
+
+ o High Performance
+
+ Long-haul lines in the Internet today are most frequently full
+ duplex 56 KBPS, DS1 (1.544 Mbps), or DS3 (45 Mbps) speeds. LANs,
+ which are half duplex multiaccess media, are typically Ethernet
+ (10Mbps) and, to a lesser degree, FDDI (100Mbps). However,
+ network media technology is constantly advancing and higher speeds
+ are likely in the future.
+
+ The requirements for routers used in the LAN fringe (e.g., campus
+ networks) depend greatly on the demands of the local networks. These
+ may be high or medium-performance devices, probably competitively
+ procured from several different vendors and operated by an internal
+ organization (e.g., a campus computing center). The design of these
+ routers should emphasize low average latency and good burst
+ performance, together with delay and type-of-service sensitive
+ resource management. In this environment there may be less formal
+ O&M but it will not be less important. The need for the routing
+ mechanism to be highly dynamic will become more important as networks
+ become more complex and interconnected. Users will demand more out
+ of their local connections because of the speed of the global
+ interconnects.
+
+ As networks have grown, and as more networks have become old enough
+ that they are phasing out older equipment, it has become increasingly
+ imperative that routers interoperate with routers from other vendors.
+
+ Even though the Internet system is not fully interconnected, many
+ parts of the system need to have redundant connectivity. Rich
+ connectivity allows reliable service despite failures of
+ communication lines and routers, and it can also improve service by
+
+
+
+Baker Standards Track [Page 30]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ shortening Internet paths and by providing additional capacity.
+ Unfortunately, this richer topology can make it much more difficult
+ to choose the best path to a particular destination.
+
+2.4 Architectural Assumptions
+
+ The current Internet architecture is based on a set of assumptions
+ about the communication system. The assumptions most relevant to
+ routers are as follows:
+
+ o The Internet is a network of networks.
+
+ Each host is directly connected to some particular network(s); its
+ connection to the Internet is only conceptual. Two hosts on the
+ same network communicate with each other using the same set of
+ protocols that they would use to communicate with hosts on distant
+ networks.
+
+ o Routers do not keep connection state information.
+
+ To improve the robustness of the communication system, routers are
+ designed to be stateless, forwarding each IP packet independently
+ of other packets. As a result, redundant paths can be exploited
+ to provide robust service in spite of failures of intervening
+ routers and networks.
+
+ All state information required for end-to-end flow control and
+ reliability is implemented in the hosts, in the transport layer or
+ in application programs. All connection control information is
+ thus co-located with the end points of the communication, so it
+ will be lost only if an end point fails. Routers control message
+ flow only indirectly, by dropping packets or increasing network
+ delay.
+
+ Note that future protocol developments may well end up putting
+ some more state into routers. This is especially likely for
+ multicast routing, resource reservation, and flow based
+ forwarding.
+
+ o Routing complexity should be in the routers.
+
+ Routing is a complex and difficult problem, and ought to be
+ performed by the routers, not the hosts. An important objective
+ is to insulate host software from changes caused by the inevitable
+ evolution of the Internet routing architecture.
+
+
+
+
+
+
+Baker Standards Track [Page 31]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ o The system must tolerate wide network variation.
+
+ A basic objective of the Internet design is to tolerate a wide
+ range of network characteristics - e.g., bandwidth, delay, packet
+ loss, packet reordering, and maximum packet size. Another
+ objective is robustness against failure of individual networks,
+ routers, and hosts, using whatever bandwidth is still available.
+ Finally, the goal is full open system interconnection: an Internet
+ router must be able to interoperate robustly and effectively with
+ any other router or Internet host, across diverse Internet paths.
+
+ Sometimes implementors have designed for less ambitious goals.
+ For example, the LAN environment is typically much more benign
+ than the Internet as a whole; LANs have low packet loss and delay
+ and do not reorder packets. Some vendors have fielded
+ implementations that are adequate for a simple LAN environment,
+ but work badly for general interoperation. The vendor justifies
+ such a product as being economical within the restricted LAN
+ market. However, isolated LANs seldom stay isolated for long.
+ They are soon connected to each other, to organization-wide
+ internets, and eventually to the global Internet system. In the
+ end, neither the customer nor the vendor is served by incomplete
+ or substandard routers.
+
+ The requirements in this document are designed for a full-function
+ router. It is intended that fully compliant routers will be
+ usable in almost any part of the Internet.
+
+3. LINK LAYER
+
+ Although [INTRO:1] covers Link Layer standards (IP over various link
+ layers, ARP, etc.), this document anticipates that Link-Layer
+ material will be covered in a separate Link Layer Requirements
+ document. A Link-Layer Requirements document would be applicable to
+ both hosts and routers. Thus, this document will not obsolete the
+ parts of [INTRO:1] that deal with link-layer issues.
+
+3.1 INTRODUCTION
+
+ Routers have essentially the same Link Layer protocol requirements as
+ other sorts of Internet systems. These requirements are given in
+ chapter 3 of Requirements for Internet Gateways [INTRO:1]. A router
+ MUST comply with its requirements and SHOULD comply with its
+ recommendations. Since some of the material in that document has
+ become somewhat dated, some additional requirements and explanations
+ are included below.
+
+
+
+
+
+Baker Standards Track [Page 32]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ DISCUSSION
+ It is expected that the Internet community will produce a
+ Requirements for Internet Link Layer standard which will supersede
+ both this chapter and the chapter entitled "INTERNET LAYER
+ PROTOCOLS" in [INTRO:1].
+
+3.2 LINK/INTERNET LAYER INTERFACE
+
+ This document does not attempt to specify the interface between the
+ Link Layer and the upper layers. However, note well that other parts
+ of this document, particularly chapter 5, require various sorts of
+ information to be passed across this layer boundary.
+
+ This section uses the following definitions:
+
+ o Source physical address
+
+ The source physical address is the Link Layer address of the host
+ or router from which the packet was received.
+
+ o Destination physical address
+
+ The destination physical address is the Link Layer address to
+ which the packet was sent.
+
+ The information that must pass from the Link Layer to the
+ Internetwork Layer for each received packet is:
+
+ (1) The IP packet [5.2.2],
+
+ (2) The length of the data portion (i.e., not including the Link-
+ Layer framing) of the Link Layer frame [5.2.2],
+
+ (3) The identity of the physical interface from which the IP packet
+ was received [5.2.3], and
+
+ (4) The classification of the packet's destination physical address
+ as a Link Layer unicast, broadcast, or multicast [4.3.2],
+ [5.3.4].
+
+ In addition, the Link Layer also should provide:
+
+ (5) The source physical address.
+
+ The information that must pass from the Internetwork Layer to the
+ Link Layer for each transmitted packet is:
+
+
+
+
+
+Baker Standards Track [Page 33]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ (1) The IP packet [5.2.1]
+
+ (2) The length of the IP packet [5.2.1]
+
+ (3) The destination physical interface [5.2.1]
+
+ (4) The next hop IP address [5.2.1]
+
+ In addition, the Internetwork Layer also should provide:
+
+ (5) The Link Layer priority value [5.3.3.2]
+
+ The Link Layer must also notify the Internetwork Layer if the packet
+ to be transmitted causes a Link Layer precedence-related error
+ [5.3.3.3].
+
+3.3 SPECIFIC ISSUES
+
+3.3.1 Trailer Encapsulation
+
+ Routers that can connect to ten megabit Ethernets MAY be able to
+ receive and forward Ethernet packets encapsulated using the trailer
+ encapsulation described in [LINK:1]. However, a router SHOULD NOT
+ originate trailer encapsulated packets. A router MUST NOT originate
+ trailer encapsulated packets without first verifying, using the
+ mechanism described in [INTRO:2], that the immediate destination of
+ the packet is willing and able to accept trailer-encapsulated
+ packets. A router SHOULD NOT agree (using these mechanisms) to
+ accept trailer-encapsulated packets.
+
+3.3.2 Address Resolution Protocol - ARP
+
+ Routers that implement ARP MUST be compliant and SHOULD be
+ unconditionally compliant with the requirements in [INTRO:2].
+
+ The link layer MUST NOT report a Destination Unreachable error to IP
+ solely because there is no ARP cache entry for a destination; it
+ SHOULD queue up to a small number of datagrams breifly while
+ performing the ARP request/reply sequence, and reply that the
+ destination is unreachable to one of the queued datagrams only when
+ this proves fruitless.
+
+ A router MUST not believe any ARP reply that claims that the Link
+ Layer address of another host or router is a broadcast or multicast
+ address.
+
+
+
+
+
+
+Baker Standards Track [Page 34]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+3.3.3 Ethernet and 802.3 Coexistence
+
+ Routers that can connect to ten megabit Ethernets MUST be compliant
+ and SHOULD be unconditionally compliant with the Ethernet
+ requirements of [INTRO:2].
+
+3.3.4 Maximum Transmission Unit - MTU
+
+ The MTU of each logical interface MUST be configurable within the
+ range of legal MTUs for the interface.
+
+ Many Link Layer protocols define a maximum frame size that may be
+ sent. In such cases, a router MUST NOT allow an MTU to be set which
+ would allow sending of frames larger than those allowed by the Link
+ Layer protocol. However, a router SHOULD be willing to receive a
+ packet as large as the maximum frame size even if that is larger than
+ the MTU.
+
+ DISCUSSION
+ Note that this is a stricter requirement than imposed on hosts by
+ [INTRO:2], which requires that the MTU of each physical interface
+ be configurable.
+
+ If a network is using an MTU smaller than the maximum frame size
+ for the Link Layer, a router may receive packets larger than the
+ MTU from misconfigured and incompletely initialized hosts. The
+ Robustness Principle indicates that the router should successfully
+ receive these packets if possible.
+
+3.3.5 Point-to-Point Protocol - PPP
+
+ Contrary to [INTRO:1], the Internet does have a standard point to
+ point line protocol: the Point-to-Point Protocol (PPP), defined in
+ [LINK:2], [LINK:3], [LINK:4], and [LINK:5].
+
+ A point to point interface is any interface that is designed to send
+ data over a point to point line. Such interfaces include telephone,
+ leased, dedicated or direct lines (either 2 or 4 wire), and may use
+ point to point channels or virtual circuits of multiplexed interfaces
+ such as ISDN. They normally use a standardized modem or bit serial
+ interface (such as RS-232, RS-449 or V.35), using either synchronous
+ or asynchronous clocking. Multiplexed interfaces often have special
+ physical interfaces.
+
+ A general purpose serial interface uses the same physical media as a
+ point to point line, but supports the use of link layer networks as
+ well as point to point connectivity. Link layer networks (such as
+ X.25 or Frame Relay) use an alternative IP link layer specification.
+
+
+
+Baker Standards Track [Page 35]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ Routers that implement point to point or general purpose serial
+ interfaces MUST IMPLEMENT PPP.
+
+ PPP MUST be supported on all general purpose serial interfaces on a
+ router. The router MAY allow the line to be configured to use point
+ to point line protocols other than PPP. Point to point interfaces
+ SHOULD either default to using PPP when enabled or require
+ configuration of the link layer protocol before being enabled.
+ General purpose serial interfaces SHOULD require configuration of the
+ link layer protocol before being enabled.
+
+3.3.5.1 Introduction
+
+ This section provides guidelines to router implementors so that they
+ can ensure interoperability with other routers using PPP over either
+ synchronous or asynchronous links.
+
+ It is critical that an implementor understand the semantics of the
+ option negotiation mechanism. Options are a means for a local device
+ to indicate to a remote peer what the local device will accept from
+ the remote peer, not what it wishes to send. It is up to the remote
+ peer to decide what is most convenient to send within the confines of
+ the set of options that the local device has stated that it can
+ accept. Therefore it is perfectly acceptable and normal for a remote
+ peer to ACK all the options indicated in an LCP Configuration Request
+ (CR) even if the remote peer does not support any of those options.
+ Again, the options are simply a mechanism for either device to
+ indicate to its peer what it will accept, not necessarily what it
+ will send.
+
+3.3.5.2 Link Control Protocol (LCP) Options
+
+ The PPP Link Control Protocol (LCP) offers a number of options that
+ may be negotiated. These options include (among others) address and
+ control field compression, protocol field compression, asynchronous
+ character map, Maximum Receive Unit (MRU), Link Quality Monitoring
+ (LQM), magic number (for loopback detection), Password Authentication
+ Protocol (PAP), Challenge Handshake Authentication Protocol (CHAP),
+ and the 32-bit Frame Check Sequence (FCS).
+
+ A router MAY use address/control field compression on either
+ synchronous or asynchronous links. A router MAY use protocol field
+ compression on either synchronous or asynchronous links. A router
+ that indicates that it can accept these compressions MUST be able to
+ accept uncompressed PPP header information also.
+
+
+
+
+
+
+Baker Standards Track [Page 36]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ DISCUSSION
+ These options control the appearance of the PPP header. Normally
+ the PPP header consists of the address, the control field, and the
+ protocol field. The address, on a point to point line, is 0xFF,
+ indicating "broadcast". The control field is 0x03, indicating
+ "Unnumbered Information." The Protocol Identifier is a two byte
+ value indicating the contents of the data area of the frame. If a
+ system negotiates address and control field compression it
+ indicates to its peer that it will accept PPP frames that have or
+ do not have these fields at the front of the header. It does not
+ indicate that it will be sending frames with these fields removed.
+
+ Protocol field compression, when negotiated, indicates that the
+ system is willing to receive protocol fields compressed to one
+ byte when this is legal. There is no requirement that the sender
+ do so.
+
+ Use of address/control field compression is inconsistent with the
+ use of numbered mode (reliable) PPP.
+
+ IMPLEMENTATION
+ Some hardware does not deal well with variable length header
+ information. In those cases it makes most sense for the remote
+ peer to send the full PPP header. Implementations may ensure this
+ by not sending the address/control field and protocol field
+ compression options to the remote peer. Even if the remote peer
+ has indicated an ability to receive compressed headers there is no
+ requirement for the local router to send compressed headers.
+
+ A router MUST negotiate the Asynchronous Control Character Map (ACCM)
+ for asynchronous PPP links, but SHOULD NOT negotiate the ACCM for
+ synchronous links. If a router receives an attempt to negotiate the
+ ACCM over a synchronous link, it MUST ACKnowledge the option and then
+ ignore it.
+
+ DISCUSSION
+ There are implementations that offer both synchronous and
+ asynchronous modes of operation and may use the same code to
+ implement the option negotiation. In this situation it is
+ possible that one end or the other may send the ACCM option on a
+ synchronous link.
+
+ A router SHOULD properly negotiate the maximum receive unit (MRU).
+ Even if a system negotiates an MRU smaller than 1,500 bytes, it MUST
+ be able to receive a 1,500 byte frame.
+
+ A router SHOULD negotiate and enable the link quality monitoring
+ (LQM) option.
+
+
+
+Baker Standards Track [Page 37]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ DISCUSSION
+ This memo does not specify a policy for deciding whether the
+ link's quality is adequate. However, it is important (see Section
+ [3.3.6]) that a router disable failed links.
+
+ A router SHOULD implement and negotiate the magic number option for
+ loopback detection.
+
+ A router MAY support the authentication options (PAP - Password
+ Authentication Protocol, and/or CHAP - Challenge Handshake
+ Authentication Protocol).
+
+ A router MUST support 16-bit CRC frame check sequence (FCS) and MAY
+ support the 32-bit CRC.
+
+3.3.5.3 IP Control Protocol (IPCP) Options
+
+ A router MAY offer to perform IP address negotiation. A router MUST
+ accept a refusal (REJect) to perform IP address negotiation from the
+ peer.
+
+ Routers operating at link speeds of 19,200 BPS or less SHOULD
+ implement and offer to perform Van Jacobson header compression.
+ Routers that implement VJ compression SHOULD implement an
+ administrative control enabling or disabling it.
+
+3.3.6 Interface Testing
+
+ A router MUST have a mechanism to allow routing software to determine
+ whether a physical interface is available to send packets or not; on
+ multiplexed interfaces where permanent virtual circuits are opened
+ for limited sets of neighbors, the router must also be able to
+ determine whether the virtual circuits are viable. A router SHOULD
+ have a mechanism to allow routing software to judge the quality of a
+ physical interface. A router MUST have a mechanism for informing the
+ routing software when a physical interface becomes available or
+ unavailable to send packets because of administrative action. A
+ router MUST have a mechanism for informing the routing software when
+ it detects a Link level interface has become available or
+ unavailable, for any reason.
+
+ DISCUSSION
+ It is crucial that routers have workable mechanisms for
+ determining that their network connections are functioning
+ properly. Failure to detect link loss, or failure to take the
+ proper actions when a problem is detected, can lead to black
+ holes.
+
+
+
+
+Baker Standards Track [Page 38]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ The mechanisms available for detecting problems with network
+ connections vary considerably, depending on the Link Layer
+ protocols in use and the interface hardware. The intent is to
+ maximize the capability to detect failures within the Link-Layer
+ constraints.
+
+4. INTERNET LAYER - PROTOCOLS
+
+4.1 INTRODUCTION
+
+ This chapter and chapter 5 discuss the protocols used at the Internet
+ Layer: IP, ICMP, and IGMP. Since forwarding is obviously a crucial
+ topic in a document discussing routers, chapter 5 limits itself to
+ the aspects of the protocols that directly relate to forwarding. The
+ current chapter contains the remainder of the discussion of the
+ Internet Layer protocols.
+
+4.2 INTERNET PROTOCOL - IP
+
+4.2.1 INTRODUCTION
+
+ Routers MUST implement the IP protocol, as defined by [INTERNET:1].
+ They MUST also implement its mandatory extensions: subnets (defined
+ in [INTERNET:2]), IP broadcast (defined in [INTERNET:3]), and
+ Classless Inter-Domain Routing (CIDR, defined in [INTERNET:15]).
+
+ Router implementors need not consider compliance with the section of
+ [INTRO:2] entitled "Internet Protocol -- IP," as that section is
+ entirely duplicated or superseded in this document. A router MUST be
+ compliant, and SHOULD be unconditionally compliant, with the
+ requirements of the section entitled "SPECIFIC ISSUES" relating to IP
+ in [INTRO:2].
+
+ In the following, the action specified in certain cases is to
+ silently discard a received datagram. This means that the datagram
+ will be discarded without further processing and that the router will
+ not send any ICMP error message (see Section [4.3]) as a result.
+ However, for diagnosis of problems a router SHOULD provide the
+ capability of logging the error (see Section [1.3.3]), including the
+ contents of the silently discarded datagram, and SHOULD count
+ datagrams discarded.
+
+
+
+
+
+
+
+
+
+
+Baker Standards Track [Page 39]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+4.2.2 PROTOCOL WALK-THROUGH
+
+ RFC 791 [INTERNET:1] is the specification for the Internet Protocol.
+
+4.2.2.1 Options: RFC 791 Section 3.2
+
+ In datagrams received by the router itself, the IP layer MUST
+ interpret IP options that it understands and preserve the rest
+ unchanged for use by higher layer protocols.
+
+ Higher layer protocols may require the ability to set IP options in
+ datagrams they send or examine IP options in datagrams they receive.
+ Later sections of this document discuss specific IP option support
+ required by higher layer protocols.
+
+ DISCUSSION
+ Neither this memo nor [INTRO:2] define the order in which a
+ receiver must process multiple options in the same IP header.
+ Hosts and routers originating datagrams containing multiple
+ options must be aware that this introduces an ambiguity in the
+ meaning of certain options when combined with a source-route
+ option.
+
+ Here are the requirements for specific IP options:
+
+ (a) Security Option
+
+ Some environments require the Security option in every packet
+ originated or received. Routers SHOULD IMPLEMENT the revised
+ security option described in [INTERNET:5].
+
+ DISCUSSION
+ Note that the security options described in [INTERNET:1] and RFC
+ 1038 ([INTERNET:16]) are obsolete.
+
+ (b) Stream Identifier Option
+
+ This option is obsolete; routers SHOULD NOT place this option
+ in a datagram that the router originates. This option MUST be
+ ignored in datagrams received by the router.
+
+ (c) Source Route Options
+
+ A router MUST be able to act as the final destination of a
+ source route. If a router receives a packet containing a
+ completed source route, the packet has reached its final
+ destination. In such an option, the pointer points beyond the
+ last field and the destination address in the IP header
+
+
+
+Baker Standards Track [Page 40]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ addresses the router. The option as received (the recorded
+ route) MUST be passed up to the transport layer (or to ICMP
+ message processing).
+
+ In the general case, a correct response to a source-routed
+ datagram traverses the same route. A router MUST provide a
+ means whereby transport protocols and applications can reverse
+ the source route in a received datagram. This reversed source
+ route MUST be inserted into datagrams they originate (see
+ [INTRO:2] for details) when the router is unaware of policy
+ constraints. However, if the router is policy aware, it MAY
+ select another path.
+
+ Some applications in the router MAY require that the user be
+ able to enter a source route.
+
+ A router MUST NOT originate a datagram containing multiple
+ source route options. What a router should do if asked to
+ forward a packet containing multiple source route options is
+ described in Section [5.2.4.1].
+
+ When a source route option is created (which would happen when
+ the router is originating a source routed datagram or is
+ inserting a source route option as a result of a special
+ filter), it MUST be correctly formed even if it is being
+ created by reversing a recorded route that erroneously includes
+ the source host (see case (B) in the discussion below).
+
+ DISCUSSION
+ Suppose a source routed datagram is to be routed from source _S to
+ destination D via routers G1, G2, Gn. Source S constructs a
+ datagram with G1's IP address as its destination address, and a
+ source route option to get the datagram the rest of the way to its
+ destination. However, there is an ambiguity in the specification
+ over whether the source route option in a datagram sent out by S
+ should be (A) or (B):
+
+ (A): {>>G2, G3, ... Gn, D} <--- CORRECT
+
+ (B): {S, >>G2, G3, ... Gn, D} <---- WRONG
+
+ (where >> represents the pointer). If (A) is sent, the datagram
+ received at D will contain the option: {G1, G2, ... Gn >>}, with S
+ and D as the IP source and destination addresses. If (B) were
+ sent, the datagram received at D would again contain S and D as
+ the same IP source and destination addresses, but the option would
+ be: {S, G1, ...Gn >>}; i.e., the originating host would be the
+ first hop in the route.
+
+
+
+Baker Standards Track [Page 41]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ (d) Record Route Option
+
+ Routers MAY support the Record Route option in datagrams
+ originated by the router.
+
+ (e) Timestamp Option
+
+ Routers MAY support the timestamp option in datagrams
+ originated by the router. The following rules apply:
+
+ o When originating a datagram containing a Timestamp Option, a
+ router MUST record a timestamp in the option if
+
+ - Its Internet address fields are not pre-specified or
+ - Its first pre-specified address is the IP address of the
+ logical interface over which the datagram is being sent
+ (or the router's router-id if the datagram is being sent
+ over an unnumbered interface).
+
+ o If the router itself receives a datagram containing a
+ Timestamp Option, the router MUST insert the current time
+ into the Timestamp Option (if there is space in the option
+ to do so) before passing the option to the transport layer
+ or to ICMP for processing. If space is not present, the
+ router MUST increment the Overflow Count in the option.
+
+ o A timestamp value MUST follow the rules defined in [INTRO:2].
+
+ IMPLEMENTATION
+ To maximize the utility of the timestamps contained in the
+ timestamp option, the timestamp inserted should be, as nearly as
+ practical, the time at which the packet arrived at the router.
+ For datagrams originated by the router, the timestamp inserted
+ should be, as nearly as practical, the time at which the datagram
+ was passed to the Link Layer for transmission.
+
+ The timestamp option permits the use of a non-standard time clock,
+ but the use of a non-synchronized clock limits the utility of the
+ time stamp. Therefore, routers are well advised to implement the
+ Network Time Protocol for the purpose of synchronizing their
+ clocks.
+
+4.2.2.2 Addresses in Options: RFC 791 Section 3.1
+
+ Routers are called upon to insert their address into Record Route,
+ Strict Source and Record Route, Loose Source and Record Route, or
+ Timestamp Options. When a router inserts its address into such an
+ option, it MUST use the IP address of the logical interface on which
+
+
+
+Baker Standards Track [Page 42]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ the packet is being sent. Where this rule cannot be obeyed because
+ the output interface has no IP address (i.e., is an unnumbered
+ interface), the router MUST instead insert its router-id. The
+ router's router-id is one of the router's IP addresses. The Router
+ ID may be specified on a system basis or on a per-link basis. Which
+ of the router's addresses is used as the router-id MUST NOT change
+ (even across reboots) unless changed by the network manager.
+ Relevant management changes include reconfiguration of the router
+ such that the IP address used as the router-id ceases to be one of
+ the router's IP addresses. Routers with multiple unnumbered
+ interfaces MAY have multiple router-id's. Each unnumbered interface
+ MUST be associated with a particular router-id. This association
+ MUST NOT change (even across reboots) without reconfiguration of the
+ router.
+
+ DISCUSSION
+ This specification does not allow for routers that do not have at
+ least one IP address. We do not view this as a serious
+ limitation, since a router needs an IP address to meet the
+ manageability requirements of Chapter [8] even if the router is
+ connected only to point-to-point links.
+
+ IMPLEMENTATION
+
+ One possible method of choosing the router-id that fulfills this
+ requirement is to use the numerically smallest (or greatest) IP
+ address (treating the address as a 32-bit integer) that is
+ assigned to the router.
+
+4.2.2.3 Unused IP Header Bits: RFC 791 Section 3.1
+
+ The IP header contains two reserved bits: one in the Type of Service
+ byte and the other in the Flags field. A router MUST NOT set either
+ of these bits to one in datagrams originated by the router. A router
+ MUST NOT drop (refuse to receive or forward) a packet merely because
+ one or more of these reserved bits has a non-zero value; i.e., the
+ router MUST NOT check the values of thes bits.
+
+ DISCUSSION
+ Future revisions to the IP protocol may make use of these unused
+ bits. These rules are intended to ensure that these revisions can
+ be deployed without having to simultaneously upgrade all routers
+ in the Internet.
+
+
+
+
+
+
+
+
+Baker Standards Track [Page 43]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+4.2.2.4 Type of Service: RFC 791 Section 3.1
+
+ The Type-of-Service byte in the IP header is divided into three
+ sections: the Precedence field (high-order 3 bits), a field that is
+ customarily called Type of Service or TOS (next 4 bits), and a
+ reserved bit (the low order bit).
+
+ Rules governing the reserved bit were described in Section [4.2.2.3].
+
+ A more extensive discussion of the TOS field and its use can be found
+ in [ROUTE:11].
+
+ The description of the IP Precedence field is superseded by Section
+ [5.3.3]. RFC 795, Service Mappings, is obsolete and SHOULD NOT be
+ implemented.
+
+4.2.2.5 Header Checksum: RFC 791 Section 3.1
+
+ As stated in Section [5.2.2], a router MUST verify the IP checksum of
+ any packet that is received, and MUST discard messages containing
+ invalid checksums. The router MUST NOT provide a means to disable
+ this checksum verification.
+
+ A router MAY use incremental IP header checksum updating when the
+ only change to the IP header is the time to live. This will reduce
+ the possibility of undetected corruption of the IP header by the
+ router. See [INTERNET:6] for a discussion of incrementally updating
+ the checksum.
+
+ IMPLEMENTATION
+ A more extensive description of the IP checksum, including
+ extensive implementation hints, can be found in [INTERNET:6] and
+ [INTERNET:7].
+
+4.2.2.6 Unrecognized Header Options: RFC 791 Section 3.1
+
+ A router MUST ignore IP options which it does not recognize. A
+ corollary of this requirement is that a router MUST implement the End
+ of Option List option and the No Operation option, since neither
+ contains an explicit length.
+
+ DISCUSSION
+ All future IP options will include an explicit length.
+
+
+
+
+
+
+
+
+Baker Standards Track [Page 44]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+4.2.2.7 Fragmentation: RFC 791 Section 3.2
+
+ Fragmentation, as described in [INTERNET:1], MUST be supported by a
+ router.
+
+ When a router fragments an IP datagram, it SHOULD minimize the number
+ of fragments. When a router fragments an IP datagram, it SHOULD send
+ the fragments in order. A fragmentation method that may generate one
+ IP fragment that is significantly smaller than the other MAY cause
+ the first IP fragment to be the smaller one.
+
+ DISCUSSION
+ There are several fragmentation techniques in common use in the
+ Internet. One involves splitting the IP datagram into IP
+ fragments with the first being MTU sized, and the others being
+ approximately the same size, smaller than the MTU. The reason for
+ this is twofold. The first IP fragment in the sequence will be
+ the effective MTU of the current path between the hosts, and the
+ following IP fragments are sized to minimize the further
+ fragmentation of the IP datagram. Another technique is to split
+ the IP datagram into MTU sized IP fragments, with the last
+ fragment being the only one smaller, as described in [INTERNET:1].
+
+ A common trick used by some implementations of TCP/IP is to
+ fragment an IP datagram into IP fragments that are no larger than
+ 576 bytes when the IP datagram is to travel through a router.
+ This is intended to allow the resulting IP fragments to pass the
+ rest of the path without further fragmentation. This would,
+ though, create more of a load on the destination host, since it
+ would have a larger number of IP fragments to reassemble into one
+ IP datagram. It would also not be efficient on networks where the
+ MTU only changes once and stays much larger than 576 bytes.
+ Examples include LAN networks such as an IEEE 802.5 network with a
+ MTU of 2048 or an Ethernet network with an MTU of 1500).
+
+ One other fragmentation technique discussed was splitting the IP
+ datagram into approximately equal sized IP fragments, with the
+ size less than or equal to the next hop network's MTU. This is
+ intended to minimize the number of fragments that would result
+ from additional fragmentation further down the path, and assure
+ equal delay for each fragment.
+
+ Routers SHOULD generate the least possible number of IP fragments.
+
+ Work with slow machines leads us to believe that if it is
+ necessary to fragment messages, sending the small IP fragment
+ first maximizes the chance of a host with a slow interface of
+ receiving all the fragments.
+
+
+
+Baker Standards Track [Page 45]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+4.2.2.8 Reassembly: RFC 791 Section 3.2
+
+ As specified in the corresponding section of [INTRO:2], a router MUST
+ support reassembly of datagrams that it delivers to itself.
+
+4.2.2.9 Time to Live: RFC 791 Section 3.2
+
+ Time to Live (TTL) handling for packets originated or received by the
+ router is governed by [INTRO:2]; this section changes none of its
+ stipulations. However, since the remainder of the IP Protocol
+ section of [INTRO:2] is rewritten, this section is as well.
+
+ Note in particular that a router MUST NOT check the TTL of a packet
+ except when forwarding it.
+
+ A router MUST NOT originate or forward a datagram with a Time-to-Live
+ (TTL) value of zero.
+
+ A router MUST NOT discard a datagram just because it was received
+ with TTL equal to zero or one; if it is to the router and otherwise
+ valid, the router MUST attempt to receive it.
+
+ On messages the router originates, the IP layer MUST provide a means
+ for the transport layer to set the TTL field of every datagram that
+ is sent. When a fixed TTL value is used, it MUST be configurable.
+ The number SHOULD exceed the typical internet diameter, and current
+ wisdom suggests that it should exceed twice the internet diameter to
+ allow for growth. Current suggested values are normally posted in
+ the Assigned Numbers RFC. The TTL field has two functions: limit the
+ lifetime of TCP segments (see RFC 793 [TCP:1], p. 28), and terminate
+ Internet routing loops. Although TTL is a time in seconds, it also
+ has some attributes of a hop-count, since each router is required to
+ reduce the TTL field by at least one.
+
+ TTL expiration is intended to cause datagrams to be discarded by
+ routers, but not by the destination host. Hosts that act as routers
+ by forwarding datagrams must therefore follow the router's rules for
+ TTL.
+
+ A higher-layer protocol may want to set the TTL in order to implement
+ an "expanding scope" search for some Internet resource. This is used
+ by some diagnostic tools, and is expected to be useful for locating
+ the "nearest" server of a given class using IP multicasting, for
+ example. A particular transport protocol may also want to specify
+ its own TTL bound on maximum datagram lifetime.
+
+ A fixed default value must be at least big enough for the Internet
+ "diameter," i.e., the longest possible path. A reasonable value is
+
+
+
+Baker Standards Track [Page 46]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ about twice the diameter, to allow for continued Internet growth. As
+ of this writing, messages crossing the United States frequently
+ traverse 15 to 20 routers; this argues for a default TTL value in
+ excess of 40, and 64 is a common value.
+
+4.2.2.10 Multi-subnet Broadcasts: RFC 922
+
+ All-subnets broadcasts (called multi-subnet broadcasts in
+ [INTERNET:3]) have been deprecated. See Section [5.3.5.3].
+
+4.2.2.11 Addressing: RFC 791 Section 3.2
+
+ As noted in 2.2.5.1, there are now five classes of IP addresses:
+ Class A through Class E. Class D addresses are used for IP
+ multicasting [INTERNET:4], while Class E addresses are reserved for
+ experimental use. The distinction between Class A, B, and C
+ addresses is no longer important; they are used as generalized
+ unicast network prefixes with only historical interest in their
+ class.
+
+ An IP multicast address is a 28-bit logical address that stands for a
+ group of hosts, and may be either permanent or transient. Permanent
+ multicast addresses are allocated by the Internet Assigned Number
+ Authority [INTRO:7], while transient addresses may be allocated
+ dynamically to transient groups. Group membership is determined
+ dynamically using IGMP [INTERNET:4].
+
+ We now summarize the important special cases for general purpose
+ unicast IP addresses, using the following notation for an IP address:
+
+ { <Network-prefix>, <Host-number> }
+
+ and the notation -1 for a field that contains all 1 bits and the
+ notation 0 for a field that contains all 0 bits.
+
+ (a) { 0, 0 }
+
+ This host on this network. It MUST NOT be used as a source
+ address by routers, except the router MAY use this as a source
+ address as part of an initialization procedure (e.g., if the
+ router is using BOOTP to load its configuration information).
+
+ Incoming datagrams with a source address of { 0, 0 } which are
+ received for local delivery (see Section [5.2.3]), MUST be
+ accepted if the router implements the associated protocol and
+ that protocol clearly defines appropriate action to be taken.
+ Otherwise, a router MUST silently discard any locally-delivered
+ datagram whose source address is { 0, 0 }.
+
+
+
+Baker Standards Track [Page 47]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ DISCUSSION
+ Some protocols define specific actions to take in response to a
+ received datagram whose source address is { 0, 0 }. Two examples
+ are BOOTP and ICMP Mask Request. The proper operation of these
+ protocols often depends on the ability to receive datagrams whose
+ source address is { 0, 0 }. For most protocols, however, it is
+ best to ignore datagrams having a source address of { 0, 0 } since
+ they were probably generated by a misconfigured host or router.
+ Thus, if a router knows how to deal with a given datagram having a
+ { 0, 0 } source address, the router MUST accept it. Otherwise,
+ the router MUST discard it.
+
+ See also Section [4.2.3.1] for a non-standard use of { 0, 0 }.
+
+ (b) { 0, <Host-number> }
+
+ Specified host on this network. It MUST NOT be sent by routers
+ except that the router MAY use this as a source address as part
+ of an initialization procedure by which the it learns its own
+ IP address.
+
+ (c) { -1, -1 }
+
+ Limited broadcast. It MUST NOT be used as a source address.
+
+ A datagram with this destination address will be received by
+ every host and router on the connected physical network, but
+ will not be forwarded outside that network.
+
+ (d) { <Network-prefix>, -1 }
+
+ Directed Broadcast - a broadcast directed to the specified
+ network prefix. It MUST NOT be used as a source address. A
+ router MAY originate Network Directed Broadcast packets. A
+ router MUST receive Network Directed Broadcast packets; however
+ a router MAY have a configuration option to prevent reception
+ of these packets. Such an option MUST default to allowing
+ reception.
+
+ (e) { 127, <any> }
+
+ Internal host loopback address. Addresses of this form MUST
+ NOT appear outside a host.
+
+ The <Network-prefix> is administratively assigned so that its value
+ will be unique in the routing domain to which the device is
+ connected.
+
+
+
+
+Baker Standards Track [Page 48]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ IP addresses are not permitted to have the value 0 or -1 for the
+ <Host-number> or <Network-prefix> fields except in the special cases
+ listed above. This implies that each of these fields will be at
+ least two bits long.
+
+ DISCUSSION
+ Previous versions of this document also noted that subnet numbers
+ must be neither 0 nor -1, and must be at least two bits in length.
+ In a CIDR world, the subnet number is clearly an extension of the
+ network prefix and cannot be interpreted without the remainder of
+ the prefix. This restriction of subnet numbers is therefore
+ meaningless in view of CIDR and may be safely ignored.
+
+ For further discussion of broadcast addresses, see Section [4.2.3.1].
+
+ When a router originates any datagram, the IP source address MUST be
+ one of its own IP addresses (but not a broadcast or multicast
+ address). The only exception is during initialization.
+
+ For most purposes, a datagram addressed to a broadcast or multicast
+ destination is processed as if it had been addressed to one of the
+ router's IP addresses; that is to say:
+
+ o A router MUST receive and process normally any packets with a
+ broadcast destination address.
+
+ o A router MUST receive and process normally any packets sent to a
+ multicast destination address that the router has asked to
+ receive.
+
+ The term specific-destination address means the equivalent local IP
+ address of the host. The specific-destination address is defined to
+ be the destination address in the IP header unless the header
+ contains a broadcast or multicast address, in which case the
+ specific-destination is an IP address assigned to the physical
+ interface on which the datagram arrived.
+
+ A router MUST silently discard any received datagram containing an IP
+ source address that is invalid by the rules of this section. This
+ validation could be done either by the IP layer or (when appropriate)
+ by each protocol in the transport layer. As with any datagram a
+ router discards, the datagram discard SHOULD be counted.
+
+ DISCUSSION
+ A misaddressed datagram might be caused by a Link Layer broadcast
+ of a unicast datagram or by another router or host that is
+ confused or misconfigured.
+
+
+
+
+Baker Standards Track [Page 49]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+4.2.3 SPECIFIC ISSUES
+
+4.2.3.1 IP Broadcast Addresses
+
+ For historical reasons, there are a number of IP addresses (some
+ standard and some not) which are used to indicate that an IP packet
+ is an IP broadcast. A router
+
+ (1) MUST treat as IP broadcasts packets addressed to 255.255.255.255
+ or { <Network-prefix>, -1 }.
+
+ (2) SHOULD silently discard on receipt (i.e., do not even deliver to
+ applications in the router) any packet addressed to 0.0.0.0 or {
+ <Network-prefix>, 0 }. If these packets are not silently
+ discarded, they MUST be treated as IP broadcasts (see Section
+ [5.3.5]). There MAY be a configuration option to allow receipt
+ of these packets. This option SHOULD default to discarding
+ them.
+
+ (3) SHOULD (by default) use the limited broadcast address
+ (255.255.255.255) when originating an IP broadcast destined for
+ a connected (sub)network (except when sending an ICMP Address
+ Mask Reply, as discussed in Section [4.3.3.9]). A router MUST
+ receive limited broadcasts.
+
+ (4) SHOULD NOT originate datagrams addressed to 0.0.0.0 or {
+ <Network-prefix>, 0 }. There MAY be a configuration option to
+ allow generation of these packets (instead of using the relevant
+ 1s format broadcast). This option SHOULD default to not
+ generating them.
+
+ DISCUSSION
+ In the second bullet, the router obviously cannot recognize
+ addresses of the form { <Network-prefix>, 0 } if the router has no
+ interface to that network prefix. In that case, the rules of the
+ second bullet do not apply because, from the point of view of the
+ router, the packet is not an IP broadcast packet.
+
+4.2.3.2 IP Multicasting
+
+ An IP router SHOULD satisfy the Host Requirements with respect to IP
+ multicasting, as specified in [INTRO:2]. An IP router SHOULD support
+ local IP multicasting on all connected networks. When a mapping from
+ IP multicast addresses to link-layer addresses has been specified
+ (see the various IP-over-xxx specifications), it SHOULD use that
+ mapping, and MAY be configurable to use the link layer broadcast
+ instead. On point-to-point links and all other interfaces,
+ multicasts are encapsulated as link layer broadcasts. Support for
+
+
+
+Baker Standards Track [Page 50]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ local IP multicasting includes originating multicast datagrams,
+ joining multicast groups and receiving multicast datagrams, and
+ leaving multicast groups. This implies support for all of
+ [INTERNET:4] including IGMP (see Section [4.4]).
+
+ DISCUSSION
+ Although [INTERNET:4] is entitled Host Extensions for IP
+ Multicasting, it applies to all IP systems, both hosts and
+ routers. In particular, since routers may join multicast groups,
+ it is correct for them to perform the host part of IGMP, reporting
+ their group memberships to any multicast routers that may be
+ present on their attached networks (whether or not they themselves
+ are multicast routers).
+
+ Some router protocols may specifically require support for IP
+ multicasting (e.g., OSPF [ROUTE:1]), or may recommend it (e.g.,
+ ICMP Router Discovery [INTERNET:13]).
+
+4.2.3.3 Path MTU Discovery
+
+ To eliminate fragmentation or minimize it, it is desirable to know
+ what is the path MTU along the path from the source to destination.
+ The path MTU is the minimum of the MTUs of each hop in the path.
+ [INTERNET:14] describes a technique for dynamically discovering the
+ maximum transmission unit (MTU) of an arbitrary internet path. For a
+ path that passes through a router that does not support
+ [INTERNET:14], this technique might not discover the correct Path
+ MTU, but it will always choose a Path MTU as accurate as, and in many
+ cases more accurate than, the Path MTU that would be chosen by older
+ techniques or the current practice.
+
+ When a router is originating an IP datagram, it SHOULD use the scheme
+ described in [INTERNET:14] to limit the datagram's size. If the
+ router's route to the datagram's destination was learned from a
+ routing protocol that provides Path MTU information, the scheme
+ described in [INTERNET:14] is still used, but the Path MTU
+ information from the routing protocol SHOULD be used as the initial
+ guess as to the Path MTU and also as an upper bound on the Path MTU.
+
+4.2.3.4 Subnetting
+
+ Under certain circumstances, it may be desirable to support subnets
+ of a particular network being interconnected only through a path that
+ is not part of the subnetted network. This is known as discontiguous
+ subnetwork support.
+
+ Routers MUST support discontiguous subnetworks.
+
+
+
+
+Baker Standards Track [Page 51]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ IMPLEMENTATION
+ In classical IP networks, this was very difficult to achieve; in
+ CIDR networks, it is a natural by-product. Therefore, a router
+ SHOULD NOT make assumptions about subnet architecture, but SHOULD
+ treat each route as a generalized network prefix.
+
+ DISCUSSION The Internet has been growing at a tremendous rate of
+ late. This has been placing severe strains on the IP addressing
+ technology. A major factor in this strain is the strict IP
+ Address class boundaries. These make it difficult to efficiently
+ size network prefixes to their networks and aggregate several
+ network prefixes into a single route advertisement. By
+ eliminating the strict class boundaries of the IP address and
+ treating each route as a generalized network prefix, these strains
+ may be greatly reduced.
+
+ The technology for currently doing this is Classless Inter Domain
+ Routing (CIDR) [INTERNET:15].
+
+ For similar reasons, an address block associated with a given network
+ prefix could be subdivided into subblocks of different sizes, so that
+ the network prefixes associated with the subblocks would have
+ different length. For example, within a block whose network prefix
+ is 8 bits long, one subblock may have a 16 bit network prefix,
+ another may have an 18 bit network prefix, and a third a 14 bit
+ network prefix.
+
+ Routers MUST support variable length network prefixes in both their
+ interface configurations and their routing databases.
+
+4.3 INTERNET CONTROL MESSAGE PROTOCOL - ICMP
+
+4.3.1 INTRODUCTION
+
+ ICMP is an auxiliary protocol, which provides routing, diagnostic and
+ error functionality for IP. It is described in [INTERNET:8]. A
+ router MUST support ICMP.
+
+ ICMP messages are grouped in two classes that are discussed in the
+ following sections:
+
+ ICMP error messages:
+
+ Destination Unreachable Section 4.3.3.1
+ Redirect Section 4.3.3.2
+ Source Quench Section 4.3.3.3
+ Time Exceeded Section 4.3.3.4
+ Parameter Problem Section 4.3.3.5
+
+
+
+Baker Standards Track [Page 52]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ ICMP query messages:
+ Echo Section 4.3.3.6
+ Information Section 4.3.3.7
+ Timestamp Section 4.3.3.8
+ Address Mask Section 4.3.3.9
+ Router Discovery Section 4.3.3.10
+
+
+ General ICMP requirements and discussion are in the next section.
+
+4.3.2 GENERAL ISSUES
+
+4.3.2.1 Unknown Message Types
+
+ If an ICMP message of unknown type is received, it MUST be passed to
+ the ICMP user interface (if the router has one) or silently discarded
+ (if the router does not have one).
+
+4.3.2.2 ICMP Message TTL
+
+ When originating an ICMP message, the router MUST initialize the TTL.
+ The TTL for ICMP responses must not be taken from the packet that
+ triggered the response.
+
+4.3.2.3 Original Message Header
+
+ Historically, every ICMP error message has included the Internet
+ header and at least the first 8 data bytes of the datagram that
+ triggered the error. This is no longer adequate, due to the use of
+ IP-in-IP tunneling and other technologies. Therefore, the ICMP
+ datagram SHOULD contain as much of the original datagram as possible
+ without the length of the ICMP datagram exceeding 576 bytes. The
+ returned IP header (and user data) MUST be identical to that which
+ was received, except that the router is not required to undo any
+ modifications to the IP header that are normally performed in
+ forwarding that were performed before the error was detected (e.g.,
+ decrementing the TTL, or updating options). Note that the
+ requirements of Section [4.3.3.5] supersede this requirement in some
+ cases (i.e., for a Parameter Problem message, if the problem is in a
+ modified field, the router must undo the modification). See Section
+ [4.3.3.5]).
+
+4.3.2.4 ICMP Message Source Address
+
+ Except where this document specifies otherwise, the IP source address
+ in an ICMP message originated by the router MUST be one of the IP
+ addresses associated with the physical interface over which the ICMP
+ message is transmitted. If the interface has no IP addresses
+
+
+
+Baker Standards Track [Page 53]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ associated with it, the router's router-id (see Section [5.2.5]) is
+ used instead.
+
+4.3.2.5 TOS and Precedence
+
+ ICMP error messages SHOULD have their TOS bits set to the same value
+ as the TOS bits in the packet that provoked the sending of the ICMP
+ error message, unless setting them to that value would cause the ICMP
+ error message to be immediately discarded because it could not be
+ routed to its destination. Otherwise, ICMP error messages MUST be
+ sent with a normal (i.e., zero) TOS. An ICMP reply message SHOULD
+ have its TOS bits set to the same value as the TOS bits in the ICMP
+ request that provoked the reply.
+
+ ICMP Source Quench error messages, if sent at all, MUST have their IP
+ Precedence field set to the same value as the IP Precedence field in
+ the packet that provoked the sending of the ICMP Source Quench
+ message. All other ICMP error messages (Destination Unreachable,
+ Redirect, Time Exceeded, and Parameter Problem) SHOULD have their
+ precedence value set to 6 (INTERNETWORK CONTROL) or 7 (NETWORK
+ CONTROL). The IP Precedence value for these error messages MAY be
+ settable.
+
+ An ICMP reply message MUST have its IP Precedence field set to the
+ same value as the IP Precedence field in the ICMP request that
+ provoked the reply.
+
+4.3.2.6 Source Route
+
+ If the packet which provokes the sending of an ICMP error message
+ contains a source route option, the ICMP error message SHOULD also
+ contain a source route option of the same type (strict or loose),
+ created by reversing the portion before the pointer of the route
+ recorded in the source route option of the original packet UNLESS the
+ ICMP error message is an ICMP Parameter Problem complaining about a
+ source route option in the original packet, or unless the router is
+ aware of policy that would prevent the delivery of the ICMP error
+ message.
+
+ DISCUSSION
+ In environments which use the U.S. Department of Defense security
+ option (defined in [INTERNET:5]), ICMP messages may need to
+ include a security option. Detailed information on this topic
+ should be available from the Defense Communications Agency.
+
+
+
+
+
+
+
+Baker Standards Track [Page 54]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+4.3.2.7 When Not to Send ICMP Errors
+
+ An ICMP error message MUST NOT be sent as the result of receiving:
+
+ o An ICMP error message, or
+
+ o A packet which fails the IP header validation tests described in
+ Section [5.2.2] (except where that section specifically permits
+ the sending of an ICMP error message), or
+
+ o A packet destined to an IP broadcast or IP multicast address, or
+
+ o A packet sent as a Link Layer broadcast or multicast, or
+
+ o A packet whose source address has a network prefix of zero or is an
+ invalid source address (as defined in Section [5.3.7]), or
+
+ o Any fragment of a datagram other then the first fragment (i.e., a
+ packet for which the fragment offset in the IP header is nonzero).
+
+ Furthermore, an ICMP error message MUST NOT be sent in any case where
+ this memo states that a packet is to be silently discarded.
+
+ NOTE: THESE RESTRICTIONS TAKE PRECEDENCE OVER ANY REQUIREMENT
+ ELSEWHERE IN THIS DOCUMENT FOR SENDING ICMP ERROR MESSAGES.
+
+ DISCUSSION
+ These rules aim to prevent the broadcast storms that have resulted
+ from routers or hosts returning ICMP error messages in response to
+ broadcast packets. For example, a broadcast UDP packet to a non-
+ existent port could trigger a flood of ICMP Destination
+ Unreachable datagrams from all devices that do not have a client
+ for that destination port. On a large Ethernet, the resulting
+ collisions can render the network useless for a second or more.
+
+ Every packet that is broadcast on the connected network should
+ have a valid IP broadcast address as its IP destination (see
+ Section [5.3.4] and [INTRO:2]). However, some devices violate
+ this rule. To be certain to detect broadcast packets, therefore,
+ routers are required to check for a link-layer broadcast as well
+ as an IP-layer address.
+
+ IMPLEMENTATION+ This requires that the link layer inform the IP layer
+ when a link-layer broadcast packet has been received; see Section
+ [3.1].
+
+
+
+
+
+
+Baker Standards Track [Page 55]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+4.3.2.8 Rate Limiting
+
+ A router which sends ICMP Source Quench messages MUST be able to
+ limit the rate at which the messages can be generated. A router
+ SHOULD also be able to limit the rate at which it sends other sorts
+ of ICMP error messages (Destination Unreachable, Redirect, Time
+ Exceeded, Parameter Problem). The rate limit parameters SHOULD be
+ settable as part of the configuration of the router. How the limits
+ are applied (e.g., per router or per interface) is left to the
+ implementor's discretion.
+
+ DISCUSSION
+ Two problems for a router sending ICMP error message are:
+ (1) The consumption of bandwidth on the reverse path, and
+ (2) The use of router resources (e.g., memory, CPU time)
+
+ To help solve these problems a router can limit the frequency with
+ which it generates ICMP error messages. For similar reasons, a
+ router may limit the frequency at which some other sorts of
+ messages, such as ICMP Echo Replies, are generated.
+
+ IMPLEMENTATION
+ Various mechanisms have been used or proposed for limiting the
+ rate at which ICMP messages are sent:
+
+ (1) Count-based - for example, send an ICMP error message for
+ every N dropped packets overall or per given source host.
+ This mechanism might be appropriate for ICMP Source Quench,
+ if used, but probably not for other types of ICMP messages.
+
+ (2) Timer-based - for example, send an ICMP error message to a
+ given source host or overall at most once per T milliseconds.
+
+ (3) Bandwidth-based - for example, limit the rate at which ICMP
+ messages are sent over a particular interface to some
+ fraction of the attached network's bandwidth.
+
+4.3.3 SPECIFIC ISSUES
+
+4.3.3.1 Destination Unreachable
+
+ If a router cannot forward a packet because it has no routes at all
+ (including no default route) to the destination specified in the
+ packet, then the router MUST generate a Destination Unreachable, Code
+ 0 (Network Unreachable) ICMP message. If the router does have routes
+ to the destination network specified in the packet but the TOS
+ specified for the routes is neither the default TOS (0000) nor the
+ TOS of the packet that the router is attempting to route, then the
+
+
+
+Baker Standards Track [Page 56]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ router MUST generate a Destination Unreachable, Code 11 (Network
+ Unreachable for TOS) ICMP message.
+
+ If a packet is to be forwarded to a host on a network that is
+ directly connected to the router (i.e., the router is the last-hop
+ router) and the router has ascertained that there is no path to the
+ destination host then the router MUST generate a Destination
+ Unreachable, Code 1 (Host Unreachable) ICMP message. If a packet is
+ to be forwarded to a host that is on a network that is directly
+ connected to the router and the router cannot forward the packet
+ because no route to the destination has a TOS that is either equal to
+ the TOS requested in the packet or is the default TOS (0000) then the
+ router MUST generate a Destination Unreachable, Code 12 (Host
+ Unreachable for TOS) ICMP message.
+
+ DISCUSSION
+ The intent is that a router generates the "generic" host/network
+ unreachable if it has no path at all (including default routes) to
+ the destination. If the router has one or more paths to the
+ destination, but none of those paths have an acceptable TOS, then
+ the router generates the "unreachable for TOS" message.
+
+4.3.3.2 Redirect
+
+ The ICMP Redirect message is generated to inform a local host that it
+ should use a different next hop router for certain traffic.
+
+ Contrary to [INTRO:2], a router MAY ignore ICMP Redirects when
+ choosing a path for a packet originated by the router if the router
+ is running a routing protocol or if forwarding is enabled on the
+ router and on the interface over which the packet is being sent.
+
+4.3.3.3 Source Quench
+
+ A router SHOULD NOT originate ICMP Source Quench messages. As
+ specified in Section [4.3.2], a router that does originate Source
+ Quench messages MUST be able to limit the rate at which they are
+ generated.
+
+ DISCUSSION
+ Research seems to suggest that Source Quench consumes network
+ bandwidth but is an ineffective (and unfair) antidote to
+ congestion. See, for example, [INTERNET:9] and [INTERNET:10].
+ Section [5.3.6] discusses the current thinking on how routers
+ ought to deal with overload and network congestion.
+
+ A router MAY ignore any ICMP Source Quench messages it receives.
+
+
+
+
+Baker Standards Track [Page 57]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ DISCUSSION
+ A router itself may receive a Source Quench as the result of
+ originating a packet sent to another router or host. Such
+ datagrams might be, e.g., an EGP update sent to another router, or
+ a telnet stream sent to a host. A mechanism has been proposed
+ ([INTERNET:11], [INTERNET:12]) to make the IP layer respond
+ directly to Source Quench by controlling the rate at which packets
+ are sent, however, this proposal is currently experimental and not
+ currently recommended.
+
+4.3.3.4 Time Exceeded
+
+ When a router is forwarding a packet and the TTL field of the packet
+ is reduced to 0, the requirements of section [5.2.3.8] apply.
+
+ When the router is reassembling a packet that is destined for the
+ router, it is acting as an Internet host. [INTRO:2]'s reassembly
+ requirements therefore apply.
+
+ When the router receives (i.e., is destined for the router) a Time
+ Exceeded message, it MUST comply with [INTRO:2].
+
+4.3.3.5 Parameter Problem
+
+ A router MUST generate a Parameter Problem message for any error not
+ specifically covered by another ICMP message. The IP header field or
+ IP option including the byte indicated by the pointer field MUST be
+ included unchanged in the IP header returned with this ICMP message.
+ Section [4.3.2] defines an exception to this requirement.
+
+ A new variant of the Parameter Problem message was defined in
+ [INTRO:2]:
+ Code 1 = required option is missing.
+
+ DISCUSSION
+ This variant is currently in use in the military community for a
+ missing security option.
+
+4.3.3.6 Echo Request/Reply
+
+ A router MUST implement an ICMP Echo server function that receives
+ Echo Requests sent to the router, and sends corresponding Echo
+ Replies. A router MUST be prepared to receive, reassemble and echo
+ an ICMP Echo Request datagram at least as the maximum of 576 and the
+ MTUs of all the connected networks.
+
+ The Echo server function MAY choose not to respond to ICMP echo
+ requests addressed to IP broadcast or IP multicast addresses.
+
+
+
+Baker Standards Track [Page 58]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ A router SHOULD have a configuration option that, if enabled, causes
+ the router to silently ignore all ICMP echo requests; if provided,
+ this option MUST default to allowing responses.
+
+ DISCUSSION
+ The neutral provision about responding to broadcast and multicast
+ Echo Requests derives from [INTRO:2]'s "Echo Request/Reply"
+ section.
+
+ As stated in Section [10.3.3], a router MUST also implement a
+ user/application-layer interface for sending an Echo Request and
+ receiving an Echo Reply, for diagnostic purposes. All ICMP Echo
+ Reply messages MUST be passed to this interface.
+
+ The IP source address in an ICMP Echo Reply MUST be the same as the
+ specific-destination address of the corresponding ICMP Echo Request
+ message.
+
+ Data received in an ICMP Echo Request MUST be entirely included in
+ the resulting Echo Reply.
+
+ If a Record Route and/or Timestamp option is received in an ICMP Echo
+ Request, this option (these options) SHOULD be updated to include the
+ current router and included in the IP header of the Echo Reply
+ message, without truncation. Thus, the recorded route will be for
+ the entire round trip.
+
+ If a Source Route option is received in an ICMP Echo Request, the
+ return route MUST be reversed and used as a Source Route option for
+ the Echo Reply message, unless the router is aware of policy that
+ would prevent the delivery of the message.
+
+4.3.3.7 Information Request/Reply
+
+ A router SHOULD NOT originate or respond to these messages.
+
+ DISCUSSION
+ The Information Request/Reply pair was intended to support self-
+ configuring systems such as diskless workstations, to allow them
+ to discover their IP network prefixes at boot time. However,
+ these messages are now obsolete. The RARP and BOOTP protocols
+ provide better mechanisms for a host to discover its own IP
+ address.
+
+4.3.3.8 Timestamp and Timestamp Reply
+
+ A router MAY implement Timestamp and Timestamp Reply. If they are
+ implemented then:
+
+
+
+Baker Standards Track [Page 59]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ o The ICMP Timestamp server function MUST return a Timestamp Reply to
+ every Timestamp message that is received. It SHOULD be designed
+ for minimum variability in delay.
+
+ o An ICMP Timestamp Request message to an IP broadcast or IP
+ multicast address MAY be silently discarded.
+
+ o The IP source address in an ICMP Timestamp Reply MUST be the same
+ as the specific-destination address of the corresponding Timestamp
+ Request message.
+
+ o If a Source Route option is received in an ICMP Timestamp Request,
+ the return route MUST be reversed and used as a Source Route
+ option for the Timestamp Reply message, unless the router is aware
+ of policy that would prevent the delivery of the message.
+
+ o If a Record Route and/or Timestamp option is received in a
+ Timestamp Request, this (these) option(s) SHOULD be updated to
+ include the current router and included in the IP header of the
+ Timestamp Reply message.
+
+ o If the router provides an application-layer interface for sending
+ Timestamp Request messages then incoming Timestamp Reply messages
+ MUST be passed up to the ICMP user interface.
+
+ The preferred form for a timestamp value (the standard value) is
+ milliseconds since midnight, Universal Time. However, it may be
+ difficult to provide this value with millisecond resolution. For
+ example, many systems use clocks that update only at line frequency,
+ 50 or 60 times per second. Therefore, some latitude is allowed in a
+ standard value:
+
+ (a) A standard value MUST be updated at least 16 times per second
+ (i.e., at most the six low-order bits of the value may be
+ undefined).
+
+ (b) The accuracy of a standard value MUST approximate that of
+ operator-set CPU clocks, i.e., correct within a few minutes.
+
+ IMPLEMENTATION
+ To meet the second condition, a router may need to query some time
+ server when the router is booted or restarted. It is recommended
+ that the UDP Time Server Protocol be used for this purpose. A
+ more advanced implementation would use the Network Time Protocol
+ (NTP) to achieve nearly millisecond clock synchronization;
+ however, this is not required.
+
+
+
+
+
+Baker Standards Track [Page 60]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+4.3.3.9 Address Mask Request/Reply
+
+ A router MUST implement support for receiving ICMP Address Mask
+ Request messages and responding with ICMP Address Mask Reply
+ messages. These messages are defined in [INTERNET:2].
+
+ A router SHOULD have a configuration option for each logical
+ interface specifying whether the router is allowed to answer Address
+ Mask Requests for that interface; this option MUST default to
+ allowing responses. A router MUST NOT respond to an Address Mask
+ Request before the router knows the correct address mask.
+
+ A router MUST NOT respond to an Address Mask Request that has a
+ source address of 0.0.0.0 and which arrives on a physical interface
+ that has associated with it multiple logical interfaces and the
+ address masks for those interfaces are not all the same.
+
+ A router SHOULD examine all ICMP Address Mask Replies that it
+ receives to determine whether the information it contains matches the
+ router's knowledge of the address mask. If the ICMP Address Mask
+ Reply appears to be in error, the router SHOULD log the address mask
+ and the sender's IP address. A router MUST NOT use the contents of
+ an ICMP Address Mask Reply to determine the correct address mask.
+
+ Because hosts may not be able to learn the address mask if a router
+ is down when the host boots up, a router MAY broadcast a gratuitous
+ ICMP Address Mask Reply on each of its logical interfaces after it
+ has configured its own address masks. However, this feature can be
+ dangerous in environments that use variable length address masks.
+ Therefore, if this feature is implemented, gratuitous Address Mask
+ Replies MUST NOT be broadcast over any logical interface(s) which
+ either:
+
+ o Are not configured to send gratuitous Address Mask Replies. Each
+ logical interface MUST have a configuration parameter controlling
+ this, and that parameter MUST default to not sending the
+ gratuitous Address Mask Replies.
+
+ o Share subsuming (but not identical) network prefixes and physical
+ interface.
+
+ The { <Network-prefix>, -1 } form of the IP broadcast address MUST be
+ used for broadcast Address Mask Replies.
+
+ DISCUSSION
+ The ability to disable sending Address Mask Replies by routers is
+ required at a few sites that intentionally lie to their hosts
+ about the address mask. The need for this is expected to go away
+
+
+
+Baker Standards Track [Page 61]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ as more and more hosts become compliant with the Host Requirements
+ standards.
+
+ The reason for both the second bullet above and the requirement
+ about which IP broadcast address to use is to prevent problems
+ when multiple IP network prefixes are in use on the same physical
+ network.
+
+4.3.3.10 Router Advertisement and Solicitations
+
+ An IP router MUST support the router part of the ICMP Router
+ Discovery Protocol [INTERNET:13] on all connected networks on which
+ the router supports either IP multicast or IP broadcast addressing.
+ The implementation MUST include all the configuration variables
+ specified for routers, with the specified defaults.
+
+ DISCUSSION
+ Routers are not required to implement the host part of the ICMP
+ Router Discovery Protocol, but might find it useful for operation
+ while IP forwarding is disabled (i.e., when operating as a host).
+
+ DISCUSSION We note that it is quite common for hosts to use RIP
+ Version 1 as the router discovery protocol. Such hosts listen to
+ RIP traffic and use and use information extracted from that
+ traffic to discover routers and to make decisions as to which
+ router to use as a first-hop router for a given destination.
+ While this behavior is discouraged, it is still common and
+ implementors should be aware of it.
+
+4.4 INTERNET GROUP MANAGEMENT PROTOCOL - IGMP
+
+ IGMP [INTERNET:4] is a protocol used between hosts and multicast
+ routers on a single physical network to establish hosts' membership
+ in particular multicast groups. Multicast routers use this
+ information, in conjunction with a multicast routing protocol, to
+ support IP multicast forwarding across the Internet.
+
+ A router SHOULD implement the host part of IGMP.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Baker Standards Track [Page 62]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+5. INTERNET LAYER - FORWARDING
+
+5.1 INTRODUCTION
+
+ This section describes the process of forwarding packets.
+
+5.2 FORWARDING WALK-THROUGH
+
+ There is no separate specification of the forwarding function in IP.
+ Instead, forwarding is covered by the protocol specifications for the
+ internet layer protocols ([INTERNET:1], [INTERNET:2], [INTERNET:3],
+ [INTERNET:8], and [ROUTE:11]).
+
+5.2.1 Forwarding Algorithm
+
+ Since none of the primary protocol documents describe the forwarding
+ algorithm in any detail, we present it here. This is just a general
+ outline, and omits important details, such as handling of congestion,
+ that are dealt with in later sections.
+
+ It is not required that an implementation follow exactly the
+ algorithms given in sections [5.2.1.1], [5.2.1.2], and [5.2.1.3].
+ Much of the challenge of writing router software is to maximize the
+ rate at which the router can forward packets while still achieving
+ the same effect of the algorithm. Details of how to do that are
+ beyond the scope of this document, in part because they are heavily
+ dependent on the architecture of the router. Instead, we merely
+ point out the order dependencies among the steps:
+
+ (1) A router MUST verify the IP header, as described in section
+ [5.2.2], before performing any actions based on the contents of
+ the header. This allows the router to detect and discard bad
+ packets before the expenditure of other resources.
+
+ (2) Processing of certain IP options requires that the router insert
+ its IP address into the option. As noted in Section [5.2.4],
+ the address inserted MUST be the address of the logical
+ interface on which the packet is sent or the router's router-id
+ if the packet is sent over an unnumbered interface. Thus,
+ processing of these options cannot be completed until after the
+ output interface is chosen.
+
+ (3) The router cannot check and decrement the TTL before checking
+ whether the packet should be delivered to the router itself, for
+ reasons mentioned in Section [4.2.2.9].
+
+ (4) More generally, when a packet is delivered locally to the router,
+ its IP header MUST NOT be modified in any way (except that a
+
+
+
+Baker Standards Track [Page 63]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ router may be required to insert a timestamp into any Timestamp
+ options in the IP header). Thus, before the router determines
+ whether the packet is to be delivered locally to the router, it
+ cannot update the IP header in any way that it is not prepared
+ to undo.
+
+5.2.1.1 General
+
+ This section covers the general forwarding algorithm. This algorithm
+ applies to all forms of packets to be forwarded: unicast, multicast,
+ and broadcast.
+
+
+ (1) The router receives the IP packet (plus additional information
+ about it, as described in Section [3.1]) from the Link Layer.
+
+ (2) The router validates the IP header, as described in Section
+ [5.2.2]. Note that IP reassembly is not done, except on IP
+ fragments to be queued for local delivery in step (4).
+
+ (3) The router performs most of the processing of any IP options. As
+ described in Section [5.2.4], some IP options require additional
+ processing after the routing decision has been made.
+
+ (4) The router examines the destination IP address of the IP
+ datagram, as described in Section [5.2.3], to determine how it
+ should continue to process the IP datagram. There are three
+ possibilities:
+
+ o The IP datagram is destined for the router, and should be
+ queued for local delivery, doing reassembly if needed.
+
+ o The IP datagram is not destined for the router, and should be
+ queued for forwarding.
+
+ o The IP datagram should be queued for forwarding, but (a copy)
+ must also be queued for local delivery.
+
+5.2.1.2 Unicast
+
+ Since the local delivery case is well covered by [INTRO:2], the
+ following assumes that the IP datagram was queued for forwarding. If
+ the destination is an IP unicast address:
+
+ (5) The forwarder determines the next hop IP address for the packet,
+ usually by looking up the packet's destination in the router's
+ routing table. This procedure is described in more detail in
+ Section [5.2.4]. This procedure also decides which network
+
+
+
+Baker Standards Track [Page 64]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ interface should be used to send the packet.
+
+ (6) The forwarder verifies that forwarding the packet is permitted.
+ The source and destination addresses should be valid, as
+ described in Section [5.3.7] and Section [5.3.4] If the router
+ supports administrative constraints on forwarding, such as those
+ described in Section [5.3.9], those constraints must be
+ satisfied.
+
+ (7) The forwarder decrements (by at least one) and checks the
+ packet's TTL, as described in Section [5.3.1].
+
+ (8) The forwarder performs any IP option processing that could not be
+ completed in step 3.
+
+ (9) The forwarder performs any necessary IP fragmentation, as
+ described in Section [4.2.2.7]. Since this step occurs after
+ outbound interface selection (step 5), all fragments of the same
+ datagram will be transmitted out the same interface.
+
+ (10) The forwarder determines the Link Layer address of the packet's
+ next hop. The mechanisms for doing this are Link Layer-
+ dependent (see chapter 3).
+
+ (11) The forwarder encapsulates the IP datagram (or each of the
+ fragments thereof) in an appropriate Link Layer frame and queues
+ it for output on the interface selected in step 5.
+
+ (12) The forwarder sends an ICMP redirect if necessary, as described
+ in Section [4.3.3.2].
+
+5.2.1.3 Multicast
+
+ If the destination is an IP multicast, the following steps are taken.
+
+ Note that the main differences between the forwarding of IP unicasts
+ and the forwarding of IP multicasts are
+
+ o IP multicasts are usually forwarded based on both the datagram's
+ source and destination IP addresses,
+
+ o IP multicast uses an expanding ring search,
+
+ o IP multicasts are forwarded as Link Level multicasts, and
+
+ o ICMP errors are never sent in response to IP multicast datagrams.
+
+
+
+
+
+Baker Standards Track [Page 65]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ Note that the forwarding of IP multicasts is still somewhat
+ experimental. As a result, the algorithm presented below is not
+ mandatory, and is provided as an example only.
+
+ (5a) Based on the IP source and destination addresses found in the
+ datagram header, the router determines whether the datagram has
+ been received on the proper interface for forwarding. If not,
+ the datagram is dropped silently. The method for determining
+ the proper receiving interface depends on the multicast routing
+ algorithm(s) in use. In one of the simplest algorithms, reverse
+ path forwarding (RPF), the proper interface is the one that
+ would be used to forward unicasts back to the datagram source.
+
+ (6a) Based on the IP source and destination addresses found in the
+ datagram header, the router determines the datagram's outgoing
+ interfaces. To implement IP multicast's expanding ring search
+ (see [INTERNET:4]) a minimum TTL value is specified for each
+ outgoing interface. A copy of the multicast datagram is
+ forwarded out each outgoing interface whose minimum TTL value is
+ less than or equal to the TTL value in the datagram header, by
+ separately applying the remaining steps on each such interface.
+
+ (7a) The router decrements the packet's TTL by one.
+
+ (8a) The forwarder performs any IP option processing that could not
+ be completed in step (3).
+
+ (9a) The forwarder performs any necessary IP fragmentation, as
+ described in Section [4.2.2.7].
+
+ (10a) The forwarder determines the Link Layer address to use in the
+ Link Level encapsulation. The mechanisms for doing this are
+ Link Layer-dependent. On LANs a Link Level multicast or
+ broadcast is selected, as an algorithmic translation of the
+ datagrams' IP multicast address. See the various IP-over-xxx
+ specifications for more details.
+
+ (11a) The forwarder encapsulates the packet (or each of the fragments
+ thereof) in an appropriate Link Layer frame and queues it for
+ output on the appropriate interface.
+
+
+
+
+
+
+
+
+
+
+
+Baker Standards Track [Page 66]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+5.2.2 IP Header Validation
+
+ Before a router can process any IP packet, it MUST perform a the
+ following basic validity checks on the packet's IP header to ensure
+ that the header is meaningful. If the packet fails any of the
+ following tests, it MUST be silently discarded, and the error SHOULD
+ be logged.
+
+ (1) The packet length reported by the Link Layer must be large enough
+ to hold the minimum length legal IP datagram (20 bytes).
+
+ (2) The IP checksum must be correct.
+
+ (3) The IP version number must be 4. If the version number is not 4
+ then the packet may be another version of IP, such as IPng or
+ ST-II.
+
+ (4) The IP header length field must be large enough to hold the
+ minimum length legal IP datagram (20 bytes = 5 words).
+
+ (5) The IP total length field must be large enough to hold the IP
+ datagram header, whose length is specified in the IP header
+ length field.
+
+ A router MUST NOT have a configuration option that allows disabling
+ any of these tests.
+
+ If the packet passes the second and third tests, the IP header length
+ field is at least 4, and both the IP total length field and the
+ packet length reported by the Link Layer are at least 16 then,
+ despite the above rule, the router MAY respond with an ICMP Parameter
+ Problem message, whose pointer points at the IP header length field
+ (if it failed the fourth test) or the IP total length field (if it
+ failed the fifth test). However, it still MUST discard the packet
+ and still SHOULD log the error.
+
+ These rules (and this entire document) apply only to version 4 of the
+ Internet Protocol. These rules should not be construed as
+ prohibiting routers from supporting other versions of IP.
+ Furthermore, if a router can truly classify a packet as being some
+ other version of IP then it ought not treat that packet as an error
+ packet within the context of this memo.
+
+ IMPLEMENTATION
+ It is desirable for purposes of error reporting, though not always
+ entirely possible, to determine why a header was invalid. There
+ are four possible reasons:
+
+
+
+
+Baker Standards Track [Page 67]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ o The Link Layer truncated the IP header
+
+ o The datagram is using a version of IP other than the standard
+ one (version 4).
+
+ o The IP header has been corrupted in transit.
+
+ o The sender generated an illegal IP header.
+
+ It is probably desirable to perform the checks in the order
+ listed, since we believe that this ordering is most likely to
+ correctly categorize the cause of the error. For purposes of
+ error reporting, it may also be desirable to check if a packet
+ that fails these tests has an IP version number indicating IPng or
+ ST-II; these should be handled according to their respective
+ specifications.
+
+ Additionally, the router SHOULD verify that the packet length
+ reported by the Link Layer is at least as large as the IP total
+ length recorded in the packet's IP header. If it appears that the
+ packet has been truncated, the packet MUST be discarded, the error
+ SHOULD be logged, and the router SHOULD respond with an ICMP
+ Parameter Problem message whose pointer points at the IP total length
+ field.
+
+ DISCUSSION
+ Because any higher layer protocol that concerns itself with data
+ corruption will detect truncation of the packet data when it
+ reaches its final destination, it is not absolutely necessary for
+ routers to perform the check suggested above to maintain protocol
+ correctness. However, by making this check a router can simplify
+ considerably the task of determining which hop in the path is
+ truncating the packets. It will also reduce the expenditure of
+ resources down-stream from the router in that down-stream systems
+ will not need to deal with the packet.
+
+ Finally, if the destination address in the IP header is not one of
+ the addresses of the router, the router SHOULD verify that the packet
+ does not contain a Strict Source and Record Route option. If a
+ packet fails this test (if it contains a strict source route option),
+ the router SHOULD log the error and SHOULD respond with an ICMP
+ Parameter Problem error with the pointer pointing at the offending
+ packet's IP destination address.
+
+ DISCUSSION
+ Some people might suggest that the router should respond with a
+ Bad Source Route message instead of a Parameter Problem message.
+ However, when a packet fails this test, it usually indicates a
+
+
+
+Baker Standards Track [Page 68]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ protocol error by the previous hop router, whereas Bad Source
+ Route would suggest that the source host had requested a
+ nonexistent or broken path through the network.
+
+5.2.3 Local Delivery Decision
+
+ When a router receives an IP packet, it must decide whether the
+ packet is addressed to the router (and should be delivered locally)
+ or the packet is addressed to another system (and should be handled
+ by the forwarder). There is also a hybrid case, where certain IP
+ broadcasts and IP multicasts are both delivered locally and
+ forwarded. A router MUST determine which of the these three cases
+ applies using the following rules.
+
+
+ o An unexpired source route option is one whose pointer value does
+ not point past the last entry in the source route. If the packet
+ contains an unexpired source route option, the pointer in the
+ option is advanced until either the pointer does point past the
+ last address in the option or else the next address is not one of
+ the router's own addresses. In the latter (normal) case, the
+ packet is forwarded (and not delivered locally) regardless of the
+ rules below.
+
+ o The packet is delivered locally and not considered for forwarding
+ in the following cases:
+
+ - The packet's destination address exactly matches one of the
+ router's IP addresses,
+
+ - The packet's destination address is a limited broadcast address
+ ({-1, -1}), or
+
+ - The packet's destination is an IP multicast address which is
+ never forwarded (such as 224.0.0.1 or 224.0.0.2) and (at least)
+ one of the logical interfaces associated with the physical
+ interface on which the packet arrived is a member of the
+ destination multicast group.
+
+ o The packet is passed to the forwarder AND delivered locally in the
+ following cases:
+
+ - The packet's destination address is an IP broadcast address that
+ addresses at least one of the router's logical interfaces but
+ does not address any of the logical interfaces associated with
+ the physical interface on which the packet arrived
+
+
+
+
+
+Baker Standards Track [Page 69]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ - The packet's destination is an IP multicast address which is
+ permitted to be forwarded (unlike 224.0.0.1 and 224.0.0.2) and
+ (at least) one of the logical interfaces associated with the
+ physical interface on which the packet arrived is a member of
+ the destination multicast group.
+
+ o The packet is delivered locally if the packet's destination address
+ is an IP broadcast address (other than a limited broadcast
+ address) that addresses at least one of the logical interfaces
+ associated with the physical interface on which the packet
+ arrived. The packet is ALSO passed to the forwarder unless the
+ link on which the packet arrived uses an IP encapsulation that
+ does not encapsulate broadcasts differently than unicasts (e.g.,
+ by using different Link Layer destination addresses).
+
+ o The packet is passed to the forwarder in all other cases.
+
+ DISCUSSION
+ The purpose of the requirement in the last sentence of the fourth
+ bullet is to deal with a directed broadcast to another network
+ prefix on the same physical cable. Normally, this works as
+ expected: the sender sends the broadcast to the router as a Link
+ Layer unicast. The router notes that it arrived as a unicast, and
+ therefore must be destined for a different network prefix than the
+ sender sent it on. Therefore, the router can safely send it as a
+ Link Layer broadcast out the same (physical) interface over which
+ it arrived. However, if the router can't tell whether the packet
+ was received as a Link Layer unicast, the sentence ensures that
+ the router does the safe but wrong thing rather than the unsafe
+ but right thing.
+
+ IMPLEMENTATION
+ As described in Section [5.3.4], packets received as Link Layer
+ broadcasts are generally not forwarded. It may be advantageous to
+ avoid passing to the forwarder packets it would later discard
+ because of the rules in that section.
+
+ Some Link Layers (either because of the hardware or because of
+ special code in the drivers) can deliver to the router copies of
+ all Link Layer broadcasts and multicasts it transmits. Use of
+ this feature can simplify the implementation of cases where a
+ packet has to both be passed to the forwarder and delivered
+ locally, since forwarding the packet will automatically cause the
+ router to receive a copy of the packet that it can then deliver
+ locally. One must use care in these circumstances to prevent
+ treating a received loop-back packet as a normal packet that was
+ received (and then being subject to the rules of forwarding,
+ etc.).
+
+
+
+Baker Standards Track [Page 70]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ Even without such a Link Layer, it is of course hardly necessary
+ to make a copy of an entire packet to queue it both for forwarding
+ and for local delivery, though care must be taken with fragments,
+ since reassembly is performed on locally delivered packets but not
+ on forwarded packets. One simple scheme is to associate a flag
+ with each packet on the router's output queue that indicates
+ whether it should be queued for local delivery after it has been
+ sent.
+
+5.2.4 Determining the Next Hop Address
+
+ When a router is going to forward a packet, it must determine whether
+ it can send it directly to its destination, or whether it needs to
+ pass it through another router. If the latter, it needs to determine
+ which router to use. This section explains how these determinations
+ are made.
+
+ This section makes use of the following definitions:
+
+ o LSRR - IP Loose Source and Record Route option
+
+ o SSRR - IP Strict Source and Record Route option
+
+ o Source Route Option - an LSRR or an SSRR
+
+ o Ultimate Destination Address - where the packet is being sent to:
+ the last address in the source route of a source-routed packet, or
+ the destination address in the IP header of a non-source-routed
+ packet
+
+ o Adjacent - reachable without going through any IP routers
+
+ o Next Hop Address - the IP address of the adjacent host or router to
+ which the packet should be sent next
+
+ o IP Destination Address - the ultimate destination address, except
+ in source routed packets, where it is the next address specified
+ in the source route
+
+ o Immediate Destination - the node, System, router, end-system, or
+ whatever that is addressed by the IP Destination Address.
+
+
+
+
+
+
+
+
+
+
+Baker Standards Track [Page 71]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+5.2.4.1 IP Destination Address
+
+ If:
+
+ o the destination address in the IP header is one of the addresses of
+ the router,
+
+ o the packet contains a Source Route Option, and
+
+ o the pointer in the Source Route Option does not point past the end
+ of the option,
+
+ then the next IP Destination Address is the address pointed at by the
+ pointer in that option. If:
+
+ o the destination address in the IP header is one of the addresses of
+ the router,
+
+ o the packet contains a Source Route Option, and
+
+ o the pointer in the Source Route Option points past the end of the
+ option,
+
+ then the message is addressed to the system analyzing the message.
+
+ A router MUST use the IP Destination Address, not the Ultimate
+ Destination Address (the last address in the source route option),
+ when determining how to handle a packet.
+
+ It is an error for more than one source route option to appear in a
+ datagram. If it receives such a datagram, it SHOULD discard the
+ packet and reply with an ICMP Parameter Problem message whose pointer
+ points at the beginning of the second source route option.
+
+5.2.4.2 Local/Remote Decision
+
+ After it has been determined that the IP packet needs to be forwarded
+ according to the rules specified in Section [5.2.3], the following
+ algorithm MUST be used to determine if the Immediate Destination is
+ directly accessible (see [INTERNET:2]).
+
+ (1) For each network interface that has not been assigned any IP
+ address (the unnumbered lines as described in Section [2.2.7]),
+ compare the router-id of the other end of the line to the IP
+ Destination Address. If they are exactly equal, the packet can
+ be transmitted through this interface.
+
+
+
+
+
+Baker Standards Track [Page 72]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ DISCUSSION
+ In other words, the router or host at the remote end of the line
+ is the destination of the packet or is the next step in the source
+ route of a source routed packet.
+
+ (2) If no network interface has been selected in the first step, for
+ each IP address assigned to the router:
+
+ (a) isolate the network prefix used by the interface.
+
+ IMPLEMENTATION
+ The result of this operation will usually have been computed and
+ saved during initialization.
+
+ (b) Isolate the corresponding set of bits from the IP Destination
+ Address of the packet.
+
+ (c) Compare the resulting network prefixes. If they are equal to
+ each other, the packet can be transmitted through the
+ corresponding network interface.
+
+ (3) If the destination was neither the router-id of a neighbor on an
+ unnumbered interface nor a member of a directly connected network
+ prefix, the IP Destination is accessible only through some other
+ router. The selection of the router and the next hop IP address
+ is described in Section [5.2.4.3]. In the case of a host that is
+ not also a router, this may be the configured default router.
+
+ Ongoing work in the IETF [ARCH:9, NRHP] considers some cases such as
+ when multiple IP (sub)networks are overlaid on the same link layer
+ network. Barring policy restrictions, hosts and routers using a
+ common link layer network can directly communicate even if they are
+ not in the same IP (sub)network, if there is adequate information
+ present. The Next Hop Routing Protocol (NHRP) enables IP entities to
+ determine the "optimal" link layer address to be used to traverse
+ such a link layer network towards a remote destination.
+
+ (4) If the selected "next hop" is reachable through an interface
+ configured to use NHRP, then the following additional steps apply:
+
+ (a) Compare the IP Destination Address to the destination addresses
+ in the NHRP cache. If the address is in the cache, then send
+ the datagram to the corresponding cached link layer address.
+ (b) If the address is not in the cache, then construct an NHRP
+ request packet containing the IP Destination Address. This
+ message is sent to the NHRP server configured for that
+ interface. This may be a logically separate process or entity
+ in the router itself.
+
+
+
+Baker Standards Track [Page 73]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ (c) The NHRP server will respond with the proper link layer address
+ to use to transmit the datagram and subsequent datagrams to the
+ same destination. The system MAY transmit the datagram(s) to
+ the traditional "next hop" router while awaiting the NHRP reply.
+
+5.2.4.3 Next Hop Address
+
+ EDITORS+COMMENTS
+ The router applies the algorithm in the previous section to
+ determine if the IP Destination Address is adjacent. If so, the
+ next hop address is the same as the IP Destination Address.
+ Otherwise, the packet must be forwarded through another router to
+ reach its Immediate Destination. The selection of this router is
+ the topic of this section.
+
+ If the packet contains an SSRR, the router MUST discard the packet
+ and reply with an ICMP Bad Source Route error. Otherwise, the
+ router looks up the IP Destination Address in its routing table to
+ determine an appropriate next hop address.
+
+ DISCUSSION
+ Per the IP specification, a Strict Source Route must specify a
+ sequence of nodes through which the packet must traverse; the
+ packet must go from one node of the source route to the next,
+ traversing intermediate networks only. Thus, if the router is not
+ adjacent to the next step of the source route, the source route
+ can not be fulfilled. Therefore, the router rejects such with an
+ ICMP Bad Source Route error.
+
+ The goal of the next-hop selection process is to examine the entries
+ in the router's Forwarding Information Base (FIB) and select the best
+ route (if there is one) for the packet from those available in the
+ FIB.
+
+ Conceptually, any route lookup algorithm starts out with a set of
+ candidate routes that consists of the entire contents of the FIB.
+ The algorithm consists of a series of steps that discard routes from
+ the set. These steps are referred to as Pruning Rules. Normally,
+ when the algorithm terminates there is exactly one route remaining in
+ the set. If the set ever becomes empty, the packet is discarded
+ because the destination is unreachable. It is also possible for the
+ algorithm to terminate when more than one route remains in the set.
+ In this case, the router may arbitrarily discard all but one of them,
+ or may perform "load-splitting" by choosing whichever of the routes
+ has been least recently used.
+
+ With the exception of rule 3 (Weak TOS), a router MUST use the
+ following Pruning Rules when selecting a next hop for a packet. If a
+
+
+
+Baker Standards Track [Page 74]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ router does consider TOS when making next-hop decisions, the Rule 3
+ must be applied in the order indicated below. These rules MUST be
+ (conceptually) applied to the FIB in the order that they are
+ presented. (For some historical perspective, additional pruning
+ rules, and other common algorithms in use, see Appendix E.)
+
+ DISCUSSION
+ Rule 3 is optional in that Section [5.3.2] says that a router only
+ SHOULD consider TOS when making forwarding decisions.
+
+
+ (1) Basic Match
+ This rule discards any routes to destinations other than the
+ IP Destination Address of the packet. For example, if a
+ packet's IP Destination Address is 10.144.2.5, this step
+ would discard a route to net 128.12.0.0/16 but would retain
+ any routes to the network prefixes 10.0.0.0/8 and
+ 10.144.0.0/16, and any default routes.
+
+ More precisely, we assume that each route has a destination
+ attribute, called route.dest and a corresponding prefix
+ length, called route.length, to specify which bits of
+ route.dest are significant. The IP Destination Address of
+ the packet being forwarded is ip.dest. This rule discards
+ all routes from the set of candidates except those for which
+ the most significant route.length bits of route.dest and
+ ip.dest are equal.
+
+ For example, if a packet's IP Destination Address is
+ 10.144.2.5 and there are network prefixes 10.144.1.0/24,
+ 10.144.2.0/24, and 10.144.3.0/24, this rule would keep only
+ 10.144.2.0/24; it is the only route whose prefix has the same
+ value as the corresponding bits in the IP Destination Address
+ of the packet.
+
+ (2) Longest Match
+ Longest Match is a refinement of Basic Match, described
+ above. After performing Basic Match pruning, the algorithm
+ examines the remaining routes to determine which among them
+ have the largest route.length values. All except these are
+ discarded.
+
+ For example, if a packet's IP Destination Address is
+ 10.144.2.5 and there are network prefixes 10.144.2.0/24,
+ 10.144.0.0/16, and 10.0.0.0/8, then this rule would keep only
+ the first (10.144.2.0/24) because its prefix length is
+ longest.
+
+
+
+
+Baker Standards Track [Page 75]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ (3) Weak TOS
+ Each route has a type of service attribute, called route.tos,
+ whose possible values are assumed to be identical to those
+ used in the TOS field of the IP header. Routing protocols
+ that distribute TOS information fill in route.tos
+ appropriately in routes they add to the FIB; routes from
+ other routing protocols are treated as if they have the
+ default TOS (0000). The TOS field in the IP header of the
+ packet being routed is called ip.tos.
+
+ The set of candidate routes is examined to determine if it
+ contains any routes for which route.tos = ip.tos. If so, all
+ routes except those for which route.tos = ip.tos are
+ discarded. If not, all routes except those for which
+ route.tos = 0000 are discarded from the set of candidate
+ routes.
+
+ Additional discussion of routing based on Weak TOS may be
+ found in [ROUTE:11].
+
+ DISCUSSION
+ The effect of this rule is to select only those routes that have a
+ TOS that matches the TOS requested in the packet. If no such
+ routes exist then routes with the default TOS are considered.
+ Routes with a non-default TOS that is not the TOS requested in the
+ packet are never used, even if such routes are the only available
+ routes that go to the packet's destination.
+
+ (4) Best Metric
+ Each route has a metric attribute, called route.metric, and a
+ routing domain identifier, called route.domain. Each member
+ of the set of candidate routes is compared with each other
+ member of the set. If route.domain is equal for the two
+ routes and route.metric is strictly inferior for one when
+ compared with the other, then the one with the inferior metric
+ is discarded from the set. The determination of inferior is
+ usually by a simple arithmetic comparison, though some
+ protocols may have structured metrics requiring more complex
+ comparisons.
+
+ (5) Vendor Policy
+ Vendor Policy is sort of a catch-all to make up for the fact
+ that the previously listed rules are often inadequate to
+ choose from the possible routes. Vendor Policy pruning rules
+ are extremely vendor-specific. See section [5.2.4.4].
+
+ This algorithm has two distinct disadvantages. Presumably, a
+ router implementor might develop techniques to deal with these
+
+
+
+Baker Standards Track [Page 76]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ disadvantages and make them a part of the Vendor Policy pruning
+ rule.
+
+ (1) IS-IS and OSPF route classes are not directly handled.
+
+ (2) Path properties other than type of service (e.g., MTU) are
+ ignored.
+
+ It is also worth noting a deficiency in the way that TOS is
+ supported: routing protocols that support TOS are implicitly
+ preferred when forwarding packets that have non-zero TOS values.
+
+ The Basic Match and Longest Match pruning rules generalize the
+ treatment of a number of particular types of routes. These routes
+ are selected in the following, decreasing, order of preference:
+
+ (1) Host Route: This is a route to a specific end system.
+
+ (2) Hierarchical Network Prefix Routes: This is a route to a
+ particular network prefix. Note that the FIB may contain
+ several routes to network prefixes that subsume each other
+ (one prefix is the other prefix with additional bits). These
+ are selected in order of decreasing prefix length.
+
+ (5) Default Route: This is a route to all networks for which there
+ are no explicit routes. It is by definition the route whose
+ prefix length is zero.
+
+ If, after application of the pruning rules, the set of routes is
+ empty (i.e., no routes were found), the packet MUST be discarded
+ and an appropriate ICMP error generated (ICMP Bad Source Route if
+ the IP Destination Address came from a source route option;
+ otherwise, whichever of ICMP Destination Host Unreachable or
+ Destination Network Unreachable is appropriate, as described in
+ Section [4.3.3.1]).
+
+5.2.4.4 Administrative Preference
+
+ One suggested mechanism for the Vendor Policy Pruning Rule is to
+ use administrative preference, which is a simple prioritization
+ algorithm. The idea is to manually prioritize the routes that one
+ might need to select among.
+
+ Each route has associated with it a preference value, based on
+ various attributes of the route (specific mechanisms for assignment
+ of preference values are suggested below). This preference value
+ is an integer in the range [0..255], with zero being the most
+ preferred and 254 being the least preferred. 255 is a special
+
+
+
+Baker Standards Track [Page 77]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ value that means that the route should never be used. The first
+ step in the Vendor Policy pruning rule discards all but the most
+ preferable routes (and always discards routes whose preference
+ value is 255).
+
+ This policy is not safe in that it can easily be misused to create
+ routing loops. Since no protocol ensures that the preferences
+ configured for a router is consistent with the preferences
+ configured in its neighbors, network managers must exercise care in
+ configuring preferences.
+
+ o Address Match
+ It is useful to be able to assign a single preference value to
+ all routes (learned from the same routing domain) to any of a
+ specified set of destinations, where the set of destinations is
+ all destinations that match a specified network prefix.
+
+ o Route Class
+ For routing protocols which maintain the distinction, it is
+ useful to be able to assign a single preference value to all
+ routes (learned from the same routing domain) which have a
+ particular route class (intra-area, inter-area, external with
+ internal metrics, or external with external metrics).
+
+ o Interface
+ It is useful to be able to assign a single preference value to
+ all routes (learned from a particular routing domain) that would
+ cause packets to be routed out a particular logical interface on
+ the router (logical interfaces generally map one-to-one onto the
+ router's network interfaces, except that any network interface
+ that has multiple IP addresses will have multiple logical
+ interfaces associated with it).
+
+ o Source router
+ It is useful to be able to assign a single preference value to
+ all routes (learned from the same routing domain) that were
+ learned from any of a set of routers, where the set of routers
+ are those whose updates have a source address that match a
+ specified network prefix.
+
+ o Originating AS
+ For routing protocols which provide the information, it is
+ useful to be able to assign a single preference value to all
+ routes (learned from a particular routing domain) which
+ originated in another particular routing domain. For BGP
+ routes, the originating AS is the first AS listed in the route's
+ AS_PATH attribute. For OSPF external routes, the originating AS
+ may be considered to be the low order 16 bits of the route's
+
+
+
+Baker Standards Track [Page 78]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ external route tag if the tag's Automatic bit is set and the
+ tag's Path Length is not equal to 3.
+
+ o External route tag
+ It is useful to be able to assign a single preference value to
+ all OSPF external routes (learned from the same routing domain)
+ whose external route tags match any of a list of specified
+ values. Because the external route tag may contain a structured
+ value, it may be useful to provide the ability to match
+ particular subfields of the tag.
+
+ o AS path
+ It may be useful to be able to assign a single preference value
+ to all BGP routes (learned from the same routing domain) whose
+ AS path "matches" any of a set of specified values. It is not
+ yet clear exactly what kinds of matches are most useful. A
+ simple option would be to allow matching of all routes for which
+ a particular AS number appears (or alternatively, does not
+ appear) anywhere in the route's AS_PATH attribute. A more
+ general but somewhat more difficult alternative would be to
+ allow matching all routes for which the AS path matches a
+ specified regular expression.
+
+5.2.4.5 Load Splitting
+
+ At the end of the Next-hop selection process, multiple routes may
+ still remain. A router has several options when this occurs. It
+ may arbitrarily discard some of the routes. It may reduce the
+ number of candidate routes by comparing metrics of routes from
+ routing domains that are not considered equivalent. It may retain
+ more than one route and employ a load-splitting mechanism to divide
+ traffic among them. Perhaps the only thing that can be said about
+ the relative merits of the options is that load-splitting is useful
+ in some situations but not in others, so a wise implementor who
+ implements load-splitting will also provide a way for the network
+ manager to disable it.
+
+5.2.5 Unused IP Header Bits: RFC-791 Section 3.1
+
+ The IP header contains several reserved bits, in the Type of
+ Service field and in the Flags field. Routers MUST NOT drop
+ packets merely because one or more of these reserved bits has a
+ non-zero value.
+
+ Routers MUST ignore and MUST pass through unchanged the values of
+ these reserved bits. If a router fragments a packet, it MUST copy
+ these bits into each fragment.
+
+
+
+
+Baker Standards Track [Page 79]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ DISCUSSION
+ Future revisions to the IP protocol may make use of these unused
+ bits. These rules are intended to ensure that these revisions can
+ be deployed without having to simultaneously upgrade all routers
+ in the Internet.
+
+5.2.6 Fragmentation and Reassembly: RFC-791 Section 3.2
+
+ As was discussed in Section [4.2.2.7], a router MUST support IP
+ fragmentation.
+
+ A router MUST NOT reassemble any datagram before forwarding it.
+
+ DISCUSSION
+ A few people have suggested that there might be some topologies
+ where reassembly of transit datagrams by routers might improve
+ performance. The fact that fragments may take different paths to
+ the destination precludes safe use of such a feature.
+
+ Nothing in this section should be construed to control or limit
+ fragmentation or reassembly performed as a link layer function by
+ the router.
+
+ Similarly, if an IP datagram is encapsulated in another IP
+ datagram (e.g., it is tunnelled), that datagram is in turn
+ fragmented, the fragments must be reassembled in order to forward
+ the original datagram. This section does not preclude this.
+
+5.2.7 Internet Control Message Protocol - ICMP
+
+ General requirements for ICMP were discussed in Section [4.3]. This
+ section discusses ICMP messages that are sent only by routers.
+
+5.2.7.1 Destination Unreachable
+
+ The ICMP Destination Unreachable message is sent by a router in
+ response to a packet which it cannot forward because the destination
+ (or next hop) is unreachable or a service is unavailable. Examples
+ of such cases include a message addressed to a host which is not
+ there and therefore does not respond to ARP requests, and messages
+ addressed to network prefixes for which the router has no valid
+ route.
+
+ A router MUST be able to generate ICMP Destination Unreachable
+ messages and SHOULD choose a response code that most closely matches
+ the reason the message is being generated.
+
+ The following codes are defined in [INTERNET:8] and [INTRO:2]:
+
+
+
+Baker Standards Track [Page 80]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ 0 = Network Unreachable - generated by a router if a forwarding path
+ (route) to the destination network is not available;
+
+ 1 = Host Unreachable - generated by a router if a forwarding path
+ (route) to the destination host on a directly connected network
+ is not available (does not respond to ARP);
+
+ 2 = Protocol Unreachable - generated if the transport protocol
+ designated in a datagram is not supported in the transport layer
+ of the final destination;
+
+ 3 = Port Unreachable - generated if the designated transport protocol
+ (e.g., UDP) is unable to demultiplex the datagram in the
+ transport layer of the final destination but has no protocol
+ mechanism to inform the sender;
+
+ 4 = Fragmentation Needed and DF Set - generated if a router needs to
+ fragment a datagram but cannot since the DF flag is set;
+
+ 5 = Source Route Failed - generated if a router cannot forward a
+ packet to the next hop in a source route option;
+
+ 6 = Destination Network Unknown - This code SHOULD NOT be generated
+ since it would imply on the part of the router that the
+ destination network does not exist (net unreachable code 0
+ SHOULD be used in place of code 6);
+
+ 7 = Destination Host Unknown - generated only when a router can
+ determine (from link layer advice) that the destination host
+ does not exist;
+
+ 11 = Network Unreachable For Type Of Service - generated by a router
+ if a forwarding path (route) to the destination network with the
+ requested or default TOS is not available;
+
+ 12 = Host Unreachable For Type Of Service - generated if a router
+ cannot forward a packet because its route(s) to the destination
+ do not match either the TOS requested in the datagram or the
+ default TOS (0).
+
+ The following additional codes are hereby defined:
+
+ 13 = Communication Administratively Prohibited - generated if a
+ router cannot forward a packet due to administrative filtering;
+
+ 14 = Host Precedence Violation. Sent by the first hop router to a
+ host to indicate that a requested precedence is not permitted
+ for the particular combination of source/destination host or
+
+
+
+Baker Standards Track [Page 81]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ network, upper layer protocol, and source/destination port;
+
+ 15 = Precedence cutoff in effect. The network operators have imposed
+ a minimum level of precedence required for operation, the
+ datagram was sent with a precedence below this level;
+
+ NOTE: [INTRO:2] defined Code 8 for source host isolated. Routers
+ SHOULD NOT generate Code 8; whichever of Codes 0 (Network
+ Unreachable) and 1 (Host Unreachable) is appropriate SHOULD be used
+ instead. [INTRO:2] also defined Code 9 for communication with
+ destination network administratively prohibited and Code 10 for
+ communication with destination host administratively prohibited.
+ These codes were intended for use by end-to-end encryption devices
+ used by U.S military agencies. Routers SHOULD use the newly defined
+ Code 13 (Communication Administratively Prohibited) if they
+ administratively filter packets.
+
+ Routers MAY have a configuration option that causes Code 13
+ (Communication Administratively Prohibited) messages not to be
+ generated. When this option is enabled, no ICMP error message is
+ sent in response to a packet that is dropped because its forwarding
+ is administratively prohibited.
+
+ Similarly, routers MAY have a configuration option that causes Code
+ 14 (Host Precedence Violation) and Code 15 (Precedence Cutoff in
+ Effect) messages not to be generated. When this option is enabled,
+ no ICMP error message is sent in response to a packet that is dropped
+ because of a precedence violation.
+
+ Routers MUST use Host Unreachable or Destination Host Unknown codes
+ whenever other hosts on the same destination network might be
+ reachable; otherwise, the source host may erroneously conclude that
+ all hosts on the network are unreachable, and that may not be the
+ case.
+
+ [INTERNET:14] describes a slight modification the form of Destination
+ Unreachable messages containing Code 4 (Fragmentation needed and DF
+ set). A router MUST use this modified form when originating Code 4
+ Destination Unreachable messages.
+
+5.2.7.2 Redirect
+
+ The ICMP Redirect message is generated to inform a local host the it
+ should use a different next hop router for a certain class of
+ traffic.
+
+ Routers MUST NOT generate the Redirect for Network or Redirect for
+ Network and Type of Service messages (Codes 0 and 2) specified in
+
+
+
+Baker Standards Track [Page 82]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ [INTERNET:8]. Routers MUST be able to generate the Redirect for Host
+ message (Code 1) and SHOULD be able to generate the Redirect for Type
+ of Service and Host message (Code 3) specified in [INTERNET:8].
+
+ DISCUSSION
+ If the directly connected network is not subnetted (in the
+ classical sense), a router can normally generate a network
+ Redirect that applies to all hosts on a specified remote network.
+ Using a network rather than a host Redirect may economize slightly
+ on network traffic and on host routing table storage. However,
+ the savings are not significant, and subnets create an ambiguity
+ about the subnet mask to be used to interpret a network Redirect.
+ In a CIDR environment, it is difficult to specify precisely the
+ cases in which network Redirects can be used. Therefore, routers
+ must send only host (or host and type of service) Redirects.
+
+ A Code 3 (Redirect for Host and Type of Service) message is generated
+ when the packet provoking the redirect has a destination for which
+ the path chosen by the router would depend (in part) on the TOS
+ requested.
+
+ Routers that can generate Code 3 redirects (Host and Type of Service)
+ MUST have a configuration option (which defaults to on) to enable
+ Code 1 (Host) redirects to be substituted for Code 3 redirects. A
+ router MUST send a Code 1 Redirect in place of a Code 3 Redirect if
+ it has been configured to do so.
+
+ If a router is not able to generate Code 3 Redirects then it MUST
+ generate Code 1 Redirects in situations where a Code 3 Redirect is
+ called for.
+
+ Routers MUST NOT generate a Redirect Message unless all the following
+ conditions are met:
+
+ o The packet is being forwarded out the same physical interface that
+ it was received from,
+
+ o The IP source address in the packet is on the same Logical IP
+ (sub)network as the next-hop IP address, and
+
+ o The packet does not contain an IP source route option.
+
+ The source address used in the ICMP Redirect MUST belong to the same
+ logical (sub)net as the destination address.
+
+ A router using a routing protocol (other than static routes) MUST NOT
+ consider paths learned from ICMP Redirects when forwarding a packet.
+ If a router is not using a routing protocol, a router MAY have a
+
+
+
+Baker Standards Track [Page 83]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ configuration that, if set, allows the router to consider routes
+ learned through ICMP Redirects when forwarding packets.
+
+ DISCUSSION
+ ICMP Redirect is a mechanism for routers to convey routing
+ information to hosts. Routers use other mechanisms to learn
+ routing information, and therefore have no reason to obey
+ redirects. Believing a redirect which contradicted the router's
+ other information would likely create routing loops.
+
+ On the other hand, when a router is not acting as a router, it
+ MUST comply with the behavior required of a host.
+
+5.2.7.3 Time Exceeded
+
+ A router MUST generate a Time Exceeded message Code 0 (In Transit)
+ when it discards a packet due to an expired TTL field. A router MAY
+ have a per-interface option to disable origination of these messages
+ on that interface, but that option MUST default to allowing the
+ messages to be originated.
+
+5.2.8 INTERNET GROUP MANAGEMENT PROTOCOL - IGMP
+
+ IGMP [INTERNET:4] is a protocol used between hosts and multicast
+ routers on a single physical network to establish hosts' membership
+ in particular multicast groups. Multicast routers use this
+ information, in conjunction with a multicast routing protocol, to
+ support IP multicast forwarding across the Internet.
+
+ A router SHOULD implement the multicast router part of IGMP.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Baker Standards Track [Page 84]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+5.3 SPECIFIC ISSUES
+
+5.3.1 Time to Live (TTL)
+
+ The Time-to-Live (TTL) field of the IP header is defined to be a
+ timer limiting the lifetime of a datagram. It is an 8-bit field and
+ the units are seconds. Each router (or other module) that handles a
+ packet MUST decrement the TTL by at least one, even if the elapsed
+ time was much less than a second. Since this is very often the case,
+ the TTL is effectively a hop count limit on how far a datagram can
+ propagate through the Internet.
+
+ When a router forwards a packet, it MUST reduce the TTL by at least
+ one. If it holds a packet for more than one second, it MAY decrement
+ the TTL by one for each second.
+
+ If the TTL is reduced to zero (or less), the packet MUST be
+ discarded, and if the destination is not a multicast address the
+ router MUST send an ICMP Time Exceeded message, Code 0 (TTL Exceeded
+ in Transit) message to the source. Note that a router MUST NOT
+ discard an IP unicast or broadcast packet with a non-zero TTL merely
+ because it can predict that another router on the path to the
+ packet's final destination will decrement the TTL to zero. However,
+ a router MAY do so for IP multicasts, in order to more efficiently
+ implement IP multicast's expanding ring search algorithm (see
+ [INTERNET:4]).
+
+ DISCUSSION
+ The IP TTL is used, somewhat schizophrenically, as both a hop
+ count limit and a time limit. Its hop count function is critical
+ to ensuring that routing problems can't melt down the network by
+ causing packets to loop infinitely in the network. The time limit
+ function is used by transport protocols such as TCP to ensure
+ reliable data transfer. Many current implementations treat TTL as
+ a pure hop count, and in parts of the Internet community there is
+ a strong sentiment that the time limit function should instead be
+ performed by the transport protocols that need it.
+
+ In this specification, we have reluctantly decided to follow the
+ strong belief among the router vendors that the time limit
+ function should be optional. They argued that implementation of
+ the time limit function is difficult enough that it is currently
+ not generally done. They further pointed to the lack of
+ documented cases where this shortcut has caused TCP to corrupt
+ data (of course, we would expect the problems created to be rare
+ and difficult to reproduce, so the lack of documented cases
+ provides little reassurance that there haven't been a number of
+ undocumented cases).
+
+
+
+Baker Standards Track [Page 85]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ IP multicast notions such as the expanding ring search may not
+ work as expected unless the TTL is treated as a pure hop count.
+ The same thing is somewhat true of traceroute.
+
+ ICMP Time Exceeded messages are required because the traceroute
+ diagnostic tool depends on them.
+
+ Thus, the tradeoff is between severely crippling, if not
+ eliminating, two very useful tools and avoiding a very rare and
+ transient data transport problem that may not occur at all. We
+ have chosen to preserve the tools.
+
+5.3.2 Type of Service (TOS)
+
+ The Type-of-Service byte in the IP header is divided into three
+ sections: the Precedence field (high-order 3 bits), a field that
+ is customarily called Type of Service or "TOS (next 4 bits), and a
+ reserved bit (the low order bit). Rules governing the reserved
+ bit were described in Section [4.2.2.3]. The Precedence field
+ will be discussed in Section [5.3.3]. A more extensive discussion
+ of the TOS field and its use can be found in [ROUTE:11].
+
+ A router SHOULD consider the TOS field in a packet's IP header
+ when deciding how to forward it. The remainder of this section
+ describes the rules that apply to routers that conform to this
+ requirement.
+
+ A router MUST maintain a TOS value for each route in its routing
+ table. Routes learned through a routing protocol that does not
+ support TOS MUST be assigned a TOS of zero (the default TOS).
+
+ To choose a route to a destination, a router MUST use an algorithm
+ equivalent to the following:
+
+ (1) The router locates in its routing table all available routes
+ to the destination (see Section [5.2.4]).
+
+ (2) If there are none, the router drops the packet because the
+ destination is unreachable. See section [5.2.4].
+
+ (3) If one or more of those routes have a TOS that exactly matches
+ the TOS specified in the packet, the router chooses the route
+ with the best metric.
+
+ (4) Otherwise, the router repeats the above step, except looking
+ at routes whose TOS is zero.
+
+
+
+
+
+Baker Standards Track [Page 86]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ (5) If no route was chosen above, the router drops the packet
+ because the destination is unreachable. The router returns
+ an ICMP Destination Unreachable error specifying the
+ appropriate code: either Network Unreachable with Type of
+ Service (code 11) or Host Unreachable with Type of Service
+ (code 12).
+
+ DISCUSSION
+ Although TOS has been little used in the past, its use by hosts is
+ now mandated by the Requirements for Internet Hosts RFCs
+ ([INTRO:2] and [INTRO:3]). Support for TOS in routers may become
+ a MUST in the future, but is a SHOULD for now until we get more
+ experience with it and can better judge both its benefits and its
+ costs.
+
+ Various people have proposed that TOS should affect other aspects
+ of the forwarding function. For example:
+
+ (1) A router could place packets that have the Low Delay bit set
+ ahead of other packets in its output queues.
+
+ (2) a router is forced to discard packets, it could try to avoid
+ discarding those which have the High Reliability bit set.
+
+ These ideas have been explored in more detail in [INTERNET:17] but
+ we don't yet have enough experience with such schemes to make
+ requirements in this area.
+
+5.3.3 IP Precedence
+
+ This section specifies requirements and guidelines for appropriate
+ processing of the IP Precedence field in routers. Precedence is a
+ scheme for allocating resources in the network based on the
+ relative importance of different traffic flows. The IP
+ specification defines specific values to be used in this field for
+ various types of traffic.
+
+ The basic mechanisms for precedence processing in a router are
+ preferential resource allocation, including both precedence-
+ ordered queue service and precedence-based congestion control, and
+ selection of Link Layer priority features. The router also
+ selects the IP precedence for routing, management and control
+ traffic it originates. For a more extensive discussion of IP
+ Precedence and its implementation see [FORWARD:6].
+
+ Precedence-ordered queue service, as discussed in this section,
+ includes but is not limited to the queue for the forwarding
+ process and queues for outgoing links. It is intended that a
+
+
+
+Baker Standards Track [Page 87]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ router supporting precedence should also use the precedence
+ indication at whatever points in its processing are concerned with
+ allocation of finite resources, such as packet buffers or Link
+ Layer connections. The set of such points is implementation-
+ dependent.
+
+ DISCUSSION
+ Although the Precedence field was originally provided for use in
+ DOD systems where large traffic surges or major damage to the
+ network are viewed as inherent threats, it has useful applications
+ for many non-military IP networks. Although the traffic handling
+ capacity of networks has grown greatly in recent years, the
+ traffic generating ability of the users has also grown, and
+ network overload conditions still occur at times. Since IP-based
+ routing and management protocols have become more critical to the
+ successful operation of the Internet, overloads present two
+ additional risks to the network:
+
+ (1) High delays may result in routing protocol packets being lost.
+ This may cause the routing protocol to falsely deduce a
+ topology change and propagate this false information to other
+ routers. Not only can this cause routes to oscillate, but an
+ extra processing burden may be placed on other routers.
+
+ (2) High delays may interfere with the use of network management
+ tools to analyze and perhaps correct or relieve the problem
+ in the network that caused the overload condition to occur.
+
+ Implementation and appropriate use of the Precedence mechanism
+ alleviates both of these problems.
+
+5.3.3.1 Precedence-Ordered Queue Service
+
+ Routers SHOULD implement precedence-ordered queue service.
+ Precedence-ordered queue service means that when a packet is selected
+ for output on a (logical) link, the packet of highest precedence that
+ has been queued for that link is sent. Routers that implement
+ precedence-ordered queue service MUST also have a configuration
+ option to suppress precedence-ordered queue service in the Internet
+ Layer.
+
+ Any router MAY implement other policy-based throughput management
+ procedures that result in other than strict precedence ordering, but
+ it MUST be configurable to suppress them (i.e., use strict ordering).
+
+ As detailed in Section [5.3.6], routers that implement precedence-
+ ordered queue service discard low precedence packets before
+ discarding high precedence packets for congestion control purposes.
+
+
+
+Baker Standards Track [Page 88]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ Preemption (interruption of processing or transmission of a packet)
+ is not envisioned as a function of the Internet Layer. Some
+ protocols at other layers may provide preemption features.
+
+5.3.3.2 Lower Layer Precedence Mappings
+
+ Routers that implement precedence-ordered queuing MUST IMPLEMENT, and
+ other routers SHOULD IMPLEMENT, Lower Layer Precedence Mapping.
+
+ A router that implements Lower Layer Precedence Mapping:
+
+ o MUST be able to map IP Precedence to Link Layer priority mechanisms
+ for link layers that have such a feature defined.
+
+ o MUST have a configuration option to select the Link Layer's default
+ priority treatment for all IP traffic
+
+ o SHOULD be able to configure specific nonstandard mappings of IP
+ precedence values to Link Layer priority values for each
+ interface.
+
+ DISCUSSION
+ Some research questions the workability of the priority features
+ of some Link Layer protocols, and some networks may have faulty
+ implementations of the link layer priority mechanism. It seems
+ prudent to provide an escape mechanism in case such problems show
+ up in a network.
+
+ On the other hand, there are proposals to use novel queuing
+ strategies to implement special services such as multimedia
+ bandwidth reservation or low-delay service. Special services and
+ queuing strategies to support them are current research subjects
+ and are in the process of standardization.
+
+ Implementors may wish to consider that correct link layer mapping
+ of IP precedence is required by DOD policy for TCP/IP systems used
+ on DOD networks. Since these requirements are intended to
+ encourage (but not force) the use of precedence features in the
+ hope of providing better Internet service to all users, routers
+ supporting precedence-ordered queue service should default to
+ maintaining strict precedence ordering regardless of the type of
+ service requested.
+
+
+
+
+
+
+
+
+
+Baker Standards Track [Page 89]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+5.3.3.3 Precedence Handling For All Routers
+
+ A router (whether or not it employs precedence-ordered queue
+ service):
+
+ (1) MUST accept and process incoming traffic of all precedence levels
+ normally, unless it has been administratively configured to do
+ otherwise.
+
+ (2) MAY implement a validation filter to administratively restrict
+ the use of precedence levels by particular traffic sources. If
+ provided, this filter MUST NOT filter out or cut off the
+ following sorts of ICMP error messages: Destination Unreachable,
+ Redirect, Time Exceeded, and Parameter Problem. If this filter
+ is provided, the procedures required for packet filtering by
+ addresses are required for this filter also.
+
+ DISCUSSION
+ Precedence filtering should be applicable to specific
+ source/destination IP Address pairs, specific protocols, specific
+ ports, and so on.
+
+ An ICMP Destination Unreachable message with code 14 SHOULD be sent
+ when a packet is dropped by the validation filter, unless this has
+ been suppressed by configuration choice.
+
+ (3) MAY implement a cutoff function that allows the router to be set
+ to refuse or drop traffic with precedence below a specified
+ level. This function may be activated by management actions or
+ by some implementation dependent heuristics, but there MUST be a
+ configuration option to disable any heuristic mechanism that
+ operates without human intervention. An ICMP Destination
+ Unreachable message with code 15 SHOULD be sent when a packet is
+ dropped by the cutoff function, unless this has been suppressed
+ by configuration choice.
+
+ A router MUST NOT refuse to forward datagrams with IP precedence
+ of 6 (Internetwork Control) or 7 (Network Control) solely due to
+ precedence cutoff. However, other criteria may be used in
+ conjunction with precedence cutoff to filter high precedence
+ traffic.
+
+ DISCUSSION
+ Unrestricted precedence cutoff could result in an unintentional
+ cutoff of routing and control traffic. In the general case, host
+ traffic should be restricted to a value of 5 (CRITIC/ECP) or
+ below; this is not a requirement and may not be correct in certain
+ systems.
+
+
+
+Baker Standards Track [Page 90]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ (4) MUST NOT change precedence settings on packets it did not
+ originate.
+
+ (5) SHOULD be able to configure distinct precedence values to be used
+ for each routing or management protocol supported (except for
+ those protocols, such as OSPF, which specify which precedence
+ value must be used).
+
+ (6) MAY be able to configure routing or management traffic precedence
+ values independently for each peer address.
+
+ (7) MUST respond appropriately to Link Layer precedence-related error
+ indications where provided. An ICMP Destination Unreachable
+ message with code 15 SHOULD be sent when a packet is dropped
+ because a link cannot accept it due to a precedence-related
+ condition, unless this has been suppressed by configuration
+ choice.
+
+ DISCUSSION
+ The precedence cutoff mechanism described in (3) is somewhat
+ controversial. Depending on the topological location of the area
+ affected by the cutoff, transit traffic may be directed by routing
+ protocols into the area of the cutoff, where it will be dropped.
+ This is only a problem if another path that is unaffected by the
+ cutoff exists between the communicating points. Proposed ways of
+ avoiding this problem include providing some minimum bandwidth to
+ all precedence levels even under overload conditions, or
+ propagating cutoff information in routing protocols. In the
+ absence of a widely accepted (and implemented) solution to this
+ problem, great caution is recommended in activating cutoff
+ mechanisms in transit networks.
+
+ A transport layer relay could legitimately provide the function
+ prohibited by (4) above. Changing precedence levels may cause
+ subtle interactions with TCP and perhaps other protocols; a
+ correct design is a non-trivial task.
+
+ The intent of (5) and (6) (and the discussion of IP Precedence in
+ ICMP messages in Section [4.3.2]) is that the IP precedence bits
+ should be appropriately set, whether or not this router acts upon
+ those bits in any other way. We expect that in the future
+ specifications for routing protocols and network management
+ protocols will specify how the IP Precedence should be set for
+ messages sent by those protocols.
+
+ The appropriate response for (7) depends on the link layer
+ protocol in use. Typically, the router should stop trying to send
+ offensive traffic to that destination for some period of time, and
+
+
+
+Baker Standards Track [Page 91]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ should return an ICMP Destination Unreachable message with code 15
+ (service not available for precedence requested) to the traffic
+ source. It also should not try to reestablish a preempted Link
+ Layer connection for some time.
+
+5.3.4 Forwarding of Link Layer Broadcasts
+
+ The encapsulation of IP packets in most Link Layer protocols (except
+ PPP) allows a receiver to distinguish broadcasts and multicasts from
+ unicasts simply by examining the Link Layer protocol headers (most
+ commonly, the Link Layer destination address). The rules in this
+ section that refer to Link Layer broadcasts apply only to Link Layer
+ protocols that allow broadcasts to be distinguished; likewise, the
+ rules that refer to Link Layer multicasts apply only to Link Layer
+ protocols that allow multicasts to be distinguished.
+
+ A router MUST NOT forward any packet that the router received as a
+ Link Layer broadcast, unless it is directed to an IP Multicast
+ address. In this latter case, one would presume that link layer
+ broadcast was used due to the lack of an effective multicast service.
+
+ A router MUST NOT forward any packet which the router received as a
+ Link Layer multicast unless the packet's destination address is an IP
+ multicast address.
+
+ A router SHOULD silently discard a packet that is received via a Link
+ Layer broadcast but does not specify an IP multicast or IP broadcast
+ destination address.
+
+ When a router sends a packet as a Link Layer broadcast, the IP
+ destination address MUST be a legal IP broadcast or IP multicast
+ address.
+
+5.3.5 Forwarding of Internet Layer Broadcasts
+
+ There are two major types of IP broadcast addresses; limited
+ broadcast and directed broadcast. In addition, there are three
+ subtypes of directed broadcast: a broadcast directed to a specified
+ network prefix, a broadcast directed to a specified subnetwork, and a
+ broadcast directed to all subnets of a specified network.
+ Classification by a router of a broadcast into one of these
+ categories depends on the broadcast address and on the router's
+ understanding (if any) of the subnet structure of the destination
+ network. The same broadcast will be classified differently by
+ different routers.
+
+ A limited IP broadcast address is defined to be all-ones: { -1, -1 }
+ or 255.255.255.255.
+
+
+
+Baker Standards Track [Page 92]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ A network-prefix-directed broadcast is composed of the network prefix
+ of the IP address with a local part of all-ones or { <Network-
+ prefix>, -1 }. For example, a Class A net broadcast address is
+ net.255.255.255, a Class B net broadcast address is net.net.255.255
+ and a Class C net broadcast address is net.net.net.255 where net is a
+ byte of the network address.
+
+ The all-subnets-directed-broadcast is not well defined in a CIDR
+ environment, and was deprecated in version 1 of this memo.
+
+ As was described in Section [4.2.3.1], a router may encounter certain
+ non-standard IP broadcast addresses:
+
+ o 0.0.0.0 is an obsolete form of the limited broadcast address
+
+ o { <Network-prefix>, 0 } is an obsolete form of a network-prefix-
+ directed broadcast address.
+
+ As was described in that section, packets addressed to any of these
+ addresses SHOULD be silently discarded, but if they are not, they
+ MUST be treated according to the same rules that apply to packets
+ addressed to the non-obsolete forms of the broadcast addresses
+ described above. These rules are described in the next few sections.
+
+5.3.5.1 Limited Broadcasts
+
+ Limited broadcasts MUST NOT be forwarded. Limited broadcasts MUST
+ NOT be discarded. Limited broadcasts MAY be sent and SHOULD be sent
+ instead of directed broadcasts where limited broadcasts will suffice.
+
+ DISCUSSION
+ Some routers contain UDP servers which function by resending the
+ requests (as unicasts or directed broadcasts) to other servers.
+ This requirement should not be interpreted as prohibiting such
+ servers. Note, however, that such servers can easily cause packet
+ looping if misconfigured. Thus, providers of such servers would
+ probably be well advised to document their setup carefully and to
+ consider carefully the TTL on packets that are sent.
+
+5.3.5.2 Directed Broadcasts
+
+ A router MUST classify as network-prefix-directed broadcasts all
+ valid, directed broadcasts destined for a remote network or an
+ attached nonsubnetted network. Note that in view of CIDR, such
+ appear to be host addresses within the network prefix; we preclude
+ inspection of the host part of such network prefixes. Given a route
+ and no overriding policy, then, a router MUST forward network-
+ prefix-directed broadcasts. Network-Prefix-Directed broadcasts MAY
+
+
+
+Baker Standards Track [Page 93]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ be sent.
+
+ A router MAY have an option to disable receiving network-prefix-
+ directed broadcasts on an interface and MUST have an option to
+ disable forwarding network-prefix-directed broadcasts. These options
+ MUST default to permit receiving and forwarding network-prefix-
+ directed broadcasts.
+
+ DISCUSSION
+ There has been some debate about forwarding or not forwarding
+ directed broadcasts. In this memo we have made the forwarding
+ decision depend on the router's knowledge of the destination
+ network prefix. Routers cannot determine that a message is
+ unicast or directed broadcast apart from this knowledge. The
+ decision to forward or not forward the message is by definition
+ only possible in the last hop router.
+
+5.3.5.3 All-subnets-directed Broadcasts
+
+ The first version of this memo described an algorithm for
+ distributing a directed broadcast to all the subnets of a classical
+ network number. This algorithm was stated to be "broken," and
+ certain failure cases were specified.
+
+ In a CIDR routing domain, wherein classical IP network numbers are
+ meaningless, the concept of an all-subnets-directed-broadcast is also
+ meaningless. To the knowledge of the working group, the facility was
+ never implemented or deployed, and is now relegated to the dustbin of
+ history.
+
+5.3.5.4 Subnet-directed Broadcasts
+
+ The first version of this memo spelled out procedures for dealing
+ with subnet-directed-broadcasts. In a CIDR routing domain, these are
+ indistinguishable from net-drected-broadcasts. The two are therefore
+ treated together in section [5.3.5.2 Directed Broadcasts], and should
+ be viewed as network-prefix directed broadcasts.
+
+5.3.6 Congestion Control
+
+ Congestion in a network is loosely defined as a condition where
+ demand for resources (usually bandwidth or CPU time) exceeds
+ capacity. Congestion avoidance tries to prevent demand from
+ exceeding capacity, while congestion recovery tries to restore an
+ operative state. It is possible for a router to contribute to both
+ of these mechanisms. A great deal of effort has been spent studying
+ the problem. The reader is encouraged to read [FORWARD:2] for a
+ survey of the work. Important papers on the subject include
+
+
+
+Baker Standards Track [Page 94]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ [FORWARD:3], [FORWARD:4], [FORWARD:5], [FORWARD:10], [FORWARD:11],
+ [FORWARD:12], [FORWARD:13], [FORWARD:14], and [INTERNET:10], among
+ others.
+
+ The amount of storage that router should have available to handle
+ peak instantaneous demand when hosts use reasonable congestion
+ policies, such as described in [FORWARD:5], is a function of the
+ product of the bandwidth of the link times the path delay of the
+ flows using the link, and therefore storage should increase as this
+ Bandwidth*Delay product increases. The exact function relating
+ storage capacity to probability of discard is not known.
+
+ When a router receives a packet beyond its storage capacity it must
+ (by definition, not by decree) discard it or some other packet or
+ packets. Which packet to discard is the subject of much study but,
+ unfortunately, little agreement so far. The best wisdom to date
+ suggests discarding a packet from the data stream most heavily using
+ the link. However, a number of additional factors may be relevant,
+ including the precedence of the traffic, active bandwidth
+ reservation, and the complexity associated with selecting that
+ packet.
+
+ A router MAY discard the packet it has just received; this is the
+ simplest but not the best policy. Ideally, the router should select
+ a packet from one of the sessions most heavily abusing the link,
+ given that the applicable Quality of Service policy permits this. A
+ recommended policy in datagram environments using FIFO queues is to
+ discard a packet randomly selected from the queue (see [FORWARD:5]).
+ An equivalent algorithm in routers using fair queues is to discard
+ from the longest queue or that using the greatest virtual time (see
+ [FORWARD:13]). A router MAY use these algorithms to determine which
+ packet to discard.
+
+ If a router implements a discard policy (such as Random Drop) under
+ which it chooses a packet to discard from a pool of eligible packets:
+
+ o If precedence-ordered queue service (described in Section
+ [5.3.3.1]) is implemented and enabled, the router MUST NOT discard
+ a packet whose IP precedence is higher than that of a packet that
+ is not discarded.
+
+ o A router MAY protect packets whose IP headers request the maximize
+ reliability TOS, except where doing so would be in violation of
+ the previous rule.
+
+ o A router MAY protect fragmented IP packets, on the theory that
+ dropping a fragment of a datagram may increase congestion by
+ causing all fragments of the datagram to be retransmitted by the
+
+
+
+Baker Standards Track [Page 95]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ source.
+
+ o To help prevent routing perturbations or disruption of management
+ functions, the router MAY protect packets used for routing
+ control, link control, or network management from being discarded.
+ Dedicated routers (i.e., routers that are not also general purpose
+ hosts, terminal servers, etc.) can achieve an approximation of
+ this rule by protecting packets whose source or destination is the
+ router itself.
+
+ Advanced methods of congestion control include a notion of fairness,
+ so that the 'user' that is penalized by losing a packet is the one
+ that contributed the most to the congestion. No matter what
+ mechanism is implemented to deal with bandwidth congestion control,
+ it is important that the CPU effort expended be sufficiently small
+ that the router is not driven into CPU congestion also.
+
+ As described in Section [4.3.3.3], this document recommends that a
+ router SHOULD NOT send a Source Quench to the sender of the packet
+ that it is discarding. ICMP Source Quench is a very weak mechanism,
+ so it is not necessary for a router to send it, and host software
+ should not use it exclusively as an indicator of congestion.
+
+5.3.7 Martian Address Filtering
+
+ An IP source address is invalid if it is a special IP address, as
+ defined in 4.2.2.11 or 5.3.7, or is not a unicast address.
+
+ An IP destination address is invalid if it is among those defined as
+ illegal destinations in 4.2.3.1, or is a Class E address (except
+ 255.255.255.255).
+
+ A router SHOULD NOT forward any packet that has an invalid IP source
+ address or a source address on network 0. A router SHOULD NOT
+ forward, except over a loopback interface, any packet that has a
+ source address on network 127. A router MAY have a switch that
+ allows the network manager to disable these checks. If such a switch
+ is provided, it MUST default to performing the checks.
+
+ A router SHOULD NOT forward any packet that has an invalid IP
+ destination address or a destination address on network 0. A router
+ SHOULD NOT forward, except over a loopback interface, any packet that
+ has a destination address on network 127. A router MAY have a switch
+ that allows the network manager to disable these checks. If such a
+ switch is provided, it MUST default to performing the checks.
+
+ If a router discards a packet because of these rules, it SHOULD log
+ at least the IP source address, the IP destination address, and, if
+
+
+
+Baker Standards Track [Page 96]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ the problem was with the source address, the physical interface on
+ which the packet was received and the Link Layer address of the host
+ or router from which the packet was received.
+
+5.3.8 Source Address Validation
+
+ A router SHOULD IMPLEMENT the ability to filter traffic based on a
+ comparison of the source address of a packet and the forwarding table
+ for a logical interface on which the packet was received. If this
+ filtering is enabled, the router MUST silently discard a packet if
+ the interface on which the packet was received is not the interface
+ on which a packet would be forwarded to reach the address contained
+ in the source address. In simpler terms, if a router wouldn't route
+ a packet containing this address through a particular interface, it
+ shouldn't believe the address if it appears as a source address in a
+ packet read from this interface.
+
+ If this feature is implemented, it MUST be disabled by default.
+
+ DISCUSSION
+ This feature can provide useful security improvements in some
+ situations, but can erroneously discard valid packets in
+ situations where paths are asymmetric.
+
+5.3.9 Packet Filtering and Access Lists
+
+ As a means of providing security and/or limiting traffic through
+ portions of a network a router SHOULD provide the ability to
+ selectively forward (or filter) packets. If this capability is
+ provided, filtering of packets SHOULD be configurable either to
+ forward all packets or to selectively forward them based upon the
+ source and destination prefixes, and MAY filter on other message
+ attributes. Each source and destination address SHOULD allow
+ specification of an arbitrary prefix length.
+
+ DISCUSSION
+ This feature can provide a measure of privacy, where systems
+ outside a boundary are not permitted to exchange certain protocols
+ with systems inside the boundary, or are limited as to which
+ systems they may communicate with. It can also help prevent
+ certain classes of security breach, wherein a system outside a
+ boundary masquerades as a system inside the boundary and mimics a
+ session with it.
+
+ If supported, a router SHOULD be configurable to allow one of an
+
+ o Include list - specification of a list of message definitions to be
+ forwarded, or an
+
+
+
+Baker Standards Track [Page 97]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ o Exclude list - specification of a list of message definitions NOT
+ to be forwarded.
+
+ A "message definition", in this context, specifies the source and
+ destination network prefix, and may include other identifying
+ information such as IP Protocol Type or TCP port number.
+
+ A router MAY provide a configuration switch that allows a choice
+ between specifying an include or an exclude list, or other equivalent
+ controls.
+
+ A value matching any address (e.g., a keyword any, an address with a
+ mask of all 0's, or a network prefix whose length is zero) MUST be
+ allowed as a source and/or destination address.
+
+ In addition to address pairs, the router MAY allow any combination of
+ transport and/or application protocol and source and destination
+ ports to be specified.
+
+ The router MUST allow packets to be silently discarded (i.e.,
+ discarded without an ICMP error message being sent).
+
+ The router SHOULD allow an appropriate ICMP unreachable message to be
+ sent when a packet is discarded. The ICMP message SHOULD specify
+ Communication Administratively Prohibited (code 13) as the reason for
+ the destination being unreachable.
+
+ The router SHOULD allow the sending of ICMP destination unreachable
+ messages (code 13) to be configured for each combination of address
+ pairs, protocol types, and ports it allows to be specified.
+
+ The router SHOULD count and SHOULD allow selective logging of packets
+ not forwarded.
+
+5.3.10 Multicast Routing
+
+ An IP router SHOULD support forwarding of IP multicast packets, based
+ either on static multicast routes or on routes dynamically determined
+ by a multicast routing protocol (e.g., DVMRP [ROUTE:9]). A router
+ that forwards IP multicast packets is called a multicast router.
+
+5.3.11 Controls on Forwarding
+
+ For each physical interface, a router SHOULD have a configuration
+ option that specifies whether forwarding is enabled on that
+ interface. When forwarding on an interface is disabled, the router:
+
+
+
+
+
+Baker Standards Track [Page 98]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ o MUST silently discard any packets which are received on that
+ interface but are not addressed to the router
+
+ o MUST NOT send packets out that interface, except for datagrams
+ originated by the router
+
+ o MUST NOT announce via any routing protocols the availability of
+ paths through the interface
+
+ DISCUSSION
+ This feature allows the network manager to essentially turn off an
+ interface but leaves it accessible for network management.
+
+ Ideally, this control would apply to logical rather than physical
+ interfaces. It cannot, because there is no known way for a router
+ to determine which logical interface a packet arrived absent a
+ one-to-one correspondence between logical and physical interfaces.
+
+5.3.12 State Changes
+
+ During router operation, interfaces may fail or be manually disabled,
+ or may become available for use by the router. Similarly, forwarding
+ may be disabled for a particular interface or for the entire router
+ or may be (re)enabled. While such transitions are (usually)
+ uncommon, it is important that routers handle them correctly.
+
+5.3.12.1 When a Router Ceases Forwarding
+
+ When a router ceases forwarding it MUST stop advertising all routes,
+ except for third party routes. It MAY continue to receive and use
+ routes from other routers in its routing domains. If the forwarding
+ database is retained, the router MUST NOT cease timing the routes in
+ the forwarding database. If routes that have been received from
+ other routers are remembered, the router MUST NOT cease timing the
+ routes that it has remembered. It MUST discard any routes whose
+ timers expire while forwarding is disabled, just as it would do if
+ forwarding were enabled.
+
+ DISCUSSION
+ When a router ceases forwarding, it essentially ceases being a
+ router. It is still a host, and must follow all of the
+ requirements of Host Requirements [INTRO:2]. The router may still
+ be a passive member of one or more routing domains, however. As
+ such, it is allowed to maintain its forwarding database by
+ listening to other routers in its routing domain. It may not,
+ however, advertise any of the routes in its forwarding database,
+ since it itself is doing no forwarding. The only exception to
+ this rule is when the router is advertising a route that uses only
+
+
+
+Baker Standards Track [Page 99]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ some other router, but which this router has been asked to
+ advertise.
+
+ A router MAY send ICMP destination unreachable (host unreachable)
+ messages to the senders of packets that it is unable to forward. It
+ SHOULD NOT send ICMP redirect messages.
+
+ DISCUSSION
+ Note that sending an ICMP destination unreachable (host
+ unreachable) is a router action. This message should not be sent
+ by hosts. This exception to the rules for hosts is allowed so
+ that packets may be rerouted in the shortest possible time, and so
+ that black holes are avoided.
+
+5.3.12.2 When a Router Starts Forwarding
+
+ When a router begins forwarding, it SHOULD expedite the sending of
+ new routing information to all routers with which it normally
+ exchanges routing information.
+
+5.3.12.3 When an Interface Fails or is Disabled
+
+ If an interface fails or is disabled a router MUST remove and stop
+ advertising all routes in its forwarding database that make use of
+ that interface. It MUST disable all static routes that make use of
+ that interface. If other routes to the same destination and TOS are
+ learned or remembered by the router, the router MUST choose the best
+ alternate, and add it to its forwarding database. The router SHOULD
+ send ICMP destination unreachable or ICMP redirect messages, as
+ appropriate, in reply to all packets that it is unable to forward due
+ to the interface being unavailable.
+
+5.3.12.4 When an Interface is Enabled
+
+ If an interface that had not been available becomes available, a
+ router MUST reenable any static routes that use that interface. If
+ routes that would use that interface are learned by the router, then
+ these routes MUST be evaluated along with all the other learned
+ routes, and the router MUST make a decision as to which routes should
+ be placed in the forwarding database. The implementor is referred to
+ Chapter [7], Application Layer - Routing Protocols for further
+ information on how this decision is made.
+
+ A router SHOULD expedite the sending of new routing information to
+ all routers with which it normally exchanges routing information.
+
+
+
+
+
+
+Baker Standards Track [Page 100]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+5.3.13 IP Options
+
+ Several options, such as Record Route and Timestamp, contain slots
+ into which a router inserts its address when forwarding the packet.
+ However, each such option has a finite number of slots, and therefore
+ a router may find that there is not free slot into which it can
+ insert its address. No requirement listed below should be construed
+ as requiring a router to insert its address into an option that has
+ no remaining slot to insert it into. Section [5.2.5] discusses how a
+ router must choose which of its addresses to insert into an option.
+
+5.3.13.1 Unrecognized Options Unrecognized IP options in forwarded
+ packets MUST be passed through unchanged.
+
+5.3.13.2 Security Option
+
+ Some environments require the Security option in every packet; such a
+ requirement is outside the scope of this document and the IP standard
+ specification. Note, however, that the security options described in
+ [INTERNET:1] and [INTERNET:16] are obsolete. Routers SHOULD
+ IMPLEMENT the revised security option described in [INTERNET:5].
+
+ DISCUSSION
+ Routers intended for use in networks with multiple security levels
+ should support packet filtering based on IPSO (RFC-1108) labels.
+ To implement this support, the router would need to permit the
+ router administrator to configure both a lower sensitivity limit
+ (e.g. Unclassified) and an upper sensitivity limit (e.g. Secret)
+ on each interface. It is commonly but not always the case that
+ the two limits are the same (e.g. a single-level interface).
+ Packets caught by an IPSO filter as being out of range should be
+ silently dropped and a counter should note the number of packets
+ dropped because of out of range IPSO labels.
+
+5.3.13.3 Stream Identifier Option
+
+ This option is obsolete. If the Stream Identifier option is present
+ in a packet forwarded by the router, the option MUST be ignored and
+ passed through unchanged.
+
+5.3.13.4 Source Route Options
+
+ A router MUST implement support for source route options in forwarded
+ packets. A router MAY implement a configuration option that, when
+ enabled, causes all source-routed packets to be discarded. However,
+ such an option MUST NOT be enabled by default.
+
+
+
+
+
+Baker Standards Track [Page 101]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ DISCUSSION
+ The ability to source route datagrams through the Internet is
+ important to various network diagnostic tools. However, source
+ routing may be used to bypass administrative and security controls
+ within a network. Specifically, those cases where manipulation of
+ routing tables is used to provide administrative separation in
+ lieu of other methods such as packet filtering may be vulnerable
+ through source routed packets.
+
+ EDITORS+COMMENTS
+ Packet filtering can be defeated by source routing as well, if it
+ is applied in any router except one on the final leg of the source
+ routed path. Neither route nor packet filters constitute a
+ complete solution for security.
+
+5.3.13.5 Record Route Option
+
+ Routers MUST support the Record Route option in forwarded packets.
+
+ A router MAY provide a configuration option that, if enabled, will
+ cause the router to ignore (i.e., pass through unchanged) Record
+ Route options in forwarded packets. If provided, such an option MUST
+ default to enabling the record-route. This option should not affect
+ the processing of Record Route options in datagrams received by the
+ router itself (in particular, Record Route options in ICMP echo
+ requests will still be processed according to Section [4.3.3.6]).
+
+ DISCUSSION
+ There are some people who believe that Record Route is a security
+ problem because it discloses information about the topology of the
+ network. Thus, this document allows it to be disabled.
+
+5.3.13.6 Timestamp Option
+
+ Routers MUST support the timestamp option in forwarded packets. A
+ timestamp value MUST follow the rules given [INTRO:2].
+
+ If the flags field = 3 (timestamp and prespecified address), the
+ router MUST add its timestamp if the next prespecified address
+ matches any of the router's IP addresses. It is not necessary that
+ the prespecified address be either the address of the interface on
+ which the packet arrived or the address of the interface over which
+ it will be sent.
+
+ IMPLEMENTATION
+ To maximize the utility of the timestamps contained in the
+ timestamp option, it is suggested that the timestamp inserted be,
+ as nearly as practical, the time at which the packet arrived at
+
+
+
+Baker Standards Track [Page 102]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ the router. For datagrams originated by the router, the timestamp
+ inserted should be, as nearly as practical, the time at which the
+ datagram was passed to the network layer for transmission.
+
+ A router MAY provide a configuration option which, if enabled, will
+ cause the router to ignore (i.e., pass through unchanged) Timestamp
+ options in forwarded datagrams when the flag word is set to zero
+ (timestamps only) or one (timestamp and registering IP address). If
+ provided, such an option MUST default to off (that is, the router
+ does not ignore the timestamp). This option should not affect the
+ processing of Timestamp options in datagrams received by the router
+ itself (in particular, a router will insert timestamps into Timestamp
+ options in datagrams received by the router, and Timestamp options in
+ ICMP echo requests will still be processed according to Section
+ [4.3.3.6]).
+
+ DISCUSSION
+ Like the Record Route option, the Timestamp option can reveal
+ information about a network's topology. Some people consider this
+ to be a security concern.
+
+6. TRANSPORT LAYER
+
+ A router is not required to implement any Transport Layer protocols
+ except those required to support Application Layer protocols
+ supported by the router. In practice, this means that most routers
+ implement both the Transmission Control Protocol (TCP) and the User
+ Datagram Protocol (UDP).
+
+6.1 USER DATAGRAM PROTOCOL - UDP
+
+ The User Datagram Protocol (UDP) is specified in [TRANS:1].
+
+ A router that implements UDP MUST be compliant, and SHOULD be
+ unconditionally compliant, with the requirements of [INTRO:2], except
+ that:
+
+ o This specification does not specify the interfaces between the
+ various protocol layers. Thus, a router's interfaces need not
+ comply with [INTRO:2], except where compliance is required for
+ proper functioning of Application Layer protocols supported by the
+ router.
+
+ o Contrary to [INTRO:2], an application SHOULD NOT disable generation
+ of UDP checksums.
+
+
+
+
+
+
+Baker Standards Track [Page 103]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ DISCUSSION
+ Although a particular application protocol may require that UDP
+ datagrams it receives must contain a UDP checksum, there is no
+ general requirement that received UDP datagrams contain UDP
+ checksums. Of course, if a UDP checksum is present in a received
+ datagram, the checksum must be verified and the datagram discarded
+ if the checksum is incorrect.
+
+6.2 TRANSMISSION CONTROL PROTOCOL - TCP
+
+ The Transmission Control Protocol (TCP) is specified in [TRANS:2].
+
+ A router that implements TCP MUST be compliant, and SHOULD be
+ unconditionally compliant, with the requirements of [INTRO:2], except
+ that:
+
+ o This specification does not specify the interfaces between the
+ various protocol layers. Thus, a router need not comply with the
+ following requirements of [INTRO:2] (except of course where
+ compliance is required for proper functioning of Application Layer
+ protocols supported by the router):
+
+ Use of Push: RFC-793 Section 2.8:
+ Passing a received PSH flag to the application layer is now
+ OPTIONAL.
+
+ Urgent Pointer: RFC-793 Section 3.1:
+ A TCP MUST inform the application layer asynchronously
+ whenever it receives an Urgent pointer and there was
+ previously no pending urgent data, or whenever the Urgent
+ pointer advances in the data stream. There MUST be a way for
+ the application to learn how much urgent data remains to be
+ read from the connection, or at least to determine whether or
+ not more urgent data remains to be read.
+
+ TCP Connection Failures:
+ An application MUST be able to set the value for R2 for a
+ particular connection. For example, an interactive
+ application might set R2 to ``infinity,'' giving the user
+ control over when to disconnect.
+
+ TCP Multihoming:
+ If an application on a multihomed host does not specify the
+ local IP address when actively opening a TCP connection, then
+ the TCP MUST ask the IP layer to select a local IP address
+ before sending the (first) SYN. See the function
+ GET_SRCADDR() in Section 3.4.
+
+
+
+
+Baker Standards Track [Page 104]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ IP Options:
+ An application MUST be able to specify a source route when it
+ actively opens a TCP connection, and this MUST take
+ precedence over a source route received in a datagram.
+
+ o For similar reasons, a router need not comply with any of the
+ requirements of [INTRO:2].
+
+ o The requirements concerning the Maximum Segment Size Option in
+ [INTRO:2] are amended as follows: a router that implements the
+ host portion of MTU discovery (discussed in Section [4.2.3.3] of
+ this memo) uses 536 as the default value of SendMSS only if the
+ path MTU is unknown; if the path MTU is known, the default value
+ for SendMSS is the path MTU - 40.
+
+ o The requirements concerning the Maximum Segment Size Option in
+ [INTRO:2] are amended as follows: ICMP Destination Unreachable
+ codes 11 and 12 are additional soft error conditions. Therefore,
+ these message MUST NOT cause TCP to abort a connection.
+
+ DISCUSSION
+ It should particularly be noted that a TCP implementation in a
+ router must conform to the following requirements of [INTRO:2]:
+
+ o Providing a configurable TTL. [Time to Live: RFC-793 Section
+ 3.9]
+
+ o Providing an interface to configure keep-alive behavior, if
+ keep-alives are used at all. [TCP Keep-Alives]
+
+ o Providing an error reporting mechanism, and the ability to
+ manage it. [Asynchronous Reports]
+
+ o Specifying type of service. [Type-of-Service]
+
+ The general paradigm applied is that if a particular interface is
+ visible outside the router, then all requirements for the
+ interface must be followed. For example, if a router provides a
+ telnet function, then it will be generating traffic, likely to be
+ routed in the external networks. Therefore, it must be able to
+ set the type of service correctly or else the telnet traffic may
+ not get through.
+
+
+
+
+
+
+
+
+
+Baker Standards Track [Page 105]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+7. APPLICATION LAYER - ROUTING PROTOCOLS
+
+7.1 INTRODUCTION
+
+ For technical, managerial, and sometimes political reasons, the
+ Internet routing system consists of two components - interior routing
+ and exterior routing. The concept of an Autonomous System (AS), as
+ define in Section 2.2.4 of this document, plays a key role in
+ separating interior from an exterior routing, as this concept allows
+ to deliniate the set of routers where a change from interior to
+ exterior routing occurs. An IP datagram may have to traverse the
+ routers of two or more Autonomous Systems to reach its destination,
+ and the Autonomous Systems must provide each other with topology
+ information to allow such forwarding. Interior gateway protocols
+ (IGPs) are used to distribute routing information within an AS (i.e.,
+ intra-AS routing). Exterior gateway protocols are used to exchange
+ routing information among ASs (i.e., inter-AS routing).
+
+7.1.1 Routing Security Considerations
+
+ Routing is one of the few places where the Robustness Principle (be
+ liberal in what you accept) does not apply. Routers should be
+ relatively suspicious in accepting routing data from other routing
+ systems.
+
+ A router SHOULD provide the ability to rank routing information
+ sources from most trustworthy to least trustworthy and to accept
+ routing information about any particular destination from the most
+ trustworthy sources first. This was implicit in the original
+ core/stub autonomous system routing model using EGP and various
+ interior routing protocols. It is even more important with the
+ demise of a central, trusted core.
+
+ A router SHOULD provide a mechanism to filter out obviously invalid
+ routes (such as those for net 127).
+
+ Routers MUST NOT by default redistribute routing data they do not
+ themselves use, trust or otherwise consider valid. In rare cases, it
+ may be necessary to redistribute suspicious information, but this
+ should only happen under direct intercession by some human agency.
+
+ Routers must be at least a little paranoid about accepting routing
+ data from anyone, and must be especially careful when they distribute
+ routing information provided to them by another party. See below for
+ specific guidelines.
+
+
+
+
+
+
+Baker Standards Track [Page 106]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+7.1.2 Precedence
+
+ Except where the specification for a particular routing protocol
+ specifies otherwise, a router SHOULD set the IP Precedence value for
+ IP datagrams carrying routing traffic it originates to 6
+ (INTERNETWORK CONTROL).
+
+ DISCUSSION
+ Routing traffic with VERY FEW exceptions should be the highest
+ precedence traffic on any network. If a system's routing traffic
+ can't get through, chances are nothing else will.
+
+7.1.3 Message Validation
+
+ Peer-to-peer authentication involves several tests. The application
+ of message passwords and explicit acceptable neighbor lists has in
+ the past improved the robustness of the route database. Routers
+ SHOULD IMPLEMENT management controls that enable explicit listing of
+ valid routing neighbors. Routers SHOULD IMPLEMENT peer-to-peer
+ authentication for those routing protocols that support them.
+
+ Routers SHOULD validate routing neighbors based on their source
+ address and the interface a message is received on; neighbors in a
+ directly attached subnet SHOULD be restricted to communicate with the
+ router via the interface that subnet is posited on or via unnumbered
+ interfaces. Messages received on other interfaces SHOULD be silently
+ discarded.
+
+ DISCUSSION
+ Security breaches and numerous routing problems are avoided by
+ this basic testing.
+
+7.2 INTERIOR GATEWAY PROTOCOLS
+
+7.2.1 INTRODUCTION
+
+ An Interior Gateway Protocol (IGP) is used to distribute routing
+ information between the various routers in a particular AS.
+ Independent of the algorithm used to implement a particular IGP, it
+ should perform the following functions:
+
+ (1) Respond quickly to changes in the internal topology of an AS
+
+ (2) Provide a mechanism such that circuit flapping does not cause
+ continuous routing updates
+
+ (3) Provide quick convergence to loop-free routing
+
+
+
+
+Baker Standards Track [Page 107]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ (4) Utilize minimal bandwidth
+
+ (5) Provide equal cost routes to enable load-splitting
+
+ (6) Provide a means for authentication of routing updates
+
+ Current IGPs used in the internet today are characterized as either
+ being based on a distance-vector or a link-state algorithm.
+
+ Several IGPs are detailed in this section, including those most
+ commonly used and some recently developed protocols that may be
+ widely used in the future. Numerous other protocols intended for use
+ in intra-AS routing exist in the Internet community.
+
+ A router that implements any routing protocol (other than static
+ routes) MUST IMPLEMENT OSPF (see Section [7.2.2]). A router MAY
+ implement additional IGPs.
+
+7.2.2 OPEN SHORTEST PATH FIRST - OSPF
+
+ Shortest Path First (SPF) based routing protocols are a class of
+ link-state algorithms that are based on the shortest-path algorithm
+ of Dijkstra. Although SPF based algorithms have been around since
+ the inception of the ARPANET, it is only recently that they have
+ achieved popularity both inside both the IP and the OSI communities.
+ In an SPF based system, each router obtains the entire topology
+ database through a process known as flooding. Flooding insures a
+ reliable transfer of the information. Each router then runs the SPF
+ algorithm on its database to build the IP routing table. The OSPF
+ routing protocol is an implementation of an SPF algorithm. The
+ current version, OSPF version 2, is specified in [ROUTE:1]. Note
+ that RFC-1131, which describes OSPF version 1, is obsolete.
+
+ Note that to comply with Section [8.3] of this memo, a router that
+ implements OSPF MUST implement the OSPF MIB [MGT:14].
+
+7.2.3 INTERMEDIATE SYSTEM TO INTERMEDIATE SYSTEM - DUAL IS-IS
+
+ The American National Standards Institute (ANSI) X3S3.3 committee has
+ defined an intra-domain routing protocol. This protocol is titled
+ Intermediate System to Intermediate System Routeing Exchange
+ Protocol.
+
+ Its application to an IP network has been defined in [ROUTE:2], and
+ is referred to as Dual IS-IS (or sometimes as Integrated IS-IS).
+ IS-IS is based on a link-state (SPF) routing algorithm and shares all
+ the advantages for this class of protocols.
+
+
+
+
+Baker Standards Track [Page 108]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+7.3 EXTERIOR GATEWAY PROTOCOLS
+
+7.3.1 INTRODUCTION
+
+ Exterior Gateway Protocols are utilized for inter-Autonomous System
+ routing to exchange reachability information for a set of networks
+ internal to a particular autonomous system to a neighboring
+ autonomous system.
+
+ The area of inter-AS routing is a current topic of research inside
+ the Internet Engineering Task Force. The Exterior Gateway Protocol
+ (EGP) described in Section [Appendix F.1] has traditionally been the
+ inter-AS protocol of choice, but is now historical. The Border
+ Gateway Protocol (BGP) eliminates many of the restrictions and
+ limitations of EGP, and is therefore growing rapidly in popularity.
+ A router is not required to implement any inter-AS routing protocol.
+ However, if a router does implement EGP it also MUST IMPLEMENT BGP.
+ Although it was not designed as an exterior gateway protocol, RIP
+ (described in Section [7.2.4]) is sometimes used for inter-AS
+ routing.
+
+7.3.2 BORDER GATEWAY PROTOCOL - BGP
+
+7.3.2.1 Introduction
+
+ The Border Gateway Protocol (BGP-4) is an inter-AS routing protocol
+ that exchanges network reachability information with other BGP
+ speakers. The information for a network includes the complete list
+ of ASs that traffic must transit to reach that network. This
+ information can then be used to insure loop-free paths. This
+ information is sufficient to construct a graph of AS connectivity
+ from which routing loops may be pruned and some policy decisions at
+ the AS level may be enforced.
+
+ BGP is defined by [ROUTE:4]. [ROUTE:5] specifies the proper usage of
+ BGP in the Internet, and provides some useful implementation hints
+ and guidelines. [ROUTE:12] and [ROUTE:13] provide additional useful
+ information.
+
+ To comply with Section [8.3] of this memo, a router that implements
+ BGP is required to implement the BGP MIB [MGT:15].
+
+ To characterize the set of policy decisions that can be enforced
+ using BGP, one must focus on the rule that an AS advertises to its
+ neighbor ASs only those routes that it itself uses. This rule
+ reflects the hop-by-hop routing paradigm generally used throughout
+ the current Internet. Note that some policies cannot be supported by
+ the hop-by-hop routing paradigm and thus require techniques such as
+
+
+
+Baker Standards Track [Page 109]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ source routing to enforce. For example, BGP does not enable one AS
+ to send traffic to a neighbor AS intending that traffic take a
+ different route from that taken by traffic originating in the
+ neighbor AS. On the other hand, BGP can support any policy
+ conforming to the hop-by-hop routing paradigm.
+
+ Implementors of BGP are strongly encouraged to follow the
+ recommendations outlined in Section 6 of [ROUTE:5].
+
+7.3.2.2 Protocol Walk-through
+
+ While BGP provides support for quite complex routing policies (as an
+ example see Section 4.2 in [ROUTE:5]), it is not required for all BGP
+ implementors to support such policies. At a minimum, however, a BGP
+ implementation:
+
+ (1) SHOULD allow an AS to control announcements of the BGP learned
+ routes to adjacent AS's. Implementations SHOULD support such
+ control with at least the granularity of a single network.
+ Implementations SHOULD also support such control with the
+ granularity of an autonomous system, where the autonomous system
+ may be either the autonomous system that originated the route,
+ or the autonomous system that advertised the route to the local
+ system (adjacent autonomous system).
+
+ (2) SHOULD allow an AS to prefer a particular path to a destination
+ (when more than one path is available). Such function SHOULD be
+ implemented by allowing system administrator to assign weights
+ to Autonomous Systems, and making route selection process to
+ select a route with the lowest weight (where weight of a route
+ is defined as a sum of weights of all AS's in the AS_PATH path
+ attribute associated with that route).
+
+ (3) SHOULD allow an AS to ignore routes with certain AS's in the
+ AS_PATH path attribute. Such function can be implemented by
+ using technique outlined in (2), and by assigning infinity as
+ weights for such AS's. The route selection process must ignore
+ routes that have weight equal to infinity.
+
+7.3.3 INTER-AS ROUTING WITHOUT AN EXTERIOR PROTOCOL
+
+ It is possible to exchange routing information between two autonomous
+ systems or routing domains without using a standard exterior routing
+ protocol between two separate, standard interior routing protocols.
+ The most common way of doing this is to run both interior protocols
+ independently in one of the border routers with an exchange of route
+ information between the two processes.
+
+
+
+
+Baker Standards Track [Page 110]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ As with the exchange of information from an EGP to an IGP, without
+ appropriate controls these exchanges of routing information between
+ two IGPs in a single router are subject to creation of routing loops.
+
+7.4 STATIC ROUTING
+
+ Static routing provides a means of explicitly defining the next hop
+ from a router for a particular destination. A router SHOULD provide
+ a means for defining a static route to a destination, where the
+ destination is defined by a network prefix. The mechanism SHOULD
+ also allow for a metric to be specified for each static route.
+
+ A router that supports a dynamic routing protocol MUST allow static
+ routes to be defined with any metric valid for the routing protocol
+ used. The router MUST provide the ability for the user to specify a
+ list of static routes that may or may not be propagated through the
+ routing protocol. In addition, a router SHOULD support the following
+ additional information if it supports a routing protocol that could
+ make use of the information. They are:
+
+ o TOS,
+
+ o Subnet Mask, or
+
+ o Prefix Length, or
+
+ o A metric specific to a given routing protocol that can import the
+ route.
+
+ DISCUSSION
+ We intend that one needs to support only the things useful to the
+ given routing protocol. The need for TOS should not require the
+ vendor to implement the other parts if they are not used.
+
+ Whether a router prefers a static route over a dynamic route (or
+ vice versa) or whether the associated metrics are used to choose
+ between conflicting static and dynamic routes SHOULD be
+ configurable for each static route.
+
+ A router MUST allow a metric to be assigned to a static route for
+ each routing domain that it supports. Each such metric MUST be
+ explicitly assigned to a specific routing domain. For example:
+
+ route 10.0.0.0/8 via 192.0.2.3 rip metric 3
+
+ route 10.21.0.0/16 via 192.0.2.4 ospf inter-area metric 27
+
+ route 10.22.0.0/16 via 192.0.2.5 egp 123 metric 99
+
+
+
+Baker Standards Track [Page 111]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ DISCUSSION
+ It has been suggested that, ideally, static routes should have
+ preference values rather than metrics (since metrics can only be
+ compared with metrics of other routes in the same routing domain,
+ the metric of a static route could only be compared with metrics
+ of other static routes). This is contrary to some current
+ implementations, where static routes really do have metrics, and
+ those metrics are used to determine whether a particular dynamic
+ route overrides the static route to the same destination. Thus,
+ this document uses the term metric rather than preference.
+
+ This technique essentially makes the static route into a RIP
+ route, or an OSPF route (or whatever, depending on the domain of
+ the metric). Thus, the route lookup algorithm of that domain
+ applies. However, this is NOT route leaking, in that coercing a
+ static route into a dynamic routing domain does not authorize the
+ router to redistribute the route into the dynamic routing domain.
+
+ For static routes not put into a specific routing domain, the
+ route lookup algorithm is:
+
+ (1) Basic match
+
+ (2) Longest match
+
+ (3) Weak TOS (if TOS supported)
+
+ (4) Best metric (where metric are implementation-defined)
+
+ The last step may not be necessary, but it's useful in the case
+ where you want to have a primary static route over one interface
+ and a secondary static route over an alternate interface, with
+ failover to the alternate path if the interface for the primary
+ route fails.
+
+7.5 FILTERING OF ROUTING INFORMATION
+
+ Each router within a network makes forwarding decisions based upon
+ information contained within its forwarding database. In a simple
+ network the contents of the database may be configured statically.
+ As the network grows more complex, the need for dynamic updating of
+ the forwarding database becomes critical to the efficient operation
+ of the network.
+
+ If the data flow through a network is to be as efficient as possible,
+ it is necessary to provide a mechanism for controlling the
+ propagation of the information a router uses to build its forwarding
+ database. This control takes the form of choosing which sources of
+
+
+
+Baker Standards Track [Page 112]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ routing information should be trusted and selecting which pieces of
+ the information to believe. The resulting forwarding database is a
+ filtered version of the available routing information.
+
+ In addition to efficiency, controlling the propagation of routing
+ information can reduce instability by preventing the spread of
+ incorrect or bad routing information.
+
+ In some cases local policy may require that complete routing
+ information not be widely propagated.
+
+ These filtering requirements apply only to non-SPF-based protocols
+ (and therefore not at all to routers which don't implement any
+ distance vector protocols).
+
+7.5.1 Route Validation
+
+ A router SHOULD log as an error any routing update advertising a
+ route that violates the specifications of this memo, unless the
+ routing protocol from which the update was received uses those values
+ to encode special routes (such as default routes).
+
+7.5.2 Basic Route Filtering
+
+ Filtering of routing information allows control of paths used by a
+ router to forward packets it receives. A router should be selective
+ in which sources of routing information it listens to and what routes
+ it believes. Therefore, a router MUST provide the ability to
+ specify:
+
+ o On which logical interfaces routing information will be accepted
+ and which routes will be accepted from each logical interface.
+
+ o Whether all routes or only a default route is advertised on a
+ logical interface.
+
+ Some routing protocols do not recognize logical interfaces as a
+ source of routing information. In such cases the router MUST provide
+ the ability to specify
+
+ o from which other routers routing information will be accepted.
+
+ For example, assume a router connecting one or more leaf networks to
+ the main portion or backbone of a larger network. Since each of the
+ leaf networks has only one path in and out, the router can simply
+ send a default route to them. It advertises the leaf networks to the
+ main network.
+
+
+
+
+Baker Standards Track [Page 113]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+7.5.3 Advanced Route Filtering
+
+ As the topology of a network grows more complex, the need for more
+ complex route filtering arises. Therefore, a router SHOULD provide
+ the ability to specify independently for each routing protocol:
+
+ o Which logical interfaces or routers routing information (routes)
+ will be accepted from and which routes will be believed from each
+ other router or logical interface,
+
+ o Which routes will be sent via which logical interface(s), and
+
+ o Which routers routing information will be sent to, if this is
+ supported by the routing protocol in use.
+
+ In many situations it is desirable to assign a reliability ordering
+ to routing information received from another router instead of the
+ simple believe or don't believe choice listed in the first bullet
+ above. A router MAY provide the ability to specify:
+
+ o A reliability or preference to be assigned to each route received.
+ A route with higher reliability will be chosen over one with lower
+ reliability regardless of the routing metric associated with each
+ route.
+
+ If a router supports assignment of preferences, the router MUST NOT
+ propagate any routes it does not prefer as first party information.
+ If the routing protocol being used to propagate the routes does not
+ support distinguishing between first and third party information, the
+ router MUST NOT propagate any routes it does not prefer.
+
+ DISCUSSION
+ For example, assume a router receives a route to network C from
+ router R and a route to the same network from router S. If router
+ R is considered more reliable than router S traffic destined for
+ network C will be forwarded to router R regardless of the route
+ received from router S.
+
+ Routing information for routes which the router does not use (router
+ S in the above example) MUST NOT be passed to any other router.
+
+7.6 INTER-ROUTING-PROTOCOL INFORMATION EXCHANGE
+
+ Routers MUST be able to exchange routing information between separate
+ IP interior routing protocols, if independent IP routing processes
+ can run in the same router. Routers MUST provide some mechanism for
+ avoiding routing loops when routers are configured for bi-directional
+ exchange of routing information between two separate interior routing
+
+
+
+Baker Standards Track [Page 114]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ processes. Routers MUST provide some priority mechanism for choosing
+ routes from independent routing processes. Routers SHOULD provide
+ administrative control of IGP-IGP exchange when used across
+ administrative boundaries.
+
+ Routers SHOULD provide some mechanism for translating or transforming
+ metrics on a per network basis. Routers (or routing protocols) MAY
+ allow for global preference of exterior routes imported into an IGP.
+
+ DISCUSSION
+ Different IGPs use different metrics, requiring some translation
+ technique when introducing information from one protocol into
+ another protocol with a different form of metric. Some IGPs can
+ run multiple instances within the same router or set of routers.
+ In this case metric information can be preserved exactly or
+ translated.
+
+ There are at least two techniques for translation between
+ different routing processes. The static (or reachability)
+ approach uses the existence of a route advertisement in one IGP to
+ generate a route advertisement in the other IGP with a given
+ metric. The translation or tabular approach uses the metric in
+ one IGP to create a metric in the other IGP through use of either
+ a function (such as adding a constant) or a table lookup.
+
+ Bi-directional exchange of routing information is dangerous
+ without control mechanisms to limit feedback. This is the same
+ problem that distance vector routing protocols must address with
+ the split horizon technique and that EGP addresses with the
+ third-party rule. Routing loops can be avoided explicitly through
+ use of tables or lists of permitted/denied routes or implicitly
+ through use of a split horizon rule, a no-third-party rule, or a
+ route tagging mechanism. Vendors are encouraged to use implicit
+ techniques where possible to make administration easier for
+ network operators.
+
+8. APPLICATION LAYER - NETWORK MANAGEMENT PROTOCOLS
+
+ Note that this chapter supersedes any requirements stated under
+ "REMOTE MANAGEMENT" in [INTRO:3].
+
+8.1 The Simple Network Management Protocol - SNMP
+
+8.1.1 SNMP Protocol Elements
+
+ Routers MUST be manageable by SNMP [MGT:3]. The SNMP MUST operate
+ using UDP/IP as its transport and network protocols. Others MAY be
+ supported (e.g., see [MGT:25, MGT:26, MGT:27, and MGT:28]). SNMP
+
+
+
+Baker Standards Track [Page 115]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ management operations MUST operate as if the SNMP was implemented on
+ the router itself. Specifically, management operations MUST be
+ effected by sending SNMP management requests to any of the IP
+ addresses assigned to any of the router's interfaces. The actual
+ management operation may be performed either by the router or by a
+ proxy for the router.
+
+ DISCUSSION
+ This wording is intended to allow management either by proxy,
+ where the proxy device responds to SNMP packets that have one of
+ the router's IP addresses in the packets destination address
+ field, or the SNMP is implemented directly in the router itself
+ and receives packets and responds to them in the proper manner.
+
+ It is important that management operations can be sent to one of
+ the router's IP Addresses. In diagnosing network problems the
+ only thing identifying the router that is available may be one of
+ the router's IP address; obtained perhaps by looking through
+ another router's routing table.
+
+ All SNMP operations (get, get-next, get-response, set, and trap) MUST
+ be implemented.
+
+ Routers MUST provide a mechanism for rate-limiting the generation of
+ SNMP trap messages. Routers MAY provide this mechanism through the
+ algorithms for asynchronous alert management described in [MGT:5].
+
+ DISCUSSION
+ Although there is general agreement about the need to rate-limit
+ traps, there is not yet consensus on how this is best achieved.
+ The reference cited is considered experimental.
+
+8.2 Community Table
+
+ For the purposes of this specification, we assume that there is an
+ abstract `community table' in the router. This table contains
+ several entries, each entry for a specific community and containing
+ the parameters necessary to completely define the attributes of that
+ community. The actual implementation method of the abstract
+ community table is, of course, implementation specific.
+
+ A router's community table MUST allow for at least one entry and
+ SHOULD allow for at least two entries.
+
+ DISCUSSION
+ A community table with zero capacity is useless. It means that
+ the router will not recognize any communities and, therefore, all
+ SNMP operations will be rejected.
+
+
+
+Baker Standards Track [Page 116]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ Therefore, one entry is the minimal useful size of the table.
+ Having two entries allows one entry to be limited to read-only
+ access while the other would have write capabilities.
+
+ Routers MUST allow the user to manually (i.e., without using SNMP)
+ examine, add, delete and change entries in the SNMP community table.
+ The user MUST be able to set the community name or construct a MIB
+ view. The user MUST be able to configure communities as read-only
+ (i.e., they do not allow SETs) or read-write (i.e., they do allow
+ SETs).
+
+ The user MUST be able to define at least one IP address to which
+ notifications are sent for each community or MIB view, if traps are
+ used. These addresses SHOULD be definable on a community or MIB view
+ basis. It SHOULD be possible to enable or disable notifications on a
+ community or MIB view basis.
+
+ A router SHOULD provide the ability to specify a list of valid
+ network managers for any particular community. If enabled, a router
+ MUST validate the source address of the SNMP datagram against the
+ list and MUST discard the datagram if its address does not appear.
+ If the datagram is discarded the router MUST take all actions
+ appropriate to an SNMP authentication failure.
+
+ DISCUSSION
+ This is a rather limited authentication system, but coupled with
+ various forms of packet filtering may provide some small measure
+ of increased security.
+
+ The community table MUST be saved in non-volatile storage.
+
+ The initial state of the community table SHOULD contain one entry,
+ with the community name string public and read-only access. The
+ default state of this entry MUST NOT send traps. If it is
+ implemented, then this entry MUST remain in the community table until
+ the administrator changes it or deletes it.
+
+ DISCUSSION
+ By default, traps are not sent to this community. Trap PDUs are
+ sent to unicast IP addresses. This address must be configured
+ into the router in some manner. Before the configuration occurs,
+ there is no such address, so to whom should the trap be sent?
+ Therefore trap sending to the public community defaults to be
+ disabled. This can, of course, be changed by an administrative
+ operation once the router is operational.
+
+
+
+
+
+
+Baker Standards Track [Page 117]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+8.3 Standard MIBS
+
+ All MIBS relevant to a router's configuration are to be implemented.
+ To wit:
+
+ o The System, Interface, IP, ICMP, and UDP groups of MIB-II [MGT:2]
+ MUST be implemented.
+
+ o The Interface Extensions MIB [MGT:18] MUST be implemented.
+
+ o The IP Forwarding Table MIB [MGT:20] MUST be implemented.
+
+ o If the router implements TCP (e.g., for Telnet) then the TCP group
+ of MIB-II [MGT:2] MUST be implemented.
+
+ o If the router implements EGP then the EGP group of MIB-II [MGT:2]
+ MUST be implemented.
+
+ o If the router supports OSPF then the OSPF MIB [MGT:14] MUST be
+ implemented.
+
+ o If the router supports BGP then the BGP MIB [MGT:15] MUST be
+ implemented.
+
+ o If the router has Ethernet, 802.3, or StarLan interfaces then the
+ Ethernet-Like MIB [MGT:6] MUST be implemented.
+
+ o If the router has 802.4 interfaces then the 802.4 MIB [MGT:7] MUST
+ be implemented.
+
+ o If the router has 802.5 interfaces then the 802.5 MIB [MGT:8] MUST
+ be implemented.
+
+ o If the router has FDDI interfaces that implement ANSI SMT 7.3 then
+ the FDDI MIB [MGT:9] MUST be implemented.
+
+ o If the router has FDDI interfaces that implement ANSI SMT 6.2 then
+ the FDDI MIB [MGT:29] MUST be implemented.
+
+ o If the router has interfaces that use V.24 signalling, such as RS-
+ 232, V.10, V.11, V.35, V.36, or RS-422/423/449, then the RS-232
+ [MGT:10] MIB MUST be implemented.
+
+ o If the router has T1/DS1 interfaces then the T1/DS1 MIB [MGT:16]
+ MUST be implemented.
+
+ o If the router has T3/DS3 interfaces then the T3/DS3 MIB [MGT:17]
+ MUST be implemented.
+
+
+
+Baker Standards Track [Page 118]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ o If the router has SMDS interfaces then the SMDS Interface Protocol
+ MIB [MGT:19] MUST be implemented.
+
+ o If the router supports PPP over any of its interfaces then the PPP
+ MIBs [MGT:11], [MGT:12], and [MGT:13] MUST be implemented.
+
+ o If the router supports RIP Version 2 then the RIP Version 2 MIB
+ [MGT:21] MUST be implemented.
+
+ o If the router supports X.25 over any of its interfaces then the
+ X.25 MIBs [MGT:22, MGT:23 and MGT:24] MUST be implemented.
+
+8.4 Vendor Specific MIBS
+
+ The Internet Standard and Experimental MIBs do not cover the entire
+ range of statistical, state, configuration and control information
+ that may be available in a network element. This information is,
+ nevertheless, extremely useful. Vendors of routers (and other
+ network devices) generally have developed MIB extensions that cover
+ this information. These MIB extensions are called Vendor Specific
+ MIBs.
+
+ The Vendor Specific MIB for the router MUST provide access to all
+ statistical, state, configuration, and control information that is
+ not available through the Standard and Experimental MIBs that have
+ been implemented. This information MUST be available for both
+ monitoring and control operations.
+
+ DISCUSSION
+ The intent of this requirement is to provide the ability to do
+ anything on the router through SNMP that can be done through a
+ console, and vice versa. A certain minimal amount of
+ configuration is necessary before SNMP can operate (e.g., the
+ router must have an IP address). This initial configuration can
+ not be done through SNMP. However, once the initial configuration
+ is done, full capabilities ought to be available through network
+ management.
+
+ The vendor SHOULD make available the specifications for all Vendor
+ Specific MIB variables. These specifications MUST conform to the SMI
+ [MGT:1] and the descriptions MUST be in the form specified in
+ [MGT:4].
+
+ DISCUSSION
+ Making the Vendor Specific MIB available to the user is necessary.
+ Without this information the users would not be able to configure
+ their network management systems to be able to access the Vendor
+ Specific parameters. These parameters would then be useless.
+
+
+
+Baker Standards Track [Page 119]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ ne 2 The format of the MIB specification is also specified.
+ Parsers that read MIB specifications and generate the needed
+ tables for the network management station are available. These
+ parsers generally understand only the standard MIB specification
+ format.
+
+8.5 Saving Changes
+
+ Parameters altered by SNMP MAY be saved to non-volatile storage.
+
+ DISCUSSION
+ Reasons why this requirement is a MAY:
+
+ o The exact physical nature of non-volatile storage is not
+ specified in this document. Hence, parameters may be saved in
+ NVRAM/EEPROM, local floppy or hard disk, or in some TFTP file
+ server or BOOTP server, etc. Suppose that this information is
+ in a file that is retrieved through TFTP. In that case, a
+ change made to a configuration parameter on the router would
+ need to be propagated back to the file server holding the
+ configuration file. Alternatively, the SNMP operation would
+ need to be directed to the file server, and then the change
+ somehow propagated to the router. The answer to this problem
+ does not seem obvious.
+
+ This also places more requirements on the host holding the
+ configuration information than just having an available TFTP
+ server, so much more that its probably unsafe for a vendor to
+ assume that any potential customer will have a suitable host
+ available.
+
+ o The timing of committing changed parameters to non-volatile
+ storage is still an issue for debate. Some prefer to commit
+ all changes immediately. Others prefer to commit changes to
+ non-volatile storage only upon an explicit command.
+
+9. APPLICATION LAYER - MISCELLANEOUS PROTOCOLS
+
+ For all additional application protocols that a router implements,
+ the router MUST be compliant and SHOULD be unconditionally compliant
+ with the relevant requirements of [INTRO:3].
+
+9.1 BOOTP
+
+9.1.1 Introduction
+
+ The Bootstrap Protocol (BOOTP) is a UDP/IP-based protocol that allows
+ a booting host to configure itself dynamically and without user
+
+
+
+Baker Standards Track [Page 120]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ supervision. BOOTP provides a means to notify a host of its assigned
+ IP address, the IP address of a boot server host, and the name of a
+ file to be loaded into memory and executed ([APPL:1]). Other
+ configuration information such as the local prefix length or subnet
+ mask, the local time offset, the addresses of default routers, and
+ the addresses of various Internet servers can also be communicated to
+ a host using BOOTP ([APPL:2]).
+
+9.1.2 BOOTP Relay Agents
+
+ In many cases, BOOTP clients and their associated BOOTP server(s) do
+ not reside on the same IP (sub)network. In such cases, a third-party
+ agent is required to transfer BOOTP messages between clients and
+ servers. Such an agent was originally referred to as a BOOTP
+ forwarding agent. However, to avoid confusion with the IP forwarding
+ function of a router, the name BOOTP relay agent has been adopted
+ instead.
+
+ DISCUSSION
+ A BOOTP relay agent performs a task that is distinct from a
+ router's normal IP forwarding function. While a router normally
+ switches IP datagrams between networks more-or-less transparently,
+ a BOOTP relay agent may more properly be thought to receive BOOTP
+ messages as a final destination and then generate new BOOTP
+ messages as a result. One should resist the notion of simply
+ forwarding a BOOTP message straight through like a regular packet.
+
+ This relay-agent functionality is most conveniently located in the
+ routers that interconnect the clients and servers (although it may
+ alternatively be located in a host that is directly connected to the
+ client (sub)net).
+
+ A router MAY provide BOOTP relay-agent capability. If it does, it
+ MUST conform to the specifications in [APPL:3].
+
+ Section [5.2.3] discussed the circumstances under which a packet is
+ delivered locally (to the router). All locally delivered UDP
+ messages whose UDP destination port number is BOOTPS (67) are
+ considered for special processing by the router's logical BOOTP relay
+ agent.
+
+ Sections [4.2.2.11] and [5.3.7] discussed invalid IP source
+ addresses. According to these rules, a router must not forward any
+ received datagram whose IP source address is 0.0.0.0. However,
+ routers that support a BOOTP relay agent MUST accept for local
+ delivery to the relay agent BOOTREQUEST messages whose IP source
+ address is 0.0.0.0.
+
+
+
+
+Baker Standards Track [Page 121]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+10. OPERATIONS AND MAINTENANCE
+
+ This chapter supersedes any requirements of [INTRO:3] relating to
+ "Extensions to the IP Module."
+
+ Facilities to support operation and maintenance (O&M) activities form
+ an essential part of any router implementation. Although these
+ functions do not seem to relate directly to interoperability, they
+ are essential to the network manager who must make the router
+ interoperate and must track down problems when it doesn't. This
+ chapter also includes some discussion of router initialization and of
+ facilities to assist network managers in securing and accounting for
+ their networks.
+
+10.1 Introduction
+
+ The following kinds of activities are included under router O&M:
+
+ o Diagnosing hardware problems in the router's processor, in its
+ network interfaces, or in its connected networks, modems, or
+ communication lines.
+
+ o Installing new hardware
+
+ o Installing new software.
+
+ o Restarting or rebooting the router after a crash.
+
+ o Configuring (or reconfiguring) the router.
+
+ o Detecting and diagnosing Internet problems such as congestion,
+ routing loops, bad IP addresses, black holes, packet avalanches,
+ and misbehaved hosts.
+
+ o Changing network topology, either temporarily (e.g., to bypass a
+ communication line problem) or permanently.
+
+ o Monitoring the status and performance of the routers and the
+ connected networks.
+
+ o Collecting traffic statistics for use in (Inter-)network planning.
+
+ o Coordinating the above activities with appropriate vendors and
+ telecommunications specialists.
+
+ Routers and their connected communication lines are often operated as
+ a system by a centralized O&M organization. This organization may
+ maintain a (Inter-)network operation center, or NOC, to carry out its
+
+
+
+Baker Standards Track [Page 122]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ O&M functions. It is essential that routers support remote control
+ and monitoring from such a NOC through an Internet path, since
+ routers might not be connected to the same network as their NOC.
+ Since a network failure may temporarily preclude network access, many
+ NOCs insist that routers be accessible for network management through
+ an alternative means, often dial-up modems attached to console ports
+ on the routers.
+
+ Since an IP packet traversing an internet will often use routers
+ under the control of more than one NOC, Internet problem diagnosis
+ will often involve cooperation of personnel of more than one NOC. In
+ some cases, the same router may need to be monitored by more than one
+ NOC, but only if necessary, because excessive monitoring could impact
+ a router's performance.
+
+ The tools available for monitoring at a NOC may cover a wide range of
+ sophistication. Current implementations include multi-window,
+ dynamic displays of the entire router system. The use of AI
+ techniques for automatic problem diagnosis is proposed for the
+ future.
+
+ Router O&M facilities discussed here are only a part of the large and
+ difficult problem of Internet management. These problems encompass
+ not only multiple management organizations, but also multiple
+ protocol layers. For example, at the current stage of evolution of
+ the Internet architecture, there is a strong coupling between host
+ TCP implementations and eventual IP-level congestion in the router
+ system [OPER:1]. Therefore, diagnosis of congestion problems will
+ sometimes require the monitoring of TCP statistics in hosts. There
+ are currently a number of R&D efforts in progress in the area of
+ Internet management and more specifically router O&M. These R&D
+ efforts have already produced standards for router O&M. This is also
+ an area in which vendor creativity can make a significant
+ contribution.
+
+10.2 Router Initialization
+
+10.2.1 Minimum Router Configuration
+
+ There exists a minimum set of conditions that must be satisfied
+ before a router may forward packets. A router MUST NOT enable
+ forwarding on any physical interface unless either:
+
+ (1) The router knows the IP address and associated subnet mask or
+ network prefix length of at least one logical interface
+ associated with that physical interface, or
+
+
+
+
+
+Baker Standards Track [Page 123]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ (2) The router knows that the interface is an unnumbered interface
+ and knows its router-id.
+
+ These parameters MUST be explicitly configured:
+
+ o A router MUST NOT use factory-configured default values for its IP
+ addresses, prefix lengths, or router-id, and
+
+ o A router MUST NOT assume that an unconfigured interface is an
+ unnumbered interface.
+
+ DISCUSSION
+ There have been instances in which routers have been shipped with
+ vendor-installed default addresses for interfaces. In a few
+ cases, this has resulted in routers advertising these default
+ addresses into active networks.
+
+10.2.2 Address and Prefix Initialization
+
+ A router MUST allow its IP addresses and their address masks or
+ prefix lengths to be statically configured and saved in non-volatile
+ storage.
+
+ A router MAY obtain its IP addresses and their corresponding address
+ masks dynamically as a side effect of the system initialization
+ process (see Section 10.2.3]);
+
+ If the dynamic method is provided, the choice of method to be used in
+ a particular router MUST be configurable.
+
+ As was described in Section [4.2.2.11], IP addresses are not
+ permitted to have the value 0 or -1 in the <Host-number> or
+ <Network-prefix> fields. Therefore, a router SHOULD NOT allow an IP
+ address or address mask to be set to a value that would make any of
+ the these fields above have the value zero or -1.
+
+ DISCUSSION
+ It is possible using arbitrary address masks to create situations
+ in which routing is ambiguous (i.e., two routes with different but
+ equally specific subnet masks match a particular destination
+ address). This is one of the strongest arguments for the use of
+ network prefixes, and the reason the use of discontiguous subnet
+ masks is not permitted.
+
+ A router SHOULD make the following checks on any address mask it
+ installs:
+
+
+
+
+
+Baker Standards Track [Page 124]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ o The mask is neither all ones nor all zeroes (the prefix length is
+ neither zero nor 32).
+
+ o The bits which correspond to the network prefix part of the address
+ are all set to 1.
+
+ o The bits that correspond to the network prefix are contiguous.
+
+ DISCUSSION
+ The masks associated with routes are also sometimes called subnet
+ masks, this test should not be applied to them.
+
+10.2.3 Network Booting using BOOTP and TFTP
+
+ There has been much discussion of how routers can and should be
+ booted from the network. These discussions have revolved around
+ BOOTP and TFTP. Currently, there are routers that boot with TFTP
+ from the network. There is no reason that BOOTP could not be used
+ for locating the server that the boot image should be loaded from.
+
+ BOOTP is a protocol used to boot end systems, and requires some
+ stretching to accommodate its use with routers. If a router is using
+ BOOTP to locate the current boot host, it should send a BOOTP Request
+ with its hardware address for its first interface, or, if it has been
+ previously configured otherwise, with either another interface's
+ hardware address, or another number to put in the hardware address
+ field of the BOOTP packet. This is to allow routers without hardware
+ addresses (like synchronous line only routers) to use BOOTP for
+ bootload discovery. TFTP can then be used to retrieve the image
+ found in the BOOTP Reply. If there are no configured interfaces or
+ numbers to use, a router MAY cycle through the interface hardware
+ addresses it has until a match is found by the BOOTP server.
+
+ A router SHOULD IMPLEMENT the ability to store parameters learned
+ through BOOTP into local non-volatile storage. A router MAY
+ implement the ability to store a system image loaded over the network
+ into local stable storage.
+
+ A router MAY have a facility to allow a remote user to request that
+ the router get a new boot image. Differentiation should be made
+ between getting the new boot image from one of three locations: the
+ one included in the request, from the last boot image server, and
+ using BOOTP to locate a server.
+
+
+
+
+
+
+
+
+Baker Standards Track [Page 125]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+10.3 Operation and Maintenance
+
+10.3.1 Introduction
+
+ There is a range of possible models for performing O&M functions on a
+ router. At one extreme is the local-only model, under which the O&M
+ functions can only be executed locally (e.g., from a terminal plugged
+ into the router machine). At the other extreme, the fully remote
+ model allows only an absolute minimum of functions to be performed
+ locally (e.g., forcing a boot), with most O&M being done remotely
+ from the NOC. There are intermediate models, such as one in which
+ NOC personnel can log into the router as a host, using the Telnet
+ protocol, to perform functions that can also be invoked locally. The
+ local-only model may be adequate in a few router installations, but
+ remote operation from a NOC is normally required, and therefore
+ remote O&M provisions are required for most routers.
+
+ Remote O&M functions may be exercised through a control agent
+ (program). In the direct approach, the router would support remote
+ O&M functions directly from the NOC using standard Internet protocols
+ (e.g., SNMP, UDP or TCP); in the indirect approach, the control agent
+ would support these protocols and control the router itself using
+ proprietary protocols. The direct approach is preferred, although
+ either approach is acceptable. The use of specialized host hardware
+ and/or software requiring significant additional investment is
+ discouraged; nevertheless, some vendors may elect to provide the
+ control agent as an integrated part of the network in which the
+ routers are a part. If this is the case, it is required that a means
+ be available to operate the control agent from a remote site using
+ Internet protocols and paths and with equivalent functionality with
+ respect to a local agent terminal.
+
+ It is desirable that a control agent and any other NOC software tools
+ that a vendor provides operate as user programs in a standard
+ operating system. The use of the standard Internet protocols UDP and
+ TCP for communicating with the routers should facilitate this.
+
+ Remote router monitoring and (especially) remote router control
+ present important access control problems that must be addressed.
+ Care must also be taken to ensure control of the use of router
+ resources for these functions. It is not desirable to let router
+ monitoring take more than some limited fraction of the router CPU
+ time, for example. On the other hand, O&M functions must receive
+ priority so they can be exercised when the router is congested, since
+ often that is when O&M is most needed.
+
+
+
+
+
+
+Baker Standards Track [Page 126]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+10.3.2 Out Of Band Access
+
+ Routers MUST support Out-Of-Band (OOB) access. OOB access SHOULD
+ provide the same functionality as in-band access. This access SHOULD
+ implement access controls, to prevent unauthorized access.
+
+ DISCUSSION
+ This Out-Of-Band access will allow the NOC a way to access
+ isolated routers during times when network access is not
+ available.
+
+ Out-Of-Band access is an important management tool for the network
+ administrator. It allows the access of equipment independent of
+ the network connections. There are many ways to achieve this
+ access. Whichever one is used it is important that the access is
+ independent of the network connections. An example of Out-Of-Band
+ access would be a serial port connected to a modem that provides
+ dial up access to the router.
+
+ It is important that the OOB access provides the same
+ functionality as in-band access. In-band access, or accessing
+ equipment through the existing network connection, is limiting,
+ because most of the time, administrators need to reach equipment
+ to figure out why it is unreachable. In band access is still very
+ important for configuring a router, and for troubleshooting more
+ subtle problems.
+
+10.3.2 Router O&M Functions
+
+10.3.2.1 Maintenance - Hardware Diagnosis
+
+ Each router SHOULD operate as a stand-alone device for the purposes
+ of local hardware maintenance. Means SHOULD be available to run
+ diagnostic programs at the router site using only on-site tools. A
+ router SHOULD be able to run diagnostics in case of a fault. For
+ suggested hardware and software diagnostics see Section [10.3.3].
+
+10.3.2.2 Control - Dumping and Rebooting
+
+ A router MUST include both in-band and out-of-band mechanisms to
+ allow the network manager to reload, stop, and restart the router. A
+ router SHOULD also contain a mechanism (such as a watchdog timer)
+ which will reboot the router automatically if it hangs due to a
+ software or hardware fault.
+
+ A router SHOULD IMPLEMENT a mechanism for dumping the contents of a
+ router's memory (and/or other state useful for vendor debugging after
+ a crash), and either saving them on a stable storage device local to
+
+
+
+Baker Standards Track [Page 127]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ the router or saving them on another host via an up-line dump
+ mechanism such as TFTP (see [OPER:2], [INTRO:3]).
+
+10.3.2.3 Control - Configuring the Router
+
+ Every router has configuration parameters that may need to be set.
+ It SHOULD be possible to update the parameters without rebooting the
+ router; at worst, a restart MAY be required. There may be cases when
+ it is not possible to change parameters without rebooting the router
+ (for instance, changing the IP address of an interface). In these
+ cases, care should be taken to minimize disruption to the router and
+ the surrounding network.
+
+ There SHOULD be a way to configure the router over the network either
+ manually or automatically. A router SHOULD be able to upload or
+ download its parameters from a host or another router. A means
+ SHOULD be provided, either as an application program or a router
+ function, to convert between the parameter format and a human-
+ editable format. A router SHOULD have some sort of stable storage
+ for its configuration. A router SHOULD NOT believe protocols such as
+ RARP, ICMP Address Mask Reply, and MAY not believe BOOTP.
+
+ DISCUSSION
+ It is necessary to note here that in the future RARP, ICMP Address
+ Mask Reply, BOOTP and other mechanisms may be needed to allow a
+ router to auto-configure. Although routers may in the future be
+ able to configure automatically, the intent here is to discourage
+ this practice in a production environment until auto-configuration
+ has been tested more thoroughly. The intent is NOT to discourage
+ auto-configuration all together. In cases where a router is
+ expected to get its configuration automatically it may be wise to
+ allow the router to believe these things as it comes up and then
+ ignore them after it has gotten its configuration.
+
+10.3.2.4 Net Booting of System Software
+
+ A router SHOULD keep its system image in local non-volatile
+ storage such as PROM, NVRAM, or disk. It MAY also be able to load
+ its system software over the network from a host or another
+ router.
+
+ A router that can keep its system image in local non-volatile
+ storage MAY be configurable to boot its system image over the
+ network. A router that offers this option SHOULD be configurable
+ to boot the system image in its non-volatile local storage if it
+ is unable to boot its system image over the network.
+
+
+
+
+
+Baker Standards Track [Page 128]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ DISCUSSION
+ It is important that the router be able to come up and run on its
+ own. NVRAM may be a particular solution for routers used in large
+ networks, since changing PROMs can be quite time consuming for a
+ network manager responsible for numerous or geographically
+ dispersed routers. It is important to be able to netboot the
+ system image because there should be an easy way for a router to
+ get a bug fix or new feature more quickly than getting PROMs
+ installed. Also if the router has NVRAM instead of PROMs, it will
+ netboot the image and then put it in NVRAM.
+
+ Routers SHOULD perform some basic consistency check on any image
+ loaded, to detect and perhaps prevent incorrect images.
+
+ A router MAY also be able to distinguish between different
+ configurations based on which software it is running. If
+ configuration commands change from one software version to another,
+ it would be helpful if the router could use the configuration that
+ was compatible with the software.
+
+10.3.2.5 Detecting and responding to misconfiguration
+
+ There MUST be mechanisms for detecting and responding to
+ misconfigurations. If a command is executed incorrectly, the router
+ SHOULD give an error message. The router SHOULD NOT accept a poorly
+ formed command as if it were correct.
+
+ DISCUSSION
+ There are cases where it is not possible to detect errors: the
+ command is correctly formed, but incorrect with respect to the
+ network. This may be detected by the router, but may not be
+ possible.
+
+ Another form of misconfiguration is misconfiguration of the network
+ to which the router is attached. A router MAY detect
+ misconfigurations in the network. The router MAY log these findings
+ to a file, either on the router or a host, so that the network
+ manager will see that there are possible problems on the network.
+
+ DISCUSSION
+ Examples of such misconfigurations might be another router with
+ the same address as the one in question or a router with the wrong
+ address mask. If a router detects such problems it is probably
+ not the best idea for the router to try to fix the situation.
+ That could cause more harm than good.
+
+
+
+
+
+
+Baker Standards Track [Page 129]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+10.3.2.6 Minimizing Disruption
+
+ Changing the configuration of a router SHOULD have minimal affect on
+ the network. Routing tables SHOULD NOT be unnecessarily flushed when
+ a simple change is made to the router. If a router is running
+ several routing protocols, stopping one routing protocol SHOULD NOT
+ disrupt other routing protocols, except in the case where one network
+ is learned by more than one routing protocol.
+
+ DISCUSSION
+ It is the goal of a network manager to run a network so that users
+ of the network get the best connectivity possible. Reloading a
+ router for simple configuration changes can cause disruptions in
+ routing and ultimately cause disruptions to the network and its
+ users. If routing tables are unnecessarily flushed, for instance,
+ the default route will be lost as well as specific routes to sites
+ within the network. This sort of disruption will cause
+ significant downtime for the users. It is the purpose of this
+ section to point out that whenever possible, these disruptions
+ should be avoided.
+
+10.3.2.7 Control - Troubleshooting Problems
+
+ (1) A router MUST provide in-band network access, but (except as
+ required by Section [8.2]) for security considerations this
+ access SHOULD be disabled by default. Vendors MUST document
+ the default state of any in-band access. This access SHOULD
+ implement access controls, to prevent unauthorized access.
+
+ DISCUSSION
+ In-band access primarily refers to access through the normal
+ network protocols that may or may not affect the permanent
+ operational state of the router. This includes, but is not
+ limited to Telnet/RLOGIN console access and SNMP operations.
+
+ This was a point of contention between the operational out of the
+ box and secure out of The box contingents. Any automagic access
+ to the router may introduce insecurities, but it may be more
+ important for the customer to have a router that is accessible
+ over the network as soon as it is plugged in. At least one vendor
+ supplies routers without any external console access and depends
+ on being able to access the router through the network to complete
+ its configuration.
+
+ It is the vendors call whether in-band access is enabled by
+ default; but it is also the vendor's responsibility to make its
+ customers aware of possible insecurities.
+
+
+
+
+Baker Standards Track [Page 130]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ (2) A router MUST provide the ability to initiate an ICMP echo.
+ The following options SHOULD be implemented:
+
+ o Choice of data patterns
+
+ o Choice of packet size
+
+ o Record route
+
+ and the following additional options MAY be implemented:
+
+ o Loose source route
+
+ o Strict source route
+
+ o Timestamps
+
+ (3) A router SHOULD provide the ability to initiate a traceroute.
+ If traceroute is provided, then the 3rd party traceroute
+ SHOULD be implemented.
+
+ Each of the above three facilities (if implemented) SHOULD have
+ access restrictions placed on it to prevent its abuse by unauthorized
+ persons.
+
+10.4 Security Considerations
+
+10.4.1 Auditing and Audit Trails
+
+ Auditing and billing are the bane of the network operator, but are
+ the two features most requested by those in charge of network
+ security and those who are responsible for paying the bills. In the
+ context of security, auditing is desirable if it helps you keep your
+ network working and protects your resources from abuse, without
+ costing you more than those resources are worth.
+
+ (1) Configuration Changes
+
+ Router SHOULD provide a method for auditing a configuration
+ change of a router, even if it's something as simple as
+ recording the operator's initials and time of change.
+
+ DISCUSSION
+ Configuration change logging (who made a configuration change,
+ what was changed, and when) is very useful, especially when
+ traffic is suddenly routed through Alaska on its way across town.
+ So is the ability to revert to a previous configuration.
+
+
+
+
+Baker Standards Track [Page 131]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ (2) Packet Accounting
+
+ Vendors should strongly consider providing a system for
+ tracking traffic levels between pairs of hosts or networks.
+ A mechanism for limiting the collection of this information
+ to specific pairs of hosts or networks is also strongly
+ encouraged.
+
+ DISCUSSION
+ A host traffic matrix as described above can give the network
+ operator a glimpse of traffic trends not apparent from other
+ statistics. It can also identify hosts or networks that are
+ probing the structure of the attached networks - e.g., a single
+ external host that tries to send packets to every IP address in
+ the network address range for a connected network.
+
+ (3) Security Auditing
+
+ Routers MUST provide a method for auditing security related
+ failures or violations to include:
+
+ o Authorization Failures: bad passwords, invalid SNMP
+ communities, invalid authorization tokens,
+
+ o Violations of Policy Controls: Prohibited Source Routes,
+ Filtered Destinations, and
+
+ o Authorization Approvals: good passwords - Telnet in-band
+ access, console access.
+
+ Routers MUST provide a method of limiting or disabling such
+ auditing but auditing SHOULD be on by default. Possible
+ methods for auditing include listing violations to a console
+ if present, logging or counting them internally, or logging
+ them to a remote security server through the SNMP trap
+ mechanism or the Unix logging mechanism as appropriate. A
+ router MUST implement at least one of these reporting
+ mechanisms - it MAY implement more than one.
+
+10.4.2 Configuration Control
+
+ A vendor has a responsibility to use good configuration control
+ practices in the creation of the software/firmware loads for their
+ routers. In particular, if a vendor makes updates and loads
+ available for retrieval over the Internet, the vendor should also
+ provide a way for the customer to confirm the load is a valid one,
+ perhaps by the verification of a checksum over the load.
+
+
+
+
+Baker Standards Track [Page 132]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ DISCUSSION
+ Many vendors currently provide short notice updates of their
+ software products through the Internet. This a good trend and
+ should be encouraged, but provides a point of vulnerability in the
+ configuration control process.
+
+ If a vendor provides the ability for the customer to change the
+ configuration parameters of a router remotely, for example through a
+ Telnet session, the ability to do so SHOULD be configurable and
+ SHOULD default to off. The router SHOULD require valid
+ authentication before permitting remote reconfiguration. This
+ authentication procedure SHOULD NOT transmit the authentication
+ secret over the network. For example, if telnet is implemented, the
+ vendor SHOULD IMPLEMENT Kerberos, S-Key, or a similar authentication
+ procedure.
+
+ DISCUSSION
+ Allowing your properly identified network operator to twiddle with
+ your routers is necessary; allowing anyone else to do so is
+ foolhardy.
+
+ A router MUST NOT have undocumented back door access and master
+ passwords. A vendor MUST ensure any such access added for purposes
+ of debugging or product development are deleted before the product is
+ distributed to its customers.
+
+ DISCUSSION
+ A vendor has a responsibility to its customers to ensure they are
+ aware of the vulnerabilities present in its code by intention -
+ e.g., in-band access. Trap doors, back doors and master passwords
+ intentional or unintentional can turn a relatively secure router
+ into a major problem on an operational network. The supposed
+ operational benefits are not matched by the potential problems.
+
+11. REFERENCES
+
+ Implementors should be aware that Internet protocol standards are
+ occasionally updated. These references are current as of this
+ writing, but a cautious implementor will always check a recent
+ version of the RFC index to ensure that an RFC has not been updated
+ or superseded by another, more recent RFC. Reference [INTRO:6]
+ explains various ways to obtain a current RFC index.
+
+ APPL:1.
+ Croft, B., and J. Gilmore, "Bootstrap Protocol (BOOTP)", RFC
+ 951, Stanford University, Sun Microsystems, September 1985.
+
+
+
+
+
+Baker Standards Track [Page 133]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ APPL:2.
+ Alexander, S., and R. Droms, "DHCP Options and BOOTP Vendor
+ Extensions", RFC 1533, Lachman Technology, Inc., Bucknell
+ University, October 1993.
+
+ APPL:3.
+ Wimer, W., "Clarifications and Extensions for the Bootstrap
+ Protocol", RFC 1542, Carnegie Mellon University, October 1993.
+
+ ARCH:1.
+ DDN Protocol Handbook, NIC-50004, NIC-50005, NIC-50006 (three
+ volumes), DDN Network Information Center, SRI International,
+ Menlo Park, California, USA, December 1985.
+
+ ARCH:2.
+ V. Cerf and R. Kahn, "A Protocol for Packet Network
+ Intercommunication", IEEE Transactions on Communication, May
+ 1974. Also included in [ARCH:1].
+
+ ARCH:3.
+ J. Postel, C. Sunshine, and D. Cohen, "The ARPA Internet
+ Protocol", Computer Networks, volume 5, number 4, July 1981.
+ Also included in [ARCH:1].
+
+ ARCH:4.
+ B. Leiner, J. Postel, R. Cole, and D. Mills, :The DARPA
+ Internet Protocol Suite", Proceedings of INFOCOM '85, IEEE,
+ Washington, DC, March 1985. Also in: IEEE Communications
+ Magazine, March 1985. Also available from the Information
+ Sciences Institute, University of Southern California as
+ Technical Report ISI-RS-85-153.
+
+ ARCH:5.
+ D. Comer, "Internetworking With TCP/IP Volume 1: Principles,
+ Protocols, and Architecture", Prentice Hall, Englewood Cliffs,
+ NJ, 1991.
+
+ ARCH:6.
+ W. Stallings, "Handbook of Computer-Communications Standards
+ Volume 3: The TCP/IP Protocol Suite", Macmillan, New York, NY,
+ 1990.
+
+ ARCH:7.
+ Postel, J., "Internet Official Protocol Standards", STD 1, RFC
+ 1780, Internet Architecture Board, March 1995.
+
+
+
+
+
+
+Baker Standards Track [Page 134]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ ARCH:8.
+ Information processing systems - Open Systems Interconnection -
+ Basic Reference Model, ISO 7489, International Standards
+ Organization, 1984.
+
+ ARCH:9
+ R. Braden, J. Postel, Y. Rekhter, "Internet Architecture
+ Extensions for Shared Media", 05/20/1994
+
+ FORWARD:1.
+ IETF CIP Working Group (C. Topolcic, Editor), "Experimental
+ Internet Stream Protocol", Version 2 (ST-II), RFC 1190, October
+ 1990.
+
+ FORWARD:2.
+ Mankin, A., and K. Ramakrishnan, Editors, "Gateway Congestion
+ Control Survey", RFC 1254, MITRE, Digital Equipment Corporation,
+ August 1991.
+
+ FORWARD:3.
+ J. Nagle, "On Packet Switches with Infinite Storage", IEEE
+ Transactions on Communications, volume COM-35, number 4, April
+ 1987.
+
+ FORWARD:4.
+ R. Jain, K. Ramakrishnan, and D. Chiu, "Congestion Avoidance
+ in Computer Networks With a Connectionless Network Layer",
+ Technical Report DEC-TR-506, Digital Equipment Corporation.
+
+ FORWARD:5.
+ V. Jacobson, "Congestion Avoidance and Control", Proceedings of
+ SIGCOMM '88, Association for Computing Machinery, August 1988.
+
+ FORWARD:6.
+ W. Barns, "Precedence and Priority Access Implementation for
+ Department of Defense Data Networks", Technical Report MTR-
+ 91W00029, The Mitre Corporation, McLean, Virginia, USA, July
+ 1991.
+
+ FORWARD:7
+ Fang, Chen, Hutchins, "Simulation Results of TCP Performance
+ over ATM with and without Flow Control", presentation to the ATM
+ Forum, November 15, 1993.
+
+ FORWARD:8
+ V. Paxson, S. Floyd "Wide Area Traffic: the Failure of Poisson
+ Modeling", short version in SIGCOMM '94.
+
+
+
+
+Baker Standards Track [Page 135]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ FORWARD:9
+ Leland, Taqqu, Willinger and Wilson, "On the Self-Similar Nature
+ of Ethernet Traffic", Proceedings of SIGCOMM '93, September,
+ 1993.
+
+ FORWARD:10
+ S. Keshav "A Control Theoretic Approach to Flow Control",
+ SIGCOMM 91, pages 3-16
+
+ FORWARD:11
+ K.K. Ramakrishnan and R. Jain, "A Binary Feedback Scheme for
+ Congestion Avoidance in Computer Networks", ACM Transactions of
+ Computer Systems, volume 8, number 2, 1980.
+
+ FORWARD:12
+ H. Kanakia, P. Mishara, and A. Reibman]. "An adaptive
+ congestion control scheme for real-time packet video transport",
+ In Proceedings of ACM SIGCOMM 1994, pages 20-31, San Francisco,
+ California, September 1993.
+
+ FORWARD:13
+ A. Demers, S. Keshav, S. Shenker, "Analysis and Simulation of
+ a Fair Queuing Algorithm",
+ 93 pages 1-12
+
+ FORWARD:14
+ Clark, D., Shenker, S., and L. Zhang, "Supporting Real-Time
+ Applications in an Integrated Services Packet Network:
+ Architecture and Mechanism", 92 pages 14-26
+
+ INTERNET:1.
+ Postel, J., "Internet Protocol", STD 5, RFC 791, USC/Information
+ Sciences Institute, September 1981.
+
+ INTERNET:2.
+ Mogul, J., and J. Postel, "Internet Standard Subnetting
+ Procedure", STD 5, RFC 950, Stanford, USC/Information Sciences
+ Institute, August 1985.
+
+ INTERNET:3.
+ Mogul, J., "Broadcasting Internet Datagrams in the Presence of
+ Subnets", STD 5, RFC 922, Stanford University, October 1984.
+
+ INTERNET:4.
+ Deering, S., "Host Extensions for IP Multicasting", STD 5, RFC
+ 1112, Stanford University, August 1989.
+
+
+
+
+
+Baker Standards Track [Page 136]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ INTERNET:5.
+ Kent, S., "U.S. Department of Defense Security Options for the
+ Internet Protocol", RFC 1108, BBN Communications, November 1991.
+
+ INTERNET:6.
+ Braden, R., Borman, D., and C. Partridge, "Computing the
+ Internet Checksum", RFC 1071, USC/Information Sciences
+ Institute, Cray Research, BBN Communications, September 1988.
+
+ INTERNET:7.
+ Mallory T., and A. Kullberg, "Incremental Updating of the
+ Internet Checksum", RFC 1141, BBN Communications, January 1990.
+
+ INTERNET:8.
+ Postel, J., "Internet Control Message Protocol", STD 5, RFC 792,
+ USC/Information Sciences Institute, September 1981.
+
+ INTERNET:9.
+ A. Mankin, G. Hollingsworth, G. Reichlen, K. Thompson, R.
+ Wilder, and R. Zahavi, "Evaluation of Internet Performance -
+ FY89", Technical Report MTR-89W00216, MITRE Corporation,
+ February, 1990.
+
+ INTERNET:10.
+ G. Finn, A "Connectionless Congestion Control Algorithm",
+ Computer Communications Review, volume 19, number 5, Association
+ for Computing Machinery, October 1989.
+
+ INTERNET:11.
+ Prue, W., and J. Postel, "The Source Quench Introduced Delay
+ (SQuID)", RFC 1016, USC/Information Sciences Institute, August
+ 1987.
+
+ INTERNET:12.
+ McKenzie, A., "Some comments on SQuID", RFC 1018, BBN Labs,
+ August 1987.
+
+ INTERNET:13.
+ Deering, S., "ICMP Router Discovery Messages", RFC 1256, Xerox
+ PARC, September 1991.
+
+ INTERNET:14.
+ Mogul J., and S. Deering, "Path MTU Discovery", RFC 1191,
+ DECWRL, Stanford University, November 1990.
+
+
+
+
+
+
+
+Baker Standards Track [Page 137]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ INTERNET:15
+ Fuller, V., Li, T., Yu, J., and K. Varadhan, "Classless Inter-
+ Domain Routing (CIDR): an Address Assignment and Aggregation
+ Strategy" RFC 1519, BARRNet, cisco, Merit, OARnet, September
+ 1993.
+
+ INTERNET:16
+ St. Johns, M., "Draft Revised IP Security Option", RFC 1038,
+ IETF, January 1988.
+
+ INTERNET:17
+ Prue, W., and J. Postel, "Queuing Algorithm to Provide Type-
+ of-service For IP Links", RFC 1046, USC/Information Sciences
+ Institute, February 1988.
+
+ INTERNET:18
+ Postel, J., "Address Mappings", RFC 796, USC/Information
+ Sciences Institute, September 1981.
+
+ INTRO:1.
+ Braden, R., and J. Postel, "Requirements for Internet
+ Gateways", STD 4, RFC 1009, USC/Information Sciences Institute,
+ June 1987.
+
+ INTRO:2.
+ Internet Engineering Task Force (R. Braden, Editor),
+ "Requirements for Internet Hosts - Communication Layers", STD 3,
+ RFC 1122, USC/Information Sciences Institute, October 1989.
+
+ INTRO:3.
+ Internet Engineering Task Force (R. Braden, Editor),
+ "Requirements for Internet Hosts - Application and Support", STD
+ 3, RFC 1123, USC/Information Sciences Institute, October 1989.
+
+ INTRO:4.
+ Clark, D., "Modularity and Efficiency in Protocol
+ Implementations", RFC 817, MIT Laboratory for Computer Science,
+ July 1982.
+
+ INTRO:5.
+ Clark, D., "The Structuring of Systems Using Upcalls",
+ Proceedings of 10th ACM SOSP, December 1985.
+
+ INTRO:6.
+ Jacobsen, O., and J. Postel, "Protocol Document Order
+ Information", RFC 980, SRI, USC/Information Sciences Institute,
+ March 1986.
+
+
+
+
+Baker Standards Track [Page 138]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ INTRO:7.
+ Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, RFC
+ 1700, USC/Information Sciences Institute, October 1994. This
+ document is periodically updated and reissued with a new number.
+ It is wise to verify occasionally that the version you have is
+ still current.
+
+ INTRO:8.
+ DoD Trusted Computer System Evaluation Criteria, DoD publication
+ 5200.28-STD, U.S. Department of Defense, December 1985.
+
+ INTRO:9
+ Malkin, G., and T. LaQuey Parker, Editors, "Internet Users'
+ Glossary", FYI 18, RFC 1392, Xylogics, Inc., UTexas, January
+ 1993.
+
+ LINK:1.
+ Leffler, S., and M. Karels, "Trailer Encapsulations", RFC 893,
+ University of California at Berkeley, April 1984.
+
+ LINK:2
+ Simpson, W., "The Point-to-Point Protocol (PPP)", STD 51, RFC
+ 1661, Daydreamer July 1994.
+
+ LINK:3
+ McGregor, G., "The PPP Internet Protocol Control Protocol
+ (IPCP)", RFC 1332, Merit May 1992.
+
+ LINK:4
+ Lloyd, B., and W. Simpson, "PPP Authentication Protocols", RFC
+ 1334, L&A, Daydreamer, May 1992.
+
+ LINK:5
+ Simpson, W., "PPP Link Quality Monitoring", RFC 1333,
+ Daydreamer, May 1992.
+
+ MGT:1.
+ Rose, M., and K. McCloghrie, "Structure and Identification of
+ Management Information of TCP/IP-based Internets", STD 16, RFC
+ 1155, Performance Systems International, Hughes LAN Systems, May
+ 1990.
+
+ MGT:2.
+ McCloghrie, K., and M. Rose (Editors), "Management Information
+ Base of TCP/IP-Based Internets: MIB-II", STD 16, RFC 1213,
+ Hughes LAN Systems, Inc., Performance Systems International,
+ March 1991.
+
+
+
+
+Baker Standards Track [Page 139]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ MGT:3.
+ Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple
+ Network Management Protocol", STD 15, RFC 1157, SNMP Research,
+ Performance Systems International, MIT Laboratory for Computer
+ Science, May 1990.
+
+ MGT:4.
+ Rose, M., and K. McCloghrie (Editors), "Towards Concise MIB
+ Definitions", STD 16, RFC 1212, Performance Systems
+ International, Hughes LAN Systems, March 1991.
+
+ MGT:5.
+ Steinberg, L., "Techniques for Managing Asynchronously Generated
+ Alerts", RFC 1224, IBM Corporation, May 1991.
+
+ MGT:6.
+ Kastenholz, F., "Definitions of Managed Objects for the
+ Ethernet-like Interface Types", RFC 1398, FTP Software, Inc.,
+ January 1993.
+
+ MGT:7.
+ McCloghrie, K., and R. Fox "IEEE 802.4 Token Bus MIB", RFC 1230,
+ Hughes LAN Systems, Inc., Synoptics, Inc., May 1991.
+
+ MGT:8.
+ McCloghrie, K., Fox R., and E. Decker, "IEEE 802.5 Token Ring
+ MIB", RFC 1231, Hughes LAN Systems, Inc., Synoptics, Inc., cisco
+ Systems, Inc., February 1993.
+
+ MGT:9.
+ Case, J., and A. Rijsinghani, "FDDI Management Information
+ Base", RFC 1512, The University of Tennesse and SNMP Research,
+ Digital Equipment Corporation, September 1993.
+
+ MGT:10.
+ Stewart, B., Editor "Definitions of Managed Objects for RS-232-
+ like Hardware Devices", RFC 1317, Xyplex, Inc., April 1992.
+
+ MGT:11.
+ Kastenholz, F., "Definitions of Managed Objects for the Link
+ Control Protocol of the Point-to-Point Protocol", RFC 1471, FTP
+ Software, Inc., June 1992.
+
+ MGT:12.
+ Kastenholz, F., "The Definitions of Managed Objects for the
+ Security Protocols of the Point-to-Point Protocol", RFC 1472,
+ FTP Software, Inc., June 1992.
+
+
+
+
+Baker Standards Track [Page 140]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ MGT:13.
+ Kastenholz, F., "The Definitions of Managed Objects for the IP
+ Network Control Protocol of the Point-to-Point Protocol", RFC
+ 1473, FTP Software, Inc., June 1992.
+
+ MGT:14.
+ Baker, F., and R. Coltun, "OSPF Version 2 Management
+ Information Base", RFC 1253, ACC, Computer Science Center,
+ August 1991.
+
+ MGT:15.
+ Willis, S., and J. Burruss, "Definitions of Managed Objects for
+ the Border Gateway Protocol (Version 3)", RFC 1269, Wellfleet
+ Communications Inc., October 1991.
+
+ MGT:16.
+ Baker, F., and J. Watt, "Definitions of Managed Objects for the
+ DS1 and E1 Interface Types", RFC 1406, Advanced Computer
+ Communications, Newbridge Networks Corporation, January 1993.
+
+ MGT:17.
+ Cox, T., and K. Tesink, Editors "Definitions of Managed Objects
+ for the DS3/E3 Interface Types", RFC 1407, Bell Communications
+ Research, January 1993.
+
+ MGT:18.
+ McCloghrie, K., "Extensions to the Generic-Interface MIB", RFC
+ 1229, Hughes LAN Systems, August 1992.
+
+ MGT:19.
+ Cox, T., and K. Tesink, "Definitions of Managed Objects for the
+ SIP Interface Type", RFC 1304, Bell Communications Research,
+ February 1992.
+
+ MGT:20
+ Baker, F., "IP Forwarding Table MIB", RFC 1354, ACC, July 1992.
+
+ MGT:21.
+ Malkin, G., and F. Baker, "RIP Version 2 MIB Extension", RFC
+ 1724, Xylogics, Inc., Cisco Systems, November 1994
+
+ MGT:22.
+ Throop, D., "SNMP MIB Extension for the X.25 Packet Layer", RFC
+ 1382, Data General Corporation, November 1992.
+
+
+
+
+
+
+
+Baker Standards Track [Page 141]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ MGT:23.
+ Throop, D., and F. Baker, "SNMP MIB Extension for X.25 LAPB",
+ RFC 1381, Data General Corporation, ACC, November 1992.
+
+ MGT:24.
+ Throop, D., and F. Baker, "SNMP MIB Extension for MultiProtocol
+ Interconnect over X.25", RFC 1461, Data General Corporation, May
+ 1993.
+
+ MGT:25.
+ Rose, M., "SNMP over OSI", RFC 1418, Dover Beach Consulting,
+ Inc., March 1993.
+
+ MGT:26.
+ Minshall, G., and M. Ritter, "SNMP over AppleTalk", RFC 1419,
+ Novell, Inc., Apple Computer, Inc., March 1993.
+
+ MGT:27.
+ Bostock, S., "SNMP over IPX", RFC 1420, Novell, Inc., March
+ 1993.
+
+ MGT:28.
+ Schoffstall, M., Davin, C., Fedor, M., and J. Case, "SNMP over
+ Ethernet", RFC 1089, Rensselaer Polytechnic Institute, MIT
+ Laboratory for Computer Science, NYSERNet, Inc., University of
+ Tennessee at Knoxville, February 1989.
+
+ MGT:29.
+ Case, J., "FDDI Management Information Base", RFC 1285, SNMP
+ Research, Incorporated, January 1992.
+
+ OPER:1.
+ Nagle, J., "Congestion Control in IP/TCP Internetworks", RFC
+ 896, FACC, January 1984.
+
+ OPER:2.
+ Sollins, K., "TFTP Protocol (revision 2)", RFC 1350, MIT, July
+ 1992.
+
+ ROUTE:1.
+ Moy, J., "OSPF Version 2", RFC 1583, Proteon, March 1994.
+
+ ROUTE:2.
+ Callon, R., "Use of OSI IS-IS for Routing in TCP/IP and Dual
+ Environments", RFC 1195, DEC, December 1990.
+
+
+
+
+
+
+Baker Standards Track [Page 142]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ ROUTE:3.
+ Hedrick, C., "Routing Information Protocol", RFC 1058, Rutgers
+ University, June 1988.
+
+ ROUTE:4.
+ Lougheed, K., and Y. Rekhter, "A Border Gateway Protocol 3
+ (BGP-3)", RFC 1267, cisco, T.J. Watson Research Center, IBM
+ Corp., October 1991.
+
+ ROUTE:5.
+ Gross, P, and Y. Rekhter, "Application of the Border Gateway
+ Protocol in the Internet", RFC 1772, T.J. Watson Research
+ Center, IBM Corp., MCI, March 1995.
+
+ ROUTE:6.
+ Mills, D., "Exterior Gateway Protocol Formal Specification", RFC
+ 904, UDEL, April 1984.
+
+ ROUTE:7.
+ Rosen, E., "Exterior Gateway Protocol (EGP)", RFC 827, BBN,
+ October 1982.
+
+ ROUTE:8.
+ Seamonson, L, and E. Rosen, "STUB" "Exterior Gateway Protocol",
+ RFC 888, BBN, January 1984.
+
+ ROUTE:9.
+ Waitzman, D., Partridge, C., and S. Deering, "Distance Vector
+ Multicast Routing Protocol", RFC 1075, BBN, Stanford, November
+ 1988.
+
+ ROUTE:10.
+ Deering, S., Multicast Routing in Internetworks and Extended
+ LANs, Proceedings of '88, Association for Computing Machinery,
+ August 1988.
+
+ ROUTE:11.
+ Almquist, P., "Type of Service in the Internet Protocol Suite",
+ RFC 1349, Consultant, July 1992.
+
+ ROUTE:12.
+ Rekhter, Y., "Experience with the BGP Protocol", RFC 1266, T.J.
+ Watson Research Center, IBM Corp., October 1991.
+
+ ROUTE:13.
+ Rekhter, Y., "BGP Protocol Analysis", RFC 1265, T.J. Watson
+ Research Center, IBM Corp., October 1991.
+
+
+
+
+Baker Standards Track [Page 143]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ TRANS:1.
+ Postel, J., "User Datagram Protocol", STD 6, RFC 768,
+ USC/Information Sciences Institute, August 1980.
+
+ TRANS:2.
+ Postel, J., "Transmission Control Protocol", STD 7, RFC 793,
+ USC/Information Sciences Institute, September 1981.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Baker Standards Track [Page 144]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+APPENDIX A. REQUIREMENTS FOR SOURCE-ROUTING HOSTS
+
+ Subject to restrictions given below, a host MAY be able to act as an
+ intermediate hop in a source route, forwarding a source-routed
+ datagram to the next specified hop.
+
+ However, in performing this router-like function, the host MUST obey
+ all the relevant rules for a router forwarding source-routed
+ datagrams [INTRO:2]. This includes the following specific
+ provisions:
+
+ (A) TTL
+ The TTL field MUST be decremented and the datagram perhaps
+ discarded as specified for a router in [INTRO:2].
+
+ (B) ICMP Destination Unreachable
+ A host MUST be able to generate Destination Unreachable messages
+ with the following codes:
+ 4 (Fragmentation Required but DF Set) when a source-routed
+ datagram cannot be fragmented to fit into the target network;
+ 5 (Source Route Failed) when a source-routed datagram cannot be
+ forwarded, e.g., because of a routing problem or because the
+ next hop of a strict source route is not on a connected
+ network.
+
+ (C) IP Source Address
+ A source-routed datagram being forwarded MAY (and normally will)
+ have a source address that is not one of the IP addresses of the
+ forwarding host.
+
+ (D) Record Route Option
+ A host that is forwarding a source-routed datagram containing a
+ Record Route option MUST update that option, if it has room.
+
+ (E) Timestamp Option
+ A host that is forwarding a source-routed datagram containing a
+ Timestamp Option MUST add the current timestamp to that option,
+ according to the rules for this option.
+
+ To define the rules restricting host forwarding of source-routed
+ datagrams, we use the term local source-routing if the next hop will
+ be through the same physical interface through which the datagram
+ arrived; otherwise, it is non-local source-routing.
+
+ A host is permitted to perform local source-routing without
+ restriction.
+
+
+
+
+
+Baker Standards Track [Page 145]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ A host that supports non-local source-routing MUST have a
+ configurable switch to disable forwarding, and this switch MUST
+ default to disabled.
+
+ The host MUST satisfy all router requirements for configurable policy
+ filters [INTRO:2] restricting non-local forwarding.
+
+ If a host receives a datagram with an incomplete source route but
+ does not forward it for some reason, the host SHOULD return an ICMP
+ Destination Unreachable (code 5, Source Route Failed) message, unless
+ the datagram was itself an ICMP error message.
+
+APPENDIX B. GLOSSARY
+
+ This Appendix defines specific terms used in this memo. It also
+ defines some general purpose terms that may be of interest. See also
+ [INTRO:9] for a more general set of definitions.
+
+ Autonomous System (AS)
+ An Autonomous System (AS) is a connected segment of a network
+ topology that consists of a collection of subnetworks (with
+ hosts attached) interconnected by a set of routes. The
+ subnetworks and the routers are expected to be under the control
+ of a single operations and maintenance (O&M) organization.
+ Within an AS routers may use one or more interior routing
+ protocols, and sometimes several sets of metrics. An AS is
+ expected to present to other ASs an appearence of a coherent
+ interior routing plan, and a consistent picture of the
+ destinations reachable through the AS. An AS is identified by
+ an Autonomous System number.
+ Connected Network
+ A network prefix to which a router is interfaced is often known
+ as a local network or the subnetwork of that router. However,
+ these terms can cause confusion, and therefore we use the term
+ Connected Network in this memo.
+
+ Connected (Sub)Network
+ A Connected (Sub)Network is an IP subnetwork to which a router
+ is interfaced, or a connected network if the connected network
+ is not subnetted. See also Connected Network.
+
+ Datagram
+ The unit transmitted between a pair of internet modules. Data,
+ called datagrams, from sources to destinations. The Internet
+ Protocol does not provide a reliable communication facility.
+ There are no acknowledgments either end-to-end or hop-by-hop.
+ There is no error no retransmissions. There is no flow control.
+ See IP.
+
+
+
+Baker Standards Track [Page 146]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ Default Route
+ A routing table entry that is used to direct any data addressed
+ to any network prefixes not explicitly listed in the routing
+ table.
+
+ Dense Mode
+ In multicast forwarding, two paradigms are possible: in Dense
+ Mode forwarding, a network multicast is forwarded as a data link
+ layer multicast to all interfaces except that on which it was
+ received, unless and until the router is instructed not to by a
+ multicast routing neighbor. See Sparse Mode.
+
+ EGP
+ Exterior Gateway Protocol A protocol that distributes routing
+ information to the gateways (routers) which connect autonomous
+ systems. See IGP.
+
+ EGP-2
+ Exterior Gateway Protocol version 2 This is an EGP routing
+ protocol developed to handle traffic between Autonomous Systems
+ in the Internet.
+
+ Forwarder
+ The logical entity within a router that is responsible for
+ switching packets among the router's interfaces. The Forwarder
+ also makes the decisions to queue a packet for local delivery,
+ to queue a packet for transmission out another interface, or
+ both.
+
+ Forwarding
+ Forwarding is the process a router goes through for each packet
+ received by the router. The packet may be consumed by the
+ router, it may be output on one or more interfaces of the
+ router, or both. Forwarding includes the process of deciding
+ what to do with the packet as well as queuing it up for
+ (possible) output or internal consumption.
+
+ Forwarding Information Base (FIB)
+ The table containing the information necessary to forward IP
+ Datagrams, in this document, is called the Forwarding
+ Information Base. At minimum, this contains the interface
+ identifier and next hop information for each reachable
+ destination network prefix.
+
+ Fragment
+ An IP datagram that represents a portion of a higher layer's
+ packet that was too large to be sent in its entirety over the
+ output network.
+
+
+
+Baker Standards Track [Page 147]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ General Purpose Serial Interface
+ A physical medium capable of connecting exactly two systems, and
+ therefore configurable as a point to point line, but also
+ configurable to support link layer networking using protocols
+ such as X.25 or Frame Relay. A link layer network connects
+ another system to a switch, and a higher communication layer
+ multiplexes virtual circuits on the connection. See Point to
+ Point Line.
+
+ IGP
+ Interior Gateway Protocol A protocol that distributes routing
+ information with an Autonomous System (AS). See EGP.
+
+ Interface IP Address
+ The IP Address and network prefix length that is assigned to a
+ specific interface of a router.
+
+ Internet Address
+ An assigned number that identifies a host in an internet. It
+ has two parts: an IP address and a prefix length. The prefix
+ length indicates how many of the most specific bits of the
+ address constitute the network prefix.
+
+ IP
+ Internet Protocol The network layer protocol for the Internet.
+ It is a packet switching, datagram protocol defined in RFC 791.
+ IP does not provide a reliable communications facility; that is,
+ there are no end-to-end of hop-by-hop acknowledgments.
+
+ IP Datagram
+ An IP Datagram is the unit of end-to-end transmission in the
+ Internet Protocol. An IP Datagram consists of an IP header
+ followed by all of higher-layer data (such as TCP, UDP, ICMP,
+ and the like). An IP Datagram is an IP header followed by a
+ message.
+
+ An IP Datagram is a complete IP end-to-end transmission unit.
+ An IP Datagram is composed of one or more IP Fragments.
+
+ In this memo, the unqualified term Datagram should be understood
+ to refer to an IP Datagram.
+
+ IP Fragment
+ An IP Fragment is a component of an IP Datagram. An IP Fragment
+ consists of an IP header followed by all or part of the higher-
+ layer of the original IP Datagram.
+
+ One or more IP Fragments comprises a single IP Datagram.
+
+
+
+Baker Standards Track [Page 148]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ In this memo, the unqualified term Fragment should be understood
+ to refer to an IP Fragment.
+
+ IP Packet
+ An IP Datagram or an IP Fragment.
+
+ In this memo, the unqualified term Packet should generally be
+ understood to refer to an IP Packet.
+
+ Logical [network] interface
+ We define a logical [network] interface to be a logical path,
+ distinguished by a unique IP address, to a connected network.
+
+ Martian Filtering
+ A packet that contains an invalid source or destination address
+ is considered to be martian and discarded.
+
+ MTU (Maximum Transmission Unit)
+ The size of the largest packet that can be transmitted or
+ received through a logical interface. This size includes the IP
+ header but does not include the size of any Link Layer headers
+ or framing.
+
+ Multicast
+ A packet that is destined for multiple hosts. See broadcast.
+
+ Multicast Address
+ A special type of address that is recognizable by multiple
+ hosts.
+
+ A Multicast Address is sometimes known as a Functional Address
+ or a Group Address.
+
+ Network Prefix
+ The portion of an IP Address that signifies a set of systems.
+ It is selected from the IP Address by logically ANDing a subnet
+ mask with the address, or (equivalently) setting the bits of the
+ address not among the most significant <prefix-length> bits of
+ the address to zero.
+
+ Originate
+ Packets can be transmitted by a router for one of two reasons:
+ 1) the packet was received and is being forwarded or 2) the
+ router itself created the packet for transmission (such as route
+ advertisements). Packets that the router creates for
+ transmission are said to originate at the router.
+
+
+
+
+
+Baker Standards Track [Page 149]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ Packet
+ A packet is the unit of data passed across the interface between
+ the Internet Layer and the Link Layer. It includes an IP header
+ and data. A packet may be a complete IP datagram or a fragment
+ of an IP datagram.
+
+ Path
+ The sequence of routers and (sub-)networks that a packet
+ traverses from a particular router to a particular destination
+ host. Note that a path is uni-directional; it is not unusual to
+ have different paths in the two directions between a given host
+ pair.
+
+ Physical Network
+ A Physical Network is a network (or a piece of an internet)
+ which is contiguous at the Link Layer. Its internal structure
+ (if any) is transparent to the Internet Layer.
+
+ In this memo, several media components that are connected using
+ devices such as bridges or repeaters are considered to be a
+ single Physical Network since such devices are transparent to
+ the IP.
+
+ Physical Network Interface
+ This is a physical interface to a Connected Network and has a
+ (possibly unique) Link-Layer address. Multiple Physical Network
+ Interfaces on a single router may share the same Link-Layer
+ address, but the address must be unique for different routers on
+ the same Physical Network.
+
+ Point to Point Line
+ A physical medium capable of connecting exactly two systems. In
+ this document, it is only used to refer to such a line when used
+ to connect IP entities. See General Purpose Serial Interface.
+
+ router
+ A special-purpose dedicated computer that connects several
+ networks. Routers switch packets between these networks in a
+ process known as forwarding. This process may be repeated
+ several times on a single packet by multiple routers until the
+ packet can be delivered to the final destination - switching the
+ packet from router to router to router... until the packet gets
+ to its destination.
+
+ RPF
+ Reverse Path Forwarding - A method used to deduce the next hops
+ for broadcast and multicast packets.
+
+
+
+
+Baker Standards Track [Page 150]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ Silently Discard
+ This memo specifies several cases where a router is to Silently
+ Discard a received packet (or datagram). This means that the
+ router should discard the packet without further processing, and
+ that the router will not send any ICMP error message (see
+ Section [4.3.2]) as a result. However, for diagnosis of
+ problems, the router should provide the capability of logging
+ the error (see Section [1.3.3]), including the contents of the
+ silently discarded packet, and should record the event in a
+ statistics counter.
+
+ Silently Ignore
+ A router is said to Silently Ignore an error or condition if it
+ takes no action other than possibly generating an error report
+ in an error log or through some network management protocol, and
+ discarding, or ignoring, the source of the error. In
+ particular, the router does NOT generate an ICMP error message.
+
+ Sparse Mode
+ In multicast forwarding, two paradigms are possible: in Sparse
+ Mode forwarding, a network layer multicast datagram is forwarded
+ as a data link layer multicast frame to routers and hosts that
+ have asked for it. The initial forwarding state is the inverse
+ of dense-mode in that it assumes no part of the network wants
+ the data. See Dense Mode.
+
+ Specific-destination address
+ This is defined to be the destination address in the IP header
+ unless the header contains an IP broadcast or IP multicast
+ address, in which case the specific-destination is an IP address
+ assigned to the physical interface on which the packet arrived.
+
+ subnet
+ A portion of a network, which may be a physically independent
+ network, which shares a network address with other portions of
+ the network and is distinguished by a subnet number. A subnet
+ is to a network what a network is to an internet.
+
+ subnet number
+ A part of the internet address that designates a subnet. It is
+ ignored for the purposes internet routing, but is used for
+ intranet routing.
+
+ TOS
+ Type Of Service A field in the IP header that represents the
+ degree of reliability expected from the network layer by the
+ transport layer or application.
+
+
+
+
+Baker Standards Track [Page 151]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ TTL
+ Time To Live A field in the IP header that represents how long a
+ packet is considered valid. It is a combination hop count and
+ timer value.
+
+APPENDIX C. FUTURE DIRECTIONS
+
+ This appendix lists work that future revisions of this document may
+ wish to address.
+
+ In the preparation of Router Requirements, we stumbled across several
+ other architectural issues. Each of these is dealt with somewhat in
+ the document, but still ought to be classified as an open issue in
+ the IP architecture.
+
+ Most of the he topics presented here generally indicate areas where
+ the technology is still relatively new and it is not appropriate to
+ develop specific requirements since the community is still gaining
+ operational experience.
+
+ Other topics represent areas of ongoing research and indicate areas
+ that the prudent developer would closely monitor.
+
+ (1) SNMP Version 2
+
+ (2) Additional SNMP MIBs
+
+ (7) More detailed requirements for leaking routes between routing
+ protocols
+
+ (8) Router system security
+
+ (9) Routing protocol security
+
+ (10) Internetwork Protocol layer security. There has been extensive
+ work refining the security of IP since the original work writing
+ this document. This security work should be included in here.
+
+ (12) Load Splitting
+
+ (13) Sending fragments along different paths
+
+
+ (15) Multiple logical (sub)nets on the same wire. Router
+ Requirements does not require support for this. We made some
+ attempt to identify pieces of the architecture (e.g., forwarding
+ of directed broadcasts and issuing of Redirects) where the
+ wording of the rules has to be done carefully to make the right
+
+
+
+Baker Standards Track [Page 152]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ thing happen, and tried to clearly distinguish logical
+ interfaces from physical interfaces. However, we did not study
+ this issue in detail, and we are not at all confident that all
+ the rules in the document are correct in the presence of
+ multiple logical (sub)nets on the same wire.
+
+ (15) Congestion control and resource management. On the advice of
+ the IETF's experts (Mankin and Ramakrishnan) we deprecated
+ (SHOULD NOT) Source Quench and said little else concrete
+ (Section 5.3.6).
+
+ (16) Developing a Link-Layer requirements document that would be
+ common for both routers and hosts.
+
+ (17) Developing a common PPP LQM algorithm.
+
+ (18) Investigate of other information (above and beyond section
+ [3.2]) that passes between the layers, such as physical network
+ MTU, mappings of IP precedence to Link Layer priority values,
+ etc.
+
+ (19) Should the Link Layer notify IP if address resolution failed
+ (just like it notifies IP when there is a Link Layer priority
+ value problem)?
+
+ (20) Should all routers be required to implement a DNS resolver?
+
+ (21) Should a human user be able to use a host name anywhere you can
+ use an IP address when configuring the router? Even in ping and
+ traceroute?
+
+ (22) Almquist's draft ruminations on the next hop and ruminations on
+ route leaking need to be reviewed, brought up to date, and
+ published.
+
+ (23) Investigation is needed to determine if a redirect message for
+ precedence is needed or not. If not, are the type-of-service
+ redirects acceptable?
+
+ (24) RIPv2 and RIP+CIDR and variable length network prefixes.
+
+ (25) BGP-4 CIDR is going to be important, and everyone is betting on
+ BGP-4. We can't avoid mentioning it. Probably need to describe
+ the differences between BGP-3 and BGP-4, and explore upgrade
+ issues...
+
+ (26) Loose Source Route Mobile IP and some multicasting may require
+ this. Perhaps it should be elevated to a SHOULD (per Fred
+
+
+
+Baker Standards Track [Page 153]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ Baker's Suggestion).
+
+
+APPENDIX D. Multicast Routing Protocols
+
+ Multicasting is a relatively new technology within the Internet
+ Protocol family. It is not widely deployed or commonly in use yet.
+ Its importance, however, is expected to grow over the coming years.
+
+ This Appendix describes some of the technologies being investigated
+ for routing multicasts through the Internet.
+
+ A diligent implementor will keep abreast of developments in this area
+ to properly develop multicast facilities.
+
+ This Appendix does not specify any standards or requirements.
+
+D.1 Introduction
+
+ Multicast routing protocols enable the forwarding of IP multicast
+ datagrams throughout a TCP/IP internet. Generally these algorithms
+ forward the datagram based on its source and destination addresses.
+ Additionally, the datagram may need to be forwarded to several
+ multicast group members, at times requiring the datagram to be
+ replicated and sent out multiple interfaces.
+
+ The state of multicast routing protocols is less developed than the
+ protocols available for the forwarding of IP unicasts. Three
+ experimental multicast routing protocols have been documented for
+ TCP/IP. Each uses the IGMP protocol (discussed in Section [4.4]) to
+ monitor multicast group membership.
+
+D.2 Distance Vector Multicast Routing Protocol - DVMRP
+
+ DVMRP, documented in [ROUTE:9], is based on Distance Vector or
+ Bellman-Ford technology. It routes multicast datagrams only, and
+ does so within a single Autonomous System. DVMRP is an
+ implementation of the Truncated Reverse Path Broadcasting algorithm
+ described in [ROUTE:10]. In addition, it specifies the tunneling of
+ IP multicasts through non-multicast-routing-capable IP domains.
+
+D.3 Multicast Extensions to OSPF - MOSPF
+
+ MOSPF, currently under development, is a backward-compatible addition
+ to OSPF that allows the forwarding of both IP multicasts and unicasts
+ within an Autonomous System. MOSPF routers can be mixed with OSPF
+ routers within a routing domain, and they will interoperate in the
+ forwarding of unicasts. OSPF is a link-state or SPF-based protocol.
+
+
+
+Baker Standards Track [Page 154]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ By adding link state advertisements that pinpoint group membership,
+ MOSPF routers can calculate the path of a multicast datagram as a
+ tree rooted at the datagram source. Those branches that do not
+ contain group members can then be discarded, eliminating unnecessary
+ datagram forwarding hops.
+
+D.4 Protocol Independent Multicast - PIM
+
+ PIM, currently under development, is a multicast routing protocol
+ that runs over an existing unicast infrastructure. PIM provides for
+ both dense and sparse group membership. It is different from other
+ protocols, since it uses an explicit join model for sparse groups.
+ Joining occurs on a shared tree and can switch to a per-source tree.
+ Where bandwidth is plentiful and group membership is dense, overhead
+ can be reduced by flooding data out all links and later pruning
+ exception cases where there are no group members.
+
+APPENDIX E Additional Next-Hop Selection Algorithms
+
+ Section [5.2.4.3] specifies an algorithm that routers ought to use
+ when selecting a next-hop for a packet.
+
+ This appendix provides historical perspective for the next-hop
+ selection problem. It also presents several additional pruning rules
+ and next-hop selection algorithms that might be found in the
+ Internet.
+
+ This appendix presents material drawn from an earlier, unpublished,
+ work by Philip Almquist; Ruminations on the Next Hop.
+
+ This Appendix does not specify any standards or requirements.
+
+E.1. Some Historical Perspective
+
+ It is useful to briefly review the history of the topic, beginning
+ with what is sometimes called the "classic model" of how a router
+ makes routing decisions. This model predates IP. In this model, a
+ router speaks some single routing protocol such as RIP. The protocol
+ completely determines the contents of the router's Forwarding
+ Information Base (FIB). The route lookup algorithm is trivial: the
+ router looks in the FIB for a route whose destination attribute
+ exactly matches the network prefix portion of the destination address
+ in the packet. If one is found, it is used; if none is found, the
+ destination is unreachable. Because the routing protocol keeps at
+ most one route to each destination, the problem of what to do when
+ there are multiple routes that match the same destination cannot
+ arise.
+
+
+
+
+Baker Standards Track [Page 155]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ Over the years, this classic model has been augmented in small ways.
+ With the deployment of default routes, subnets, and host routes, it
+ became possible to have more than one routing table entry which in
+ some sense matched the destination. This was easily resolved by a
+ consensus that there was a hierarchy of routes: host routes should be
+ preferred over subnet routes, subnet routes over net routes, and net
+ routes over default routes.
+
+ With the deployment of technologies supporting variable length subnet
+ masks (variable length network prefixes), the general approach
+ remained the same although its description became a little more
+ complicated; network prefixes were introduced as a conscious
+ simplification and regularization of the architecture. We now say
+ that each route to a network prefix route has a prefix length
+ associated with it. This prefix length indicates the number of bits
+ in the prefix. This may also be represented using the classical
+ subnet mask. A route cannot be used to route a packet unless each
+ significant bit in the route's network prefix matches the
+ corresponding bit in the packet's destination address. Routes with
+ more bits set in their masks are preferred over routes that have
+ fewer bits set in their masks. This is simply a generalization of
+ the hierarchy of routes described above, and will be referred to for
+ the rest of this memo as choosing a route by preferring longest
+ match.
+
+ Another way the classic model has been augmented is through a small
+ amount of relaxation of the notion that a routing protocol has
+ complete control over the contents of the routing table. First,
+ static routes were introduced. For the first time, it was possible
+ to simultaneously have two routes (one dynamic and one static) to the
+ same destination. When this happened, a router had to have a policy
+ (in some cases configurable, and in other cases chosen by the author
+ of the router's software) which determined whether the static route
+ or the dynamic route was preferred. However, this policy was only
+ used as a tie-breaker when longest match didn't uniquely determine
+ which route to use. Thus, for example, a static default route would
+ never be preferred over a dynamic net route even if the policy
+ preferred static routes over dynamic routes.
+
+ The classic model had to be further augmented when inter-domain
+ routing protocols were invented. Traditional routing protocols came
+ to be called "interior gateway protocols" (IGPs), and at each
+ Internet site there was a strange new beast called an "exterior
+ gateway", a router that spoke EGP to several "BBN Core Gateways" (the
+ routers that made up the Internet backbone at the time) at the same
+ time as it spoke its IGP to the other routers at its site. Both
+ protocols wanted to determine the contents of the router's routing
+ table. Theoretically, this could result in a router having three
+
+
+
+Baker Standards Track [Page 156]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ routes (EGP, IGP, and static) to the same destination. Because of
+ the Internet topology at the time, it was resolved with little debate
+ that routers would be best served by a policy of preferring IGP
+ routes over EGP routes. However, the sanctity of longest match
+ remained unquestioned: a default route learned from the IGP would
+ never be preferred over a net route from learned EGP.
+
+ Although the Internet topology, and consequently routing in the
+ Internet, have evolved considerably since then, this slightly
+ augmented version of the classic model has survived intact to this
+ day in the Internet (except that BGP has replaced EGP). Conceptually
+ (and often in implementation) each router has a routing table and one
+ or more routing protocol processes. Each of these processes can add
+ any entry that it pleases, and can delete or modify any entry that it
+ has created. When routing a packet, the router picks the best route
+ using longest match, augmented with a policy mechanism to break ties.
+ Although this augmented classic model has served us well, it has a
+ number of shortcomings:
+
+ o It ignores (although it could be augmented to consider) path
+ characteristics such as quality of service and MTU.
+
+ o It doesn't support routing protocols (such as OSPF and Integrated
+ IS-IS) that require route lookup algorithms different than pure
+ longest match.
+
+ o There has not been a firm consensus on what the tie-breaking
+ mechanism ought to be. Tie-breaking mechanisms have often been
+ found to be difficult if not impossible to configure in such a way
+ that the router will always pick what the network manger considers
+ to be the "correct" route.
+
+E.2. Additional Pruning Rules
+
+ Section [5.2.4.3] defined several pruning rules to use to select
+ routes from the FIB. There are other rules that could also be
+ used.
+
+ o OSPF Route Class
+ Routing protocols that have areas or make a distinction between
+ internal and external routes divide their routes into classes
+ by the type of information used to calculate the route. A
+ route is always chosen from the most preferred class unless
+ none is available, in which case one is chosen from the second
+ most preferred class, and so on. In OSPF, the classes (in
+ order from most preferred to least preferred) are intra-area,
+ inter-area, type 1 external (external routes with internal
+ metrics), and type 2 external. As an additional wrinkle, a
+
+
+
+Baker Standards Track [Page 157]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ router is configured to know what addresses ought to be
+ accessible using intra-area routes, and will not use inter-
+ area or external routes to reach these destinations even when
+ no intra-area route is available.
+
+ More precisely, we assume that each route has a class
+ attribute, called route.class, which is assigned by the routing
+ protocol. The set of candidate routes is examined to determine
+ if it contains any for which route.class = intra-area. If so,
+ all routes except those for which route.class = intra-area are
+ discarded. Otherwise, router checks whether the packet's
+ destination falls within the address ranges configured for the
+ local area. If so, the entire set of candidate routes is
+ deleted. Otherwise, the set of candidate routes is examined to
+ determine if it contains any for which route.class = inter-
+ area. If so, all routes except those for which route.class =
+ inter-area are discarded. Otherwise, the set of candidate
+ routes is examined to determine if it contains any for which
+ route.class = type 1 external. If so, all routes except those
+ for which route.class = type 1 external are discarded.
+
+ o IS-IS Route Class
+ IS-IS route classes work identically to OSPF's. However, the
+ set of classes defined by Integrated IS-IS is different, such
+ that there isn't a one-to-one mapping between IS-IS route
+ classes and OSPF route classes. The route classes used by
+ Integrated IS-IS are (in order from most preferred to least
+ preferred) intra-area, inter-area, and external.
+
+ The Integrated IS-IS internal class is equivalent to the OSPF
+ internal class. Likewise, the Integrated IS-IS external class
+ is equivalent to OSPF's type 2 external class. However,
+ Integrated IS-IS does not make a distinction between inter-area
+ routes and external routes with internal metrics - both are
+ considered to be inter-area routes. Thus, OSPF prefers true
+ inter-area routes over external routes with internal metrics,
+ whereas Integrated IS-IS gives the two types of routes equal
+ preference.
+
+ o IDPR Policy
+ A specific case of Policy. The IETF's Inter-domain Policy
+ Routing Working Group is devising a routing protocol called
+ Inter-Domain Policy Routing (IDPR) to support true policy-based
+ routing in the Internet. Packets with certain combinations of
+ header attributes (such as specific combinations of source and
+ destination addresses or special IDPR source route options) are
+ required to use routes provided by the IDPR protocol. Thus,
+ unlike other Policy pruning rules, IDPR Policy would have to be
+
+
+
+Baker Standards Track [Page 158]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ applied before any other pruning rules except Basic Match.
+
+ Specifically, IDPR Policy examines the packet being forwarded
+ to ascertain if its attributes require that it be forwarded
+ using policy-based routes. If so, IDPR Policy deletes all
+ routes not provided by the IDPR protocol.
+
+E.3 Some Route Lookup Algorithms
+
+ This section examines several route lookup algorithms that are in
+ use or have been proposed. Each is described by giving the
+ sequence of pruning rules it uses. The strengths and weaknesses
+ of each algorithm are presented
+
+E.3.1 The Revised Classic Algorithm
+
+ The Revised Classic Algorithm is the form of the traditional
+ algorithm that was discussed in Section [E.1]. The steps of this
+ algorithm are:
+
+ 1. Basic match
+ 2. Longest match
+ 3. Best metric
+ 4. Policy
+
+ Some implementations omit the Policy step, since it is needed only
+ when routes may have metrics that are not comparable (because they
+ were learned from different routing domains).
+
+ The advantages of this algorithm are:
+
+ (1) It is widely implemented.
+
+ (2) Except for the Policy step (which an implementor can choose to
+ make arbitrarily complex) the algorithm is simple both to
+ understand and to implement.
+
+ Its disadvantages are:
+
+ (1) It does not handle IS-IS or OSPF route classes, and therefore
+ cannot be used for Integrated IS-IS or OSPF.
+
+ (2) It does not handle TOS or other path attributes.
+
+ (3) The policy mechanisms are not standardized in any way, and are
+ therefore are often implementation-specific. This causes
+ extra work for implementors (who must invent appropriate
+ policy mechanisms) and for users (who must learn how to use
+
+
+
+Baker Standards Track [Page 159]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ the mechanisms. This lack of a standardized mechanism also
+ makes it difficult to build consistent configurations for
+ routers from different vendors. This presents a significant
+ practical deterrent to multi-vendor interoperability.
+
+ (4) The proprietary policy mechanisms currently provided by
+ vendors are often inadequate in complex parts of the
+ Internet.
+
+ (5) The algorithm has not been written down in any generally
+ available document or standard. It is, in effect, a part of
+ the Internet Folklore.
+
+E.3.2 The Variant Router Requirements Algorithm
+
+ Some Router Requirements Working Group members have proposed a
+ slight variant of the algorithm described in the Section
+ [5.2.4.3]. In this variant, matching the type of service
+ requested is considered to be more important, rather than less
+ important, than matching as much of the destination address as
+ possible. For example, this algorithm would prefer a default
+ route that had the correct type of service over a network route
+ that had the default type of service, whereas the algorithm in
+ [5.2.4.3] would make the opposite choice.
+
+ The steps of the algorithm are:
+
+ 1. Basic match
+ 2. Weak TOS
+ 3. Longest match
+ 4. Best metric
+ 5. Policy
+
+ Debate between the proponents of this algorithm and the regular
+ Router Requirements Algorithm suggests that each side can show
+ cases where its algorithm leads to simpler, more intuitive routing
+ than the other's algorithm does. This variant has the same set of
+ advantages and disadvantages that the algorithm specified in
+ [5.2.4.3] does, except that pruning on Weak TOS before pruning on
+ Longest Match makes this algorithm less compatible with OSPF and
+ Integrated IS-IS than the standard Router Requirements Algorithm.
+
+E.3.3 The OSPF Algorithm
+
+ OSPF uses an algorithm that is virtually identical to the Router
+ Requirements Algorithm except for one crucial difference: OSPF
+ considers OSPF route classes.
+
+
+
+
+Baker Standards Track [Page 160]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ The algorithm is:
+
+ 1. Basic match
+ 2. OSPF route class
+ 3. Longest match
+ 4. Weak TOS
+ 5. Best metric
+ 6. Policy
+
+ Type of service support is not always present. If it is not
+ present then, of course, the fourth step would be omitted
+
+ This algorithm has some advantages over the Revised Classic
+ Algorithm:
+
+ (1) It supports type of service routing.
+
+ (2) Its rules are written down, rather than merely being a part of
+ the Internet folklore.
+
+ (3) It (obviously) works with OSPF.
+
+ However, this algorithm also retains some of the disadvantages of
+ the Revised Classic Algorithm:
+
+ (1) Path properties other than type of service (e.g., MTU) are
+ ignored.
+
+ (2) As in the Revised Classic Algorithm, the details (or even the
+ existence) of the Policy step are left to the discretion of
+ the implementor.
+
+ The OSPF Algorithm also has a further disadvantage (which is not
+ shared by the Revised Classic Algorithm). OSPF internal (intra-
+ area or inter-area) routes are always considered to be superior to
+ routes learned from other routing protocols, even in cases where
+ the OSPF route matches fewer bits of the destination address.
+ This is a policy decision that is inappropriate in some networks.
+
+ Finally, it is worth noting that the OSPF Algorithm's TOS support
+ suffers from a deficiency in that routing protocols that support
+ TOS are implicitly preferred when forwarding packets that have
+ non-zero TOS values. This may not be appropriate in some cases.
+
+
+
+
+
+
+
+
+Baker Standards Track [Page 161]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+E.3.4 The Integrated IS-IS Algorithm
+
+ Integrated IS-IS uses an algorithm that is similar to but not quite
+ identical to the OSPF Algorithm. Integrated IS-IS uses a different
+ set of route classes, and differs slightly in its handling of type of
+ service. The algorithm is:
+
+ 1. Basic Match
+ 2. IS-IS Route Classes
+ 3. Longest Match
+ 4. Weak TOS
+ 5. Best Metric
+ 6. Policy
+
+ Although Integrated IS-IS uses Weak TOS, the protocol is only capable
+ of carrying routes for a small specific subset of the possible values
+ for the TOS field in the IP header. Packets containing other values
+ in the TOS field are routed using the default TOS.
+
+ Type of service support is optional; if disabled, the fourth step
+ would be omitted. As in OSPF, the specification does not include the
+ Policy step.
+
+ This algorithm has some advantages over the Revised Classic
+ Algorithm:
+
+ (1) It supports type of service routing.
+ (2) Its rules are written down, rather than merely being a part of
+ the Internet folklore.
+ (3) It (obviously) works with Integrated IS-IS.
+
+ However, this algorithm also retains some of the disadvantages of the
+ Revised Classic Algorithm:
+
+ (1) Path properties other than type of service (e.g., MTU) are
+ ignored.
+ (2) As in the Revised Classic Algorithm, the details (or even the
+ existence) of the Policy step are left to the discretion of the
+ implementor.
+ (3) It doesn't work with OSPF because of the differences between IS-
+ IS route classes and OSPF route classes. Also, because IS-IS
+ supports only a subset of the possible TOS values, some obvious
+ implementations of the Integrated IS-IS algorithm would not
+ support OSPF's interpretation of TOS.
+
+ The Integrated IS-IS Algorithm also has a further disadvantage (which
+ is not shared by the Revised Classic Algorithm): IS-IS internal
+ (intra-area or inter-area) routes are always considered to be
+
+
+
+Baker Standards Track [Page 162]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ superior to routes learned from other routing protocols, even in
+ cases where the IS-IS route matches fewer bits of the destination
+ address and doesn't provide the requested type of service. This is a
+ policy decision that may not be appropriate in all cases.
+
+ Finally, it is worth noting that the Integrated IS-IS Algorithm's TOS
+ support suffers from the same deficiency noted for the OSPF
+ Algorithm.
+
+Security Considerations
+
+ Although the focus of this document is interoperability rather than
+ security, there are obviously many sections of this document that
+ have some ramifications on network security.
+
+ Security means different things to different people. Security from a
+ router's point of view is anything that helps to keep its own
+ networks operational and in addition helps to keep the Internet as a
+ whole healthy. For the purposes of this document, the security
+ services we are concerned with are denial of service, integrity, and
+ authentication as it applies to the first two. Privacy as a security
+ service is important, but only peripherally a concern of a router -
+ at least as of the date of this document.
+
+ In several places in this document there are sections entitled ...
+ Security Considerations. These sections discuss specific
+ considerations that apply to the general topic under discussion.
+
+ Rarely does this document say do this and your router/network will be
+ secure. More likely, it says this is a good idea and if you do it,
+ it *may* improve the security of the Internet and your local system
+ in general.
+
+ Unfortunately, this is the state-of-the-art AT THIS TIME. Few if any
+ of the network protocols a router is concerned with have reasonable,
+ built-in security features. Industry and the protocol designers have
+ been and are continuing to struggle with these issues. There is
+ progress, but only small baby steps such as the peer-to-peer
+ authentication available in the BGP and OSPF routing protocols.
+
+ In particular, this document notes the current research into
+ developing and enhancing network security. Specific areas of
+ research, development, and engineering that are underway as of this
+ writing (December 1993) are in IP Security, SNMP Security, and common
+ authentication technologies.
+
+ Notwithstanding all the above, there are things both vendors and
+ users can do to improve the security of their router. Vendors should
+
+
+
+Baker Standards Track [Page 163]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ get a copy of Trusted Computer System Interpretation [INTRO:8]. Even
+ if a vendor decides not to submit their device for formal
+ verification under these guidelines, the publication provides
+ excellent guidance on general security design and practices for
+ computing devices.
+
+APPENDIX F: HISTORICAL ROUTING PROTOCOLS
+
+ Certain routing protocols are common in the Internet, but the authors
+ of this document cannot in good conscience recommend their use. This
+ is not because they do not work correctly, but because the
+ characteristics of the Internet assumed in their design (simple
+ routing, no policy, a single "core router" network under common
+ administration, limited complexity, or limited network diameter) are
+ not attributes of today's Internet. Those parts of the Internet that
+ still use them are generally limited "fringe" domains with limited
+ complexity.
+
+ As a matter of good faith, collected wisdom concerning their
+ implementation is recorded in this section.
+
+F.1 EXTERIOR GATEWAY PROTOCOL - EGP
+
+F.1.1 Introduction
+
+ The Exterior Gateway Protocol (EGP) specifies an EGP that is used to
+ exchange reachability information between routers of the same or
+ differing autonomous systems. EGP is not considered a routing
+ protocol since there is no standard interpretation (i.e. metric) for
+ the distance fields in the EGP update message, so distances are
+ comparable only among routers of the same AS. It is however designed
+ to provide high-quality reachability information, both about neighbor
+ routers and about routes to non-neighbor routers.
+
+ EGP is defined by [ROUTE:6]. An implementor almost certainly wants
+ to read [ROUTE:7] and [ROUTE:8] as well, for they contain useful
+ explanations and background material.
+
+ DISCUSSION
+ The present EGP specification has serious limitations, most
+ importantly a restriction that limits routers to advertising only
+ those networks that are reachable from within the router's
+ autonomous system. This restriction against propagating third
+ party EGP information is to prevent long-lived routing loops.
+ This effectively limits EGP to a two-level hierarchy.
+
+ RFC-975 is not a part of the EGP specification, and should be
+ ignored.
+
+
+
+Baker Standards Track [Page 164]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+F.1.2 Protocol Walk-through
+
+ Indirect Neighbors: RFC-888, page 26
+
+ An implementation of EGP MUST include indirect neighbor
+ support.
+
+ Polling Intervals: RFC-904, page 10
+
+ The interval between Hello command retransmissions and the
+ interval between Poll retransmissions SHOULD be configurable
+ but there MUST be a minimum value defined.
+
+ The interval at which an implementation will respond to Hello
+ commands and Poll commands SHOULD be configurable but there
+ MUST be a minimum value defined.
+
+ Network Reachability: RFC-904, page 15
+
+ An implementation MUST default to not providing the external list of
+ routers in other autonomous systems; only the internal list of
+ routers together with the nets that are reachable through those
+ routers should be included in an Update Response/Indication packet.
+ However, an implementation MAY elect to provide a configuration
+ option enabling the external list to be provided. An implementation
+ MUST NOT include in the external list routers that were learned
+ through the external list provided by a router in another autonomous
+ system. An implementation MUST NOT send a network back to the
+ autonomous system from which it is learned, i.e. it MUST do split-
+ horizon on an autonomous system level.
+
+ If more than 255 internal or 255 external routers need to be
+ specified in a Network Reachability update, the networks reachable
+ from routers that can not be listed MUST be merged into the list for
+ one of the listed routers. Which of the listed routers is chosen for
+ this purpose SHOULD be user configurable, but SHOULD default to the
+ source address of the EGP update being generated.
+
+ An EGP update contains a series of blocks of network numbers, where
+ each block contains a list of network numbers reachable at a
+ particular distance through a particular router. If more than 255
+ networks are reachable at a particular distance through a particular
+ router, they are split into multiple blocks (all of which have the
+ same distance). Similarly, if more than 255 blocks are required to
+ list the networks reachable through a particular router, the router's
+ address is listed as many times as necessary to include all the
+ blocks in the update.
+
+
+
+
+Baker Standards Track [Page 165]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+Unsolicited Updates: RFC-904, page 16
+
+ If a network is shared with the peer, an implementation MUST send an
+ unsolicited update upon entry to the Up state if the source network
+ is the shared network.
+
+Neighbor Reachability: RFC-904, page 6, 13-15
+
+ The table on page 6 that describes the values of j and k (the
+ neighbor up and down thresholds) is incorrect. It is reproduced
+ correctly here:
+
+ Name Active Passive Description
+ -----------------------------------------------
+ j 3 1 neighbor-up threshold
+ k 1 0 neighbor-down threshold
+
+ The value for k in passive mode also specified incorrectly in RFC-
+ 904, page 14 The values in parenthesis should read:
+
+ (j = 1, k = 0, and T3/T1 = 4)
+
+ As an optimization, an implementation can refrain from sending a
+ Hello command when a Poll is due. If an implementation does so, it
+ SHOULD provide a user configurable option to disable this
+ optimization.
+
+Abort timer: RFC-904, pages 6, 12, 13
+
+ An EGP implementation MUST include support for the abort timer (as
+ documented in section 4.1.4 of RFC-904). An implementation SHOULD
+ use the abort timer in the Idle state to automatically issue a Start
+ event to restart the protocol machine. Recommended values are P4 for
+ a critical error (Administratively prohibited, Protocol Violation and
+ Parameter Problem) and P5 for all others. The abort timer SHOULD NOT
+ be started when a Stop event was manually initiated (such as through
+ a network management protocol).
+
+Cease command received in Idle state: RFC-904, page 13
+
+ When the EGP state machine is in the Idle state, it MUST reply to
+ Cease commands with a Cease-ack response.
+
+Hello Polling Mode: RFC-904, page 11
+
+ An EGP implementation MUST include support for both active and
+ passive polling modes.
+
+
+
+
+Baker Standards Track [Page 166]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+Neighbor Acquisition Messages: RFC-904, page 18
+
+ As noted the Hello and Poll Intervals should only be present in
+ Request and Confirm messages. Therefore the length of an EGP
+ Neighbor Acquisition Message is 14 bytes for a Request or Confirm
+ message and 10 bytes for a Refuse, Cease or Cease-ack message.
+ Implementations MUST NOT send 14 bytes for Refuse, Cease or Cease-ack
+ messages but MUST allow for implementations that send 14 bytes for
+ these messages.
+
+Sequence Numbers: RFC-904, page 10
+
+ Response or indication packets received with a sequence number not
+ equal to S MUST be discarded. The send sequence number S MUST be
+ incremented just before the time a Poll command is sent and at no
+ other times.
+
+F.2 ROUTING INFORMATION PROTOCOL - RIP
+
+F.2.1 Introduction
+
+ RIP is specified in [ROUTE:3]. Although RIP is still quite important
+ in the Internet, it is being replaced in sophisticated applications
+ by more modern IGPs such as the ones described above. A router
+ implementing RIP SHOULD implement RIP Version 2 [ROUTE:?], as it
+ supports CIDR routes. If occasional access networking is in use, a
+ router implementing RIP SHOULD implement Demand RIP [ROUTE:?].
+
+ Another common use for RIP is as a router discovery protocol.
+ Section [4.3.3.10] briefly touches upon this subject.
+
+F.2.2 Protocol Walk-Through
+
+ Dealing with changes in topology: [ROUTE:3], page 11
+
+ An implementation of RIP MUST provide a means for timing out
+ routes. Since messages are occasionally lost, implementations
+ MUST NOT invalidate a route based on a single missed update.
+
+ Implementations MUST by default wait six times the update
+ interval before invalidating a route. A router MAY have
+ configuration options to alter this value.
+
+ DISCUSSION
+ It is important to routing stability that all routers in a RIP
+ autonomous system use similar timeout value for invalidating
+ routes, and therefore it is important that an implementation
+ default to the timeout value specified in the RIP specification.
+
+
+
+Baker Standards Track [Page 167]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ However, that timeout value is too conservative in environments
+ where packet loss is reasonably rare. In such an environment, a
+ network manager may wish to be able to decrease the timeout period
+ to promote faster recovery from failures.
+
+ IMPLEMENTATION
+ There is a very simple mechanism that a router may use to meet the
+ requirement to invalidate routes promptly after they time out.
+ Whenever the router scans the routing table to see if any routes
+ have timed out, it also notes the age of the least recently
+ updated route that has not yet timed out. Subtracting this age
+ from the timeout period gives the amount of time until the router
+ again needs to scan the table for timed out routes.
+
+Split Horizon: [ROUTE:3], page 14-15
+
+ An implementation of RIP MUST implement split horizon, a scheme used
+ for avoiding problems caused by including routes in updates sent to
+ the router from which they were learned.
+
+ An implementation of RIP SHOULD implement Split horizon with poisoned
+ reverse, a variant of split horizon that includes routes learned from
+ a router sent to that router, but sets their metric to infinity.
+ Because of the routing overhead that may be incurred by implementing
+ split horizon with poisoned reverse, implementations MAY include an
+ option to select whether poisoned reverse is in effect. An
+ implementation SHOULD limit the time in which it sends reverse routes
+ at an infinite metric.
+
+ IMPLEMENTATION
+ Each of the following algorithms can be used to limit the time for
+ which poisoned reverse is applied to a route. The first algorithm
+ is more complex but does a more thorough job of limiting poisoned
+ reverse to only those cases where it is necessary.
+
+ The goal of both algorithms is to ensure that poison reverse is
+ done for any destination whose route has changed in the last Route
+ Lifetime (typically 180 seconds), unless it can be sure that the
+ previous route used the same output interface. The Route Lifetime
+ is used because that is the amount of time RIP will keep around an
+ old route before declaring it stale.
+
+ The time intervals (and derived variables) used in the following
+ algorithms are as follows:
+
+ Tu The Update Timer; the number of seconds between RIP updates.
+ This typically defaults to 30 seconds.
+
+
+
+
+Baker Standards Track [Page 168]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ Rl The Route Lifetime, in seconds. This is the amount of time
+ that a route is presumed to be good, without requiring an
+ update. This typically defaults to 180 seconds.
+
+ Ul The Update Loss; the number of consecutive updates that have to
+ be lost or fail to mention a route before RIP deletes the
+ route. Ul is calculated to be (Rl/Tu)+1. The +1 is to
+ account for the fact that the first time the ifcounter is
+ decremented will be less than Tu seconds after it is
+ initialized. Typically, Ul will be 7: (180/30)+1.
+
+
+ In The value to set ifcounter to when a destination is newly
+ learned. This value is Ul-4, where the 4 is RIP's garbage
+ collection timer/30
+
+ The first algorithm is:
+
+ - Associated with each destination is a counter, called the
+ ifcounter below. Poison reverse is done for any route whose
+ destination's ifcounter is greater than zero.
+
+ - After a regular (not triggered or in response to a request)
+ update is sent, all the non-zero ifcounters are decremented by
+ one.
+
+ - When a route to a destination is created, its ifcounter is set
+ as follows:
+
+ - If the new route is superseding a valid route, and the old
+ route used a different (logical) output interface, then the
+ ifcounter is set to Ul.
+
+ - If the new route is superseding a stale route, and the old
+ route used a different (logical) output interface, then the
+ ifcounter is set to MAX(0, Ul - INT(seconds that the route
+ has been stale/Ut).
+
+ - If there was no previous route to the destination, the
+ ifcounter is set to In.
+
+ - Otherwise, the ifcounter is set to zero
+
+ - RIP also maintains a timer, called the resettimer below. Poison
+ reverse is done on all routes whenever resettimer has not
+ expired (regardless of the ifcounter values).
+
+
+
+
+
+Baker Standards Track [Page 169]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ - When RIP is started, restarted, reset, or otherwise has its
+ routing table cleared, it sets the resettimer to go off in Rl
+ seconds.
+
+ The second algorithm is identical to the first except that:
+
+ - The rules which set the ifcounter to non-zero values are changed
+ to always set it to Rl/Tu, and
+
+ - The resettimer is eliminated.
+
+ Triggered updates: [ROUTE:3], page 15-16; page 29
+
+ Triggered updates (also called flash updates) are a mechanism for
+ immediately notifying a router's neighbors when the router adds or
+ deletes routes or changes their metrics. A router MUST send a
+ triggered update when routes are deleted or their metrics are
+ increased. A router MAY send a triggered update when routes are
+ added or their metrics decreased.
+
+ Since triggered updates can cause excessive routing overhead,
+ implementations MUST use the following mechanism to limit the
+ frequency of triggered updates:
+
+ (1) When a router sends a triggered update, it sets a timer to a
+ random time between one and five seconds in the future. The
+ router must not generate additional triggered updates before
+ this timer expires.
+
+ (2) If the router would generate a triggered update during this
+ interval it sets a flag indicating that a triggered update is
+ desired. The router also logs the desired triggered update.
+
+ (3) When the triggered update timer expires, the router checks the
+ triggered update flag. If the flag is set then the router
+ sends a single triggered update which includes all the
+ changes that were logged. The router then clears the flag
+ and, since a triggered update was sent, restarts this
+ algorithm.
+
+ (4) The flag is also cleared whenever a regular update is sent.
+
+ Triggered updates SHOULD include all routes that have changed
+ since the most recent regular (non-triggered) update. Triggered
+ updates MUST NOT include routes that have not changed since the
+ most recent regular update.
+
+
+
+
+
+Baker Standards Track [Page 170]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ DISCUSSION
+ Sending all routes, whether they have changed recently or not, is
+ unacceptable in triggered updates because the tremendous size of
+ many Internet routing tables could otherwise result in
+ considerable bandwidth being wasted on triggered updates.
+
+Use of UDP: [ROUTE:3], page 18-19.
+
+ RIP packets sent to an IP broadcast address SHOULD have their initial
+ TTL set to one.
+
+ Note that to comply with Section [6.1] of this memo, a router SHOULD
+ use UDP checksums in RIP packets that it originates, MUST discard RIP
+ packets received with invalid UDP checksums, but MUST NOT discard
+ received RIP packets simply because they do not contain UDP
+ checksums.
+
+Addressing Considerations: [ROUTE:3], page 22
+
+ A RIP implementation SHOULD support host routes. If it does not, it
+ MUST (as described on page 27 of [ROUTE:3]) ignore host routes in
+ received updates. A router MAY log ignored hosts routes.
+
+ The special address 0.0.0.0 is used to describe a default route. A
+ default route is used as the route of last resort (i.e., when a route
+ to the specific net does not exist in the routing table). The router
+ MUST be able to create a RIP entry for the address 0.0.0.0.
+
+Input Processing - Response: [ROUTE:3], page 26
+
+ When processing an update, the following validity checks MUST be
+ performed:
+
+ o The response MUST be from UDP port 520.
+
+ o The source address MUST be on a directly connected subnet (or on a
+ directly connected, non-subnetted network) to be considered valid.
+
+ o The source address MUST NOT be one of the router's addresses.
+
+ DISCUSSION
+ Some networks, media, and interfaces allow a sending node to
+ receive packets that it broadcasts. A router must not accept its
+ own packets as valid routing updates and process them. The last
+ requirement prevents a router from accepting its own routing
+ updates and processing them (on the assumption that they were sent
+ by some other router on the network).
+
+
+
+
+Baker Standards Track [Page 171]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ An implementation MUST NOT replace an existing route if the metric
+ received is equal to the existing metric except in accordance with
+ the following heuristic.
+
+ An implementation MAY choose to implement the following heuristic to
+ deal with the above situation. Normally, it is useless to change the
+ route to a network from one router to another if both are advertised
+ at the same metric. However, the route being advertised by one of
+ the routers may be in the process of timing out. Instead of waiting
+ for the route to timeout, the new route can be used after a specified
+ amount of time has elapsed. If this heuristic is implemented, it
+ MUST wait at least halfway to the expiration point before the new
+ route is installed.
+
+F.2.3 Specific Issues
+
+
+RIP Shutdown
+
+ An implementation of RIP SHOULD provide for a graceful shutdown
+ using the following steps:
+
+ (1) Input processing is terminated,
+
+ (2) Four updates are generated at random intervals of between two
+ and four seconds, These updates contain all routes that were
+ previously announced, but with some metric changes. Routes
+ that were being announced at a metric of infinity should
+ continue to use this metric. Routes that had been announced
+ with a non-infinite metric should be announced with a metric
+ of 15 (infinity - 1).
+
+ DISCUSSION
+ The metric used for the above really ought to be 16 (infinity);
+ setting it to 15 is a kludge to avoid breaking certain old hosts
+ that wiretap the RIP protocol. Such a host will (erroneously)
+ abort a TCP connection if it tries to send a datagram on the
+ connection while the host has no route to the destination (even if
+ the period when the host has no route lasts only a few seconds
+ while RIP chooses an alternate path to the destination).
+
+RIP Split Horizon and Static Routes
+
+ Split horizon SHOULD be applied to static routes by default. An
+ implementation SHOULD provide a way to specify, per static route,
+ that split horizon should not be applied to this route.
+
+
+
+
+
+Baker Standards Track [Page 172]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+F.3 GATEWAY TO GATEWAY PROTOCOL - GGP
+
+ The Gateway to Gateway protocol is considered obsolete and SHOULD NOT
+ be implemented.
+
+Acknowledgments
+
+ O that we now had here
+ But one ten thousand of those men in England
+ That do no work to-day!
+
+ What's he that wishes so?
+ My cousin Westmoreland? No, my fair cousin:
+ If we are mark'd to die, we are enow
+ To do our country loss; and if to live,
+ The fewer men, the greater share of honour.
+ God's will! I pray thee, wish not one man more.
+ By Jove, I am not covetous for gold,
+ Nor care I who doth feed upon my cost;
+ It yearns me not if men my garments wear;
+ Such outward things dwell not in my desires:
+ But if it be a sin to covet honour,
+ I am the most offending soul alive.
+ No, faith, my coz, wish not a man from England:
+ God's peace! I would not lose so great an honour
+ As one man more, methinks, would share from me
+ For the best hope I have. O, do not wish one more!
+ Rather proclaim it, Westmoreland, through my host,
+ That he which hath no stomach to this fight,
+ Let him depart; his passport shall be made
+ And crowns for convoy put into his purse:
+ We would not die in that man's company
+ That fears his fellowship to die with us.
+ This day is called the feast of Crispian:
+ He that outlives this day, and comes safe home,
+ Will stand a tip-toe when the day is named,
+ And rouse him at the name of Crispian.
+ He that shall live this day, and see old age,
+ Will yearly on the vigil feast his neighbours,
+ And say 'To-morrow is Saint Crispian:'
+ Then will he strip his sleeve and show his scars.
+ And say 'These wounds I had on Crispin's day.'
+ Old men forget: yet all shall be forgot,
+ But he'll remember with advantages
+ What feats he did that day: then shall our names.
+ Familiar in his mouth as household words
+ Harry the king, Bedford and Exeter,
+ Warwick and Talbot, Salisbury and Gloucester,
+
+
+
+Baker Standards Track [Page 173]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ Be in their flowing cups freshly remember'd.
+ This story shall the good man teach his son;
+ And Crispin Crispian shall ne'er go by,
+ From this day to the ending of the world,
+ But we in it shall be remember'd;
+ We few, we happy few, we band of brothers;
+ For he to-day that sheds his blood with me
+ Shall be my brother; be he ne'er so vile,
+ This day shall gentle his condition:
+ And gentlemen in England now a-bed
+ Shall think themselves accursed they were not here,
+ And hold their manhoods cheap whiles any speaks
+ That fought with us upon Saint Crispin's day.
+
+ -- William Shakespeare
+
+ This memo is a product of the IETF's Router Requirements Working
+ Group. A memo such as this one is of necessity the work of many more
+ people than could be listed here. A wide variety of vendors, network
+ managers, and other experts from the Internet community graciously
+ contributed their time and wisdom to improve the quality of this
+ memo. The editor wishes to extend sincere thanks to all of them.
+
+ The current editor also wishes to single out and extend his heartfelt
+ gratitude and appreciation to the original editor of this document;
+ Philip Almquist. Without Philip's work, both as the original editor
+ and as the Chair of the working group, this document would not have
+ been produced. He also wishes to express deep and heartfelt
+ gratitude to the previous editor, Frank Kastenholz. Frank changed
+ the original document from a collection of information to a useful
+ description of IP technology - in his words, a "snapshot" of the
+ technology in 1991. One can only hope that this snapshot, of the
+ technology in 1994, is as clear.
+
+ Philip Almquist, Jeffrey Burgan, Frank Kastenholz, and Cathy
+ Wittbrodt each wrote major chapters of this memo. Others who made
+ major contributions to the document included Bill Barns, Steve
+ Deering, Kent England, Jim Forster, Martin Gross, Jeff Honig, Steve
+ Knowles, Yoni Malachi, Michael Reilly, and Walt Wimer.
+
+ Additional text came from Andy Malis, Paul Traina, Art Berggreen,
+ John Cavanaugh, Ross Callon, John Lekashman, Brian Lloyd, Gary
+ Malkin, Milo Medin, John Moy, Craig Partridge, Stephanie Price, Yakov
+ Rekhter, Steve Senum, Richard Smith, Frank Solensky, Rich Woundy, and
+ others who have been inadvertently overlooked.
+
+ Some of the text in this memo has been (shamelessly) plagiarized from
+ earlier documents, most notably RFC-1122 by Bob Braden and the Host
+
+
+
+Baker Standards Track [Page 174]
+
+RFC 1812 Requirements for IP Version 4 Routers June 1995
+
+
+ Requirements Working Group, and RFC-1009 by Bob Braden and Jon
+ Postel. The work of these earlier authors is gratefully
+ acknowledged.
+
+ Jim Forster was a co-chair of the Router Requirements Working Group
+ during its early meetings, and was instrumental in getting the group
+ off to a good start. Jon Postel, Bob Braden, and Walt Prue also
+ contributed to the success by providing a wealth of good advice
+ before the group's first meeting. Later on, Phill Gross, Vint Cerf,
+ and Noel Chiappa all provided valuable advice and support.
+
+ Mike St. Johns coordinated the Working Group's interactions with the
+ security community, and Frank Kastenholz coordinated the Working
+ Group's interactions with the network management area. Allison
+ Mankin and K.K. Ramakrishnan provided expertise on the issues of
+ congestion control and resource allocation.
+
+ Many more people than could possibly be listed or credited here
+ participated in the deliberations of the Router Requirements Working
+ Group, either through electronic mail or by attending meetings.
+ However, the efforts of Ross Callon and Vince Fuller in sorting out
+ the difficult issues of route choice and route leaking are especially
+ acknowledged.
+
+ The editor thanks his employer, Cisco Systems, for allowing him to
+ spend the time necessary to produce the 1994 snapshot.
+
+Editor's Address
+
+ The address of the current editor of this document is
+
+ Fred Baker
+ Cisco Systems
+ 519 Lado Drive
+ Santa Barbara, California 93111
+ USA
+
+ Phone:+1 805-681-0115
+
+ EMail: fred@cisco.com
+
+
+
+
+
+
+
+
+
+
+
+Baker Standards Track [Page 175]
+