Jump to content

Пробивание отверстий (сеть)

Перфорирование (или иногда сквозное соединение ) — это метод в компьютерных сетях для установления прямого соединения между двумя сторонами, в котором одна или обе стороны находятся за брандмауэрами или за маршрутизаторами , использующими преобразование сетевых адресов (NAT). Чтобы пробить дыру, каждый клиент подключается к неограниченному стороннему серверу, который временно хранит внешний и внутренний адрес и информацию о порте для каждого клиента. Затем сервер передает информацию каждого клиента другому, и, используя эту информацию, каждый клиент пытается установить прямое соединение; в результате соединений с использованием действительных номеров портов ограничительные межсетевые экраны или маршрутизаторы принимают и пересылают входящие пакеты с каждой стороны.

Для работы перфорации не требуется никаких знаний топологии сети. Пробивка отверстий ICMP , пробивание отверстий UDP и пробивание отверстий TCP соответственно используют управляющие сообщения Интернета , пользовательские дейтаграммы и протоколы управления передачей .

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

Оба клиента инициируют соединение с неограниченным сервером, который записывает информацию о конечной точке и сеансе, включая общедоступный IP-адрес и порт, а также частный IP-адрес и порт. Брандмауэры также отслеживают конечные точки, чтобы обеспечить обратную передачу ответов от сервера. Затем сервер отправляет информацию о конечной точке и сеансе каждого клиента другому клиенту или одноранговому узлу. Каждый клиент пытается подключиться к своему узлу через указанный IP-адрес и порт, которые брандмауэр узла открыл для сервера. Новая попытка подключения пробивает брешь в брандмауэре клиента, поскольку конечная точка теперь становится открытой для получения ответа от своего узла. В зависимости от условий сети один или оба клиента могут получить запрос на соединение. Успешный обмен одноразовыми номерами аутентификации между обоими клиентами указывает на завершение процедуры пробивания отверстий. [1]

В продуктах VoIP , онлайн-игровых приложениях и программном обеспечении для сетей P2P используется перфорирование.

  • Программное обеспечение для телефонии Skype использует перфорацию, чтобы позволить пользователям общаться с одним или несколькими пользователями вслух. [2]
  • В динамичных многопользовательских онлайн-играх может использоваться техника пробивания отверстий или требовать от пользователей создания постоянного отверстия в брандмауэре , чтобы уменьшить задержку в сети.
  • VPN- приложения, такие как Hamachi , ZeroTier и Tailscale, используют перфорацию, чтобы позволить пользователям напрямую подключаться к подписанным устройствам за брандмауэрами.
  • Программное обеспечение для децентрализованного однорангового обмена файлами основано на пробивании отверстий для распространения файлов.

Требования

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

Надежная перфорация требует согласованной трансляции конечных точек, а для нескольких уровней NAT — шпильковой трансляции.

Когда исходящее соединение от частной конечной точки проходит через брандмауэр, оно получает общедоступную конечную точку (публичный IP-адрес и номер порта), а брандмауэр преобразует трафик между ними. Пока соединение не закрыто, клиент и сервер взаимодействуют через общедоступную конечную точку, а брандмауэр направляет трафик соответствующим образом. Согласованное преобразование конечной точки повторно использует одну и ту же общедоступную конечную точку для данной частной конечной точки вместо выделения новой общедоступной конечной точки для каждого нового соединения.

Шпилька-преобразование создает петлевое соединение между двумя собственными частными конечными точками, когда распознает, что целевой конечной точкой является она сама. Эта функция необходима для перфорации только при использовании в многоуровневом NAT. [1]

См. также

[ редактировать ]
  1. ^ Jump up to: а б Форд, Брайан; Шрисуреш, Пида; Кегель, Дэн (2005), Одноранговая связь через переводчики сетевых адресов
  2. ^ Шмидт, Юрген (2006), Трюк с дыркой
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 8214ecc8cccd4d6ae86134391f77f152__1685804460
URL1:https://arc.ask3.ru/arc/aa/82/52/8214ecc8cccd4d6ae86134391f77f152.html
Заголовок, (Title) документа по адресу, URL1:
Hole punching (networking) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)