In digital communications networks, packet processing refers to the wide variety of algorithms that are applied to a packet of data or information as it moves through the various network elements of a communications network. With the increased performance of network interfaces, there is a corresponding need for faster packet processing.D. Cerović, V. Del Piccolo, A. Amamou, K. Haddadou and G. Pujolle, Fast Packet Processing: A Survey, in IEEE Communications Surveys & Tutorials, vol. 20, no. 4, pp. 3645-3676, Fourthquarter 2018. doi: 10.1109/COMST.2018.2851072

There are two broad classes of packet processing algorithms that align with the standardized network subdivision of control plane and data plane. The algorithms are applied to either:

Control information contained in a packet which is used to transfer the packet safely and efficiently from origin to destination or The data content (frequently called the payload) of the packet which is used to provide some content-specific transformation or take a content-driven action.

Within any network enabled device (e.g. router, switch, network element or terminal such as a computer or smartphone) it is the packet processing subsystem that manages the traversal of the multi-layered network or protocol stack from the lower, physical and network layers all the way through to the application layer.

History

The history of packet processing is the history of the Internet and packet switching. Packet processing milestones include:

1962–1968: Early research into packet switching 1969: 1st two nodes of ARPANET connected; 15 sites connected by end of 1971 with email as a new application 1973: Packet switched voice connections over ARPANET with Network Voice Protocol. File Transfer Protocol (FTP) specified 1974: Transmission Control Protocol (TCP) specified 1979: VoIP – NVP running on early versions of IP 1981: IP and TCP standardized 1982: TCP/IP standardized 1991: World Wide Web (WWW) released by CERN, authored by Tim Berners-Lee 1998: IPv6 first published

Historical references and timeline can be found in the External Resources section below.

Communications models

For networks to succeed it is necessary to have a unifying standard for which defines the architecture of networking systems. The fundamental requirement for such a standard is to provide a framework that enables the hardware and software manufacturers around the world to develop networking technologies that will work together and to harness their cumulative investment capabilities to move the state of networking forward.

In the 1970s, two organizations, the International Organization for StandardizationInternational Organization for Standardization (ISO) and the International Telegraph and Telephone Consultative CommitteeInternational Telecommunication Union) (CCITT, now called the International Telecommunication Union (ITU-T) each initiated projects with the goal of developing international networking standards. In 1983, these efforts were merged and in 1984 the standard, called The Basic Reference Model for Open Systems Interconnection,ISO/IEC 10731:1994. Information technology -- Open Systems Interconnection -- Basic Reference Model -- Conventions for the definition of OSI services was published by ISO and as standard X.200ITU-T X.200-199407, X.200 : Information technology - Open Systems Interconnection - Basic Reference Model: The basic model by the ITU-T.

The OSI Model is a 7 layer modelTech-FAQ. The OSI Model – What It Is; Why It Matters; Why It Doesn’t Matter describing how a network operating system works. A layered model has many benefitsComputer Networking Notes. Advantages of OSI 7 Layer Model including the ability to change one layer without impacting the others and as a model for understanding how a network OS works. As long as the interconnection between layers is maintained, vendors can enhance the implementation of an individual layer without impact on other layers.

In parallel with the development of the OSI model, a research network was being implemented by the United States Defense Advanced Research Projects Agency (DARPA). The internetworking protocol developed to support the network, called ARPAnet,Living Internet. ARPANET -- The First Internet was called TCP or Transmission Control Program. As research and development progressed and the size of the network grew, it was determined that the internetworking design that was being used was becoming unwieldy and it did not exactly follow the layered approach of the OSI Model. This led to the splitting of the original TCP and the creation of the TCP/IP architectureW3 Schools, TCP/IP Tutorial - TCP now standing for Transmission Control Protocol and IP standing for Internet Protocol.

Advent of packet processing

Packet networksSheldon, Tom. Packets and Packet Processing Networks. Linktionary, 2001. came about as a result of the need in the early 1960s to make communications networks more reliable. It can be viewed as the implementation of the layered model using a packet structure.

Early commercial networks were composed of dedicated, analog circuits used for voice communications. The concept of packet switching was introduced to create a communications network that would continue to function in spite of equipment failures throughout the network. In this paradigm shift, networks are viewed as collections of systems that transmit data in small packets that work their way from origin to destination by any number of routes. Initial packet processing functions supported the routing of packets through the network, transmission error detection and correction and other network management functions.

Packet switching with its supporting packet processing functions has several practical benefits over traditional circuit-switched networks:Copeland, Lee. QuickStudy: Packet-Switched vs. Circuit-Switched Networks. Computerworld, March 2000.

An all-digital environment supporting multiple data types (such as voice, data and video) not only enriched the lives of users,Negroponte, N. Being Digital. Vintage, Jan. 1996.Reding, Viviane. Digital convergence: a whole new way of life. Digital Lifestyle Exhibition, May 2006. it significantly increased the efficiency of network providers who previously had to implement different networks to support different data types. Greater bandwidth utilization, with multiple ’logical circuits’ using the same physical links Communications survivability due to multiple paths through the network from any origin to any destination Added-value information services can be introduced using packet processing functions to provide the necessary processing

Packet structure

A network packet is the fundamental building block for packet-switched networks.Peterson, L. and Davie, B. Computer Networks (5th Edition): A Systems Approach. Morgon Kaufmann, March 2011. When an item such as a file, e-mail message, voice or video stream is transmitted through the network, it is broken into chunks called packets that can be more efficiently moved through the network than one large block of data. Numerous standardsRFC Sourcebook. IP, Internet Protocol. cover the structure of packets, but typically packets are composed of three elements:

Header – contains information about the packet, including origin, destination, length and packet number. Payload (or body) – contains the data that comprises the packet Trailer – indicates the end of the packet and frequently include error detection and correction information

In a packet-switched network, the sending host computer packetizes the original item and each packet is routed through the network to its destination. Some networks used fixed length packets, typically 1024 bits, while others use variable length packets and include the packet length in the header.

Individual packets may take different routes to the destination and arrive at the destination out of order. The destination computer verifies the correctness of the data in each packet (using information in the trailer), reassembles the original item using the packet number information in the header, and presents the item to the receiving application or user.

This basic example includes the three most fundamental packet processing functions, packetization, routing, and assembly. Packet processing functions range from the simple to highly complex. As an example, the routing function is actually a multi-step processStreenstrup, M. Routing in Communications Networks. Prentice Hall, April 1995. involving various optimization algorithms and table lookups. A basic routing function on the Internet looks something like:

1. Check to see if the destination is an address ‘owned’ by this computer. If so, process the packet. If not: a. Check to see if IP Forwarding is set to ‘Yes’. If no, the packet is destroyed. If yes, then i. Check to see if a network attached to this computer owns the destination address. If yes, route the packet to the appropriate network. If no, then 1. Check to see if there is any route to the destination network. If yes, route the packet to the next hop gateway. If no, destroy the packet.

More advanced routing functions include network load balancingAnderson, P. and James, L. Performance soars, features vary - Review: Load Balancers. NetworkWorldFusion, June 1999. and fastest route algorithms.Murthy, S. Routing in Packet-Switched Networks Using Path-Finding Algorithms. UC Santa Cruz, 1996. These examples illustrate the range of packet processing algorithms possible and how they can introduce significant delaysU. of Maryland. Introduction, Rate and Latency. 2009 into the transmission of an item. Network equipment designers frequently use a combination of hardware and software accelerators to minimize the latency in the network.

Network equipment architecture

IP-based equipment can be partitioned into three basic elements: data plane, control plane and management plane.Nokia Communications Framework Guide. What are Planes?. February 2010.

Data plane The data plane is a subsystem of a network node that receives and sends packets from an interface, processes them as required by the applicable protocol, and delivers, drops, or forwards them as appropriate.

Control plane

The control plane maintains information that can be used to change data used by the data plane. Maintaining this information requires handling complex signaling protocols. Implementing these protocols in the data plane would lead to poor forwarding performance. A common way to manage these protocols is to let the data plane detect incoming signaling packets and locally forward them to the control plane. The control plane signaling protocols can update the data plane information and inject outgoing signaling packets into the data plane. This architecture works because signaling traffic is a very small part of the global traffic.

Management plane

The management plane provides an administrative interface into the overall system. It contains processes that support operational administration, management or configuration/provisioning actions such as:

Facilities for supporting statistics collection and aggregation, Support for the implementation of management protocols, Command line interface, graphical user configuration interfaces through Web pages or traditional SNMP (Simple Network Management Protocol) management.

More sophisticated solutions based on XML (eXtensible Markup Language) can also be included.

Examples

The list of packet processing applicationsVin, H. Packet Processing Applications: An Overview. Univ. of Texas, Fall 2003. is usually divided into two categories. The following are a few examples selected to illustrate the variety in use today.

Control applications

Forwarding, the basic operation of a router Encryption/Decryption, the protection of information in the payload using cryptographic algorithms