## 2 In-Network Computing: What and Why
### Enabling Technologies  
The realization of INC is driven by advancements in networking and programmability through enabling technologies like Software-Defined Networking (SDN), Network Function Virtualization (NFV) [29] and ICN [30]. Moreover, high-performance network elements like Smart Network Interface Cards (Smart NICs), and Field-Programmable Gate Arrays (FPGAs) can contribute to make INC a reality [23]. Table 2 summarizes the main features of these technologies and their contributions to INC.  
SDN is a transformative network paradigm that decouples the control plane, responsible for decision making, from the data plane, which handles packet forwarding. This separation allows centralized control and enhanced programmability, providing a comprehensive and dynamic view of the network. Centralized control is managed by an SDN controller, which collects information about the topology, resources, and traffic patterns, enabling efficient resource allocation and traffic management. Programmability is introduced through high-level APIs, enabling network operators to dynamically define and enforce policies, deploy new functionalities, and adapt to changing conditions without modifying the underlying hardware. Physical infrastructure is abstracted into a unified interface, simplifying network management and promoting rapid innovation. In the context of INC, SDN can facilitate dynamic resource allocation by steering data flows toward nodes capable of executing computational tasks, optimizing resource usage, and minimizing delays [31]. The SDN controller can adapt to varying traffic patterns and ensure efficient priority-based task scheduling and dynamic traffic management, e.g., rerouting data in response to real-time network conditions [32]. By decoupling network functions from proprietary hardware, NFV enables their virtualization and execution on general-purpose hardware, such as servers, switches, and routers. This approach not only reduces the reliance on expensive, dedicated hardware but also provides the agility and scalability needed for modern network operations [33]. NFV allows dynamic instantiation, migration, and scaling of network functions, aligning seamlessly with the distributed and adaptive nature of INC. Moreover, NFV abstracts the underlying hardware, allowing network functions to run seamlessly on a wide variety of devices, from high-performance edge servers to resource-constrained routers. This abstraction potentially enables the network to accommodate diverse tasks and applications, and ensures that the same physical infrastructure can support multiple users or applications simultaneously, maximizing resource utilization. ICN, on the other hand, shifts the focus from host-based communication to content-based communication, thus facilitating in-network caching and computation, becoming an ideal networking model for supporting INC, as it will be clarified in the next sections. In parallel, technologies such as programmable switches, smart NICs and FPGAs enable high-speed processing capabilities within the network [23]. These components facilitate efficient handling of large volumes of data, supporting operations like packet inspection, data aggregation, and even machine learning inference directly within the data plane [34], thus transforming the network into an active participant in computation. INC is also perfectly aligned with the convergence of communication, computing and caching (3C) resources, a foundational concept for (beyond) 6G networks [35]. The 3C paradigm envisions each network node equipped with 3C capabilities to support intelligent operations and self-evolution. Such convergence transforms the network into a dynamic and distributed computing platform that spans the entire _cloud-to-end-devices'_ continuum and adapts in real-time to application demands, delivering ultra-low latency, high reliability, and context-aware services.