Cover image for Network systems design : using network processors : intel IXP version
Title:
Network systems design : using network processors : intel IXP version
Personal Author:
Publication Information:
Upper Saddle River, N.J. : Pearson/Prentice Hall, 2004
ISBN:
9780131417922

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010060010 TK5105.52 C65 2004 Open Access Book Book
Searching...

On Order

Summary

Summary

Network System Design Using Network Processorsis the right book at the right time. Networking expert Douglas Comer divides this book into four major sections: a quick review of basics and packet header formats; Traditional Protocol Processing Systems; Network Processors - an independent overview of the technology, including motivation, economics, inherent complexities, and various examples of commercial architectures; and Intel's network processor. Network processor complexity is boiled down and simplified by allowing readers to see example code for a commercial processor, detailed explanations on the motivation and economics behind the technology, and a glossary for quick reference. The book's scope includes the concepts, principles, and hardware and software architectures that are the underpinnings of the design and implementation of network systems including routers, bridges, switches, intrusion detection systems, and firewalls - all independent of vendor specifics. An excellent fusion of network processing design principles, current architectures, and architectural directions, it is sure to become the standard text for this field the minute it hits the shelves.


Author Notes

Douglas E. Comer, professor of computer science at Purdue University and Fellow of the ACM, is one of the leading networking authorities. As a member of the Internet Architecure Board, he participated in the formation of the Internet in the late 1970s and 1980s. Dr. Comer consults with companies on the design and implementation of network systems


Excerpts

Excerpts

This book describes the design of network systems such as routers, bridges, switches, firewalls, and other equipment used in the Internet. It considers the functionality required for protocol processing, and explains how the functionality has been implemented on a range of hardware architectures. The book focuses on network processor technology, a recent development that has quickly become one of the standard tools designers use. In addition to discussing the motivation and use of network processors, the text provides an overview of network processor architectures, examines programming languages for network processors, and considers the many design tradeoffs. The text is intended for both professionals who are building network systems and students who are learning about network systems design. To aid professionals, the text discusses design decisions, both for network processors and for network systems. In addition, all examples used in discussions have been taken from commercially available products, and the code in the book has been tested on network processor hardware. To aid students, the book presents concepts without presuming a working knowledge of the jargon used in the industry. Both students and professionals will appreciate the glossary of terms that helps the reader navigate the maze of acronyms. Following a three-chapter review of protocols and an introduction to network systems, the main text is divided into three parts. The first part, Chapters 4 - 10, considers protocol processing, and covers implementations on a range of hardware architectures used in traditional network systems. The range extends from a conventional, uniprocessor system, used in low-end network systems, to a high-end, multiprocessor architecture that uses intelligent network interface cards to handle higher-speed networks. In addition, chapters in Part 1 discuss the important topics of classification and switching fabric architectures. The second part, Chapters 11 - 17, explores network processor technology. It examines the economic motivation for network processors, explains the possible roles that network processors fill in network systems, and discusses network processor architecture. To make the discussion concrete and demonstrate the variety of designs, Chapter 15 surveys commercially-available architectures. Chapter 16 considers languages used to program network processors, giving examples from two commercially-available classification languages: NCL and FPL. The third part of the text examines one network processor in detail. This version of the book uses Intel's IXPI200 as the example. The text presents details of both the multi-processor hardware architecture and software development environment that Intel supplies. After explaining the fundamental components on the Intel chip, chapters examine the programming paradigm, and describe how the software written for the) IXPI200 uses the onboard processors and other components. Most important, the book contains the complete code for an example bump-in-the-wire network system. A Web site has been created to accompany the text: http://www.npbook.cs.purdue.edu The site, which is managed by Robert Dusek, contains all the program examples from the text as well as a set of course notes for professors. In addition, I invite network processor vendors to submit example code for their chips. In particular, I encourage each vendor to show how the example system from Chapter 26 is implemented on their network processor. I thank the many individuals and groups who have helped with this text and deserve credit. Agere, IBM, and Intel provided network processor hardware and software for my lab at Purdue. Chris Telfer worked tirelessly to set up the lab facilities, and wrote the code for the wwbump example. Other students, including Jing Liu, Xiaodong Li, Fan Zhang, and Shireen Javali searched literature, checked details, and commented on drafts. Om Prakash Pitta, Vasudeva Nithyananda Pai, and students in two graduate seminars inspired me by using network processors to create a variety of projects. Colleague Sonia Fahmy reviewed material on switching fabrics. I am also grateful for the comments and criticism from many professionals who either participate in the creation of network processors or use them to build network systems. Craig Partridge of BBN and Paul Phillips of Nauticus Networks provided general comments; Craig provided an insight on switching fabrics. Mike Hathaway of Austin Ventures gave valuable background, and suggested the division of second and third generation architectures. Dale Parson and Rob Munoz of Agere Systems offered extensive reviews, and provided details about both FPL and the Agere architecture. Mohammad Peyravian of IBM commented on the presentation of the IBM architecture. Matt Tryzna of IBM came to Purdue to conduct two classes on the IBM architecture, and also provided comments on a draft of the text. Erik Johnson and Aaron Kunze of Intel provided comments, including a critique of the example code. Paul Schmitt of Calix Networks filled in many background and hardware details, and helped me understand the history of the industry. T. Sridhar of Future Communications Software and John Lin of Bell Labs provided comments on chapters. Robert Dusek of Saint Joseph's College volunteered to manage the web site. Finally, I thank my wife, Chris, for her patient and careful editing and valuable suggestions that improve and polish each book. Douglas E. Comer January, 2003 Excerpted from Network Systems Design Using Network Processors by Douglas E. Comer All rights reserved by the original copyright owners. Excerpts are provided for display purposes only and may not be reproduced, reprinted or distributed without the written permission of the publisher.

Table of Contents

Forewordp. xxi
Prefacep. xxiii
Chapter 1 Introduction And Overviewp. 1
Chapter 2 Basic Terminology And Example Systemsp. 7
Chapter 3 Review Of Protocols And Packet Formatsp. 15
Part I Traditional Protocol Processing Systems
Chapter 4 Conventional Computer Hardware Architecturep. 29
Chapter 5 Basic Packet Processing: Algorithms And Data Structuresp. 43
Chapter 6 Packet Processing Functionsp. 67
Chapter 7 Protocol Software On A Conventional Processorp. 83
Chapter 8 Hardware Architectures For Protocol Processingp. 97
Chapter 9 Classification And Forwardingp. 115
Chapter 10 Switching Fabricsp. 133
Part II Network Processor Technology
Chapter 11 Network Processors: Motivation And Purposep. 153
Chapter 12 The Complexity Of Network Processor Designp. 165
Chapter 13 Network Processor Architecturesp. 177
Chapter 14 Issues In Scaling A Network Processorp. 195
Chapter 15 Examples Of Commercial Network Processorsp. 213
Chapter 16 Languages Used For Classificationp. 233
Chapter 17 Design Tradeoffs And Consequencesp. 261
Part III Example Network Processor
Chapter 18 Overview Of The Intel Network Processorp. 273
Chapter 19 Embedded RISC Processor (StrongARM Core)p. 289
Chapter 20 Packet Processor Hardware (Microengines And FBI)p. 301
Chapter 21 Reference System And Software Development Kit (Bridal Veil, SDK)p. 325
Chapter 22 Programming Model (ACE)p. 335
Chapter 23 ACE Run-Time Structure And StrongARM Facilitiesp. 349
Chapter 24 Microengine Programmingp. 371
Chapter 25 Microengine Programming IIp. 393
Chapter 26 An Example ACEp. 411
Chapter 27 Intel's Second Generation Processorsp. 441
Appendix 1 Glossary of Terms And Abbreviationsp. 449
Bibliographyp. 497
Indexp. 501