IPOP (IP-Over-P2P) es una red virtual de software de código abierto centrada en el usuario que permite a los usuarios finales definir y crear sus propias redes privadas virtuales (VPN). Las redes virtuales IPOP proporcionan un túnel de extremo a extremo de IP o Ethernet a través de la configuración de enlaces "TinCan" y se administran a través de una API de control para crear varias superposiciones VPN definidas por software . [1]
Autor (es) original (es) | Renato Figueiredo |
---|---|
Repositorio | |
Escrito en | Python , C , Bash |
Tipo | VPN |
Licencia | Licencia MIT |
Sitio web | ipop-project |
Historia
IPOP comenzó como un proyecto de investigación en la Universidad de Florida en 2006. En su diseño e implementación de primera generación, IPOP se construyó sobre enlaces P2P estructurados administrados por la biblioteca C # Brunet . En su primer diseño, IPOP se basó en la red de superposición P2P estructurada de Brunet para mensajería, notificaciones, NAT transversal y tunelización IP de igual a igual . El IPOP basado en Brunet todavía está disponible como código fuente abierto ; sin embargo, la arquitectura y la implementación de IPOP han evolucionado.
A partir de septiembre de 2013, el proyecto ha sido financiado por la National Science Foundation en el marco del programa SI2 (Software Infrastructure for Sustained Innovation) para habilitarlo como “elemento de software científico” de código abierto para la investigación en computación en la nube. El diseño de segunda generación de IPOP incorpora estándares (XMPP, STUN, TURN) y bibliotecas ( libjingle ) que han evolucionado desde el inicio del proyecto para crear túneles P2P, a los que nos referimos como enlaces TinCan. La implementación actual de IPOP basada en TinCan se basa en módulos escritos en C / C ++ que aprovechan libjingle para crear enlaces TinCan y exponen un conjunto de API a módulos de controlador que gestionan la configuración, creación y gestión de enlaces TinCan. Para mejorar la modularidad, el módulo del controlador se ejecuta como un proceso separado del módulo C / C ++ que implementa enlaces TinCan y se comunica a través de un sistema RPC basado en JSON; por lo tanto, el controlador se puede escribir en otros lenguajes como Python. [2]
Ver también
- OpenConnect , implementa una VPN basada en TLS y DTLS
- OpenSSH , que también implementa una VPN basada en "tun" de capa 2/3
- VPN de espacio de usuario basada en OpenVPN , SSL / TLS
- Protocolo de túnel punto a punto (PPTP) Método de Microsoft para implementar VPN
- Protocolo de túnel de sockets seguros (SSTP) Método de Microsoft para implementar PPP sobre SSL VPN
- Social VPN , una VPN de código abierto basada en relaciones
- SoftEther VPN , un programa de servidor VPN de código abierto que admite el protocolo OpenVPN
- stunnel encripta cualquier conexión TCP (servicio de puerto único) a través de SSL
- Perforación de agujeros UDP , una técnica para establecer "conexiones" UDP entre nodos de red con cortafuegos / NAT
Referencias
- ^ IPOP-Project.org - IPOP : redes privadas virtuales de código abierto fáciles de usar
- ^ Historia del proyecto IPOP