g development cost needed to develop upon a certain platform. We will see later in Chapter 16 how sev- eral unrelated factors, such as the sheer number of program lines needed for an application or the cost of licensing of application software from an NPU-chipset vendor, directly affect the choice of plat- form, the evolution of a product over multiple releases, and even the viability of a startup networking company that bets its future on a specific platform to deliver its product roadmap. SUMMARY In this chapter, we defined network processors and briefly discussed how they are structured and what they do. We reviewed macroscopically the two traditional methods of designing packet-processing network devices and communications equipment: using either software-based solutions that are based on off-the-shelf CPU processors or handling packet-processing operations in specialized hardware implemented as optimized high-performance ASICs. We identified the underlying trade-offs in flex- ibility and performance between the two approaches and introduced the idea of using network proces- sors as a means for breaking free from the dilemmas of the two traditional schools of thought. We saw how network processors are optimized to handle packet processing with the flexibility of traditional CPUs and at the performance levels of networking ASICs. In the next chapter, we will look inside the typical high-speed switching equipment and descend top-down into modules of functionality. This will enable us to see what types of operations typically Downloaded from Digital Engineering Library @ McGraw-Hill (www.digitalengineeringlibrary.com) Copyright © 2004 The McGraw-Hill Companies. All rights reserved. Any use is subject to the Terms of Use as given at the website. NETWORK PROCESSORS: JUSTIFICATION NETWORK PROCESSORS: JUSTIFICATION 41 occur in a network device and how they interact with each other. A solid understanding of such a func- tional breakdown and the corresponding modes of various operations is important because we will ev