Защо преминаването на NAT има значение, когато мрежите правят директните връзки трудни

Някои проблеми с връзката не са причинени от приложението, което използвате. Те идват от мрежовия път между устройствата.

Може да забележите това, когато обаждането се свързва незабавно в дома Wi-Fi, но се затруднява в хотела Wi-Fi, когато лобито на играта работи за един играч и се проваля за друг, или когато инструмент за поверителност се държи по различен начин, след като превключите от мобилни данни към офис мрежа. Една често срещана причина е NAT: слой за превод на мрежови адреси, който позволява на много устройства да споделят един обществен интернет адрес.

Тази статия обяснява какво е NAT traversal, защо съществува UDP пробиване на дупки, кога релейните резервни крачки стават полезни и защо читателите на VPN Satelites трябва да третират тези концепции като контекст на връзката, а не като магически гаранции.

Какво прави NAT в ежедневните мрежи

Повечето хора използват частни мрежи, без да мислят за тях. Вашият лаптоп, телефон, таблет и телевизор могат да стоят зад един рутер. В дома всяко устройство има свой частен адрес. За по-широкия интернет те често изглеждат като споделящи един публичен адрес.

Този превод е полезен. Той помага на мрежите да запазят публичните IPv4 адреси и поддържа нормалното домашно маршрутизиране управляемо. Но също така създава практически проблем: устройство извън вашата мрежа обикновено не може просто да отвори директна връзка към устройство във вашата мрежа, освен ако рутерът не знае къде трябва да отиде този входящ трафик.

За обикновено сърфиране в мрежата това обикновено е добре. Вашето устройство започва връзката навън, рутерът запомня картографирането и отговорите се връщат по този временен път. За приложения, които се нуждаят от две крайни точки, за да комуникират по-директно, особено през UDP, ситуацията може да бъде по-малко предвидима.

Това е основната настройка за преминаване на NAT.

Какво е NAT Traversal?

NAT traversal е общо име за техники, които помагат на приложенията да комуникират в мрежи, където една или и двете крайни точки се намират зад NAT.

На обикновен английски, приложението се опитва да отговори на практичен въпрос: „Могат ли тези две устройства да намерят работещ път едно до друго, въпреки че техните рутери превеждат адреси и филтрират входящия трафик?“

Няма единен универсален отговор, тъй като поведението на NAT варира. Стандарти като IETF RFC 4787 описват поведението на NAT за UDP и обясняват защо последователността има значение за приложения в реално време като мултимедийна комуникация и онлайн игри. Същият широк проблем се появява в много съвременни категории приложения: обаждания, инструменти за сътрудничество, игри, инструменти за отдалечен достъп, системи в стил peer-to-peer и приложения, подобни на VPN, всички те могат да бъдат повлияни от начина, по който мрежите обработват трафика.

За четците на VPN Satelites полезният извод е прост: ако връзката се държи различно в мрежите, това може да отразява поведението на рутера, NAT от операторски клас, политиката на защитната стена, филтрирането на пакети, задръстванията или други условия на пътя. Не трябва автоматично да се чете като доказателство, че една настройка на приложението е нарушена.

Какво е UDP пробиване на дупки?

UDP често се използва от приложения в реално време, защото може да избегне част от забавянето и режийните разходи, свързани с трафика, ориентиран към връзката. Но UDP не създава дълготрайна сесия по същия начин, по който много хора си представят традиционната връзка.

UDP пробиването на дупки е NAT техника за преминаване, при която две крайни точки изпращат изходящи UDP пакети, така че техните NAT устройства създават временни съпоставки. Ако времето и поведението на NAT съвпадат, трафикът от другата страна може да се върне през тези съпоставяния.

Фразата звучи агресивно, но концепцията е по-обикновена, отколкото подсказва името. Става въпрос за работа със съществуващите правила на рутера за изходящ и обратен трафик. Фундаменталното изследване от Bryan Ford, Pyda Srisuresh и Dan Kegel описва пробиването на дупки като практичен подход, използван от приложения, базирани на UDP, като същевременно подчертава ключово ограничение: никоя техника на преминаване не работи във всяка настройка на NAT.

Това ограничение има значение. Някои мрежи използват повторно картографиране по полезен начин. Други създават картографиране, което е по-тясно свързано с конкретна дестинация. Някои мрежи добавят поведение на защитна стена към NAT. Някои мобилни мрежи и мрежи на ISP поставят потребителите зад NAT от операторски клас, където потребителят изобщо не контролира слоя за превод нагоре.

Така че, когато някой попита какво е UDP пробиване на дупки, краткият отговор е: това е начин за приложенията да се опитат да направят директен UDP път през съпоставяния, създадени от NAT. Внимателният отговор е: може да работи добре в много среди, но не е гаранция.

Защо директните връзки понякога се провалят

Директната връзка може да се провали поради няколко обикновени причини:

  • Рутерът може да не използва повторно едно и също картографиране на външен порт, когато дадено приложение се свързва с различни дестинации.
  • Мрежата може да филтрира входящите UDP пакети по-стриктно от друга мрежа.
  • NAT слой от операторски клас може да стои между потребителя и обществения интернет.
  • Работно място, училище, хотел или мрежа от места може да ограничи трафика според собствената си политика.
  • Една мобилна мрежа може да промени пътищата си при промяна на качеството на сигнала или мрежовия прикачен файл.
  • Продукт за сигурност или локална защитна стена може да блокира трафика, преди да достигне до приложението.

Нито един от тези случаи не означава, че потребителите трябва да се опитат да заобиколят правилата, които не контролират. Практическият смисъл е да се разбере, че поведението на връзката зависи от повече от едно предпочитание на приложението. Ако дадена мрежа умишлено блокира или ограничава даден тип трафик, правилната следваща стъпка обикновено е да използвате разрешена мрежа, да проверите условията на услугата или да говорите с мрежовия администратор.

Къде се побират резервните реле

Когато директната връзка е ненадеждна, някои системи използват реле: двете крайни точки се свързват навън към междинен сървър и сървърът предава трафик между тях. IETF RFC 5766 описва TURN, съкратено за преминаване с използване на релета около NAT, като протокол за комуникация, подпомагана от реле, когато директната комуникация между партньори не е възможна в определени NAT ситуации.

Релетата решават различен проблем от директното преминаване на NAT. Релето може да подобри достъпността, тъй като и двете устройства трябва само да достигнат до услугата за реле. Компромисът е, че трафикът поема по допълнителен път, което може да добави латентност, разходи за честотна лента и оперативна сложност.

Ето защо много проекти за свързване предпочитат първо да опитат директен път, след което да се върнат, когато е необходимо. IETF RFC 8445 описва ICE като стандартен подход за проследяване на NAT за UDP-базирана комуникация, която използва STUN и TURN концепции за откриване и тестване на възможни пътища. Това не означава, че всеки инструмент, свързан с VPN, използва ICE, STUN или TURN. Той просто показва общ инженерен модел: тествайте кой път работи, след това използвайте резервен вариант, ако директната връзка не е налична.

За читателите важният урок е реалистичното определяне на очакванията. Резервното реле може да направи връзката възможна в ситуации, когато директен маршрут е неуспешен, но това не е същото като да изчезне всяко мрежово състояние.

Какво означава това за читателите на VPN Satelites

Съдържанието на VPN Satelites често е близо до теми като поверителност, свързаност, интернет маршрутизиране и очаквания на потребителите. NAT traversal принадлежи към същия образователен квартал, защото обяснява защо мрежата около приложение може да има толкова голямо значение, колкото и самото приложение.

За тази тема е важно връзката на продукта да бъде скромна. Тази статия не твърди, че VPN Satelites използва специфичен метод за преминаване на NAT, релейна архитектура, настройка за пренасочване на портове, опция за статичен IP или протоколен стек. Стойността тук е практическата грамотност: разбирането на условията ви помага да прочетете по-внимателно указанията за отстраняване на неизправности и да оцените проблемите с връзката, без да очаквате някое приложение, свързано с VPN, да отмени всяко мрежово правило.

Ако връзката е нестабилна, няколко проверки с нисък риск могат да ви помогнат да отделите поведението на приложението от поведението на мрежата:

  • Опитайте с различна разрешена мрежа, като домашна Wi-Fi срещу мобилни данни, и отбележете дали проблемът следва приложението или мрежата.
  • Рестартирайте локалния рутер, ако го контролирате и нормалната свързаност изглежда влошена.
  • Проверете дали мрежата се управлява от работно място, училище, хотел, място или интернет доставчик с ограничения на трафика.
  • Поддържайте приложението и операционната система актуализирани, тъй като обработката на връзката може да се промени в различните версии.
  • Избягвайте да променяте разширените настройки на рутера или защитната стена, освен ако не разбирате въздействието или нямате одобрението на администратора.

Тези стъпки не заобикалят ограниченията. Те помагат да се определи откъде може да идва проблемът с връзката.

Как да четем внимателно претенциите за преминаване на NAT

Когато видите продукт, протокол или приложение да говори за преминаване на NAT, прочетете твърдението с точност.

Полезните въпроси включват:

– Твърдението за обща мрежова техника ли е или за потвърдена характеристика на продукта?

  • Обяснява ли кои мрежови условия се поддържат и кои не?
  • Споменава ли резервно поведение, без да обещава перфектна достъпност?
  • Избягва ли да се внушава, че потребителите могат да пренебрегнат ограниченията на работното място, училището, интернет доставчика, платформата или законовите ограничения?
  • Разделя ли претенциите за поверителност от претенциите за свързаност?

Тази последна точка е лесно да се пропусне. Функция, която помага на две крайни точки да се свържат, не е автоматично гаранция за поверителност. Функцията за поверителност не е автоматично гаранция за свързаност. Добрата документация трябва да държи тези идеи разделени.

ЧЗВ

Преминаването на NAT същото ли е като VPN?

Не. NAT traversal е набор от мрежови техники за работа с преобразуване на адреси и филтриране между крайни точки. VPN е по-широка категория технология за създаване на защитени мрежови тунели. Някои подобни на VPN приложения може да трябва да отчитат поведението на NAT, но концепциите не са същите.

UDP пробиването на дупки винаги ли работи?

Не. Перфорирането на UDP зависи от поведението на NAT, правилата за филтриране, времето и топологията на мрежата. Изследванията и дискусиите по стандартите сочат една и съща практическа реалност: поведението на NAT е различно, така че може да са необходими резервни пътища.

По-добри ли са резервните релейни връзки от директните връзки?

Те са различни. Релето може да помогне, когато директната комуникация не е възможна, но може да добави латентност, използване на честотната лента и оперативни разходи. Директният път може да бъде по-ефективен, когато работи, но може да се провали при по-строги мрежи.

Тази статия казва ли, че VPN Satelites използва STUN, TURN, ICE, релета или пренасочване на портове?

Не. Тези термини се обсъждат като общи мрежови концепции и фон на стандартите. Тази статия не прави никакво специфично за продукта твърдение за внедряване на VPN Satelites.

Може ли NAT да заобикаля правилата на мрежата?

Тази статия не предоставя насоки за байпас. Преминаването на NAT може да помогне да се обясни поведението на връзката, но потребителите трябва да следват приложимите закони, условията на услугата и мрежовите политики.

Долната линия

Преминаването на NAT има значение, защото интернет пътят между две устройства не винаги е директен или предвидим. Пробиването на дупки на UDP може да помогне на някои приложения да установят директна комуникация през NAT, докато резервните реле могат да помогнат, когато директните пътища се провалят. И двете идеи са полезни, но нито една не е универсално решение.

За читателите на VPN Satelites най-практичният урок е да си поставят реалистични очаквания. Надеждността на връзката зависи от приложението, устройството, локалната мрежа, мрежовите политики нагоре по веригата и по-широкия маршрут между крайните точки. Разбирането на тези слоеве прави отстраняването на неизправности по-спокойно и твърденията за продукта по-лесни за критично четене.