Jump to content

Обход с использованием реле вокруг NAT

Обход с использованием реле вокруг NAT ( TURN ) — это протокол , который помогает проходить через трансляторы сетевых адресов (NAT) или межсетевые экраны для мультимедийных приложений. Его можно использовать с протоколом управления передачей (TCP) и протоколом пользовательских дейтаграмм (UDP). Это наиболее полезно для клиентов в сетях, замаскированных устройствами с симметричным NAT . TURN не помогает запускать серверы на известных портах частной сети через NAT; он поддерживает соединение пользователя за NAT только с одним узлом, как, например, в телефонии.

ПОВОРОТ определяется РФК   8656 . Схема TURN URI описана в РФК   7065 .

Введение

[ редактировать ]

Трансляция сетевых адресов (NAT) — механизм, который служит мерой по смягчению проблемы исчерпания адресов IPv4 при переходе на IPv6 , сопровождается различными ограничениями. Самым неприятным среди этих ограничений является тот факт, что NAT нарушает работу многих существующих IP-приложений и затрудняет развертывание новых. [1] Были разработаны рекомендации, описывающие, как создавать «NAT-дружественные» протоколы, но многие протоколы просто невозможно построить в соответствии с этими рекомендациями. Примеры таких протоколов включают мультимедийные приложения и обмен файлами.

Утилиты обхода сеанса для NAT (STUN) предоставляют приложению один из способов прохождения NAT. STUN позволяет клиенту получить транспортный адрес (IP-адрес и порт), который может быть полезен для получения пакетов от однорангового узла. Однако адреса, полученные STUN, могут использоваться не всеми узлами. Эти адреса работают в зависимости от топологических условий сети. Таким образом, STUN сам по себе не может обеспечить комплексное решение для обхода NAT.

Полное решение требует средств, с помощью которых клиент может получить транспортный адрес, с которого он сможет получать мультимедиа от любого узла, который может отправлять пакеты в общедоступный Интернет. Этого можно достичь только путем ретрансляции данных через сервер, расположенный в общедоступном Интернете. Обход с использованием реле вокруг NAT (TURN) — это протокол, который позволяет клиенту получать IP-адреса и порты от такого реле.

Хотя TURN почти всегда обеспечивает подключение клиента, это требует больших ресурсов для провайдера сервера TURN. Поэтому желательно использовать TURN только в крайнем случае, предпочитая другие механизмы (такие как STUN или прямое соединение), когда это возможно. Для этого можно использовать методологию интерактивного установления соединений (ICE) для обнаружения оптимальных средств подключения.

Протокол

[ редактировать ]

Процесс начинается, когда клиентский компьютер хочет связаться с одноранговым компьютером для транзакции данных, но не может этого сделать, поскольку и клиент, и одноранговый узел находятся за соответствующими NAT. Если STUN не подходит, поскольку один из NAT является симметричным NAT (тип NAT, который, как известно, несовместим с STUN), необходимо использовать TURN.

Сначала клиент обращается к серверу TURN с запросом «Выделить». Запрос Allocate просит сервер TURN выделить некоторые из своих ресурсов для клиента, чтобы он мог связаться с одноранговым узлом. Если выделение возможно, сервер выделяет адрес для использования клиентом в качестве ретранслятора и отправляет клиенту ответ «Выделение успешное», который содержит «выделенный ретранслируемый транспортный адрес», расположенный на сервере TURN.

Во-вторых, клиент отправляет запрос CreatePermissions на сервер TURN, чтобы создать систему проверки разрешений для связи между одноранговыми серверами. Другими словами, когда с одноранговым узлом наконец связываются и отправляют информацию обратно на сервер TURN для передачи клиенту, сервер TURN использует разрешения для проверки правильности связи между одноранговыми серверами.

После создания разрешений у клиента есть два варианта отправки фактических данных: (1) он может использовать механизм отправки или (2) он может зарезервировать канал с помощью запроса ChannelBind. Механизм отправки более прост, но содержит заголовок большего размера (36 байт), что может существенно увеличить пропускную способность в ретранслируемом сеансе TURN. Напротив, метод ChannelBind легче: размер заголовка составляет всего 4 байта, но он требует резервирования канала, который, помимо прочего, необходимо периодически обновлять.

Используя любой метод, отправку или привязку канала, сервер TURN получает данные от клиента и передает их партнеру с помощью дейтаграмм UDP, которые в качестве исходного адреса содержат «выделенный ретрансляционный транспортный адрес». Узел получает данные и отвечает, снова используя дейтаграмму UDP в качестве транспортного протокола, отправляя дейтаграмму UDP на адрес ретрансляции на сервере TURN.

Сервер TURN получает одноранговую датаграмму UDP, проверяет разрешения и, если они действительны, пересылает ее клиенту.

Этот процесс обходит даже симметричные NAT, поскольку и клиент, и одноранговый узел могут, по крайней мере, общаться с сервером TURN, который выделил IP-адрес ретранслятора для связи.

Хотя TURN более надежен, чем STUN, поскольку он помогает проходить через большее количество типов NAT, связь TURN ретранслирует всю связь через сервер, требуя гораздо большей пропускной способности сервера, чем протокол STUN, который обычно разрешает только общедоступный IP-адрес и ретранслирует информацию клиенту и коллеге, чтобы они могли использовать ее в прямом общении. По этой причине протокол ICE требует использования STUN в качестве первого средства и использования TURN только при работе с симметричными NAT или в других ситуациях, когда STUN не может использоваться.

См. также

[ редактировать ]
  1. ^ Мэтьюз, Филип; Розенберг, Джонатан; Махи, Рохан (апрель 2010 г.). Обход с использованием реле вокруг NAT (TURN): расширения реле для утилит обхода сеанса для NAT (STUN) (отчет). Рабочая группа по интернет-инжинирингу.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 54bb697acc24b8a16190b0e54971d702__1717818960
URL1:https://arc.ask3.ru/arc/aa/54/02/54bb697acc24b8a16190b0e54971d702.html
Заголовок, (Title) документа по адресу, URL1:
Traversal Using Relays around NAT - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)