Особенности работы External Type 1 и External Type 2 маршрутов в OSPF. Часть 1

    У практически любого сетевого инженера, рано или поздно наступает момент в жизни когда в его сети появляются домены маршрутизации отличные от любимого OSPF, EIGRP или IS-IS. Чаще всего это связано со слиянием двух сетей, но иногда может быть связано с модернизацией или редизайном. Одним словом, необходимость делать редистрибуцию маршрутов из одного протокола маршрутизации в другой возникает не так уж и редко. В случае с OSPF, эти маршруты появляются в таблице маршрутизации под меткой E1 (External Type 1) и E2 (Externel Type 2) маршрутов. Обычно учебные материалы Cisco говорят о том, что основное отличие этих двух маршрутов заключается в том, что при расчете метрики для Е1 маршрута используется общая метрика для всего пути, а для Е2 маршрута только стоимость редистрибуции. Попытаемся разобраться, что это значит и как это работает.

    Для иллюстрации будем использовать следующую сетевую топологию:



    Для данной схемы настроим редистрибуцию между OSPF и EIGRP, и посмотрим как будет вести себя префикс Loopback0 маршрутизатора R6, на R1.
    Для начала настроим редистрибуцию на пограничных маршрутизаторах R4 и R5:

    R4:

    router eigrp 100
    redistribute ospf 1 metric 1 1 1 1 1
    network 192.168.0.0
    auto-summary
    eigrp router-id 4.4.4.4
    !
    router ospf 1
    router-id 4.4.4.4
    log-adjacency-changes
    redistribute eigrp 100 subnets


    R5:

    router eigrp 100
    redistribute ospf 1 metric 1 1 1 1 1
    network 192.168.0.0
    no auto-summary
    eigrp router-id 5.5.5.5
    !
    router ospf 1
    router-id 5.5.5.5
    log-adjacency-changes
    redistribute eigrp 100 subnets


    Теперь проверим маршрут к 6.6.6.6 на маршрутизаторе R1:

    R1#sh ip route

    Gateway of last resort is not set

    6.0.0.0/32 is subnetted, 1 subnets
    O E2 6.6.6.6 [110/20] via 10.0.2.2, 00:12:38, FastEthernet1/0
    [110/20] via 10.0.1.2, 00:12:38, FastEthernet0/0

    10.0.0.0/24 is subnetted, 4 subnets
    C 10.0.2.0 is directly connected, FastEthernet1/0
    O IA 10.0.3.0 [110/2] via 10.0.1.2, 01:06:39, FastEthernet0/0
    C 10.0.1.0 is directly connected, FastEthernet0/0
    O IA 10.0.4.0 [110/2] via 10.0.2.2, 01:06:39, FastEthernet1/0

    O E2 192.168.0.0/24 [110/20] via 10.0.2.2, 00:57:06, FastEthernet1/0
    [110/20] via 10.0.1.2, 00:57:06, FastEthernet0/0

    R1#sh ip route 6.6.6.6

    Routing entry for 6.6.6.6/32
    Known via "ospf 1", distance 110, metric 20, type extern 2, forward metric 2
    Last update from 10.0.2.2 on FastEthernet1/0, 00:12:53 ago
    Routing Descriptor Blocks:
    10.0.2.2, from 5.5.5.5, 00:12:53 ago, via FastEthernet1/0
    Route metric is 20, traffic share count is 1
    * 10.0.1.2, from 4.4.4.4, 00:12:53 ago, via FastEthernet0/0
    Route metric is 20, traffic share count is 1


    Таким образом маршрутизатор R1 знает, что у него есть 2 пути для того чтобы достичь адреса 6.6.6.6: сначала до ASBR (R4 и R5) и метрика для этого участка будет равна 2 (значение forward metric), а дальше через EIGRP домен, до R6, который имеет интерфейс 6.6.6.6 и метрика для этого участка будет равна 20 (значение metric, является метрикой по умолчанию). Поскольку этот маршрут является E2 маршрутом то эти значения не складываются, а используется только метрика объявляемая из внешней сети, она же метрика редистрибуции. Так как оба маршрута имеют одинаковую метрику, то они оба были установлены в таблицу маршрутизации.
    Настроим теперь редистрибуцию так, чтобы один из маршрутов приходил как Е1 маршрут, с метрикой 100.

    R4(config)#router ospf 1
    R4(config-router)#redistribute eigrp 100 subnets metric-type 1 metric 100


    И проверим таблицу маршрутизации на R1:

    R1#sh ip route

    Gateway of last resort is not set

    6.0.0.0/32 is subnetted, 1 subnets
    O E1 6.6.6.6 [110/102] via 10.0.1.2, 00:01:18, FastEthernet0/0

    10.0.0.0/24 is subnetted, 4 subnets
    C 10.0.2.0 is directly connected, FastEthernet1/0
    O IA 10.0.3.0 [110/2] via 10.0.1.2, 01:43:27, FastEthernet0/0
    C 10.0.1.0 is directly connected, FastEthernet0/0
    O IA 10.0.4.0 [110/2] via 10.0.2.2, 01:43:27, FastEthernet1/0
    O E1 192.168.0.0/24 [110/22] via 10.0.1.2, 00:01:18, FastEthernet0/0

    R1#sh ip route 6.6.6.6

    Routing entry for 6.6.6.6/32
    Known via "ospf 1", distance 110, metric 102, type extern 1
    Last update from 10.0.1.2 on FastEthernet0/0, 00:02:13 ago
    Routing Descriptor Blocks:
    * 10.0.1.2, from 4.4.4.4, 00:02:13 ago, via FastEthernet0/0
    Route metric is 22, traffic share count is 1


    Как видим, на маршрутизаторе в таблицу маршрутизации установлен только один маршрут. Обратим внимание на метрику равную 102 (установленная метрика 100 + стоимость линков до R4). При том, что второй маршрут приходит со значением metric равным 20, он, тем не менее, не попал в таблицу маршрутизации.
    Дело в том, что при выборе маршрута Е1 имеет приоритет перед Е2 маршрутами. Вообще таблица приоритетов имеет следующий вид:
    • Intra-Area (O)
    • Inter-Area (O IA)
    • External Type 1 (E1)
    • External Type 2 (E2)
    • NSSA Type 1 (N1)
    • NSSA Type 2 (N2)

    Не зависимо от административной дистанции и метрики, OSPF всегда будет выбирать более приоритетный маршрут из этого списка.

    В части 2 я попробую рассказать, что происходит, когда приходят Е2 маршруты с одинаковыми значениями метрики, но разной ценой линков до ASBR.
    • +19
    • 15,2k
    • 4
    Поделиться публикацией
    Похожие публикации
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 4
    • +4
      неделя CCNP на хабре :)
      2автор, допишите пожалуйста, какой из E2 маршрутов выберется, если E2 метрика одна, а метрика до ASBR разная
      • 0
        > неделя CCNP на хабре :)

        Даешь почаще такие недели :-)

        Спасибо автору за материал!
      • 0
        вы, конечно, меня извините, но больно уж статья напоминает вот эту: blog.ine.com/2011/04/04/understanding-ospf-external-route-path-selection/
        • 0
          Дело в том, что то письмо Брайану писал я :). Кстати не знал, что опубликовал его, там на самом деле большая переписка была. Спасибо!

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.