TURN: различия между версиями
Marlezon (комментарии | вклад) |
|||
(не показано 8 промежуточных версий 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 тесно связан с аналогичным, но более простым протоколом [[STUN]] и является частью [[Interactive Connectivity Establishment]] ([[ICE (сетевая технология)|ICE]]) - набора технологий, разработанных [[IETF]] для обеспечения связи компьютерных устройств в режиме точка-точка. | |
− | + | == Как работает TURN == | |
+ | TURN целесообразно использовать в тех случаях, когда использование STUN невозможно<ref>В силу технического отсутствия сервера STUN, или в силу того, что оба узла сети, пытающиеся коммуницировать, находятся за NAT и имеют только локальные IP-адреса.</ref>, так как этот протокол выдвигает большие требования к пропускной способности сервера. | ||
− | + | Также как и в случае протокола STUN, TURN-агент со стороны клиента, обращается к TURN-серверу с просьбой предоставить [[публичный IP]] и [[Порт (сетевые протоколы)|порт]] для работы соединения. TURN-сервер возвращает свои IP и порт. Вторая сторона P2P соединения действует также. После установления соединения TURN-сервер работает в качестве [[Прокси-сервер|прокси-сервера]]. | |
− | |||
− | |||
− | |||
− | |||
+ | == Ссылки == | ||
+ | * [https://samag.ru/archive/article/2017 Всё, что вы хотели знать о протоколе SIP] - содержит общее описание работы TURN | ||
+ | * [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-сервер работает в качестве прокси-сервера.
Ссылки[править | править код]
- Всё, что вы хотели знать о протоколе SIP - содержит общее описание работы TURN
- P2P в браузере - описание применения TURN в инфраструктуре WebRTC.
- Денис Здесенко. Обзор протоколов STUN, TURN и ICE, их принципы работы с NAT и использование для VoIP. 09.01.2020.
Примечания[править | править код]
- ↑ В силу технического отсутствия сервера STUN, или в силу того, что оба узла сети, пытающиеся коммуницировать, находятся за NAT и имеют только локальные IP-адреса.