Description
Network processors are fundamental building blocks in modern communication systems, in which tens of Gbps network streams have to be processed in real time. Current network applications and traffic requirements necessitate processing speeds and capabilities that are beyond those of conventional, general purpose central processing units. Network processors are the only programmable solution that can handle modern network streams demands. However, implementing network processors requires a new programming paradigm that can meet network processing requirements.This book leads the reader through the requirements and the underlying theory of network processors, real applications and implementation of network processors, and includes the EZChip Microcode Development Environment so that readers can gain hands-on experience in writing high speed networking applications. By the end of the book the reader will be able to write and test his own applications on a simulated network processor. Detailed coverage of what network processors are all about and what can be done with them numerous, real examples of networking applications and implementations (analysis, algorithm, and code) are provided.
Contents
Ch. 1 Introduction and Motivation 1
Part 1 Networks
Ch. 2 Networking Fundamentals 15
Ch. 3 Converged Networks 77
Ch. 4 Access and Home Networks 149
Part 2 Processing
Ch. 5 Packet Processing 183
Ch. 6 Packet Flow Handling 241
Ch. 7 Architecture 287
Ch. 8 Software 337
Ch. 9 NP Peripherals 379
Part 3 A Network Processor: EZchip
Ch. 10 EZchip Architecture, Capabilities, and Applications 411
Ch. 11 EZchip Programming 439
Ch. 12 Parsing 461
Ch. 13 Searching 501
Ch. 14 Resolving 517
Ch. 15 Modifying 561
Ch. 16 Running the Virtual Local Area Network Example 603
Ch. 17 Writing Your First High-Speed Network Application 617
List of Acronyms 655
References 673
Index 695