Letysite.ru

IT Новости с интернет пространства
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Трансляция адресов nat

Как работает трансляция сетевых адресов (NAT)

В первую очередь NAT был представлен миру IT и сетям из-за отсутствия IP-адресов или взгляда на него с другой точки зрения из-за огромного количества растущей ИТ-технологии, основанной на IP-адресах. Чтобы добавить к этому, NAT добавляет уровень безопасности, скрывая компьютеры, серверы и другое ИТ-оборудование из внешнего мира.

Когда компьютеры и серверы в сети обмениваются данными, их нужно идентифицировать друг с другом по уникальному адресу, в результате чего создается 32-битное число, а комбинации этих 32 бит будут вмещать более 4 миллиардов уникальных адресов, известный как IP-адрес. Это было названо IPv4, и хотя более 4 миллиардов адресов звучит много, он действительно не рассматривает, как быстро вырос мир компьютеров и Интернета.

Чтобы обойти эту проблему, было создано временное решение, известное как NAT. NAT привел к двум типам IP-адресов, общедоступных и частных. Был введен ряд частных адресов, которые каждый мог использовать, если они были закрыты в сети и не маршрутизировались в Интернете. Диапазон частных адресов, известных как RFC 1918;

NAT позволяет использовать этот частный IP-адрес во внутренней сети. Таким образом, в вашей частной сети вы назначаете уникальный IP-адрес всем вашим компьютерам, серверам и другим ресурсам, управляемым IP, обычно выполняемым через DHCP. Другая компания может использовать одни и те же частные IP-адреса, если они хранятся внутри своей сети. Таким образом, две компании могут использовать один и тот же диапазон IP-адресов, но поскольку они являются частными для своей сети, они не конфликтуют друг с другом.

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

Теперь перейдем к делу; Когда хост во внутренней сети с внутренним IP-адресом должен обмениваться данными за пределами своей частной сети, он будет использовать общедоступный IP-адрес в шлюзе сети, чтобы идентифицировать себя с остальным миром, и этот перевод преобразования частного IP-адреса адрес для общественности осуществляется NAT. Например, компьютер по внутреннему адресу 192.168.1.10 хотел бы общаться с веб-сервером где-то в Интернете, NAT переведет адрес 192.168.1.10 на общедоступный адрес компании, например, позвоните по этому 1.1.1.1. так что внутренний адрес определяется как общий адрес при общении с внешним миром. Это необходимо сделать, потому что, когда веб-сервер где-то в Интернете должен был ответить на этот внутренний компьютер, ему необходимо отправить его на уникальный и маршрутизируемый адрес в Интернете, общий адрес. Он не может использовать исходный адрес 192.168.1.10, поскольку он является закрытым, ни одного маршрутизируемого и скрытого от внешнего мира. Этот адрес, 1.1.1.1, будет адресом общего адреса для этой компании и может рассматриваться всеми. Теперь веб-сервер ответит на этот общедоступный адрес, 1.1.1.1. Затем NAT будет использовать свои записи для перевода пакетов, полученных с веб-сервера, который был предназначен для 1.1.1.1, во внутренний сетевой адрес 192.168.1.10, и хотя компьютер, который запросил исходную информацию, получит запрашиваемые пакеты.

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

Типы NAT

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

Статический NAT

Пул открытых IP-адресов назначается устройству NAT. Затем частный IP-адрес может быть статически сопоставлен любому из этих общедоступных адресов. Этот тип схемы NATTING обычно используется для серверов, требующих одного и того же IP-адреса, поэтому имя «статическое», поэтому сервер 1 всегда будет иметь тот же самый IP-адрес, назначенный ему, сервер 2 будет иметь другой публичный IP-адрес, назначенный ему и так далее.

Динамический NAT

Опять же, устройство NAT будет состоять из пула IP-адресов. На этот раз, хотя пул IP-адресов будет использоваться по мере необходимости, а затем возвращается в пул. Поэтому, если компьютеру A нужен публичный адрес, это займет один из пула, а затем отложите его, когда закончите. В следующий раз, когда одному и тому же компьютеру понадобится IP-адрес, ему может быть присвоен другой общий адрес из пула, потому что тот, который использовался ранее, может использоваться другим компьютером, поэтому имя «динамическое». Поэтому пользователи, которые хотят общаться в Интернете в любой момент времени, будут ограничены тем, сколько общедоступных IP-адресов доступно в пуле NAT. Компания будет покупать несколько публичных IP-адресов в зависимости от их потребностей.

Трансляция адресов портов (PAT)

В этом типе настройки компания будет иметь только один общедоступный IP-адрес, назначенный для своей сети, и поэтому каждый будет использовать этот общий публичный адрес при использовании Интернета, например, в Интернете. Да, вы можете спросить, как каждый может поделиться одним адресом, ну и ключ лежит в имени, переводе адреса порта. Когда компьютер хочет использовать Интернет, устройство NAT, используя метод PAT, будет помнить IP-адрес и исходный порт внутреннего хоста. Например, 192.168.1.10 с исходным портом 55331 хотели просмотреть Amazon.com. Устройство NAT сохранит это, и когда Amazon ответит на общедоступный адрес и номер порта 55331, устройство NAT будет использовать метод PAT и искать информацию о порте, которая отображается на внутреннем компьютере, запрашивающем его. Поэтому было бы сказано, что эта информация Amazon отправила обратно на общедоступный адрес и номер порта 55331, сопоставив с IP-адресом 192.168.1.10, который изначально запросил его, хотя информация для этого компьютера. Таким образом, соединения однозначно идентифицируются исходным портом, все используют один и тот же общедоступный IP-адрес, но с уникальными портами-источниками, чтобы определить, кто запросил какую-либо информацию.

Используя этот метод, компания будет экономить разумные деньги и IP-адреса, потому что использует только один IP-адрес. Это стало основным фактором, почему IPv6 упоминается уже несколько лет, но в большинстве стран он еще не требуется.

NAT также реализуется в домашних маршрутизаторах и аппаратных брандмауэрах, таких как Netgear и Linksys этого мира, а также высокопроизводительные аппаратные брандмауэры, такие как Cisco и Juniper.

Это оказалось ценной особенностью аппаратных брандмауэров для сохранения общедоступных IP-адресов, а также контрмеры для некоторых типов атак, таких как разведывательная атака.

Недостатки NAT

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

Однако, чтобы обойти вышеупомянутую проблему, для этих специализированных сервисов можно приобрести несколько дополнительных IP-адресов. Однако в долгосрочной перспективе IPv6 уже внедряется в некоторых технологиях и в некоторых частях мира. Эта схема адресации использует 128-битную схему нумерации, в отличие от 32 битов IPv4, используемых для адресов. IPv6 поддерживает 2 по мощности 128 адресов, по сравнению с IPv4 2 до 32, теперь это массовое увеличение IP-адресов, хотя в будущем будет доказано увеличение IP-адресации с использованием IPv6.

Трансляция сетевых адресов NAT

NAT (Network Address Translation) – трансляция (подмена) сетевых адресов. Эта технология широко используется. Позволяет с одной стороны, противостоять нехватке IPv4 адресов, а с другой – повысить защищённость сети.

Приватные адреса

Давайте начнём вот с чего: IPv4 адреса бывают публичные и приватные, если вы не совсем понимаете смысл приватных (серых) адресов, то рекомендую начать изучение с соответствующей статьи. Если в двух словах, то приватные адреса может использовать кто угодно в своей сети, для этого нет необходимости арендовать адресное пространство, или выделять адреса у провайдера. Очевидный недостаток таких адресов – к устройству, имеющему приватный адрес нельзя подключиться из интернета – только из вашей собственной локальной сети. Это связанно с тем, что ни один провайдер мира не знает, что эти адреса используются в вашей сети и соответственно эти сети отсутствуют в таблице маршрутизации сторонних маршрутизаторов и трафик к ним не маршрутизируется. Понятно, что при всём желании маршруты нельзя прописать на сторонних маршрутизаторах, так как не только вы пользуетесь этими адресами. Основное преимущество приватных адресов в том, что за них не надо платить, ими можно пользоваться на своё усмотрение и главное – одни и те же адреса используются в разных локальных сетях разных организаций, что приводит к экономии адресного пространства IPv4.

Трансляция адресов

Для того чтобы организовать возможность выхода в интернет с устройств, имеющих приватные адреса применяется технология трансляции адресов, либо используется прокси-сервер. Если попытаться отправить, например, запрос к веб-серверу, находящемуся в интернете, с приватного адреса, то сам запрос теоретически дойдёт, так как веб сервер имеет публичный адрес, а вот ответ от сервера не вернётся, так как обратный адрес, на который этот ответ надо слать – приватный. Трансляция адресов заключается в том, что есть некоторое NAT-устройство, например, сервер или маршрутизатор, который имеет один или несколько публичных адресов. Клиенты с приватными адресами пытаются отправить запросы напрямую получателю в интернете, но ip пакеты по пути попадают на такое устройство. При этом в пакете подменяется адрес отправителя: вместо приватного адреса клиента, устройство ставит в это поле один из своих публичных адресов, после чего пакет отправляется в сеть. Теперь у него и адрес отправителя и адрес получателя – публичные. Получатель обрабатывает пакет и возвращает на него ответ (например, содержимое запрошенной из интернета странички). Этот ответ, как несложно догадаться, идёт на публичный адрес устройства, занимающегося NAT-ом. Устройство помнит, когда и какой адрес оно подменяло и в этом пакете адрес получателя снова меняется: публичный адрес устройства заменяется на приватный адрес клиента, после чего пакет идёт дальше во внутреннюю сеть. Клиент получает данные, как будто бы никакого преобразования адресов не было. Но это всё хорошо в теории. На практике, есть ряд протоколов, которые не могут работать с NAT-ом. На это есть свои причины. Какие-то протоколы в данных седьмого уровня могут содержать копию ip адреса, и эта копия, естественно не подменяется, так как NAT-устройство работает на 3-ем и 4-ом уровнях модели OSI. Другие протоколы подразумевают появление дополнительных соединений в процессе работы, которые могу исходить от внешней стороны. Про такие соединения NAT-устройство так же не знает и не будет передавать их клиенту. Но, если пользователям в вашей сети надо сидеть в интернете и читать почту, то проблем не будет.

Читать еще:  Как сбросить настройки word по умолчанию

Преимущества трансляции адресов:

  1. Минимизация использования публичных адресов
  2. Повышенная гибкость использования адресов
  3. Возможность изменения внешних адресов без необходимости изменять адресный план локальной сети
  4. Повышенная безопасность в связи с тем, что из интернета нельзя обратиться ко внутренним устройствам напрямую.

Недостатки трансляции адресов:

  1. Уменьшение производительности в связи с дополнительными действиями на маршрутизаторе.
  2. Проблемы с работой некоторых протоколов.
  3. Сложности при организации туннелей.
  4. Сложности с организацией входящих соединений извне.

Раз уж мы изучаем оборудование Cisco, то в качестве NAT-устройства у нас выступает маршрутизатор. Любой маршрутизатор Cisco умеет организовывать трансляцию адресов.

Терминология

Чтобы ориентироваться в терминах, надо запомнить 4 адреса, которые фигурируют в процессе трансляции:

  1. Inside local
  2. Inside global
  3. Outside local
  4. Outside global

Inside local – Это приватный адрес нашего устройства, которое пытается отправит запрос в интернет. Мы отправляем пакет на адрес некоего сервера (outside global). Когда пакет проходит через NAT-устройство, то адрес отправителя подменяется на публичный адрес, имеющийся в распоряжении NAT-устройства (inside global). Если сервер-получателя имеет публичный адрес и доступен по нему извне, то outside global и outside local – совпадают, если сам сервер тоже скрыт за каким-то NAT-устройством, то именно оно получает вместо него запрос на outside global адрес и транслирует адрес получателя на outside local (во внутренней сети получателя). Впрочем, ситуация, когда сервер находится за NAT-ом – не частое явление и обычно outside local и outside global – это один и тот же адрес.

Иными словами, мы можем объяснить эти термины так:

  1. Inside – адреса нашего отправляющего устройства, которые подвергаются трансляции (local в global и обратно).
  2. Outside – адреса получателя
  1. Local – внутренние с точки зрения локальных сетей, часто приватные адреса устройств (как отправителя, так и получателя), с которых прямое взаимодействие без трансляции невозможно.
  2. Global – публичные адреса, имеющиеся в распоряжении NAT-устройств, между которыми и происходит взаимодействие в интернете.

Таблица трансляций

Для обеспечения корректной работы, маршрутизатор должен иметь в памяти таблицу трансляций, в которой находится информация о том, когда проводились трансляции, а также записываются inside local, inside global, outside global и outside local адреса. Эта таблица необходима для организации правильной обратной трансляции. Например, если внутренний компьютер с адресом «A» отправил запрос на адрес «B», а маршрутизатор подменил приватный адрес «A» на свой публичный «C», то, когда придёт ответ из интернета с адреса «B» на адрес «C», маршрутизатор, глядя в эту табличку будет знать, что надо адрес получателя «C» подменить обратно на адрес «A».

Виды трансляции адресов

Всё вышеперечисленное является общими принципами работы NAT. Однако, существуют разные способы организации этого процесса:

  1. Статический NAT – когда на маршрутизаторе организована трансляция одного конкретного inside local адреса в один конкретный inside global адрес.
  2. Динамическая трансляция NAT – когда на маршрутизаторе имеется пул свободных inside global адресов, и конфигурация позволяет клиентам из некоего множества inside local адресов проходить трансляцию. В этом случае для очередного клиента изнутри в пуле выбирается очередной свободный адрес и происходит трансляция.
  3. Трансляция портов и адресов (PAT) – это механизм NAT, затрагивающий не только третий, но и четвёртый уровень модели OSI. Используется, когда количество клиентов превышает размер пула inside global адресов. В этом случае клиенты могут транслироваться на один и тот же inside global адрес, но при этом может менять номер порта (TCP или UDP), чтобы при получении ответа, в зависимости от того, на какой он пришел порт, можно было бы организовать трансляцию этого ответа одному или другому клиенту. PAT вносит дополнительные ограничения на перечень работающих протоколов, впрочем HTTP, POP3, SMTP будут нормально работать и через PAT. PAT позволяет значительно сэкономить адресное пространство. В случае использования протокола ICMP, который не инкапсулируется в TCP или UDP и к которому не применимо понятие «порт», вместо номера портов PAT меняет поле ICMP «Queue ID», что приводит к аналогичному результату.

Таковы основные принципы работы трансляции адресов, для получения практических сведений, рекомендую обратиться к статье «Настройка трансляции адресов на маршрутизаторе Cisco».

Технология преобразования сетевых адресов, механизмы PAT и NAT

Технология преобразования сетевых адресов (NAT)

Ещё одним механизмом, позволяющим поддерживать сетевую безопасность , является технология NAT .

NAT ( Network Address Translation – преобразование сетевых адресов) – это механизм в сетях TCP/IP , позволяющий преобразовывать IP-адреса транзитных пакетов. Механизм NAT описан в RFC 1631, RFC 3022.

Преобразование адресов методом NAT может производиться почти любым маршрутизирующим устройством – Интернет -маршрутизатором, сервером доступа, межсетевым экраном. Наиболее популярным является Source NAT (SNAT), суть механизма которого состоит в замене адреса источника (source) при прохождении пакета в одну сторону и обратной замене адреса назначения ( destination ) в ответном пакете. Наряду с адресами источника/назначения могут также заменяться номера портов источника и назначения.

Помимо SNAT, т.е. предоставления пользователям локальной сети с внутренними адресами доступа к сети Интернет , часто применяется также Destination NAT, когда обращения извне транслируются межсетевым экраном на сервер в локальной сети, имеющий внутренний адрес и потому недоступный из внешней сети непосредственно (без NAT ).

На рисунках ниже приведен пример действия механизма NAT .

Пользователь корпоративной сети отправляет запрос в Интернет , который поступает на внутренний интерфейс маршрутизатора, сервер доступа или межсетевого экрана (устройство NAT ).

Устройство NAT получает пакет и делает запись в таблице отслеживания соединений, которая управляет преобразованием адресов.

Затем подменяет адрес источника пакета собственным внешним общедоступным IP-адресом и посылает пакет по месту назначения в Интернет .

Узел назначения получает пакет и передает ответ обратно устройству NAT .

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

Существует 3 базовых концепции трансляции адресов:

  • статическая (SAT, Static Network Address Translation),
  • динамическая (DAT, Dynamic Address Translation),
  • маскарадная (NAPT, NAT Overload, PAT).

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

Динамический NAT отображает набор частных адресов на некое множество публичных IP-адресов. Если число локальных хостов не превышает число имеющихся публичных адресов, каждому локальному адресу будет гарантироваться соответствие публичного адреса. В противном случае, число хостов, которые могут одновременно получить доступ во внешние сети, будет ограничено количеством публичных адресов.

Маскарадный NAT (NAPT, NAT Overload , PAT , маскарадинг) – форма динамического NAT , который отображает несколько частных адресов в единственный публичный IP- адрес , используя различные порты. Известен также как PAT ( Port Address Translation ).

Механизмов взаимодействия внутренней локальной сети с внешней общедоступной сетью может быть несколько – это зависит от конкретной задачи по обеспечению доступа во внешнюю сеть и обратно и прописывается определенными правилами. Определены 4 типа трансляции сетевых адресов:

  • Full Cone (Полный конус)
  • Restricted Cone (Ограниченный конус)
  • Port Restricted Cone (Порт ограниченного конуса)
  • Symmetric (Симметричный)

В первых трех типах NAT для взаимодействия разных IP-адресов внешней сети с адресами из локальной сети используется один и тот же внешний порт . Четвертый тип – симметричный – для каждого адреса и порта использует отдельный внешний порт .

При использовании NAT , работающему по типу Full Cone, внешний порт устройства (маршрутизатора, сервера доступа, межсетевого экрана) открыт для приходящих с любых адресов запросов. Если пользователю из Интернета нужно отправить пакет клиенту, расположенному за NAT ’ом, то ему необходимо знать только внешний порт устройства, через который установлено соединение. Например, компьютер за NAT ’ом с IP-адресом 192.168.0.4 посылает и получает пакеты через порт 8000, которые отображаются на внешний IP- адрес и порт , как 10.1.1.1:12345. Пакеты из внешней сети приходят на устройство с IP-адресом:портом 10.1.1.1:12345 и далее отправляются на клиентский компьютер 192.168.0.4:8000.

Во входящих пакетах проверяется только транспортный протокол; адрес и порт назначения, адрес и порт источника значения не имеют.

При использовании NAT , работающему по типу Restricted Cone, внешний порт устройства (маршрутизатора, сервера доступа, межсетевого экрана) открыт для любого пакета, посланного с клиентского компьютера, в нашем примере: 192.168.0.4:8000. А пакет, пришедший из внешней сети (например, от компьютера 172.16.0.5:4000) на устройство с адресом:портом 10.1.1.1:12345, будет отправлен на компьютер 192.168.0.4:8000 только в том случае, если 192.168.0.4:8000 предварительно посылал запрос на IP- адрес внешнего хоста ( в нашем случае – на компьютер 172.16.0.5:4000). То есть, маршрутизатор будет транслировать входящие пакеты только с определенного адреса источника (в нашем случае компьютер 172.16.0.5:4000), но номер порта источника при этом может быть любым. В противном случае, NAT блокирует пакеты, пришедшие с хостов, на которые 192.168.0.4:8000 не отправлял запроса.

Механизм NAT Port Restricted Cone почти аналогичен механизму NAT Restricted Cone. Только в данном случае NAT блокирует все пакеты, пришедшие с хостов, на которые клиентский компьютер 192.168.0.4:8000 не отправлял запроса по какому-либо IP-адресу и порту. Mаршрутизатор обращает внимание на соответствие номера порта источника и не обращает внимания на адрес источника. В нашем примере маршрутизатор будет транслировать входящие пакеты с любым адресом источника, но порт источника при этом должен быть 4000. Если клиент отправил запросы во внешнюю сеть к нескольким IP-адресам и портам, то они смогут посылать пакеты клиенту на IP- адрес : порт 10.1.1.1:12345.

Читать еще:  Как создать электронный адрес на телефоне

Symmetric NAT существенно отличается от первых трех механизмов способом отображения внутреннего IP-адреса:порта на внешний адрес : порт . Это отображение зависит от IP-адреса:порта компьютера, которому предназначен посланный запрос . Например, если клиентский компьютер 192.168.0.4:8000 посылает запрос компьютеру №1 (172.16.0.5:4000), то он может быть отображен как 10.1.1.1:12345, в тоже время, если он посылает с того же самого порта (192.168.0.4:8000) на другой IP- адрес , он отображается по-другому (10.1.1.1:12346).

Компьютер №1 (172.16.0.5:4000) может отправить пакет только на 10.1.1.1:12345, а компьютер №2 (169.10.2.8:6000) – только на 10.1.1.1:12346. Если любой из них попытается отправить пакеты на порт , с которого он не получал запроса, NAT заблокирует данные пакеты.

Внешний IP- адрес : порт открыт только тогда, когда клиентский компьютер отправляет данные во внешнюю сеть по определенному адресу:порту.

NAT выполняет три важных функции.

  1. Позволяет сэкономить IP-адреса, транслируя несколько внутренних IP-адресов в один внешний публичный IP-адрес (или в несколько, но меньшим количеством, чем внутренних). По такому принципу построено большинство сетей в мире: на небольшой район домашней сети местного провайдера или на офис выделяется 1 публичный (внешний) IP-адрес, за которым работают и получают доступ интерфейсы с частными (внутренними) IP-адресами.
  2. Позволяет предотвратить или ограничить обращение снаружи к внутренним хостам, оставляя возможность обращения из внутренней сети во внешнюю. При инициации соединения изнутри сети создаётся трансляция. Ответные пакеты, поступающие снаружи, соответствуют созданной трансляции и поэтому пропускаются. Если для пакетов, поступающих из внешней сети, соответствующей трансляции не существует (а она может быть созданной при инициации соединения или статической), они не пропускаются.
  3. Позволяет скрыть определённые внутренние сервисы внутренних хостов/серверов. По сути, выполняется та же указанная выше трансляция на определённый порт, но возможно подменить внутренний порт официально зарегистрированной службы (например, 80-й порт TCP (HTTP-сервер) на внешний 54055-й). Тем самым, снаружи, на внешнем IP-адресе после трансляции адресов на сайт (или форум) для осведомлённых посетителей можно будет попасть по адресу http://dlink.ru:54055, но на внутреннем сервере, находящимся за NAT, он будет работать на обычном 80-м порту.

Однако следует упомянуть и о недостатках данной технологии:

Трансляция Сетевых Адресов — Network Address Translation подробное описание технологии

Трансляция сетевых адресов по английский Network Address Translation (NAT) это технология замены ip адресов и портов в заголовке ip пакета. Чаще всего nat используется, чтобы заменить ip адрес внутренней сети на ip адрес из внешней сети. Это делается, чтобы преодолеть нехватку адресов IPv4.

Внутренние и внешние IP адреса

Внешние ip адреса это обычные адреса, которые можно применять в интернет. Они должны быть уникальными во всём мире, их нельзя использовать просто так. Нужно получать разрешение у корпорации ICANN, у одного из ее региональных регистраторов.

Проблема с внешними адресами в протоколе ipv4 в том, что их не хватает для современного масштаба интернет. Адресов ipv4 примерно 4 млрд., а сейчас устройств в интернете гораздо больше.

Внутренние IP адреса это три специальных, диапазонов ip адресов, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 которые можно использовать для создания внутренних или частных сетей. Диапазоны определены в документе RFC 1918. Эти адреса не могут использоваться в интернет, зато их можно применять в своей сети без обращения в ICANN. Разные частные сети, могут использовать одни и те же диапазоны внутренних ip адресов.

Пример использования NAT

Как работает технология NAT для преобразования внутренних адресов во внешние? Предположим, у нас есть сеть организации в которой используются внутренние адреса из диапазона 192.168.1.0. Есть Интернет в котором такие адреса использовать нельзя и внутренняя сеть подключаемая к интернет через устройство NAT.

Устройство NAT имеет один внешний ipv4 адрес 184.86.48.128 и когда компьютеры из внутренней сети хотят подключиться к интернету, устройство NAT преобразует ip адреса из внутренней сети в ip адрес внешней сети.

Типы NAT

Есть достаточно много разных вариантов технологии NAT. Мы рассмотрим 3 типа, которые используются чаще всего. Однако, кроме них есть и другие возможные варианты.

Статический NAT

Первый тип это статическое отображение ip адресов один к одному. В этом случае, нам нужно иметь столько же внешних адресов, сколько и компьютеров во внутренней сети. т.е. 4 компьютера и 4 ip адреса в нашем случае. И у нас фиксированное отображение внутренних адресов во внешние ip адреса.

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

Динамический NAT

Второй вариант это динамическое преобразование, когда набор внутренних ip адресов отображается на группу внешних ip адресов. В случае динамического NAT у нас есть несколько внешних ip адресов, которые поочередно используются разными компьютерами из внутренней сети. Например сначала компьютер 1 использует первый адрес, а компьютер 3 второй адрес.

Через некоторое время, второй компьютер может использовать второй адрес, а третий компьютер первый адрес. Таким образом, преобразование выполняется динамически.

Один ко многим (masquerading)

Третий вариант, который используется чаще всего это, когда все адреса из внутренней сети, отображаются на один внешний ip адрес.

Рассмотрим, как работает вариант NAT one-to-many, потому что с его помощью, можно подключать к интернет большие сети организаций, используя один внешний ip адрес (184.86.48.128). Именно это позволяет частично смягчить проблему нехватки адресов ipv4.

Преобразование или трансляция сетевых адресов, реализуется с помощью таблицы NAT, которая находится внутри устройства NAT.

Работа NAT

Как работает nat в режиме masquerading? Предположим, что первый компьютер решил зайти на сайт. Он отправляет пакет, в ip адресе указывается ip адрес компьютера из внутренней сети (192.168.1.2), в поле порт указывается динамический порт, выданный браузеру операционной системой (57160). И пакет предназначен для 80 порта адреса Веб-сайта.

Но, так как адреса из внутренней сети не могут использоваться в интернет, то устройству nat нужно заменить ip адрес из внутренней сети в заголовке пакета в адресе отправителя (192.168.1.1), на ip адрес из внешней сети (184.86.48.128).

Как это делает устройство nat? После того, как устройство nat получило пакет, оно записывает внутренний ip адрес и внутренний порт в таблицу и генерирует пару внешний адрес и внешний порт для замены в пакете. Так как у нас всего лишь один внешний адрес, то именно он записывается в поле внешний ip. Внешний порт генерируется случайным образом. Устройство нат сгенерировало адрес пота 48202.

На следующем этапе происходит трансляция, т.е. замена ip адреса и порта. IP адрес и порт отправителя удаляются из пакета и на их место записываются новые данные из таблицы nat. Внешний ip адрес устройства nat и внешний порт, которое устройство nat сгенерировало случайным образом.

В таком виде пакет передается на веб сервер. Когда приходит ответ от веб-сервера, там в качестве получателя, указывается ip адрес устройства nat и порт на этом устройстве.

Но в реальности эти данные предназначены не для устройства nat, а для компьютера внутренней сети. Поэтому устройство нат должно понять к какому компьютеру во внутренней сети предназначены данные. Затем изменить ip адрес и порт, передать данные нужному компьютеру. Это делается, с помощью таблицы nat.

В таблице nat ищется запись в которой внешний ip адрес и внешний порт, такие же как в поступившем пакете. Пока у нас в таблице одна запись, поэтому устройство nat берет из этой записи внутренний ip адрес интересующего нас компьютера и его порт. Устройство nat сново производит замену ip адреса и порта в пакете и в в таком виде передает пакет во внутреннюю сеть.

Что происходит если в интернет захочет зайти какой-нибудь другой компьютер, предположим, что компьютер 4 тоже хочет зайти на веб-сайт zvondozvon.ru. Устройство nat работает аналогично, извлекает ip адрес и порт, записывает их в таблицу nat. В качестве внешнего ip адреса указывается единственный внешний ip адрес устройства nat и номер внешнего порта снова генерируется случайным образом.

Адрес и порт из внутренней сети меняются на адрес и порт из внешней сети. И в таком виде пакет передается в интернет.

Когда приходит ответ от веб-сервера, снова выполняется поиск пары внешний ip адрес и внешний порт. В таблице nat ищется соответствующие им внутренний ip адрес и внутренний порт. Производится замена в заголовке пакета и пакет передается во внутреннюю сеть. Можете посмотреть видео, если что-то было не ясно.

Преимущества NAT

Эта технология долго позволяла справляться с нехваткой адресов ipv4. Вы можете подключить к интернет сеть крупной организации, где много компьютеров, с помощью всего лишь одного внешнего адреса ipv4.

Эту технологию легко развернуть и использовать, Вам нужно всего лишь одно устройство nat и адреса для внутренней сети. Вы можете свободно использовать из диапазона частных адресов не обращаясь в ICANN.

Дополнительное преимущество в безопасности, технология nat скрывает внутреннюю структуру сети от внешнего мира. Для внешнего мира есть всего один адрес ipv4, а что установлено внутри сети, с внутренними адресами, никто не видит.

Недостатки NAT

Однако nat обладает рядом существенных недостатков. Первый теоретический недостаток, заключается в том, что нарушение фундаментального принципа построения ip-сетей, в которых каждый компьютер должен иметь возможность соединяться с любым другим компьютером.

Следствие этого теоретического недостатка, является ряд практических. Например нет возможности подключиться из внешнего мира к компьютерам во внутренней сети. Из внешнего мира виден всего лишь один ip адрес и невозможно понять, что в реальности за этим ip адресом находится большое количество других устройств.

Читать еще:  Объединить word файлы в один

Некоторые протоколы, которые разрабатывались в ранние годы создания интернет, и рассчитаны на то, что каждое устройство может соединиться с каждым, в случае с nat работают плохо. Например, плохо работает протокол FTP, который использует два соединения, одно для управления, другое для передачи данных. Соединение для передачи данных обычно устанавливается сервером, если клиент находится за устройством nat, то сервер FTP не может установить с ним соединение для передачи данных.

Плохо работают протоколы, которые не устанавливают соединения. Для которых нет возможности сохранить запись в таблице nat на всё время жизни соединения.

Дополнительный недостаток в том, что нет единого стандарта nat, а есть много разных вариантов, которые поддерживаются разными производителями оборудования и их ПО, все это вносит путаницу и приводит к несовместимости.

Решение проблем с NAT

Как можно решить проблемы с nat? Если Вы хотите иметь возможность попасть из внешнего мира во внутреннюю сеть, то для этого можно использовать статическое отображение, которое мы уже рассматривали выше.

Можно использовать отображение один к одному, но для этого нужно иметь несколько внешних ip адресов.

Также можно использовать статическое отображение для портов. Например, порт 80 на устройстве nat отображается во внутренний адрес сервера и порт 80. Порт 25, который используется для электронной почты отображается во внутренний адрес почтового сервера и порт 25. В этом случае у нас есть один ip адрес, но разные его порты отображаются в разные пары, ip адрес и порт, во внутренней сети.

Есть технология NAT Traversal, которая позволяет устанавливать соединения с компьютерами во внутренней сети без интернет. Она определена в стандарте RFC 3489. Есть и другие варианты такой технологии. Такая технология часто используется в приложениях для передачи видео и голоса, например Skype.

Итоги

Рассмотрели технологию трансляции сетевых адресов NAT, она используется, чтобы в заголовке ip пакета преобразовать ip адрес внутренней или частно сети в ip адрес внешней сети, которая может использоваться в интернет. Технология nat реализуется с помощью маршрутизаторов, межсетевых экранов и другие сетевые устройства.

Трансляция сетевых адресов (NAT) и SIP

Содержание

ВВЕДЕНИЕ

Типы трансляторов сетевых адресов (NAT)

Трансляторы адресов подразделяются на 4 типа:
1. Полный конус (Full Cone)
2. Ограниченный конус (Restricted Cone)
3. Порт ограниченного конуса (Port Restricted Cone)
4. Симметричный (Symmetric)

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

Полный конус (Full Cone)

При использовании NATа работающего по типу полного конуса внешний отображаемый порт открыт для пакетов приходящих с любых адресов. Если кто-то из внешнего Интернета хочет в этот момент отправить пакет клиенту, расположенному за НАТом, то ему нужно знать только внешний порт через который установлено соединение. Например, компьютер за NATом с IP-адресом 10.0.0.1 посылает и получает пакеты через порт 8000, отображающийся на внешний IP-адрес и порт 212.23.21.25:12345, то любой в Интернете может послать пакеты на этот 212.23.21.25:12345, и эти пакеты попадут на клиентский компьютер 10.0.0.1:8000.

Ограниченный конус (Restricted Cone)

NAT, c ограниченным конусом, открывает внешний порт сразу после того как локальный компьютер отправит данные на определенный внешний IP-адрес. Например, если клиент посылает наружу пакет внешнему компьютеру 1, NAT отображает клиента 10.0.0.1:8000 на 212.23.21.25:12345, и внешний компьютер 1 может посылать пакеты назад по этому назначению. Однако, NAT будет блокировать пакеты идущие от компьютера 2, до тех пор пока клиент не пошлет пакет на IP-адрес этого компьютера. Когда он это сделает, то оба внешних компьютера 1 и 2 смогут посылать пакеты назад клиенту, и оба будут иметь одно и то же отображение через НАТ.

Порт ограниченного конуса (Port Restricted Cone)

NAT с портом ограниченного конуса почти идентичен NATу с ограниченным конусом. Только в этом случае, NAT блокирует все пакеты, если клиент предварительно не послал наружу пакет на IP-адрес и порт того компьютера, который посылает пакеты клиенту. Поэтому, если клиент посылает внешнему компьютеру 1 на порт 5060, то NAT только тогда пропустит пакет к клиенту, когда он идет с 212.33.35.80:5060. Если клиент послал наружу пакеты к нескольким IP-адресам и портам, то они могут ответить клиенту на один и тот же отображенный IP-адрес и порт.

Симметричный (Symmetric)

Симметричный NAT кардинально отличается от первых трех в способе отображения внутреннего IP-адреса и порта на внешний адрес и порт. Это отображение зависит от IP-адреса и порта компьютера, которому предназначен посланный пакет. Например, если клиент посылает с адреса 10.0.0.1:8000 компьютеру 1, то он может быть отображен как 212.23.21.25:12345, в тоже время, если он посылает с того же самого порта (10.0.0.1:8000) на другой IP-адрес, он отображается по-другому (212.23.21.25:12346).

Компьютер 1 может отправить ответ только на 212.23.21.25:12345, а компьютер 2 может ответить только на 212.23.21.25:12346. Если любой из них попытается послать пакеты на порт с которого он не получал пакеты, то эти пакеты будут игнорированы. Внешний IP-адрес и порт открывается только тогда, когда внутренний компьютер посылает данные наружу по определенному адресу.

NAT и Интернет телефония с использованием SIP протокола

Существует три основных проблемы прохождения через NAT звонков с использованием SIP протокола.
1. Наличие локальных адресов в SIP сигнализации.

INVITE sip:81070957877777@212.53.35.244 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.201 :5060
From: sip:1234567@tario.ru
To: sip:81070957877777@tario.ru
Contact: sip: 1234567@ 192.168.1.201 :5060
Call-ID: ED9650AC-8054-CF8CCC22FDAD@ 192.168.1.201
CSeq: 43 INVITE
Content-Type: application/sdp
Content-Length: 228

v=0
o=562003 819348 819348 IN IP4 192.168.1.201
s=X-Lite
c=IN IP4 192.168.1.201
t=0 0
m=audio 8090 RTP/AVP 4 101
a=rtpmap:4 G723/8000
a=rtpmap:101 telephone-event/8000

В приведенном примере сигнализации красным цветом выделены поля, в которых указан локальный адрес. Как следствие этого сервер сети Интернет-телефонии (SoftSwitch) обработав такой запрос, с локальными адресами, не может отправить абоненту ответ, поскольку в поле «Via» указан адрес, который не маршрутизируется в Интернете.

2. Прохождение голосового потока (RTP). Вызываемый абонент, получив вызов от сервера сети Интернет-телефонии, с указанием локального адреса получателя голосового потока не может отправить речевую информацию по назначению, поскольку указанный адрес не маршрутизируется в Интернете. Вследствие этого возникает, одностороння слышимость абонентов или ее полное отсутствие.

3. Абонент, подключенный через NAT, практически не может принимать входящие звонки. Это связанно с тем, что NAT резервирует внешний порт на небольшой промежуток времени (от 1 до 3 мин.), поле чего освобождает его.
Полученный после этого входящий вызов от сервера сети Интернет-телефонии просто игнорируется и как следствие этого абонент расположенный за NATом не может получить информацию о входящем звонке.

Возможные методы прохождения через NAT

Разные производители предусматривают в своем оборудовании разные способы решения проблемы с прохождения через NAT. Однако все этим методы можно разделить на четыре группы.

1. Использование предоставленного IP адреса (Shared IP)

Суть данного метода заключается в том, что на NAT сервере прописывается безусловное перенаправление пакетов приходящих на определенный внешний порт NATа внутреннему IP адресу VoIP устройства. На VoIP устройстве указывается внешний IP адрес NATа, который используется в сигнализации в качестве оригинирующего. Данный метод приемлем для небольших локальных сетей с постоянным внешним IP адресом, использующих небольшое количество VoIP устройств. Его можно использовать вне зависимости от типа NATа. Использование данного метода в больших сетях использующих динамические адреса практически невозможно.
Примеры устройств поддерживающих данный метод.
— Cisco ATA-186
— Grandstream BudgeTone 100
— Asotel Dynamix DW-02 (DW-04)

2.UPnP

Данная технология была разработана компанией Microsoft для решения проблем прохождения через NAT. Суть ее заключается в возможности автоматического управления работой NATа. Для подключения с использованием этого необходима поддержка UPnP как VoIP устройством так и самим NATом. Одной из основных проблем при использовании данного подхода является очень ограниченное количество NATов и VoIP устройств поддерживающих данный протокол.
Примеры устройств поддерживающих данный метод.
— PC Phoneline
— Asotel Dynamix
— WellTech
— Windows Messenger 5.0
Примеры NATов поддерживающих UPnP
— Windows XP NAT
— Winroute Pro 5.0

3.STUN

Данная технология позволяет обеспечить работу VoIP устройств, которые подключены через конусные NATы. Суть данного метода заключается в том, что VoIP устройство вначале отправляет запрос на STUN сервер, который сообщает текущий внешний адрес и порт, который потом используется в качестве принимающего.
Для обеспечения прохождения входящих звонков VoIP устройство периодически посылает пустые пакеты на адрес сервера маршрутизации сети Интернет телефонии, поддерживая, таким образом, резервирование внешнего порта. Подключение с использованием STUN может использоваться в крупных сетях с использованием динамического распределения адресов.

Примеры устройств поддерживающих данный метод.
— Cisco ATA-186 v3.0 и выше
— Grandstream BudgeTone 100
— SIPURA SPA-2000

4. Проксирование на оригинирующий адрес

Данный метод позволяет подключать через NAT практически любое SIP устройство, даже не предусматривающее подключение через NAT. Его можно использовать с любым типом NATа. Суть данного метода заключается в использовании специального пограничного контролера (OutBoundProxy) производящего коррекцию сигнализации и проксирование голосового трафика на оригинирующий адрес. Основным недостатком данного метода является проксирование голосового трафика, что может приводить к дополнительной задержке, если OutBoundProxy находится на значительном расстоянии от клиента.
Для обеспечения прохождения входящих звонков VoIP устройству переодически отсылаются пустые пакеты для поддержки резервирования внешнего порта.
Простейшим примером пограничного контролера может являться SIPOffice.

Ссылка на основную публикацию
Adblock
detector