Trade-In http://www.vegavlz.ru/trade-in.html Wed, 14 Nov 2012 05:13:44 +0000 Joomla! 1.5 - Open Source Content Management en-gb Взаимодействие частных сетей http://www.vegavlz.ru/trade-in/367-vzaimodejstvie-chastnyh-setej.html http://www.vegavlz.ru/trade-in/367-vzaimodejstvie-chastnyh-setej.html В предыдущих главах объединенная сеть описывалась как одноуровневая абстракция, которая состоит из сетей, связанных между собой маршрутизаторами. В этой главе в качестве альтернативы рассмотрена двухуровневая структура объединенной сети, в которой организации имеют частные (или закрытые) объединенные сети, соединенные между собой посредством открытой объединенной сети (или открытых каналов связи).{loadposition ss}

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

Частные и гибридные сети

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

Простейшим способом обеспечения секретности при передаче информации между компьютерами организации является создание полностью изолированной частной объединенной сети, которую обычно называют частной сетью. То есть, организация создает собственную объединенную сеть на основе протокола TCP/IP и изолирует ее от глобальной сети. В каждом сетевом центре частной сети для объединения внутренних сетей используются маршрутизаторы, а для соединения сетевых центров между собой используется закрытый цифровой выделенный канал связи. Поскольку никто из посторонних не имеет доступа ни к какой части закрытой сети, все данные при этом остаются секретными. Болеетого, поскольку частная сеть изолирована от глобальной объединенной сети, в ней могут использоваться произвольные IP-адреса.

Естественно, полная изоляция не всегда желательна. Поэтому многие организации выбирают гибридную сетевую структуру, сочетающую в себе преимущества закрытой сети с возможностью соединения с глобальной сетью Internet. Это значит, что организация подключает каждый сетевой центр к глобальной сети Internet, используя при этом реальные IP-адреса (действительные во всей глобальной сети). Преимуществом подобной структуры является то, что при необходимости компьютеры внутренней сети организации могут получить доступ к глобальной сети Internet, и при этом гарантируется полная секретность информации, пересылаемой по внутренним сетям. Для примера рассмотрим гибридную сетевую структуру, представленную на рис. 20.1. В подобной системе два сетевых центра организации соединены посредством закрытого канала связи, и каждый из центров имеет соединение с сетью Internet.

На рис. 20.1 закрытый выделенный канал связи между маршрутизаторами 112 и /', обеспечивает секретность потока информации, передаваемой между сетевыми центрами. Поэтому процесс маршрутизации между центрами организован так, чтобы поток информации преимущественно направлялся через выделенный канал связи, а не через глобальную сеть Internet.

Взаимодействие частных сетей
]]>
saynez@gmail.com (Administrator) Trade-in Wed, 26 Sep 2012 19:07:31 +0000
Виртуальная частная сеть http://www.vegavlz.ru/trade-in/368-virtualnaja-chastnaja-set.html http://www.vegavlz.ru/trade-in/368-virtualnaja-chastnaja-set.html Основным недостатком и полностью закрытой сети, и гибридной системы является их высокая стоимость, поскольку аренда выделенного канала связи (например, типа Т1) — довольно дорогое удовольствие. Поэтому многие организации ищут более дешевые альтернативные варианты. Один из путей снижения стоимости заключается в использовании альтернативных сетевых технологий. Например, организация постоянного виртуального канала (permanent virtual circuit, или PVC) на основе технологий ретрансляции кадров (Frame Relay) или ATM через одного из национальных операторов связи может стоить гораздо дешевле, чем выделенный Т-канал с такой же пропускной способностью. Другой путь снижения стоимости состоит в использовании меньшего количества выделенных каналов. Очевидно, что минимальной стоимости системы удается достичь, отказавшись от использования выделенных каналов связи и пустив весь трафик через глобальную сеть Internet.{loadposition ss}

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

Как может организация, которая использует глобальную сеть Internet для соединения своих центров, сохранить секретность передаваемых данных?

Этого можно достичь с помощью технологии, позволяющей конфигурировать виртуальную частную сеть (Virtual Private Network, или VPN)1. Технология VPN является полным аналогом реальной частной (или закрытой) сети, поскольку гарантирует, что соединение между любой парой компьютеров в VPN остается секретным для посторонних. Слово "виртуальная" в названии технологии VPN говорит о том, что для соединения сетевых центров не используется реальный выделенный канал связи. Вместо этого для передачи информации от одного узла VPN к другому используется глобальная сеть Internet.

В основе работы VPN лежат два фундаментальных понятия: туннелирование и шифрование. Туннелирование уже было описано в главах 17, "Режим многоадресатной передачи в объединенной сети", и 19, "Протокол мобильной связи с IP-сетями". Для построения виртуальных частных сетей используется та же идея. Между маршрутизаторами, находящимися в разных сетевых центрах, прокладывается туннель через глобальную сеть Internet. При этом для пересылки дейтаграмм по туннелю используется инкапсуляция типа IP-e-IP.

Виртуальная частная сеть

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

1  Это название не совсем правильное, поскольку в действительности эта технология обеспечивает создание виртуальной частной объединенной сети.

2  Вопросы безопасности протокола IP и процесс инкапсуляции, использующийся в протоколе IPsec, рассматривается в главе 32, "Безопасность в объединенной сети и брандмауэры (IPsec)".

 

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

Виртуальная частная сеть

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

 

Виртуальная частная сеть
]]>
saynez@gmail.com (Administrator) Trade-in Wed, 26 Sep 2012 19:07:31 +0000
Адресация и маршрутизация в виртуальной частной сети http://www.vegavlz.ru/trade-in/369-adresacija-i-marshrutizacija-v-virtualnoj-chastnoj.html http://www.vegavlz.ru/trade-in/369-adresacija-i-marshrutizacija-v-virtualnoj-chastnoj.html Легче всего понять, как происходит процесс адресации и маршрутизации в виртуальной частной сети, представив себе, что каждый VPN-туннель является аналогом выделенного канала связи в реальной частной сети. Как и в случае частной сети, в маршрутизаторе явно указываются маршруты ко всем внутренним сетям организации. Однако вместо передачи данных по выделенному каналу связи, в VPN данные передаются через туннель. В качестве примера на рис. 20.3 показана виртуальная частная сеть, которая эквивалентна реальной частной сети, представленной на рис. 20.1, а также содержимое таблицы маршрутизации устройства, управляющего туннелированием.{loadposition ss}

В качестве примера пересылки данных по виртуальной частной сети рассмотрим дейтаграмму, отправленную с компьютера, находящегося в сети 128.10.2.0 на компьютер, находящийся в сети 128.210.0.0. Отправляющий сетевой узел пересылает дейтаграмму маршрутизатору R2, который пересылает ее маршрутизатору. Согласно таблице маршрутизации устройства  дейтаграмма должна быть отравлена по туннелю маршрутизатору /'.,. Поэтому маршрутизатор R, зашифровывает дейтаграмму, помещает ее в область данных внешней дейтаграммы, которую адресует получателю. Затем маршрутизатор R, пересылает внешнюю дейтаграмму маршрутизатору местного провайдера Internet, который отправляет ее по сети Internet маршрутизатору R3. После того как дейтаграмма поступит на маршрутизатор последний анализирует ее содержимое и определяет, что дейтаграмма пришла по туннелю от маршрутизатора II,. Затем устройство расшифровывает область данных и восстанавливает исходную дейтаграмму. После этого просматривается локальная таблица маршрутизации и определяется, что дейтаграмма должна быть переслана устройству II, для дальнейшей доставки конечному получателю.

Адресация и маршрутизация в виртуальной частной сети
]]>
saynez@gmail.com (Administrator) Trade-in Wed, 26 Sep 2012 19:07:31 +0000
Виртуальная частная сеть с локальными адресами http://www.vegavlz.ru/trade-in/370-virtualnaja-chastnaja-set-s-lokalnymi-adresami.html http://www.vegavlz.ru/trade-in/370-virtualnaja-chastnaja-set-s-lokalnymi-adresami.html Применение технологии VPN предоставляет организациям такие же возможности адресации, как и технологии реальной частной сети. Если сетевые узлы в VPN не подключаются к глобальной сети Internet, то в VPN можно использовать произвольные IP-адреса. Если же сетевые узлы в VPN должны обмениваться данными с глобальной сетью Internet, можно использовать гибридную схему адресации. При такой схеме внутри виртуальной частной сети используются локальные адреса, а для организации через Internet туннеля между сетевыми центрами, их маршрутизаторам назначается по одному реальному IP-адресу.{loadposition ss}

Гибридная адресация в виртуальной частной сети, два полностью закрытых сетевых центра которой соединены, через глобальную сеть Internet. Компьютерам каждого сетевого центра назначены, локальные адреса.

Как показано на рис. 20А, в сетевом центре 1 используется подсеть 10.1.0.0/16, а в сетевом центре 2 — подсеть 10.2.0.0/16. В такой системе необходимы только два реальных IP-адреса, которые используются для доступа маршрутизаторов 11, и IL к глобальной сети Internet. В Таблицах маршрутизации компьютеров, принадлежащих сетевым центрам, используются локальные адреса. Таким образом, два реальных IP-адреса необходимы только для работы программы, управляющей туннелированием. Две копии этой программы запускаются на маршрутизаторах II, и IL.

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

Первый подход состоит в использовании так называемого шлюза уровня приложений (application gateway). Он позволяет сетевым узлам осуществлять доступ к службам Internet без установки непосредственного соединения с ними на уровне протокола IP. В каждом сетевом центре имеется многоадресный узел, подключенный как к глобальной сети Internet (при этом одному из его интерфейсов назначается реальный IP-адрес), так и к внутренней сети (второму интерфейсу назначается локальный IP-адрес). На этом узле запускается ряд прикладных программ, которые называются шлюзами уровня приложений, каждая из которых управляет работой одной из служб. Узлы в сетевом центре не отправляют дейтаграммы непосредственно в глобальную сеть Internet. Они отправляют каждый запрос многоадресному узлу, точнее, соответствующему шлюзу уровня приложений, который в свою очередь обращается к службам глобальной сети Internet, а затем пересылает полученную от них информацию по внутренней сети отправителю запроса. Пример шлюза уровня приложений приведен в главе 27, "Приложения: система электронной почты (SMTP, POP, IMAP, MIME)". Там описан шлюз электронной почты (e-mail gateway), который позволяет пересылать почтовые сообщения между внешними и внутренними сетевыми узлами.

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

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

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

Виртуальная частная сеть с локальными адресами
]]>
saynez@gmail.com (Administrator) Trade-in Wed, 26 Sep 2012 19:07:31 +0000
Преобразование сетевых адресов (NAT) http://www.vegavlz.ru/trade-in/371-preobrazovanie-setevyh-adresov-nat.html http://www.vegavlz.ru/trade-in/371-preobrazovanie-setevyh-adresov-nat.html Для решения общей проблемы доступа между узлами сетевого центра и остальной частью глобальной сети Internet на уровне протокола IP была разработана технология, которая в сетевой терминологии называется преобразованием сетевого адреса (Network Address Translation, или NAT). При использовании этой технологии не требуется, чтобы каждый узел в сетевом центре имел реальный IP-адрес. Для ее реализации необходимо, чтобы сетевой центр имел по крайней мере одно соединение с глобальной сетью Internet и один реальный IP-адрес, G, действительный во всей глобальной сети Internet. Адрес G предназначен для компьютера (многоадресного узла или маршрутизатора), через который сетевой центр подключается к глобальной сети Internet и на котором запущена программа поддержки NAT. Компьютер, на котором запущены средства NAT, называют NAT-блоком (NAT box). Через NAT-блок проходят все дейтаграммы, следующие из сетевого центра в Internet и, наоборот, из Internet в сетевой центр.

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

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

технология преобразования сетевого адреса (Network Address Translation, или NAT) обеспечивает для любого узла сети прозрачный доступ к глобальной сети Internet на уровне протокола IP помощью локальных (т.е. маршрутизируемых) адресов.

Преобразование сетевых адресов (NAT)
]]>
saynez@gmail.com (Administrator) Trade-in Wed, 26 Sep 2012 19:07:31 +0000
Создание таблицы преобразования сетевых адресов http://www.vegavlz.ru/trade-in/372-sozdanie-tablicy-preobrazovanija-setevyh-adresov.html http://www.vegavlz.ru/trade-in/372-sozdanie-tablicy-preobrazovanija-setevyh-adresov.html При рассмотрении технологии NAT был опущен важный аспект, а именно: как NAT определяет, какому из внутренних узлов сети предназначена дейтаграмма, пришедшая из глобальной сети Internet. Для решения этой задачи в NAT поддерживается специальная таблица, которая используется для преобразования адресов. В каждом элементе таблицы указывается два значения: IP-адрес узла глобальной сети Internet и внутренний IP-адрес узла сетевого центра. При получении дейтаграммы из глобальной сети Internet программа NAT ищет адрес ее отправителя в таблице преобразования адресов. Когда нужный элемент таблицы найден, из него извлекается соответствующий адрес внутреннего узла сетевого центра, который помещается в поле адреса получателя дейтаграммы3, после чего дейтаграмма пересылается получателю по локальной сети.{loadposition ss}

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

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

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

Создание таблицы преобразования сетевых адресов

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

Каждый раз при подключении клиента к сети провайдера ему назначается IP-адрес. Технология NAT позволяет провайдеру Internet присваивать всем своим клиентам локальные IP-адреса. Например, первому клиенту присваивается адрес 10.0.0.1, второму— 10.0.0.2 и т.д. Когда клиент отправляет дейтаграмму получателю, расположенному в сети Internet, программа NAT использует содержимое ее заголовка для инициализации таблицы преобразования адресов.

Создание таблицы преобразования сетевых адресов
]]>
saynez@gmail.com (Administrator) Trade-in Wed, 26 Sep 2012 19:07:31 +0000
Многоадресная NAT http://www.vegavlz.ru/trade-in/373-mnogoadresnaja-nat.html http://www.vegavlz.ru/trade-in/373-mnogoadresnaja-nat.html Выше была описана работа технологии NAT в самом простом случае, когда между внешними и внутренними адресами существует однозначное соответствие. Другими словами, однозначное соответствие позволяет только одному компьютеру в сетевом центре получить доступ в произвольный момент времени к некоторой машине в глобальной сети Internet. Однако на практике используются более сложные формы NAT, которые позволяют различным узлам сетевого центра получать доступ к одному внешнему получателю.{loadposition ss}

В одном из вариантов NAT одновременный доступ клиентов осуществляется за счет сохранения принципа однозначного соответствия адресов в NAT-блоке, которому дополнительно назначено несколько реальных IP-адресов. Этот метод называется многоадресной NAT. Суть его состоит в том, что NAT-блоку назначается k реальных IP-адресов, действительных во всей глобальной сети Internet, Gi, G2,... Git. Когда первый внутренний узел сети отправляет дейтаграмму получателю в Internet, NAT-блок выбирает адрес G,, от которого она будет послана в Internet, добавляет элемент в таблицу преобразования адресов и отправляет дейтаграмму получателю. Если другой узел сети попытается отправить дейтаграмму тому же получателю, NAT-блок выберет адрес G2, и т.д. Таким образом, многоадресная NAT позволяет k внутренним узлам сети одновременно получать доступ к одному получателю.

Преобразование сетевого адреса с распределением по портам

Многоадресная NAT
Другой широко распространенный вариант NAT обеспечивает одновременный доступ клиентов путем преобразования не только IP-адресов, но и номеров портов протоколов TCP или UDP. Иногда этот метод называют преобразованием сетевого адреса и порта (Network Address Port Translation, или NAPT). В нем таблица преобразования сетевых адресов расширяется за счет присоединения дополнительных полей. Кроме пары IP-адресов (отправителя и получателя), в таблице указывается пара номеров портов (локального и удаленного), а также номер порта протокола, используемый NAT-блоком. Пример таблицы преобразования адресов приведен в табл. 20.1.

В табл. 20.1 показаны элементы для четырех внутренних компьютеров, которые в настоящий момент имеют доступ к Internet. Для всех соединений используется протокол TCP. Интересно, что в таблице показаны два внутренних узла сети— 10.0.0.5 и 10.0.0.1, которые оба осуществляют подключение через порт 80 протокола (Web-сервер) к компьютеру 128.10.19.20. В данном случае оказалось, что номера двух локальных портов, использующихся для двух соединений, отличаются. Однако уникальность номера локального порта нельзя гарантировать, поскольку два внутренних узла сети могут совершенно случайно выбрать один и тот же номер локального порта. Поэтому, чтобы избежать возможного конфликта, в NAT каждому соединению с сетью Internet присваивается уникальный номер порта. Напомним, что в протоколе TCP каждое соединение идентифицируется набором из четырех взаимосвязанных величин (4-мерный кортеж), которые представляют собой IP-адреса и номера портов отправителя и конечного получателя. Таким образом, первые два элемента в таблице преобразования адресов соответствуют TCP-соединениям, которые внутренние узлы сети идентифицируют при помощи следующих 4-мерных кортежей:

В свою очередь, компьютер в сети Internet, получивший дейтаграммы после преобразования адреса с помощью механизма NAPT, идентифицирует те же два соединения с помощью двух других 4-мерных кортежей:

Основное преимущество технологии NAPT — ее универсальность, которая достигается за счет применения лишь одного реального IP-адреса. Ее основной недостаток состоит в том, что в процессе взаимодействия стороны должны использовать только протоколы TCP или UDP. Только в этом случае технология NAPT позволяет без взаимных помех внутреннему компьютеру получить доступ к нескольким внешним компьютерам, а также нескольким внутренним компьютерам получить доступ к одному и тому же внешнему компьютеру. Под номер порта отводится 16 бит, поэтому одновременно до 2'" пар приложений могут одновременно взаимодействовать между собой. Можно сделать следующий вывод.

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

Многоадресная NAT
]]>
saynez@gmail.com (Administrator) Trade-in Wed, 26 Sep 2012 19:07:31 +0000
Взаимодействие между NAT и ICMP http://www.vegavlz.ru/trade-in/374-vzaimodejstvie-mezhdu-nat-i-icmp.html http://www.vegavlz.ru/trade-in/374-vzaimodejstvie-mezhdu-nat-i-icmp.html Даже самые простые изменения, внесенные в структуру IP-адресации, могут привести к самым неожиданным последствиям в протоколах более высокого уровня. В частности, чтобы сохранить иллюзию "прозрачности" технологии NAT, в ней должна поддерживаться обработка ICMP-сообщений. Предположим, например, что внутренний сетевой узел использует программу ping для проверки доступности получателя в сети Internet. При этом программа посылает получателю ICMP-запрос на эхо и переходит в режим ожидания отклика. Таким образом, в технологии NAT входящие ICMP-сообщения, являющиеся откликами на посланные ICMP-запросы, должны пересылаться на соответствующие узлы сети. Однако на самом деле далеко не все ICMP-сообщения, полученные из Internet, пересылаются локальным получателям. Например, если NAT-блок содержит некорректные маршруты, то ICMP-сообщение о перенаправлении должно быть обработано локально. Поэтому когда ICMP-сообщение приходит из сети Internet, NAT-блок должен первым делом определить, нужно ли обработать его локально или отправить на внутренний узел сети для дальнейшей обработки. Прежде чем направить ICMP-сообщение на внутренний узел сети, NAT-блок должен преобразовать в нем адреса.{loadposition ss}

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

Взаимодействие между NAT и прикладными программами

В предыдущем разделе было показано, что поддержка протокола ICMP в NAT-блоке существенно усложняет его реализацию. Однако еще хуже дело обстоит с поддержкой протоколов уровня приложений. Через NAT не будут работать те приложения, которое пересылают IP-адреса или номера портов в качестве данных. Например, когда две программы используют протокол передачи файлов (File Transfer Protocol, или FTP), описанный в главе 26, "Приложения: передача файлов и удаленный доступ к ним (FTP, TFTP, NFS)", для соединения между собой они используют протокол TCP. Согласно протоколу (FTP), одна из программ должна получить на локальной машине номер TCP-порта, преобразовать его в ASCII-код и отправить результат через TCP-соединение другой программе. Если пакеты между этими программами по пути от внутреннего узла сети до узла в сети Internet проходят через NAPT-блок, то номер порта, помещенный в поток данных внутренним узлом сети, должен быть изменен на номер порта, выбранный NAPT-блоком. По сути, если NAPT-блок не сможет открыть поток данных и изменить в нем номер порта, то программы не смогут обменяться данными по протоколу FTP. На сегодняшний день существуют реализации NAT, которые автоматически распознают дейтаграммы популярных протоколов, наподобие FTP, и делают необходимые изменения в потоке данных. Однако существуют приложения, которые не могут обмениваться данными через NAT. Резюме такое.

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

Передаваемые в потоке данных элементы, которые должны быть изменены NAPT-блоком, увеличивают сложность его реализации по двум причинам. Во-первых, это означает, что NAPT-блок должен располагать подробной информацией о формате передаваемых каждым приложением данных (для того, чтобы "на ходу" внести в них изменения). Во-вторых, если приложения передают номера портов в ASCII-коде, как в случае протокола FTP, то их изменение может повлечь за собой изменение общего количества передаваемых через TCP-соединение данных. Вставить даже один дополнительный октет в поток данных крайне трудно, поскольку каждый октет в потоке имеет порядковый номер. Поскольку отправитель не знает, что в процессе передачи потока данных в него были вставлены дополнительные данные, он продолжает присваивать порядковые номера октетам без учета этих данных. Более того, получатель будет воспринимать дополнительные данные как часть потока, передаваемого отправителем и присылать на них сигналы подтверждения приема. Таким образом, после вставки NAT-блоком дополнительных данных должны быть изменены порядковые номера октетов в каждом выходящем сегменте и каждом входящем сигнале подтверждения приема.

Взаимодействие между NAT и ICMP
]]>
saynez@gmail.com (Administrator) Trade-in Wed, 26 Sep 2012 19:07:31 +0000
Абстрактные домены адресов http://www.vegavlz.ru/trade-in/375-abstraktnye-domeny-adresov.html http://www.vegavlz.ru/trade-in/375-abstraktnye-domeny-adresov.html В предыдущих разделах технология 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?
Абстрактные домены адресов
]]>
saynez@gmail.com (Administrator) Trade-in Wed, 26 Sep 2012 19:07:31 +0000
Модель взаимодействия клиент/сервер http://www.vegavlz.ru/trade-in/376-model-vzaimodejstvija-klient-server.html http://www.vegavlz.ru/trade-in/376-model-vzaimodejstvija-klient-server.html В предыдущих главах были описаны детали технологии TCP/IP, протоколы, обеспечивающие работу основных служб сети, структура системы маршрутизации и объяснена необходимость обмена маршрутной информацией. Теперь, когда понятны основополагающие принципы, можно перейти к рассмотрению прикладных программ, работа которых тесно связана с функционированием объединенной сети TCP/IP. Несмотря на то что рассматриваемые в этой главе примеры приложений представляют практическую ценность и интересны сами по себе, основное внимание уделяется не им, а моделям взаимодействия между обменивающимися информацией прикладными программами. В основу модели взаимодействия между "сотрудничающими" приложениями положен принцип клиент/сервер1. Взаимодействие по принципу клиент/сервер положено в основу работы большинства сетей передачи данных. Оно является фундаментальным, потому что позволяет понять суть алгоритмов работы распределенных систем. В этой главе в общих чертах рассмотрена модель взаимодействия между клиентом и сервером, а в следующих главах изложение материала будет расширено за счет рассмотрения конкретных примеров.

Модель взаимодействия клиент/сервер

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

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

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

Обычно серверы реализуются в виде прикладных программ2. Преимущество такого подхода заключается в том, что прикладные программы могут выполняться в любой вычислительной системе, которая поддерживает взаимодействие по протоколу TCP/IP. Таким образом, сервер для конкретной службы может выполняться как в системе, работающей в режиме разделения времени наряду с другими программами, так и на персональном компьютере. Одна и та же служба может быть реализована в виде нескольких серверов, которые могут быть запущены как на одной, так и на разных машинах. Чаще всего системные администраторы запускают копии одного сервера на разных компьютерах, чтобы повысить надежность системы или улучшить ее производительность. Если для работы программы-сервера выделяется целый компьютер, то под термином "сервер" может также подразумеваться и этот компьютер. Поэтому нередко можно услышать: "Машина А — это наш файловый сервер".

Модель взаимодействия клиент/сервер
]]>
saynez@gmail.com (Administrator) Trade-in Wed, 26 Sep 2012 19:07:31 +0000