Россия, Гремячево, Гремячевская СОШ, 2008 |
Протоколы и функции, применяемые в межсетевых экранах и интернет-маршрутизаторах
В данной главе рассматриваются основные функции и протоколы, обеспечивающие сетевое взаимодействие различных систем, а также их безопасность. Для каждого сервиса приводится подробное описание настроек на базе устройств D-Link.
Протоколы и функции, обеспечивающие работу сети
Маршрутизация
Маршрутизация осуществляется на сетевом уровне OSI, который отвечает за обеспечение связи между любыми хостами в сети. Маршрутизирующие устройства (например, Интернет-маршрутизаторы или межсетевые экраны) объединяют отдельные сети в общую составную сеть. В сложных составных сетях почти всегда существует несколько альтернативных маршрутов для передачи пакетов между конечными хостами. Задачу выбора маршрутов из нескольких возможных решают маршрутизирующие устройства. Правильно выбранная структура сети и настроенная в соответствии с ней маршрутизация гарантируют, что отправленный по сети пакет будет доставлен по назначению.
Что же такое "маршрутизация"?
Маршрутизация (Routing) – процесс определения в коммуникационной сети (наилучшего) пути, по которому пакет может достигнуть адресата или, точнее – это набор правил, определяющих маршрут следования информации в сетях связи. Любые сетевые пакеты направляются в соответствии с набором правил – таблиц маршрутизации. Как правило, маршрутизация сводится к выбору интерфейса и следующего транзитного хоста при следовании пакета между сетями.
Маршрут – это путь, который должен пройти пакет от отправителя до точки назначения через маршрутизирующие устройства.
Маршрутизирующее устройство выбирает маршрут на основании информации о текущей конфигурации сети и соответствующего критерия выбора маршрута. Обычно в качестве критерия выступает метрика, которая отражает приоритет маршрута (наилучший маршрут). При определении наилучшего маршрута и назначения метрики рассматриваются следующие характеристики: время прохождения маршрута, которое в локальных сетях совпадает с длиной маршрута, измеряемой в количестве пройденных узлов маршрутизации; надежность и пропускная способность канала связи; время передачи пакета по каждой линии связи; нагрузка сетевого ресурса.
Маршрутизация может осуществляться статическим или динамическим способом.
Алгоритмы статической маршрутизации представляют таблицы, составленные сетевым администратором. Содержимое этих таблиц может быть изменено только сетевым администратором.
Итак, статическая маршрутизация (Static routing) – это метод маршрутизации в сетях с коммутацией пакетов, при котором данные передаются по заданному пути. При конфигурировании таблиц маршрутизации должны быть указаны все взаимосвязи между логическими сетями, которые остаются неизменными.
Динамическая маршрутизация предполагает, что маршрутизирующее устройство может автоматически определять новые пути либо модифицировать информацию о существующих путях.
Динамическая маршрутизация (Dynamic routing) – это метод выбора маршрута в сетях с коммутацией каналов, учитывающий динамическое состояние выходных каналов хоста (локальная маршрутизация) или сети (глобальная маршрутизация). Алгоритмы динамической маршрутизации адаптируются к изменениям сетевой обстановки, анализируя поступающие сообщения об обновлении маршрутов и используя при этом протоколы маршрутизации такие, как RIP (Routing Information Protocol), OSPF (Open Shortest Path First), BGP (Border Gateway Protocol).
Осуществление маршрутизации в межсетевых экранах D-Link рассмотрено в разделе "Создание и проверка правил маршрутизации" приложения D "Управление межсетевыми экранами через Web-интерфейс".
Маршрутизация осуществляется, используя IP-адресацию сетей и сетевых устройств. В версии IPv4 IP-адрес представляет собой 32-битное двоичное число, состоит из 4-х октетов и в десятичном виде записывается в виде четырех чисел, разделенных точками (например: 192.168.1.1). Существует также понятие "маска подсети". В десятичном представлении она имеет такой же вид, как и IP-адрес. Маска определяет, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу самого узла в этой сети.
В версии IPv6 IP-адрес имеет 128-битное представление, состоит из 8 октетов, разделяющихся двоеточиями и записывается с использованием шестнадцатеричных чисел (например: СА81:0:0:0:800:800С:121:1Б).
Протокол OSPF
OSPF (Open Shortest Path First) – протокол динамической маршрутизации, основанный на технологии отслеживания состояния канала (link-state technology) и использующий для нахождения кратчайшего пути алгоритм Дейкстры.
Последняя версия протокола представлена в RFC 2328. OSPF представляет собой протокол внутреннего шлюза (Interior Gateway Protocol – IGP), распространяет информацию о доступных маршрутах между маршрутизирующими устройствами (маршрутизаторами) одной автономной системы.
OSPF предлагает решение следующих задач:
- увеличение скорости сходимости сети (т.е. одинаковое понимание текущей сетевой топологии всеми маршрутизаторами) по сравнению с протоколом RIP;
- поддержка сетевых масок переменной длины (VLSM, применяются в бессклассовой IP-адресации);
- достижимость сети;
- оптимальное использование пропускной способности сети;
- определение кратчайшего маршрута.
Терминология протокола OSPF
Объявление о состоянии канала (Link-State Advertisement, LSA) – объявление описывает все каналы маршрутизатора, все интерфейсы и состояние каналов.
Состояние канала (Link state) – состояние канала между двумя маршрутизаторами; обновления происходят при помощи пакетов LSA.
Метрика (metric) – условный показатель "стоимости" пересылки данных по каналу;
Автономная система (Autonomous System, AS) – группа устройств, обменивающаяся маршрутизирующей информацией в соответствии с единой политикой и протоколом маршрутизации.
Зона (area) – совокупность сетей и маршрутизаторов, имеющих один и тот же идентификатор зоны.
Соседи (neighbours) – два маршрутизатора, имеющие интерфейсы в общей сети.
Состояние соседства (adjacency) – взаимосвязь между определенными соседними маршрутизаторами, установленная с целью обмена информацией маршрутизации.
Hello-пакеты (Hello packets) – используются для обмена информации и поддержания соседских отношений.
База данных соседей (Neighbours database) – список всех соседей.
База данных состояния каналов (Link State Database, LSDB) – список всех записей о состоянии каналов. Встречается также термин топологическая база данных (topological database), употребляется как синоним базы данных состояния каналов.
Идентификатор маршрутизатора (Router ID, RID) – уникальное 32-битовое число, которое уникально идентифицирует маршрутизатор в пределах одной автономной системы.
Выделенный маршрутизатор (Designated Router, DR) – управляет процессом рассылки LSA в сети. Каждый маршрутизатор сети устанавливает отношения соседства с DR и отправляет ему информацию об изменениях в сети, а DR отвечает за то, чтобы данная информация была отправлена остальным маршрутизаторам сети. Недостатком в схеме работы с DR маршрутизатором является то, что при выходе его из строя должен быть выбран новый DR. Новые отношения соседства должны быть сформированы и, пока базы данных маршрутизаторов не синхронизируются с базой данных нового DR, сеть будет недоступна для пересылки пакетов. Для устранения этого недостатка выбирается BDR.
Резервный выделенный маршрутизатор (Backup Designated Router, BDR). Каждый маршрутизатор сети устанавливает отношения соседства не только с DR, но и BDR. DR и BDR также устанавливают отношения соседства между собой. При выходе из строя DR, BDR становится выделенным маршрутизатором и выполняет все его функции. Так как маршрутизаторы сети устанавливают отношения соседства с BDR, то время недоступности сети минимизируется.
Краткое описание работы протокола OSPF
Маршрутизаторы обмениваются hello-пакетами через все интерфейсы, на которых активирован OSPF. Устройства, разделяющие общий канал передачи данных, становятся соседями после согласования определенных параметров, указанных в hello-пакетах.
Далее маршрутизаторы обмениваются hello-пакетами с устройствами других сетей для установления соседства. OSPF определяет несколько типов сетей и несколько типов маршрутизаторов. Пара маршрутизаторов, находящихся в состоянии соседства синхронизирует между собой базу данных состояния каналов.
Каждый маршрутизатор посылает объявление о состоянии канала своему соседу. Последний, получив объявление, записывает передаваемую в нем информацию в базу данных состояния каналов маршрутизатора и рассылает копию объявления всем другим своим соседям.
Рассылая объявления через зону, все маршрутизаторы строят идентичную базу данных состояния каналов маршрутизатора.
Когда база данных построена, каждый маршрутизатор использует алгоритм нахождения кратчайшего пути для вычисления графа без образования петель (т.е. дерева кратчайшего пути), который будет описывать кратчайший маршрут к каждому известному пункту назначения, отображая в качестве корня самого себя. Самый короткий путь в дереве соответствует оптимальному маршруту к каждой сети назначения в автономной системе.
Каждый маршрутизатор строит таблицу маршрутизации из своего дерева кратчайшего пути и отправляет соседям не все записи таблицы, а только обновленные и измененные данные о маршрутах.
Учитывая, что в сетях с множественным доступом отношения соседства должны быть установлены между всеми маршрутизаторами, существует проблема рассылки огромного количества копий LSA. Для предотвращения этой проблемы в сетях выбираются выделенный (DR) и резервный выделенный (BDR) маршрутизаторы.
Типы зон
При разделении автономной системы на зоны, маршрутизаторам, принадлежащим к одной зоне, не известна информация о детальной топологии других зон.
Разделение на зоны позволяет:
- снизить нагрузку на ЦПУ маршрутизаторов за счет уменьшения количества перерасчетов по алгоритму SPF;
- уменьшить размер таблиц маршрутизации;
- уменьшить количество пакетов обновлений состояния канала.
Каждой зоне присваивается идентификатор зоны (Area ID) и может быть указан в десятичном формате или в формате записи IP-адреса. Однако идентификаторы зон не являются IP-адресами и могут совпадать с любым назначенным IP-адресом.
В любых OSPF-сетях обязательно должна быть определена магистральная зона (Backbone area), известная также как нулевая зона (Area 0) или зона 0.0.0.0, которая формирует ядро сети OSPF. Все остальные зоны должны быть соединены с ней при помощи маршрутизатора, через который обеспечивается межзональная маршрутизация. Если область не связана физически с магистралью, то необходимо добавить виртуальное соединение.
Тупиковая зона (Stub area) не принимает информацию о внешних маршрутах для автономной системы, а объявляет о маршруте по умолчанию. Если маршрутизаторам из тупиковой зоны необходимо передавать информацию за границу автономной системы, то они используют маршрут по умолчанию.
Транзитная зона (Transit area) передает информацию из зон, не связанных непосредственно с магистральной зоной.
Типы маршрутизаторов
Все интерфейсы внутреннего маршрутизатора (Internal Router, IR) принадлежат одной зоне. У таких маршрутизаторов только одна база данных состояния каналов.
Граничный маршрутизатор (Area Border Router, ABR) соединяет одну или больше зон с магистральной зоной и выполняет функции шлюза для межзонального трафика. У граничного маршрутизатора всегда хотя бы один интерфейс принадлежит магистральной зоне. Для каждой присоединенной зоны маршрутизатор поддерживает отдельную базу данных состояния каналов.
Граничный маршрутизатор автономной системы (AS Boundary Router, ASBR) обменивается информацией с маршрутизаторами других автономных систем. ASBR может находиться в любом месте автономной системы и быть внутренним, граничным или магистральным маршрутизатором.
Магистральный маршрутизатор (Backbone Router, BR) используется в магистральной зоне.
OSPF поддерживает следующие методы аутентификации:
- 0 (в межсетевых экранах NetDefend: No Authentification) – для обмена информацией не требуется аутентификация OSPF;
- 1 (в межсетевых экранах NetDefend: Passphrase) – для аутентификации OSPF требуется простой пароль;
- 2 (в межсетевых экранах NetDefend: MD5 Digest) – MD5-аутентификация содержит идентификатор ключа (key ID) и 128-битный ключ. Определенный ключ используется для создания 128-бит MD5-хэша. Но назначение аутентификации не означает, что OSPF-пакеты шифруются. В случае необходимости передачи шифрованного OSPF-трафика, его направляют через VPN-туннель (например, IPSec).