Virtual Socket

Updated: April 19, 2023

The Virtual Socket framework provides a simple mechanism for passing data between the host and a guest, or between guests, independently of network protocols.

Using sockets that exchange data through the TCP/IP stack is not the simplest communications method in a hypervisor system, because you need to configure networking in the virtual machines (VMs) in which guests run, and define a network interface in the host.

The virtual socket offers a zero-configuration virtual device that allows guest and host applications to exchange data using standard socket API calls and thus, behave similarly to TCP/IP applications. The device is useful for sending small data but is less efficient for streaming large data than the other frameworks. So it could be used for sending buffer addresses or small files but not audio or video content.

Note: This framework is considered mature because the VirtIO specification that defines the virtual device interface and the guest OS components that use this interface are not changing.
This chapter describes: