TURN: различия между версиями

Материал из in.wiki
Перейти к навигации Перейти к поиску
 
(не показано 7 промежуточных версий 2 участников)
Строка 1: Строка 1:
'''Traversal Using Relay NAT (TURN)''' — это протокол, который позволяет узлу за [[NAT]] или брандмауэром получать входящие данные через [[TCP]] или [[UDP]] соединения. Такая возможность особенно актуальна для узлов позади [[Network address translation#Symmetric NAT|симметричных NAT]], или брандмауэров, которые собираются стать принимающей стороной в соединении с одним конкретным узлом (peer-ом).
+
'''Traversal Using Relay around NAT (TURN)''' — это протокол, который позволяет узлу за [[NAT]] или брандмауэром получать входящие данные через [[TCP]]- или [[UDP]]- соединения. Такая возможность особенно актуальна для узлов позади [[Network address translation#Symmetric NAT|симметричных NAT]], или брандмауэров, которые собираются стать принимающей стороной в соединении с одним конкретным узлом (peer-ом).
  
 
TURN не предназначен для проброса портов [[Сервер (программное обеспечение)|сервера]] через NAT, он поддерживает соединения точка-точка между узлами расположенными за NAT (как в [[IP-телефония|IP-телефонии]]).
 
TURN не предназначен для проброса портов [[Сервер (программное обеспечение)|сервера]] через NAT, он поддерживает соединения точка-точка между узлами расположенными за NAT (как в [[IP-телефония|IP-телефонии]]).
Строка 5: Строка 5:
 
В этом плане он сохраняет функции безопасности, обеспеченные симметричным NAT и [[Межсетевой экран|брандмауэрами]], но меняет таблицы трансляции так, чтобы узел на внутренней стороне мог стать принимающей стороной соединения.
 
В этом плане он сохраняет функции безопасности, обеспеченные симметричным NAT и [[Межсетевой экран|брандмауэрами]], но меняет таблицы трансляции так, чтобы узел на внутренней стороне мог стать принимающей стороной соединения.
  
Протокол TURN описан в RFC 5766, обновление TURN для поддержки IPv6 описано в RFC 6156. Схема URI для TURN документирована в RFC 7065.
+
Протокол TURN описан в [[Документ:RFC 5766|RFC 5766]], обновление TURN для поддержки IPv6 описано в [[Документ:RFC 6156|RFC 6156]]. Схема URI для TURN документирована в [[Документ:RFC 7065|RFC 7065]].
  
TURN является [[Interactive Connectivity Establishment]] - набора технологий, разработанных [[IETF]] для обеспечения связи компьютерных устройств в режиме точка-точка.
+
TURN тесно связан с аналогичным, но более простым протоколом [[STUN]] и является частью [[Interactive Connectivity Establishment]] ([[ICE (сетевая технология)|ICE]]) - набора технологий, разработанных [[IETF]] для обеспечения связи компьютерных устройств в режиме точка-точка.
 +
 
 +
== Как работает TURN ==
 +
TURN целесообразно использовать в тех случаях, когда использование STUN невозможно<ref>В силу технического отсутствия сервера STUN, или в силу того, что оба узла сети, пытающиеся коммуницировать, находятся за NAT и имеют только локальные IP-адреса.</ref>, так как этот протокол выдвигает большие требования к пропускной способности сервера.
 +
 
 +
Также как и в случае протокола STUN, TURN-агент со стороны клиента, обращается к TURN-серверу с просьбой предоставить [[публичный IP]] и [[Порт (сетевые протоколы)|порт]] для работы соединения. TURN-сервер возвращает свои IP и порт. Вторая сторона P2P соединения действует также. После установления соединения TURN-сервер работает в качестве [[Прокси-сервер|прокси-сервера]].
  
 
== Ссылки ==
 
== Ссылки ==
Строка 13: Строка 18:
 
* [https://samag.ru/archive/article/2017 Всё, что вы хотели знать о протоколе SIP] - содержит общее описание работы TURN
 
* [https://samag.ru/archive/article/2017 Всё, что вы хотели знать о протоколе SIP] - содержит общее описание работы TURN
 
* [https://habr.com/ru/companies/dataart/articles/282612/ P2P в браузере] - описание применения TURN в инфраструктуре [[WebRTC]].
 
* [https://habr.com/ru/companies/dataart/articles/282612/ P2P в браузере] - описание применения TURN в инфраструктуре [[WebRTC]].
 +
* [https://voxlink.ru/kb/asterisk-configuration/obzor-protokolov-stun-turn-i-ice-ih-principy-raboty-s-nat-i-ispolzovanie-dlja-voip/ Денис Здесенко. Обзор протоколов STUN, TURN и ICE, их принципы работы с NAT и использование для VoIP. 09.01.2020.]
  
 +
== Примечания ==
 
[[Категория:TCP/IP]]
 
[[Категория:TCP/IP]]
 
[[Категория:Сетевые протоколы]]
 
[[Категория:Сетевые протоколы]]
 
[[Категория:NAT]]
 
[[Категория:NAT]]
 
[[Категория:IP-телефония]]
 
[[Категория:IP-телефония]]

Текущая версия от 02:01, 21 августа 2023

Traversal Using Relay around NAT (TURN) — это протокол, который позволяет узлу за NAT или брандмауэром получать входящие данные через TCP- или UDP- соединения. Такая возможность особенно актуальна для узлов позади симметричных NAT, или брандмауэров, которые собираются стать принимающей стороной в соединении с одним конкретным узлом (peer-ом).

TURN не предназначен для проброса портов сервера через NAT, он поддерживает соединения точка-точка между узлами расположенными за NAT (как в IP-телефонии).

В этом плане он сохраняет функции безопасности, обеспеченные симметричным NAT и брандмауэрами, но меняет таблицы трансляции так, чтобы узел на внутренней стороне мог стать принимающей стороной соединения.

Протокол TURN описан в RFC 5766, обновление TURN для поддержки IPv6 описано в RFC 6156. Схема URI для TURN документирована в RFC 7065.

TURN тесно связан с аналогичным, но более простым протоколом STUN и является частью Interactive Connectivity Establishment (ICE) - набора технологий, разработанных IETF для обеспечения связи компьютерных устройств в режиме точка-точка.

Как работает TURN[править | править код]

TURN целесообразно использовать в тех случаях, когда использование STUN невозможно[1], так как этот протокол выдвигает большие требования к пропускной способности сервера.

Также как и в случае протокола STUN, TURN-агент со стороны клиента, обращается к TURN-серверу с просьбой предоставить публичный IP и порт для работы соединения. TURN-сервер возвращает свои IP и порт. Вторая сторона P2P соединения действует также. После установления соединения TURN-сервер работает в качестве прокси-сервера.

Ссылки[править | править код]

Примечания[править | править код]

  1. В силу технического отсутствия сервера STUN, или в силу того, что оба узла сети, пытающиеся коммуницировать, находятся за NAT и имеют только локальные IP-адреса.