Работа в сочетании с протоколом UDP
В случае UDP не существует понятия установки соединения, клиента и сервера. Как должен вести себя NAT, когда с некоторого IP-адреса посылается UDP-пакет с выбранным номером исходящего порта на другой, целевой, адрес с указанием порта?
Примером работы NAT с UDP служит программа Skype. Для работы этой программы важна высокая скорость и одноранговая сеть без промежуточных узлов, которые могут тормозить ее работу (неприемлемы понятия клиента и сервера, используемые в TCP).
Устройство, на котором работает NAT, использует временное кэширование соответствий для UDP аналогично соответствиям в таблице для протокола TCP. Для UDP вводится виртуальное понятие установки соединений: если первый пакет идет из локальной сети в глобальную, появляется запись в таблице.
192.168.1.1 | |
200.200.10.10 | |
UDP | |
2001 | 1050 |
Пусть идет пакет 192.168.1.1 ->200.200.10.10, порт отправителя – 2001, порт получателя – 1050. Пакет передается на MAC адрес узла 192.168.1.10 (узел-концентратор с NAT).
Номер порта | IP-адресотправителя | Порт отправителя | На что подменять |
30002 | 192.168.1.1 | 2001 | 89.110.5.5 |
У себя в таблице концентратор фиксирует, что для UDP было выполнено обращение с порта 2001, IP – 192.168.1.1, концентратор выделяет и указывает порт для этого соединения – пусть это будет 30002 (30001 уже занят) и указывает свой внешний адрес – 89.110.5.5. Далее по этой записи в таблице выполняется подмена: 192.168.1.1 –>89.110.5.5, адрес и порт получателя не изменяются, протокол – UDP, порт отправителя 2001 ->30002.
|
|
89.110.5.5 | |
200.200.10.10 | |
UDP | |
30002 | 1050 |
Обратный пакет идет с 200.200.10.10, порт 1050 ->порт 30002 адреса 89.110.5.5. При этом выполняется трансляция (выясняется номер порта получателя, указанный в пакете - 30002), узел-концентратор получает из таблицы адрес и порт узла (192.168.1.1 и 2001 соответственно), который пользуется таким внешним портом, подменяет значения получателя в пакете и отправляет ему пакет по MAC-адресу.
200.200.10.10 | |
89.110.5.5 | |
UDP | |
1050 | 30002 |
200.200.10.10 | |
192.168.1.1 | |
UDP | |
1050 | 2001 |
Таким образом, при использовании UDP также выполняется трансляция, но основанием для нее является появление в динамической таблице NAT записи с соответствием адресов и портов и указанием, что это UDP.
В таблице в случае UDP появляется дополнительная колонка со временем, которая позволяет удалить запись, если логическое соединениене используется в течение длительного промежутка времени. После удаления порт 30002 может быть использован повторно. Такой подход применяется, поскольку в случае UDPиз-за отсутствия соединений нельзя с уверенностью сказать, используетсяли внешний порт локальным узлом. В TCP такой проблемы не существует, т.к. TCP-соединение активно всегда (если пользовательской активности нет, то производится зондирование нулевым окном). Чтобы логическое соединение для UDPне разрывалось, периодически нужно передаватьнекоторую информацию.
|
|
Для работы динамического NAT с UDPвводится понятие логического соединения. Такое соединение разрывается при отсутствии активности в течение некоторого времени.
Работа связки NAT и DHCP
К локальной сети можно подключать новые узлы, не конфигурируя их, а используя протокол DHCP – в сочетании с NATэти технологии решают проблемы друг друга. Например, DHCP призван выдавать IP-адреса автоматически из некоторого пула адресов. Для локальной сети это всегда будут локальные адреса, имеющие префикс 192.168. Этопозволяетлюбомуустройству, подключившись к локальной сети, получить по протоколу DHCP адрес в этой сети и иметь возможность работать в локальной сети. А протокол NAT и установка в рамках DHCP, кроме IP-адреса, еще и стандартного шлюза обеспечивает возможность автоматически выходить в Интернет при подключении к локальной сети, если стандартный шлюз использует NAT.
Например, пользователь мобильного телефона может подключиться к беспроводной сети и тут же получить возможность выхода в Интернет, хотя, казалось бы, выход в Интернет сопряжен с обязательной выдачей глобального уникального IP адреса. Как это работает? В сети сконфигурирован DHCP, широковещательным запросом устройство узнает MAC-адрес DHCP-сервера и, обратившись к нему, получает локальный IP-адрес из пула адресов DHCP. DHCP также устанавливает стандартный шлюз, который одновременно является NAT-транслятором. При обращении к ресурсам Интернета произойдет перенаправление пакетов на маршрутизатор, подмена локальных IP-адреса и порта; такую же трансформацию пройдут пакеты ответа. Для всего этого пользователю не нужно вручную конфигурировать параметры сети, а достаточно просто подключиться к точке доступа.
|
|
Связку NATи DHCPможно встретить во многих домашних маршрутизаторах с функцией точки доступа Wi-Fi: если такой маршрутизатор имеет доступ к сети Интернет, все мобильные и стационарные устройства, подключаемые к нему, объединяются в локальную сеть с помощью DHCPи получают доступ к Интернету благодаря NAT.
Достоинства и недостатки
Достоинства динамического NAT– обеспечение высокой безопасности благодаря изоляции локальной сети от входящих запросов на установку соединения. Злоумышленник лишается возможности узнать IP-адрес и обратиться к службам, работающим внутри локальной сети. Поэтому NAT обязательно применяется в сетевых экранах, призванных изолировать локальную сеть от глобальной сети Интернет. Только по инициативе узла локальной сети может быть выполнена установка соединения с сервером в Интернете.
|
|
Сфера применения
Технология NATиспользуется для:
1) облегчения выдачи IP-адресов Интернета – чтобы работать в сети Интернет, не нужно выдавать каждому узлу глобальный IP-адрес и следить за тем, кому он выдан;
2) получения возможности централизованного администрирования – при использовании NAT известно, что все глобальные адреса для сети выданы одному узлу-концентратору.
Динамический NAT – это безопасно:злоумышленник не сможет подключиться к локальному компьютеру из внешней сети.Кроме того, динамическийNATдаетвозможность централизованного администрирования.
Сетевые экраны
Общиесведения
Сетевой экран – это неотъемлемая часть сетевого программного обеспечения, входящего в состав операционной системы.Основная функция сетевого экрана – это фильтрация сетевого трафика (анализ поступающих пакетов, входящих или исходящих на уровне, где работает экран, которые поступают с нижележащего уровня).
В ОС Windows сетевые экраны появились только в версии XP (свыходом ServicePack 1). В других операционных системах, в частности, Linux, сетевой экран был дополнительной частью системы. Сейчас сетевой экран входит в стандартную поставку любой операционной системы.
Принцип работы
Пусть сетевой экран работает на втором (канальном) уровне, тогда он принимает входящие сообщения нижележащего (физического) уровня и исходящие сообщения вышележащего (сетевого) уровня. Сетевой экран проводит фильтрацию пакетов.
Фильтрация пакетов – это анализ пакетов по некоторым критериям и принятие решения о том, пропускать пакеты дальше или нет.
– сетевые экраны бывают разных уровней, часто программа-экран объединяет в себе сетевые экраны нескольких уровней, которые работают вместе;
– уровни сетевых экранов соответствуют уровням семиуровневой сетевой модели ISO/OSI. Естественно, на физическом уровне сетевые экраны не работают, но уже для второго, канального уровня, они есть;
– у сетевых экранов выделяют два понятия – входящий (inbound) и исходящий (outbound) трафик.
Сетевой экрананализирует входящие или исходящиепакеты, поступающие с нижележащего или вышележащего уровня соответственно.
Правила фильтрации
Работа сетевых экранов построена на использовании правил фильтрации. Правила бывают двух типов: разрешающие и запрещающие.
– и для разрешающих, и для запрещающих правил используются системы работающих вместе правил;
– выбирается приоритет – определяется, какие правила «выше»;
– для правил часто устанавливается порядок применения, т.к. они могут иметь пересечение по параметрам;
– правила, работающие на любом из уровней, оперируют теми понятиями адресации, которые существуют на этом уровне. Так, правила канального уровня оперируют MAC-адресами, правила сетевого уровня – IP-адресами, правила транспортного уровня – IP- адресами и номерами портов, а правила прикладного уровня – IP-адресами, номерами портов и именами программ.
Пример:может быть создано правило для фильтрации входящего UDP-трафика и правило для входящего UDP-трафика, идущего на порт 2048.
Очевидно, что второе правило является подмножеством первого. Однако часто между правилами могут возникать противоречия. В этом случае становится непонятным, какое из них должно работать первым, а какое – вторым. Управляя порядком, вы управляете приоритетом срабатывания правил.
Семантические сетевые экраны
Семантический сетевой экран – это сетевой экран, который, исходя из анализа заголовков пакета, способен понимать, какой протокол используется и, в соответствии с этим протоколом, разбирать семантику данных в пакетах.
Семантические сетевые экраны работают на эвристических методах, что влечет за собой ряд недостатков. В системах, основанных на правилах, распространенной является следующая проблема: в них существует понятие «обнаружения нарушения правил».
Эвристический алгоритм — алгоритм решения задачи, не имеющий строгого обоснования, но, тем не менее, дающий приемлемое решение задачи в большинстве практически значимых случаев.
Дата добавления: 2018-08-06; просмотров: 261; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!