Коммутаторы третьего уровня.
В последние время наметилась тенденция сглаживания различий между коммутаторами и маршрутизаторами. Производители коммутаторов наделяют некоторые свои модели функциями маршрутизации, что позволяет использовать скорость коммутаторов и преимущества маршрутизаторов. Такие коммутаторы получили название коммутаторов третьего уровня. Функции коммутации и маршрутизации могут быть совмещены двумя способами:
1) Классическим, когда маршрутизация выполняется по каждому пакету, требующему передачи из сети в сеть, а коммутация выполняется для пакетов, принадлежащих одной сети.
2) Методом маршрутизации потока, когда маршрутизируется несколько первых пакетов устойчивого потока, а все остальные пакеты этого потока коммутируются.
15.5. Коммутаторы 3-го уровня с классической маршрутизацией.
Обычный коммутатор "прозрачен" для компьютеров сети, не имеет собственных MAC-адресов портов и захватывает все кадры, приходящие на порт, независимо от их адреса назначения, для последующей коммутации. Классический коммутатор 3-го уровня, подобно обычному коммутатору, захватывает все кадры своими портами независимо от их МАС-адресов, однако порты коммутатора 3-го уровня имеют и собственные MAC-адреса. Если захваченный кадр направлен на MAC-адрес какого-либо компьютера в сети, то пакет коммутируется. Если захваченный кадр направлен на MAC-адрес порта коммутатора, то пакет маршрутизируется. Коммутатор 3-го уровня может поддерживать динамические протоколы маршрутизации, такие как RIP или OSPF, а может полагаться на статическое задание маршрутов или на получение таблицы маршрутизации от другого маршрутизатора. Такие комбинированные устройства появились сразу после разработки коммутаторов, поддерживающих виртуальные локальные сети (VLAN). Для связи VLAN требовался маршрутизатор. Размещение маршрутизатора в одном корпусе с коммутатором позволяло получить некоторый выигрыш в производительности. Примерами таких коммутаторов могут служить хорошо известные коммутаторы LANplex (теперь CoreBuilder) 6000 и 2500 компании 3Com.
15.6. Коммутаторы 3-го уровня с маршрутизацией потоков.
Еще один тип коммутаторов 3-го уровня — это коммутаторы, которые ускоряют процесс маршрутизации за счет выявления устойчивых потоков в сети и обработки по схеме маршрутизации только нескольких первых пакетов потока. Последующие пакеты обрабатываются по схеме коммутации. Многие фирмы разработали подобные схемы, однако до сих пор они являются нестандартными, хотя работа над стандартизацией этого подхода идет в рамках одной из рабочих групп IETF.
Поток – это последовательность пакетов, имеющих некоторые общие свойства. По меньшей мере у них должны совпадать адрес отправителя и адрес получателя, и тогда их можно отправлять по одному и тому же маршруту. Желательно, чтобы пакеты потока имели одно и то же требование к качеству обслуживания (QoS, Quality of Service), т.е. одинаковые требования к скорости передачи данных, задержках в передаче пакетов, доле потерь пакетов и т.п. Приведем пример использования потоков для ускорения маршрутизации.
Маршрутизация потока пакетов
Если бы все коммутаторы 3-го уровня, изображенные на рис. , работали по классической схеме, то каждый пакет, отправляемый из рабочей станции, принадлежащей одной IP-сети, серверу, принадлежащему другой IP-сети, проходил бы через блоки маршрутизации всех трех коммутаторов. В схеме ускоренной маршрутизации такую обработку проходит только несколько первых пакетов долговременного потока, то есть классическая схема работает до тех пор, пока долговременный поток не будет выявлен. После этого первый коммутатор на пути следования потока выполняет нестандартную обработку пакета — он помещает в кадр канального протокола (например Ethernet) не МАС-адрес порта следующего маршрутизатора, а МАС-адрес узла назначения, который на рисунке обозначен как МАСК. Как только эта замена произведена, кадр с таким МАС-адресом перестает поступать на блоки маршрутизации второго и третьего коммутатора, а проходит только через блоки коммутации этих устройств. Процесс передачи пакетов действительно ускоряется, так как они не проходят многократно повторяющиеся этапы маршрутизации. В то же время защитные свойства маршрутизаторы сохраняют, так как первые пакеты проверяются на допустимость передачи в сеть назначения, поэтому сохраняются фильтрация широковещательного шторма, защита от несанкционированного доступа и другие преимущества сети, разделенной на подсети.
Для реализации описанной схемы нужно решить несколько проблем. Первая – на основании каких признаков определяется долговременный поток. Это достаточно легкая проблема, и основные подходы к ее решению очевидны – совпадение адресов и портов соединения, общие признаки качества обслуживания, некоторый порог одинаковых пакетов для фиксации долговременности. Вторая проблема более серьезная. На основании какой информации первый коммутатор узнает МАС-адрес узла назначения? Этот узел непосредственно не подключен к сети первого коммутатора, поэтому использование протокола ARP здесь не поможет. Именно здесь расходятся пути большинства фирменных технологий ускоренной маршрутизации. Многие компании разработали собственные служебные протоколы, с помощью которых коммутаторы запрашивают этот МАС-адрес друг у друга, пока последний на пути коммутатор не выяснит его в своей сети, с помощью протокола ARP. Фирменные протоколы используют как распределенный подход, когда все коммутаторы равны в решении проблемы нахождения МАС-адреса, так и централизованный, когда в сети существует выделенный коммутатор, который помогает ее решить для всех.
Примерами коммутаторов 3-го уровня, работающими по схеме маршрутизации потоков, являются коммутаторы SmartSwitch компании Cabletron, а также коммутатор Catalyst 5000 компании Cisco, выполняющий свои функции совместно с маршрутизаторами Cisco 7500 по технологии Cisco NetFlow.
15.7. Шлюз (gateway), межсетевой экран (firewall), прокси-сервер, NAT.
Термин "шлюз" и термин "маршрутизатор" во многом схожи, но шлюз является более общим термином (всякий маршрутизатор является шлюзом). Шлюзом называется любое сетевое устройство, которое одновременно подключено к нескольким сетям при помощи нескольких сетевых интерфейсов, имеет в каждой сети свой адрес сетевого уровня и занимается продвижением пакетов между этими сетями. Например, шлюзом является компьютер одна сетевая карта которого подключена к сети 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.
17. Лекция №17. Вопросы безопасности в локальных сетях
17.1.Основные понятия о безопасности
17.2.Виды сетевых атак
18. Лекция №17. Вопросы безопасности в локальных сетях. (продолжение)
19. Литераура:
- Компьютерные сети. Принципы, технологии, протоколы: Учебник для ВУЗов 4-е изд. / В.Г.Олифер, Н.А.Олифер. – СПб: Издательство «Питер», 2011.- 944с.:ил
- Компьютерные сети. Учебный курс/Пер. с англ. - М.: Издательский отдел "Русская Редакция" ТОО "Channel Trading Ltd.", 1997.
- Валда Хиллей. Секреты Windows NT Server 4.0. - К.: Диалектика, 1997.
- Хант К. Серия "Для специалиста": Персональные компьютеры в сетях TCP/IP. - BHV-Киев, 1997.
- Хелен Кастер. Основы Windows NT и NTFS./Пер. с англ. - М.: Издательский отдел "Русская Редакция" ТОО "Channel Trading Ltd.", 1996.
- Программа сетевой академии Cisco CCNA 1и 2. Вспомогательное руководство, 3-е изд., с испр.: Пер. С англ..- М.: Издательский дом "Вильямс", 2008.-1168с.ил.