A network processor is an
integrated circuit
An integrated circuit or monolithic integrated circuit (also referred to as an IC, a chip, or a microchip) is a set of electronic circuits on one small flat piece (or "chip") of semiconductor material, usually silicon. Large numbers of tiny ...
which has a feature set specifically targeted at the
networking
Network, networking and networked may refer to:
Science and technology
* Network theory, the study of graphs as a representation of relations between discrete objects
* Network science, an academic field that studies complex networks
Mathematics
...
application domain.
Network processors are typically
software programmable devices and would have generic characteristics similar to general purpose
central processing units that are commonly used in many different types of equipment and products.
History of development
In modern
telecommunications networks, information (voice, video, data) is transferred as
packet data (termed
packet switching) which is in contrast to older telecommunications networks that carried information as
analog signal
An analog signal or analogue signal (see spelling differences) is any continuous signal representing some other quantity, i.e., ''analogous'' to another quantity. For example, in an analog audio signal, the instantaneous signal voltage varies c ...
s such as in the
public switched telephone network
The public switched telephone network (PSTN) provides Communications infrastructure, infrastructure and services for public Telecommunications, telecommunication. The PSTN is the aggregate of the world's circuit-switched telephone networks that ...
(PSTN) or analog
TV/
Radio networks. The processing of these packets has resulted in the creation of
integrated circuit
An integrated circuit or monolithic integrated circuit (also referred to as an IC, a chip, or a microchip) is a set of electronic circuits on one small flat piece (or "chip") of semiconductor material, usually silicon. Large numbers of tiny ...
s (IC) that are optimised to deal with this form of packet data. Network processors have specific features or architectures that are provided to enhance and optimise packet processing within these networks.
Network processors have evolved into ICs with specific functions. This evolution has resulted in more complex and more flexible ICs being created. The newer circuits are programmable and thus allow a single
hardware IC design to undertake a number of different functions, where the appropriate
software is installed.
Network processors are used in the manufacture of many different types of
network equipment such as:
*
Routers,
software router
A router is a networking device that forwards data packets between computer networks. Routers perform the traffic directing functions between networks and on the global Internet. Data sent through a network, such as a web page or email, is ...
s and
switches (
Inter-network processors Inter-network processors are special-purpose processors which aid in the interconnection of telecommunications networks. Most commonly used inter-network processors are ''switches, bridges, hubs, routers and gateways''.
''Switches'' act as interfa ...
)
*
Firewalls
*
Session border controllers
*
Intrusion detection devices
*
Intrusion prevention devices
*
Network monitoring systems
*
Network security (
secure cryptoprocessors)
Reconfigurable Match-Tables
Reconfigurable Match-Tables
were introduced in 2013 to allow switches to operate at high speeds while maintaining flexibility when it comes to the network protocols running on them, or the processing to does to them.
P4 is used to program the chips. The company
Barefoot Networks was based around these processors and was later purchased by
Intel in 2019.

An RMT pipeline relies on three main stages; the programmable parser,
the Match-Action tables and the programmable deparser. The parser reads the packet in chunks and processes these chunks to find out which protocols are used in the packet (
Ethernet,
VLAN,
IPv4
Internet Protocol version 4 (IPv4) is the fourth version of the Internet Protocol (IP). It is one of the core protocols of standards-based internetworking methods in the Internet and other packet-switched networks. IPv4 was the first version de ...
...) and extracts certain fields from the packet into the Packet Header Vector (PHV). Certain fields in the PHV may be reserved for special uses such as present headers or total packet length. The protocols are typically programmable, and so are the fields to extract. The Match-Action tables are a series of units that read an input PHV, match certain fields in it using a
crossbar and
CAM memory, the result is a wide instruction that operates on one or more fields of the PHV and data to support this instruction. The output PHV is then sent to the next MA stage or to the deparser. The deparser takes in the PHV as well as the original packet and it's metadata (to fill in missing bits that weren't extracted into the PHV) and then outputs the modified packet as chunks. It's typically programmable as with the parser and may reuse some of the configuration files.
FlexNIC attempts to apply this model to
Network Interface Controllers allowing servers to send and receive packets at high speeds while maintaining protocol flexibility and without increasing the CPU overhead.
Generic functions
In the generic role as a packet processor, a number of optimised features or functions are typically present in a network processor, which include:
* Pattern matching – the ability to find specific patterns of bits or bytes within packets in a packet stream.
* Key lookup – the ability to quickly undertake a database lookup using a key (typically an address in a packet) to find a result, typically
routing
Routing is the process of selecting a path for traffic in a network or between or across multiple networks. Broadly, routing is performed in many types of networks, including circuit-switched networks, such as the public switched telephone netw ...
information.
* Computation
* Data bitfield manipulation – the ability to change certain data fields contained in the packet as it is being processed.
*
Queue management – as packets are received, processed and scheduled to be sent onwards, they are stored in queues.
* Control processing – the micro operations of processing a packet are controlled at a macro level which involves communication and orchestration with other nodes in a system.
* Quick allocation and re-circulation of packet buffers.
Architectural paradigms
In order to deal with high data-rates, several architectural paradigms are commonly used:
*
Pipeline of processors - each stage of the pipeline consisting of a processor performing one of the functions listed above.
*
Parallel processing with multiple processors, often including
multithreading.
* Specialized
microcode
In processor design, microcode (μcode) is a technique that interposes a layer of computer organization between the central processing unit (CPU) hardware and the programmer-visible instruction set architecture of a computer. Microcode is a laye ...
d engines to more efficiently accomplish the tasks at hand.
* With the advent of
multicore architectures, network processors can be used for higher layer (
L4-L7) processing.
Additionally, traffic management, which is a critical element in
L2-
L3 network processing and used to be executed by a variety of co-processors, has become an integral part of the network processor architecture, and a substantial part of its silicon area ("real estate") is devoted to the integrated traffic manager. Modern network processors are also equipped with low-latency high-throughput on-chip interconnection networks optimized for the exchange of small messages among cores (few data words). Such networks can be used as an alternative facility for the efficient inter-core communication aside of the standard use of shared memory.
Applications
Using the generic function of the network processor, a software program implements an application that the network processor executes, resulting in the piece of physical equipment performing a task or providing a service. Some of the applications types typically implemented as software running on network processors are:
*
Packet or
frame discrimination and forwarding, that is, the basic operation of a
router or
switch.
*
Quality of service (QoS) enforcement – identifying different types or classes of packets and providing preferential treatment for some types or classes of packet at the expense of other types or classes of packet.
* Access Control functions – determining whether a specific packet or stream of packets should be allowed to traverse the piece of network equipment.
*
Encryption of data streams – built in hardware-based encryption engines allow individual data flows to be encrypted by the processor.
*
TCP offload processing
See also
*
Content processor {{unreferenced, date=February 2013
Content processors are sometimes confused with network processors that inspect the packet payload of an IP packet travelling through a computer network. These components allow for the design and deployment of nex ...
*
Multi-core processor
*
Knowledge-based processor
*
Active networking
Active networking is a communication pattern that allows packets flowing through a telecommunications network to dynamically modify the operation of the network.
Active network architecture is composed of execution environments (similar to a unix ...
*
Computer engineering
Computer engineering (CoE or CpE) is a branch of electrical engineering and computer science that integrates several fields of computer science and electronic engineering required to develop computer hardware and software. Computer engineers ...
*
Internet
*
List of defunct network processor companies
During the Dot-com bubble, dot-com/internet bubble of the late 1990s and early 2000, the proliferation of many dot-com Startup company, start-up companies created a secondary bubble in the telecommunications/computer networking infrastructure and ...
*
Network Processing Forum
The Network Processing Forum (NPF) is an industry forum that was organized to facilitate and accelerate the development of next-generation networking and telecommunications products based on Network processor, network processing technologies. The ...
*
Queueing theory
*
Network on a chip
References
{{Authority control
Embedded microprocessors
Network on a chip
Networking hardware
Hardware acceleration
Application-specific integrated circuits
System on a chip