Network processors are similar to general purpose microprocessors, but are specialized for the processing packets in network devices. In this sense, they are similar to DSPs in that they apply a specific hardware design to optimize performance for specific tasks.
Network processors are used in routers, switches, and firewalls, and newer devices such as Voice over IP (VoIP) bridges, virtual private network (VPN) gateways, and quality of service (QOS) enforcers.
Basic functions of a Network Processor include:
- Pattern matching
Find specific patterns of bits or bytes within packets in a packet stream.
- Address Lookup
Quick database lookup using a key (typically an address on a packet) to find a result, typically routing information.
- Data bitfield manipulation
Change certain data fields contained in the packet as it is being processed.
- Queue management
As packets are received, processed and scheduled to be send onwards, they are stored in queues.
- Control processing
Micro operations of processing a packet are controlled at a macro level which involves communication and orchestration with other nodes in a system.
- Packet Recirculation