# 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 shell that can execute active packets), a node operating system capable of supporting one or more execution environments. It also consists of active hardware, capable of routing or switching as well as executing code within active packets. This differs from the traditional network architecture which seeks robustness and stability by attempting to remove complexity and the ability to change its fundamental operation from underlying network components. Network processors are one means of implementing active networking concepts. Active networks have also been implemented as overlay networks.

## What does it offer?

Active networking allows the possibility of highly tailored and rapid "real-time" changes to the underlying network operation. This enables such ideas as sending code along with packets of information allowing the data to change its form (code) to match the channel characteristics. The smallest program that can generate a sequence of data can be found in the definition of Kolmogorov complexity. The use of real-time genetic algorithms within the network to compose network services is also enabled by active networking.

## How it relates to other networking paradigms

Active networking relates to other networking paradigms primarily based upon how computing and communication are partitioned in the architecture.

### Active networking and software-defined networking

Active networking places computation within packets traveling through the network. Software-defined networking decouples the system that makes decisions about where traffic is sent (the control plane) from the underlying systems that forward traffic to the selected destination (the data plane).

## Fundamental challenges

Active network research addresses the nature of how best to incorporate extremely dynamic capability within networks.[1]

In order to do this, active network research must address the problem of optimally allocating computation versus communication within communication networks.[2] A similar problem related to the compression of code as a measure of complexity is addressed via algorithmic information theory.

One of the challenges of active networking has been the inability of information theory to mathematically model the active network paradigm and enable active network engineering. This is due to the active nature of the network in which communication packets contain code that dynamically change the operation of the network. Fundamental advances in information theory are required in order to understand such networks.[3]

An active network channel uses executable code in the packet to impact the channel controlling the relationship between the transmitted sequence ${\displaystyle X}$ and the received sequence ${\displaystyle Y}$. ${\displaystyle X}$ is composed of a data portion ${\displaystyle X^{data}}$ and a code portion ${\displaystyle X^{code}}$. Upon incorporation of ${\displaystyle X^{code}}$, the channel medium may change its operational state and capabilities.[4]

## Nanoscale active networks

As the limit in reduction of transistor size is reached with current technology, active networking concepts are being explored as a more efficient means accomplishing computation and communication.[5][6] More on this can be found in nanoscale networking.

## References

1. ^ Bush, S. F. (2005). "A Simple Metric for Ad Hoc Network Adaptation" (PDF). IEEE Journal on Selected Areas in Communications Journal (23): 2272–2287. Archived from the original (PDF) on 2011-07-11.
2. ^ Bush, S. F. (2002). "Active Virtual Network Management Prediction: Complexity as a Framework for Prediction, Optimization, and Assurance" (PDF). Proceedings of the 2002 DARPA Active Networks Conference and Exposition (DANCE 2002). IEEE Computer Society Press: 534–553. Archived from the original (PDF) on 2011-07-11.
3. ^ Bush, Stephen F. (2011). "Toward in vivo nanoscale communication networks: utilizing an active network architecture". Front. Comput. Sci. 5: 316–326. doi:10.1007/s11704-011-0116-9.
4. ^ Bush, Stephen F. (2011). "Toward in vivo nanoscale communication networks: utilizing an active network architecture". Front. Comput. Sci. 5: 316–326. doi:10.1007/s11704-011-0116-9.
5. ^ ``NANA: A Nanoscale Active Network Architecture by Patwardhan, J. P.; Dwyer, C. L.; Lebeck, A. R. & Sorin, D. J., ACM Journal on Emerging Technologies in Computing Systems (JETC), ACM Journal on Emerging Technologies in Computing Systems) Vol. 2, No. 1, Pages 1–30, January 2006, 3, 1–31.
6. ^ Nanoscale Communication Networks, Bush, S. F., ISBN 978-1-60807-003-9, Artech House, 2010 https://www.amazon.com/Nanoscale-Communication-Networks-Stephen-Bush/dp/1608070034