На рис. 11.2 изображена схема типичной реализации протокола RIP в операционной системе UNIX, например на рабочей станции, играющей роль маршрутизатора. Протокол RIP исполняет процесс, называемый routed; он обрабатывает информацию о маршрутах и обменивается сообщениями с такими же процессами, работающими на соседних маршрутизаторах. Поскольку протокол RIP реализован как процесс прикладного уровня (хотя и весьма специфический, например, он способен управлять таблицами продвижения данных, находящихся в ядре операционной системы UNIX), он может отправлять и получать сообщения через стандартный сокет и использовать стандартный транспортный протокол. Таким образом, протокол RIP представляет собой протокол прикладного уровня, работающий поверх протокола UDP.

Рис. 11.2 Реализация протокола RIPв виде демона «routed»

Наконец, рассмотрим реальную таблицу продвижения данных протокола RIP (табл. 11.4), взятую с маршрутизатора giroflee. eurecom. fr, работающего под управлением операционной системы UNIX. Если в операционной системе UNIX выполнить команду netstat - rn, вы можете увидеть таблицу продвижения данных (в действительности называемую в документации netstat «таблицей маршрутизации») для данного хоста или маршрутизатора.

Таблица 11.4Таблица маршрутизации протокола RIPс маршрутизатора giroflee. eurecom. fr

Маршрутизатор giroflee соединен с тремя сетями. Вторая, третья и четвертая строки таблицы сообщают нам, что эти три сети присоединены к маршрутизатору giroflee через сетевые интерфейсы faO, LeO и gaaO. Адреса этих интерфейсов равны 192.168.2.5, 193.55.114.6 и 192.168.3.5 соответственно. Для передачи пакета любому хосту, принадлежащему одной из этих трех сетей, маршрутизатор giroflee просто посылает IP-дейтаграмму соответствующему интерфейсу. Особый интерес для нас представляет маршрут по умолчанию. Любая IP-дейтаграмма, не предназначающаяся одной из сетей, явно перечисленных в таблице продвижения данных, будет переправляться маршрутизатору с IP-адресом 193.55.114.129. Дейтаграммы посылаются этому маршрутизатору через сетевой интерфейс по умолчанию. Первая запись в таблице продвижения данных представляет собой так называемый кольцевой интерфейс. Когда протокол IP посылает дейтаграмму по кольцевому интерфейсу, пакет просто возвращается протоколу IP. Это бывает полезно при отладке. Адрес 224.0.0.0 является специальным групповым (класса D) IP-адресом.

НЕ нашли? Не то? Что вы ищете?

Протокол OSPF

Как и RIP, протокол OSPF (Open Shortest Path First — открытый протокол выбора кратчайшего маршрута) используется для маршрутизации внутри автономной системы. Слово «Ореп» в названии протокола означает, что спецификация протокола маршрутизации свободно распространяется (в отличие от, к примеру, спецификации протокола EIGRP корпорации Cisco). Последняя (вторая) версия протокола OSPF определена в RFC 2328.

Протокол OSPF считается преемником протокола RIP и обладает рядом дополнительных функций. Однако по своей сути протокол OSPF представляет собой протокол, основанный на учете состоянии линий и использующий метод лавинной рассылки для распространения информации о состоянии линий, а также алгоритм определения пути наименьшей стоимости Дейкстры. Маршрутизатор, работающий по протоколу OSPF, формирует полную топологическую карту (направленный граф) всей автономной системы. Затем маршрутизатор локально запускает алгоритм определения кратчайшего пути Дейкстры, чтобы найти дерево кратчайших путей ко всем сетям автономной системы. Далее из этого дерева кратчайших путей формируется таблица продвижения данных маршрутизатора. Стоимости линий настраиваются сетевым администратором. Администратор может установить стоимости всех линий равными 1, в результате путь наименьшей стоимости совпадет с кратчайшим путем, или установить весовой коэффициент каждой линии обратно пропорциональным пропускной способности линии, чтобы маршрутизаторы старались избегать линий с низкой пропускной способностью. Протокол OSPF не занимается определением стоимости линий (это работа сетевого администратора), а лишь предоставляет механизмы (протокол) определения пути наименьшей стоимости для заданного набора стоимостей линий.

Маршрутизатор, работающий по протоколу OSPF, путем широковещательной рассылки переправляет информацию о маршрутах всем маршрутизаторам автономной системы, а не только соседним. Маршрутизатор рассылает всем информацию о состоянии линий при каждом изменении состояния какой-либо из линий (например, при изменении стоимости или включении/отключении). Он также рассылает информацию о состоянии линий периодически (по меньшей мере, раз в 30 мин), даже если состояние линии не изменилось. В RFC 2328 отмечается, что «эти периодические объявления о состояниях линий увеличивают устойчивость алгоритма, основанного на состоянии линий». Объявления протокола OSPF содержатся в OSPF-сообщениях, напрямую переносимых IP-дейтаграммами, в поле протокола верхнего уровня которых протокол OSPF обозначается кодом 89. Таким образом, протокол OSPF должен сам заниматься такими вопросами, как надежность передачи сообщений и широковещательная рассылка информации о состоянии линий. Протокол OSPF также проверяет работоспособность линий (при помощи сообщения HELLO, посылаемого соседу) и позволяет маршрутизатору OSPF получать информацию из базы данных соседнего маршрутизатора о состоянии линий всей сети.

Ниже перечислены достоинства протокола OSPF.

□ Безопасность. Весь обмен данными между OSPF-маршрутизаторами (например, новые сведения о состоянии линий) проходит процедуру аутентификации. Это означает, что только доверенные маршрутизаторы могут принимать участие в работе протокола OSPF в пределах домена, не позволяя, таким образом, злоумышленникам (или студентам, применяющим полученные знания для развлечений) вставлять в таблицы маршрутизации некорректную информацию.

□ Несколько путей с одинаковой стоимостью. Когда у нескольких маршрутов к одному адресату оказывается одинаковая стоимость, протокол OSPF позволяет использовать все (нет проблемы выбора одного из этих маршрутов).

□ Интегрированная поддержка многоадресной и одноадресной маршрутизации. Протокол MOSPF (Multicast OSPF — протокол OSPF для групповой рассылнапрямую присоединены.

2. Протоколы внешней маршрутизации

Один из протоколов внешнего шлюза Internet получил наиболее широкое распространение. Этот протокол известен под названием протокола граничного шлюза (Border Gateway Protocol — BGP).

Протокол BGP имеет следующие характеристики.

• Проведение маршрутов между автономными системами. Поскольку протокол BGP предназначен для использования в качестве протокола внешнего шлюза, он предоставляет маршрутную информацию на уровне автономной системы. Это значит, что все маршруты задаются как пути между автономными системами. Например, путь к указанному месту назначения может проходить через автономные системы! 7, 2, 56 и 12. В протоколе BGP метрики маршрутизации не используются, и в нем не предусмотрены способы предоставления сведений о маршрутизаторах каждой автономной системы, находящейся на пути к месту назначения.

• Формулирование правил. Протокол BGP позволяет отправителю и получателю определять правила задания маршрутов. В частности, администратор может настроить программное обеспечение BGP в целях ограничения перечня маршрутов, объявляемых программным обеспечением BGP для посторонних.

• Транзитная маршрутизация. В протоколе BGP каждая автономная система рассматривается как транзитная система, если она может обеспечить прохождение трафика, предназначенного для другой автономной системы, или как тупиковая система в противном случае. Трафик, проходящий через транзитную AS в другую AS, рассматривается как транзитный. Такая классификация позволяет провести в протоколе BGP различие между провайдерами Internet и другими автономными системами. BGP позволяет любой корпорации отнести свою автономную систему к категории тупиковой, даже если она имеет несколько выходов в Internet (например, корпорация с несколькими внешними соединениями может отказаться пропускать транзитный трафик).

• Надежный транспорт. В протоколе BGP для обмена данными используется протокол TCP. Это значит, что программа BGP в маршрутизаторе одной автономной системы формирует соединение TCP с программой BGP в маршрутизаторе другой автономной системы, а затем передает данные через это соединение. Протокол TCP гарантирует, что данные поступят в правильном порядке и не будут потеряны.

Протокол BGP особенно важен для глобальной сети Internet, поскольку все крупные провайдеры Internet используют BGP для обмена маршрутной информацией. Кроме того, в Internet ведется центральная база данных маршрутной информации для обеспечения единообразия маршрутизации. Эта схема, получившая название арбитражной системы маршрутизации, предусматривает ведение распределенной базы данйых обо всех возможных адресах назначений в Internet с информацией о каждом провайдере Internet, которому принадлежат адреса назначения. Копии этой базы данных работают на отдельных серверах маршрутов. В рамках самой Interne: крупные провайдеры используют протокол BGP для обмена данными с одним из серверов маршрутов для получения проверенной информации о маршрутах.

Глобальная информация о маршрутах к удаленным адресатам распространяется от одной автономной системы к другой путем обмена данными между напрямую соединенными друг с другом равноправными BGP-уз-лами. Следует также отметить, что протокол BGP направляет пакеты сетям-адресатам (имеются в виду IP-сети), а не конкретным маршрутизаторам или хостам. Как только дейтаграмма достигает сети-адресата, ее пересылкой к конечному получателю начинает заниматься протокол внутренней маршрутизации. Протокол BGP распознает автономные системы (RFC 1930) по глобально уникальным номерам автономных систем (Autonomous System Number, ASN). На практике не у каждой автономной системы есть номер. В частности, так называемая тупиковая автономная система (автономная система-заглушка), переносящая только трафик, для которого он является отправителем или получателем, как правило, не имеет номера. В нашем обсуждении мы опустим эти детали. Номера автономных систем, как и IP-адреса, назначаются региональными организациями ICANN.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76