Абстрактные домены адресов

В предыдущих разделах технология NAT была описана с точки зрения подключения частных сетей к глобальной сети Internet. На самом деле NAT может использоваться для взаимодействия между любыми двумя доменами адресов. Следовательно, технология NAT может использоваться для связи двух корпоративных частных сетей, каждой из которых назначен один и тот же блок локальных адресов, например 10.0.0.0. Более важно то, что NAT может использоваться на двух уровнях: как между локальными доменами адресов клиента и провайдера, так и между доменом адресов провайдера и глобальной сетью Internet. Наконец, технология NAT может использоваться при создании гибридных виртуальных частных сетей с использованием локальных адресов в пределах организации. При этом NAT позволяет каждому узлу частной сети получить доступ к глобальной сети Internet.

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

Программы slirp и masquerade

В настоящее время стали особенно популярными две реализации технологии NAT. Обе были разработаны для операционной системы UNIX. Исходный код программы slirp входил поставку Unix версии 4.4BSD. Эта программа была предназначена для обеспечения связи пользовательских компьютеров с Internet по коммутируемому соединению (как показано на рис. 20.5). Поэтому, кроме NAT, она поддерживает протокол двухточечного соединения РРР. Программа slirp должна запускаться на компьютере, имеющем реальный IP-адрес, постоянную связь с Internet и несколько модемов для подключения удаленных пользователей. Преимущество slirp заключается в том, что она может предоставить доступ к сети Internet через учетную запись пользователя системы UNIX. При этом процесс установки соединения выглядит следующим образом. Пользователь с удаленного компьютера по модему подключается к серверу провайдера и вводит свое имя и пароль. После этого на сервере запускается программа slirp, которая переводит сеанс связи с тестового режима (ввода ASCII-команд оболочки UNIX) на бинарный и запускает программу поддержки протокола РРР. Для получения доступа к Internet, например к службе Web, пользователь на своем компьютере также должен запустить программу РРР.

В программе slirp реализована технология NAPT, т.е. получатели в локальной сети для поступивших дейтаграмм определяются по номерам портов. При отправке дейтаграмм в Internet программа slirp заменяет в дейтаграмме как IP-адрес отправителя, так и его номер порта. Все это позволяет нескольким компьютерам локальной сети одновременно получить доступ к сети Internet посредством запуска одной копии программы slirp на сервер UNIX.

Другая популярная реализация технологии NAT была разработана для операционной системы LINUX. Программа называется masquerade и обеспечивает поддержку NAPT. В отличие от slirp, программа masquerade не требует, чтобы компьютеры пользователей подключались к серверу через модем. Более того, перед запуском этой программы не нужно, чтобы пользователь регистрировался в системе UNIX. В программе masquerade предусмотрено большое количество параметров. Ее можно сконфигурировать так, чтобы она работала как маршрутизатор между двумя сетями, поддерживала различные разновидности NAT, включая те, что были рассмотрены в этой главе, в том числе и многоадресную.

Резюме

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

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

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

Материал для дальнейшего изучения

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

На сегодняшний день существует несколько коммерческих версий NAT. С целями и задачами группы IETF, разрабатывающей NAT, можно ознакомиться по адресу: http://www.ietf.org/html.charters/nat-charter.html. Кроме того, терминология NAT описана Шришурешом (Srisuresh) и Холдриджем (Holdrege) в [RFC 2663]. В хранилище предварительных стандартов (черновиков) Internet по адресу: http://www.ietf.org/ID.html содержится несколько документов, относящихся к NAT.

Подробную информацию о программе masquerade можно получить, обратившись к ее документации, которая находится по адресу http://ipmasq.cjb.net.

Документацию по программе slirp можно найти в Internet по адресу http://blitzen.Canberra.edu.au/slirp.

Упражнения
  1. Почему при пересылке одних и тех же данных через сеть Internet и VPN в последнем случае передается существенно большее количество пакетов? (Подсказка. Рассмотрите процесс инкапсуляции дейтаграмм.)
  2. Обратитесь к документации по программе slirp и изучите процесс трансформации номеров портов (port redirection). Зачем она нужна?
  3. Какие могут возникнуть проблемы если связать три домена адресов посредством двух блоков NAT?
  4. Из предыдущего упражнения определите, сколько раз будет преобразовываться адрес получателя, а сколько — адрес отправителя.
  5. Предположим, что ICMP-сообщение о недоступности узла сети посылается через два NAT-блока, связывающих три домена адресов. Сколько раз будут преобразовываться содержащиеся в нем IP-адреса и номера портов?
  6. Представьте себе, что вам поручили создать новую сеть Internet, работающую параллельно с существующей сетью Internet, в которой используются два одинаковых пространства IP-адресов. Можно ли с помощью технологии NAT соединить две сети Internet произвольного размера, использующих одинаковое адресное пространство? Если — да, то объясните, как это сделать. Если — нет, то объясните почему.
  7. Является ли технология NAT полностью прозрачной для узла сети? Чтобы ответить на этот вопрос, попробуйте найти последовательность пакетов, которые узел сети должен передать, чтобы определить, расположен ли он за NAT-блоком.
  8. Каковы преимущества и недостатки применения технологии NAT в VPN?
  9. Установите на своем сервере копию программы slirp и выполните измерение параметров сети. Вносит ли программа slirp дополнительную задержку при обработке дейтаграмм? Если — да, то почему?
  10. Установите одну из программ, реализующих технологию NAT, на своем UNIX-сервере и свяжите с ее помощью домен локальных адресов и сеть Internet. Какие широко распространенные службы Internet будут при этом работать, а какие нет?
  11. Существует еще одна разновидность технологии NAT, которая называется двойной NAT (twice NAT). Она позволяет любому узлу сети, находящемуся с любой стороны NAT-блока, инициализировать соединение. Ознакомьтесь в литературе с ее описанием. Каким образом в технологии двойной NAT гарантируется непротиворечивость преобразований IP-адресов? Будет ли данная технология полностью прозрачна для всех узлов сети, если для связи трех доменов адресов используются два блока двойной NAT?
Похожие статьи Меню Опрос Фото Популярное