Протокол STP и виртуальные сети Протокол STP может быть применен в виртуальных сетях. Но в этом случае единственный путь, предлагаемый протоколом STP, не может удовлетворить все множество виртуальных сетей в данной физической топологии.
Тем не менее, фирмой Cisco предложен метод, позволяющий протоколу STP работать в виртуальных сетях. Этот метод называется Autonomous Spanning Tree (автономное остовое дерево). Он также позволяет повысить гибкость и расширяемость виртуальных сетей. Например, виртуальные сети, построенные на его основе, могут использовать разные пути для передачи данных «туда» и «обратно». Коммутаторы виртуальных сетей фирмы Cisco могут объединяться между собой несколькими линиями связи. При этом без поддержки механизма виртуальных сетей протокол STP автоматически отключит все линии связи, кроме одной, устраняя таким образом возможные петли. При использовании механизма виртуальных сетей протокол STP будет работать независимо в каждой виртуальной сети.
Протокол STP: заключение
Применение протокола STP в корпоративных сетях позволяет создавать большие и сложные сети на коммутаторах (их называют плоскими сетями), не опасаясь широковещательного шторма. Кроме того, реализуется только один путь передачи данных между любыми двумя станциями, что:
q гарантирует доставку данных в том порядке, в котором они были отправлены;
q предотвращает размножение широковещательных пакетов;
q устраняет их бесконечную циркуляцию;
q запрещает распространение пакетов с неизвестным адресом назначения.
Перечислим достоинства протокола STP:
q позволяет строить локальные сети на коммутаторах в особо ответственных случаях со значительным повышением общей надежности сети;
q работает прозрачно для конечных станций;
q использует небольшую ширину полосы пропускания;
q принят большинством производителей коммутационного оборудования;
q совместим с виртуальными сетями.
К недостаткам протокола можно отнести:
q повышенная стоимость коммутаторов STP;
q резервирование оборудования существенно увеличивает стоимость сети в целом;
q на время переконфигурации сети прекращается работа пользователей.
Протокол STP используется главным образом в сетях, где главным требованием является надежность передачи данных.
Маршрутизаторы
Довольно часто в компьютерной литературе дается следующее обобщенное определение маршрутизатора: «маршрутизатор — это устройство сетевого уровня эталонной модели OSI, использующее одну или более метрик для определения оптимального пути передачи сетевого трафика на основании информации сетевого уровня». Из этого определения вытекает, что маршрутизатор, прежде всего, необходим для определения дальнейшего пути данных, посланных в большую и сложную сеть. Пользователь такой сети отправляет свои данные в сеть и указывает адрес своего абонента. И все данные проходят по сети и в точках с разветвлением маршрутов поступают на маршрутизаторы, которые как раз и устанавливаются в таких точках. Маршрутизатор выбирает дальнейший наилучший путь. То, какой путь лучше, определяется количественными характеристиками, которые называются метриками. Лучший путь — это путь с наименьшей метрикой. В метрике может учитываться несколько показателей, например, длина пути, время прохождения и т. д.
Маршрутизаторы реализуются по-разному. Маршрутизаторы делят на устройства верхнего, среднего и нижнего классов.
Высокопроизводительные маршрутизаторы верхнего класса служат для объединения сетей предприятия. Они поддерживают множество протоколов и интерфейсов, причем не только стандартных, но, подчас, и весьма экзотических. Устройства данного типа могут иметь до 50 портов локальных или глобальных сетей.
С помощью маршрутизаторов среднего, промежуточного, класса формируются менее крупные сетевые объединения масштаба предприятия. Стандартная конфигурация включает два-три порта локальных сетей и от четырех до восьми портов глобальной сети. Такие маршрутизаторы поддерживают наиболее распространенные протоколы маршрутизации и транспортные протоколы.
Маршрутизаторы нижнего класса предназначаются для локальных сетей подразделений; они связывают небольшие офисы с сетью предприятия. Типичная конфигурация: один порт локальной сети (Ethernet или Token Ring) и два порта глобальной сети, рассчитанные на низкоскоростные выделенные линии или коммутируемые соединения. Тем не менее, подобные маршрутизаторы пользуются большим спросом у администраторов, которым необходимо расширить имеющиеся межсетевые объединения.
Маршрутизаторы для базовых сетей и удаленных офисов имеют разную архитектуру, поскольку к ним предъявляются разные функциональные и операционные требования. Маршрутизаторы базовых сетей обязательно должны быть расширяемыми. Маршрутизаторы локальных сетей подразделения, для которых, как правило, заранее устанавливается фиксированная конфигурация портов, содержат только один процессор, управляющий работой трех или четырех интерфейсов. В них используются примерно те же протоколы, что и в маршрутизаторах базовых сетей, однако программное обеспечение больше направлено на облегчение инсталляции и эксплуатации, поскольку в большинстве удаленных офисов отсутствуют достаточно квалифицированные специалисты по сетевому обслуживанию.
Маршрутизатор базовой сети состоит из следующих основных компонентов: сетевых адаптеров, зависящих от протоколов и служащих интерфейсами с локальными и глобальными сетями; управляющего процессора, определяющего маршрут и обновляющего информацию о топологии; основной магистрали. После поступления пакета на интерфейсный модуль он анализирует адрес назначения и принимает команды управляющего процессора для определения выходного порта. Затем пакет по основной магистрали маршрутизатора передается в интерфейсный модуль, служащий для связи с адресуемым сегментом локальной сети или портом глобальной сети.
В роли маршрутизатора может выступать рабочая станция или сервер, имеющие несколько сетевых интерфейсов и снабженные специальным программным обеспечением. Маршрутизаторы верхнего класса — это, как правило, специализированные устройства, объединяющие в отдельном корпусе множество маршрутизирующих модулей.
По определению, основное назначение маршрутизаторов — это маршрутизация трафика сети. Процесс маршрутизации можно разделить на два иерархически связанных уровня:
q Уровень маршрутизации. На этом уровне происходит работа с таблицей маршрутизации. Таблица маршрутизации служит для определения адреса (сетевого уровня) следующего маршрутизатора или непосредственно получателя по имеющемуся адресу (сетевого уровня) получателя. После определения адреса передачи выбирается определенный выходной физический порт маршрутизатора. Этот процесс называется определением маршрута перемещения пакета. Настройка таблицы маршрутизации ведется протоколами маршрутизации. На этом же уровне определяется перечень необходимых предоставляемых сервисов;
q Уровень передачи пакетов. Перед тем как передать пакет, необходимо: проверить контрольную сумму заголовка пакета, определить адрес (канального уровня) получателя пакета и произвести непосредственно отправку пакета с учетом очередности, фрагментации, фильтрации и т. д. Эти действия выполняются на основании команд, поступающих с уровня маршрутизации.
Обобщенная функциональная схема маршрутизации представлена на рис. 5.17.
Определение маршрута передачи данных происходит программно. Соответствующие программные средства носят названия протоколов маршрутизации. Логика их работы основана на алгоритмах маршрутизации. Алгоритмы маршрутизации вычисляют стоимость доставки и выбирают путь с меньшей стоимостью. Простейшие алгоритмы маршрутизации определяют маршрут на основании наименьшего числа промежуточных (транзитных) узлов на пути к адресату. Более сложные алгоритмы в понятие «стоимость» закладывают несколько показателей, например, задержку при передаче пакетов, пропускную способность каналов связи или денежную стоимость связи. Основным результатом работы алгоритма маршрутизации является создание и поддержка таблицы маршрутизации, в которую записывается вся маршрутная информация. Содержание таблицы маршрутизации зависит от используемого протокола маршрутизации, В общем случае таблица маршрутизации содержит следующую информацию:
q действительные адреса устройств в сети;
q служебную информацию протокола маршрутизации;
q адреса ближайших маршрутизаторов.
Основными требованиями, предъявляемыми к алгоритму маршрутизации, являются:
q оптимальность выбора маршрута;
q простота реализации;
q устойчивость;
q быстрая сходимость;
q гибкость реализации.
Оптимальность выбора маршрута является основным параметром алгоритма, что не требует пояснений.
Алгоритмы маршрутизации должны быть просты в реализации и использовать как можно меньше ресурсов.
Алгоритмы должны быть устойчивыми к отказам оборудования на первоначально выбранном маршруте, высоким нагрузкам и ошибкам в построении сети.
Сходимость — это процесс согласования между маршрутизаторами информации о топологии сети. Если определенное событие в сети приводит к тому, что некоторые маршруты становятся недоступны или возникают новые маршруты, маршрутизаторы рассылают сообщения об этом друг другу по всей сети. После получения этих сообщений маршрутизаторы производят переназначение оптимальных маршрутов, что в свою очередь может породить новый поток сообщений. Этот процесс должен завершиться, причем достаточно быстро, иначе в сетевой топологии могут появиться петли, или сеть вообще может перестать функционировать. Алгоритмы маршрутизации должны быстро и правильно учитывать изменения в состоянии сети (например, отказ узла или сегмента сети).
Достоинства гибкой реализации не требуют комментариев.
Алгоритмы маршрутизации могут быть:
q статическими или динамическими;
q одномаршрутными или многомаршрутными;
q одноуровневыми или иерархическими;
q внутридоменными или междоменными;
q одноадресными или групповыми.
Для статических (неадаптивных) алгоритмов маршруты выбираются заранее и заносятся вручную в таблицу маршрутизации, где хранится информация о том, на какой порт отправить пакет с соответствующим адресом. Протоколы, разработанные на базе статических алгоритмов, называют немаршрутизируемыми протоколами. Примерами немаршрутизируемых протоколов могут служить LAT (Local Area Transport, транспортный протокол для локальных областей) фирмы DEC, протокол подключения терминала и NetBIOS. Обычно с этими протоколами работают мосты, так как они не различают протоколы сетевого уровня.
При использовании динамических алгоритмов таблица маршрутизации автоматически обновляется при изменении топологии сети или трафика в ней. Динамические алгоритмы различаются по способу получения информации о состоянии сети, времени изменения маршрутов и используемым показателям оценки маршрута.
Одномаршрутные алгоритмы определяют только один маршрут. Он не всегда оказывается оптимальным. Многомаршрутные алгоритмы предлагают несколько маршрутов к одному и тому же получателю. Такие алгоритмы позволяют передавать информацию получателю по нескольким каналам одновременно, что означает повышение пропускной способности и надежности сети.
Алгоритмы маршрутизации могут работать в сетях с одноуровневой или иерархической архитектурой. В одноуровневой сети все ее фрагменты имеют одинаковый приоритет, что, как правило, обусловлено схожестью их функционального назначения. Иерархическая сеть содержит подсети (фрагменты сети). Маршрутизаторы нижнего уровня служат для связи фрагментов сети. Маршрутизаторы верхнего уровня образуют особую часть сети, называемую магистралью (опорная часть). Маршрутизаторы магистральной сети передают пакеты между сетями нижнего уровня.
Иерархическая структура в больших и сложных сетях позволяет значительно упростить процесс управления сетью, облегчает изоляцию сегментов сети и т. д. Например, логическая изоляция сегментов сети допускает установку брандмауэров.
Некоторые алгоритмы маршрутизации действуют только в пределах своих доменов (внутридоменная маршрутизация), другие — как в пределах своих доменов, так и в смежных с ними (междоменная маршрутизация). В данном случае домен означает область маршрутизации, в которой работает один или несколько протоколов маршрутизации. В разных доменах работают разные протоколы. Если необходима связь доменов, используется междоменная маршрутизация.
Одноадресные алгоритмы маршрутизации предназначены для передачи конкретной информации (по одному или нескольким маршрутам) только одному получателю. Многоадресные (или групповые) алгоритмы способны передавать информацию многим получателям одновременно.
Когда маршрутизатор получает пакет, он считывает адрес назначения и определяет, по какому маршруту отправить пакет. Обычно маршрутизаторы хранят данные о нескольких возможных маршрутах. Выбор маршрута зависит от нескольких факторов в том числе:
q применяемой системы измерения длины маршрута (его метрики);
q маршрутизируемого протокола высокого уровня;
q топологии сети.
На уровне маршрутизации существуют три основные группы протоколов маршрутизации (деление на группы определяется типом реализуемого алгоритма определения оптимального маршрута):
q протоколы вектора расстояния;
q протоколы состояния канала;
q протоколы политики маршрутизации.
Протоколы вектора расстояния — самые простые и самые распространенные. Протоколы данной группы включают RIP IP, RIP IPX, AppleTalk RTMP и Cisco IGRP. Свое название этот тип протокола получил от способа обмена информацией. Маршрутизатор с определенной периодичностью извлекает адреса получателей информации и метрику из своей таблицы маршрутизации и помещает эти данные в рассылаемые соседям сообщения об обновлении. Соседние маршрутизаторы сверяют полученные данные со своими собственными таблицами маршрутизации и вносят необходимые изменения. После этого они сами рассылают сообщения об обновлении. Таким образом каждый маршрутизатор получает информацию о маршрутах во всей сети. При очевидной простоте алгоритма говорить о полной его надежности нельзя. Он может работать эффективно только в небольших сетях. Это связано с тем, что в крупных сетях поток сообщений между маршрутизаторами резко возрастает. При этом большинство из них являются избыточными (так как изменения сетевой топологии происходят довольно редко). Как следствие — действительно необходимая информация подчас долго гуляет по всей сети, и маршрутизаторы обновляют свои таблицы с большой задержкой. Так, более несуществующий маршрут может довольно долго оставаться в таблицах маршрутизации. Трафик, направленный по такому маршруту, не достигнет своего адресата.
Протоколы состояния канала были впервые предложены в 1970 году Эдсгером Дейкстрой. Эти протоколы значительно сложнее, чем протоколы вектора расстояния. Вместо рассылки соседям содержимого своих таблиц маршрутизации, каждый маршрутизатор осуществляет широковещательную рассылку списка маршрутизаторов, с которыми он имеет непосредственную связь, и списка напрямую подключенных к нему локальных сетей. Эта информация является частью информации о состоянии канала. Она рассылается в специальных сообщениях. Кроме того, маршрутизатор рассылает сообщения о состоянии канала только в случае его изменения или по истечении заданного интервала времени. Протоколы состояния канала трудны в реализации и нуждаются в значительном объеме памяти для хранения информации о состоянии каналов. Примерами этих протоколов служат OSPF, IS-IS, Novell NLSP и Cisco EIGRP.
По Дейкстре, топология сети представляется в виде неориентированного графа. Каждому ребру приписывается некоторое значение. В процессе работы алгоритма вычисляется сумма показателей для ребер, сходящихся в каждом узле графа. Эта оценка называется меткой узла. При определении пути подсчитывается сумма меток на возможном пути и выбирается путь с наименьшей суммарной меткой.
К третьей группе протоколов относятся протоколы политики (правил) маршрутизации. Эти протоколы наиболее эффективно решают задачу доставки получателю информации. Эта категория протоколов используется при маршрутизации в Internet и позволяет операторам получать информацию о маршрутизации от соседних операторов на основании специальных критериев. То есть в процессе обмена вырабатывается список разрешенных маршрутов (путей). Алгоритмы политики маршрутизации опираются на алгоритмы вектора расстояния, но информация о маршрутах базируется на списке операторов сети Internet. Примерами протоколов данной категории могут служить BGP и EGP.
Все вышесказанное относилось к уровню маршрутизации. Уровень передачи пакетов (см. выше) реализуется на алгоритмах коммутации и, как правило, оди наков для большинства протоколов маршрутизации. Промежуточный маршрутизатор, имея адрес следующего маршрутизатора, посылает ему пакет, адресованный специально на физический адрес (МАС-уровня) этого маршрутизатора, но с адресом (сетевого уровня) получателя (МАС-адрес маршрутизатора определяется с помощью специальных протоколов, например ARP, см. ниже). По адресу получателя маршрутизатор определяет, знает ли он, как передать пакет следующему маршрутизатору в пути. Если знает, то пакет отсылается следующему маршрутизатору путем замены физического адреса получателя на физический адрес следующего маршрутизатора. Если маршрутизатор этого не знает, пакет игнорируется. На следующем маршрутизаторе все повторяется. По мере прохождения пакета через сеть, его физический адрес меняется, но адрес сетевого уровня остается неизменным. Этот процесс проиллюстрирован на рис. 5.18.
Основная задача уровня передачи пакетов — это коммутация пакетов от разных пользователей. Общая схема передачи пакетов такова: выбирается один из возможных транзитных узлов (эта информация поступает с уровня маршрутизации, на котором она вычисляется по адресу получателя), формируется выходной заголовок канального уровня и осуществляется посылка пакета. Кроме того, на этом этапе может производиться фрагментация пакетов, проверка контрольной суммы и т. д.
Маршрутизаторы (точнее — уровень маршрутизации) работают на сетевом уровне эталонной модели OSI (рис. 5.19). Уровень продвижения пакетов функционирует на канальном уровне.
Работа на сетевом уровне позволяет производить интеллектуальную обработку пакетов. Поскольку маршрутизаторы в основном работают с протоколом IP, они должны поддерживать связь без создания логического соединения между абонентами. При этом каждый пакет обрабатывается и отправляется получателю независимо.
Производители при создании маршрутизаторов используют три основных типа архитектуры:
q однопроцессорная;
q усиленная однопроцессорная;
q симметричная многопроцессорная.
При однопроцессорной архитектуре на центральный процессор маршрутизатора возлагается вся нагрузка по обработке трафика: фильтрация и передача пакетов, модификация заголовков пакетов, обновление таблиц маршрутизации, выделение служебных пакетов, работа с протоколом SNMP, формирование управляющих пакетов и т. д. Это приводит к тому, что маршрутизатор может стать узким местом в сети при увеличении нагрузки. Даже применение мощных RISC-процессоров не решает проблему.
Для преодоления недостатков такой архитектуры применяют усиленную однопроцессорную архитектуру. В функциональной схеме маршрутизатора выделяют модули, ответственные за выполнение тех или иных специальных задач. Каждый такой модуль маршрутизатора оснащается своим (периферийным) процессором. При этом происходит частичная разгрузка центрального процессора. Центральный процессор отвечает только за те задачи, которые нельзя поручить периферийному. В целом, и эта архитектура не способна решить все вопросы, связанные с производительностью.
Симметричная многопроцессорная архитектура лишена перечисленных недостатков, так как происходит равномерное распределение нагрузки на все модули. Но теперь каждый модуль содержит свой процессор, который выполняет все задачи маршрутизации и имеет свою копию таблицы маршрутизации. Преимущества такой архитектуры признаны всеми производителями маршрутизаторов. Данная архитектура позволяет достичь теоретически неограниченной производительности маршрутизаторов.
В заключение нашего анализа маршрутизаторов можно сказать, что они обладают несомненными достоинствами. Маршрутизаторы не вносят никаких ограничений в топологию сети. Петли, возникающие в сетях с коммутаторами, не представляют проблемы для маршрутизаторов.
Тем не менее, маршрутизаторы по сравнению с коммутаторами и мостами требуют гораздо больше усилий по администрированию. Администраторам сетей необходимо задать целое множество конфигурационных параметров для маршрутизаторов. При этом параметры каждого маршрутизатора должны быть согласованы с параметрами других маршрутизаторов в сети.
Сегодня многие организации реализуют межсетевой обмен через маршрутизаторы. Большое число компаний модернизируют свои системы, устанавливая коммутаторы между маршрутизаторами и сетями, которые обслуживаются этими маршрутизаторами. При этом коммутаторы повышают производительность сети, а маршрутизаторы обеспечивают защиту информации и выполняют более сложные задачи, такие как трансляция протоколов.
Сегодня четко обозначилась тенденция к вытеснению сложных высокопроизводительных маршрутизаторов и увеличению роли маршрутизаторов начального класса, а ведущие фирмы-производители пришли к выводу, что одним из основных требований покупателей к маршрутизатору является простота его использования.
Брандмауэры
Брандмауэр можно определить как набор аппаратно-программных средств, предназначенных для предотвращения доступа в сеть извне и за контролем над данными, поступающими в сеть или выходящими из нее. Брандмауэры получили всеобщее признание с начала 1990-х годов, что связано, в основном, с быстрым развитием сети Internet. Начиная с этого времени, разработано и используется на практике множество разнообразных продуктов, называемых брандмауэрами. Брандмауэры могут защищать корпоративную сеть от несанкционированного доступа из Internet или из другой корпоративной сети. Брандмауэр устанавливается на границе защищаемой сети и фильтрует все входящие и выходные данные, пропуская только разрешенные пакеты и предотвращая попытки проникновения в сеть. Правильно настроенный брандмауэр пропустит (или не пропустит) конкретный пакет и позволит (или не позволит) организовать конкретный сеанс связи в соответствии с установленными правилами. Для эффективной работы брандмауэров важно соблюдение трех условий:
q весь трафик должен проходить через одну точку;
q брандмауэр должен контролировать и регистрировать весь проходящий трафик;
q сам брандмауэр должен быть «неприступен» для внешних атак.
Если рассматривать работу брандмауэров по отношению к уровням модели OSI, то их условно можно разделить на следующие категории:
q брандмауэры с фильтрацией пакетов (packet-filtering firewall);
q шлюзы сеансового уровня (circuit-level gateway);
q шлюзы прикладного уровня (application-level gateway);
q брандмауэры экспертного уровня (stateful inspection firewall).
Наибольшее распространение получили брандмауэры с фильтрацией пакетов, реализованные на маршрутизаторах и сконфигурированные таким образом, чтобы фильтровать входящие и исходящие пакеты.
Фильтры пакетов просматривают поля поступающих IP-пакетов, а затем пропускают или удаляют их в зависимости, например, от IP-адресов отправителя и получателя, номеров портов отправителя и получателя протоколов TCP или UDP и других параметров. Фильтр сравнивает полученную информацию со списком правил фильтрации для принятия решения о разрешении или запрещении передачи пакета. Список правил фильтрации содержит разрешенные IP-адреса, типы протоколов, номера портов отправителей и номера портов получателей. Фильтр пакетов проверяет только заголовок пакета, но не данные внутри него.
Технология фильтрации пакетов является самым «дешевым» способом реализации брандмауэра. Такой брандмауэр может проверять пакеты различных протоколов, причем с большой скоростью, так как он просто просматривает информацию о пакете (заголовок пакета), чтобы принять решение о его дальнейшей судьбе. Фильтр анализирует пакеты на сетевом уровне и не зависит от используемого приложения. Именно эта «свобода» обеспечивает хорошую производительность.
К недостаткам такого брандмауэра можно отнести невозможность идентификации пакетов при имитации IP-адресов и невозможность слежения за конкретным сетевым сеансом.
Имитация означает, что если воспользоваться IP-адресом законного пользователя, то можно беспрепятственно проникнуть в защищаемую сеть и получить доступ к ее ресурсам. Фильтр пакетов пропустит этот пакет в сеть вне зависимости от того, откуда инициирован сеанс и кто скрывается за адресом. Существует усовершенствованная версия фильтрации пакетов, которая называется динамической фильтрацией пакетов. При этом анализируется адрес, с которого производится попытка доступа (возможно, затем она будет признана несанкционированной), и производится ping по этому адресу для его проверки. Как легко понять, если внутренний IP-адрес используется извне, то ping не достигнет отправителя пакета. В этом случае попытка доступа будет отвергнута, и сеанс не будет установлен. В настоящее время фильтры пакетов заняли достаточно заметное место в системе безопасности сети. Они мало подходят для внешней защиты сети. Но из-за того, что такие фильтры обеспечивают высокую производительность и имеют низкую цену, они хорошо подходят для обеспечения безопасности внутри сети. Организация с их помощью может разбить сеть на сегменты и установить брандмауэр в каждом из сегментов, отделив таким образом, например, бухгалтерию от отдела продаж.
ЧАСТЬ II
СТЕК ПРОТОКОЛОВ ТСР/IP
|