navbar
Packet

Best of Networkers

Related Links

Networkers session: "Router Architecture and Performance"

Article: Configuring Cisco 7200 and 7500 High-Performance Routers

Compression Service Adapters


Do You Have More Questions?

Readers -- Do you have more questions about how to optimize your router implementations? If so, Packet would like to include them in an upcoming article. Send your questions to packet-editors
@cisco.com,
subject line: Router Q&A

Packet™ Magazine Archives, Fourth Quarter 1998

Your Routers and Their Performance

Questions and Answers on the Cisco Routing Architecture

Have you ever wanted to sit down face-to-face with a Cisco network design engineer and get answers to your most puzzling questions about router performance and network design optimization? Recently, Packet™ did just that, and here's the result: a Q and A session with Phillip Harris, a senior consulting engineer at Cisco.

Let's start at the beginning. What are the components of a router and what do they do?
Routers, regardless of platform, are built from essentially the same components. These parts include network interface modules, which connect the router to physical networks (both local and wide area); shared memory, which is used to store packets as they enter and before they leave the router; a CPU, which contains its own memory for storing configuration files, switching caches, routing tables, and the Cisco IOS® image; and usually a bus or multiple buses that connect these components.

How do these components work together to forward packets from one network to another?
The first thing a router does when it receives a packet from the network is discard the Layer 2 frame information in which the Layer 3 packet is encapsulated and place the packet that remains into packet memory. This event causes the CPU to interrupt its normal list of scheduled tasks and look in the switching cache for the information it needs to make a Layer 3 switching decision about the packet. If the information isn't there, the router drops into process-switching mode, and the CPU instead obtains the Layer 3 switching information from the routing table in its memory. When it gets the information, the router encapsulates the packet in a new Layer 2 frame, updates any packet counters such as the time-to-live field, and then forwards the packet through its outbound interface.

Generic Router Components

When does a router use the information in the switching cache to forward a packet, and when does it use process switching?
Normally, the first time a router receives a packet with a particular destination network address, it uses process switching to derive Layer 3 switching information about the packet and then to initialize a switching cache, such as the fast cache. After the switching cache is initialized through process switching, the router will fast-switch all subsequent packets with the same destination network address.

What are the differences between process switching and fast switching, and why are they important?
When a router drops into process-switching mode, it returns to its scheduled task list and doesn't forward the packet in question until "packet forwarding" comes up again on its list of tasks. With fast switching, a router stops whatever else it's doing and forwards the packet immediately, making fast switching speedier and more efficient.

Can all protocols be fast switched?
No, there are some protocols that need to be process switched, such as many IBM and all X.25/LAPB implementations. If you're running these protocols, you should consider implementing a platform that supports high process-switching speeds.

Routing Platform Performance Figures

Are all routers based on these same architectures and switching paths?
In general, Cisco's low-end to midrange platforms (the Cisco 1600, 2500, 3600, and 4000 series) are, but the high-end platforms such as the Cisco 7000 family and 12000 GSR series are built with different architectures and have a greater range of available switching paths. They usually have more interfaces, a more powerful CPU, and, in the Cisco 7500 series, the ability to distribute switching and processing functions to the line cards themselves. These architectures give you other switching path options in addition to process switching and fast switching, including autonomous or silicon switching on the Cisco 7000 routers, and optimum and NetFlow Switching on the Cisco 7200 and 7500 routers.

Will you explain NetFlow Switching and how it differs from other switching paths?
NetFlow Switching includes more information in its cache than other switching paths. In addition to information about the destination network, NetFlow allows you to look all the way up to the application layer. This level of visibility lets you understand the types of traffic that exist on your network and makes the implementation of access control lists and accounting more granular and efficient. NetFlow Switching is covered in greater detail in the article, "IP Advances."

How does the Route Switch Module (RSM) in the Catalyst® 5000 and 5500 family of switches differ from the platforms you've mentioned already?
The RSM is a Route Switch Processor 2 (RSP2)-class routing card, such as those used in the Cisco 7500 series, that contains all the functionality of a standalone router. It supports the same switching paths as the Cisco 7500 router.

You mentioned earlier that Cisco's high-end platforms can perform both distributed switching and processing. Would you explain what that means?
On Cisco's high-end Cisco 7500 routers, you can replace your traditional interface cards with Versatile Interface Processors (VIPs), which contain their own memory and CPU. A switching cache such as the optimum cache established on the central RSP can be copied onto the VIP card, allowing the VIP to make its own switching decisions. This process, called distributed switching, greatly improves the overall performance and scalability of these routers. The VIP cards can also be set up to perform other services, such as compression and packet queuing.

Now that you've reviewed the basic components of routers and their performance characteristics, will you explain what features could also affect my routers' performance?
Software compression, which requires considerable CPU time, is one such feature that could impact performance. Because more and more data on networks is either already compressed or cannot be compressed, be sure to apply compression only where you can gain a clear advantage by doing so.

Access control lists (ACLs), which provide security and control the flow of routing updates, also can adversely affect your routers' performance to varying degrees. There are two methods of minimizing this effect. First, you can structure your ACLs so that the entries at the top of your list reflect the majority of your network traffic and so are matched as quickly as possible. Second, you can use NetFlow Switching, which only requires the first packet of a flow to be compared to the ACLs. No subsequent packets for that flow are required to go through the matching process.

These and several other features, including Network Address Translation (NAT) and encryption, can either force a router into process-switching mode or impact the performance of a faster switching path. To minimize the impact, apply features judiciously or plan them into your network design so that you can implement routing platforms with enough processing power to offset some of these effects.

How can I optimize performance in my network design?
There are three main ways to optimize performance -- by implementing features on your routers, by making sure you're using your routers appropriately, and by making the best use of the bandwidth you have available between routers.

Assuming the performance bottleneck is with your WAN links, for example, you can optimize your network performance through Cisco IOS quality-of-service (QoS) techniques that enable expedited queuing, congestion management, multipath load balancing, and traffic shaping.

Congestion can occur in scenarios where the amount of traffic exceeds the outgoing interface's bandwidth limits. To offset this problem, you should consider mechanisms such as inbound traffic shaping via Committed Access Rate (CAR), congestion avoidance via Weighted Random Early Detection (WRED), or Cisco IOS queuing options (custom and priority queuing) that allow you to prioritize certain traffic types based on your network's requirements.

Which queuing mechanism is best?
The answer here depends on what problem you're trying to solve. In most instances, either custom queuing, which must be configured, or Weighted Fair Queuing (WFQ), which is "on" by default on certain circuit types (such as T1 or E1) give the fairest balance of bandwidth to application traffic. WFQ is now available at high speed as a distributed service on Cisco's VIP cards, such as the VIP2-50. To enforce strict priorities for mission-critical traffic types, use priority or custom queuing.

An alternative method of improving line utilization is load balancing, using either parallel physical circuits or multiple ISDN BRI channels. You can bundle these circuits together and either balance traffic across them or make them look like a single pipe. In general, if you're doing fast switching, equal-cost circuits will be balanced on a per-destination basis. If you're using NetFlow Switching, the router will balance circuits on a per-flow basis to the same destination network. In ISDN scenarios, dialer load thresholds are one method of grouping BRIs, and Multilink Point-to-Point Protocol (MP) is another.

Dialer load threshold bundling is fast switched, and MP achieves near fast-switching performance.

In summary, what are the most important things to consider in selecting a router platform?
There are three key criteria on which to focus:

  • Understand your performance requirements. Make sure you have the appropriate level of processing power available for both packet switching and for memory.

  • Use the fastest supported switching path. With the Cisco 7000, for example, the fastest switching path is autonomous switching, which is nearly an order of magnitude faster than the default, fast switching.

  • Identify your needs for features such as compression and encryption -- and then implement them carefully, so they have minimal impact on performance.

Phillip Harris, Senior Consulting Engineer for Cisco Systems, developed and frequently presents one of the most popular Networkers sessions worldwide: "Router Architecture and Performance." During his five years at Cisco, Harris has worked with enterprise and service provider customers to design large, sophisticated networks around the world. To contact him, e-mail pharris@cisco.com.

Table of Contents


Posted: Wed May 12 13:47:54 PDT 1999
Copyright © 1998 Cisco Systems, Inc.