Ун-т «Дубна». Курс «Компьютерные сети».
Лекция 6.
- Протоколы внутренней маршрутизации (RIP, OSPF)
- Протоколы внешней маршрутизации (EGP, BGP)
- Маршрутно-векторная маршрутизация
- Методы групповой рассылки
В IP-сетях в качестве внутренних шлюзовых протоколов, т. е. протоколов, применяемых внутри автономных систем, сегодня активно используются три протокола – RIP (Routing Information Protocol), OSPF (Open shortest path first), IS-IS. Внешним шлюзовым протоколом, т. е. протоколом выбора маршруты между автономными системами, является BGP (Border Gateway Protocol).
Протоколы внутренней маршрутизации
Протокол RIP
Протокол маршрутной информации (Routing Information Protocol, RIP) — внутренний протокол маршрутизации дистанционно-векторного типа. Будучи одним из наиболее ранних протоколов обмена маршрутной информацией, он до сих пор чрезвычайно распространен в вычислительных сетях ввиду простоты реализации. Версии RIP имеются как для сетей TCP/IP, так и для сетей IPX/SPX компании Novell.
В настоящее время протокол RIP для IP представлен двумя версиями.
RIP v.1 не поддерживает маски, т. е. распространяет между маршрутизаторами информацию только о номерах сетей и расстояниях до них, но не о масках этих сетей, считая, что все адреса принадлежат к стандартным классам A, B или С.
RIP v.2 передает данные о масках сетей, поэтому он в большей степени соответствует современным требованиям.
Построение таблиц маршрутизации в обеих версиях принципиально не отличается.
В качестве расстояния до сети стандарты протокола RIP разрешают использовать различные виды метрик: число транзитных узлов, пропускную способность, вносимые задержки и надежность, а также комбинации этих метрик.
Метрика должна обладать свойством аддитивности, т. е. метрика составного пути должна быть равна сумме метрик составляющих этого пути.
В большинстве реализаций используется простейшая метрика – число хопов, т. е. количество простейших маршрутизаторов, которые надо преодолеть пакету до сети назначения.
В исходном состоянии в каждом маршрутизаторе автоматически создается минимальная таблица маршрутизации, где представлены только непосредственно подсоединенные сети. Основными параметрами таблицы являются: адрес сети назначения (IP-адрес + порт), соответствующий адрес следующего маршрутизатора и число хопов (в начальный момент 1).
Destination | Next hop | Distance | Timers | Flags |
Network A | Router 1 | 3 | t1,t2,t3 | x, y |
Network B | Router 2 | 5 | t1, t2,t3 | x, y |
Network C | Router 1 | 2 | t1, t2, t3 | x, y |
… | … | … | … | … |
После инициализации каждого маршрутизатора он начинает посылать своим соседям сообщения протокола RIP, куда помещается его минимальная таблица. RIP-сообщения передаются в пакетах протокола UDP и содержат информацию о двух параметрах каждой сети: ее IP-адрес и расстояние до нее от передающего сообщение маршрутизатора.
Соседи — это те маршрутизаторы, которым данный маршрутизатор может передать пакет IP непосредственно по какой-либо сети, к которой он подключен напрямую.
Каждый маршрутизатор после получения вектора дистанций наращивает полученное поле метрики на 1 и запоминает, через какой порт и от какого маршрутизатора получена новая информация. Далее новая информация сравнивается с имеющейся в таблице. Маршруты к новым сетям заносятся в таблицу. Если новые маршруты к известным сетям имеют лучшую метрику – запись в таблице обновляется. Дублирующая информация уничтожается. Из нескольких равнозначных в смысле метрики записей остается первая по времени.
Исключение – если худшая информация о какой-либо сети пришла от того же маршрутизатора, на основании сообщения которого была создана запись – то худшая информация замещает лучшую.
В результате в таблице маршрутизации о каждой сети остается только одна запись.
Аналогичные операции с новой информацией выполняют остальные маршрутизаторы сети.
Далее каждый маршрутизатор отсылает новое RIP-сообщение всем остальным соседям. В сообщении он помещает данные обо всех известных ему сетях – как непосредственно подключенных, так и о удаленных, о которых он узнал из RIP-сообщений соседей.
Далее повторяется этап обработки каждым маршрутизатором полученных сообщений и обновления таблиц.
После конечного числа повторений этапов обработки и рассылки в сети устанавливается корректный режим маршрутизации – такое состояние таблиц маршрутизации, когда все сети достижимы из любой сети с помощью некоторого рационального маршрута.
Если бы все маршрутизаторы и интерфейсы работали стабильно – можно было бы рассылать RIP-объявления по сети достаточно редко, раз в сутки. Однако в сетях постоянно происходят изменения – линии выходят из строя, добавляются новые узлы и линии и т. д. Поэтому период рассылки в RIP равен 30с.
Недостатки протокола RIP:
- не учитывает загрузку линий и их надежность,
- не эффективен для больших и неоднородных сетей,
- ограничение на количество промежуточных узлов (15),
- отсутствие альтернативных маршрутов.
Адаптация к изменениям в сети и борьба с ложными маршрутами.
- Истечение времени жизни маршрута. В качестве тайм-аута принято шестикратное значение периода рассылки, т. е. 180 сек., поэтому сведения о недоступных путях и отказавших маршрутизаторах распространяются по сети не очень быстро. Если за это время запись не обновилась – маршрут считается недоступным.
- Указание бесконечного расстояния до сети, ставшей недоступной (16). Если информация с бесконечным маршрутом приходит от того же маршрутизатора, чье сообщение послужило ранее основанием для записи в таблице – информация считается достоверной, а маршрут помечается как недоступный.
- Расщепление горизонта. Информация о некоторой сети, хранящаяся в таблице маршрутизации, никогда не передается тому маршрутизатору, от которого она была получена. Эта техника позволяет избежать проблемы петель.
- Триггерные обновления. Маршрутизатор, получив сообщение об изменении метрики какой-либо сети, не ждет 30 секунд, а передает данные немедленно. Этот прием позволяет заблокировать передачу устаревших сведений о маршруте, но перегружает сеть, поэтому триггерные объявления делаются с некоторой задержкой.
- Замораживание изменений позволяет блокировать ситуацию, когда регулярная рассылка чуть опережает триггерную, так что маршрутиазатор успевает передать устаревшие сведения об уже несуществующем маршруте. Прием состоит во введении тайм-аута на принятие новых данных о сети, которая только что стала недоступной. Это предотвращает принятие новых сведений о некотором маршруте от отдаленных маршрутизаторов, которые еще «не знают» об отказавшей связи. Предполагается, что во время тайм-аута удаленные маршрутизаторы вычеркнут данный маршрут из своих таблиц и перестанут распространять сведения о нем.
Протокол OSPF (Открой кратчайший путь первым)
OSPF является относительно современной (принят в 1991) реализацией алгоритма состояния связей и обладает особенностями, ориентированными на реализацию в гетерогенных (смешанных) сетях.
По сравнению с RIP OSPF является "протоколом второго поколения" и имеет множество преимуществ:
- создает меньшую нагрузку на сеть,
- поддерживает сети значительно большего размера,
- существенно менее "болтлив",
- поддерживает множественные пути между узлом-отправителем и узлом-адресатом (load balancing),
- вычисляет оптимальные маршруты для различных типов сервиса,
- выполняет аутентификацию маршрутов.
Когда OSPF реализован в качестве единственного протокола маршрутизации в сети ("однородная маршрутизирующая система"), каждый маршрутизатор поддерживает свою собственную таблицу маршрутизации, но должен хранить информацию только о непосредственно подключенных к нему подсетях и лишь о тех маршрутизаторах, которые ему непосредственно доступны (так называемых смежных маршрутизаторах).
Процесс потроения таблиц маршрутизации разбит на два этапа.
1й этап. Каждый маршрутизатор строит граф связей сети. Для этого все маршрутизаторы обмениваются сообщениями со своими соседями – объявлениями о состоянии связей. При этом маршрутизаторы ее не модифицируют, а передают в неизменнолм виде. В результате все маршрутизаторы обладают идентичными сведениями о графе сети, которые хранятся в базе данных о топологии сети.
2й этап. Нахождение оптимальных маршрутов на основе итерационного алгоритма Дейкстры. В каждом найденном маршруте запоминается один шаг – до следующего маршрутизатора, эта информация попадает в таблицу маршрутизации. Если несколько маршрутов имеют одну и ту же метрику – запоминаются первые шаги для всех этих маршрутов.
Для контроля состояния связей маршрутизаторы передают друг другу каждые 10 секунд короткие сообщения HELLO. Таким образом тестируется состояние линий. Если в течение определенного периода сообщения от какого-то маршрутизатора-соседа перестают поступать – данный маршрутизатор делает вывод о неработоспособном состоянии связи, корректирует свои базы данных и шлет объявления об изменении состояния линий своим непосредственным соседям. Те тоже корректируют свои базы данных и пересылают информацию дальше.
Аналогичная процедура происходит, если появляется новый сосед и заявляет о себе сообщением HELLO.
Если состояние сети не меняется – объявления о связях не генерируются, что экономит пропускную способность сети и вычислительные ресурсы маршрутизаторов.
Каждые 30 минут все маршрутизаторы обмениваются всеми записями базы данных о топологии сети с целью синхронизации для более надежной работы.
Итак – основные особенности протокола
· Каждому каналу может быть присвоен свой вес (количество ретрансляций). Ограничение на количество ретрансляций ("хопов") -65535.
· Каждый узел содержит базу сетевых путей в виде дерева, в вершине которого находится данный узел.
· Если существуют пути с одинаковым весом, нагрузка распределяется между ними (режим баланса нагрузки).
· Широковещательная рассылка таблиц маршрутизации производится только при появлении изменений.
· Сообщения об изменениях в таблице маршрутизации отправляются только маршрутизаторам, непосредственно связанным с данным; метод "прочти сам и передай дальше" уменьшает нагрузку на сеть.
Маршрутизаторы соединены как с локальными сетями, так и непосредственно между собой. Протокол распространяет информацию о связях двух типов – маршрутизатор-маршрутизатор и маршрутизатор-сеть. Каждая связь характеризуется метрикой. По умолчанию используется пропускная способность каналов связи. Допускается использование других метрик (надежность и задержки). Для каждой метрики протокол строит свою отдельную таблицу маршрутизации. Выбор таблицы определяется соответствующими параметрами в заголовке IP-пакета.
Вычислительная сложность протокола быстро растет с ростом размерности сети. Поэтому сеть делится на области меньшей размерности. Маршрутизаторы, принадлежащие некоторой области, строят граф связей только для этой области. Между областями информация не передается. Пограничные маршрутизаторы обмениваются только информацией об адресах сетей, имеющихся в каждой области и о расстоянии от пограничного маршрутизатора до каждой сети. При передаче пакетов между областями среди пограничных маршрутизаторов выбирается тот, у которого расстояние до нужной сети меньше.
Формат пакета OSPF
Первое поле - это номер версии OSPF (version number).
Type: Существует 5 типов пакета OSPF:
- Hello. Отправляется через регулярные интервалы времени для установления и поддержания соседских взаимоотношений.
- Database Description. Описание базы данных. Описывает содержимое базы данных; обмен этими пакетами производится при инициализации.
- Link-State Request Запрос о состоянии канала. Запрашивает части топологической базы данных соседа, когда БД маршрутизатора устарела.
- Link-State Update Корректировка состояния канала
- Link-State Acknowledgement Подтверждение состояния канала.
Packet length - длина пакета вместе с заголовком OSPF в байтах.
Router ID - идентифицирует маршрутизатор - источник пакета.
Аrea ID - идентифицирует область данного пакета.
Сhecksum проверяет содержимое всего пакета для выявления потенциальных повреждений, имевших место при транзите.
Аuthentication type - тип аутентификации, все обмены протокола OSPF проводятся с установлением достоверности.
Аuthentication. - содержит информацию удостоверения (до 64 бит)
Протоколы внешней маршрутизации
Ни дистанционно-векторная маршрутизация, ни маршрутизация на основе состояния линий не годятся для внешней маршрутизации. Причины:
– в разных автономных системах могут быть разные метрики расстояний,
– в разных автономных системах могут быть разные приоритеты по отношению к другим автономным системам.
– лавинная рассылка информации о состоянии линий может оказаться невыполнимой.
Маршрутно-векторная маршрутизация – отказ от метрики маршрутизации. Внешние маршрутизаторы просто обмениваются информацией о том, какие сети им доступны и какие автономные системы им надо пересечь, чтобы попасть туда. Отличие от вектоно-дистанционного подхода
(1) не делается оценка расстояний или стоимости маршрута
(2) В каждом блоке информации о маршрутах перечисляются все АС, которые нужно пройти, чтобы достичь сети назначения.
(3) Обладая полной информацией о последовательности пересекаемых АС, маршрутизатор может выбирать маршруты по какому-либо критерию (показателю)
- избегать пересечения определенных АС.
- учитывать пропускную способность, скорость, надежность, склонность к перегрузкам, общее качество работы
- минимизация числа транзитных узлов.
- если внешнему маршрутизатору доступны два и более пограничных маршрутизаторов АС, где находится сеть назначения, то при выборе маршрута он может руководствоваться внутренними оценками расстояний от каждого из пограничных маршрутизаторов до сети назначения.
Машрутно-векторная маршрутизация реализована в протоколе BGP.
EGP – Exterior Gateway Protocol
Протокол внешних шлюзов (Exterior Gateway Protocol-EGP) является протоколом междоменной досягаемости (1984). Являясь первым протоколом внешних шлюзов, который получил широкое признание в Internet, EGP сыграл важную роль. К сожалению, недостатки EGP стали более очевидными после того, как Internet стала более крупной и совершенной сетью. Из-за этих недостатков EGP в настоящее время не отвечает всем требованиям Internet и заменяется другими протоколами.
Несмотря на то, что EGP является динамическим протоколом маршрутизации, он использует очень простую схему. Он не использует показатели, и следовательно, не может принимать по настоящему интеллектуальных решений о маршрутизации. Корректировки маршрутизации EGP содержат информацию о досягаемости сетей. Другими словами, они указывают, что в определенные сети попадают через определенные шлюзы.
Протокол EGP выполняет следующие функции:
- организует для себя определенный набор соседей (маршрутизаторы, с которыми он коллективно пользуется информацией о досягаемости сетей),
- опрашивает соседей, чтобы убедиться в их работоспособности,
- отправляет сообщения о корректировках, содержащих информацию о досягаемости сетей в пределах своих AS
EGP – протокол досягаемости, а не маршрутизации.
Формат пакета EGP
Протокол BGP ( Border Gateway Protocol)
Пограничный шлюзовый протокол BGP является основным протоколом обмена маршрутной информацией между автономными системами Интернета. Он пришел на смену EGP, который использовался в период становления Интернета, когда Интернет имел единственную магистраль, так что не было необходимости предпринимать меры для исключения зацикливания маршрутов.
BGPv4 устойчиво работает при любой топологии связей между автономными системами, что соответствует современной структуре Интернета.
Сообщения о корректировках состоят из пар “сетевой номер - тракт AS”. Тракт AS содержит последовательность из AS, через которые достигается указанная сеть. Эти сообщения отправляются с помощью транспортного протокола TCP для обеспечения надежной доставки. BGP не требует обновления всей маршрутной таблицы, а только передает корректировки.
Показатель BGP представляет собой произвольное число единиц, характеризующее степень предпочтения какого-нибудь конкретного маршрута. Эти показатели обычно устанавливаются администратором сети с помощью конфигурационных файлов. Степень предпочтения может базироваться на любом числе критериев, включая число AS (тракты с меньшим числом AS как правило лучше), тип канала (стабильность, быстродействие и надежность канала) и другие факторы.
Маршрутизатор взаимодействует по протоколу BGP с другими маршрутизаторами только в том случае, если администратор явно указывает при конфигурировании, что они являются его соседями. Это важно, например, в ситуации, когда маршрутизаторы принадлежат разным ISP-провайдерам, которые могут накладывать ограничения на обмен трафиком с разными автономными системами.
Для установления сеанса с соседями BGP-маршрутизаторы используют протокол TCP. При установлении сеанса могут использоваться разные способы аутентификации для повышения безопасности.
Основное сообщение – UPDATE (обновление, корректировка). Сообщение о достижимости сетей, относящихся к его автономной системе. Это триггерное сообщение, посылается только тогда, когда в сети что-то резко меняется – появляются\исчезают новые сети\пути.
В одном таком сообщении можно объявить об одном новом маршруте или об исчезновении нескольких. Под маршрутом понимается последовательность автономных систем, которую нужно пройти на пути к указанной сети.
Маршрутизатор, получив сообщение о новой сети, запоминает информацию в своей таблице маршрутизации вместе с адресом следующего маршрутизатора. При обмене с внутренними маршрутизаторами по какому-либо внутреннему протоколу эта информация передается внутри автономной системы.
Формат пакета BGP
Пакеты BGP имеют заголовок, состоящий их трех полей.
Поле маркера (marker) имеет длину 16 байтов и содержит величину, которую получатель сообщения может предсказывать. Это поле используется для установки подлинности.
Поле длины (length) содержит полную длину сообщения в байтах.
Поле типа (type) определяет тип сообщения:
Открывающие сообщения
Сообщения о корректировке
Уведомления
Сообщения keepalive (продолжай действовать)
После того, как соединение протокола транспортного уровня организовано, посылается открывающее сообщение. Если оно приемлемо для получателя, то отправителю отсылается сообщение keepalive. После этого можно выполнять обмен корректировками, сообщениями keepalive и уведомлениями.
Открывающее сообщение
Поле версии (version) обеспечивает номер версии BGP и дает возможность получателю проверять, совпадает ли его версия с версией отправителя.
Поле автономной системы (autonomous system) обеспечивает номер AS отправителя.
Поле времени удерживания (hold time) указывает максимальное число секунд, которые могут пройти без получения какого-либо сообщения от передающего устройства, прежде чем считать его отказавшим.
Поле (authentication code) указывает на используемый код удостоверения.
Поле (autentication data) содержит фактические данные удостоверения
Сообщения о корректировке (update)
Сообщения о корректировках BGP обеспечивают корректировки маршрутизации для других систем, определено 5 атрибутов:
Origin Источник корректировки: IGP, EGP и incomplete.
AS path Обеспечивает перечень AS на пути к пункту назначения.
Next hop Обеспечивает адрес следующего IP маршрутизатора.
Unreachable Указывает, что маршрут недосягаем.
Inter-AS metric Показатель метрики между AS.
Сообщения keepalive (продолжай действовать)
Сообщения keepalive не содержат дополнительных полей и отправляются для подтверждения и для предотвращения Time-aut.
Уведомления
Уведомления отправляются в случае сбойной ситуации, когда один маршрутизатор сообщает другому, почему он закрывает соединение между ними. Помимо обычного заголовка BGP уведомления содержат
- поле кода ошибки (error code),
- поле подкода ошибки (error subcode)
- данные ошибки (error data).
Поле кода ошибки указывает тип ошибки, который может быть одним из перечисленных ниже:
Message header error
Open message error
Update message error
Hold time expired
Методы групповой маршрутизации.
Цель групповой маршрутизации заключается в том, чтобы построить дерево, связующее все маршрутизаторы, присоединенные хосты которых относятся к данной группе рассылки.
Построение дерева наименьшей стоимости называется задачей Штайнера.
Существуют алгоритмы ее решения. Однако ни один из реализованных на практике алгоритмов маршрутизации не использует этот подход. Одна из причин – при малейшем изменении сети надо заново запускать алгоритм, требующий достаточно сложных вычислений. Кроме того, нет возможности использовать уже накопленные в рамках имеющихся протоколов данные и таблицы о маршрутах для одноадресной маршрутизации.
Где используется групповая рассылка.
Мультимедиа. Несколько пользователей настраиваются на радио - или телепередачу мультимедийной станции
Телеконференции. Группа рабочих станций образует группу рассылки, в которой передаваемый каждому члену группы пакет получает все члены группы.
Базы данных. Одновременное обновление всех копий.
Распределенные вычисления. Промежуточные результаты рассылаются всем процессам-участникам.
Рабочие группы, работающие в режиме реального времени. Обмен файлами, графикой, сообщениями в режиме реального времени.
Способы организации групповой рассылки.
Выборочная (целевая) рассылка. Источник явным образов посылает кратчайшим путем пакет каждому адресату из группы. Здесь можно действовать в рамках протоколов для одноадресной рассылки, но это неэкономично.
Групповая рассылка на прикладном уровне. Хост посылает сообщение только некоторым получателям, а они его дублируют и посылают другим членам группы. Необходимо поддерживать распределение групповой рассылки на прикладном уровне.
Явная групповая рассылка – хост направляет только одну дейтаграмму, она дублируется сетевым маршрутизатором, копии посылаются по адресам группы. Здесь задействован сетевой уровень. Нужны специальные сетевые протоколы для преобразования групповых адресов в список сетей, содержащих членов группы (например, IGMP – Internet Group Management Protocol), и алгоритмы выбора маршрута.
Стратегии групповой рассылки.
Широковещательная рассылка (broadcasting) – копия пакета передается в каждую сеть данной конфигурации по пути с минимальной стоимостью к каждой сети. Может применяться, если сервер не знает расположения членов группы.
Множественная целевая рассылка – (multiple unicasting) источник посылает пакет только тем сетям, в которых находятся члены группы.
Алгоритм с выбором центрального узла. Один из узлов выбран как центральный, создается дерево групповой маршрутизации. Для этого маршрутизаторы, которым принадлежат хосты, входящие в группу, присоединяются к центральному узлу либо к маршрутизатору, уже принадлежащему дереву, путем запросов, которые они посылают методом одноадресной рассылки. Путь, по которому проходит такой запрос – составляет ветвь дерева. Ключевой вопрос – оптимальный выбор центрального узла. Когда дерево готово – сообщение для группы посылается центральному узлу, а оттуда – по всему дереву. Для тестирования периодически посылаются специальные сообщения, подтверждающие структуру дерева.
Групповая маршрутизация с деревом у каждого отправителя. Строится объединение всех одноадресных маршрутов наименьшей стоимости, полученных на основе алгоритма Дейкстры. MOFSP, Multicast OFSP. Включена специальная схема разрешения конфликтов для случаев нескольких путей с одинаковой стоимостью. Внутри автономных систем.
Алгоритм продвижения данных по обратным маршрутам (RPF, Reverse Path Forwarding). Когда маршрутизатор получает групповой пакет, он передает его по всем исходящим из него линиям только в том случае, если пакет прибыл по линии, входящей в кратчайший путь к отправителю. Иначе маршрутизатор просто отбрасывает пакет, т. к. скоро получит (либо уже получил) пакет-копию по линии, входящей в кратчайший путь к отправителю.
При этом маршрутизатор, получающий групповые пакеты, у которых нет соединенных с ним напрямую хостов из группы, посылает отсекающее сообщение маршрутизатору «выше по течению». Если маршрутизатор получил отсекающее сообщение от всех своих соседей «ниже по течению», он может послать собственное отсекающее сообщение выше по течению.
Этот подход был реализован в протоколе DVMRP (Distance Vector Multicast Routing Protocol).
Протокол PIM (Protocol Independent Multicast) реализует два режима групповой рассылки.
Плотный режим рассчитан на ситуацию. Когда члены группы располагаются плотно, т. е. большая часть маршрутизаторов некоторой области задействована в групповой рассылке. Применяется метод лавинной маршрутизации c отсечениями.
Разреженный режим предназначен для случаев, когда маршрутизаторов, участвующих в рассылке, относительно немного, и они удалены друг от друга. Реализуется метод центрального узла (точка встречи, Rendezvous Point).
Вопрос внешней групповой маршрутизации остается открытым.
Неявно – протокол DVMRP.
Протокол IDMR – (междоменная групповая маршрутизация) основан на маршрутно-векторной маршрутизации и предоставляет расширенный набор функций по сравнению в BGP
- собственная процедура логического соединения
- идентификаторы переменной длины для автономных систем
- может работать в несколькими схемами межсетевых адресов и несколькими межсетевыми протоколами
Маршрутизаторы нового поколения
Маршрутизаторы становятся узким местом современных компьютерных сетей, как корпоративных, так и глобальных. Причины:
· Увеличение числа пользователей.
· Увеличение скорости передачи до десятков гигабит в секунду.
· Появление приложений с интенсивными потоками данных.
· Повышение требований к качеству сетевого сервиса
· Непредсказуемость распределения потоков данных.
· Увеличение числа функций, выполняемых маршрутизаторами (фильтрация, шифрование, протоколирование и т. п.).
Значение маршрутизаторов постоянно растет, так как они обеспечивают масштабируемость сетевой архитектуры, поддержку виртуальных локальных сетей, разграничение межсетевого доступа.
Статистика работы сети крупной американской компании.
Число сетевых пакетов в день 10 млрд. в день
Число электронных писем в день 1 млн.
Число внутренних Web серверов 1200
Число Web – страниц 1.5 млн.
Маршрутизация решает следующие подзадачи:
· управление таблицами маршрутизации (создание и их поддержание);
· определение маршрута для каждого сетевого пакета - выяснение номера выходного порта и MAC-адреса следующего элемента маршрута;
· перенаправление каждого пакета, уменьшение поля TTL, пересчет контрольной суммы заголовка и передача пакета в выходной порт;
· применение к каждому пакету дополнительных сервисов (поддержка классов обслуживания, разграничение межсетевого доступа, учет и т. д.).
Управление таблицами маршрутизации выполняется протоколами (RIP, OSPF, BGP).
Определение маршрута сетевых пакетов - самая сложная функция маршрутизаторов, так как в таблице хранятся маршруты, представляющие собой совокупности адресов с общим началом. Соответственно, в таблице ищется самый длинный подходящий префикс. Методы поиска основаны на использовании бинарных деревьев.
Задача определения маршрута усложняется из-за увеличения длины сетевого адреса (в IPv6 номер сети - 64 бита), информации транспортного и более высоких уровней (поддержка классов обслуживания).
Пропускная способность маршрутизаторов измеряется в переданных битах в секунду и в маршрутизированных пакетах в секунду. Средняя длина пакетов составляет 2000 бит, поэтому для обеспечения суммарной пропускной способности 10 Гбит/с необходимо маршрутизировать 5 миллионов пакетов в секунду при величине задержки пакета 10-100 мкс.
Методы повышения эффективности маршрутизации
· Повышение производительности микросхем
· Распараллеливание обработки потоков данных
· Оптимизация программных компонентов маршрутизаторов.
· Применение протоколов, упрощающих маршрутизацию.
· Применение протоколов, позволяющих избежать маршрутизации.
Критерии оценки новых маршрутизаторов
· Эффективность. Маршрутизация пакетов с небольшой задержкой (10-100 микросекунд). Дополнительные функции (фильтрация, протоколирование и т. п.), не должны заметно снижать эффективность, а разброс в задержках пакетов должен быть минимальным.
· Поддержка классов обслуживания. Взрывной трафик не должен нарушать передачу в реальном времени потоковых данных (аудио, видео). Маршрутизаторы должны обеспечивать требуемое качество обслуживания
· Масштабируемость сети. Сетевая конфигурация, складывающаяся в результате использования маршрутизаторов, должна быть управляемой и масштабируемой по числу узлов и по трафику.
· Область применения. Требования к маршрутизаторам, используемым в корпоративных и магистральных сетях различны. Различаются протоколы канального уровня, объем и характер трафика, функции протоколирования, меры безопасности и т. п.
· Совместимость с существующей сетевой инфраструктурой. Маршрутизатор должен поддерживать употребительные протоколы, среду передачи, быть совместимым с существующими системами сетевого управления и диагностическими средствами.
· Совместимость с продуктами других производителей. Ограничение на использование собственных сетевых протоколов.
· Минимизация масштаба изменений, необходимых для эффективной работы нового оборудования. установка нового маршрутизатора не должна вести перестройку значительной части сети.


