Протоколы маршрутизации n Внутренние и внешние протоколы маршрутизации n Протоколы RIP, OSPF, EGP, BGP n Фильтрация трафика и объявлений маршрутов
Постановка задачи A E D C H K F G B С помощью служебного протокола маршрутизаторы должны автоматически: построить свои таблицы маршрутизации (Net - Next Hop) постоянно поддерживать соответствие таблицы текущей топологии сети – добавление и удаление связей и маршрутизатров Распределенный подход – нет центрального элемента, собирающего топологические данные и вырабатывающего таблицы для всех
Дистанционно-векторные алгоритмы Distance-Vector Algorithms, DVA A E D C H K F G B 1. Каждый маршрутизатор рассылает всем непосредственным соседям вектор расстояний до известных ему сетей Расстояние (метрика) – в хопах (промежуточных мршрутизаторах); или в условных единицах, учитывающих пропускную способность каналов связи H, 1 G, 1 A, 1 E, 1 D, 1 A, 1 E, Получив векторы от соседей, маршрутизатор добавляет новую информацию к своей базе данных о известных сетях – расстояние наращивается на 1 (или метрику канала связи) Если к одной и той же сети можно попасть разными маршрутами, то выбирается один – с минимальным расстоянием База данных о известных сетях –> таблица маршрутизации Процесс обмена векторами расстояний периодически повторяется – отслеживается динамика изменения топологии сети A, 1 E, 1 D, 2 C, 3 H, 2 …
Алгоритмы состояния связей Link – State Algorithms, LSA A E D C H K F G B L M N P R S T U Маршрутизаторы обмениваются информацией о топологии сети для построения точного графа. Вершины – маршрутизаторы и сети (A, B, C, …, S, T, U). Передается информация о связях между вершинами графа. S, U, up S, A, up S, E, up S, T, up S, L, up
Алгоритмы состояния связей Link – State Algorithms, LSA A E D C H K F G B L M N P R S T U Каждый маршрутизатор через несколько итераций обмена располагает базой топологической информации – графом сети. Графы всех маршрутизаторов идентичны. 3.Новые топологичские объявления – только при изменении состоянии связи (up -> down) 4.Периодическое тестирование связи - hello S, U, up S, A, up S, E, up S, T, up S, L, up
Алгоритмы состояния связей Link – State Algorithms, LSA A E D C H K F G B L M N P R S T U Каждый маршрутизатор на основе графа строит свою таблицу маршрутизации: - находит от себя кратчайший маршрут до каждой сети - запоминает из этого маршрута только следующий хоп S, U, up S, A, up S, E, up S, T, up S, L, up
RIP-объявления делаются каждым маршрутизатором каждые 30 секунд (Tобъявл.)
Правила построения таблицы маршрутизации по RIP
M1 M2 M сек t Связь разорвана! Время существования петли = (16/2-1) x 30 = 210 c = 3,5 мин
M1 M2 M Split horizon 1 3 ? 1 4 M4 узнал о 1 от M M Петля существовала 4 х 30 = 120 сек
Пример сети с маршрутизаторами OSPF Cвязи типа "маршрутизатор - маршрутизатор": n Мило - Робин n Мило - Роб n Роб - Робин n Кэлли - Фред n Джеф -Джон Cвязи типа "маршрутизатор - сеть": Мило n Робин n Фред n Джон n Роб Кэлли n Джеф
Метрика и оптимизация транзитных локальных сетей В OSPF три категории сетей : 1) "хост-сеть» - подсеть из одного адреса 2) "тупиковая сеть» - подсеть, подключенная только к одному маршрутизатору 3) "транзитная сеть» - подсеть, подключенная к более чем одному маршрутизатору. Синхронизация маршрутизаторов "каждый с каждым" на транзитной сети: передача базы N*(N-1) раз Синхронизация с "выделенным" маршрутизатором: передача базы 2*N раз
С) Связь с тупиковой сетью с множественным доступом N2 RT4RT3 RT5RT6
Метрика в направлении от сети до маршрутизатора всегда равна 0 С) Объявления о связях маршрутизатора D)Объявления о связях сети
G) Внешние маршруты в таблице RT6
Объявления, передаваемые пограничными маршрутизаторами из области 1 в магистраль: Расстояния, вычисленные RT3 и RT4 до остальных пограничных маршрутизаторов
Объявления, передаваемые пограничными маршрутизаторами RT3 и RT4 внутренним маршрутизаторам области 1:
Фильтрация пакетов с помощью маршрутизаторов Язык фильтрации маршрутизаторов Cisco Systems: 1. Стандартный список доступа: access-list access-list-number {deny | permit} {source-address [source-wildcard] | any} [log] interface serial 0 ip access-group 1 in – применение списка доступа Определение списка доступа access-list 1 deny access-list 1 deny host access-list 1 permit any [access-list 1 deny any] – неявный оператор в конце каждого списка in out 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 доступ к серверу по TCP, разрешая остальной доступ по IP? access-list 101 permit IP any host access-list 101 deny TCP any host Запрет ping хоста : access-list 101 deny ICMP any host eq 8 in out serial 0 serial 1 Задача – не принимать (in) или не отправлять (out) пакеты, удовлетворяюшие определенным признакам
Фильтрация объявлений протоколов маршрутизации in serial 0 serial 1 Маршрутизаторы Cisco Systems: 1.Подавление отправки объявлений на определенном интерфейсе: passive-interface serial 0 2.Управление объявлением определенных маршрутов distribute-list 2 out serial 1 access-list 2 deny access-list 2 deny access-list 2 permit any 3.Управление приемом определенных маршрутов distribute-list 2 in serial 1 В ОС Unix – gated поддерживает язык фильтрации объявлений
Связь между различными протоколами маршрутизации serial 0 ethernet 0 interface serial 0 ip address ! interface ethernet 0 ip address ! router ospf 9000 network area 0 redistribute rip metric 1 ! router rip network area 0 redistribute ospf 9000 metric 1
Исключение петель в BGP 1.Объявление RTA->RTB: AS100; NH= ; Net= Объявление RTB->RTC: AS200, AS100; NH = ; Net= Объявление RTC>RTA: AS300, AS200, AS100; NH = ; Net= – отбраковывается, так как в пути встретился номер своей AS
RTA# router bgp 100 ( – номер AS) neighbor remote-as 200 RTB# router bgp 200 neighbor remote-as 100 neighbor remote-as 200 RTC# router bgp 200 neighbor remote-as 200 Внешнее и внутреннее использование BGP Exterior BGP – между AS Interior BGP – между маршрутизаторами одной AS
RTC# router bgp 300 neighbor remote-as 100 neighbor route-map STOPUPDATES out route-map STOPUPDATES permit 10 match ip address 1 access-list 1 deny access-list 1 permit Фильтрация объявлений в BGP match as-path match community match clns match interface match ip address match ip next-hop match ip route-source match metric match route-type match tag
AB C D Сеть назначения Записи о пути к сети назначения D: direct, metric 1 B: route via D, metric 2 C: route via B, metric 3 A: route via B, metric 3 Вопрос Имеется сеть:
AB C D Сеть назначения Записи о пути к сети назначения D: dir, 1 dir, 1 B: 16 C: B, 3 A: B, 3 Связь B-D отказывает Маршрутизаторы не поддерживают Split Horizon Что происходит в сети при наихудшей синхронизации объявлений?
Исключение петель в BGP 1.Объявление RTA->RTB: AS100; NH= ; Net= Объявление RTB->RTC: AS200, AS100; NH = ; Net= Объявление RTC>RTA: AS300, AS200, AS100; NH = ; Net= – отбраковывается, так как в пути встретился номер своей AS
RTA# router bgp 100 ( – номер AS) neighbor remote-as 200 RTB# router bgp 200 neighbor remote-as 100 neighbor remote-as 200 RTC# router bgp 200 neighbor remote-as 200 Внешнее и внутреннее использование BGP Exterior BGP – между AS Interior BGP – между маршрутизаторами одной AS
RTC# router bgp 300 neighbor remote-as 100 neighbor route-map STOPUPDATES out route-map STOPUPDATES permit 10 match ip address 1 access-list 1 deny access-list 1 permit Фильтрация объявлений в BGP match as-path match community match clns match interface match ip address match ip next-hop match ip route-source match metric match route-type match tag