Некоторые алгоритмы маршрутизации действуют только в пределах своих доменов (внутридоменная маршрутизация), а другие – как в пределах своих доменов, так и в смежных с ними (междоменная маршрутизация). В данном случае домен означает область маршрутизации, в которой работает один или несколько протоколов. В разных доменах работают разные протоколы. Если необходима связь доменов, используется междоменная маршрутизация.
Одноадресные алгоритмы маршрутизации предназначены для передачи конкретной информации (по одному или нескольким маршрутам) только одному получателю. Многоадресные (или групповые) алгоритмы способны передавать информацию многим получателям одновременно.
Когда маршрутизатор получает пакет, он считывает адрес назначения и определяет, по какому маршруту отправить пакет. Обычно маршрутизаторы хранят данные о нескольких возможных маршрутах. Выбор маршрута зависит от нескольких факторов, в том числе:
Применяемой системы измерения длины маршрута (его метрики);
Маршрутизируемого протокола высокого уровня;
1.2.Топологии сети.
На уровне маршрутизации существуют три основные группы протоколов маршрутизации (деление на группы определяется типом реализуемого алгоритма определения оптимального маршрута):
1. Протоколы вектора расстояния;
2. Протоколы состояния канала;
3. Протоколы политики маршрутизации;
Протоколы вектора расстояния – самые простые и самые распространенные. Протоколы данной группы включают RIP IP, RIP IPX, AppleTalk и Cisco IGRP. Свое название этот тип протокола получил от способа обмена информацией. Маршрутизатор с определенной периодичностью извлекает адреса получателей информации и метрику из своей таблицы маршрутизации и помещает эти данные в рассылаемые соседям сообщения об обновлении. Соседние маршрутизаторы сверяют полученные данные со своими собственными таблицами маршрутизации и вносят необходимые изменения. После этого они сами рассылают сообщения об обновлении. Таким образом каждый маршрутизатор получает информацию о маршрутах всей сети. При очевидной простоте алгоритма говорить о его полной надежности нельзя. Он может работать эффективно только в небольших сетях. Это связано с тем, что в крупных сетях поток сообщений между маршрутизаторами резко возрастает. При этом большинство из них являются избыточными (так как изменения сетевой топологии происходят довольно редко). Как следствие – действительно необходимая информация подчас долго гуляет по сети, и маршрутизаторы обновляют свои таблицы с большой задержкой. Так, более несуществующий маршрут может довольно долго оставаться в таблицах маршрутизации. Трафик, направленный по такому маршруту, не достигнет своего адресата.
Протоколы состояния канала были впервые предложены в 1970 году Эдсгером Дейкстрой. Эти протоколы значительно сложнее, чем протоколы вектора расстояния. Вместо рассылки соседям содержимого своих таблиц маршрутизации, каждый маршрутизатор осуществляет широковещательную рассылку списка маршрутизаторов, с которыми он имеет непосредственную связь, и списка напрямую подключенных к нему локальных сетей. Эта информация является частью информации о состоянии канала. Она рассылается в специальных сообщениях. Кроме того маршрутизатор рассылает сообщения о состоянии канала только в случае его изменения или по истечении заданного интервала времени. Протоколы состояния канала трудны в реализации и нуждаются в значительном объеме памяти для хранения информации о состоянии каналов. Примерами этих протоколов служат OSPF, IS–IS, Nowell NLSP и Cisco EIGRP.
По Дейкстре, топология сети представляется в виде неориентированного графа. Каждому ребру приписывается некоторое значение. В процессе работы алгоритма вычисляется сумма показателей для ребер, сходящихся в каждом узле графа. Эта оценка называется меткой узла. При определении пути подсчитывается сумма меток на возможном пути и выбирается путь с меньшей суммарной меткой.
К третьей группе протоколов относятся протоколы политики (правил) маршрутизации. Эти протоколы наиболее эффективно решают задачу доставки получателю информации. Эта категория протоколов используется при маршрутизации в Internet и позволяет операторам получать информацию о маршрутизации от соседних операторов на основании специальных критериев. То есть в процессе обмена вырабатывается список разрешенных маршрутов (путей). Алгоритмы политики маршрутизации опираются на алгоритмы вектора расстояния, но информация о маршрутах базируется на списке операторов сети Internet. Примерами протоколов данной категории могут служить BGP и EGP.
Все вышесказанное относилось к уровню маршрутизации. Уровень передачи пакетов реализуется на алгоритмах коммутации и, как правило, одинаков для большинства протоколов маршрутизации. Промежуточный маршрутизатор, имея адрес следующего маршрутизатора, посылает ему пакет, адресованный специально на физический адрес (МАС-уровня) этого маршрутизатора, но с адресом (сетевого уровня) получателя. По адресу получателя маршрутизатор определяет, знает ли он, как передать пакет следующему маршрутизатору в пути. Если знает, то пакет отсылается следующему маршрутизатору путем замены физического адреса получателя на физический адрес следующего маршрутизатора. Если маршрутизатор не знает, то пакет игнорируется. На следующем маршрутизаторе все повторяется. По мере прохождения пакета через сеть, его физический адрес меняется, но адрес сетевого уровня остается неизменным. Этот процесс проиллюстрирован на рисунке:
Основная задача уровня передачи пакетов – это коммутация пакетов от разных пользователей. Общая схема передачи пакетов такова: выбирается один из возможных транзитных узлов (эта информация поступает с уровня маршрутизации, на котором она вычисляется по адресу получателя), формируется выходной заголовок канального уровня и осуществляется посылка пакета. Кроме того, на этом этапе может производиться фрагментация пакетов, проверка контрольной суммы и т.д.
Маршрутизаторы (точнее – уровень маршрутизации) работают на сетевом уровне эталонной модели OSI. Уровень продвижения пакетов функционирует на канальном уровне.
Работа на сетевом уровне позволяет производить интеллектуальную обработку пакетов. Поскольку маршрутизаторы в основном работают с протоколом IP, они должны поддерживать связь без создания логического соединения между абонентами. При этом каждый пакет обрабатывается и отправляется получателю независимо.
Производители при создании маршрутизаторов используют три основных типа архитектуры:
· Однопроцессорная;
· Усиленная однопроцессорная;
· Симметричная многопроцессорная.
При однопроцессорной архитектуре на центральный процессор маршрутизатора возлагается вся нагрузка по обработке трафика: фильтрация и передача пакетов, обновление таблиц маршрутизации, выделение служебных пакетов, работа с протоколом SNMP, формирование управляющих пакетов и т.д. Это приводит к тому, что маршрутизатор может стать узким местом в сети при увеличении нагрузки. Даже применение мощных RISC-процессоров не решает проблему.
Для преодоления недостатков такой архитектуры применяют усиленную однопроцессорную архитектуру. В функциональной схеме маршрутизатора выделяют модули, ответственные за выполнение тех или иных специальных задач. Каждый такой модуль маршрутизатора оснащается своим (периферийным) процессором. При этом происходит частичная разгрузка центрального процессора, который отвечает только за те задачи, которые нельзя поручить периферийному. В целом, и эта архитектура не способна решить все задачи связанные с производительностью.
Симметричная многопроцессорная архитектура лишена перечисленных недостатков, так как происходит прямое распределение нагрузки на все модули. Но теперь каждый модуль содержит свой процессор, который выполняет все задачи маршрутизации и имеет свою копию таблицы маршрутизации. Преимущества такой архитектуры признаны всеми производителями маршрутизаторов. Данная архитектура позволяет достичь теоретически неограниченной производительности маршрутизаторов.
В заключение нашего анализа маршрутизаторов можно сказать, что они обладают несомненными достоинствами. Маршрутизаторы не вносят никаких ограничений в топологию сети. Петли, возникающие в цепях с коммутаторами, не представляют проблемы для маршрутизаторов.
Тем не менее, маршрутизаторы по сравнению с коммутаторами и мостами требуют гораздо больше усилий по администрированию. Администраторам сетей необходимо знать целое множество конфигурационных параметров для маршрутизаторов. При этом параметры каждого маршрутизатора должны быть согласованы с параметрами других маршрутизаторов в сети.
Сегодня многие организации реализуют межсетевой обмен через маршрутизаторы. Большое число компаний модернизируют свои системы, устанавливая коммутаторы между маршрутизаторами и сетями, которые обслуживаются этими маршрутизаторами. При этом коммутаторы повышают производительность сети, а маршрутизаторы обеспечивают защиту информации и выполняют более сложные задачи, такие как трансляция протоколов.Сегодня четко обозначилась тенденция к вытеснению сложных высокопроизводительных маршрутизаторов и увеличению роли маршрутизаторов начального класса, а ведущие фирмы-производители пришли к выводу, что одним из основных требований покупателей к маршрутизатору является простота его использования.
2.Коммутатор
Когда появились первые устройства, позволяющие разъединять сеть на несколько доменов коллизий (по сути фрагменты ЛВС, построенные на hub-ах), они были двух портовыми и получили название мостов (bridge-ей). По мере развития данного типа оборудования, они стали многопортовыми и получили название коммутаторов (switch-ей). Некоторое время оба понятия существовали одновременно, а поздее вместо термина "мост" стали применять "коммутатор".