TURN сервер

Настройка, программирование, распределённые вычисления

Модераторы: Olej, bellic, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

TURN сервер

Непрочитанное сообщение Olej » 28 авг 2015, 15:19

Traversal Using Relay NAT
Traversal Using Relay NAT (TURN) — это протокол, который позволяет узлу за NAT или брандмауэром получать входящие данные через TCP или UDP соединения. Такая возможность особенно актуальна для узлов позади симметричных NAT, или брандмауэров, которые собираются стать принимающей стороной в соединении с одним конкретным узлом (peer-ом).
TURN не предусматривает работу сервера, находящегося за NAT (что предполагает множественные подключения клиентов в произвольные моменты), он поддерживает лишь подключение единственного клиента на один входящий порт (например, при IP-телефонии).
...
Протокол TURN описан в RFC 5766, обновление TURN для поддержки IPv6 описано в RFC 6156. Схема URI для TURN документирована в RFC 7065.
Session Traversal Utilities for NAT (STUN) предусматривает одно средство для прохождения NAT. STUN позволяет клиенту получить транспортный адрес (IP адрес и порт), который может быть полезен для приема пакетов от peer-ов. Однако адреса, полученные через STUN, не могут быть доступны всем peer-ам. Эти адреса работают в зависимости от топологии сети. Таким образом, STUN сам по себе не может обеспечить комплексное решение для обхода NAT.
...
Хотя TURN будет почти всегда обеспечивать подключение к клиенту, он создает большую нагрузку на провайдера TURN-сервера. Поэтому рекомендуется использовать TURN только в крайнем случае, предпочитая другие механизмы (например, STUN или прямое подключение), когда это возможно. Для достижения этого может использоваться методология Interactive Connectivity Establishment (ICE), чтобы найти оптимальное средство связи.

Код: Выделить всё

olej@nvidia ~ $ apt search turn
p   code-saturne                    - General purpose Computational Fluid Dynami
p   code-saturne-bin                - General purpose Computational Fluid Dynami
p   code-saturne-data               - General purpose Computational Fluid Dynami
p   code-saturne-doc                - General purpose Computational Fluid Dynami
p   code-saturne-include            - General purpose Computational Fluid Dynami
p   libclass-returnvalue-perl       - return-value object that can be treated as
p   libcontextual-return-perl       - module for creating context-sensitive retu
p   libopenturns-dbg                - debug symbols for OpenTURNS               
p   libopenturns-dev                - headers and development libraries for Open
p   libopenturns0.3                 - dynamic libraries for OpenTURNS           
p   libresiprocate-turn-client-1.9  - reSIProcate TURN client (reTurn) - shared 
p   libresiprocate-turn-client-1.9- - reSIProcate TURN client (reTurn) - develop
v   libresiprocate-turn-client-dev  -                                           
p   libreturn-multilevel-perl       - Perl module to enable returning from a nes
p   libreturn-value-perl            - Perl module for polymorphic return values 
p   openturns-examples              - examples of OpenTURNS functionalities     
p   openturns-validation            - validation files for OpenTURNS            
p   python-openturns                - Python front-end of OpenTURNS (aka TUI)   
p   python-openturns-dev            - Python front-end of OpenTURNS (aka TUI)   
v   python2.7-openturns             -                                           
p   resiprocate-turn-server         - reSIProcate SIP stack - ICE/TURN server   
p   rfc5766-turn-server             - TURN and STUN server for VoIP             
v   turn-server                     -                                           
p   turnin-ng                       - assignment submitter and manager          
p   turnserver                      - server for ICE/STUN/TURN, NAT traversal fo

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: TURN сервер

Непрочитанное сообщение Olej » 28 авг 2015, 15:41

Код: Выделить всё

olej@nvidia ~ $ apt show turn-server
Нет в наличии или подходящей версии для turn-server
Пакет: turn-server
Состояние: не реальный пакет
Предоставляется: resiprocate-turn-server, rfc5766-turn-server
olej@nvidia ~ $ apt show turnserver
Пакет: turnserver
Новый: да
Состояние: не установлен
Версия: 0.7.3-2
Приоритет: дополнительный
Раздел: universe/net
Сопровождающий: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Архитектура: i386
Размер в распакованном виде: 169 k
Зависимости: libc6 (>= 2.15), libconfuse0 (>= 2.6), libssl1.0.0 (>= 1.0.0),
                        adduser
Описание: server for ICE/STUN/TURN, NAT traversal for SIP and Jabber
 TURN server developed by the team behind Jitsi.  TURN (RFC 5766) provides a
 standardised solution for VoIP applications to find the most efficient way to
 route media streams when NAT and firewall devices may be present. 
 
 The TurnServer project aims to be compliant with the TURN and STUN Request For
 Comments (respectively RFC 5766 and RFC 5389). It also support RFC 6156 namely
 TURN-IPV6 (relay between IPv4-IPv6, IPv6-IPv4 and IPv6-IPv6 addresses) and RFC
 6062 namely TURN-TCP (relay data with TCP).
Сайт: http://www.turnserver.org/

Код: Выделить всё

olej@nvidia ~ $ apt show resiprocate-turn-server
Пакет: resiprocate-turn-server
Новый: да
Состояние: не установлен
Версия: 1:1.9.7-4~ubuntu14.04.1
Приоритет: дополнительный
Раздел: universe/net
Сопровождающий: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Архитектура: i386
Размер в распакованном виде: 692 k
Зависимости: libresiprocate-1.9 (= 1:1.9.7-4~ubuntu14.04.1), libc6 (>= 2.9),
                        libgcc1 (>= 1:4.1.1), libssl1.0.0 (>= 1.0.1), libstdc++6
                        (>= 4.6), adduser
Рекомендует: openssl
Предлагает: sip-router, xmpp-server, jscommunicator-web-phone
Предоставляет: stun-server, turn-server
Описание: reSIProcate SIP stack - ICE/TURN server
 reTurn is the TURN server developed as part of the reSIProcate project. TURN
 (RFC 5766) provides a standardised solution for VoIP applications to find the
 most efficient way to route media streams when NAT and firewall devices may be
 present. 
 
 reTurn provides a high-quality, low maintenance solution for serving small and
 large IP telephony installations.  It has been used successfully with a variety
 of SIP and Jabber applications, including Lumicall, Jitsi, Empathy and Psi. 
 
 reSIProcate is a framework that aims to fully implement the SIP protocol in
 first class C++.  It is intended for use in other applications, such as the
 repro SIP proxy.
Сайт: http://www.resiprocate.org/

Код: Выделить всё

olej@nvidia ~ $ apt show rfc5766-turn-server
Пакет: rfc5766-turn-server
Новый: да
Состояние: не установлен
Версия: 3.2.3.1-1
Приоритет: дополнительный
Раздел: universe/net
Сопровождающий: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Архитектура: i386
Размер в распакованном виде: 973 k
Зависимости: libc6 (>= 2.7), libevent-core-2.0-5 (>= 2.0.10-stable),
                        libevent-openssl-2.0-5 (>= 2.0.10-stable),
                        libevent-pthreads-2.0-5 (>= 2.0.10-stable),
                        libhiredis0.10 (>= 0.10.1), libmysqlclient18 (>=
                        5.5.24+dfsg-1), libpq5 (>= 8.4~), libssl1.0.0 (>=
                        1.0.1), adduser, telnet
Предлагает: sip-router, xmpp-server
Конфликтует: turnserver
Предоставляет: stun-server, turn-server
Описание: TURN and STUN server for VoIP
 STUN (Session Traversal Utilities for NAT) and TURN (Traversal Using Relays
 around NAT) are protocols that can be used to provide NAT traversal for VoIP
 and WebRTC. This package provides a VoIP media traffic NAT traversal server and
 gateway. 
 
 Supported RFCs: TURN specs: 
 * RFC 5766 - base TURN specs; 
 * RFC 6062 - TCP relaying TURN extension; 
 * RFC 6156 - IPv6 extension for TURN; 
 * DTLS support as client protocol
   http://tools.ietf.org/html/draft-petithuguenin-tram-turn-dtls-00; 
 * Mobile ICE (MICE) support
   http://datatracker.ietf.org/doc/draft-wing-mmusic-ice-mobility. 
   
 STUN specs: 
 * RFC 3489 - obsolete "classic" STUN specs; 
 * RFC 5389 - base "new" STUN specs; 
 * RFC 5769 - test vectors for STUN protocol testing; 
 * RFC 5780 - NAT behavior discovery support. 
   
 The implementation fully supports UDP, TCP, TLS, and DTLS as protocols between
 the TURN client and the TURN server. Both UDP and TCP relaying are supported. 
 
 Flat files, MySQL, PostgreSQL, or Redis are all supported for the user
 repository (if authentication is required). Both short-term and long-term
 credentials mechanisms are supported. For WebRTC applications, the TURN server
 REST API for time-limited secret-based authentication is implemented. 
 
 Load balancing can be implemented either by DNS round-robin mechanism, or with
 the external networking tools, or by the built-in ALTERNATE-SERVER mechanism. 
 
 The implementation is intended to be simple to install and configure. The
 project focuses on performance, scalability, and simplicity. The aim is to
 provide an enterprise-grade TURN solution.
Сайт: http://code.google.com/p/rfc5766-turn-server/
Как я понимаю (может и ошибаюсь?), это 3 альтернативных варианта только в стандартном репозитарии!
Модная штучка ;-)

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: TURN сервер

Непрочитанное сообщение Olej » 28 авг 2015, 20:58

Olej писал(а): Как я понимаю (может и ошибаюсь?), это 3 альтернативных варианта только в стандартном репозитарии!
Модная штучка ;-)
По разрозненным отзывам (других не нашёл) лучшим считают 3-й.
Вот его страница: rfc5766-turn-server.
Там есть хоть немного (но очень скудно) документации ... потому что больше её нигде нет (IMHO).
On-line management interface (over telnet) for the TURN server is available.
...
Supported relay protocols:
UDP (per RFC 5766)
TCP (per RFC 6062)

Ответить

Вернуться в «Сети»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 9 гостей