русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Шлюз (gateway), межсетевой экран (firewall), прокси-сервер, NAT.


Дата добавления: 2013-12-23; просмотров: 6846; Нарушение авторских прав


 

Термин "шлюз" и термин "маршрутизатор" во многом схожи, но шлюз является более общим термином (всякий маршрутизатор является шлюзом). Шлюзом называется любое сетевое устройство, которое одновременно подключено к нескольким сетям при помощи нескольких сетевых интерфейсов, имеет в каждой сети свой адрес сетевого уровня и занимается продвижением пакетов между этими сетями. Например, шлюзом является компьютер одна сетевая карта которого подключена к сети 192.168.28.10.0 и имеет там IP-адрес 192.168.28.10.1, а другая сетевая карта подключена к сети 172.16.0.0 и имеет там IP-адрес 172.16.1.1. Шлюзом также будет являться и маршрутизатор. Даже обычный домашний компьютер, имеющий сетевую карту и модем можно рассматривать как шлюз, т.к. он имеет два интерфейса: один интерфейс – это интерфейс сетевой карты (локальной сети), IP-адрес которого может быть произвольным, а второй интерфейс – это интерфейс удаленного доступа (Internet), IP-адрес которого определяется провайдером, при подключении к нему по протоколу PPP.

Шлюз выполняет функции маршрутизации и продвижения пакетов между интерфейсами. Шлюзы также позволяют объединять разнородные (гетерогенные) сети, преобразуя, например, кадры Ethernet в кадры FDDI. Шлюз также является средством обеспечения безопасности подсети. Если сегмент сети соединен с остальной сетью через шлюз, то на шлюзе может быть установлен межсетевой экран (firewall, брандмауэр) – специальное программное обеспечение, которое контролирует как пакеты выходящие из данного сегмента, так и пакеты поступающие в данный сегмент. Межсетевой экран с фильтрацией пакетов уже был рассмотрен ранее (см. маршрутизаторы). Путем написания специальных правил, можно ограничить разрешенное взаимодействие между компьютерам сети и компьютерами сегмента. Правила имеют вид: "через шлюз допускается прохождение пакетов с IP-адресом отправителя 172.18.10.1 (порт 80) и IP-адресом получателя 192.168.1.1 (порт 21), в четверг с 15.00 до 19.00". Пакеты, не удовлетворяющие правилам фильтрации отбрасываются, а факт их наличия регистрируется в специальном журнале. Поскольку сервисы в сети связаны с определенными номерами портов, то закрыв входящие соединения на 23 порт, можно запретить извне управлять компьютерами сегмента по протоколу Telnet, а закрыв исходящие соединения на 80 порт можно запретить сотрудникам отдела (сегмента) просматривать Web-страницы.



Межсетевые экраны с фильтрацией пакетов просты, и в ряде случаев входят в состав самой операционной системы (например IPChains в OC Linux). Однако межсетевые экраны с фильтрацией пакетов имеют и ряд недостатков:

- возможно задавать правила фильтрации по IP-адресам компьютеров, но не по имени пользователя.

- подсеть "видна" (маршрутизируется) извне.

- при выходе из строя межсетевого экрана подсеть становится незащищенной.

Для преодоления этих недостатков, в качестве межсетевого экрана используют прокси-сервера (proxy server). Прокси-сервер - это сервер посредник. Одно из назначений прокси-сервера - это ускорение работы сети, при подключении ее к Internet. Так например, кэширующий прокси-сервер Squid в ОС Linux сохраняет в достаточно большом кэше на диске Web-страницы, просмотренные разными пользователями, так что если какой-либо пользователь обратится к просмотренной кем-либо ранее странице, то эта страница не будет заново загружаться через Internet, а будет взята из кэша Squid. Прокси-сервер может использоваться и для сокрытия личности пользователя, путешествующего по Internet. Для этого пользователь сначала соединяется с анонимным прокси-сервером (например в Новой Зеландии), который получает пакеты от пользователя и перенаправляет их дальше от своего имени.

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

• Установить соединение с определенным портом прокси-сервера и указать имя компьютера внутри подсети с которым необходимо соединиться. Для каждого вида сервиса (http, ftp, smtp и т.д.) должна существовать своя программа-посредник, "прослушивающая" свой порт. Может существовать и универсальная программа - посредник, обслуживающая несколько сервисов. Если для какого-то сервиса программы-посредника нет (или она вышла из строя), то данный сервис будет не доступен. При установлении соединения возможно, хотя и не обязательно, проведение аутентификации (подтверждения личности) пользователя по его имени, паролю, IP-адресу. Возможна также регистрация факта и времени подключения в специальном журнале.

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

 

Аналогичным образом происходит и соединение подсеть – внешняя сеть.

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

Поясним принцип работы NAT на примере. Допустим, имеется локальная сеть из десяти компью-теров. Все компьютера в сети имеют "серые" адреса 192.168.1.1 – 192.168.1.20, которые изолированы от сети Internet (не передаются маршрутизаторами Internet) и их не надо согласовывать с InterNIC. На компьютере "А", с IP-адресом 192.168.1.1 имеется модем, сетевой интерфейс которого, при подключении к Internet по протоколу PPP, автоматически получает от провайдера IP-адрес w1.x1.y1.z1. (запись условная). Таким образом, компьютер "А" имеет два сетевых интерфейса с адресами 192.168.1.1 и w1.x1.y1.z1. и является шлюзом локальная сеть – Internet.

 

 

Технология NAT

 

Пусть пользователь компьютера "Б" локальной сети (IP-адрес 192.168.1.10) обращается с помощью Web-браузера Internet Explorer к серверу www.microsoft.com, с IP-адресом w2.x2.y2.z2. (запись условная). Поскольку IP-адрес w2.x2.y2.z2. не относится к локальной сети, то на шлюз (компьютер "А") будет направлен IP-пакет со следующими данными:

• IP-адрес приемника: w2.x2.y2.z2 (www.microsoft.com)

• IP-адрес источника: 192.168.1.10 (компьютер "Б")

• Порт приемника: TCP-порт 80 (порт сервера Microsoft, протокол http)

• Порт источника: TCP-порт 1025 (порт компьютера "Б")

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

• IP-адрес приемника: w2.x2.y2.z2 (www.microsoft.com)

• IP-адрес источника: w1.x1.y1.z1 (компьютер "А")

• Порт приемника: TCP-порт 80 (порт сервера Microsoft, протокол http)

• Порт источника: TCP-порт 5000 (порт компьютера "А")

При этом протокол NAT сохраняет в своей таблице преобразованных адресов запись:

"Адрес {192.168.1.10, порт 1025} заменен на адрес {w1.x1.y1.z1, порт 5000}".

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

• IP-адрес приемника: w1.x1.y1.z1 (компьютер "А")

• IP-адрес источника: w2.x2.y2.z2 (www.microsoft.com)

• Порт приемника: TCP-порт 5000 (порт компьютера "А")

• Порт источника: TCP-порт 80 (порт сервера Microsoft, протокол http)

Протокол NAT проверяет свою таблицу преобразованных адресов, после чего делает обратную замену:

• IP-адрес приемника: 192.168.1.10 (компьютер "Б")

• IP-адрес источника: w2.x2.y2.z2 (www.microsoft.com)

• Порт приемника: TCP-порт 1025 (порт компьютера "Б")

• Порт источника: TCP-порт 80 (порт сервера Microsoft, протокол http)

 

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

Шлюз не может одновременно создать с одного и того же своего порта два соединения с 80 портом сервера www.microsoft.com, т.к. для создания сокета необходимо, чтобы хотя бы один из параметров " IP-адрес отправителя, номер порта отправителя" – "IP-адрес получателя, номер порта получателя" у двух сетевых соединений не совпадали. Поэтому, если к серверу www.microsoft.com одновременно обратятся два компьютера локальной сети, то пакеты одного из них будут отправлены с порта 5000 (как в примере), а пакеты другого – будут отправлены, например, с порта 5001. При получении ответа от сервера www.microsoft.com, пакеты, поступившие на порт 5000, будут переправлены первому компьютеру, а пакеты, поступившие на порт 5001 – второму компьютеру.

При использовании NAT возникает следующая проблема: пакеты, содержащие IP-адрес только в заголовке пакета, правильно преобразовываются протоколом NAT, однако пакеты, содержащие IP-адрес в поле данных, могут неправильно преобразовываться при помощи NAT. Например, протокол FTP хранит IP-адрес в заголовке FTP для команды FTP PORT. Заголовок FTP, как и любой протокол прикладного уровня, хранится в поле данных IP-пакета. Если NAT не сможет правильно преобразовать IP-адрес из заголовка FTP и откорректировать поле данных, то могут возникнуть неполадки связи. Для устранения этой проблемы существуют редакторы NAT, работающие с заголовками прикладных протоколов. Не для всех протоколов необходим редактор NAT, например для протокола HTTP он не нужен. В ОС Windows 2000 реализованы редакторы NAT для следующих протоколов: FTP, ICMP, PPTP, NetBIOS через TCP/IP, RPC, Direct Play, H.323, Регистрация ILS на основе LDAP. Однако для зашифрованного трафика использование редактора NAT не предусмотрено, что следует учитывать при использовании NAT.

 

 

Литераура:

  1. Компьютерные сети. Принципы, технологии, протоколы: Учебник для ВУЗов 4-е изд. / В.Г.Олифер, Н.А.Олифер. – СПб: Издательство «Питер», 2011.- 944с.:ил
  2. Компьютерные сети. Учебный курс/Пер. с англ. - М.: Издательский отдел "Русская Редакция" ТОО "Channel Trading Ltd.", 1997.
  3. Валда Хиллей. Секреты Windows NT Server 4.0. - К.: Диалектика, 1997.
  4. Хант К. Серия "Для специалиста": Персональные компьютеры в сетях TCP/IP. - BHV-Киев, 1997.
  5. Хелен Кастер. Основы Windows NT и NTFS./Пер. с англ. - М.: Издательский отдел "Русская Редакция" ТОО "Channel Trading Ltd.", 1996.

 

 



<== предыдущая лекция | следующая лекция ==>
Коммутаторы 3-го уровня с маршрутизацией потоков. | Типы сетей.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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