Лекция 2 Маршрутизация.ppt
- Количество слайдов: 100
Протоколы маршрутизации n. Внутренние и внешние протоколы маршрутизации n. Протоколы RIP, OSPF, EGP, BGP n. Фильтрация трафика и объявлений маршрутов
Различают следующие классы протоколов динамической маршрутизации: Протоколы вектора расстояния (Distance vector) — используют для поиска наилучшего пути расстояние до удаленной сети. Каждое перенаправление пакета маршрутизатором называется участком (hop). Наилучшим считается путь к удаленной сети с наименьшим количеством участков. Вектор определяет направление к удаленной сети. Преимущества: требуют меньше вычислительных ресурсов. Примеры: RIP, IGRP. Протоколы состояния связи (Link state) — обычно называется "первый кратчайший путь" (SPF). Каждый маршрутизатор создает три отдельные таблицы. Одна из них отслеживает непосредственно подключенных соседей, вторая — определяет топологию всей объединенной сети, а третья является таблицей маршрутизации. Устройство, действующее по протоколу типа состояния связи, имеет больше сведений об объединенной сети, чем любой протокол вектора расстояния. Особенности: требуют больше вычислительных ресурсов, больше время конвергенции и восстановления при сбое. Примеры: OSPF, IS-IS.
Преимущество Link-State методов 128 kb ISDN A 100 Mb Eth 128 kb ISDN D A 100 Mb Eth B C 10 Mb Eth DISTANCE VECTOR A ==> D D 100 Mb Eth B C 10 Mb Eth LINK STATE A==>B==>C==>D A, B, C, D – маршрутизаторы
Постановка задачи C Распределенный подход – нет центрального элемента, собирающего топологические данные и вырабатывающего таблицы для всех B F G D K A H E С помощью служебного протокола маршрутизаторы должны автоматически: • построить свои таблицы маршрутизации (Net - Next Hop) • постоянно поддерживать соответствие таблицы текущей топологии сети – добавление и удаление связей и маршрутизатров
Дистанционно-векторные алгоритмы Distance-Vector Algorithms, DVA C B F D G D, 1 K H, 1 A, 1 E, 1 A 2. 2. G, 1 H E H, 1 2. Получив векторы от соседей, маршрутизатор добавляет новую 3. Процесс обмена векторами расстояний сетях – расстояние 1. Каждый маршрутизатор данных о известныхпериодически соседям информацию к своей базе рассылает всем непосредственным повторяется – на 1 (или метрику канала изменения топологии сети вектор расстояний до известных ему сетей наращивается отслеживается динамика связи) Расстояние (метрика) – в хопах (промежуточных мршрутизаторах); или в к одной и той же сети можно попасть разными маршрутами, то Если условных единицах, учитывающих пропускную способность каналов связи выбирается один – с минимальным расстоянием База данных о известных сетях –> таблица маршрутизации
Алгоритмы состояния связей Link – State Algorithms, LSA C M B N L G F D P S, U, up S, A, up S, E, up S, T, up S, L, up 2. T R K S U A H E 1. Маршрутизаторы обмениваются информацией о топологии сети для построения точного графа. Вершины – маршрутизаторы и сети (A, B, C, …, S, T, U). Передается информация о связях между вершинами графа.
Алгоритмы состояния связей Link – State Algorithms, LSA C M B N L G F D P S, U, up S, A, up S, E, up S, T, up S, L, up T R K S U A H E 2. Каждый маршрутизатор через несколько итераций обмена располагает базой топологической информации – графом сети. Графы всех маршрутизаторов идентичны. 3. Новые топологичские объявления – только при изменении состоянии связи (up -> down) 4. Периодическое тестирование связи - hello
Алгоритмы состояния связей Link – State Algorithms, LSA C M B N L G F D P S, U, up S, A, up S, E, up S, T, up S, L, up 2. T R K S U A E 3. Каждый маршрутизатор на основе графа строит свою таблицу маршрутизации: - находит от себя кратчайший маршрут до каждой сети - запоминает из этого маршрута только следующий хоп H
Типы AS Транзитная (transit AS) – пропускает через себя транзитный трафик сетей, подключенных к ней (на рис. : A, B). Многоинтерфейсная (multihomed AS) – имеет соединения с более чем одним Интернет-провайдером, не разрешает транзитный трафик (на рис. : C). Ограниченная (stub AS) – имеет единственное подключение к одной внешней автономной системе (на рис. : D). Stub AS расценивается как бесполезное использование номера AS, так как сеть размещается полностью под одним Интернетпровайдером и, следовательно, не нуждается в уникальной идентификации. C D A B
• Interior Routing Protocols (внутри AS) v RIP, RIP 2 (Routing Information Protocol) v IS-IS (Intermediate System to Intermediate System) v IGRP (Interior Gateway Routing Protocol) v OSPF (Open Shortest Path First) • Exterior Routing Protocols (между AS) v EGP (Exterior Gateway Protocol) v BGP (Border Gateway Protocol)
Различают следующие классы протоколов динамической маршрутизации: Протоколы вектора расстояния (Distance vector) — используют для поиска наилучшего пути расстояние до удаленной сети. Каждое перенаправление пакета маршрутизатором называется участком (hop). Наилучшим считается путь к удаленной сети с наименьшим количеством участков. Вектор определяет направление к удаленной сети. Преимущества: требуют меньше вычислительных ресурсов. Примеры: RIP, IGRP. Протоколы состояния связи (Link state) — обычно называется "первый кратчайший путь" (SPF). Каждый маршрутизатор создает три отдельные таблицы. Одна из них отслеживает непосредственно подключенных соседей, вторая — определяет топологию всей объединенной сети, а третья является таблицей маршрутизации. Устройство, действующее по протоколу типа состояния связи, имеет больше сведений об объединенной сети, чем любой протокол вектора расстояния. Особенности: требуют больше вычислительных ресурсов, больше время конвергенции и восстановления при сбое. Примеры: OSPF, IS-IS.
RFC 1058 ü Пакет RIP содержит: • команда: запрос или ответ, • Address Family Identifier (AFI): IP – код 2, • IP-адрес (маска сети не передаётся – классовый протокол), • метрика: количество участков (hops), max=16 (бесконечность). ü Рассылка маршрутной информации происходит через UDPпорт 520, поддержка p 2 p и broadcast-каналов (по умолчанию). ü RIP-пакеты содержат до 25 маршрутов, рассылаются через 30 с, если обновления не последовало за 180 с, то метрика увеличивается до 16, через 240 с маршрут удаляется. ü Балансировка трафика типа round-robin при наличии маршрутов (до 6) с одинаковой метрикой. ü Нет аутентификации.
Инкапсуляция RIP сообщения в UDP дейтограмму
Формат RIP V. 1 сообщения n n n Команда: 1 - запрос, 2 - ответ. Семейство адресов : для TCP/IP -2. Показатель – это метрика.
Формат RIP V. 2 сообщения n n Домен маршрутизации - это идентификатор маршрутизирующего демона, которому принадлежит этот пакет. Признак маршрута – маршрутная метка.
Алгоритм обновления RIP-таблицы Используется алгоритм Беллмана — Форда. n Получение RIP-сообщения n Увеличение метрики для каждой записи сообщения на 1 n Сравнение записей RIP-сообщения и существующей RIP-таблицы: – Если метрика в сообщении меньше метрики в RIPтаблице, то запись обновляется (записывается новая метрика и новый маршрутизатор); – Если записи с доступным маршрутом нет, то запись добавляется; – В любом другом случае – запись из RIP-сообщения игнорируется.
RIP в действии… Начальное состояние таблиц маршрутизации на RIP роутерах – есть записи только о присоединенных подсетях. Состояние после распространения маршрутной информации.
Проблемы RIP Медленная конвергенция → несогласованность таблиц маршрутизации → возникновение петель маршрутизации (routing loop). net 2 net 3 net 4 A B C D net 2 – AB – 0 net 2 – BA – 0 net 2 – CB – 1 net 2 – DC – 0 net 3 – AB – 1 net 3 – BC – 0 net 3 – CB – 0 net 3 – DC – 1 net 4 – AB – 2 net 4 – BC – 1 net 4 – CD – 0 net 4 – DC – 2 net 2 – AB – 0 net 2 – BA – 0 net 2 – CB – 1 net 3 – AB – 1 net 3 – BC – 0 net 3 – CB – 0 net 4 – AB – 2 net 4 – BC – 1 net 4 FAILED net 2 – AB – 0 net 2 – BA – 0 net 2 – CB – 1 net 3 – AB – 1 net 3 – BC – 0 net 3 – CB – 0 net 4 – AB – 2 net 4 – BA – 3 net 4 FAILED
Проблемы RIP и их решение Рассмотренная выше проблема с петлей маршрутизации часто называется счетом до бесконечности (counting to infinity) и связана с распространением в сети "слухов" о некорректных путях. Без внешнего воздействия на этот процесс счетчик хопов в пакете будет увеличиваться до бесконечности за счет добавления единицы при проходе пакета через любой маршрутизатор. Решить проблему позволит ограничение максимального значения в счетчике участков. Протокол вектора расстояния (RIP) предполагает счет участков до 15, поэтому любой путь с количеством участков 16 считается ошибочным (недостижимым). Другим решением проблемы петель маршрутизации является деление горизонта (split horizon). Этот процесс устраняет некорректную информацию о маршрутизации за счет установки правила, согласно которому информация о маршрутизации не может передаваться в обратном направлении относительно направления, по которому она была получена. Деление горизонта не позволит маршрутизатору А послать обновление сведений обратно в маршрутизатор В, если они были получены от маршрутизатора В.
Проблемы RIP и их решение Еще одним вариантом избежать несогласованности обновлений является порча путей (route poisoning). Например, когда отказывает сеть 4, роутер С сознательно инициирует порчу путей за счет вноса в таблицу записей для сети 4 со значением 16, т. е. устанавливает для этой сети состояние недостижимости (infinite). За счет такого искажения пути к сети 4 роутер B перестает воспринимать некорректные обновления информации о путях в сеть 4. Когда роутер B получает сообщение о порче пути от C, то возвращает ему специальное обновление, называемое "отравленный реверс" (poison reverse). Это гарантирует, что все роутеры в его сегменте получили информацию о порче пути к удаленной сети. Порча путей совместно с удержанием (hold down) позволяет уменьшить время конвергенции. Удержание (hold down) предотвращает регулярные обновления о восстановлении пути, который был некоторое время недоступным, а также не допускает слишком быстрое изменение за счет установки определенного времени ожидания перед началом рассылки информации о восстановленном пути, либо стабилизации работы некоторой сети. Подобная задержка не позволяет слишком быстро начать изменение сведений о наилучших путях. Роутерам предписывается ограничить на определенный период времени рассылку любых изменений, которые могут воздействовать на переключение состояния недавно удаленных путей. Это предотвращает преждевременное изменение таблиц маршрутизации за счет сведений о временно неработоспособных маршрутизаторах. В процессе удержания используются триггерные обновления. Они сбрасывают счетчики удержания для уведомления соседнего роутера об изменениях в сети. В отличие от обновлений от соседнего роутера триггерные обновления инициируют создание новой таблицы маршрутизации, которая немедленно рассылается всем соседним устройствам.
RIP-объявления делаются каждым маршрутизатором каждые 30 секунд
Правила построения таблицы маршрутизации по RIP
RIPv 2 (RIP II) Особенности: v поддержка VLSM (маска передается в резервированном поле RIP-пакета) v возможна аутентификация MD 5 или clear-text v поддержка групповой рассылки (multicast 224. 0. 0. 9) v поддержка агрегации маршрутов Internet A B суммарный маршрут 10. 0. 1. 0/24 (10. 0. 1. 0– 10. 0. 1. 255) 10. 0. 1. 0/26 10. 0. 1. 64/26 (10. 0. 1. 0 - (10. 0. 1. 6410. 0. 1. 63) 10. 0. 1. 127) 10. 0. 1. 128/25 (10. 0. 1. 12810. 0. 1. 255) различные IP-сети
Пример сети с маршрутизаторами OSPF Cвязи типа "маршрутизатор": n Мило - Робин n Мило - Роб n Роб - Робин n Кэлли - Фред n Джеф -Джон Cвязи типа "маршрутизатор - сеть": n Мило - 201. 106. 14. 0 n Робин - 201. 106. 15. 0 n Фред - 195. 46. 17. 0 n Джон - 195. 46. 17. 0 n Роб - 195. 46. 17. 0 n Кэлли - 129. 35. 0. 0 n Джеф - 197. 13. 58. 0.
Метрика и оптимизация транзитных локальных сетей В OSPF три категории сетей : 1) "хост-сеть» - подсеть из одного адреса 2) "тупиковая сеть» - подсеть, подключенная только к одному маршрутизатору 3) "транзитная сеть» - подсеть, подключенная к более чем одному маршрутизатору. ¨ Синхронизация маршрутизаторов "каждый с каждым" на транзитной сети: передача базы N*(N-1) раз ¨ Синхронизация с "выделенным" маршрутизатором: передача базы 2*N раз
С) Связь с тупиковой сетью с множественным доступом RT 3 RT 4 N 2 RT 5 RT 6
С) Объявления о связях маршрутизатора D)Объявления о связях сети Метрика в направлении от сети до маршрутизатора всегда равна 0
G) Внешние маршруты в таблице RT 6
Объявления, передаваемые пограничными маршрутизаторами из области 1 в магистраль: Расстояния, вычисленные RT 3 и RT 4 до остальных пограничных маршрутизаторов
Объявления, передаваемые пограничными маршрутизаторами RT 3 и RT 4 внутренним маршрутизаторам области 1:
Фильтрация пакетов с помощью маршрутизаторов out in serial 0 serial 1 Задача – не принимать (in) или не отправлять (out) пакеты, удовлетворяюшие определенным признакам Язык фильтрации маршрутизаторов Cisco Systems: 1. Стандартный список доступа: access-list-number {deny | permit} {source-address [source-wildcard] | any} [log] interface serial 0 ip access-group 1 in – применение списка доступа Определение списка доступа access-list 1 deny 192. 78. 46. 0 0. 0. 255 access-list 1 deny host 193. 24. 15. 8 access-list 1 permit any [access-list 1 deny any] – неявный оператор в конце каждого списка
Фильтрация пакетов с помощью маршрутизаторов (продолжение) out in serial 0 serial 1 Задача – не принимать (in) или не отправлять (out) пакеты, удовлетворяюшие определенным признакам Язык фильтрации маршрутизаторов Cisco Systems: 1. Расширенный (extended) список доступа: access-list [list number] [permit|deny] [protocol|protocol key word] [source address source-wildcard mask] [source port] [destination address destination-wildcard mask] [destination port] [log options] Запрещает ли список 101 доступ к серверу 192. 78. 46. 8 по TCP, разрешая остальной доступ по IP? access-list 101 permit IP any host 192. 78. 46. 8 access-list 101 deny TCP any host 192. 78. 46. 8 Запрет ping хоста 192. 78. 46. 8: access-list 101 deny ICMP any host 192. 78. 46. 8 eq 8
Фильтрация объявлений протоколов маршрутизации in 1. serial 0 serial 1 Маршрутизаторы Cisco Systems: Подавление отправки объявлений на определенном интерфейсе: passive-interface serial 0 2. Управление объявлением определенных маршрутов distribute-list 2 out serial 1 access-list 2 deny 194. 12. 34. 0 0. 0. 0. 255 access-list 2 deny 132. 7. 0. 0. 255 access-list 2 permit any 3. Управление приемом определенных маршрутов distribute-list 2 in serial 1 В ОС Unix – gated поддерживает язык фильтрации объявлений
Связь между различными протоколами маршрутизации serial 0 ethernet 0 interface serial 0 ip address 130. 93. 1. 1 255. 0 ! interface ethernet 0 ip address 130. 94. 1. 1 255. 0 ! router ospf 9000 network 130. 93. 0. 0. 255 area 0 redistribute rip metric 1 ! router rip network 130. 94. 0. 0. 255 area 0 redistribute ospf 9000 metric 1
Исключение петель в BGP 150. 10. 30. 1 150. 10. 30. 2 1. Объявление RTA->RTB: AS 100; NH=150. 10. 30. 1; Net=150. 10. 0. 0 255. 0. 0 2. Объявление RTB->RTC: AS 200, AS 100; NH = 160. 10. 20. 1; Net=150. 10. 0. 0 255. 0. 0 3. Объявление RTC>RTA: AS 300, AS 200, AS 100; NH = 150. 10. 2; Net=150. 10. 0. 0 255. 0. 0 – отбраковывается, так как в пути встретился номер своей AS
Внешнее и внутреннее использование BGP Exterior BGP – между AS Interior BGP – между маршрутизаторами одной AS RTA# router bgp 100 ( – номер AS) RTC# neighbor 129. 213. 1. 1 remote-as 200 router bgp 200 RTB# neighbor 175. 220. 212. 1 remote-as 200 router bgp 200 neighbor 129. 213. 1. 2 remote-as 100 neighbor 175. 220. 1. 2 remote-as 200
Фильтрация объявлений в BGP RTC# router bgp 300 neighbor 2. 2 remote-as 100 neighbor 2. 2 route-map STOPUPDATES out match as-path match community match clns match interface match ip address route-map STOPUPDATES permit 10 match ip next-hop match ip address 1 match ip route-source access-list 1 deny 170. 10. 0. 0. 255 match metric access-list 1 permit 0. 0 255 match route-type match tag
Вопрос 1 A Имеется сеть: B 1 1 C 1 10 D Сеть назначения Записи о пути к сети назначения D: direct, metric 1 B: route via D, metric 2 C: route via B, metric 3 A: route via B, metric 3
1 A B Связь B-D отказывает 1 1 C 1 10 D Сеть назначения Записи о пути к сети назначения D: dir, 1 B: 16 C: B, 3 A: B, 3 Маршрутизаторы не поддерживают Split Horizon Что происходит в сети при наихудшей синхронизации объявлений?
Исключение петель в BGP 150. 10. 30. 1 150. 10. 30. 2 1. Объявление RTA->RTB: AS 100; NH=150. 10. 30. 1; Net=150. 10. 0. 0 255. 0. 0 2. Объявление RTB->RTC: AS 200, AS 100; NH = 160. 10. 20. 1; Net=150. 10. 0. 0 255. 0. 0 3. Объявление RTC>RTA: AS 300, AS 200, AS 100; NH = 150. 10. 2; Net=150. 10. 0. 0 255. 0. 0 – отбраковывается, так как в пути встретился номер своей AS
Внешнее и внутреннее использование BGP Exterior BGP – между AS Interior BGP – между маршрутизаторами одной AS RTA# router bgp 100 ( – номер AS) RTC# neighbor 129. 213. 1. 1 remote-as 200 router bgp 200 RTB# neighbor 175. 220. 212. 1 remote-as 200 router bgp 200 neighbor 129. 213. 1. 2 remote-as 100 neighbor 175. 220. 1. 2 remote-as 200
Фильтрация объявлений в BGP RTC# router bgp 300 neighbor 2. 2 remote-as 100 neighbor 2. 2 route-map STOPUPDATES out match as-path match community match clns match interface match ip address route-map STOPUPDATES permit 10 match ip next-hop match ip address 1 match ip route-source access-list 1 deny 170. 10. 0. 0. 255 match metric access-list 1 permit 0. 0 255 match route-type match tag


