ПОП
Оригинальный автор(ы) | Ренато Фигейредо |
---|---|
Репозиторий | |
Написано в | Питон , С , Баш |
Тип | VPN |
Лицензия | МОЯ лицензия |
Веб-сайт | ipop-проект |
IPOP (IP-Over-P2P) — это ориентированная на пользователя программная виртуальная сеть с открытым исходным кодом , позволяющая конечным пользователям определять и создавать свои собственные виртуальные частные сети (VPN). Виртуальные сети IPOP обеспечивают сквозное туннелирование IP или Ethernet управления через каналы «TinCan», настройку и управление через API для создания различных программно-определяемых наложений VPN . [ 1 ]
История
[ редактировать ]IPOP начался как исследовательский проект в Университете Флориды в 2006 году. В своем первом поколении IPOP был построен на основе структурированных P2P-каналов, управляемых библиотекой C# Brunet . В своем первом проекте IPOP опирался на структурированную оверлейную сеть P2P Brunet для однорангового обмена сообщениями, уведомлениями, обходом NAT и IP-туннелированием. IPOP на основе Брюне по-прежнему доступен с открытым исходным кодом; однако архитектура и реализация IPOP претерпели изменения.
С сентября 2013 года проект финансируется Национальным научным фондом в рамках программы SI2 (Программная инфраструктура для устойчивых инноваций), чтобы сделать его «элементом научного программного обеспечения» с открытым исходным кодом для исследований в области облачных вычислений. Дизайн IPOP второго поколения включает стандарты (XMPP, STUN, TURN) и библиотеки ( libjingle ), которые развивались с момента начала проекта по созданию туннелей P2P, которые мы называем ссылками TinCan. Текущая реализация IPOP на основе TinCan основана на модулях, написанных на C/C++, которые используют libjingle для создания ссылок TinCan и предоставляют набор API-интерфейсов модулям контроллера, которые управляют настройкой, созданием и управлением ссылками TinCan. Для повышения модульности модуль контроллера работает как отдельный процесс от модуля C/C++, который реализует ссылки TinCan и взаимодействует через систему RPC на основе JSON; таким образом, контроллер может быть написан на других языках, таких как Python. [ 2 ]
См. также
[ редактировать ]- OpenConnect реализует VPN на основе TLS и DTLS.
- OpenSSH , который также реализует VPN на основе «tun» уровня 2/3.
- OpenVPN , VPN для пользовательского пространства на основе SSL/TLS
- Протокол туннелирования «точка-точка» (PPTP) Метод Microsoft для реализации VPN
- Протокол Secure Socket Tunneling Protocol (SSTP) Метод Microsoft для реализации PPP через SSL VPN
- Социальный VPN — VPN с открытым исходным кодом, основанный на отношениях
- SoftEther VPN — программа VPN-сервера с открытым исходным кодом, поддерживающая протокол OpenVPN.
- stunnel шифрует любое TCP-соединение (служба одного порта) через SSL
- Пробивка отверстий UDP — метод установления UDP-соединений между сетевыми узлами, защищенными брандмауэром или NAT.