Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Работа технологии при наличии NAT




Таким образом, посылая встречные пакеты, узлы проделывают в своих сетевых экранах дырки, через которые уходят их пакеты и приходят пакеты от других узлов.


 

 

Условие: программы обмена сообщениями находятся на узлах в локальной сети, где используется NAT. За NAT находятся и узел А, и узел В.

Принцип организации взаимодействия:

1) Узел А посылает пакет серверу, чтобы пройти авторизацию.

 

 

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

 

Измененный пакет приходит на сервер. Сервер по заголовку пакета узнает, что он пришел с узла 100.100.1.1 и порта 30001, а по данным, вложенным в пакет, определяется оригинальный узел-отправитель (узел А с адресом 192.168.1.1, порт 2001);

2) Аналогично происходит авторизация узла В;


 

Обмен пакетами происходит постоянно: клиент шлет серверу информацию, сервер в ответ периодически шлет состояния.

Например, программа Skype отображает статус пользователей. Эта функциональная возможность является следствием технической реализации: через «дырки», образовавшиеся в сетевых экранах, сервер сообщает узлу информацию об активных контактах.

3) Когда узел А желает позвонить узлу В, он сообщает об этом серверу (пакет вида «А звонит В»). Сервер сообщает эту информацию узлу В. В это же время узел А начинает посылать пакеты на 2 адреса:

Адрес Порт
100.100.2.2  
192.168.1.2  

 

4) Первый вариант: пакет от узла А идет на адрес 100.100.2.2, порт 30002. Он проходит через свой NAT и сетевой экран, проделывая «дырочки», однако сетевой экран узла 100.100.2.2 блокирует этот пакет.

В то же время узел В начинает посылать пакеты на адрес узла А (на 2 адреса: 100.100.1.1, порт 30001 и 192.168.1.1, порт 20001). Пакеты проходят через сетевой экран и NAT узла В. Когда пакет доходит до NAT узла A, у NAT уже имеется сохраненное соответствие:

100.100.1.1, порт 30001 -> 192.168.1.1, порт 2001,

поэтому становится возможной обратная трансляция адреса.

Получается, что пакет от узла В дойдет до узла А. То же самое произойдет со следующим пакетом от А к В: он пройдет через сетевые экраны и попадет к узлу В.

Второй вариант: узлы А и В параллельно начинают посылать сообщения на локальные адреса, которые не требуют трансляции. Если узлы находятся в одной локальной сети, то посланный через локальную сеть пакет попадет к получателю напрямую, минуя NAT, проделав «дырочки» в локальных сетевых экранах.

Очевидно, что более быстро выполняются процессы, которые не требуют трансляции адресов, т.е. обмен данными по локальной сети произойдет быстрее, чем через глобальную сеть. В таком случае узлы А и В откажутся от использовании адреса NAT и будут использовать локальные адреса. Это позволяет обеспечить прямое взаимодействие между узлами внутри локальной сети с максимальной скоростью.


 

Если программа Skype работает в локальной сети, то внутри локальной сети будет обеспечена высокая пропускная способность и безопасность, которая является независимой от внешнего трафика.

Смысл подхода «UDP hole punching» состоит в том, чтобы разблокировать сетевые экраны на любых уровнях: как локальные, так и глобальные сетевые экраны.

Если установить правило на сетевом экране «Для программы Skype весь исходящий UDP-трафик закрыть», то программа лишается возможности отправки данных.





Поделиться с друзьями:


Дата добавления: 2014-11-16; Просмотров: 480; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.