• Aucun résultat trouvé

STRUCTURE OF THIS BOOK

Dans le document Network Processors (Page 23-28)

Part 1 is concerned with the fi rst part of the phrase Network Processors, the networks. This part contains a brief summary of networks’ technologies, standards and protocols. It begins in Chapter 2 with fundamentals, discussing data and tele-communication network technologies, then goes on to provide more in-depth description of contemporary converged networks, and ends with a description of access networks and home networking.

Chapter 2 describes network models and architectures, and then data networks—

namely, Ethernet and Internet Protocol networks. The basics of telecommunications networks are also described in this chapter (e.g., PDH and SDH/SONET networks), with an emphasis on relevant technologies for data applications.

Chapter 3 focuses on converged networks. In these networks, data and telecommunications applications interface and mix, despite their very different natures. Data networks are bursty, and oriented toward connectionless traffi c, whereas telecommunications networks are streamed, and connection-oriented.

This chapter covers Asynchronous Transfer Protocol (ATM), Multiprotocol Label Switching (MPLS), Layer 2 and Layer 3 Virtual Private networks (VPNs), Carrier Ethernet, and Next Generation SONET/SDH technologies.

Chapter 4 discusses access and home networks, or customer premises networks.

These networks also use converged technologies, and equipment in these networks is increasingly based on network processors, as bandwidth and complexity reach a degree that justifi es them.

Part 2 is concerned with the second part of the phrase Network Processors, the processing and processors. It discusses the theory behind network processors, starting with frame and packet processing, the algorithms used, data structures, and the relevant networking schemes that are required for packet processing. Then it describes the theory behind the processors themselves, beginning with hardware (architecture), moving on to software (programming models, languages, and devel-opment platforms), and concluding with network processors’ peripherals.

Chapter 5 describes packet structure and all the processing functions that the packet must go through (i.e., framing, parsing, classifying, searching, and modify-ing). Searching (lookups) and classifi cation are treated in a detailed manner, since they are the most important and demanding tasks.

Chapter 6 addresses various aspects of packet fl ows, traffi c management, and buffers queuing. The chapter deals with Quality of Service (QoS) and related defi -nitions, and QoS control mechanisms, algorithms, and methods.

Chapter 7 describes the basic architectures and defi nitions of network pro-cessors. It covers various computation schemes, as well as network processing architectures in general. In particular, parallelism, threading, and pipelining are described. Other architectural components (e.g., I/O and memories) as well as interface standards are also described, in order to provide a comprehensive under-standing of network processors’ design and interface, both at the system level (board and equipment), and at the networking level.

Chapter 8 describes programming models of network processors, as well as some important principles that are relevant to their programming, and concludes by describing the typical programming environment of network processors.

Programming a network processor is very different from programming any other processor. Parallel and pipelining processing and programming are covered.

Chapter 9 concludes the second part of the book with a description of two important network processors’ peripherals: switch fabrics (the interconnection functions), and coprocessors (for adjunct functions).

Part 3 examines the two subjects of networks and processing together with a concrete example of a network processor. It provides an in-depth description of EZchip’s network processor, which dominates the metro networks markets. It begins with a description of the hardware architecture, and then continues with the software architecture and programming. Following these chapters, each of the 1.5 Structure of the Book 11

processors and the functional units of the NP is described in a separate chapter.

This part concludes with a comprehensive example of writing a program and using the network processor.

Chapter 10 describes the general architecture of EZchip’s NP-1 network processor, its heterogeneous pipeline of parallel processors, the TOPs, the inter-faces, and the data fl ow of a packet inside the NP-1.

Chapter 11 explains how to program the NP, how to use the development envi-ronment of the network processor (including compiling, debugging, simulating, etc.), and how to run the programs (i.e., initializing the NP, downloading it, and working with the attached external host processor). It covers pipelining program-ming in depth, as well as the NP-1 Assembly.

Chapters 12, 14, and 15 outline the TOPparse, TOPresolve, and TOPmodify architectures, respectively, as well as their internal blocks and their instruction sets.

Simple examples are also given to demonstrate the use of these TOP engines.

Chapter 13 describes TOPsearch I very briefl y, and explains how to carry out various simple lookup operations with the TOPsearch engine by providing search keys, and getting results that match these keys.

Chapter 16 describes how to use the EZchip development system based on the example given in previous chapters; that is, how we load it, compile it, and debug it.

In addition, the chapter provides a quick and basic review of how to defi ne frames (which the simulator will use) and how to build the search database (structures that also can be used during the debugging phase).

Chapter 17 concludes the third part of the book by demonstrating how to use the EZchip NP, with a high-speed network application, a multi-Gbps routing, and an “on the fl y” screening fi lter for prescribed words that are to be identifi ed and masked. This chapter shows how to design, write, run, debug, and simulate an application with the Microcode Development Environment (MDE).

The EZmde demo program can be used to write a code, debug it, and simulate an NP with this code (with debugging features turned on). The EZmde can be down-loaded from http://www.cse.bgu.ac.il/npbook (access code: CSE37421), as well as the EZmde design manual.

1.6 SUMMARY

Network processors became an essential component for network system vendors.

This chapter outlined the ecosystem of NPs, the reasons for their importance, their growth, and their capabilities.

This subject is very dynamic; the interested reader may use periodicals, books [86, 92, 134, 135, 278], and Internet sources for remaining updated in the area of NPs.

Some excellent Internet sources for example are Light Reading [10] and the Linley Group [286].

PART

This part of the book, Network Processors: Architecture, Programming, and Implementation, is concerned with the fi rst part of its title, Networks.

Since network processing is about processing packets and frames in net-works, according to network protocols, demands, and behavior, it is essen-tial to have a thorough knowledge of them before network processing is possible. For example, even analyzing a packet or a frame cannot be done without this understanding because the frame is structured according to the network protocol used, among many other issues.

To provide unifi ed terminology for this book, as well as some background on the relevant networking concepts, this part contains a brief summary of networks’ technologies, standards, and protocols. It begins with fundamen-tals, discussing data, and telecommunication network technologies, with an emphasis on the common networks that are most likely to be of interest to

Networks

1

users who want to learn about network processing and processors. It then goes on to provide more in-depth descriptions of contemporary converged networks, as well as some good background on the technologies required for the reader who is interested in implementing network processors into metro or core networks. This part ends with a description of access networks, both wireline, and Radio Access Networks (RANs), and home networking.

As this is not a general textbook on networking, the descriptions pro-vided in this part do not cover networking comprehensively; rather, they provide the necessary information required for and relevant to network processors. It contains the following chapters:

I Chapter 2—Networking Fundamentals

I Chapter 3—Networks Convergence

I Chapter 4—Access to Home Networks

Part 2 deals with the second part of this book’s title—processors and processing.

CHAPTER

2

The previous chapter introduced the huge fi eld of networks—what a network processor is and how to use it, as well as services that are relevant and the challenges that make network processors so important. Before we jump into a discussion of the requirements, roles, and benefi ts of network processors, however, it is fi rst essential to be familiar with networking principles and technologies. Because we assume that most of the readers have at least some background knowledge of networking, our overview of the fundamentals of networking is quite general, and our descriptions are provided primarily in order to establish our terminology. In the next chapter, we move on to discuss more advanced, converged, and contemporary networking technologies.

When talking about networks in the context of network processors, it is important to remember that networks can be found in many places and in many shapes, on many kinds of media and serving many purposes. We focus on a small but important segment of networks, where network processors are used in network nodes to carry the networking functions. We are mainly concerned here with data networks and telecommunications networks. In this chapter, we begin by describing network models and architectures. Then we describe data networks—namely, Ethernet and Internet Protocol (IP) networks. Ethernet tech-nology is used primarily and traditionally for data com munications in local area networks (LANs), and more recently in metropolitan area networks (MANs), or Metro networks. IP, which is a network of networks, is used as the underlying technology for the Internet and most wide area networks (WANs), including enterprise and campus networks. The basics of telecommunications networks are also described in this chapter, with an emphasis on relevant technologies for data applications.

In the next chapter, we describe contemporary networks—networks that com-bine data applications and services with telecommunication (or data networks, telecommunication networks, and what is in between them)—and elaborate on our discussion of converged data and telecommunication networks such as Multiprotocol Label Switching (MPLS) and metro networks technologies.

Dans le document Network Processors (Page 23-28)

Documents relatifs