IPOP
IPOP| 원본 작성자 | 레나토 피게레도 |
|---|---|
| 리포지토리 | |
| 기록 위치 | 파이톤, C, 바시 |
| 유형 | VPN |
| 면허증 | MIT 라이선스 |
| 웹사이트 | ipop-project |
IPOP(IP-Over-P2P)는 최종 사용자가 직접 가상 사설망(VPN)을 정의하고 생성할 수 있는 오픈 소스 사용자 중심 소프트웨어 가상 네트워크다.IPOP 가상 네트워크는 제어 API를 통해 설정 및 관리되는 "TinCan" 링크를 통해 IP 또는 이더넷의 엔드 투 엔드 터널링을 제공하여 다양한 소프트웨어 정의 VPN 오버레이를 생성한다.[1]
역사
IPOP는 2006년 플로리다 대학에서 연구 프로젝트로 시작했다.1세대 설계와 구현에서, IPOP는 C# Brunet 라이브러리에 의해 관리되는 구조화된 P2P 링크 위에 구축되었다.IPOP는 첫 번째 설계에서 피어 투 피어 메시징, 알림, NAT 통과 및 IP 터널링을 위해 Brunet의 구조화된 P2P 오버레이 네트워크에 의존했다.브루넷 기반의 IPOP는 여전히 오픈 소스 코드로 이용이 가능하지만, IPOP의 아키텍처와 구현은 발전해 왔다.
이 프로젝트는 2013년 9월부터 SI2(지속적 혁신을 위한 소프트웨어 인프라) 프로그램에 따라 국립과학재단으로부터 자금을 지원받아 클라우드 컴퓨팅 연구를 위한 오픈소스 '과학 소프트웨어 요소'로 활용할 수 있도록 하고 있다.IPOP의 2세대 설계에는 프로젝트가 P2P 터널을 만들기 시작한 이래 진화한 표준(XMPP, STON, Turn)과 라이브러리(libjingle)가 통합되어 있는데, 이를 TinCan 링크라고 한다.현재의 TinCan 기반 IPOP 구현은 libjingle을 활용하여 TinCan 링크를 생성하고, TinCan 링크의 설정, 생성 및 관리를 관리하는 제어기 모듈에 API 세트를 노출하는 C/C++로 작성된 모듈을 기반으로 한다.향상된 모듈화를 위해 제어기 모듈은 TinCan 링크를 구현하고 JSON 기반 RPC 시스템을 통해 통신하는 C/C++ 모듈과는 별도의 프로세스로 실행되므로 제어기는 Python과 같은 다른 언어로 작성될 수 있다.[2]
참고 항목
- OpenConnect, TLS 및 DTLS 기반 VPN 구현
- 또한 계층 2/3 "tun" 기반 VPN을 구현하는 OpenSSH
- OpenVPN, SSL/TLS 기반 사용자 공간 VPN
- VPN 구현을 위한 PPTP(Point-to-Point Tunneling Protocol) Microsoft 방법
- SSL VPN을 통한 PPP 구현을 위한 SSTP(Secure Socket Tunneling Protocol) Microsoft 방법
- 소셜 VPN, 관계 기반 오픈 소스 VPN
- SoftEder VPN, OpenVPN 프로토콜을 지원하는 오픈 소스 VPN 서버 프로그램
- 스턴넬은 SSL을 통해 모든 TCP 연결(단일 포트 서비스)을 암호화한다.
- UDP 홀 펀칭(UDP Hole Punching), Firewise/NATed 네트워크 노드 간의 UDP "연결"을 설정하는 기술