IPOP
IPOP (IP-Over-P2P) is an open-source user-centric software virtual network allowing end users to define and create their own virtual private networks (VPNs). IPOP virtual networks provide end-to-end tunneling of IP or Ethernet over “TinCan” links setup and managed through a control API to create various software-defined VPN overlays.

History 
IPOP started as a research project at the University of Florida in 2006. In its first-generation design and implementation, IPOP was built atop structured P2P links managed by the C# Brunet library. In its first design, IPOP relied on Brunet’s structured P2P overlay network for peer-to-peer messaging, notifications, NAT traversal, and IP tunneling. The Brunet-based IPOP is still available as open-source code; however, IPOP’s architecture and implementation have evolved.

Starting September 2013, the project has been funded by the National Science Foundation under the SI2 (Software Infrastructure for Sustained Innovation) program to enable it as open-source “scientific software element” for research in cloud computing. The second-generation design of IPOP incorporates standards (XMPP, STUN, TURN) and libraries (libjingle) that have evolved since the project’s beginning to create P2P tunnels – which we refer to as TinCan links. The current TinCan-based IPOP implementation is based on modules written in C/C++ that leverage libjingle to create TinCan links, and exposing a set of APIs to controller modules that manage the setup, creation and management of TinCan links. For enhanced modularity, the controller module runs as a separate process from the C/C++ module that implements TinCan links and communicate through a JSON-based RPC system; thus the controller can be written in other languages such as Python.

See also 

 OpenConnect, implements a TLS and DTLS-based VPN
 OpenSSH, which also implements a layer-2/3 "tun"-based VPN
 OpenVPN, SSL/TLS based user-space VPN
 Point-to-Point Tunneling Protocol (PPTP) Microsoft method for implementing VPN
 Secure Socket Tunneling Protocol (SSTP) Microsoft method for implementing PPP over SSL VPN
 Social VPN, an open-source VPN based on relationships
 SoftEther VPN, an open-source VPN server program which supports OpenVPN protocol
 stunnel encrypt any TCP connection (single port service) over SSL
 UDP hole punching, a technique for establishing UDP "connections" between firewalled/NATed network nodes

References

External links 
 Peer-to-peer-based VPN Alternatives - Linux Magazine
 Tutorial: Deploying Your Own P2P Overlay for IPOP VPNs - FutureGrid
 Install package network:vpn:ipop / ipop
 Google Summer of Code > 2015 > IP-over-P2P Project

Free security software
Tunneling protocols
Unix network-related software
Virtual private networks