Benchmarking Methodology Working Group G. Trotter Internet Draft Agilent Technologies Document: January 2002 Category: Informational Methodology for Forwarding Information Base (FIB) based Router Performance Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026 [1]. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. 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." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Abstract The forwarding performance of an IP router may be dependent upon or may be linked to the composition and size of the forwarding information base installed within a router. This document describes the methodology to be used to determine the IP packet forwarding performance of an IP router as a function of the forwarding information base installed within a router. Table of Contents 1. Introduction....................................................2 2. Terms Of Reference..............................................2 3. Overview........................................................2 4. Router Setup....................................................3 5. Test Setup......................................................3 6. Methodology Of Route Advertisements.............................3 7. Table Size......................................................4 8. Table Composition...............................................5 9. Offered Packet Load.............................................5 10. Packet Format/Size.............................................6 11. Determining The Maximum Fib Size...............................6 12. Methodology....................................................7 12.1 Baseline Measurements.........................................7 Trotter [Page 1] FIB-based Router Performance September, 2001 12.2 Maximum Fib Size Test.........................................7 12.3 Fib Size Impact On Packet Forwarding Performance..............8 13. Security Considerations........................................9 14. References.....................................................9 15. Acknowledgments................................................9 16. Author's Addresses.............................................9 1. Introduction This document covers the measurement of the IP packet forwarding performance of IP routers on the basis of the forwarding information base (FIB) installed within a router. [2] describes the terminology associated with this document. The purpose of this document is to describe a methodology for measuring the impact of a FIB of a particular size and composition on the forwarding performance of a router. The objective is to determine whether a router can maintain performance levels as FIBs continue to grow in size. This document utilizes the methodology described in [3] for measuring the FIB-dependent throughput, FIB-dependent latency and FIB-dependent frame loss rate of IP packets as they traverse the router under test. The forwarding performance of a router should be observed under different FIB sizes and compositions. In this document, the FIB is modified only when traffic is not traversing the router. The effect of dynamic changes on the forwarding performance of a router is outside the scope of this document. 2. Terms Of Reference This document utilizes the methodologies for packet throughput, latency and loss measurements described in [3]. Definitions unique to this test methodology are covered in [2]. This document covers only IPv4 packets traversing an IP router. Applicability of this document to other packet types (such as MPLS- prefixed packets or non-IP packets) is not appropriate. 3. Overview This methodology takes into account two key features of a FIB - the FIB size and the FIB prefix distribution. This methodology does not specify a particular means of populating a FIB - a routing protocol should be used, although a FIB could be manually entered into a router. One implication of this is that there needs to be protocol-independent means for determining when a router's FIB has been fully populated (described in 12.2). Trotter [Page 2] FIB-based Router Performance September, 2001 Once a FIB of a particular size and prefix distribution is entered into the router, [3] style measurements are performed in order to gauge the effect of the FIB on packet FIB-dependent throughput, FIB- dependent latency and FIB-dependent frame loss rate. 4. Router Setup This is an out-of-service methodology. The router should be configured realistically. That is, it should be configured with physical interface cards, switching fabrics, and route processors providing the basis for realistic product comparisons. 5. Test Setup The router is connected to test equipment capable of advertising network prefixes into the router under test and generating IP packets to these advertised networks. In the absence of test gear capable of advertising network prefixes into the router under test, the network prefixes could be manually entered into the router. This methodology does not specify or require a particular physical interface type: all measurements are performed exclusively on IP packets. 6. Methodology Of Route Advertisements It is recommended that routes be advertised into the router under test by using a routing protocol to speed the advertisement of routes. Routes may be entered into the FIB manually, but this is both tedious, and makes the correlation between entered routes and offered traffic awkward (see section 9). Routes may be advertised into the router on a single interface, or over multiple interfaces. This methodology does not distinguish between either method. 6.1 Order of Route Advertisements Routes can be advertised into the router in any order - a router may organize its FIB to maximize its performance - the impact of order of advertisement cannot be presupposed to have an impact on the structure of the FIB. 6.2 Prevention of Route Aggregation Routes should be advertised into the router in such a manner as to prevent route aggregation. Routes may be aggregated as follows. If 100 routes are advertised on a single interface within a common prefix of 192.47.0.0, and no other advertisements on any other interface have a prefix of 192.47.0.0, then the router may enter a single /16 entry into the FIB, directing all traffic with a 192.47.0.0 prefix to a particular interface. Care must be taken to Trotter [Page 3] FIB-based Router Performance September, 2001 prevent this from occurring, as it will result in smaller than intended FIBs being entered within the router under test. As an example of a means of router advertisement designed to prevent route aggregation, consider the advertisement of 16 /16 prefixes into a 4-port router in the diagram below: +---------------+ 1.1,2.1,3.1,4.1 -----| |----- 1.3,2.3,3.3,4.3 | | | | | | 1.2,2.2,3.2,4.2 -----| |----- 1.4,2.4,3.4,4.4 +---------------+ In this example, the router will not be able to aggregate the entries from 1.0, since an entry exists on every port - the same applies for the entries from 2.0, 3.0 and 4.0. This method of route advertisement into the router must be used. 6.3 Learning time A router takes time to "learn" routes. The overhead associated with learning a route may include processing the routing protocol message containing a new FIB entry, placing the entry into the FIB, and then, in some modern routers, distributing the updated FIB to each interface in the router. This methodology does not measure or dictate the time that a router takes to build a complete FIB. However, it is vital to the execution of this methodology to ensure that a router has completed learning routes and building the forwarding information base before tests proceed. There are two methods that can be taken to ensure that a router has learned all routes. For the first method, the router can be queried via an attached console to reveal the current FIB size. If access to the console is not available, then test packets can be sent through the router at such rate that packet loss does not ordinarily occur. Test packets should test each entry in the FIB. No packet loss can indicate that the router has learned all routes, and is forwarding packets to all advertised destinations. However, this method is not foolproof - a router may instead have filled its FIB, and lost packets may indicate that the FIB is full, and not that the router is still learning routes. 7. Table Size This methodology does not specify FIB sizes to be installed within the router under test. However, it is expected that this methodology will be used through to the maximum possible FIB size purported to be supported by the router under test. Trotter [Page 4] FIB-based Router Performance September, 2001 This methodology recommends starting with a small FIB size - a single network per physical interface - in order to perform a basic performance benchmark on the router under test. Subsequent tests will increase the FIB by size 'N'. The FIB will be increased through to the maximum size possible (see section 11 for a discussion of determining the maximum possible FIB size). 8. Table Composition The composition of a FIB consists of a number FIB entries, with each FIB entry containing a network prefix. The network prefix length of each FIB entry may vary. These network prefixes typically range, in a typical Internet router's FIB, from 8 to 30 bits in length (/8 to /30) (this document does not attempt to pre-suppose the composition of a typical FIB within a router in the Internet, however). Destination address matches within FIBs consisting entirely of 8-bit network prefixes may be very rapid (few bits in each destination address/network prefix need to be matched), whereas it can be expected that destination address matches within a FIB populated entirely with 30-bit network prefixes (highly unlikely) will be slower. 9. Offered Packets To gauge the impact of a FIB on the performance of a router, IP packets must be delivered to the router such that the FIB is fully exercised. That is, packets must be delivered into the router on every interface directed to stations whose network prefix is advertised on every other interface. This method of traffic generation fairly exercises the FIB on the router. Modern routers may maintain a cache of the most frequently used routes on a per-interface (or, per-line card) basis, or they may maintain a complete copy of the FIB on a per-interface (or per- line card) basis. Generating packets from every interface to every advertised network ensures that each copy of the FIB is stressed, as well as ensuring that a router's FIB cannot be optimized (i.e. by installing summary routes). Consider the diagram below: +---------------+ 1.1,2.1,3.1,4.1 -----|A C|----- 1.3,2.3,3.3,4.3 | | | | | | 1.2,2.2,3.2,4.2 -----|B D|----- 1.4,2.4,3.4,4.4 +---------------+ In this diagram, packets sent into interface A must be directed to a destination address present in each network advertised on ports B, C and D. That is, the "transmit packet list" for packets sent into port A must be: Trotter [Page 5] FIB-based Router Performance September, 2001 1.2.0.1 1.3.0.1 1.4.0.1 2.2.0.1 2.3.0.1 2.4.0.1 3.2.0.1 3.3.0.1 3.4.0.1 4.2.0.1 4.3.0.1 4.4.0.1 and then repeated. Note that packets are transmitted to destinations on each port in a round-robin manner. That is, A transmits a packet to B, then a packet to C and then a packet to D, and then repeats, using the next destination advertised on port A, and so on. This method ensures that all aspects of the router (switching fabric, interface cards, route processor, etc.) are stressed equally. Also note that packets are sent from all interfaces simultaneously, again ensuring that all router components are stressed equally. See section 16 in [3]. 10. Packet Format/Size See [3] for a discussion of packet formats and sizes. 11. Determining The Maximum Fib Size In order to determine the maximum FIB size, a method similar to that used to determine whether all routes have been learned (see section 6.3) will be used. Without observing the exchange of the routing protocol, it is necessary to ascertain the size of the FIB from observation of packets sent from the router. The most methodical way of discovering the maximum FIB size is to advertise network prefixes to the FIB, test the addition of the entry by sending packets to the new network, ensure receipt of this packet and repeat until packets are no longer forwarded to the newly added network. Care must be taken to ensure that packets continue to be forwarded to all advertised networks, even while new networks are added - a router may "age-out" old entries in order to ensure that its FIB is filled with current entries. The absence of packets received at a particular network is indicative of entries not being present within the FIB, and thus indicates that the FIB has filled. Trotter [Page 6] FIB-based Router Performance September, 2001 If the approximate FIB size is known in advance, a larger number of routes can be advertised into the router, then the maximum table size can be found incrementally from this point. When using IP packets to discover the maximum sized FIB supported by the DUT, IP packets should be sent in at a rate that is significantly below that of the maximum measured throughput of the router discovered during baseline measurements (see section 12.1). 12. Methodology This methodology makes use of the packet forwarding measurements described in RFC 2544. 12.1 Baseline Measurements Objective: The objective of the baseline measurement is to determine the nominal packet forwarding performance of the router, with a minimal sized FIB. Procedure: A route to a single network should be advertised on each port of the router under test - a router with 64 ports would thus have an installed FIB of 64 entries. As described in section 9, packets should be offered to the router in order to create a full mesh between all advertised networks. Using measurements described in [3] for the throughput, latency,and frame loss rates (as per sections 26.1, 26.2, 26.3 and 26.4 in [3]), the FIB-dependent throughput, FIB-dependent latency and FIB- dependent frame loss rate should be measured and the results duly noted. Reporting Format: Results should be reported as per [3]. 12.2 Maximum FIB Size Test Objective: The objective of this test is to determine the maximum size of the FIB that can be accommodated within the DUT. Discovery of the maximum limit of the size of the FIB is necessary for the establishment of limits in subsequent tests. Procedure: Initially, advertise a single network on every port as per section 12.1. Establish a traffic mesh between all advertised networks as per section 9. Transmit IP packets through the DUT to all advertised networks at a rate well below the maximum throughput rate of the router, discovered in section 12.1. Ensure that packet loss is zero (indicating that packets are being forwarded to all advertised networks). Repeatedly advertise additional networks into the DUT and add these networks into the traffic mesh established through the DUT to the Trotter [Page 7] FIB-based Router Performance September, 2001 advertised networks. Stop when packet loss is detected, or when an ICMP destination unreachable message with a code value of 0 (network unreachable) or 6 (destination network unknown) is received. This will indicate that the FIB has filled (or, that the DUT is unable to add additional entries into the FIB). The test should continue in order to establish increasing packet loss as a consequence of increasing networks advertised into the DUT. Reporting Format: The results should be reported as a single number (the maximum FIB size). The results should be backed up with a graph of the packet loss (on the y-axis) versus the networks advertised into the DUT (on the x-axis). 12.3 FIB Size Impact On Packet Forwarding Performance Objective: The objective of this test is to evaluate the impact of FIB size and composition upon the packet forwarding performance of the DUT. Procedure: This iterative test changes both the size and composition of the FIB, and makes performance measurements for each iteration. That is, the FIB is set to a certain size and composition, then performance measurements are made for packet throughput, latency, and packet loss rate. The FIB is incremented, then the tests are repeated, through to the maximum sized FIB supported by the DUT. The following code segment illustrates this methodology: set forward_table_compositions [List 16 22 24 realistic] for (forwarding_table_size = num_physical_interfaces; Forwarding_table_size <= maximum_forwarding_table_size; Forwarding_table_size += increment) { foreach value forward_table_compositions_ { set_forwarding_table_composition $value measure_FIB-dependent_throughput; measure_FIB-dependent_latency; measure_FIB-dependent_packet loss rate; measure_FIB-dependent_back-to-back frames; } } Reporting Format: Results will be reported as a series of [3]-style graphs, with a separate set of graphs for each individual FIB size / FIB composition test. Results could be overlaid onto a single set of graphs. It may be useful to create a set of graphs to aid in direct interpretation of this test. One recommended graph would be, for a particular frame size, a graph of the appropriate metric on the y- Trotter [Page 8] FIB-based Router Performance September, 2001 axis (FIB-dependent throughput, FIB-dependent latency, FIB-dependent packet loss) versus the FIB size, with overlaid lines for each FIB composition. 13. Security Considerations As this document is solely for the purpose of providing metric methodology and describes neither a protocol nor a protocol's implementation, there are no security considerations associated with this document. 14. References 1 Bradner, S., "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, October 1996. 2 Trotter, G., " Terminology for Forwarding Information Base (FIB) based Router Performance", RFC 3222, December, 2001. 3 Bradner, S., McQuaid, J., "Benchmarking Methodology for Network Interconnect Devices", RFC 2544, March 1999 15. Acknowledgements 16. Author's Addresses Guy Trotter Agilent Technologies (Canada) Inc. #2500 4710 Kingsway Burnaby, British Columbia Canada V5H 4M2 Phone: +1 604 454 3516 Email: Guy_Trotter@agilent.com Full Copyright Statement "Copyright (C) The Internet Society (2002). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. Trotter [Page 9] FIB-based Router Performance September, 2001 The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Trotter [Page 10]