--- 1/draft-ietf-grow-mrt-15.txt 2011-08-17 23:15:55.000000000 +0200 +++ 2/draft-ietf-grow-mrt-16.txt 2011-08-17 23:15:55.000000000 +0200 @@ -1,20 +1,20 @@ Network Working Group L. Blunk Internet-Draft M. Karir -Intended status: Informational Merit Network -Expires: January 7, 2012 C. Labovitz +Intended status: Standards Track Merit Network +Expires: February 18, 2012 C. Labovitz Deepfield Networks - July 6, 2011 + August 17, 2011 MRT routing information export format - draft-ietf-grow-mrt-15.txt + draft-ietf-grow-mrt-16.txt Abstract This document describes the MRT format for routing information export. This format was developed in concert with the Multi-threaded Routing Toolkit (MRT) from whence the format takes it name. The format can be used to export routing protocol messages, state changes, and routing information base contents. Status of this Memo @@ -25,21 +25,21 @@ Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." - This Internet-Draft will expire on January 7, 2012. + This Internet-Draft will expire on February 18, 2012. Copyright Notice Copyright (c) 2011 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents @@ -78,41 +78,48 @@ 4.4. BGP4MP Type . . . . . . . . . . . . . . . . . . . . . . . 14 4.4.1. BGP4MP_STATE_CHANGE Subtype . . . . . . . . . . . . . 15 4.4.2. BGP4MP_MESSAGE Subtype . . . . . . . . . . . . . . . . 16 4.4.3. BGP4MP_MESSAGE_AS4 Subtype . . . . . . . . . . . . . . 17 4.4.4. BGP4MP_STATE_CHANGE_AS4 Subtype . . . . . . . . . . . 17 4.4.5. BGP4MP_MESSAGE_LOCAL Subtype . . . . . . . . . . . . . 18 4.4.6. BGP4MP_MESSAGE_AS4_LOCAL Subtype . . . . . . . . . . . 18 4.5. ISIS Type . . . . . . . . . . . . . . . . . . . . . . . . 18 4.6. OSPFv3 Type . . . . . . . . . . . . . . . . . . . . . . . 19 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 - 6. Security Considerations . . . . . . . . . . . . . . . . . . . 21 - 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 22 - 7.1. Normative References . . . . . . . . . . . . . . . . . . . 22 - 7.2. Informative References . . . . . . . . . . . . . . . . . . 22 - Appendix A. MRT Encoding Examples . . . . . . . . . . . . . . . . 24 - Appendix B. Deprecated MRT Types . . . . . . . . . . . . . . . . 27 - B.1. Deprecated MRT Informational Types . . . . . . . . . . . . 27 - B.1.1. NULL Type . . . . . . . . . . . . . . . . . . . . . . 27 - B.1.2. START Type . . . . . . . . . . . . . . . . . . . . . . 27 - B.1.3. DIE Type . . . . . . . . . . . . . . . . . . . . . . . 27 - B.1.4. I_AM_DEAD Type . . . . . . . . . . . . . . . . . . . . 27 - B.1.5. PEER_DOWN Type . . . . . . . . . . . . . . . . . . . . 28 - B.2. Other Deprecated MRT Types . . . . . . . . . . . . . . . . 28 - B.2.1. BGP Type . . . . . . . . . . . . . . . . . . . . . . . 28 - B.2.2. RIP Type . . . . . . . . . . . . . . . . . . . . . . . 31 - B.2.3. IDRP Type . . . . . . . . . . . . . . . . . . . . . . 31 - B.2.4. RIPNG Type . . . . . . . . . . . . . . . . . . . . . . 31 - B.2.5. BGP4PLUS and BGP4PLUS_01 Types . . . . . . . . . . . . 32 - B.2.6. Deprecated BGP4MP Subtypes . . . . . . . . . . . . . . 32 - Appendix C. Acknowledgements . . . . . . . . . . . . . . . . . . 34 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 35 + 5.1. Type Codes . . . . . . . . . . . . . . . . . . . . . . . . 20 + 5.2. Subtype Codes . . . . . . . . . . . . . . . . . . . . . . 20 + 5.3. Defined Type Codes . . . . . . . . . . . . . . . . . . . . 20 + 5.4. Defined BGP, BGP4PLUS, and BGP4PLUS_01 Subtype Codes . . . 21 + 5.5. Defined TABLE_DUMP Subtype Codes . . . . . . . . . . . . . 21 + 5.6. Defined TABLE_DUMP_V2 Subtype Codes . . . . . . . . . . . 22 + 5.7. Defined BGP4MP and BGP4MP_ET Subtype Codes . . . . . . . . 22 + 6. Security Considerations . . . . . . . . . . . . . . . . . . . 23 + 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 24 + 7.1. Normative References . . . . . . . . . . . . . . . . . . . 24 + 7.2. Informative References . . . . . . . . . . . . . . . . . . 24 + Appendix A. MRT Encoding Examples . . . . . . . . . . . . . . . . 26 + Appendix B. Deprecated MRT Types . . . . . . . . . . . . . . . . 29 + B.1. Deprecated MRT Informational Types . . . . . . . . . . . . 29 + B.1.1. NULL Type . . . . . . . . . . . . . . . . . . . . . . 29 + B.1.2. START Type . . . . . . . . . . . . . . . . . . . . . . 29 + B.1.3. DIE Type . . . . . . . . . . . . . . . . . . . . . . . 29 + B.1.4. I_AM_DEAD Type . . . . . . . . . . . . . . . . . . . . 29 + B.1.5. PEER_DOWN Type . . . . . . . . . . . . . . . . . . . . 30 + B.2. Other Deprecated MRT Types . . . . . . . . . . . . . . . . 30 + B.2.1. BGP Type . . . . . . . . . . . . . . . . . . . . . . . 30 + B.2.2. RIP Type . . . . . . . . . . . . . . . . . . . . . . . 33 + B.2.3. IDRP Type . . . . . . . . . . . . . . . . . . . . . . 33 + B.2.4. RIPNG Type . . . . . . . . . . . . . . . . . . . . . . 33 + B.2.5. BGP4PLUS and BGP4PLUS_01 Types . . . . . . . . . . . . 34 + B.2.6. Deprecated BGP4MP Subtypes . . . . . . . . . . . . . . 34 + Appendix C. Acknowledgements . . . . . . . . . . . . . . . . . . 36 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 37 1. Introduction Researchers and engineers often wish to analyze network behavior by studying routing protocol transactions and routing information base snapshots. To this end, the MRT record format was developed to encapsulate, export, and archive this information in a standardized data representation. The BGP routing protocol, in particular, has been the subject of @@ -254,43 +261,41 @@ 16 BGP4MP 17 BGP4MP_ET 32 ISIS 33 ISIS_ET 48 OSPFv3 49 OSPFv3_ET 4.1. OSPFv2 Type This Type supports the OSPFv2 Protocol as defined in RFC 2328 - [RFC2328]. The Subtype field MAY contain two possible values: - - 0 OSPF_STATE_CHANGE - 1 OSPF_LSA_UPDATE + [RFC2328]. It is used to encode the exchange of OSPF protocol + packets. The format of the MRT Message field for the OSPFv2 Type is as follows: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Remote IP address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Local IP address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OSPF Message Contents (variable) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 3: OSPFv2 Type - The Remote IP address field contains source IPv4 [RFC0791] address + The Remote IP address field contains Source IPv4 [RFC0791] address from the IP header of the OSPF message. The Local IP address - contains the destination IPv4 address from the IP header. The OSPF + contains the Destination IPv4 address from the IP header. The OSPF Message Contents field contains the complete contents of the OSPF packet following the IP header. 4.2. TABLE_DUMP Type The TABLE_DUMP Type is used to encode the contents of a BGP Routing Information Base (RIB). Each RIB entry is encoded in a distinct sequential MRT record. It is RECOMMENDED that new MRT encoding implementations use the TABLE_DUMP_V2 Type (see below) instead of the TABLE_DUMP Type due to limitations in this type. However, due to the @@ -734,21 +739,137 @@ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Local IP address (variable) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OSPF Message Contents (variable) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 15: OSPFv3 Type 5. IANA Considerations - This document has no IANA actions. + This section provides guidance to the Internet Assigned Numbers + Authority (IANA) regarding registration of values related to the MRT + specification, in accordance with BCP 26, RFC 5226 [RFC5226]. + + There are two name spaces in MRT that require registration: Type + Codes and Subtype Codes. Type Codes and Subtype Codes are each 16 + bits in length. + + MRT is not intended as a general-purpose specification for protocol + information export, and allocations should not be made for purposes + unrelated to routing protocol information export. + + The following policies are used here with the meanings defined in BCP + 26: "Specification Required", "IETF Consensus", "Experimental Use", + "First Come First Served". Assignments consist of a name and the + value. + +5.1. Type Codes + + Type Codes have a range from 0 to 65535, of which 0-64 are reserved. + New Type Codes MUST be allocated starting at 65. Type Codes 65 - 511 + are to be assigned by IETF Review. Type Codes 512 - 2047 are + assigned based on Specification Required. Type Codes 2048 - 64511 + are available on a First Come First Served policy. Type Codes 64512 + - 65534 are available for Experimental Use. The Type Code Value 65535 + is reserved. + +5.2. Subtype Codes + + Subtype Codes have a range from 0 to 65535. Subtype definitions are + specific to a particular Type Code definition. New Subtype Code + definitions must reference an existing Type Code to which the Subtype + belongs. Subtype assignments follow the assignment rules for the + Type Codes to which they belong. + +5.3. Defined Type Codes + + This document defines the following message Type Codes: + + Name Value Definition + ---- ----- ---------- + NULL 0 + START 1 + DIE 2 + I_AM_DEAD 3 + PEER_DOWN 4 + BGP 5 + RIP 6 + IDRP 7 + RIPNG 8 + BGP4PLUS 9 + BGP4PLUS_01 10 + OSPFv2 11 See Section 4.2 + TABLE_DUMP 12 See Section 4.3 + TABLE_DUMP_v2 13 See Section 4.5 + BGP4MP 16 See Section 4.4 + BGP4MP_ET 17 See Section 4.4 + ISIS 32 See Section 4.4 + ISIS_ET 33 See Section 4.4 + OSPFv3 48 See Section 4.4 + OSPFv3_ET 49 See Section 4.4 + +5.4. Defined BGP, BGP4PLUS, and BGP4PLUS_01 Subtype Codes + + This document defines the following message Subtype Codes for the + BGP, BGP4PLUS, and BGP4PLUS_01 Types: + + Name Value Definition + ---- ----- ---------- + BGP_NULL 0 + BGP_UPDATE 1 + BGP_PREF_UPDATE 2 + BGP_STATE_CHANGE 3 + BGP_SYNC 4 + BGP_OPEN 5 + BGP_NOTIFY 6 + BGP_KEEPALIVE 7 + +5.5. Defined TABLE_DUMP Subtype Codes + + This document defines the following message Subtype Codes for the + TABLE_DUMP Type: + + Name Value Definition + ---- ----- ---------- + AFI_IPv4 1 + AFI_IPv6 2 + +5.6. Defined TABLE_DUMP_V2 Subtype Codes + + This document defines the following message Subtype Codes for the + TABLE_DUMP_V2 Type: + + Name Value Definition + ---- ----- ---------- + PEER_INDEX_TABLE 1 + RIB_IPV4_UNICAST 2 + RIB_IPV4_MULTICAST 3 + RIB_IPV6_UNICAST 4 + RIB_IPV6_MULTICAST 5 + RIB_GENERIC 6 + +5.7. Defined BGP4MP and BGP4MP_ET Subtype Codes + + This document defines the following message Subtype Codes for the + BGP4MP Type: + + Name Value Definition + ---- ----- ---------- + BGP4MP_STATE_CHANGE 0 + BGP4MP_MESSAGE 1 + BGP4MP_ENTRY 2 + BGP4MP_SNAPSHOT 3 + BGP4MP_MESSAGE_AS4 4 + BGP4MP_STATE_CHANGE_AS4 5 + BGP4MP_MESSAGE_LOCAL 6 + BGP4MP_MESSAGE_AS4_LOCAL 7 6. Security Considerations The MRT Format utilizes a structure which can store routing protocol information data. The fields defined in the MRT specification are of a descriptive nature and provide information that is useful to facilitate the analysis of routing data. As such, the fields currently defined in the MRT specification do not in themselves create additional security risks, since the fields are not used to induce any particular behavior by the recipient application. @@ -797,20 +918,24 @@ [RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO 10646", STD 63, RFC 3629, November 2003. [RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway Protocol 4 (BGP-4)", RFC 4271, January 2006. [RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter, "Multiprotocol Extensions for BGP-4", RFC 4760, January 2007. + [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an + IANA Considerations Section in RFCs", BCP 26, RFC 5226, + May 2008. + [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF for IPv6", RFC 5340, July 2008. 7.2. Informative References [IEEE.P1003.1-1990] Institute of Electrical and Electronics Engineers, "P1003.1, Information Technology Portable Operating System Interface (POSIX) Part 1: System Application Program Interface (API) [C Language], 1990.", IEEE Standard @@ -824,21 +949,21 @@ January 1997. [RFC2453] Malkin, G., "RIP Version 2", STD 56, RFC 2453, November 1998. [RFC4272] Murphy, S., "BGP Security Vulnerabilities Analysis", RFC 4272, January 2006. Appendix A. MRT Encoding Examples - This appendix, which is not a normative reference, contains a MRT + This appendix, which is not a normative reference, contains MRT encoding examples. The following example shows the encoding for a MRT record type of BGP4MP and subtype BGP4MP_MESSAGE_AS4. The Peer AS and Local AS numbers are encoded in 4 bytes fields due to the use of the BGP4MP_MESSAGE_AS4 subtype. The encoded BGP Update is shown in hexadecimal. The AS numbers in the ASPATH in the BGP Update are encoded as 4 byte values in accord with the MRT BGP4MP_MESSAGE_AS4 subtype.