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