Network Protocol Virtualization
   HOME

TheInfoList



OR:

Network Protocol Virtualization or Network Protocol Stack Virtualization is a concept of providing network connections as a service, without concerning application developer to decide the exact communication stack composition.


Concept

Network Protocol Virtualization (NPV) was firstly proposed by Heuschkel et al. in 2015 as a rough sketch as part of a transition concept for network protocol stacks. The concept evolved and was published in a deployable state in 2018. The key idea is to decouple applications from their communication stacks. Today the socket API requires application developer to compose the communication stack by hand by choosing between IPv4/IPv6 and UDP/TCP. NPV proposes the network protocol stack should be tailored to the observed network environment (e.g. link layer technology, or current network performance). Thus, the network stack should not be composed at development time, but at runtime and needs the possibility to be adapted if needed. Additionally the decoupling relaxes the chains of the ISO OSI network layer model, and thus enables alternative concepts of communication stacks. Heuschkel et al. proposes the concept of Application layer middleboxes as example to add additional layers to the communication stack to enrich the communication with useful services (e.g. HTTP optimizations) The Figure illustrates the dataflow. Applications interface to the NPV software through some kind of API. Heuschkel et al. proposed socket API equivalent replacements but envision more sophisticated interfaces for future applications. The application payload is assigned by a scheduler to one (of potentially many) communication stack to get processed to network packets, that get sent using networking hardware. A management component decide how communication stacks get composed and how the scheduling scheme should be. To support decisions a management interface is provided to integrate the management system in
software-defined networking Software-defined networking (SDN) technology is an approach to network management that enables dynamic, programmatically efficient network configuration in order to improve network performance and monitoring, making it more like cloud computing t ...
contexts. NPV has been further investigated as a central element of
LPWAN A low-power wide-area network (LPWAN or LPWA network) is a type of wireless telecommunication wide area network designed to allow long-range communications at a low bit rate among things (connected objects), such as sensors operated on a batter ...
Internet of Things (IoT) scenarios. Specifically, the deployment of applications that are agnostic to the underlying transport, network, link and physical layers was explored by Rolando Herrero in 2020. In this context, NPV becomes a very successful and flexible tool to accomplish the deployment and management of constrained sensors, actuators and controllers in massive IoT access networks.


Implementations

Currently there is just one academic implementation available to demonstrate the concept. Heuschkel et al. published this implementation as demonstrator in 2016. The last iteration of this code is available under AGPLv3 o
Github


See also

*
Application virtualization Application virtualization is a software technology that encapsulates computer programs from the underlying operating system on which they are executed. A fully virtualized application is not installed in the traditional sense, although it is sti ...
*
Hardware virtualization Hardware virtualization is the virtualization of computers as complete hardware platforms, certain logical abstractions of their componentry, or only the functionality required to run various operating systems. Virtualization hides the physica ...
*
Virtualization In computing, virtualization or virtualisation (sometimes abbreviated v12n, a numeronym) is the act of creating a virtual (rather than actual) version of something at the same abstraction level, including virtual computer hardware platforms, stor ...


References

{{Reflist, 30em


External links


An introduction to Virtualization

MAKI

VirtualStack (NPV Prototype)
Computer science